2022-10-17 08:18:30 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
let
|
2022-10-17 08:20:10 +00:00
|
|
|
cfg = config.nki.programs.kitty;
|
2022-10-17 08:18:30 +00:00
|
|
|
cmd = cfg.cmd;
|
|
|
|
in
|
|
|
|
with lib;
|
|
|
|
{
|
2022-10-17 08:20:10 +00:00
|
|
|
programs.kitty = mkIf cfg.enableTabs {
|
|
|
|
keybindings = {
|
|
|
|
"${cmd}+t" = "new_tab_with_cwd";
|
|
|
|
"${cmd}+shift+t" = "new_tab";
|
|
|
|
"${cmd}+shift+o" = "launch --cwd=current --location=vsplit";
|
|
|
|
"${cmd}+o" = "launch --cwd=current --location=hsplit";
|
|
|
|
"${cmd}+r" = "start_resizing_window";
|
|
|
|
"${cmd}+shift+r" = "layout_action rotate";
|
|
|
|
## Move the active window in the indicated direction
|
|
|
|
"${cmd}+shift+h" = "move_window left";
|
|
|
|
"${cmd}+shift+k" = "move_window up";
|
|
|
|
"${cmd}+shift+j" = "move_window down";
|
|
|
|
"${cmd}+shift+l" = "move_window right";
|
|
|
|
## Switch focus to the neighboring window in the indicated direction
|
|
|
|
"${cmd}+h" = "neighboring_window left";
|
|
|
|
"${cmd}+k" = "neighboring_window up";
|
|
|
|
"${cmd}+j" = "neighboring_window down ";
|
|
|
|
"${cmd}+l" = "neighboring_window right";
|
|
|
|
## Detach window to its own tab
|
|
|
|
"${cmd}+shift+d" = "detach_window new-tab";
|
|
|
|
## Change layout to fullscreen (stack) and back
|
|
|
|
"${cmd}+f" = "toggle_layout stack";
|
|
|
|
}
|
|
|
|
# Tab bindings
|
|
|
|
// builtins.listToAttrs
|
|
|
|
(map
|
|
|
|
(x: attrsets.nameValuePair "${cmd}+${toString x}" "goto_tab ${toString x}")
|
|
|
|
(lists.range 1 9));
|
|
|
|
settings = {
|
|
|
|
# Tab settings
|
|
|
|
tab_bar_edge = "top";
|
|
|
|
tab_bar_style = "powerline";
|
|
|
|
tab_powerline_style = "slanted";
|
|
|
|
tab_title_template = "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.lightgreen}{fmt.bold}[{index}]{fmt.nobold} {fmt.fg.tab}{title}";
|
|
|
|
active_tab_title_template = "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}";
|
|
|
|
tab_bar_background = "#555";
|
|
|
|
active_tab_font_style = "normal";
|
|
|
|
|
|
|
|
## Layout options
|
|
|
|
# Layouts
|
|
|
|
enabled_layouts = "splits,stack";
|
|
|
|
inactive_text_alpha = "0.65";
|
|
|
|
};
|
2022-10-17 08:18:30 +00:00
|
|
|
};
|
|
|
|
}
|