# i3 config file (v4) # # Please see http://i3wm.org/docs/userguide.html for a complete reference! output DP-1 { pos 0 0 res 1920x1080 background ~/.local/share/backgrounds/01-0.jpg center } output DP-2 { pos 1920 0 res 1920x1080 background ~/.local/share/backgrounds/01-1.jpg center } # load xrdb exec xrdb ~/.Xresources ; i3-msg reload # force_xinerama yes # fake-outputs 3840x1080+0+0 # we basically want to configure our font with ~/.config/fontconfig/* # font pango:FuraCode Nerd Font Mono Retina 9 font pango:Monospace 9 # font pango:Code New Roman Nerd Font 9 hide_edge_borders both set $mod Mod4 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal # bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+Return exec --no-startup-id xfce4-appfinder bindsym Mod1+F2 exec --no-startup-id rofi -show run -bg #222222 -fg #888888 -hlbg #285577 -hlfg #ffffff bindsym $mod+t exec --no-startup-id xfce4-terminal # bindsym $mod+t exec termite # bindsym $mod+t exec urxvt bindsym $mod+e exec --no-startup-id thunar bindsym $mod+l exec --no-startup-id ~/.local/bin/i3lock -f -i "/home/max/.local/share/backgrounds/IMG_5656 - IMG_5684-02.png" bindsym Print exec pactl set-sink-mute 0 toggle bindsym Scroll_Lock exec pactl set-sink-volume 0 -5% bindsym Pause exec pactl set-sink-volume 0 +5% # Pulse Audio controls bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% # increase sound volume bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% # decrease sound volume bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound bindcode 156 exec xrandr --output LVDS-1 --mode 1024x768 && xrandr --output LVDS-1 --mode 1280x800 # kill focused window bindsym $mod+Shift+q kill bindsym Mod1+F4 kill # start dmenu (a program launcher) # bindsym $mod+d exec dmenu_run # There also is the (new) i3-dmenu-desktop which only displays applications # shipping a .desktop file. It is a wrapper around dmenu, so you need that # installed. bindsym $mod+d exec --no-startup-id i3-dmenu-desktop # bindsym $mod+d exec --no-startup-id j4-dmenu-desktop bindsym $mod+Prior focus parent bindsym $mod+Next focus child bindsym $mod+Left [workspace="__focused__"] focus left bindsym $mod+Right [workspace="__focused__"] focus right bindsym $mod+Down [workspace="__focused__"] focus down bindsym $mod+Up [workspace="__focused__"] focus up bindsym $mod+Tab focus output right bindsym $mod+Shift+Tab focus output left bindsym mod1+Tab focus right bindsym mod1+Shift+Tab focus left # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Down move down ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Up move up ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Right move right ; exec pkill -SIGRTMIN+11 i3blocks # split in horizontal orientation # bindsym $mod+h split h # split in vertical orientation # bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle bindsym $mod+g fullscreen toggle global # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+q layout toggle split bindsym $mod+x layout toggle all # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows # bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container #bindsym $mod+d focus child workspace 1 output VGA1 workspace_layout tabbed # customize workspace names set $WS1 1:1⃣ set $WS2 2:2⃣ set $WS3 3:3⃣ set $WS4 4:4⃣ set $WS5 5:5⃣ set $WS6 6:6⃣ set $WS7 7:7⃣ set $WS8 8:8⃣ set $WS9 9:9⃣ set $WS10 10:0⃣ assign [class="^Thunderbird$"] → $WS10 assign [class="^evolution"] → output right assign [class="(?i)pidgin"] → output right # switch to workspace bindsym Mod4+1 workspace $WS1 bindsym Mod4+2 workspace $WS2 bindsym Mod4+3 workspace $WS3 bindsym Mod4+4 workspace $WS4 bindsym Mod4+5 workspace $WS5 bindsym Mod4+6 workspace $WS6 bindsym Mod4+7 workspace $WS7 bindsym Mod4+8 workspace $WS8 bindsym Mod4+9 workspace $WS9 bindsym Mod4+0 workspace $WS10 # move focused container to workspace bindsym Mod4+Shift+1 move container to workspace $WS1 bindsym Mod4+Shift+2 move container to workspace $WS2 bindsym Mod4+Shift+3 move container to workspace $WS3 bindsym Mod4+Shift+4 move container to workspace $WS4 bindsym Mod4+Shift+5 move container to workspace $WS5 bindsym Mod4+Shift+6 move container to workspace $WS6 bindsym Mod4+Shift+7 move container to workspace $WS7 bindsym Mod4+Shift+8 move container to workspace $WS8 bindsym Mod4+Shift+9 move container to workspace $WS9 bindsym Mod4+Shift+0 move container to workspace $WS10 workspace 1 output DP-1 workspace 2 output DP-1 workspace 3 output DP-1 workspace 4 output DP-1 workspace 5 output HDMI-1 workspace 6 output HDMI-1 workspace 7 output HDMI-1 workspace 8 output HDMI-1 workspace "music" output HDMI-1 workspace "background" output HDMI-1 # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) 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'" bindsym $mod+m move scratchpad bindsym $mod+Shift+m scratchpad show ; resize set 1920 920 ; move position center bindsym $mod+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name: ' bindsym Control+Mod1+Left workspace prev_on_output bindsym Control+Mod1+Right workspace next_on_output # move focused window bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # split in horizontal orientation # bindsym $mod+Shift+v split h # split in vertical orientation # bindsym $mod+v split v bindsym $mod+v split toggle bindsym $mod+space split toggle bindsym $mod+r mode "resize" # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. bindsym $mod+h resize shrink width 4 px or 4 ppt bindsym $mod+j resize grow height 4 px or 4 ppt bindsym $mod+k resize shrink height 4 px or 4 ppt bindsym $mod+l resize grow width 4 px or 4 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 4 px or 4 ppt bindsym Up resize grow height 4 px or 4 ppt bindsym Down resize shrink height 4 px or 4 ppt bindsym Right resize grow width 4 px or 4 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } set $mode_brightness "display brightness 🔅 🔆" bindsym $mod+b mode $mode_brightness mode $mode_brightness { bindsym Up exec xrandr-brightness .1 bindsym Down exec xrandr-brightness -.1 bindsym Return mode "default" bindsym Escape mode "default" } #! exec: execute when starting #! exec_always: execute when starting or restarting # exec xrandr --output HDMI-1 --right-of DP-1 # exec xrandr --output HDMI-1 --right-of VGA-1 # exec /usr/bin/xrandr-reset.sh # exec setxkbmap -option caps:escape exec xset r rate 330 40 exec xinput --set-prop 'Xornet gaming mouse' 'libinput Accel Speed' 0.1 exec setsid xautolock -locker i3lock exec --no-startup-id /usr/lib/gnome-settings-daemon/gsd-xsettings exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id gnome-keyring-daemon --start --components=secrets # start compositor... exec --no-startup-id compton -b --config ~/.config/i3/compton.conf exec --no-startup-id nitrogen --restore exec --no-startup-id nm-applet exec --no-startup-id ln -sf /dev/shm/recently-used.xbel $HOME/.local/share/recently-used.xbel exec setsid hexchat -e --minimize=2 # ============================================== # base16 Xressource depenend color configuration # with default values from base16-tomorrow-night # ============================================== set $base00 #1d1f21 set $base01 #282a2e set $base02 #373b41 set $base03 #969896 set $base04 #b4b7b4 set $base05 #c5c8c6 set $base06 #e0e0e0 set $base07 #ffffff set $base08 #cc6666 set $base09 #de935f set $base0A #f0c674 set $base0B #b5bd68 set $base0C #8abeb7 set $base0D #81a2be set $base0E #b294bb set $base0F #a3685a # d variable default set $cursorColor $base05 set $background $base00 set $foreground $base05 set $foreground $base05 # # Basic bar configuration using the Base16 variables. bar { # status_command i3status --config ~/.config/i3/i3status.conf status_command i3status --config ~/.config/i3/i3status.conf # status_command /home/max/src/i3status/i3status --config ~/.config/i3/i3status.conf tray_padding 2 mode dock strip_workspace_numbers yes # separator_symbol "│" separator_symbol " " colors { background $background separator $foreground statusline $foreground focused_workspace $background $background $base05 active_workspace $background $background $cursorColor inactive_workspace $background $background $base03 urgent_workspace $background $background $base08 binding_mode $background $background $foreground } } # Basic color configuration using the Base16 variables for windows and borders. # Property Name Border BG Text Indicator Child Border client.focused $base05 $base0D $base00 $base0D $base0D client.focused_inactive $base01 $base01 $base05 $base03 $base01 client.unfocused $base01 $base00 $base05 $base01 $base01 client.urgent $base08 $base08 $base00 $base08 $base08 client.placeholder $base00 $base00 $base05 $base00 $base00 client.background $background for_window [class="(?i)evolution"] title_format "📧 %title" for_window [class="(?i)thunderbird"] title_format "📧 %title" for_window [class="(?i)firefox"] title_format " %title" for_window [class="(?i)chromium"] title_format " %title" for_window [class="(?i)hexchat"] title_format " %title" for_window [class="(?i)pidgin"] title_format "👥 %title" for_window [class="(?i)thunar"] title_format "🗄️ %title" for_window [class="(?i)keepassx?"] title_format "🔑 %title" for_window [class="(?i).*terminal?"] title_format " %title" for_window [class="(?i)xfce4-appfinder"] title_format " %title" for_window [title="YouTube"] title_format " %title" for_window [title="SoundCloud"] title_format " %title" for_window [title=""] title_format "%title" for_window [title=" "] title_format "%title" # for_window [class="^.*"] border normal 3 # for_window [title="^.*Thunderbird"] border pixel 0 # for_window [title="^.*Chromium"] border pixel 0 # for_window [class="Gvim"] border pixel 0 # for_window [class="(?i)xfce4-terminal"] border pixel 0 # for_window [class="(?i)xfce4-appfinder"] border pixel 0 # # for_window [title="^.*\|"] border pixel 4 # for_window [title="^HexChat.*"] border pixel 0 # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks # for_window [title="cairo-dock"] floating enable ; border none # for_window[class="Plank"] floating enable,move absolute center # for_window [class=".*"] title_format "┋ %title" # for_window [con_id="__focused__"] title_format "%title" # Press $mod+o followed by either f, t, Escape or Return to launch firefox, # thunderbird or return to the default mode, respectively. set $mode_launcher Launch: [f]irefox [t]hunderbird bindsym $mod+o mode "$mode_launcher" mode "$mode_launcher" { bindsym f exec firefox bindsym t exec thunderbird bindsym Escape mode "default" bindsym Return mode "default" } # vim: iskeyword+=\$,\-,\# nospell ft=tcl