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.

263 lines
9.8 KiB

  1. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  2. set $mod Mod4
  3. set $alt Mod1
  4. exec --no-startup-id nitrogen --restore ~/Wallpapers
  5. # exec --no-startup-id compton -b
  6. exec --no-startup-id nm-applet
  7. exec --no-startup-id xss-lock -- i3lock-fancy
  8. exec --no-startup-id xset r rate 250 25
  9. exec --no-startup-id xset b off
  10. exec --no-startup-id setxkbmap -option caps:escape
  11. exec --no-startup-id nightshift -l 39.0315533:-94.4954291 -d
  12. exec --no-startup-id synclient TapButton1=0
  13. exec --no-startup-id synclient TapButton2=0
  14. #exec --no-startup-id setxkbmap -model apple_laptop -layout us -variant dvp
  15. font pango:FiraCode, FontAwesome 12
  16. bindsym $mod+F7 exec --no-startup-id xset r rate 250 25 && xset b off && setxkbmap -option caps:escape
  17. # Use Mouse+$mod to drag floating windows to their wanted position
  18. floating_modifier $mod
  19. # start a terminal
  20. bindsym $mod+Return exec --no-startup-id termite
  21. # kill focused window
  22. bindsym $mod+q kill
  23. # lock screen
  24. bindsym $mod+$alt+s exec i3lock-fancy
  25. # start dmenu (a program launcher)
  26. bindsym XF86LaunchA exec --no-startup-id rofi -show run
  27. bindcode 225 exec --no-startup-id rofi -show run
  28. bindsym $mod+F9 exec --no-startup-id rofi -show run
  29. #bindsym $mod+space exec --no-startup-id rofi -fullscreen -show run
  30. bindsym $mod+space exec --no-startup-id rofi -show run
  31. # screenshot
  32. bindsym $mod+Shift+Control+4 exec --no-startup-id deepin-screenshot
  33. # change focus
  34. bindsym $mod+j focus left
  35. bindsym $mod+k focus down
  36. bindsym $mod+l focus up
  37. bindsym $mod+semicolon focus right
  38. # alternatively, you can use the cursor keys:
  39. bindsym $mod+Left focus left
  40. bindsym $mod+Down focus down
  41. bindsym $mod+Up focus up
  42. bindsym $mod+Right focus right
  43. #change screen layout
  44. bindsym $mod+Shift+m exec --no-startup-id /home/joshfabean/.screenlayout/dual-screens.sh
  45. bindsym $mod+Shift+n exec --no-startup-id /home/joshfabean/.screenlayout/single-screens.sh
  46. # move focused window
  47. bindsym $mod+Shift+j move left
  48. bindsym $mod+Shift+k move down
  49. bindsym $mod+Shift+l move up
  50. bindsym $mod+Shift+semicolon move right
  51. # alternatively, you can use the cursor keys:
  52. bindsym $mod+Shift+Left move left
  53. bindsym $mod+Shift+Down move down
  54. bindsym $mod+Shift+Up move up
  55. bindsym $mod+Shift+Right move right
  56. # split in horizontal orientation
  57. bindsym $mod+h split h
  58. # split in vertical orientation
  59. bindsym $mod+v split v
  60. # enter fullscreen mode for the focused container
  61. bindsym $mod+d fullscreen
  62. bindsym $mod+$alt+f fullscreen
  63. # change container layout (stacked, tabbed, toggle split)
  64. bindsym $mod+s layout stacking
  65. bindsym $mod+t layout tabbed
  66. bindsym $mod+e layout toggle split
  67. # toggle tiling / floating
  68. bindsym $mod+Shift+space floating toggle
  69. # change focus between tiling / floating windows
  70. bindsym $mod+$alt+space focus mode_toggle
  71. # focus the parent container
  72. bindsym $mod+p focus parent
  73. # focus the child container
  74. bindsym $mod+c focus child
  75. set $workSpace1 "1: "
  76. set $workSpace2 "2: CK"
  77. set $workSpace3 "3: "
  78. set $workSpace4 "4: "
  79. # switch to workspace
  80. bindsym $mod+1 workspace $workSpace1
  81. bindsym $mod+2 workspace $workSpace2
  82. bindsym $mod+3 workspace $workSpace3
  83. bindsym $mod+4 workspace $workSpace4
  84. bindsym $mod+5 workspace 5: 
  85. bindsym $mod+6 workspace 6: 
  86. bindsym $mod+7 workspace 7: 
  87. bindsym $mod+8 workspace 8: 
  88. bindsym $mod+9 workspace 9: 
  89. bindsym $mod+0 workspace 10: 
  90. bindsym Mod1+Control+Right workspace next
  91. bindsym Mod1+Control+Left workspace prev
  92. workspace_auto_back_and_forth yes
  93. bindsym $mod+z workspace back_and_forth
  94. bindsym $mod+Shift+z move container to workspace back_and_forth
  95. # move focused container to workspace
  96. bindsym $mod+Shift+1 move container to workspace $workSpace1
  97. bindsym $mod+Shift+2 move container to workspace $workSpace2
  98. bindsym $mod+Shift+3 move container to workspace $workSpace3
  99. bindsym $mod+Shift+4 move container to workspace $workSpace4
  100. bindsym $mod+Shift+5 move container to workspace number 5: 
  101. bindsym $mod+Shift+6 move container to workspace number 6: 
  102. bindsym $mod+Shift+7 move container to workspace number 7: 
  103. bindsym $mod+Shift+8 move container to workspace number 8: 
  104. bindsym $mod+Shift+9 move container to workspace number 9: 
  105. bindsym $mod+Shift+0 move container to workspace number 10: 
  106. #Custom Keybindings
  107. bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10% #-steps 1
  108. bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10% #-steps 1
  109. bindsym $mod+w exec --no-startup-id google-chrome-beta
  110. bindsym $mod+f exec --no-startup-id termite -e ranger
  111. bindsym Print exec scrot -s -e 'mv $f ~/Downloads'
  112. bindsym $mod+m move scratchpad
  113. bindsym $mod+n scratchpad show
  114. #Make sure these windows behave as they should
  115. for_window [class="Android SDK Manager" instance="Android SDK Manager"] floating enable
  116. for_window [class="Cb-exit" instance="cb-exit"] floating enable
  117. for_window [class="Cb-exit" instance="cb-exit"] border none
  118. for_window [class="^Pavucontrol$"] floating enable
  119. for_window [instance="crx_gaedmjdfmmahhbjefcbgaolhhanlaolb"] floating enable
  120. for_window [class="Google-chrome" instance="crx_nckgahadagoaajjgafhacjanaoiihapd"] floating enable
  121. for_window [class="chrome_app_list"] floating enable
  122. for_window [class="Plexamp"] floating enable
  123. # https://github.com/ValveSoftware/steam-for-linux/issues/1040
  124. for_window [class="^Steam$" title="^Friends$"] floating enable
  125. for_window [class="^Steam$" title="Steam - News"] floating enable
  126. for_window [class="^Steam$" title=".* - Chat"] floating enable
  127. for_window [class="^Steam$" title="^Settings$"] floating enable
  128. for_window [class="^Steam$" title=".* - event started"] floating enable
  129. for_window [class="^Steam$" title=".* CD key"] floating enable
  130. for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
  131. for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
  132. for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
  133. for_window [title="^Steam Keyboard$"] floating enable
  134. assign [class="Slack"] $workSpace3
  135. assign [class="Plexamp"] $workSpace3
  136. new_window 1pixel
  137. #Hide border if 1 window
  138. hide_edge_borders both
  139. # reload the configuration file
  140. bindsym $mod+Shift+c reload
  141. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  142. bindsym $mod+Shift+r restart
  143. # exit i3 (logs you out of your X session)
  144. 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'"
  145. # resize window (you can also use the mouse for that)
  146. mode "resize" {
  147. # These bindings trigger as soon as you enter the resize mode
  148. # Pressing left will shrink the window’s width.
  149. # Pressing right will grow the window’s width.
  150. # Pressing up will shrink the window’s height.
  151. # Pressing down will grow the window’s height.
  152. bindsym j resize shrink width 10 px or 10 ppt
  153. bindsym k resize grow height 10 px or 10 ppt
  154. bindsym l resize shrink height 10 px or 10 ppt
  155. bindsym semicolon resize grow width 10 px or 10 ppt
  156. # same bindings, but for the arrow keys
  157. bindsym Left resize shrink width 10 px or 10 ppt
  158. bindsym Down resize grow height 10 px or 10 ppt
  159. bindsym Up resize shrink height 10 px or 10 ppt
  160. bindsym Right resize grow width 10 px or 10 ppt
  161. # back to normal: Enter or Escape
  162. bindsym Return mode "default"
  163. bindsym Escape mode "default"
  164. }
  165. bindsym $mod+r mode "resize"
  166. # Resize Containers, Vim-style ($mod+Control+[hjkl])
  167. bindsym $mod+Control+j resize grow height 5 px or 5 ppt
  168. bindsym $mod+Control+k resize shrink height 5 px or 5 ppt
  169. bindsym $mod+Control+l resize grow width 5 px or 5 ppt
  170. bindsym $mod+Control+h resize shrink width 5 px or 5 ppt
  171. bindsym $mod+Control+Up resize grow height 5 px or 5 ppt
  172. bindsym $mod+Control+Down resize shrink height 5 px or 5 ppt
  173. bindsym $mod+Control+Right resize grow width 5 px or 5 ppt
  174. bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt
  175. # Start i3bar to display a workspace bar (plus the system information i3status
  176. # finds out, if available)
  177. #bar {
  178. # position top
  179. # status_command i3blocks
  180. # font pango:Liberation 10, FontAwesome 12
  181. # strip_workspace_numbers yes
  182. # colors {
  183. # separator #586e75
  184. # background #0c1014
  185. # statusline #aea79f
  186. # focused_workspace #091f2e #091f2e #ffffff
  187. # active_workspace #073642 #073642 #ffffff
  188. # inactive_workspace #0c1014 #0c1014 #aea79f
  189. # urgent_workspace #77216f #77216f #ffffff
  190. # }
  191. #}
  192. # class border backgr. text indicator
  193. client.focused #586e75 #586e75 #fdf6e3 #268bd2
  194. client.focused_inactive #073642 #073642 #93a1a1 #002b36
  195. client.unfocused #002b36 #002b36 #586e75 #002b36
  196. client.urgent #dc322f #dc322f #fdf6e3 #dc322f
  197. bindsym Control+k exec --no-startup-id echo "core.weechat */buffer_dmenu" >> $(find ~/.weechat -type p)
  198. # exec --no-startup-id xfce4-volumed-pulse
  199. # exec --no-startup-id pasystray
  200. exec --no-startup-id pcmanfm -d
  201. # exec --no-startup-id rescuetime
  202. exec --no-startup-id blueman-applet
  203. exec --no-startup-id dunst
  204. bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down ; pkill -RTMIN+1 i3blocks"
  205. bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up ; pkill -RTMIN+1 i3blocks"
  206. bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute ; pkill -RTMIN+1 i3blocks"
  207. # bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
  208. # bindsym XF86AudioPause exec --no-startup-id playerctl play-pause
  209. # bindsym XF86AudioPlayPause exec --no-startup-id playerctl play-pause
  210. bindsym $mod1+Shift+p exec --no-startup-id echo "cycle pause" > ~/.config/mpv/control
  211. # Chrome special flags and others set in /etc/profiles.d/variables.sh like the following: --touch-devices=2 --force-device-scale-factor=2
  212. #
  213. #exec --nostartup-id compton -b