Compare commits

...

2 commits

Author SHA1 Message Date
a70fd22cbe
feat: add scratchpad to i3 config 2025-12-19 17:03:19 -06:00
654be8877d
feat: add neomutt bindings 2025-12-19 17:01:11 -06:00

View file

@ -159,62 +159,69 @@ in
names = [ "SpaceMono Nerd Font" ]; names = [ "SpaceMono Nerd Font" ];
size = 10.0; size = 10.0;
}; };
keybindings = lib.mkOptionDefault { keybindings = lib.mkOptionDefault (
"${modifier}+h" = "focus left"; {
"${modifier}+j" = "focus down"; "${modifier}+h" = "focus left";
"${modifier}+k" = "focus up"; "${modifier}+j" = "focus down";
"${modifier}+l" = "focus right"; "${modifier}+k" = "focus up";
"${modifier}+Shift+h" = "move left"; "${modifier}+l" = "focus right";
"${modifier}+Shift+j" = "move down"; "${modifier}+Shift+h" = "move left";
"${modifier}+Shift+k" = "move up"; "${modifier}+Shift+j" = "move down";
"${modifier}+Shift+l" = "move right"; "${modifier}+Shift+k" = "move up";
"${modifier}+v" = "split h"; "${modifier}+Shift+l" = "move right";
"${modifier}+Shift+v" = "split v"; "${modifier}+v" = "split h";
"${modifier}+s" = "layout stacking"; "${modifier}+Shift+v" = "split v";
"${modifier}+t" = "layout tabbed"; "${modifier}+s" = "layout stacking";
"${modifier}+e" = "layout toggle split"; "${modifier}+t" = "layout tabbed";
"${modifier}+p" = "floating toggle"; "${modifier}+e" = "layout toggle split";
"${modifier}+Shift+p" = "focus mode_toggle"; "${modifier}+p" = "floating toggle";
"${modifier}+Shift+c" = "reload"; "${modifier}+Shift+p" = "focus mode_toggle";
"${modifier}+Shift+r" = "restart"; "${modifier}+Shift+c" = "reload";
# mode "${modifier}+Shift+r" = "restart";
"${modifier}+r" = ''mode "${resizeMode}"''; # mode
"${modifier}+Escape" = ''mode "${powerManagementMode}"''; "${modifier}+r" = ''mode "${resizeMode}"'';
"${modifier}+Shift+Escape" = ''mode "${miscellaneousMode}"''; "${modifier}+Escape" = ''mode "${powerManagementMode}"'';
# workspace "${modifier}+Shift+Escape" = ''mode "${miscellaneousMode}"'';
# "${modifier}+Shift+minus" = "move scratchpad"; # scratchpad
# "${modifier}+minus" = "scratchpad show"; "${modifier}+Shift+grave" = "move scratchpad";
# media "${modifier}+grave" = "scratchpad show";
"XF86AudioRaiseVolume" = # media
"exec --no-startup-id ${pactl} set-sink-volume @DEFAULT_SINK@ +1% && ${refresh_i3status}"; "XF86AudioRaiseVolume" =
"XF86AudioLowerVolume" = "exec --no-startup-id ${pactl} set-sink-volume @DEFAULT_SINK@ +1% && ${refresh_i3status}";
"exec --no-startup-id ${pactl} set-sink-volume @DEFAULT_SINK@ -1% && ${refresh_i3status}"; "XF86AudioLowerVolume" =
"XF86AudioMute" = "exec --no-startup-id ${pactl} set-sink-volume @DEFAULT_SINK@ -1% && ${refresh_i3status}";
"exec --no-startup-id ${pactl} set-sink-mute @DEFAULT_SINK@ toggle && ${refresh_i3status}"; "XF86AudioMute" =
"XF86AudioMicMute" = "exec --no-startup-id ${pactl} set-sink-mute @DEFAULT_SINK@ toggle && ${refresh_i3status}";
"exec --no-startup-id ${pactl} set-source-mute @DEFAULT_SOURCE@ toggle && ${refresh_i3status}"; "XF86AudioMicMute" =
"XF86AudioPlay" = "exec --no-startup-id ${playerctl} play-pause"; "exec --no-startup-id ${pactl} set-source-mute @DEFAULT_SOURCE@ toggle && ${refresh_i3status}";
"XF86AudioPause" = "exec --no-startup-id ${playerctl} play-pause"; "XF86AudioPlay" = "exec --no-startup-id ${playerctl} play-pause";
"XF86AudioNext" = "exec --no-startup-id ${playerctl} next"; "XF86AudioPause" = "exec --no-startup-id ${playerctl} play-pause";
"XF86AudioPrev" = "exec --no-startup-id ${playerctl} previous"; "XF86AudioNext" = "exec --no-startup-id ${playerctl} next";
# brightness "XF86AudioPrev" = "exec --no-startup-id ${playerctl} previous";
"XF86MonBrightnessUp" = "exec --no-startup-id ${light} s +10%"; # brightness
"XF86MonBrightnessDown" = "exec --no-startup-id ${light} s 10%-"; "XF86MonBrightnessUp" = "exec --no-startup-id ${light} s +10%";
# screenshot "XF86MonBrightnessDown" = "exec --no-startup-id ${light} s 10%-";
"${modifier}+o" = # screenshot
"exec --no-startup-id ${maim} -s ~/Pictures/screenshots/$(date +%Y-%m-%d-%H-%M-%S).png"; "${modifier}+o" =
"${modifier}+Shift+o" = "exec --no-startup-id ${maim} -s ~/Pictures/screenshots/$(date +%Y-%m-%d-%H-%M-%S).png";
"exec --no-startup-id ${maim} -s | ${clipboard} -selection clipboard -t image/png"; "${modifier}+Shift+o" =
# others "exec --no-startup-id ${maim} -s | ${clipboard} -selection clipboard -t image/png";
"${modifier}+space" = "exec --no-startup-id ${dmenu}"; # others
"${modifier}+b" = "exec --no-startup-id ${terminal} -e ${yazi}"; "${modifier}+space" = "exec --no-startup-id ${dmenu}";
"${modifier}+z" = "exec --no-startup-id ${boomer}"; # tsoding's zoom "${modifier}+b" = "exec --no-startup-id ${terminal} -e ${yazi}";
# "${modifier}+Shift+Return" = "exec ${second_terminal}"; "${modifier}+z" = "exec --no-startup-id ${boomer}"; # tsoding's zoom
# reset # "${modifier}+Shift+Return" = "exec ${second_terminal}";
"${modifier}+Shift+e" = null; # reset
"${modifier}+w" = null; "${modifier}+Shift+e" = null;
"${modifier}+d" = null; "${modifier}+w" = null;
}; "${modifier}+d" = null;
}
# neomutt (only if enabled) - focus existing or spawn new
// lib.optionalAttrs config.custom.email.neomutt {
"${modifier}+m" =
''exec --no-startup-id sh -c 'i3-msg "[instance=ghostty][title=neomutt] focus" || ${terminal} -e neomutt' '';
}
);
modes = modes =
let let
exitMode = { exitMode = {