diff options
Diffstat (limited to 'config')
| -rw-r--r-- | config | 380 |
1 files changed, 380 insertions, 0 deletions
| @@ -0,0 +1,380 @@ | |||
| 1 | # i3 config file (v4) | ||
| 2 | # | ||
| 3 | # Please see http://i3wm.org/docs/userguide.html for a complete reference! | ||
| 4 | |||
| 5 | |||
| 6 | output DP-1 { | ||
| 7 | pos 0 0 | ||
| 8 | res 1920x1080 | ||
| 9 | background ~/.local/share/backgrounds/01-0.jpg center | ||
| 10 | } | ||
| 11 | |||
| 12 | output DP-2 { | ||
| 13 | pos 1920 0 | ||
| 14 | res 1920x1080 | ||
| 15 | background ~/.local/share/backgrounds/01-1.jpg center | ||
| 16 | } | ||
| 17 | |||
| 18 | # load xrdb | ||
| 19 | exec xrdb ~/.Xresources ; i3-msg reload | ||
| 20 | |||
| 21 | # force_xinerama yes | ||
| 22 | # fake-outputs 3840x1080+0+0 | ||
| 23 | |||
| 24 | # we basically want to configure our font with ~/.config/fontconfig/* | ||
| 25 | # font pango:FuraCode Nerd Font Mono Retina 9 | ||
| 26 | font pango:Monospace 9 | ||
| 27 | # font pango:Code New Roman Nerd Font 9 | ||
| 28 | |||
| 29 | hide_edge_borders both | ||
| 30 | |||
| 31 | set $mod Mod4 | ||
| 32 | |||
| 33 | # Use Mouse+$mod to drag floating windows to their wanted position | ||
| 34 | floating_modifier $mod | ||
| 35 | |||
| 36 | # start a terminal | ||
| 37 | # bindsym $mod+Return exec i3-sensible-terminal | ||
| 38 | bindsym $mod+Return exec --no-startup-id xfce4-appfinder | ||
| 39 | bindsym Mod1+F2 exec --no-startup-id rofi -show run -bg #222222 -fg #888888 -hlbg #285577 -hlfg #ffffff | ||
| 40 | bindsym $mod+t exec --no-startup-id xfce4-terminal | ||
| 41 | # bindsym $mod+t exec termite | ||
| 42 | # bindsym $mod+t exec urxvt | ||
| 43 | bindsym $mod+e exec --no-startup-id thunar | ||
| 44 | bindsym $mod+l exec --no-startup-id ~/.local/bin/i3lock -f -i "/home/max/.local/share/backgrounds/IMG_5656 - IMG_5684-02.png" | ||
| 45 | |||
| 46 | bindsym Print exec pactl set-sink-mute 0 toggle | ||
| 47 | bindsym Scroll_Lock exec pactl set-sink-volume 0 -5% | ||
| 48 | bindsym Pause exec pactl set-sink-volume 0 +5% | ||
| 49 | |||
| 50 | # Pulse Audio controls | ||
| 51 | bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% # increase sound volume | ||
| 52 | bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% # decrease sound volume | ||
| 53 | bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound | ||
| 54 | |||
| 55 | bindcode 156 exec xrandr --output LVDS-1 --mode 1024x768 && xrandr --output LVDS-1 --mode 1280x800 | ||
| 56 | |||
| 57 | # kill focused window | ||
| 58 | bindsym $mod+Shift+q kill | ||
| 59 | bindsym Mod1+F4 kill | ||
| 60 | |||
| 61 | # start dmenu (a program launcher) | ||
| 62 | # bindsym $mod+d exec dmenu_run | ||
| 63 | # There also is the (new) i3-dmenu-desktop which only displays applications | ||
| 64 | # shipping a .desktop file. It is a wrapper around dmenu, so you need that | ||
| 65 | # installed. | ||
| 66 | bindsym $mod+d exec --no-startup-id i3-dmenu-desktop | ||
| 67 | # bindsym $mod+d exec --no-startup-id j4-dmenu-desktop | ||
| 68 | |||
| 69 | |||
| 70 | bindsym $mod+Prior focus parent | ||
| 71 | bindsym $mod+Next focus child | ||
| 72 | bindsym $mod+Left [workspace="__focused__"] focus left | ||
| 73 | bindsym $mod+Right [workspace="__focused__"] focus right | ||
| 74 | bindsym $mod+Down [workspace="__focused__"] focus down | ||
| 75 | bindsym $mod+Up [workspace="__focused__"] focus up | ||
| 76 | bindsym $mod+Tab focus output right | ||
| 77 | bindsym $mod+Shift+Tab focus output left | ||
| 78 | bindsym mod1+Tab focus right | ||
| 79 | bindsym mod1+Shift+Tab focus left | ||
| 80 | |||
| 81 | # alternatively, you can use the cursor keys: | ||
| 82 | bindsym $mod+Shift+Left move left ; exec pkill -SIGRTMIN+11 i3blocks | ||
| 83 | bindsym $mod+Shift+Down move down ; exec pkill -SIGRTMIN+11 i3blocks | ||
| 84 | bindsym $mod+Shift+Up move up ; exec pkill -SIGRTMIN+11 i3blocks | ||
| 85 | bindsym $mod+Shift+Right move right ; exec pkill -SIGRTMIN+11 i3blocks | ||
| 86 | |||
| 87 | # split in horizontal orientation | ||
| 88 | # bindsym $mod+h split h | ||
| 89 | |||
| 90 | # split in vertical orientation | ||
| 91 | # bindsym $mod+v split v | ||
| 92 | |||
| 93 | # enter fullscreen mode for the focused container | ||
| 94 | bindsym $mod+f fullscreen toggle | ||
| 95 | bindsym $mod+g fullscreen toggle global | ||
| 96 | |||
| 97 | # change container layout (stacked, tabbed, toggle split) | ||
| 98 | bindsym $mod+s layout stacking | ||
| 99 | bindsym $mod+w layout tabbed | ||
| 100 | bindsym $mod+q layout toggle split | ||
| 101 | bindsym $mod+x layout toggle all | ||
| 102 | |||
| 103 | # toggle tiling / floating | ||
| 104 | bindsym $mod+Shift+space floating toggle | ||
| 105 | |||
| 106 | # change focus between tiling / floating windows | ||
| 107 | # bindsym $mod+space focus mode_toggle | ||
| 108 | |||
| 109 | # focus the parent container | ||
| 110 | bindsym $mod+a focus parent | ||
| 111 | |||
| 112 | # focus the child container | ||
| 113 | #bindsym $mod+d focus child | ||
| 114 | |||
| 115 | workspace 1 output VGA1 | ||
| 116 | workspace_layout tabbed | ||
| 117 | |||
| 118 | # customize workspace names | ||
| 119 | set $WS1 1:1⃣ | ||
| 120 | set $WS2 2:2⃣ | ||
| 121 | set $WS3 3:3⃣ | ||
| 122 | set $WS4 4:4⃣ | ||
| 123 | set $WS5 5:5⃣ | ||
| 124 | set $WS6 6:6⃣ | ||
| 125 | set $WS7 7:7⃣ | ||
| 126 | set $WS8 8:8⃣ | ||
| 127 | set $WS9 9:9⃣ | ||
| 128 | set $WS10 10:0⃣ | ||
| 129 | |||
| 130 | assign [class="^Thunderbird$"] → $WS10 | ||
| 131 | assign [class="^evolution"] → output right | ||
| 132 | assign [class="(?i)pidgin"] → output right | ||
| 133 | |||
| 134 | # switch to workspace | ||
| 135 | bindsym Mod4+1 workspace $WS1 | ||
| 136 | bindsym Mod4+2 workspace $WS2 | ||
| 137 | bindsym Mod4+3 workspace $WS3 | ||
| 138 | bindsym Mod4+4 workspace $WS4 | ||
| 139 | bindsym Mod4+5 workspace $WS5 | ||
| 140 | bindsym Mod4+6 workspace $WS6 | ||
| 141 | bindsym Mod4+7 workspace $WS7 | ||
| 142 | bindsym Mod4+8 workspace $WS8 | ||
| 143 | bindsym Mod4+9 workspace $WS9 | ||
| 144 | bindsym Mod4+0 workspace $WS10 | ||
| 145 | |||
| 146 | # move focused container to workspace | ||
| 147 | bindsym Mod4+Shift+1 move container to workspace $WS1 | ||
| 148 | bindsym Mod4+Shift+2 move container to workspace $WS2 | ||
| 149 | bindsym Mod4+Shift+3 move container to workspace $WS3 | ||
| 150 | bindsym Mod4+Shift+4 move container to workspace $WS4 | ||
| 151 | bindsym Mod4+Shift+5 move container to workspace $WS5 | ||
| 152 | bindsym Mod4+Shift+6 move container to workspace $WS6 | ||
| 153 | bindsym Mod4+Shift+7 move container to workspace $WS7 | ||
| 154 | bindsym Mod4+Shift+8 move container to workspace $WS8 | ||
| 155 | bindsym Mod4+Shift+9 move container to workspace $WS9 | ||
| 156 | bindsym Mod4+Shift+0 move container to workspace $WS10 | ||
| 157 | |||
| 158 | workspace 1 output DP-1 | ||
| 159 | workspace 2 output DP-1 | ||
| 160 | workspace 3 output DP-1 | ||
| 161 | workspace 4 output DP-1 | ||
| 162 | workspace 5 output HDMI-1 | ||
| 163 | workspace 6 output HDMI-1 | ||
| 164 | workspace 7 output HDMI-1 | ||
| 165 | workspace 8 output HDMI-1 | ||
| 166 | workspace "music" output HDMI-1 | ||
| 167 | workspace "background" output HDMI-1 | ||
| 168 | |||
| 169 | # reload the configuration file | ||
| 170 | bindsym $mod+Shift+c reload | ||
| 171 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||
| 172 | bindsym $mod+Shift+r restart | ||
| 173 | # exit i3 (logs you out of your X session) | ||
| 174 | bindsym $mod+Shift+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'" | ||
| 175 | |||
| 176 | |||
| 177 | bindsym $mod+m move scratchpad | ||
| 178 | bindsym $mod+Shift+m scratchpad show ; resize set 1920 920 ; move position center | ||
| 179 | |||
| 180 | |||
| 181 | |||
| 182 | bindsym $mod+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name: ' | ||
| 183 | bindsym Control+Mod1+Left workspace prev_on_output | ||
| 184 | bindsym Control+Mod1+Right workspace next_on_output | ||
| 185 | |||
| 186 | # move focused window | ||
| 187 | bindsym $mod+Shift+h move left | ||
| 188 | bindsym $mod+Shift+j move down | ||
| 189 | bindsym $mod+Shift+k move up | ||
| 190 | bindsym $mod+Shift+l move right | ||
| 191 | |||
| 192 | # split in horizontal orientation | ||
| 193 | # bindsym $mod+Shift+v split h | ||
| 194 | |||
| 195 | # split in vertical orientation | ||
| 196 | # bindsym $mod+v split v | ||
| 197 | bindsym $mod+v split toggle | ||
| 198 | bindsym $mod+space split toggle | ||
| 199 | |||
| 200 | |||
| 201 | |||
| 202 | bindsym $mod+r mode "resize" | ||
| 203 | # resize window (you can also use the mouse for that) | ||
| 204 | mode "resize" { | ||
| 205 | # These bindings trigger as soon as you enter the resize mode | ||
| 206 | |||
| 207 | # Pressing left will shrink the window’s width. | ||
| 208 | # Pressing right will grow the window’s width. | ||
| 209 | # Pressing up will shrink the window’s height. | ||
| 210 | # Pressing down will grow the window’s height. | ||
| 211 | bindsym $mod+h resize shrink width 4 px or 4 ppt | ||
| 212 | bindsym $mod+j resize grow height 4 px or 4 ppt | ||
| 213 | bindsym $mod+k resize shrink height 4 px or 4 ppt | ||
| 214 | bindsym $mod+l resize grow width 4 px or 4 ppt | ||
| 215 | |||
| 216 | # same bindings, but for the arrow keys | ||
| 217 | bindsym Left resize shrink width 4 px or 4 ppt | ||
| 218 | bindsym Up resize grow height 4 px or 4 ppt | ||
| 219 | bindsym Down resize shrink height 4 px or 4 ppt | ||
| 220 | bindsym Right resize grow width 4 px or 4 ppt | ||
| 221 | |||
| 222 | # back to normal: Enter or Escape | ||
| 223 | bindsym Return mode "default" | ||
| 224 | bindsym Escape mode "default" | ||
| 225 | } | ||
| 226 | |||
| 227 | |||
| 228 | set $mode_brightness "display brightness 🔅 🔆" | ||
| 229 | bindsym $mod+b mode $mode_brightness | ||
| 230 | mode $mode_brightness { | ||
| 231 | bindsym Up exec xrandr-brightness .1 | ||
| 232 | bindsym Down exec xrandr-brightness -.1 | ||
| 233 | bindsym Return mode "default" | ||
| 234 | bindsym Escape mode "default" | ||
| 235 | } | ||
| 236 | |||
| 237 | |||
| 238 | |||
| 239 | |||
| 240 | |||
| 241 | #! exec: execute when starting | ||
| 242 | #! exec_always: execute when starting or restarting | ||
| 243 | |||
| 244 | |||
| 245 | |||
| 246 | # exec xrandr --output HDMI-1 --right-of DP-1 | ||
| 247 | # exec xrandr --output HDMI-1 --right-of VGA-1 | ||
| 248 | # exec /usr/bin/xrandr-reset.sh | ||
| 249 | # exec setxkbmap -option caps:escape | ||
| 250 | exec xset r rate 330 40 | ||
| 251 | exec xinput --set-prop 'Xornet gaming mouse' 'libinput Accel Speed' 0.1 | ||
| 252 | exec setsid xautolock -locker i3lock | ||
| 253 | |||
| 254 | exec --no-startup-id /usr/lib/gnome-settings-daemon/gsd-xsettings | ||
| 255 | exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 | ||
| 256 | exec --no-startup-id gnome-keyring-daemon --start --components=secrets | ||
| 257 | # start compositor... | ||
| 258 | exec --no-startup-id compton -b --config ~/.config/i3/compton.conf | ||
| 259 | exec --no-startup-id nitrogen --restore | ||
| 260 | exec --no-startup-id nm-applet | ||
| 261 | |||
| 262 | exec --no-startup-id ln -sf /dev/shm/recently-used.xbel $HOME/.local/share/recently-used.xbel | ||
| 263 | |||
| 264 | |||
| 265 | |||
| 266 | |||
| 267 | |||
| 268 | exec setsid hexchat -e --minimize=2 | ||
| 269 | |||
| 270 | |||
| 271 | # ============================================== | ||
| 272 | # base16 Xressource depenend color configuration | ||
| 273 | # with default values from base16-tomorrow-night | ||
| 274 | # ============================================== | ||
| 275 | |||
| 276 | set $base00 #1d1f21 | ||
| 277 | set $base01 #282a2e | ||
| 278 | set $base02 #373b41 | ||
| 279 | set $base03 #969896 | ||
| 280 | set $base04 #b4b7b4 | ||
| 281 | set $base05 #c5c8c6 | ||
| 282 | set $base06 #e0e0e0 | ||
| 283 | set $base07 #ffffff | ||
| 284 | set $base08 #cc6666 | ||
| 285 | set $base09 #de935f | ||
| 286 | set $base0A #f0c674 | ||
| 287 | set $base0B #b5bd68 | ||
| 288 | set $base0C #8abeb7 | ||
| 289 | set $base0D #81a2be | ||
| 290 | set $base0E #b294bb | ||
| 291 | set $base0F #a3685a | ||
| 292 | # d variable default | ||
| 293 | set $cursorColor $base05 | ||
| 294 | set $background $base00 | ||
| 295 | set $foreground $base05 | ||
| 296 | set $foreground $base05 | ||
| 297 | # | ||
| 298 | |||
| 299 | # Basic bar configuration using the Base16 variables. | ||
| 300 | bar { | ||
| 301 | # status_command i3status --config ~/.config/i3/i3status.conf | ||
| 302 | status_command i3status --config ~/.config/i3/i3status.conf | ||
| 303 | # status_command /home/max/src/i3status/i3status --config ~/.config/i3/i3status.conf | ||
| 304 | |||
| 305 | tray_padding 2 | ||
| 306 | mode dock | ||
| 307 | strip_workspace_numbers yes | ||
| 308 | # separator_symbol "│" | ||
| 309 | separator_symbol " " | ||
| 310 | |||
| 311 | colors { | ||
| 312 | background $background | ||
| 313 | separator $foreground | ||
| 314 | statusline $foreground | ||
| 315 | |||
| 316 | focused_workspace $background $background $base05 | ||
| 317 | active_workspace $background $background $cursorColor | ||
| 318 | inactive_workspace $background $background $base03 | ||
| 319 | urgent_workspace $background $background $base08 | ||
| 320 | binding_mode $background $background $foreground | ||
| 321 | } | ||
| 322 | } | ||
| 323 | |||
| 324 | # Basic color configuration using the Base16 variables for windows and borders. | ||
| 325 | # Property Name Border BG Text Indicator Child Border | ||
| 326 | client.focused $base05 $base0D $base00 $base0D $base0D | ||
| 327 | client.focused_inactive $base01 $base01 $base05 $base03 $base01 | ||
| 328 | client.unfocused $base01 $base00 $base05 $base01 $base01 | ||
| 329 | client.urgent $base08 $base08 $base00 $base08 $base08 | ||
| 330 | client.placeholder $base00 $base00 $base05 $base00 $base00 | ||
| 331 | client.background $background | ||
| 332 | |||
| 333 | |||
| 334 | for_window [class="(?i)evolution"] title_format "📧 %title" | ||
| 335 | for_window [class="(?i)thunderbird"] title_format "📧 %title" | ||
| 336 | for_window [class="(?i)firefox"] title_format " %title" | ||
| 337 | for_window [class="(?i)chromium"] title_format " %title" | ||
| 338 | for_window [class="(?i)hexchat"] title_format " %title" | ||
| 339 | for_window [class="(?i)pidgin"] title_format "👥 %title" | ||
| 340 | for_window [class="(?i)thunar"] title_format "🗄️ %title" | ||
| 341 | for_window [class="(?i)keepassx?"] title_format "🔑 %title" | ||
| 342 | for_window [class="(?i).*terminal?"] title_format " %title" | ||
| 343 | for_window [class="(?i)xfce4-appfinder"] title_format " %title" | ||
| 344 | for_window [title="YouTube"] title_format " %title" | ||
| 345 | for_window [title="SoundCloud"] title_format " %title" | ||
| 346 | for_window [title=""] title_format "%title" | ||
| 347 | for_window [title=" "] title_format "%title" | ||
| 348 | |||
| 349 | |||
| 350 | # for_window [class="^.*"] border normal 3 | ||
| 351 | # for_window [title="^.*Thunderbird"] border pixel 0 | ||
| 352 | # for_window [title="^.*Chromium"] border pixel 0 | ||
| 353 | # for_window [class="Gvim"] border pixel 0 | ||
| 354 | # for_window [class="(?i)xfce4-terminal"] border pixel 0 | ||
| 355 | # for_window [class="(?i)xfce4-appfinder"] border pixel 0 | ||
| 356 | # # for_window [title="^.*\|"] border pixel 4 | ||
| 357 | |||
| 358 | # for_window [title="^HexChat.*"] border pixel 0 | ||
| 359 | # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks | ||
| 360 | # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks | ||
| 361 | # for_window [title="cairo-dock"] floating enable ; border none | ||
| 362 | # for_window[class="Plank"] floating enable,move absolute center | ||
| 363 | # for_window [class=".*"] title_format "┋ %title" | ||
| 364 | # for_window [con_id="__focused__"] title_format "<u>%title</u>" | ||
| 365 | |||
| 366 | # Press $mod+o followed by either f, t, Escape or Return to launch firefox, | ||
| 367 | # thunderbird or return to the default mode, respectively. | ||
| 368 | set $mode_launcher Launch: [f]irefox [t]hunderbird | ||
| 369 | bindsym $mod+o mode "$mode_launcher" | ||
| 370 | |||
| 371 | mode "$mode_launcher" { | ||
| 372 | bindsym f exec firefox | ||
| 373 | bindsym t exec thunderbird | ||
| 374 | |||
| 375 | bindsym Escape mode "default" | ||
| 376 | bindsym Return mode "default" | ||
| 377 | } | ||
| 378 | |||
| 379 | |||
| 380 | # vim: iskeyword+=\$,\-,\# nospell ft=tcl | ||
