tmux: mouse support (#3642)

Co-authored-by: Sleroq <sleroq@sleroq.link>
This commit is contained in:
Sleroq 2023-02-05 16:02:14 +06:00 committed by GitHub
parent e2c1756e3a
commit 2ffc6d6496
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 65 additions and 0 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View 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

View 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}
'';
};
}

View file

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

View file

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

View file

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