mirror of
https://github.com/nix-community/home-manager
synced 2024-12-27 12:19:48 +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
|
||||
''}
|
||||
|
||||
set -g mouse ${boolToStr cfg.mouse}
|
||||
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}
|
||||
setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"}
|
||||
set -s escape-time ${toString cfg.escapeTime}
|
||||
|
@ -204,6 +205,8 @@ in {
|
|||
description = "VI or Emacs style shortcuts.";
|
||||
};
|
||||
|
||||
mouse = mkEnableOption "mouse support";
|
||||
|
||||
newSession = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
|
|
|
@ -23,6 +23,7 @@ set -g mode-keys emacs
|
|||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
set -s escape-time 500
|
||||
|
|
|
@ -7,4 +7,5 @@
|
|||
tmux-default-shell = ./default-shell.nix;
|
||||
tmux-shortcut-without-prefix = ./shortcut-without-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
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
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 clock-mode-style 24
|
||||
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 clock-mode-style 12
|
||||
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 clock-mode-style 12
|
||||
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 clock-mode-style 24
|
||||
set -s escape-time 500
|
||||
|
|
Loading…
Reference in a new issue