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.

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