# SCRIPT NAME: # .config/i3/config # # AUTHOR: # Severin Kaderli # # DESCRIPTION: # This file contains my i3 configuration. # # USAGE: # This file is automatically used by i3. set $mod Mod4 set $alt Mod1 # Monitors set $output1 HDMI-1 set $output2 eDP-1 # Workspaces set $workspace1 "1: " set $workspace2 "2: " set $workspace3 "3: " set $workspace4 "4: " set $workspace5 "5: " set $workspace6 "6: " set $workspace7 "7: " set $workspace8 "8: " set $workspace9 "9: " set $workspace10 "10: " new_window none # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font pango:Noto Sans, Font Awesome 5 Free 15px # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal bindsym $mod+Return exec termite -c ~/.config/termite/config # kill focused window bindsym $mod+Shift+q kill # Start rofi bindsym $mod+r exec rofi -show run -opacity 100 -lines 5 -location 2 # change focus 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+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # 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 # change container layout (stacked, tabbed, toggle split) 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 # focus the child container #bindsym $mod+d focus child # Assign workspaces to screens workspace $workspace1 output $output1 workspace $workspace2 output $output2 workspace $workspace3 output $output2 workspace $workspace4 output $output2 workspace $workspace5 output $output1 workspace $workspace6 output $output2 workspace $workspace7 output $output1 workspace $workspace8 output $output1 workspace $workspace9 output $output2 workspace $workspace10 output $output2 # Workspace switching bindsym $mod+1 workspace $workspace1 bindsym $mod+2 workspace $workspace2 bindsym $mod+3 workspace $workspace3 bindsym $mod+4 workspace $workspace4 bindsym $mod+5 workspace $workspace5 bindsym $mod+6 workspace $workspace6 bindsym $mod+7 workspace $workspace7 bindsym $mod+8 workspace $workspace8 bindsym $mod+9 workspace $workspace9 bindsym $mod+0 workspace $workspace10 bindsym $mod+KP_1 workspace $workspace1 bindsym $mod+KP_2 workspace $workspace2 bindsym $mod+KP_3 workspace $workspace3 bindsym $mod+KP_4 workspace $workspace4 bindsym $mod+KP_5 workspace $workspace5 bindsym $mod+KP_6 workspace $workspace6 bindsym $mod+KP_7 workspace $workspace7 bindsym $mod+KP_8 workspace $workspace8 bindsym $mod+KP_9 workspace $workspace9 bindsym $mod+KP_0 workspace $workspace10 # Moving container to workspace bindsym $mod+Shift+1 move container to workspace $workspace1 bindsym $mod+Shift+2 move container to workspace $workspace2 bindsym $mod+Shift+3 move container to workspace $workspace3 bindsym $mod+Shift+4 move container to workspace $workspace4 bindsym $mod+Shift+5 move container to workspace $workspace5 bindsym $mod+Shift+6 move container to workspace $workspace6 bindsym $mod+Shift+7 move container to workspace $workspace7 bindsym $mod+Shift+8 move container to workspace $workspace8 bindsym $mod+Shift+9 move container to workspace $workspace9 bindsym $mod+Shift+0 move container to workspace $workspace10 bindsym $mod+Shift+KP_1 move container to workspace $workspace1 bindsym $mod+Shift+KP_2 move container to workspace $workspace2 bindsym $mod+Shift+KP_3 move container to workspace $workspace3 bindsym $mod+Shift+KP_4 move container to workspace $workspace4 bindsym $mod+Shift+KP_5 move container to workspace $workspace5 bindsym $mod+Shift+KP_6 move container to workspace $workspace6 bindsym $mod+Shift+KP_7 move container to workspace $workspace7 bindsym $mod+Shift+KP_8 move container to workspace $workspace8 bindsym $mod+Shift+KP_9 move container to workspace $workspace9 bindsym $mod+Shift+KP_0 move container to workspace $workspace10 # Reload configuration file #bindsym $mod+Shift+r reload # Restart i3 bindsym $mod+Shift+r restart # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+x mode "resize" exec_always --no-startup-id $HOME/.config/polybar/launch.sh ####################################### # Custom keybinding ####################################### # Screen lock controls bindsym $mod+l exec --no-startup-id $XDG_BIN_HOME/screenlock.sh bindsym XF86Sleep exec --no-startup-id $XDG_BIN_HOME/screenlock.sh # Volume controls bindsym XF86AudioMute exec --no-startup-id pamixer -t bindsym $mod+m exec --no-startup-id pamixer -t bindsym XF86AudioRaiseVolume exec --no-startup-id $XDG_BIN_HOME/increase_volume.sh bindsym $mod+KP_Add exec --no-startup-id $XDG_BIN_HOME/increase_volume.sh bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5 --allow-boost bindsym $mod+KP_Subtract exec --no-startup-id pamixer -d 5 --allow-boost # Brightness controls bindsym XF86MonBrightnessUp exec --no-startup-id light -A 5 bindsym XF86MonBrightnessDown exec --no-startup-id light -U 5 # Music controls bindsym XF86AudioStop exec --no-startup-id cmus-remote -s bindsym XF86AudioPlay exec --no-startup-id cmus-remote -u bindsym $mod+KP_Enter exec --no-startup-id cmus-remote -u bindsym XF86AudioNext exec --no-startup-id cmus-remote -n bindsym $mod+Control+Right exec --no-startup-id cmus-remote -n bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r bindsym $mod+Control+Left exec --no-startup-id cmus-remote -r # Moving workspaces to other displays bindsym $mod+$alt+Left move workspace to output left bindsym $mod+$alt+Right move workspace to output right ####################################### # Startup applications ####################################### # Dunst exec --no-startup-id dunst # Compton exec --no-startup-id compton -b # Background-Image exec_always --no-startup-id feh --bg-fill $HOME/GoogleDrive/02_Media/Images/01_Wallpaper/Desktop/Fearsome_Awakening.png # Monitor settings exec_always --no-startup-id $XDG_BIN_HOME/resolution.sh # Other applications exec autokey-gtk exec google-chrome-beta exec termite exec discord exec nemo exec nemo exec keepassxc exec termite -e cmus --name cmus # Assign programs to specific workspaces ### assign [class="Google-chrome-beta"] $workspace1 assign [instance="cmus"] $workspace10 assign [class="Code"] $workspace3 assign [class="Nemo"] $workspace4 assign [class="discord"] $workspace5 assign [class="Steam"] $workspace6 assign [class="keepassxc"] $workspace8 assign [class="vlc"] $workspace9 assign [class="mpv"] $workspace9 # Disable window titlebars for_window [class="^.*"] border pixel 0 # Gaps gaps inner 10 gaps outer -10