dotfiles/config/i3/config (view raw)
| 1 | ############# General ############# |
| 2 | # Bind $MOD(super) key |
| 3 | set $mod Mod4 |
| 4 | set $alt Mod1 |
| 5 | floating_modifier $mod |
| 6 | |
| 7 | # Set font |
| 8 | font monospace 10 |
| 9 | font pango:JetBrains Mono 10 |
| 10 | |
| 11 | # Disable window title |
| 12 | default_border pixel |
| 13 | new_float pixel |
| 14 | |
| 15 | # Borders |
| 16 | hide_edge_borders smart |
| 17 | |
| 18 | ############ Autostart ############ |
| 19 | exec_always --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps" |
| 20 | exec_always --no-startup-id exec feh --randomize --bg-scale ~/Pictures/wallp |
| 21 | exec --no-startup-id exec picom -b |
| 22 | |
| 23 | ############ Variables ########### |
| 24 | set $terminal kitty |
| 25 | set $browser google-chrome-stable |
| 26 | set $filemanager kitty --class ranger -e ranger |
| 27 | set $codeeditor kitty --class nvim -e nvim |
| 28 | set $guicode code |
| 29 | |
| 30 | ############## WM keys ############ |
| 31 | |
| 32 | # Kill window |
| 33 | bindsym $mod+q kill |
| 34 | bindsym --release $mod+Shift+q exec xkill |
| 35 | |
| 36 | # Restart i3wm |
| 37 | bindsym $mod+Control+r restart |
| 38 | |
| 39 | # Layout |
| 40 | bindsym $mod+Control+w layout tabbed |
| 41 | bindsym $mod+Control+e layout toggle split |
| 42 | bindsym $mod+Shift+Tab floating toggle |
| 43 | |
| 44 | # Split mode |
| 45 | bindsym $mod+$alt+h split h |
| 46 | bindsym $mod+$alt+v split v |
| 47 | |
| 48 | # Scratchpad |
| 49 | bindsym $mod+Shift+grave move scratchpad |
| 50 | bindsym $mod+grave scratchpad show, floating disable |
| 51 | |
| 52 | ############## User key ########### |
| 53 | |
| 54 | # Applications |
| 55 | bindsym $mod+Return exec $terminal |
| 56 | bindsym $mod+Shift+w exec $browser |
| 57 | bindsym $mod+Shift+f exec $filemanager |
| 58 | bindsym $mod+Shift+e exec $codeeditor |
| 59 | bindsym $mod+Shift+c exec $guicode |
| 60 | bindsym $mod+Shift+v exec veracrypt |
| 61 | bindsym $mod+Shift+s exec ~/.applications/simplenote.appimage |
| 62 | |
| 63 | # Menu |
| 64 | bindsym $mod+Shift+Return exec rofi -show drun -theme ntenV2 |
| 65 | bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh |
| 66 | bindsym $mod+Control+i exec ~/.script/dmenu/dmenu-pass.sh |
| 67 | |
| 68 | # Screenhot |
| 69 | bindsym --release Print exec scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png |
| 70 | bindsym Shift+Print exec scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png |
| 71 | |
| 72 | # Volume |
| 73 | bindsym $mod+plus exec amixer sset Master 2%+ |
| 74 | bindsym $mod+minus exec amixer sset Master 2%- |
| 75 | bindsym $mod+Shift+minus exec amixer sset Master toggle |
| 76 | |
| 77 | ############## GAPS ############### |
| 78 | smart_gaps on |
| 79 | gaps inner 3 |
| 80 | gaps outer 4 |
| 81 | |
| 82 | ######### Window preferens ######## |
| 83 | assign [class="(?i)alacritty|kitty"] $ws1 |
| 84 | assign [class="(?i)google-chrome-stable|firefox"] $ws2 |
| 85 | assign [class="Code|nvim"] $ws3 |
| 86 | assign [class="Thunar|ranger"] $ws4 |
| 87 | assign [class="Joplin|Simplenote"] $ws5 |
| 88 | assign [class="TelegramDesktop|discord"] $ws6 |
| 89 | for_window [class="TelegramDesktop|discord"] layout tabbed |
| 90 | assign [class="KeePassX"] $ws7 |
| 91 | assign [class="Spotify"] $ws9 |
| 92 | for_window [title="Google Tasks"] floating enable |
| 93 | focus_on_window_activation focus |
| 94 | |
| 95 | ########## Change focus ########### |
| 96 | bindsym $mod+h focus left |
| 97 | bindsym $mod+Left focus left |
| 98 | bindsym $mod+j focus down |
| 99 | bindsym $mod+Down focus down |
| 100 | bindsym $mod+k focus up |
| 101 | bindsym $mod+Up focus up |
| 102 | bindsym $mod+l focus right |
| 103 | bindsym $mod+Right focus right |
| 104 | |
| 105 | ########## Move window ############ |
| 106 | bindsym $mod+Shift+h move left |
| 107 | bindsym $mod+Shift+Left move left |
| 108 | bindsym $mod+Shift+j move down |
| 109 | bindsym $mod+Shift+Down move down |
| 110 | bindsym $mod+Shift+k move up |
| 111 | bindsym $mod+Shift+Up move up |
| 112 | bindsym $mod+Shift+l move right |
| 113 | bindsym $mod+Shift+Right move right |
| 114 | |
| 115 | ########## Resize window ########## |
| 116 | bindsym $mod+Control+h resize shrink width 5 px or 5 ppt |
| 117 | bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt |
| 118 | bindsym $mod+Control+j resize grow height 5 px or 5 ppt |
| 119 | bindsym $mod+Control+Down resize grow height 5 px or 5 ppt |
| 120 | bindsym $mod+Control+k resize shrink height 5 px or 5 ppt |
| 121 | bindsym $mod+Control+Up resize shrink height 5 px or 5 ppt |
| 122 | bindsym $mod+Control+l resize grow width 5 px or 5 ppt |
| 123 | bindsym $mod+Control+Right resize grow width 5 px or 5 ppt |
| 124 | |
| 125 | ############ Workspaces ########### |
| 126 | set $ws1 "1" |
| 127 | set $ws2 "2" |
| 128 | set $ws3 "3" |
| 129 | set $ws4 "4" |
| 130 | set $ws5 "5" |
| 131 | set $ws6 "6" |
| 132 | set $ws7 "7" |
| 133 | set $ws8 "8" |
| 134 | set $ws9 "9" |
| 135 | |
| 136 | bindsym $mod+1 workspace $ws1 |
| 137 | bindsym $mod+2 workspace $ws2 |
| 138 | bindsym $mod+3 workspace $ws3 |
| 139 | bindsym $mod+4 workspace $ws4 |
| 140 | bindsym $mod+5 workspace $ws5 |
| 141 | bindsym $mod+6 workspace $ws6 |
| 142 | bindsym $mod+7 workspace $ws7 |
| 143 | bindsym $mod+8 workspace $ws8 |
| 144 | bindsym $mod+9 workspace $ws9 |
| 145 | |
| 146 | bindsym $mod+Shift+1 move container to workspace $ws1 |
| 147 | bindsym $mod+Shift+2 move container to workspace $ws2 |
| 148 | bindsym $mod+Shift+3 move container to workspace $ws3 |
| 149 | bindsym $mod+Shift+4 move container to workspace $ws4 |
| 150 | bindsym $mod+Shift+5 move container to workspace $ws5 |
| 151 | bindsym $mod+Shift+6 move container to workspace $ws6 |
| 152 | bindsym $mod+Shift+7 move container to workspace $ws7 |
| 153 | bindsym $mod+Shift+8 move container to workspace $ws8 |
| 154 | bindsym $mod+Shift+9 move container to workspace $ws9 |
| 155 | |
| 156 | ############### Bar ############### |
| 157 | bar { |
| 158 | status_command i3status-rs ~/.config/i3/i3status-rs.toml |
| 159 | font pango:JetBrains Mono 10 |
| 160 | position top |
| 161 | colors { |
| 162 | background #262A2B |
| 163 | statusline #DFDFDF |
| 164 | separator #CED4DA |
| 165 | focused_workspace #008DCD #008DCD #DFDFDF |
| 166 | active_workspace #262A2B #262A2B #DFDFDF |
| 167 | inactive_workspace #262A2B #262A2B #DFDFDF |
| 168 | urgent_workspace #FF6C6B #FF6C6B #DFDFDF |
| 169 | binding_mode #2F343A #900000 #DFDFDF |
| 170 | } |
| 171 | } |
| 172 | ############## Colors ############# |
| 173 | client.focused #008DCD #008DCD #FFFFFF #008DCD #008DCD |
| 174 | client.focused_inactive #008DCD #002b36 #DFDFDF #002b36 #002b36 |
| 175 | client.unfocused #262A2B #262A2B #DFDFDF #262A2B #262A2B |
| 176 | client.urgent #002b36 #262A2B #FFFFFF #262A2B #262A2B |
| 177 | client.placeholder #000000 #000000 #FFFFFF #000000 #000000 |
| 178 | client.background #FFFFFF |
| 179 | |
| 180 | # vim: ft=i3config |