# _ _____ # (_)___ / # | | |_ \ # | |___) | # |_|____/ # # my conf. based on i3-config-generator set $mod Mod4 set $base00 #2C3E50 set $base01 #34495E set $base02 #7F8C8D set $base03 #95A5A6 set $base04 #BDC3C7 set $base05 #e0e0e0 set $base06 #f5f5f5 set $base07 #ECF0F1 set $base08 #E74C3C set $base09 #E67E22 set $base0A #F1C40F set $base0B #2ECC71 set $base0C #1ABC9C set $base0D #c065db set $base0E #9B59B6 set $base0F #be643c set $baseXX #a81c07 # Gaps! # gaps outer 10 # gaps inner 10 smart_borders on smart_gaps on font pango:Iosevka Nerd Font 10 floating_modifier $mod exec --no-startup-id /usr/bin/feh --bg-fill ~/Pictures/Wallpapers/mountains-valley.jpg #exec --no-startup-id /usr/libexec/gnome-settings-daemon exec --no-startup-id alacritty --name quake exec --no-startup-id volumeicon exec --no-startup-id nextcloud exec --no-startup-id nm-applet exec --no-startup-id greenclip daemon exec --no-startup-id dunst exec --no-startup-id compton --config ~/.config/i3/compton.conf exec --no-startup-id xautolock -time 6 -locker "i3-blur-lock --dpms" exec --no-startup-id i3-polybar exec --no-startup-id redshift -l 48.15:11.64 exec --no-startup-id bash -c "sleep 2 && i3-autostart" # lock bindsym Control+Mod1+l exec i3-blur-lock # start a terminal bindsym $mod+Return exec --no-startup-id alacritty bindsym Print exec --no-startup-id "i3-screenshot" bindsym Shift+Print exec --no-startup-id "i3-screenshot -s" bindsym Control+Shift+Print exec --no-startup-id "i3-dropshot" # Rofi Launchers bindsym Control+Shift+Mod1+f exec rofi-clipboard bindsym Control+$mod+w exec firefox bindsym Control+$mod+e exec emacs bindsym Control+$mod+f exec pcmanfm bindsym Control+Shift+Mod1+p exec rofi-pass bindsym --release Control+Shift+mod1+j exec rofi-marks & bindsym $mod+d exec "i3-rofi" # kill focused window bindsym $mod+q kill # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+i focus up bindsym $mod+l focus right bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # move focused window bindsym $mod+Shift+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+i move up bindsym $mod+Shift+l move right bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # split bindsym $mod+h split h bindsym $mod+v split v # fullscreen mode bindsym $mod+f fullscreen # sticky!! bindsym $mod+Shift+s sticky toggle # container layout bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # 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 # Jump to urgent windows bindsym $mod+x [urgent=latest] focus # customize workspace names set $WS1 1  set $WS2 2  set $WS3 3  set $WS4 4  set $WS5 5  set $WS6 6  set $WS7 7  set $WS8 8  # 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 # Move window to "other" monitor bindsym $mod+o move workspace to output right # 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 # Scratchpad bindsym $mod+Shift+minus move scratchpad bindsym $mod+minus scratchpad show assign [class="alfaview.exe"] $WS8 assign [class="Slack"] $WS3 assign [class="Vlc"] $WS5 assign [class="Evince"] $WS4 assign [class="Gimp"] $WS6 # border / titlebar new_window normal 2 px bindsym Control+Shift+x [class="^.*"] border toggle for_window [class="^.*"] border pixel 3 for_window [class="Pavucontrol"] floating enable for_window [class="Nautilus"] border pixel 0 for_window [class="Nautilus"] floating enable for_window [title="Google Hangouts is sharing your screen with hangouts.google.com."] floating enable for_window [title="Jitsi Desktop Streamer is sharing your screen with meet.jit.si."] floating enable for_window [title="Google Hangouts is sharing your screen with hangouts.google.com."] border pixel 0 for_window [title="Jitsi Desktop Streamer is sharing your screen with meet.jit.si."] border pixel 0 # 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-msg exit # resize window (you can also use the mouse for that) bindsym $mod+r mode "resize" mode "resize" { bindsym j resize shrink width 5 px or 5 ppt bindsym k resize grow height 5 px or 5 ppt bindsym l resize shrink height 5 px or 5 ppt bindsym k resize grow width 5 px or 5 ppt bindsym Right resize shrink width 5 px or 5 ppt bindsym Down resize grow height 5 px or 5 ppt bindsym Up resize shrink height 5 px or 5 ppt bindsym Left resize grow width 5 px or 5 ppt bindsym Return mode "default" bindsym Escape mode "default" } # class border backgr. text indicator client.focused $base0C $base0C $base07 $base08 client.focused_inactive $base02 $base02 $base06 $base03 client.unfocused $base04 $base04 $base01 $base06 client.urgent $base08 $base08 $base07 $baseXX # switching between workspace bindsym $mod+period workspace next bindsym $mod+comma workspace prev bindsym $mod+Escape workspace back_and_forth # change focused container bindsym $mod+Tab focus parent; focus right; focus child bindsym $mod+Shift+Tab focus parent; focus left; focus child bindsym XF86AudioMute exec amixer -c 0 -q set Master toggle bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set -M Master 2%+ #-c 0 bindsym XF86AudioLowerVolume exec --no-startup-id amixer set -M Master 2%- #-c 0 bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id amixer -c 0 set Master 15%+ bindsym Shift+XF86AudioLowerVolume exec --no-startup-id amixer -c 0 set Master 15%- bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym Control+Mod1+Shift+t exec tdrop -ma -w -4 -y "30" -h 70% -s dropdown termite bindsym Control+Mod1+Shift+e exec tdrop -ma -w 50% -h 50% -y 25% -x 25% -s dropdown emacs bindsym Control+Mod1+Shift+o exec tdrop -ma -w 800 -h 400 -y -500 -x -900 nautilus # Toggle Gaps https://github.com/Airblader/i3#gaps set $mode_gaps Gaps: (o) outer, (i) inner set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) bindsym $mod+Shift+g mode "$mode_gaps" mode "$mode_gaps" { bindsym o mode "$mode_gaps_outer" bindsym i mode "$mode_gaps_inner" bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_inner" { bindsym plus gaps inner current plus 5 bindsym minus gaps inner current minus 5 bindsym 0 gaps inner current set 0 bindsym Shift+plus gaps inner all plus 5 bindsym Shift+minus gaps inner all minus 5 bindsym Shift+0 gaps inner all set 0 bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_outer" { bindsym plus gaps outer current plus 5 bindsym minus gaps outer current minus 5 bindsym 0 gaps outer current set 0 bindsym Shift+plus gaps outer all plus 5 bindsym Shift+minus gaps outer all minus 5 bindsym Shift+0 gaps outer all set 0 bindsym Return mode "default" bindsym Escape mode "default" } exec --no-startup-id alacritty --name quake for_window [instance="quake"] floating enable; for_window [instance="quake"] move scratchpad; [instance="quake"] scratchpad show; resize grow height 600px; resize grow width 800px; move position center; move scratchpad; bindsym $mod+t [instance="quake"] scratchpad show # Plasma Integration for_window [class="yakuake"] floating enable; ## Plasma Integration # Try to kill the wallpaper set by Plasma (it takes up the entire workspace and hides everythiing) exec --no-startup-id wmctrl -c Plasma for_window [title="Desktop — Plasma"] kill; floating enable; border none ## Avoid tiling popups, dropdown windows from plasma # for the first time, manually resize them, i3 will remember the setting for floating windows for_window [class="plasmashell"] floating enable; for_window [class="Plasma"] floating enable; border none for_window [title="plasma-desktop"] floating enable; border none for_window [title="win7"] floating enable; border none for_window [class="krunner"] floating enable; border none for_window [class="Kmix"] floating enable; border none for_window [class="Klipper"] floating enable; border none for_window [class="Plasmoidviewer"] floating enable; border none