You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

293 lines
10 KiB

  1. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  2. set $mod Mod4
  3. set $alt Mod1
  4. font JetBrains Mono, FontAwesome 12
  5. bindsym $mod+F7 exec --no-startup-id xset r rate 250 25 && xset b off && setxkbmap -option caps:escape
  6. # Use Mouse+$mod to drag floating windows to their wanted position
  7. floating_modifier $mod
  8. # start a terminal
  9. bindsym $mod+Return exec --no-startup-id alacritty
  10. # kill focused window
  11. bindsym $mod+q kill
  12. # lock screen
  13. bindsym $mod+$alt+s exec swaylock
  14. exec swayidle -w \
  15. timeout 600 'swaylock'
  16. exec swayidle -w \
  17. timeout 1200 'swaymsg "output * dpms off"'\
  18. resume 'swaymsg "output * dpms on"'
  19. # before-sleep 'swaylock'
  20. # start rofi (a program launcher)
  21. bindsym XF86LaunchA exec --no-startup-id rofi -show run
  22. bindcode 225 exec --no-startup-id rofi -show run
  23. bindsym $mod+space exec --no-startup-id rofi -show run
  24. # change focus
  25. bindsym $mod+j focus left
  26. bindsym $mod+k focus down
  27. bindsym $mod+l focus up
  28. bindsym $mod+semicolon focus right
  29. # alternatively, you can use the cursor keys:
  30. bindsym $mod+Left focus left
  31. bindsym $mod+Down focus down
  32. bindsym $mod+Up focus up
  33. bindsym $mod+Right focus right
  34. # move focused window
  35. bindsym $mod+Shift+j move left
  36. bindsym $mod+Shift+k move down
  37. bindsym $mod+Shift+l move up
  38. bindsym $mod+Shift+semicolon move right
  39. # alternatively, you can use the cursor keys:
  40. bindsym $mod+Shift+Left move left
  41. bindsym $mod+Shift+Down move down
  42. bindsym $mod+Shift+Up move up
  43. bindsym $mod+Shift+Right move right
  44. # split in horizontal orientation
  45. bindsym $mod+h split h
  46. # split in vertical orientation
  47. bindsym $mod+v split v
  48. # enter fullscreen mode for the focused container
  49. bindsym $mod+d fullscreen
  50. bindsym $mod+$alt+f fullscreen
  51. # change container layout (stacked, tabbed, toggle split)
  52. bindsym $mod+s layout stacking
  53. bindsym $mod+t layout tabbed
  54. bindsym $mod+e layout toggle split
  55. # toggle tiling / floating
  56. bindsym $mod+Shift+space floating toggle
  57. # change focus between tiling / floating windows
  58. bindsym $mod+$alt+space focus mode_toggle
  59. # focus the parent container
  60. bindsym $mod+p focus parent
  61. # focus the child container
  62. bindsym $mod+c focus child
  63. # reload the configuration file
  64. bindsym $mod+Shift+c reload
  65. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  66. bindsym $mod+Shift+r restart
  67. # exit i3 (logs you out of your X session)
  68. 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'"
  69. # switch to workspace
  70. bindsym $mod+1 workspace 1
  71. bindsym $mod+2 workspace 2
  72. bindsym $mod+3 workspace 3
  73. bindsym $mod+4 workspace 4
  74. bindsym $mod+5 workspace 5
  75. bindsym $mod+6 workspace 6
  76. bindsym $mod+7 workspace 7
  77. bindsym $mod+8 workspace 8
  78. bindsym $mod+9 workspace 9
  79. bindsym $mod+0 workspace 10
  80. bindsym Mod1+Control+Right workspace next
  81. bindsym Mod1+Control+Left workspace prev
  82. workspace_auto_back_and_forth yes
  83. bindsym $mod+z workspace back_and_forth
  84. bindsym $mod+Shift+z move container to workspace back_and_forth
  85. # move focused container to workspace
  86. bindsym $mod+Shift+1 move container to workspace 1
  87. bindsym $mod+Shift+2 move container to workspace 2
  88. bindsym $mod+Shift+3 move container to workspace 3
  89. bindsym $mod+Shift+4 move container to workspace 4
  90. bindsym $mod+Shift+5 move container to workspace number 5
  91. bindsym $mod+Shift+6 move container to workspace number 6
  92. bindsym $mod+Shift+7 move container to workspace number 7
  93. bindsym $mod+Shift+8 move container to workspace number 8
  94. bindsym $mod+Shift+9 move container to workspace number 9
  95. bindsym $mod+Shift+0 move container to workspace number 10
  96. ########################
  97. ## Custom Keybindings
  98. ########################
  99. bindsym $mod+f exec --no-startup-id alacrity -e ranger
  100. bindsym Print exec scrot -s -e 'mv $f ~/Downloads'
  101. bindsym $mod+m move scratchpad
  102. bindsym $mod+n scratchpad show
  103. bindsym $mod+Shift+s sticky toggle
  104. #bindsym Control+k exec --no-startup-id echo "core.weechat */buffer_dmenu" >> $(find ~/.weechat -type p)
  105. # Notifications
  106. bindsym $mod+Control+Shift+space exec --no-startup-id makoctl dismiss -a
  107. bindsym $mod+Control+space exec --no-startup-id makoctl dismiss
  108. #########################
  109. ## Floating Windows
  110. #########################
  111. for_window [class="Android SDK Manager" instance="Android SDK Manager"] floating enable
  112. for_window [class="Cb-exit" instance="cb-exit"] floating enable
  113. for_window [class="Cb-exit" instance="cb-exit"] border none
  114. for_window [class="^Pavucontrol$"] floating enable
  115. for_window [instance="crx_gaedmjdfmmahhbjefcbgaolhhanlaolb"] floating enable
  116. for_window [class="Google-chrome" instance="crx_nckgahadagoaajjgafhacjanaoiihapd"] floating enable
  117. for_window [class="chrome_app_list"] floating enable
  118. for_window [class="Plexamp"] floating enable
  119. for_window [class="blueman-manager"] floating enable
  120. for_window [class="^Bluetooth Devices"] floating enable
  121. # https://github.com/ValveSoftware/steam-for-linux/issues/1040
  122. for_window [class="^Steam$" title="^Friends$"] floating enable
  123. for_window [class="^Steam$" title="Steam - News"] floating enable
  124. for_window [class="^Steam$" title=".* - Chat"] floating enable
  125. for_window [class="^Steam$" title="^Settings$"] floating enable
  126. for_window [class="^Steam$" title=".* - event started"] floating enable
  127. for_window [class="^Steam$" title=".* CD key"] floating enable
  128. for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
  129. for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
  130. for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
  131. for_window [title="^Steam Keyboard$"] floating enable
  132. for_window [title="Qalculate!"] floating enable
  133. for_window [title="Steam"] floating enable
  134. for_window [title="Origin"] floating enable
  135. ###########################
  136. ## Assign Workspaces
  137. ##########################
  138. assign [class="Slack"] 3
  139. assign [class="Plexamp"] 3
  140. ##########################
  141. ## Gaps
  142. ##########################
  143. # new_window 1pixel
  144. default_border pixel 0
  145. #Hide border if 1 window
  146. hide_edge_borders both
  147. set $default_gaps_inner 5
  148. set $default_gaps_outer 5
  149. gaps inner $default_gaps_inner
  150. gaps outer $default_gaps_outer
  151. smart_gaps on
  152. # resize window (you can also use the mouse for that)
  153. mode "resize" {
  154. # These bindings trigger as soon as you enter the resize mode
  155. # Pressing left will shrink the window’s width.
  156. # Pressing right will grow the window’s width.
  157. # Pressing up will shrink the window’s height.
  158. # Pressing down will grow the window’s height.
  159. bindsym j resize shrink width 10 px or 10 ppt
  160. bindsym k resize grow height 10 px or 10 ppt
  161. bindsym l resize shrink height 10 px or 10 ppt
  162. bindsym semicolon resize grow width 10 px or 10 ppt
  163. # same bindings, but for the arrow keys
  164. bindsym Left resize shrink width 10 px or 10 ppt
  165. bindsym Down resize grow height 10 px or 10 ppt
  166. bindsym Up resize shrink height 10 px or 10 ppt
  167. bindsym Right resize grow width 10 px or 10 ppt
  168. # back to normal: Enter or Escape
  169. bindsym Return mode "default"
  170. bindsym Escape mode "default"
  171. }
  172. bindsym $mod+r mode "resize"
  173. # Resize Containers, Vim-style ($mod+Control+[hjkl])
  174. bindsym $mod+Control+j resize grow height 5 px or 5 ppt
  175. bindsym $mod+Control+k resize shrink height 5 px or 5 ppt
  176. bindsym $mod+Control+l resize grow width 5 px or 5 ppt
  177. bindsym $mod+Control+h resize shrink width 5 px or 5 ppt
  178. bindsym $mod+Control+Up resize grow height 5 px or 5 ppt
  179. bindsym $mod+Control+Down resize shrink height 5 px or 5 ppt
  180. bindsym $mod+Control+Right resize grow width 5 px or 5 ppt
  181. bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt
  182. # Start i3bar to display a workspace bar (plus the system information i3status
  183. # finds out, if available)
  184. bar {
  185. swaybar_command waybar
  186. }
  187. #
  188. #bar {
  189. # position top
  190. # status_command i3blocks
  191. # font pango:Liberation 10, FontAwesome 12
  192. # strip_workspace_numbers yes
  193. #
  194. # colors {
  195. # separator #586e75
  196. # background #0c1014
  197. # statusline #aea79f
  198. # focused_workspace #091f2e #091f2e #ffffff
  199. # active_workspace #073642 #073642 #ffffff
  200. # inactive_workspace #0c1014 #0c1014 #aea79f
  201. # urgent_workspace #77216f #77216f #ffffff
  202. # }
  203. #}
  204. # class border backgr. text indicator child_border
  205. client.focused #FFFFFF #BF360C #fdf6e3 #FF0000 #FFFFFF
  206. client.focused_inactive #073642 #FF9800 #93a1a1 #002b36 #073642
  207. client.unfocused #002b36 #311B92 #586e75 #002b36 #002b36
  208. client.urgent #dc322f #b71c1c #fdf6e3 #dc322f #dc322f
  209. ############################
  210. ## Displays
  211. ############################
  212. #HOME
  213. output HDMI-A-1 pos 440 0 res 2560x1080
  214. output DP-1 pos 0 1080 res 3440x1440
  215. # background images
  216. #output * bg ~/Pictures/Wallpapers/calvin-hobbes-stars.jpg fill
  217. output * bg ~/Pictures/Wallpapers/scenic-view-of-forest-during-night-time-1252869.jpg fill
  218. bindsym $mod+Shift+m exec --no-startup-id "sway output output DP-1 pos 2880 0 res 1920x1080 && sway ouput DP-2 res 1920x1080"
  219. ##############################
  220. ## Startup Things
  221. ##############################
  222. exec --no-startup-id pcmanfm -d
  223. #exec --no-startup-id xset r rate 250 25
  224. #exec --no-startup-id xset b off
  225. #exec --no-startup-id setxkbmap -option caps:escape
  226. #exec --no-startup-id nightshift -l 39.0315533:-94.4954291 -d
  227. #exec --no-startup-id setxkbmap -model apple_laptop -layout us -variant dvp
  228. exec --no-startup-id mako
  229. #############################
  230. ## Media Keys
  231. #############################
  232. bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down ; pkill -RTMIN+1 i3blocks"
  233. bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up ; pkill -RTMIN+1 i3blocks"
  234. bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute ; pkill -RTMIN+1 i3blocks"
  235. # bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
  236. # bindsym XF86AudioPause exec --no-startup-id playerctl play-pause
  237. # bindsym XF86AudioPlayPause exec --no-startup-id playerctl play-pause
  238. #bindsym $mod1+Shift+p exec --no-startup-id echo "cycle pause" > ~/.config/mpv/control
  239. bindsym XF86MonBrightnessUp exec --no-startup-id "brightnessctl s +10%; brightnessctl -d gmux_backlight s +10%"
  240. bindsym XF86MonBrightnessDown exec --no-startup-id "brightnessctl s 10%-; brightnessctl -d gmux_backlight s 10%-"
  241. set $gnome-schema org.gnome.desktop.interface
  242. exec_always {
  243. gsettings set $gnome-schema gtk-theme 'Flat-Remix-GTK-Green-Darkest'
  244. gsettings set $gnome-schema icon-theme 'Flat-Remix-Green-Dark'
  245. }