config (9516B)
1 # i3 config file (v4) 2 3 ### Variables 4 ## Window Manager 5 # Leading modifier key. Use Mod1 for Alt. 6 set $mod Mod4 7 # Home row direction keys. 8 set $left h 9 set $down j 10 set $up k 11 set $right l 12 # Default gap sizes. 13 set $gaps_inner 10 14 set $gaps_outer 0 15 ## Applications 16 set $menu rofi -i -show drun 17 set $clipboard rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' 18 set $screenlocker swaylock -c 85ad8580 -u 19 set $screenshot swaygrab 20 set $networkmenu networkmanager_dmenu 21 set $file_manager $TERMINAL -e lf 22 set $music_player $TERMINAL -e ncmpcpp 23 ## System Commands 24 set $hibernate systemctl suspend 25 set $reboot systemctl reboot 26 set $shutdown shutdown -h now 27 ## Files 28 set $background ~/.config/background.png 29 30 ### Aesthetics 31 ## Background 32 exec --no-startup-id feh --bg-fill $background 33 # Use compton for transparency under X. 34 exec --no-startup-id compton 35 ## Fonts 36 font pango:Iosevka SS09 12 37 ## Window Style 38 gaps inner $gaps_inner 39 gaps outer $gaps_outer 40 default_border pixel 2 41 ## Color Scheme (gruvbox-dark-pale) 42 set $base00 #262626 43 set $base01 #3a3a3a 44 set $base02 #4e4e4e 45 set $base03 #8a8a8a 46 set $base04 #949494 47 set $base05 #dab997 48 set $base06 #d5c4a1 49 set $base07 #ebdbb2 50 set $base08 #d75f5f 51 set $base09 #ff8700 52 set $base0A #ffaf00 53 set $base0B #afaf00 54 set $base0C #85ad85 55 set $base0D #83adad 56 set $base0E #d485ad 57 set $base0F #d65d0e 58 # Basic color configuration using the Base16 variables for windows and borders. 59 # Property Name Border BG Text Indicator Child Border 60 client.focused $base05 $base0D $base00 $base0C $base0D 61 client.focused_inactive $base01 $base01 $base05 $base03 $base01 62 client.unfocused $base01 $base00 $base05 $base01 $base01 63 client.urgent $base08 $base08 $base00 $base08 $base08 64 client.placeholder $base00 $base00 $base05 $base00 $base00 65 client.background $base07 66 ## Status Bar 67 bar { 68 position top 69 status_command i3blocks 70 colors { 71 background $base00 72 separator $base01 73 statusline $base04 74 75 # State Border BG Text 76 focused_workspace $base05 $base0D $base00 77 active_workspace $base05 $base03 $base00 78 inactive_workspace $base03 $base01 $base05 79 urgent_workspace $base08 $base08 $base00 80 binding_mode $base00 $base0A $base00 81 } 82 } 83 ## Fibonacci splitting 84 # Start vertical. 85 default_orientation vertical 86 # Toggle split at each new window. 87 for_window [class="^"] split toggle 88 89 ### Key bindings 90 # 91 # Basics: 92 # lock screen 93 bindsym $mod+Escape exec --no-startup-id $screenlocker 94 95 # start a terminal 96 bindsym $mod+Return exec --no-startup-id $TERMINAL 97 98 # kill focused window, remember to toggle split back 99 bindsym $mod+q split toggle; kill 100 101 # start your launcher 102 bindsym $mod+d exec --no-startup-id $menu 103 bindsym XF86Search exec --no-startup-id $menu 104 105 # screenshot 106 bindsym Print exec --no-startup-id $screenshot 107 108 # view clipbord 109 bindsym $mod+v exec --no-startup-id $clipboard 110 111 # network 112 bindsym $mod+Shift+w exec --no-startup-id $networkmenu 113 114 # volume 115 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% && pkill -RTMIN+10 i3blocks 116 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% && pkill -RTMIN+10 i3blocks 117 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle && pkill -RTMIN+10 i3blocks 118 119 # backlight 120 bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -ctrl intel_backlight -inc 10 && pkill -RTMIN+11 i3blocks 121 bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -ctrl intel_backlight -dec 10 && pkill -RTMIN+11 i3blocks 122 123 # music control 124 bindsym $mod+p exec --no-startup-id $music_player 125 bindsym XF86AudioPlay exec --no-startup-id mpc toggle && pkill -RTMIN+12 i3blocks 126 bindsym XF86AudioPrev exec --no-startup-id mpc prev && pkill -RTMIN+12 i3blocks 127 bindsym XF86AudioNext exec --no-startup-id mpc next && pkill -RTMIN+12 i3blocks 128 129 # file manager 130 bindsym $mod+m exec --no-startup-id $file_manager 131 132 # Emacs 133 bindsym $mod+c exec --no-startup-id emacsclient -c -a emacs 134 135 # web browser 136 bindsym $mod+b exec --no-startup-id $BROWSER 137 138 # emoji and unicode character picker 139 bindsym $mod+u exec --no-startup-id unipicker --command "rofi -dmenu" --copy-command "xargs xdotool type" 140 bindsym $mod+Shift+u exec --no-startup-id rofimoji 141 142 # window switcher 143 bindsym $mod+Tab exec --no-startup-id rofi -show window 144 145 # Drag floating windows by holding down $mod and left mouse button. 146 # Resize them with right mouse button + $mod. 147 # Despite the name, also works for non-floating windows. 148 # Change normal to inverse to use left mouse button for resizing and right 149 # mouse button for dragging. 150 floating_modifier $mod 151 152 # reload the configuration file 153 bindsym $mod+Shift+c reload 154 155 # 156 # Moving around: 157 # 158 # Move your focus around 159 bindsym $mod+$left focus left 160 bindsym $mod+$down focus down 161 bindsym $mod+$up focus up 162 bindsym $mod+$right focus right 163 # or use $mod+[up|down|left|right] 164 bindsym $mod+Left focus left 165 bindsym $mod+Down focus down 166 bindsym $mod+Up focus up 167 bindsym $mod+Right focus right 168 169 # _move_ the focused window with the same, but add Shift 170 bindsym $mod+Shift+$left move left 171 bindsym $mod+Shift+$down move down 172 bindsym $mod+Shift+$up move up 173 bindsym $mod+Shift+$right move right 174 # ditto, with arrow keys 175 bindsym $mod+Shift+Left move left 176 bindsym $mod+Shift+Down move down 177 bindsym $mod+Shift+Up move up 178 bindsym $mod+Shift+Right move right 179 # 180 # Workspaces: 181 # 182 # switch to workspace 183 bindsym $mod+1 workspace 1 184 bindsym $mod+2 workspace 2 185 bindsym $mod+3 workspace 3 186 bindsym $mod+4 workspace 4 187 bindsym $mod+5 workspace 5 188 bindsym $mod+6 workspace 6 189 bindsym $mod+7 workspace 7 190 bindsym $mod+8 workspace 8 191 bindsym $mod+9 workspace 9 192 bindsym $mod+0 workspace 10 193 194 # move focused container to workspace 195 bindsym $mod+Shift+1 move container to workspace 1 196 bindsym $mod+Shift+2 move container to workspace 2 197 bindsym $mod+Shift+3 move container to workspace 3 198 bindsym $mod+Shift+4 move container to workspace 4 199 bindsym $mod+Shift+5 move container to workspace 5 200 bindsym $mod+Shift+6 move container to workspace 6 201 bindsym $mod+Shift+7 move container to workspace 7 202 bindsym $mod+Shift+8 move container to workspace 8 203 bindsym $mod+Shift+9 move container to workspace 9 204 bindsym $mod+Shift+0 move container to workspace 10 205 206 # move between workspace 207 bindsym $mod+comma workspace prev 208 bindsym $mod+period workspace next 209 210 # 211 # Layout stuff: 212 # 213 # Toggles horizontal and vertical splits. 214 bindsym $mod+slash split toggle 215 216 # Switch the current container between different layout styles 217 bindsym $mod+s layout stacking 218 bindsym $mod+w layout tabbed 219 bindsym $mod+e layout toggle split 220 221 # Make the current focus fullscreen 222 bindsym $mod+f fullscreen 223 224 # Toggle the current focus between tiling and floating mode 225 bindsym $mod+Shift+space floating toggle 226 227 # Swap focus between the tiling area and the floating area 228 bindsym $mod+space focus mode_toggle 229 230 # move focus to the parent container 231 bindsym $mod+a focus parent 232 233 bindsym $mod+g gaps inner current plus 5 234 bindsym $mod+Shift+g gaps inner current minus 5 235 bindsym $mod+t gaps inner current set $gaps_inner; gaps outer current set $gaps_outer 236 bindsym $mod+Shift+t gaps inner current set 0; gaps outer current set 0 237 # 238 # Scratchpad: 239 # 240 # Sway has a "scratchpad", which is a bag of holding for windows. 241 # You can send windows there and get them back later. 242 243 # Move the currently focused window to the scratchpad 244 bindsym $mod+Shift+minus move scratchpad 245 246 # Show the next scratchpad window or hide the focused scratchpad window. 247 # If there are multiple scratchpad windows, this command cycles through them. 248 bindsym $mod+minus scratchpad show 249 # 250 # Resizing containers: 251 # 252 mode "resize" { 253 # left will shrink the containers width 254 # right will grow the containers width 255 # up will shrink the containers height 256 # down will grow the containers height 257 bindsym $left resize shrink width 10 px or 10 ppt 258 bindsym $down resize grow height 10 px or 10 ppt 259 bindsym $up resize shrink height 10 px or 10 ppt 260 bindsym $right resize grow width 10 px or 10 ppt 261 262 # ditto, with arrow keys 263 bindsym Left resize shrink width 10 px or 10 ppt 264 bindsym Down resize grow height 10 px or 10 ppt 265 bindsym Up resize shrink height 10 px or 10 ppt 266 bindsym Right resize grow width 10 px or 10 ppt 267 268 # return to default mode 269 bindsym Return mode "default" 270 bindsym Escape mode "default" 271 } 272 bindsym $mod+r mode "resize" 273 274 # 275 # System power: 276 # 277 set $mode_power system: [h]ibernate [l]ogout [r]eboot [s]hutdown 278 mode "$mode_power" { 279 # exit sway (logs you out of your wayland session) 280 bindsym h mode "default"; exec $screenlocker; exec $hibernate 281 bindsym l mode "default"; exit 282 bindsym r mode "default"; exec $reboot 283 bindsym s mode "default"; exec $shutdown 284 # return to default mode 285 bindsym Return mode "default" 286 bindsym Escape mode "default" 287 } 288 bindsym $mod+Shift+p mode "$mode_power" 289 290 ### Startup Applications 291 exec --no-startup-id dunst 292 exec --no-startup-id greenclip daemon 293 exec --no-startup-id dropbox 294 exec --no-startup-id fcitx -d