niri: swap roles for ghostty and kitty & ghostty: ghostty-capture

This commit is contained in:
2025-11-28 03:44:11 +01:00
parent 4c69672211
commit 1bf6921992
7 changed files with 57 additions and 14 deletions

View File

@@ -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

View File

@@ -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"; }

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;

View File

@@ -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();
} }

View 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