. . .
at main 347 lines 13 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 --command /data/0/code/python/snakepyt/.venv/bin/python /data/0/code/python/snakepyt/pyt 74bindsym $mod+Shift+b exec --no-startup-id alacritty 75bindsym $mod+Shift+Return exec --no-startup-id urxvt 76 77# editor 78bindsym $mod+v exec --no-startup-id PATH="$HOME/.nvm/versions/node/v18.17.1/bin:$PATH" neovide 79bindsym $mod+Shift+v exec --no-startup-id urxvt -e vim 80 81# browser 82bindsym $mod+Tab exec --no-startup-id firefox --private-window 83bindsym $mod+Shift+Tab exec --no-startup-id firefox 84#bindsym $mod+Tab exec --no-startup-id google-chrome-stable --incognito --disable-background-networking --dns-prefetch-disabled 85#bindsym $mod+Shift+Tab exec --no-startup-id google-chrome-stable --disable-background-networking --dns-prefetch-disabled 86 87# explorer 88bindsym $mod+x exec --no-startup-id pcmanfm 89# TODO ranger 90 91# launcher 92bindsym $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 " > " 93 94# screenshots 95bindsym Print exec --no-startup-id i3-scrot 96bindsym $mod+Print --release exec --no-startup-id i3-scrot -w 97bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s 98 99# audio stuff 100bindsym $mod+Ctrl+m exec pavucontrol 101# TODO: mocp and/or vlc 102 103# transparency 104bindsym $mod+Ctrl+t exec --no-startup-id picom -b 105# dunst = notifications 106bindsym $mod+Shift+d --release exec --no-startup-id "killall dunst; exec notify-send 'Reloaded Dunst'" 107 108# launcher menu TODO get rid of this or make it useful 109set $mode_launch [p] Packages - [a] Audio - [k] Kill - [x] File Explorer - [m] Morc Menu - [u] Mocp - [space] Fix Keymap 110mode "$mode_launch" { 111 bindsym a exec --no-startup-id pavucontrol, mode "default" 112 bindsym k --release exec --no-startup-id xkill, mode "default" 113 bindsym u exec --no-startup-id alacritty -e 'mocp', mode "default" 114 115 bindsym Return mode "default" 116 bindsym Escape mode "default" 117} 118 119# brightness controls 120# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" 121# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" 122 123 124# wallpapers 125bindsym $mod+Shift+w exec --no-startup-id feh /data/0/media/images/wallpapers/Active/ --randomize --bg-scale --no-fehbg 126 127# = i3 = 128 129bindsym Shift+Escape kill 130bindsym $mod+BackSpace kill 131# reload i3 config 132bindsym $mod+Shift+r reload 133# fully restart i3 session (keeps user applications running) 134bindsym $mod+Ctrl+Shift+r restart 135 136# go-to / send-to for named workspaces 137bindsym $mod+m exec --no-startup-id i3-input -F 'workspace %s' -P 'Go to -> ' 138bindsym $mod+Shift+m exec --no-startup-id i3-input -F 'move container to workspace %s' -P 'Move to -> ' 139 140# send a window to the shadow realm 141bindsym $mod+Shift+comma move scratchpad 142# browse the contents of the shadow realm 143bindsym $mod+comma scratchpad show 144 145# tiling / floating 146bindsym $mod+0 floating toggle, border none 147bindsym $mod+Shift+space floating toggle 148bindsym $mod+space focus mode_toggle 149 150bindsym $mod+f fullscreen toggle 151 152# split direction 153bindsym $mod+a split toggle, border pixel 2 154bindsym $mod+Shift+a layout toggle split 155 156# focus the parent container, for advanced layout arrangement 157bindsym $mod+w focus parent 158 159# move between windows 160bindsym $mod+h focus left 161bindsym $mod+j focus down 162bindsym $mod+k focus up 163bindsym $mod+l focus right 164bindsym $mod+Left focus left 165bindsym $mod+Down focus down 166bindsym $mod+Up focus up 167bindsym $mod+Right focus right 168 169# move current window 170bindsym $mod+Shift+h move left 171bindsym $mod+Shift+j move down 172bindsym $mod+Shift+k move up 173bindsym $mod+Shift+l move right 174bindsym $mod+Shift+Left move left 175bindsym $mod+Shift+Down move down 176bindsym $mod+Shift+Up move up 177bindsym $mod+Shift+Right move right 178 179# move entire workspace between monitors 180bindsym $mod+Ctrl+Left move workspace to output left 181bindsym $mod+Ctrl+Right move workspace to output right 182bindsym $mod+Ctrl+h move workspace to output left 183bindsym $mod+Ctrl+l move workspace to output right 184 185# cycle thru workspaces 186# Mod1 = Alt 187bindsym Mod1+Right workspace next 188bindsym Mod1+Left workspace prev 189bindsym Mod1+l workspace next 190bindsym Mod1+h workspace prev 191 192# suspend / exit stuff. TODO clean this up 193bindsym Ctrl+Mod1+l exec --no-startup-id "$HOME/pixel-lock" 194bindsym $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'" 195 196bindsym $mod+End mode "$mode_system" 197set $mode_system (l)ock, (e)xit, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown 198mode "$mode_system" { 199 bindsym l exec --no-startup-id i3exit lock, mode "default" 200 bindsym s exec --no-startup-id i3exit suspend, mode "default" 201 bindsym u exec --no-startup-id i3exit switch_user, mode "default" 202 bindsym e exec --no-startup-id i3exit logout, mode "default" 203 bindsym h exec --no-startup-id i3exit hibernate, mode "default" 204 bindsym r exec --no-startup-id i3exit reboot, mode "default" 205 bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" 206 207 # exit system mode: "Enter" or "Escape" 208 bindsym Return mode "default" 209 bindsym Escape mode "default" 210} 211 212# Preset workspaces. TODO clean this up 213# Workspace names 214# to display names or symbols instead of plain workspace numbers you can use 215# something like: set $ws1 1:mail 216# set $ws2 2: 217set $ws1 11:1 218set $ws2 12:2 219set $ws3 13:3 220set $ws4 14:4 221set $ws5 15:5 222set $ws6 16:6 223set $ws7 17:7 224set $ws8 18:8 225set $ws9 19:9 226 227# switch to workspace 228bindsym $mod+1 workspace $ws1 229bindsym $mod+2 workspace $ws2 230bindsym $mod+3 workspace $ws3 231bindsym $mod+4 workspace $ws4 232bindsym $mod+5 workspace $ws5 233bindsym $mod+6 workspace $ws6 234bindsym $mod+7 workspace $ws7 235bindsym $mod+8 workspace $ws8 236bindsym $mod+9 workspace $ws9 237bindsym $mod+mod2+KP_1 workspace $ws1 238bindsym $mod+mod2+KP_2 workspace $ws2 239bindsym $mod+mod2+KP_3 workspace $ws3 240bindsym $mod+mod2+KP_4 workspace $ws4 241bindsym $mod+mod2+KP_5 workspace $ws5 242bindsym $mod+mod2+KP_6 workspace $ws6 243bindsym $mod+mod2+KP_7 workspace $ws7 244bindsym $mod+mod2+KP_8 workspace $ws8 245bindsym $mod+mod2+KP_9 workspace $ws9 246 247# Move focused container to workspace 248bindsym $mod+Ctrl+1 move container to workspace $ws1 249bindsym $mod+Ctrl+2 move container to workspace $ws2 250bindsym $mod+Ctrl+3 move container to workspace $ws3 251bindsym $mod+Ctrl+4 move container to workspace $ws4 252bindsym $mod+Ctrl+5 move container to workspace $ws5 253bindsym $mod+Ctrl+6 move container to workspace $ws6 254bindsym $mod+Ctrl+7 move container to workspace $ws7 255bindsym $mod+Ctrl+8 move container to workspace $ws8 256bindsym $mod+Ctrl+9 move container to workspace $ws9 257 258bindsym $mod+Ctrl+mod2+KP_1 move container to workspace $ws1 259bindsym $mod+Ctrl+mod2+KP_2 move container to workspace $ws2 260bindsym $mod+Ctrl+mod2+KP_3 move container to workspace $ws3 261bindsym $mod+Ctrl+mod2+KP_4 move container to workspace $ws4 262bindsym $mod+Ctrl+mod2+KP_5 move container to workspace $ws5 263bindsym $mod+Ctrl+mod2+KP_6 move container to workspace $ws6 264bindsym $mod+Ctrl+mod2+KP_7 move container to workspace $ws7 265bindsym $mod+Ctrl+mod2+KP_8 move container to workspace $ws8 266bindsym $mod+Ctrl+mod2+KP_9 move container to workspace $ws9 267 268# Move to workspace with focused container 269bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 270bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 271bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 272bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 273bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 274bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 275bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 276bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 277bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 278 279bindsym $mod+Shift+mod2+KP_End move container to workspace $ws1; workspace $ws1 280bindsym $mod+Shift+mod2+KP_Down move container to workspace $ws2; workspace $ws2 281bindsym $mod+Shift+mod2+KP_Next move container to workspace $ws3; workspace $ws3 282bindsym $mod+Shift+mod2+KP_Left move container to workspace $ws4; workspace $ws4 283bindsym $mod+Shift+mod2+KP_Begin move container to workspace $ws5; workspace $ws5 284bindsym $mod+Shift+mod2+KP_Right move container to workspace $ws6; workspace $ws6 285bindsym $mod+Shift+mod2+KP_Home move container to workspace $ws7; workspace $ws7 286bindsym $mod+Shift+mod2+KP_Up move container to workspace $ws8; workspace $ws8 287bindsym $mod+Shift+mod2+KP_Prior move container to workspace $ws9; workspace $ws9 288 289set $mode_resize Resizing... (Esc to finish) 290bindsym $mod+s mode $mode_resize 291 292mode "$mode_resize" { 293 # These bindings trigger as soon as you enter the resize mode 294 bindsym h resize shrink width 5 px or 5 ppt 295 bindsym j resize grow height 5 px or 5 ppt 296 bindsym k resize shrink height 5 px or 5 ppt 297 bindsym l resize grow width 5 px or 5 ppt 298 299 bindsym Left resize shrink width 5 px or 5 ppt 300 bindsym Down resize grow height 5 px or 5 ppt 301 bindsym Up resize shrink height 5 px or 5 ppt 302 bindsym Right resize grow width 5 px or 5 ppt 303 304 bindsym Return mode "default" 305 bindsym Escape mode "default" 306} 307 308# === Colors === 309 310# TODO clean up 311 312set $void_main #020A04 313set $dark_main #042019 314set $mid_main #0F4039 315set $light_main #FF0000 316#0F8079 317set $pale_main #CCFFCC 318 319set $pale_off #222222 320 321set $bright_2 #EEFFEE 322 323set $dark_main #000000 324set $mid_main #222222 325#443322 326set $light_main #00BBEE 327#AA4444 328set $pale_main #FEFFCC 329 330 331set $red #FE0000 332 333# theme colors 334# class border backgr. text indic. child_border 335 client.focused $void_main $light_main $pale_main $pale_main 336 client.focused_inactive $void_main $void_main $pale_main $void_main 337 client.unfocused $void_main $void_main $light_main $red 338 client.urgent $void_main $pale_off $void_main $red 339 client.placeholder $void_main $void_main $void_main $red 340# client.focused #556064 #556064 #80FFF9 #FDF6E3 341# client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 342# client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 343# client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 344# client.placeholder #000000 #0c0c0c #ffffff #000000 345 346 client.background #00FF00 347