.config/i3/config (8496B)
1 # 2 # _ _____ __ _ 3 # (_)___ / ___ ___ _ __ / _(_) __ _ 4 # | | |_ \ / __/ _ \| '_ \| |_| |/ _` | 5 # | |___) | (_| (_) | | | | _| | (_| | 6 # |_|____/ \___\___/|_| |_|_| |_|\__, | 7 # |___/ 8 9 # made by guthub.com/klewer-martin 10 # 11 # this config file is not done yet, and it's in constant improvement 12 13 14 # You'll need to have installed the following apps in order to work 15 # properly: 16 # xss-lock, betterlockscreen, dmenu, networkmanager + nm-applet, i3status, 17 # xbindkeys, nitrogen, picom. (and probably more); 18 19 20 # set $mod key to super key; 21 set $mod Mod4 22 23 # Use Mouse+$mod to drag floating windows to their wanted position; 24 floating_modifier $mod 25 26 # kill focused window; 27 bindsym $mod+q kill 28 29 # change focus; 30 bindsym $mod+j focus left 31 bindsym $mod+k focus down 32 bindsym $mod+l focus up 33 bindsym $mod+semicolon focus right 34 35 # alternatively, you can use the cursor keys; 36 bindsym $mod+Left focus left 37 bindsym $mod+Down focus down 38 bindsym $mod+Up focus up 39 bindsym $mod+Right focus right 40 41 # move focused window; 42 bindsym $mod+Shift+j move left 43 bindsym $mod+Shift+k move down 44 bindsym $mod+Shift+l move up 45 bindsym $mod+Shift+semicolon move right 46 47 # alternatively, you can use the cursor keys; 48 bindsym $mod+Shift+Left move left 49 bindsym $mod+Shift+Down move down 50 bindsym $mod+Shift+Up move up 51 bindsym $mod+Shift+Right move right 52 53 # split in horizontal orientation 54 bindsym $mod+Shift+h split h 55 56 # split in vertical orientation 57 bindsym $mod+Shift+v split v 58 59 # enter fullscreen mode for the focused container 60 bindsym $mod+f fullscreen toggle 61 62 # change container layout (stacked, tabbed, toggle split) 63 #bindsym $mod+Shift+t layout stacking 64 bindsym $mod+Shift+t layout toggle split 65 bindsym $mod+t layout tabbed 66 67 # toggle tiling / floating 68 bindsym $mod+Shift+space floating toggle 69 70 # change focus between tiling / floating windows 71 bindsym $mod+space focus mode_toggle 72 73 # define names for default workspaces for which we configure key bindings 74 # later on. 75 # we use variables to avoid repeating the names in multiple places. 76 set $ws1 "1" 77 set $ws2 "2" 78 set $ws3 "3" 79 set $ws4 "4" 80 set $ws5 "5" 81 set $ws6 "6" 82 set $ws7 "7" 83 set $ws8 "8" 84 set $ws9 "9" 85 set $ws10 "10" 86 87 # switch to workspace 88 bindsym $mod+1 workspace number $ws1 89 bindsym $mod+2 workspace number $ws2 90 bindsym $mod+3 workspace number $ws3 91 bindsym $mod+4 workspace number $ws4 92 bindsym $mod+5 workspace number $ws5 93 bindsym $mod+6 workspace number $ws6 94 bindsym $mod+7 workspace number $ws7 95 bindsym $mod+8 workspace number $ws8 96 bindsym $mod+9 workspace number $ws9 97 bindsym $mod+0 workspace number $ws10 98 99 # move focused container to workspace 100 bindsym $mod+Shift+1 move container to workspace number $ws1 101 bindsym $mod+Shift+2 move container to workspace number $ws2 102 bindsym $mod+Shift+3 move container to workspace number $ws3 103 bindsym $mod+Shift+4 move container to workspace number $ws4 104 bindsym $mod+Shift+5 move container to workspace number $ws5 105 bindsym $mod+Shift+6 move container to workspace number $ws6 106 bindsym $mod+Shift+7 move container to workspace number $ws7 107 bindsym $mod+Shift+8 move container to workspace number $ws8 108 bindsym $mod+Shift+9 move container to workspace number $ws9 109 bindsym $mod+Shift+0 move container to workspace number $ws10 110 111 # reload the configuration file 112 bindsym $mod+Shift+c reload 113 114 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 115 bindsym $mod+Shift+r restart 116 117 # exit i3 (logs you out of your X session) 118 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'" 119 120 # resize window (you can also use the mouse for that) 121 mode "resize" { 122 # These bindings trigger as soon as you enter the resize mode 123 124 # Pressing left will shrink the window’s width. 125 # Pressing right will grow the window’s width. 126 # Pressing up will shrink the window’s height. 127 # Pressing down will grow the window’s height. 128 bindsym j resize shrink width 5 px or 5 ppt 129 bindsym k resize grow height 5 px or 5 ppt 130 bindsym l resize shrink height 5 px or 5 ppt 131 bindsym semicolon resize grow width 5 px or 5 ppt 132 133 # same bindings, but for the arrow keys 134 bindsym Left resize shrink width 10 px or 10 ppt 135 bindsym Down resize grow height 10 px or 10 ppt 136 bindsym Up resize shrink height 10 px or 10 ppt 137 bindsym Right resize grow width 10 px or 10 ppt 138 139 # back to normal: Enter or Escape or $mod+r 140 bindsym Return mode "default" 141 bindsym Escape mode "default" 142 bindsym $mod+r mode "default" 143 } 144 145 bindsym $mod+r mode "resize" 146 147 148 ######################################### 149 # Bar settings # 150 ######################################### 151 152 # color and transparency (if enabled in bar config below) setiings; 153 # RRGGBBAA 154 set $transparent #00000095 155 156 bar { 157 position top 158 # status_command i3status 159 # status_command exec net-speed.sh 160 status_command i3status | /home/mk/packages/i3-weather/.env/bin/python /home/mk/packages/i3-weather/weather.py --wrap-i3-status --api-key 1c56ede043bfc3a9f37fa04317775d73 --place Cachari,AR --format "⛅: {temp_c}°C" 161 font pango:Source Code Pro Bold 8 162 i3bar_command i3bar --transparency 163 tray_padding 4 164 colors { 165 background $transparent 166 } 167 } 168 169 170 171 ######################################### 172 # Appearance # 173 ######################################### 174 175 # default border style; 176 default_border pixel 0 177 178 # hide the tittle bar; 179 for_window [class="^.*"] border pixel 1 180 new_window 1pixel 181 182 # gaps width in <px>; 183 gaps inner 8 184 gaps outer 3 185 186 bindsym $mod+i gaps inner current plus 2 187 bindsym $mod+Shift+i gaps inner current minus 2 188 189 bindsym $mod+o gaps outer current plus 2 190 bindsym $mod+Shift+o gaps outer current minus 2 191 192 # smart gaps removes the border when only a windows is active in the workspace; 193 #smart_gaps on 194 195 # smart borders take out the border to windows that are maximized; 196 #smart_borders on 197 198 # This is to avoid getting floating windows to large; 199 # floating_maximum_size 480 x 240 200 # floating_minimum_size 75 x 50 201 202 # class border backgr. text indicator child_border 203 #client.focused #285577 #285577 #ffffff #285577 #285577 204 #client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 205 #client.focused #dd0000 #dd0000 #ffffff #dd0000 #dd0000 206 client.focused #b02121 #b02121 #ffffff #b02121 #b02121 207 208 209 ######################################### 210 # Applications key-shotcuts # 211 ######################################### 212 213 # start firefox; 214 bindsym $mod+w exec --no-startup-id firefox 215 216 # start ranger; 217 bindsym $mod+e exec --no-startup-id st -e ranger 218 219 # start spotify; 220 bindsym $mod+s exec --no-startup-id spotify 221 222 # start a terminal; 223 bindsym $mod+Return exec --no-startup-id st 224 225 # start dmenu (a program launcher); 226 bindsym $mod+d exec --no-startup-id ~/packages/dmenu/dmenu_run_history 227 228 # start htop; 229 #bindsym $mod2+h exec --no-startup-id launchhtop 230 231 # start gimp; 232 bindsym $mod+g exec --no-startup-id gimp 233 234 # start virtualbox; 235 bindsym $mod+v exec --no-startup-id virtualbox -style Adwaita-dark 236 237 # start pulse effects; 238 #bindsym $mod2+p exec --no-startup-id pulseeffects 239 240 # toggle bar; 241 bindsym $mod+b bar mode toggle 242 243 # take a screenshot 244 bindsym Print exec --no-startup-id takescreenshot 245 246 247 ######################################### 248 # Miscellaneous # 249 ######################################### 250 251 # disable mouse acceleration; 252 exec --no-startup-id configmouses 253 254 # alt tab workspace switching; 255 # bindsym $mod+Tab workspace next 256 257 bindsym $mod+Tab workspace back_and_forth 258 259 bindsym $mod+Shift+Tab workspace prev 260 261 # lock screen; 262 # bindsym $mod2+l exec --no-startup-id lockscreen 263 264 # execute xbindkeys which is an app for mapping keys; 265 exec --no-startup-id xbindkeys -f /home/mk/.config/xbindkeys/.xbindkeysrc 266 267 # restore the wallpaper; 268 exec --no-startup-id nitrogen --restore 269 270 # execute picom compositor; 271 exec --no-startup-id picom 272 273 # xss-lock grabs a logind suspend inhibit lock and will use betterlockscreen 274 # to lock the screen before suspend. 275 exec --no-startup-id xss-lock -l lockscreen 276 277 # lock the screen on startup; 278 exec --no-startup-id lockscreen 279 280 # NetworkManager is the most popular way to manage wireless networks on Linux, 281 # and nm-applet is a desktop environment-independent system tray GUI for it. 282 #exec --no-startup-id nm-applet 283 284 assign [class="transmission-gtk"] 9 285 assign [class="spotify"] 9