niri: swap roles for ghostty and kitty & ghostty: ghostty-capture
This commit is contained in:
@@ -8,6 +8,9 @@ window-padding-y = 10
|
|||||||
|
|
||||||
keybind = ctrl+shift+r=reload_config
|
keybind = ctrl+shift+r=reload_config
|
||||||
|
|
||||||
|
keybind = ctrl+shift+h=write_screen_file:copy
|
||||||
|
keybind = ctrl+shift+j=text:ghostty-capture\n
|
||||||
|
|
||||||
command = exec fish
|
command = exec fish
|
||||||
|
|
||||||
confirm-close-surface = false
|
confirm-close-surface = false
|
||||||
|
|||||||
@@ -162,6 +162,9 @@ spawn-at-startup "hypridle"
|
|||||||
// QuickShell
|
// QuickShell
|
||||||
spawn-at-startup "quickshell"
|
spawn-at-startup "quickshell"
|
||||||
|
|
||||||
|
// According to (https://ghostty.org/docs/linux/systemd#starting-ghostty-at-login)
|
||||||
|
spawn-sh-at-startup "systemctl start --user app-com.mitchellh.ghostty.service"
|
||||||
|
|
||||||
/************************Envs************************/
|
/************************Envs************************/
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@@ -209,16 +212,16 @@ window-rule {
|
|||||||
|
|
||||||
// FLoating terminal
|
// FLoating terminal
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="com.mitchellh.ghostty"
|
match app-id="kitty"
|
||||||
open-floating true
|
open-floating true
|
||||||
default-column-width { proportion 0.5; }
|
default-column-width { proportion 0.5; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Normal terminal
|
// Normal terminal
|
||||||
// window-rule {
|
window-rule {
|
||||||
// match app-id="kitty"
|
match app-id="com.mitchellh.ghostty"
|
||||||
// default-column-width { proportion 0.3; }
|
default-column-width { proportion 0.3; }
|
||||||
// }
|
}
|
||||||
|
|
||||||
// Scrcpy
|
// Scrcpy
|
||||||
window-rule {
|
window-rule {
|
||||||
@@ -315,11 +318,11 @@ binds {
|
|||||||
Mod+E { spawn "dolphin" "--new-window"; }
|
Mod+E { spawn "dolphin" "--new-window"; }
|
||||||
Mod+W { spawn-sh "zen || zen-browser"; }
|
Mod+W { spawn-sh "zen || zen-browser"; }
|
||||||
Mod+X { spawn "gnome-text-editor" "--new-window"; }
|
Mod+X { spawn "gnome-text-editor" "--new-window"; }
|
||||||
Mod+B { spawn-sh "pkill -x -n btop || ghostty -e btop"; }
|
Mod+B { spawn-sh "pkill -x -n btop || kitty -e btop"; }
|
||||||
Mod+T { spawn "kitty"; }
|
Mod+T { spawn "ghostty" "+new-window"; }
|
||||||
Mod+Return { spawn "kitty"; }
|
Mod+Return { spawn "ghostty" "+new-window"; }
|
||||||
Mod+Shift+T { spawn "ghostty"; }
|
Mod+Shift+T { spawn "kitty"; }
|
||||||
Mod+Shift+Return { spawn "ghostty"; }
|
Mod+Shift+Return { spawn "kitty"; }
|
||||||
Mod+Shift+W { spawn "wallpaper-carousel"; }
|
Mod+Shift+W { spawn "wallpaper-carousel"; }
|
||||||
Mod+O { spawn-sh "pkill -x -n pwvucontrol || pwvucontrol"; }
|
Mod+O { spawn-sh "pkill -x -n pwvucontrol || pwvucontrol"; }
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ MonitorItem {
|
|||||||
action.signal(15);
|
action.signal(15);
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
action.exec(["ghostty", "-e", "btop"]);
|
action.exec(["kitty", "-e", "btop"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Process {
|
Process {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ MonitorItem {
|
|||||||
action.signal(15);
|
action.signal(15);
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
action.exec(["ghostty", "-e", "btop"]);
|
action.exec(["kitty", "-e", "btop"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Process {
|
Process {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ MonitorItem {
|
|||||||
action.signal(15);
|
action.signal(15);
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
action.exec(["ghostty", "-e", "btop"]);
|
action.exec(["kitty", "-e", "btop"]);
|
||||||
}
|
}
|
||||||
onRightClicked: {
|
onRightClicked: {
|
||||||
_showPercent = !_showPercent;
|
_showPercent = !_showPercent;
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showLyricsText() {
|
function showLyricsText() {
|
||||||
action.command = ["sh", "-c", "ghostty -e sh -c 'spotify-lyrics fetch | less'"];
|
action.command = ["sh", "-c", "ghostty -e sh -c 'spotify-lyrics fetch 2>/dev/null | less'"];
|
||||||
action.startDetached();
|
action.startDetached();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
37
config/scripts/.local/scripts/ghostty-capture
Executable file
37
config/scripts/.local/scripts/ghostty-capture
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Description:
|
||||||
|
# Use a sequence of keybinds to open the scrollback(or screen) buffer in editor (default to vim)
|
||||||
|
# without switching contexts.
|
||||||
|
# (It will be much easier if write_<screen|scrollback>_file:open is correctly implemented)
|
||||||
|
#
|
||||||
|
# Requirements:
|
||||||
|
# - ghostty (of course)
|
||||||
|
# - wl-clipboard
|
||||||
|
#
|
||||||
|
# Example configuration in ~/.config/ghostty/config:
|
||||||
|
# # ctrl+shift+h>j to open the screen buffer in editor
|
||||||
|
# keybind = ctrl+shift+h=write_screen_file:copy
|
||||||
|
# keybind = ctrl+shift+j=text:ghostty-capture\n
|
||||||
|
# Or without wl-paste:
|
||||||
|
# # ctrl+shift+h>j > Enter to open the screen buffer in editor
|
||||||
|
# keybind = ctrl+shift+j=text:ghostty-capture\x20
|
||||||
|
# keybind = ctrl+shift+h=write_screen_file:paste
|
||||||
|
|
||||||
|
file=${1:-$(wl-paste --no-newline)}
|
||||||
|
|
||||||
|
[ -z "$file" ] && {
|
||||||
|
echo "No file provided or found in clipboard." >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -f "$file" ] || {
|
||||||
|
echo "File does not exist: $file" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
${EDITOR:-vim} "$file"
|
||||||
|
|
||||||
|
rm -f "$file"
|
||||||
|
|
||||||
|
rmdir "$(dirname "$file")" 2>/dev/null
|
||||||
Reference in New Issue
Block a user