mirror of
https://github.com/nix-community/home-manager
synced 2024-11-30 06:59:45 +01:00
tmux: mouse support (#3642)
Co-authored-by: Sleroq <sleroq@sleroq.link>
This commit is contained in:
parent
e2c1756e3a
commit
2ffc6d6496
10 changed files with 65 additions and 0 deletions
|
@ -94,6 +94,7 @@ let
|
||||||
bind-key -N "Kill the current pane" x kill-pane
|
bind-key -N "Kill the current pane" x kill-pane
|
||||||
''}
|
''}
|
||||||
|
|
||||||
|
set -g mouse ${boolToStr cfg.mouse}
|
||||||
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}
|
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}
|
||||||
setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"}
|
setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"}
|
||||||
set -s escape-time ${toString cfg.escapeTime}
|
set -s escape-time ${toString cfg.escapeTime}
|
||||||
|
@ -204,6 +205,8 @@ in {
|
||||||
description = "VI or Emacs style shortcuts.";
|
description = "VI or Emacs style shortcuts.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mouse = mkEnableOption "mouse support";
|
||||||
|
|
||||||
newSession = mkOption {
|
newSession = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|
|
@ -23,6 +23,7 @@ set -g mode-keys emacs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize off
|
setw -g aggressive-resize off
|
||||||
setw -g clock-mode-style 12
|
setw -g clock-mode-style 12
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
|
@ -7,4 +7,5 @@
|
||||||
tmux-default-shell = ./default-shell.nix;
|
tmux-default-shell = ./default-shell.nix;
|
||||||
tmux-shortcut-without-prefix = ./shortcut-without-prefix.nix;
|
tmux-shortcut-without-prefix = ./shortcut-without-prefix.nix;
|
||||||
tmux-prefix = ./prefix.nix;
|
tmux-prefix = ./prefix.nix;
|
||||||
|
tmux-mouse-enabled = ./mouse-enabled.nix;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ bind-key -N "Kill the current window" & kill-window
|
||||||
bind-key -N "Kill the current pane" x kill-pane
|
bind-key -N "Kill the current pane" x kill-pane
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize off
|
setw -g aggressive-resize off
|
||||||
setw -g clock-mode-style 12
|
setw -g clock-mode-style 12
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
|
@ -23,6 +23,7 @@ set -g mode-keys emacs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize on
|
setw -g aggressive-resize on
|
||||||
setw -g clock-mode-style 24
|
setw -g clock-mode-style 24
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
29
tests/modules/programs/tmux/mouse-enabled.conf
Normal file
29
tests/modules/programs/tmux/mouse-enabled.conf
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# ============================================= #
|
||||||
|
# Start with defaults from the Sensible plugin #
|
||||||
|
# --------------------------------------------- #
|
||||||
|
run-shell @sensible_rtp@
|
||||||
|
# ============================================= #
|
||||||
|
|
||||||
|
set -g default-terminal "screen"
|
||||||
|
set -g base-index 0
|
||||||
|
setw -g pane-base-index 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g status-keys emacs
|
||||||
|
set -g mode-keys emacs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse on
|
||||||
|
setw -g aggressive-resize off
|
||||||
|
setw -g clock-mode-style 12
|
||||||
|
set -s escape-time 500
|
||||||
|
set -g history-limit 2000
|
||||||
|
|
26
tests/modules/programs/tmux/mouse-enabled.nix
Normal file
26
tests/modules/programs/tmux/mouse-enabled.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
mouse = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(self: super: {
|
||||||
|
tmuxPlugins = super.tmuxPlugins // {
|
||||||
|
sensible = super.tmuxPlugins.sensible // { rtp = "@sensible_rtp@"; };
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.config/tmux/tmux.conf
|
||||||
|
assertFileContent home-files/.config/tmux/tmux.conf \
|
||||||
|
${./mouse-enabled.conf}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ bind -N "Send the prefix key through to the application" \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize off
|
setw -g aggressive-resize off
|
||||||
setw -g clock-mode-style 12
|
setw -g clock-mode-style 12
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
|
@ -27,6 +27,7 @@ bind C-a last-window
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize off
|
setw -g aggressive-resize off
|
||||||
setw -g clock-mode-style 12
|
setw -g clock-mode-style 12
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
|
@ -23,6 +23,7 @@ set -g mode-keys vi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set -g mouse off
|
||||||
setw -g aggressive-resize on
|
setw -g aggressive-resize on
|
||||||
setw -g clock-mode-style 24
|
setw -g clock-mode-style 24
|
||||||
set -s escape-time 500
|
set -s escape-time 500
|
||||||
|
|
Loading…
Reference in a new issue