# # This is my base i3 config which is shared between all hosts. # set $mod Mod4 floating_modifier $mod ## Visual Settings font xft:Inconsolata 8 hide_edge_borders both ## Bindings to start programs bindsym $mod+space exec dmenu_run -l 20 bindsym $mod+Return exec i3-sensible-terminal # kill focused window bindsym $mod+Shift+Q kill ## Bindings to control windows ### Focus Commands bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right bindsym Mod1+Tab focus right bindsym Mod1+Shift+Tab focus left bindsym $mod+a focus parent bindsym $mod+d focus child ### Window Moving Commands bindsym $mod+Shift+H move left bindsym $mod+Shift+J move down bindsym $mod+Shift+K move up bindsym $mod+Shift+L move right ### Floating Windows bindsym $mod+Shift+space floating toggle bindsym $mod+Tab focus mode_toggle ## Layout Commands bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout default bindsym $mod+v split v bindsym $mod+Shift+V split h bindsym $mod+f fullscreen ## Bindings to control workspaces ### Switch Workspaces bindsym $mod+1 workspace number "1: mail" bindsym $mod+2 workspace number "2: web" bindsym $mod+3 workspace number "3: dev" bindsym $mod+4 workspace number 4 bindsym $mod+5 workspace number 5 bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 10 bindsym $mod+Left workspace prev_on_output bindsym $mod+Right workspace next_on_output ### Move container to workspace bindsym $mod+Shift+exclam move workspace number "1: mail" bindsym $mod+Shift+at move workspace number "2: web" bindsym $mod+Shift+numbersign move workspace number "3: dev" bindsym $mod+Shift+dollar move workspace number 4 bindsym $mod+Shift+percent move workspace number 5 bindsym $mod+Shift+asciicircum move workspace number 6 bindsym $mod+Shift+ampersand move workspace number 7 bindsym $mod+Shift+asterisk move workspace number 8 bindsym $mod+Shift+parenleft move workspace number 9 bindsym $mod+Shift+parenright move workspace number 10 bindsym $mod+Shift+Left move workspace prev bindsym $mod+Shift+Right move workspace next ### Move workspace to different monitor bindsym $mod+Mod1+Left move workspace to output left bindsym $mod+Mod1+Right move workspace to output right bindsym $mod+Mod1+Up move workspace to output up bindsym $mod+Mod1+Down move workspace to output down workspace_auto_back_and_forth yes workspace_layout default ### Workspace monitor assignments workspace "1: mail" output eDP-1 workspace "2: web" output DP-1 workspace "3: dev" output DP-1 workspace 4 output DP-1 workspace 5 output DP-1 workspace 6 output DP-1 workspace 7 output DP-1 workspace 8 output DP-1 workspace 9 output DP-1 workspace 10 output DP-1 ### Scratchpad bindsym $mod+Shift+minus move scratchpad bindsym $mod+minus scratchpad show ## Bindings to contorl the session bindsym $mod+Shift+C exec "make_i3_config > $HOME/.config/i3/config"; reload bindsym $mod+Shift+R restart bindsym $mod+Shift+E exit bindsym Control+mod1+l exec $HOME/bin/lock ## Alternative modes ### Resize Mode bindsym $mod+r mode "resize" mode "resize" { bindsym h resize shrink left 10 px or 10 ppt bindsym Shift+H resize grow left 10 px or 10 ppt bindsym j resize shrink down 10 px or 10 ppt bindsym Shift+j resize grow down 10 px or 10 ppt bindsym k resize shrink up 10 px or 10 ppt bindsym Shift+K resize grow up 10 px or 10 ppt bindsym l resize shrink right 10 px or 10 ppt bindsym Shift+L resize grow right 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" } ### Display Settings set $displayMode "Choose [l]aptop or [d]esktop, [e]xtend, [m]irror" bindsym $mod+p mode $displayMode mode $displayMode { bindsym l exec "\ xrandr --output eDP-1 --mode 1920x1080 --primary && \ xrandr --output DP-1 --off"; mode "default" bindsym d exec "\ xrandr --output DP-1 --auto --primary && \ xrandr --output eDP-1 --off"; mode "default" bindsym e exec "\ xrandr --output eDP-1 --mode 1920x1080 --primary && \ xrandr --output DP-1 --above eDP-1 --mode 1920x1080 \ "; mode "default" bindsym m exec "\ xrandr --output eDP-1 --mode 1920x1080 --primary && \ xrandr --output DP-1 --same-as eDP-1 --auto \ "; mode "default" bindsym Return mode "default" bindsym Escape mode "default" } ## i3bar Settings bar { status_command conky-i3bar position bottom tray_output primary font xft:Inconsolata 9 } ## Misc. Bindings ## sshclip bindsym $mod+g exec sshclip bindsym $mod+c exec clipmv ### Music bindsym $mod+F7 exec bluetoothctl connect 24:2C:00:1A:C8:BE bindsym $mod+Shift+F7 exec bluetoothctl disconnect 24:2C:00:1A:C8:BE bindsym XF86AudioPlay exec xmms2 toggle bindsym $mod+End exec xmms2 toggle bindsym XF86AudioNext exec xmms2 next bindsym $mod+Home exec xmms2 next bindsym XF86AudioPrev exec xmms2 prev ### Volume bindsym XF86AudioRaiseVolume exec "amixer -D pulse -q set Master 5%+ unmute; amixer -D pulse -q set Speaker unmute" bindsym $mod+Prior exec "amixer -D pulse -q set Master 5%+ unmute; amixer -D pulse -q set Speaker unmute" bindsym XF86AudioLowerVolume exec "amixer -D pulse -q set Master 5%- unmute; amixer -D pulse -q set Speaker unmute" bindsym $mod+Next exec "amixer -D pulse -q set Master 5%- unmute; amixer -D pulse -q set Speaker unmute" bindsym XF86AudioMute exec amixer -D pulse -q set Master mute ### Brightness bindsym XF86MonBrightnessUp exec "brightnessctl set +5%" bindsym XF86MonBrightnessDown exec "brightnessctl set 5%-" ## Specific Window Settings for_window [class="Gcalctool"] floating enable for_window [class="Gnome-calculator"] floating enable for_window [class="file_progress"] floating enable for_window [title="Unlock Database - KeePassXC"] floating enable