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.

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