at main 12 kB view raw
1# i3 config file (v4) 2# http://i3wm.org/docs/userguide.html 3 4# === basics === 5 6set $mod Mod4 7font xft:URWGothic-Book 11 8default_border none 9default_floating_border none 10hide_edge_borders none 11 12# key to hold to drag floating windows 13floating_modifier $mod 14 15# no. no. no. absolutely not. 16focus_follows_mouse no 17 18bar { 19 i3bar_command $HOME/bars 20} 21 22gaps inner 0 23gaps top 24 24gaps left 0 25gaps right 0 26gaps bottom 24 27 28# draw borders around container only if it is not the only container on this workspace 29# no_gaps=only activate if the gap size to the edge of the screen is 0 30smart_borders no_gaps 31 32# === startup programs === 33 34exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 35exec_always --no-startup-id feh /data/0/media/images/wallpapers/Active/ --randomize --bg-scale --no-fehbg 36exec --no-startup-id nm-applet 37#exec --no-startup-id xfce4-power-manager 38exec --no-startup-id pamac-tray 39exec --no-startup-id clipit 40#exec --no-startup-id xautolock -time 60 -locker ~/pixel-lock 41exec_always --no-startup-id ff-theme-util 42exec_always --no-startup-id fix_xcursor 43exec --no-startup-id ~/.screenlayout/main.sh 44exec --no-startup-id xmodmap ~/.Xmodmap 45# exec --no-startup-id picom -b 46exec --no-startup-id xset b off 47exec --no-startup-id xset s off -dpms 48 49# === default management === 50 51for_window [class=".*"] border pixel 2 52 53# default workspaces 54assign [class="discord"] "chat" 55for_window [class="Spotify"] move to workspace "music" 56for_window [class="Blender"] move to workspace "3d" 57 58# floating apps 59for_window [class="feh"] floating enable border none 60for_window [title="alsamixer"] floating enable border none 61for_window [title="File Transfer*"] floating enable 62for_window [class="GParted"] floating enable border none 63for_window [class="Lxappearance"] floating enable border none 64for_window [class="Pavucontrol"] floating enable border none 65for_window [class="qt5ct"] floating enable sticky enable border normal 66for_window [class="Ants!"] floating enable border none 67for_window [class="Stem UI Test"] floating enable border none 68for_window [class="Cuda Canvas"] floating enable border none 69 70# === Bindings === 71 72# terminal 73bindsym $mod+Return exec --no-startup-id alacritty 74bindsym $mod+Shift+Return exec --no-startup-id urxvt 75 76# editor 77bindsym $mod+v exec --no-startup-id PATH="$HOME/.nvm/versions/node/v18.17.1/bin:$PATH" neovide 78bindsym $mod+Shift+v exec --no-startup-id urxvt -e vim 79 80# browser 81bindsym $mod+Tab exec --no-startup-id firefox-nightly --private-window 82bindsym $mod+Shift+Tab exec --no-startup-id firefox-nightly 83#bindsym $mod+Tab exec --no-startup-id google-chrome-stable --incognito --disable-background-networking --dns-prefetch-disabled 84#bindsym $mod+Shift+Tab exec --no-startup-id google-chrome-stable --disable-background-networking --dns-prefetch-disabled 85 86# explorer 87bindsym $mod+x exec --no-startup-id pcmanfm 88# TODO ranger 89 90# launcher 91bindsym $mod+r exec --no-startup-id PATH="$HOME/.nvm/versions/node/v18.17.1/bin:/data/0/tools/Zotero_linux-x86_64:$PATH" rofi -show run -display-run " > " 92 93# screenshots 94bindsym Print exec --no-startup-id i3-scrot 95bindsym $mod+Print --release exec --no-startup-id i3-scrot -w 96bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s 97 98# audio stuff 99bindsym $mod+Ctrl+m exec pavucontrol 100# TODO: mocp and/or vlc 101 102# transparency 103bindsym $mod+Ctrl+t exec --no-startup-id picom -b 104# dunst = notifications 105bindsym $mod+Shift+d --release exec --no-startup-id "killall dunst; exec notify-send 'Reloaded Dunst'" 106 107# launcher menu TODO get rid of this or make it useful 108set $mode_launch [p] Packages - [a] Audio - [k] Kill - [x] File Explorer - [m] Morc Menu - [u] Mocp - [space] Fix Keymap 109mode "$mode_launch" { 110 bindsym a exec --no-startup-id pavucontrol, mode "default" 111 bindsym k --release exec --no-startup-id xkill, mode "default" 112 bindsym u exec --no-startup-id alacritty -e 'mocp', mode "default" 113 114 bindsym Return mode "default" 115 bindsym Escape mode "default" 116} 117 118# brightness controls 119# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" 120# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" 121 122 123# wallpapers 124bindsym $mod+Shift+w exec --no-startup-id feh /data/0/media/images/wallpapers/Active/ --randomize --bg-scale --no-fehbg 125 126# = i3 = 127 128bindsym Shift+Escape kill 129bindsym $mod+BackSpace kill 130# reload i3 config 131bindsym $mod+Shift+r reload 132# fully restart i3 session (keeps user applications running) 133bindsym $mod+Ctrl+Shift+r restart 134 135# go-to / send-to for named workspaces 136bindsym $mod+m exec --no-startup-id i3-input -F 'workspace %s' -P 'Go to -> ' 137bindsym $mod+Shift+m exec --no-startup-id i3-input -F 'move container to workspace %s' -P 'Move to -> ' 138 139# send a window to the shadow realm 140bindsym $mod+Shift+comma move scratchpad 141# browse the contents of the shadow realm 142bindsym $mod+comma scratchpad show 143 144# tiling / floating 145bindsym $mod+0 floating toggle, border none 146bindsym $mod+Shift+space floating toggle 147bindsym $mod+space focus mode_toggle 148 149bindsym $mod+f fullscreen toggle 150 151# split direction 152bindsym $mod+a split toggle, border pixel 2 153bindsym $mod+Shift+a layout toggle split 154 155# focus the parent container, for advanced layout arrangement 156bindsym $mod+w focus parent 157 158# move between windows 159bindsym $mod+h focus left 160bindsym $mod+j focus down 161bindsym $mod+k focus up 162bindsym $mod+l focus right 163bindsym $mod+Left focus left 164bindsym $mod+Down focus down 165bindsym $mod+Up focus up 166bindsym $mod+Right focus right 167 168# move current window 169bindsym $mod+Shift+h move left 170bindsym $mod+Shift+j move down 171bindsym $mod+Shift+k move up 172bindsym $mod+Shift+l move right 173bindsym $mod+Shift+Left move left 174bindsym $mod+Shift+Down move down 175bindsym $mod+Shift+Up move up 176bindsym $mod+Shift+Right move right 177 178# move entire workspace between monitors 179bindsym $mod+Ctrl+Left move workspace to output left 180bindsym $mod+Ctrl+Right move workspace to output right 181bindsym $mod+Ctrl+h move workspace to output left 182bindsym $mod+Ctrl+l move workspace to output right 183 184# cycle thru workspaces 185# Mod1 = Alt 186bindsym Mod1+Right workspace next 187bindsym Mod1+Left workspace prev 188bindsym Mod1+l workspace next 189bindsym Mod1+h workspace prev 190 191# suspend / exit stuff. TODO clean this up 192bindsym Ctrl+Mod1+l exec --no-startup-id "$HOME/pixel-lock" 193bindsym $mod+Shift+Ctrl+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" 194 195bindsym $mod+End mode "$mode_system" 196set $mode_system (l)ock, (e)xit, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown 197mode "$mode_system" { 198 bindsym l exec --no-startup-id i3exit lock, mode "default" 199 bindsym s exec --no-startup-id i3exit suspend, mode "default" 200 bindsym u exec --no-startup-id i3exit switch_user, mode "default" 201 bindsym e exec --no-startup-id i3exit logout, mode "default" 202 bindsym h exec --no-startup-id i3exit hibernate, mode "default" 203 bindsym r exec --no-startup-id i3exit reboot, mode "default" 204 bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" 205 206 # exit system mode: "Enter" or "Escape" 207 bindsym Return mode "default" 208 bindsym Escape mode "default" 209} 210 211# Preset workspaces. TODO clean this up 212# Workspace names 213# to display names or symbols instead of plain workspace numbers you can use 214# something like: set $ws1 1:mail 215# set $ws2 2: 216set $ws1 11:1 217set $ws2 12:2 218set $ws3 13:3 219set $ws4 14:4 220set $ws5 15:5 221set $ws6 16:6 222set $ws7 17:7 223set $ws8 18:8 224set $ws9 19:9 225 226# switch to workspace 227bindsym $mod+1 workspace $ws1 228bindsym $mod+2 workspace $ws2 229bindsym $mod+3 workspace $ws3 230bindsym $mod+4 workspace $ws4 231bindsym $mod+5 workspace $ws5 232bindsym $mod+6 workspace $ws6 233bindsym $mod+7 workspace $ws7 234bindsym $mod+8 workspace $ws8 235bindsym $mod+9 workspace $ws9 236bindsym $mod+mod2+KP_1 workspace $ws1 237bindsym $mod+mod2+KP_2 workspace $ws2 238bindsym $mod+mod2+KP_3 workspace $ws3 239bindsym $mod+mod2+KP_4 workspace $ws4 240bindsym $mod+mod2+KP_5 workspace $ws5 241bindsym $mod+mod2+KP_6 workspace $ws6 242bindsym $mod+mod2+KP_7 workspace $ws7 243bindsym $mod+mod2+KP_8 workspace $ws8 244bindsym $mod+mod2+KP_9 workspace $ws9 245 246# Move focused container to workspace 247bindsym $mod+Ctrl+1 move container to workspace $ws1 248bindsym $mod+Ctrl+2 move container to workspace $ws2 249bindsym $mod+Ctrl+3 move container to workspace $ws3 250bindsym $mod+Ctrl+4 move container to workspace $ws4 251bindsym $mod+Ctrl+5 move container to workspace $ws5 252bindsym $mod+Ctrl+6 move container to workspace $ws6 253bindsym $mod+Ctrl+7 move container to workspace $ws7 254bindsym $mod+Ctrl+8 move container to workspace $ws8 255bindsym $mod+Ctrl+9 move container to workspace $ws9 256 257bindsym $mod+Ctrl+mod2+KP_1 move container to workspace $ws1 258bindsym $mod+Ctrl+mod2+KP_2 move container to workspace $ws2 259bindsym $mod+Ctrl+mod2+KP_3 move container to workspace $ws3 260bindsym $mod+Ctrl+mod2+KP_4 move container to workspace $ws4 261bindsym $mod+Ctrl+mod2+KP_5 move container to workspace $ws5 262bindsym $mod+Ctrl+mod2+KP_6 move container to workspace $ws6 263bindsym $mod+Ctrl+mod2+KP_7 move container to workspace $ws7 264bindsym $mod+Ctrl+mod2+KP_8 move container to workspace $ws8 265bindsym $mod+Ctrl+mod2+KP_9 move container to workspace $ws9 266 267# Move to workspace with focused container 268bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 269bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 270bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 271bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 272bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 273bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 274bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 275bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 276bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 277 278bindsym $mod+Shift+mod2+KP_End move container to workspace $ws1; workspace $ws1 279bindsym $mod+Shift+mod2+KP_Down move container to workspace $ws2; workspace $ws2 280bindsym $mod+Shift+mod2+KP_Next move container to workspace $ws3; workspace $ws3 281bindsym $mod+Shift+mod2+KP_Left move container to workspace $ws4; workspace $ws4 282bindsym $mod+Shift+mod2+KP_Begin move container to workspace $ws5; workspace $ws5 283bindsym $mod+Shift+mod2+KP_Right move container to workspace $ws6; workspace $ws6 284bindsym $mod+Shift+mod2+KP_Home move container to workspace $ws7; workspace $ws7 285bindsym $mod+Shift+mod2+KP_Up move container to workspace $ws8; workspace $ws8 286bindsym $mod+Shift+mod2+KP_Prior move container to workspace $ws9; workspace $ws9 287 288set $mode_resize Resizing... (Esc to finish) 289bindsym $mod+s mode $mode_resize 290 291mode "$mode_resize" { 292 # These bindings trigger as soon as you enter the resize mode 293 bindsym h resize shrink width 5 px or 5 ppt 294 bindsym j resize grow height 5 px or 5 ppt 295 bindsym k resize shrink height 5 px or 5 ppt 296 bindsym l resize grow width 5 px or 5 ppt 297 298 bindsym Left resize shrink width 5 px or 5 ppt 299 bindsym Down resize grow height 5 px or 5 ppt 300 bindsym Up resize shrink height 5 px or 5 ppt 301 bindsym Right resize grow width 5 px or 5 ppt 302 303 bindsym Return mode "default" 304 bindsym Escape mode "default" 305} 306 307# === Colors === 308 309# TODO clean up 310 311set $void_main #020A04 312set $dark_main #042019 313set $mid_main #0F4039 314set $light_main #FF0000 315#0F8079 316set $pale_main #CCFFCC 317 318set $pale_off #222222 319 320set $bright_2 #EEFFEE 321 322set $dark_main #000000 323set $mid_main #222222 324#443322 325set $light_main #00BBEE 326#AA4444 327set $pale_main #FEFFCC 328 329 330set $red #FE0000 331 332# theme colors 333# class border backgr. text indic. child_border 334 client.focused $void_main $light_main $pale_main $pale_main 335 client.focused_inactive $void_main $void_main $pale_main $void_main 336 client.unfocused $void_main $void_main $light_main $red 337 client.urgent $void_main $pale_off $void_main $red 338 client.placeholder $void_main $void_main $void_main $red 339# client.focused #556064 #556064 #80FFF9 #FDF6E3 340# client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 341# client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 342# client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 343# client.placeholder #000000 #0c0c0c #ffffff #000000 344 345 client.background #00FF00 346