Guest User

i3 config reddit1

a guest
Jan 10th, 2019
621
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.04 KB | None | 0 0
  1. set $mod Mod4
  2.  
  3. new_window pixel 1
  4. new_float normal
  5.  
  6. hide_edge_borders none
  7.  
  8. bindsym $mod+u border none
  9. bindsym $mod+y border pixel 1
  10. bindsym $mod+n border normal
  11.  
  12. font xft:URWGothic-Book 11
  13.  
  14. floating_modifier $mod
  15.  
  16. bindsym $mod+Return exec i3-sensible-terminal
  17.  
  18. # Window kill command
  19. bindsym $mod+Shift+q kill
  20.  
  21. # start program launcher
  22. bindsym $mod+d exec --no-startup-id rofi -show run
  23.  
  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.  
  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.  
  35. # move focused window
  36. bindsym $mod+Shift+j move left
  37. bindsym $mod+Shift+k move down
  38. bindsym $mod+Shift+l move up
  39. bindsym $mod+Shift+semicolon move right
  40.  
  41. bindsym $mod+Shift+Left move left
  42. bindsym $mod+Shift+Down move down
  43. bindsym $mod+Shift+Up move up
  44. bindsym $mod+Shift+Right move right
  45.  
  46. # workspace back and forth (with/without active container)
  47. workspace_auto_back_and_forth yes
  48. bindsym $mod+b workspace back_and_forth
  49. bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
  50.  
  51. # split orientation
  52. bindsym $mod+h split h;exec notify-send 'tile horizontally'
  53. bindsym $mod+v split v;exec notify-send 'tile vertically'
  54. bindsym $mod+q split toggle
  55.  
  56. # toggle fullscreen mode for the focused container
  57. bindsym $mod+f fullscreen toggle
  58.  
  59. # change container layout (stacked, tabbed, toggle split)
  60. bindsym $mod+s layout stacking
  61. bindsym $mod+w layout tabbed
  62. bindsym $mod+e layout toggle split
  63.  
  64. # toggle tiling / floating
  65. bindsym $mod+Shift+space floating toggle
  66.  
  67. # change focus between tiling / floating windows
  68. bindsym $mod+space focus mode_toggle
  69.  
  70. # toggle sticky
  71. bindsym $mod+Shift+s sticky toggle
  72.  
  73. # focus the parent container
  74. bindsym $mod+a focus parent
  75.  
  76. # move the currently focused window to the scratchpad
  77. bindsym $mod+Shift+minus move scratchpad
  78.  
  79. # Show the next scratchpad window or hide the focused scratchpad window.
  80. # If there are multiple scratchpad windows, this command cycles through them.
  81. bindsym $mod+minus scratchpad show
  82.  
  83. # navigate workspaces next / previous
  84. bindsym $mod+Ctrl+Right workspace next
  85. bindsym $mod+Ctrl+Left workspace prev
  86.  
  87. # workspaces
  88. set $ws1 1
  89. set $ws2 2
  90. set $ws3 3
  91. set $ws4 4
  92. set $ws5 5
  93. set $ws6 6
  94. set $ws7 7
  95. set $ws8 8
  96.  
  97. # switch to workspace
  98. bindsym $mod+1 workspace $ws1
  99. bindsym $mod+2 workspace $ws2
  100. bindsym $mod+3 workspace $ws3
  101. bindsym $mod+4 workspace $ws4
  102. bindsym $mod+5 workspace $ws5
  103. bindsym $mod+6 workspace $ws6
  104. bindsym $mod+7 workspace $ws7
  105. bindsym $mod+8 workspace $ws8
  106.  
  107. # Move focused container to workspace
  108. bindsym $mod+Ctrl+1 move container to workspace $ws1
  109. bindsym $mod+Ctrl+2 move container to workspace $ws2
  110. bindsym $mod+Ctrl+3 move container to workspace $ws3
  111. bindsym $mod+Ctrl+4 move container to workspace $ws4
  112. bindsym $mod+Ctrl+5 move container to workspace $ws5
  113. bindsym $mod+Ctrl+6 move container to workspace $ws6
  114. bindsym $mod+Ctrl+7 move container to workspace $ws7
  115. bindsym $mod+Ctrl+8 move container to workspace $ws8
  116.  
  117. # Move to workspace with focused container
  118. bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
  119. bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
  120. bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
  121. bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
  122. bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
  123. bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
  124. bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
  125. bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
  126.  
  127. # Open specific applications in floating mode
  128. for_window [title="alsamixer"] floating enable border pixel 1
  129. for_window [class="Calamares"] floating enable border normal
  130. for_window [class="Clipgrab"] floating enable
  131. for_window [title="File Transfer*"] floating enable
  132. for_window [class="Galculator"] floating enable border pixel 1
  133. for_window [class="GParted"] floating enable border normal
  134. for_window [title="i3_help"] floating enable sticky enable border normal
  135. for_window [class="Lightdm-gtk-greeter-settings"] floating enable
  136. for_window [class="Lxappearance"] floating enable sticky enable border normal
  137. for_window [class="Manjaro-hello"] floating enable
  138. for_window [class="Manjaro Settings Manager"] floating enable border normal
  139. for_window [title="MuseScore: Play Panel"] floating enable
  140. for_window [class="Nitrogen"] floating enable sticky enable border normal
  141. for_window [class="Oblogout"] fullscreen enable
  142. for_window [class="octopi"] floating enable
  143. for_window [title="About Pale Moon"] floating enable
  144. for_window [class="Pamac-manager"] floating enable
  145. for_window [class="Pavucontrol"] floating enable
  146. for_window [class="qt5ct"] floating enable sticky enable border normal
  147. for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
  148. for_window [class="Simple-scan"] floating enable border normal
  149. for_window [class="(?i)System-config-printer.py"] floating enable border normal
  150. for_window [class="Skype"] floating enable border normal
  151. for_window [class="Thus"] floating enable border normal
  152. for_window [class="Timeset-gui"] floating enable border normal
  153. for_window [class="(?i)virtualbox"] floating enable border normal
  154. for_window [class="Xfburn"] floating enable
  155.  
  156. # switch to workspace with urgent window automatically
  157. for_window [urgent=latest] focus
  158.  
  159. # reload the configuration file
  160. bindsym $mod+Shift+c reload
  161.  
  162. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  163. bindsym $mod+Shift+r restart
  164.  
  165. # exit i3 (logs you out of your X session)
  166. 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'"
  167.  
  168. # Set shut down, restart and locking features
  169. bindsym $mod+0 mode "$mode_system"
  170. set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
  171. mode "$mode_system" {
  172. bindsym l exec --no-startup-id i3exit lock, mode "default"
  173. bindsym s exec --no-startup-id i3exit suspend, mode "default"
  174. bindsym u exec --no-startup-id i3exit switch_user, mode "default"
  175. bindsym e exec --no-startup-id i3exit logout, mode "default"
  176. bindsym h exec --no-startup-id i3exit hibernate, mode "default"
  177. bindsym r exec --no-startup-id i3exit reboot, mode "default"
  178. bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
  179.  
  180. # exit system mode: "Enter" or "Escape"
  181. bindsym Return mode "default"
  182. bindsym Escape mode "default"
  183. }
  184.  
  185. # Resize window (you can also use the mouse for that)
  186. bindsym $mod+r mode "resize"
  187. mode "resize" {
  188. # These bindings trigger as soon as you enter the resize mode
  189. # Pressing left will shrink the window’s width.
  190. # Pressing right will grow the window’s width.
  191. # Pressing up will shrink the window’s height.
  192. # Pressing down will grow the window’s height.
  193. bindsym j resize shrink width 5 px or 5 ppt
  194. bindsym k resize grow height 5 px or 5 ppt
  195. bindsym l resize shrink height 5 px or 5 ppt
  196. bindsym semicolon resize grow width 5 px or 5 ppt
  197.  
  198. # same bindings, but for the arrow keys
  199. bindsym Left resize shrink width 10 px or 10 ppt
  200. bindsym Down resize grow height 10 px or 10 ppt
  201. bindsym Up resize shrink height 10 px or 10 ppt
  202. bindsym Right resize grow width 10 px or 10 ppt
  203.  
  204. # exit resize mode: Enter or Escape
  205. bindsym Return mode "default"
  206. bindsym Escape mode "default"
  207. }
  208.  
  209. # Autostart applications
  210. exec --no-startup-id nitrogen --restore; sleep 1; compton -b
  211. exec --no-startup-id nm-applet
  212. exec --no-startup-id xfce4-power-manager
  213. exec --no-startup-id pamac-tray
  214. exec --no-startup-id clipit
  215. exec_always --no-startup-id ff-theme-util
  216. exec_always --no-startup-id fix_xcursor
  217. #exec_always --no-startup-id /$HOME/.config/polybar/i3wmthemer_bar_launch.sh
  218.  
  219. bar{
  220. status_command ~/home/matthew/bumblebee-status/bumblebee-status -d -m battery -t gruvbox
  221.  
  222. }
  223.  
  224. # Theme colors
  225. client.focused #272827 #272827 #657b83 #272827 #272827
  226. client.focused_inactive #272827 #272827 #657b83 #272827 #272827
  227. client.unfocused #272827 #272827 #657b83 #272827 #272827
  228. client.urgent #272827 #272827 #657b83 #272827 #272827
  229. client.placeholder #272827 #272827 #657b83 #272827 #272827
  230.  
  231. client.background #272827
  232.  
  233. # Gaps
  234. gaps inner 10
  235. gaps outer -4
  236.  
  237. smart_gaps on
  238.  
  239. # Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
  240. set $mode_gaps Gaps: (o) outer, (i) inner
  241. set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
  242. set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
  243. bindsym $mod+Shift+g mode "$mode_gaps"
  244.  
  245. mode "$mode_gaps" {
  246. bindsym o mode "$mode_gaps_outer"
  247. bindsym i mode "$mode_gaps_inner"
  248. bindsym Return mode "default"
  249. bindsym Escape mode "default"
  250. }
  251. mode "$mode_gaps_inner" {
  252. bindsym plus gaps inner current plus 5
  253. bindsym minus gaps inner current minus 5
  254. bindsym 0 gaps inner current set 0
  255.  
  256. bindsym Shift+plus gaps inner all plus 5
  257. bindsym Shift+minus gaps inner all minus 5
  258. bindsym Shift+0 gaps inner all set 0
  259.  
  260. bindsym Return mode "default"
  261. bindsym Escape mode "default"
  262. }
  263. mode "$mode_gaps_outer" {
  264. bindsym plus gaps outer current plus 5
  265. bindsym minus gaps outer current minus 5
  266. bindsym 0 gaps outer current set 0
  267.  
  268. bindsym Shift+plus gaps outer all plus 5
  269. bindsym Shift+minus gaps outer all minus 5
  270. bindsym Shift+0 gaps outer all set 0
  271.  
  272. bindsym Return mode "default"
  273. bindsym Escape mode "default"
  274. }
Add Comment
Please, Sign In to add comment