Add session manager for tmux.
This will open a tmux session for each monitor. Add helper script for tmux actions.
This commit is contained in:
34
i3/config
34
i3/config
@@ -34,10 +34,6 @@ exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -f --nofork
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# Wallpaper rotation script
|
||||
exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --once
|
||||
exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --daemon 1800
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
@@ -48,8 +44,15 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
# start a terminal with smart monitor/workspace-aware tmux sessions
|
||||
bindsym $mod+Return exec --no-startup-id /home/jens/.config/i3/smart-terminal.sh
|
||||
|
||||
# fallback simple terminal (without smart sessions)
|
||||
bindsym $mod+Shift+Return exec --no-startup-id /home/jens/.config/i3/simple-terminal.sh
|
||||
|
||||
# tmux session management keybindings
|
||||
bindsym $mod+Shift+t exec --no-startup-id /home/jens/.cargo/bin/alacritty -e /home/jens/.config/i3/tmux-session-manager.sh
|
||||
bindsym $mod+Control+t exec --no-startup-id /home/jens/.config/i3/tmux-session-manager.sh list | rofi -dmenu -p "Tmux Sessions" -width 60
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
@@ -63,6 +66,23 @@ bindsym $mod+Shift+q kill
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
bindsym $mod+d exec rofi -show run
|
||||
|
||||
# Screenshot bindings
|
||||
bindsym Print exec --no-startup-id ~/.local/bin/screenshot.sh full
|
||||
bindsym Shift+Print exec --no-startup-id ~/.local/bin/screenshot.sh selection
|
||||
bindsym $mod+Print exec --no-startup-id ~/.local/bin/screenshot.sh window
|
||||
bindsym Control+Print exec --no-startup-id ~/.local/bin/screenshot.sh clipboard
|
||||
bindsym Control+Shift+Print exec --no-startup-id ~/.local/bin/screenshot.sh clipboard-selection
|
||||
|
||||
# Alternative screenshot bindings for keyboards that send different codes
|
||||
bindsym XF86ScreenSaver exec --no-startup-id ~/.local/bin/screenshot.sh full
|
||||
bindsym Shift+XF86ScreenSaver exec --no-startup-id ~/.local/bin/screenshot.sh selection
|
||||
bindsym $mod+XF86ScreenSaver exec --no-startup-id ~/.local/bin/screenshot.sh window
|
||||
|
||||
# Additional screenshot bindings with mod+s combinations
|
||||
bindsym $mod+Shift+s exec --no-startup-id ~/.local/bin/screenshot.sh selection
|
||||
bindsym $mod+Control+s exec --no-startup-id ~/.local/bin/screenshot.sh window
|
||||
bindsym $mod+Control+Shift+s exec --no-startup-id ~/.local/bin/screenshot.sh full
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
@@ -116,7 +136,7 @@ bindsym $mod+a focus parent
|
||||
# Wallpaper controls
|
||||
bindsym $mod+Shift+w exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --once
|
||||
bindsym $mod+Shift+n exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --category nature
|
||||
bindsym $mod+Control+s exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --category space
|
||||
# bindsym $mod+Control+s exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --category space # Disabled - conflicts with screenshot binding
|
||||
bindsym $mod+Control+c exec --no-startup-id ~/.config/i3/wallpaper-rotate.sh --category cityscape
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
|
||||
Reference in New Issue
Block a user