Guest User

Untitled

a guest
Aug 10th, 2016
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.77 KB | None | 0 0
  1. # modifiers
  2. set $mod Mod4
  3. set $wmod Mod1
  4.  
  5. # custom colors
  6. set $termbg #0f0320
  7. set $termfg #e0d8d1
  8.  
  9. # Use feh to set background to ~/Pictures/wallpaper.jpg, which can be symlinked
  10. exec_always --no-startup-id feh --bg-fill /home/verusgott/Pictures/wallpaper.jpg
  11. exec_always --no-startup-id compton -bC --config /home/verusgott/.config/compton.conf
  12.  
  13. # load up default terminal config for ws1, and then fire off some default progs
  14. exec --no-startup-id "i3-msg 'workspace $ws1; append_layout /home/verusgott/.config/i3/ws1.json'"
  15. exec --no-startup-id "i3-msg exec urxvt\; exec urxvt\; exec urxvt\; exec urxvt"
  16. exec --no-startup-id firefox
  17. exec --no-startup-id mopidy -q
  18.  
  19. # mpc bindings (ncmpcpp control)
  20. bindsym $wmod+Right exec --no-startup-id mpc next
  21. bindsym $wmod+Left exec --no-startup-id mpc prev
  22. #bindsym $wmod+Shift+Right exec --no-startup-id mpc seek +0:0:7
  23. #bindsym $wmod+Shift+Left exec --no-startup-id mpc seek -0:0:7
  24. bindsym $wmod+space exec --no-startup-id mpc toggle
  25. bindsym $wmod+z exec --no-startup-id mpc random
  26.  
  27. # custom key assignments
  28. bindsym $mod+d exec --no-startup-id rofi -show run
  29.  
  30. # vim-keybindings for movement
  31. # change focus
  32. bindsym $mod+h focus left
  33. bindsym $mod+j focus down
  34. bindsym $mod+k focus up
  35. bindsym $mod+l focus right
  36.  
  37. # alternatively, you can use the cursor keys:
  38. bindsym $mod+Left focus left
  39. bindsym $mod+Down focus down
  40. bindsym $mod+Up focus up
  41. bindsym $mod+Right focus right
  42.  
  43. # move focused window
  44. bindsym $mod+Shift+h move left
  45. bindsym $mod+Shift+j move down
  46. bindsym $mod+Shift+k move up
  47. bindsym $mod+Shift+l move right
  48.  
  49. # alternatively, you can use the cursor keys:
  50. bindsym $mod+Shift+Left move left
  51. bindsym $mod+Shift+Down move down
  52. bindsym $mod+Shift+Up move up
  53. bindsym $mod+Shift+Right move right
  54.  
  55. # split in horizontal orientation
  56. # b for besides.
  57. bindsym $mod+b split h
  58.  
  59. # split in vertical orientation
  60. bindsym $mod+v split v
  61.  
  62. # Change floating behaviors with space
  63. # toggle tiling / floating
  64. bindsym $mod+space floating toggle
  65. # change focus between tiling / floating windows
  66. bindsym $mod+Shift+space focus mode_toggle
  67.  
  68.  
  69. ########################
  70. # windows/workspaces #
  71. ########################
  72.  
  73. # grayscale colors
  74. set $white #ffffff
  75. set $alive #aaaaaa
  76. set $sixes #666666
  77. set $fives #555555
  78. set $fours #444444
  79. set $threes #333333
  80. set $twos #222222
  81. set $ones #111111
  82. set $black #000000
  83.  
  84. # ws names
  85. set $ws1 
  86. set $ws2 
  87. set $ws3 
  88. set $ws4 
  89. set $ws5 5
  90. set $ws6 6
  91. set $ws7 7
  92. set $ws8 
  93. set $ws9 9
  94. set $ws0 0
  95.  
  96. # window assignments
  97. assign [class="Firefox"] $ws2
  98. assign [class="Atom"] $ws3
  99. assign [class="libreoffice"] $ws4
  100. assign [class="^Inkscape$"] $ws8
  101. assign [class="Gimp"] $ws8
  102.  
  103. # floating windows
  104. for_window [class="feh"] floating enable
  105. for_window [class="Lxappearance"] floating enable
  106. for_window [class="Display"] floating enable
  107. for_window [class="Zenmap"] floating enable
  108. for_window [class="Thunar"] floating enable
  109. for_window [class="Yad"] floating enable
  110. for_window [class="Xarchive"] floating enable
  111.  
  112. # switch to workspace
  113. bindsym $mod+1 workspace $ws1
  114. bindsym $mod+2 workspace $ws2
  115. bindsym $mod+3 workspace $ws3
  116. bindsym $mod+4 workspace $ws4
  117. bindsym $mod+5 workspace $ws5
  118. bindsym $mod+6 workspace $ws6
  119. bindsym $mod+7 workspace $ws7
  120. bindsym $mod+8 workspace $ws8
  121. bindsym $mod+9 workspace $ws9
  122. bindsym $mod+0 workspace $ws0
  123.  
  124. # move focused container to workspace
  125. bindsym $mod+Shift+1 move container to workspace $ws1
  126. bindsym $mod+Shift+2 move container to workspace $ws2
  127. bindsym $mod+Shift+3 move container to workspace $ws3
  128. bindsym $mod+Shift+4 move container to workspace $ws4
  129. bindsym $mod+Shift+5 move container to workspace $ws5
  130. bindsym $mod+Shift+6 move container to workspace $ws6
  131. bindsym $mod+Shift+7 move container to workspace $ws7
  132. bindsym $mod+Shift+8 move container to workspace $ws8
  133. bindsym $mod+Shift+9 move container to workspace $ws9
  134. bindsym $mod+Shift+0 move container to workspace $ws0
  135.  
  136. # borders
  137. # termfg border on focus; blend with termbg if not
  138. #
  139. # state border bg text indicator
  140. client.focused $termfg $termfg $white $termfg
  141. client.unfocused $termbg $termbg $alive $termbg
  142. client.focused_inactive $termbg $termbg $alive $termbg
  143. client.urgent $termfg $termfg $white $termfg
  144.  
  145.  
  146. ###########
  147. # i3bar #
  148. ###########
  149.  
  150. bar {
  151. #status_command i3status
  152. status_command i3blocks
  153. tray_output primary
  154. position top
  155. font pango: Awesome 9, Tewi 9
  156. colors {
  157. background $termbg
  158. statusline $termfg
  159.  
  160. #selection #border #fill #text
  161. focused_workspace $termfg $termfg $termbg
  162. active_workspace $termbg $termbg $termfg
  163. inactive_workspace $termbg $termbg $termfg
  164. urgent_workspace $termfg $termfg $termbg
  165. binding_mode $termfg $termbg $termfg
  166. }
  167. }
  168.  
  169.  
  170. ####################
  171. # i3-gaps config #
  172. ####################
  173.  
  174. # Disable window titlebars entirely
  175. for_window [class="^.*"] border pixel 5
  176.  
  177. # # Set inner/outer gaps
  178. gaps inner 15
  179. gaps outer 10
  180.  
  181. # Additionally, you can issue commands with the following syntax. This is
  182. # useful to bind keys to changing the gap size.
  183. #gaps inner|outer current|all set|plus|minus <px>
  184. #gaps inner all set 10
  185. #gaps outer all plus 5
  186.  
  187. # Smart gaps (gaps used if only more than one container on the workspace)
  188. #smart_gaps on
  189.  
  190. # Smart borders (draw borders around container only if it is not the only
  191. # container on this workspace)
  192. # on|no_gaps (on=always activate and no_gaps=only activate if the gap size
  193. # to the edge of the screen is 0)
  194. smart_borders on
  195.  
  196. # Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying
  197. # outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or
  198. # 0 (remove gaps for current workspace). If you also press Shift with these
  199. # keys, the change will be global for all workspaces.
  200. set $mode_gaps Gaps: (O) Outer, (I) Inner
  201. set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
  202. set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
  203.  
  204. bindsym $mod+Shift+g mode "$mode_gaps"
  205.  
  206. mode "$mode_gaps" {
  207. bindsym Escape mode "default"
  208. bindsym Return mode "default"
  209. bindsym o mode "$mode_gaps_outer"
  210. bindsym i mode "$mode_gaps_inner"
  211. bindsym Shift+o mode "$mode_gaps_outer"
  212. bindsym Shift+I mode "$mode_gaps_inner"
  213. }
  214.  
  215. mode "$mode_gaps_inner" {
  216. bindsym plus gaps inner current plus 5
  217. bindsym minus gaps inner current minus 5
  218. bindsym 0 gaps inner current set 0
  219.  
  220. bindsym Shift+plus gaps inner all plus 5
  221. bindsym Shift+minus gaps inner all minus 5
  222. bindsym Shift+0 gaps inner all set 0
  223.  
  224. bindsym Return mode "default"
  225. bindsym Escape mode "default"
  226. }
  227.  
  228. mode "$mode_gaps_outer" {
  229. bindsym plus gaps outer current plus 5
  230. bindsym minus gaps outer current minus 5
  231. bindsym 0 gaps outer current set 0
  232.  
  233. bindsym Shift+plus gaps outer all plus 5
  234. bindsym Shift+minus gaps outer all minus 5
  235. bindsym Shift+0 gaps outer all set 0
  236.  
  237. bindsym Return mode "default"
  238. bindsym Escape mode "default"
  239. }
  240.  
  241.  
  242. ###################
  243. # power options #
  244. ###################
  245.  
  246. bindsym $mod+Escape exec --no-startup-id /usr/lib/i3blocks/power-menu
  247.  
  248.  
  249. #################
  250. # resize mode #
  251. #################
  252.  
  253. set $resize Resize
  254. bindsym $mod+r mode "resize"
  255.  
  256. mode "$resize" {
  257. # These bindings trigger as soon as you enter the resize mode
  258.  
  259. # Pressing left will shrink the window’s width.
  260. # Pressing right will grow the window’s width.
  261. # Pressing up will shrink the window’s height.
  262. # Pressing down will grow the window’s height.
  263. bindsym j resize shrink width 5 px or 5 ppt
  264. bindsym k resize grow height 5 px or 5 ppt
  265. bindsym l resize shrink height 5 px or 5 ppt
  266. bindsym semicolon resize grow width 5 px or 5 ppt
  267.  
  268. # same bindings, but for the arrow keys
  269. bindsym Left resize shrink width 5 px or 5 ppt
  270. bindsym Down resize grow height 5 px or 5 ppt
  271. bindsym Up resize shrink height 5 px or 5 ppt
  272. bindsym Right resize grow width 5 px or 5 ppt
  273.  
  274. # back to normal: Enter or Escape
  275. bindsym Return mode "default"
  276. bindsym Escape mode "default"
  277. }
  278.  
  279.  
  280. ############
  281. # defaults #
  282. ############
  283.  
  284. # Font for window titles. Will also be used by the bar unless a different font
  285. # is used in the bar {} block below.
  286. # font pango:monospace 8
  287.  
  288. # This font is widely installed, provides lots of unicode glyphs, right-to-left
  289. # text rendering and scalability on retina/hidpi displays (thanks to pango).
  290. font pango:Open Sans 8
  291.  
  292. # Use Mouse+$mod to drag floating windows to their wanted position
  293. floating_modifier $mod
  294.  
  295. # start a terminal
  296. bindsym $mod+Return exec i3-sensible-terminal
  297.  
  298. # kill focused window
  299. bindsym $mod+Shift+q kill
  300.  
  301. # enter fullscreen mode for the focused container
  302. bindsym $mod+f fullscreen toggle
  303.  
  304. # change container layout (stacked, tabbed, toggle split)
  305. #bindsym $mod+s layout stacking
  306. #bindsym $mod+w layout tabbed
  307. #bindsym $mod+e layout toggle split
  308.  
  309. # focus the parent container
  310. bindsym $mod+a focus parent
  311.  
  312. # focus the child container
  313. #bindsym $mod+d focus child
  314.  
  315. # reload the configuration file
  316. bindsym $mod+Shift+c reload
  317. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  318. bindsym $mod+Shift+r restart
  319. # exit i3 (logs you out of your X session)
  320. bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you want to exit out of i3?' -b 'Yes, exit i3' 'i3-msg exit'"
Advertisement
Add Comment
Please, Sign In to add comment