Advertisement
twodogsdave

i3 config

Feb 22nd, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.74 KB | None | 0 0
  1. # config file for i3
  2.  
  3. # This file has been auto-generated by i3-config-wizard(1).
  4. # It will not be overwritten, so edit it as you like.
  5. #
  6. # Should you change your keyboard layout some time, delete
  7. # this file and re-run i3-config-wizard(1).
  8. #
  9. # i3 config file (v4)
  10. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  11.  
  12. #####################################################
  13. # general #
  14. #####################################################
  15.  
  16. # Set mod key (Mod1=<Alt>, Mod4=<Super>)
  17. # Mod4 = Super key
  18. # Mod1 = Alt key
  19. set $mod Mod4
  20.  
  21. # Set default desktop layout (default is tiling)
  22. # workspace_layout tabbed <stacking|tabbed>
  23.  
  24. # Window border multiplier
  25. set $borders 1
  26.  
  27. # Configure border style <normal|1pixel|pixel xx|none|pixel>
  28. new_window pixel $borders
  29. new_float pixel $borders
  30.  
  31. # Hide borders
  32. hide_edge_borders none
  33.  
  34. # Change borders
  35. # bindsym $mod+u border none
  36. # bindsym $mod+y border pixel 2
  37. # bindsym $mod+n border normal
  38.  
  39. # Font for window titles. Will also be used by the bar unless a different font is used in the bar {} block below.
  40. font pango:Terminus 10
  41. # font pango:Droid 10
  42.  
  43. # Use Mouse+$mod to drag floating windows
  44. floating_modifier $mod
  45.  
  46. # Start a terminal
  47. # bindsym $mod+Return exec i3-sensible-terminal
  48. # bindsym $mod+Return exec terminal
  49.  
  50. # Kill focused window
  51. bindsym $mod+shift+q kill
  52.  
  53. # Scratchpad
  54. bindsym $mod+shift+minus move scratchpad
  55. bindsym $mod+minus scratchpad show
  56.  
  57. # Disable window titlebars entirely
  58. for_window [class="^.*"] border pixel $borders
  59.  
  60. #####################################################
  61. # gap settings #
  62. #####################################################
  63.  
  64. # Disable and enable gaps
  65. bindsym $mod+o gaps inner current set 0; gaps outer current set 0
  66. bindsym $mod+p gaps inner current set 10; gaps outer current set 10
  67. bindsym $mod+shift+p gaps inner current set 10; gaps outer current set 40
  68. bindsym $mod+shift+o gaps inner current set 10; gaps outer current set 200
  69.  
  70. # Set inner/outer gaps
  71. gaps inner 10
  72. gaps outer -4
  73.  
  74. # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
  75. # gaps inner|outer current|all set|plus|minus <px>
  76. # gaps inner all set 10
  77. # gaps outer all plus 5
  78.  
  79. # Smart gaps (gaps used if only more than one container on the workspace)
  80. smart_gaps on
  81.  
  82. # Smart borders (draw borders around container only if it is not the only container on this workspace)
  83. # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
  84. smart_borders on
  85.  
  86. # 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.
  87. set $mode_gaps Gaps: (o) outer, (i) inner
  88. set $mode_gaps_outer Outer Gaps: +|-|0 (local), shift + +|-|0 (global)
  89. set $mode_gaps_inner Inner Gaps: +|-|0 (local), shift + +|-|0 (global)
  90. bindsym $mod+shift+g mode "$mode_gaps"
  91.  
  92. mode "$mode_gaps" {
  93. bindsym o mode "$mode_gaps_outer"
  94. bindsym i mode "$mode_gaps_inner"
  95. bindsym Return mode "default"
  96. bindsym Escape mode "default"
  97. }
  98.  
  99. mode "$mode_gaps_inner" {
  100. bindsym plus gaps inner current plus 5
  101. bindsym minus gaps inner current minus 5
  102. bindsym 0 gaps inner current set 0
  103.  
  104. bindsym shift+plus gaps inner all plus 5
  105. bindsym shift+minus gaps inner all minus 5
  106. bindsym shift+0 gaps inner all set 0
  107.  
  108. bindsym Return mode "default"
  109. bindsym Escape mode "default"
  110. }
  111. mode "$mode_gaps_outer" {
  112. bindsym plus gaps outer current plus 5
  113. bindsym minus gaps outer current minus 5
  114. bindsym 0 gaps outer current set 0
  115.  
  116. bindsym shift+plus gaps outer all plus 5
  117. bindsym shift+minus gaps outer all minus 5
  118. bindsym shift+0 gaps outer all set 0
  119.  
  120. bindsym Return mode "default"
  121. bindsym Escape mode "default"
  122. }
  123.  
  124. #####################################################
  125. # dmenu #
  126. #####################################################
  127.  
  128. # Start program launcher
  129. bindsym $mod+d exec --no-startup-id dmenu_recency #-l 100
  130.  
  131. #####################################################
  132. # applications #
  133. #####################################################
  134.  
  135. # Start Applications
  136. bindsym $mod+ctrl+b exec terminal -e 'bmenu'
  137. bindsym $mod+shift+t exec terminal
  138. bindsym $mod+shift+ctrl+t exec terminal
  139. bindsym $mod+shift+f exec pcmanfm
  140. bindsym mod1+shift+f exec gksu pcmanfm
  141. bindsym $mod+ctrl+f exec "terminal -e ranger"
  142. bindsym $mod+shift+e exec geany
  143. bindsym $mod+ctrl+e exec ~/bin/loadn
  144. bindsym $mod+shift+w exec firefox
  145. bindsym $mod+shift+v exec virtualbox
  146. bindsym mod1+m exec ~/bin/startup_minecraft.sh
  147. bindsym mod1+t exec transmission-gtk
  148. bindsym $mod+shift+x exec lxappearance
  149. bindsym mod1+c exec galculator
  150. bindsym $mod+ctrl+m exec terminal -e 'alsamixer'
  151. bindsym $mod+shift+y exec ~/bin/wallview
  152. bindsym $mod+shift+z exec "terminal -geometry 35x9+1020+580 -e tty-clock -b -c -C 4 -D"
  153. bindsym mod1+n exec --no-startup-id nitrogen
  154.  
  155. bindsym $mod+t exec --no-startup-id pkill compton
  156. bindsym $mod+Ctrl+t exec --no-startup-id compton -b --config ~/.compton.conf
  157. bindsym $mod+Shift+d exec "killall dunst; exec notify-send 'restart dunst'"
  158. bindsym Print exec "scrot -e 'mv $f ~/Screenshots'; sleep 1; exec notify-send 'screenshot has been saved to ~/Screenshots'"
  159. bindsym $mod+Print --release exec "scrot -ue 'mv $f ~/Screenshots'; sleep 1; exec notify-send 'screenshot has been saved to ~/Screenshots'"
  160. bindsym $mod+Shift+Print --release exec "notify-send 'selection will be saved to ~/Screenshots'; scrot -se 'mv $f ~/Screenshots'"
  161. bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
  162.  
  163. # Start a floating terminal
  164. bindsym mod1+shift+t exec --no-startup-id terminal -geometry 80x26 -name "floating_urxvt"
  165. for_window [class="URxvt" instance="floating_urxvt$"] floating toggle
  166.  
  167. # Fullscreen vids to small sticky in corner aka picture in picture mode
  168. bindsym mod1+y fullscreen disable; floating enable; resize set 422 240; sticky enable; move position 870 25
  169.  
  170. # Start 9menu
  171. # bindsym mod1+space exec --no-startup-id 9menu -popup -geometry 1x1+10+27 -file ~/.9menurc -bg "#000000" -fg "#D7D0C7" -font -*-terminus-*-*-*-*-12-*-*-*-*-*-*-*
  172.  
  173. # Open applications on specific workspaces
  174. assign [class="Pcmanfm"] → $tag2
  175. assign [class="Geany"] → $tag3
  176. assign [class="Firefox"] → $tag4
  177. assign [class="net-minecraft-bootstrap-Bootstrap"] → $tag7
  178. assign [class="Minecraft"] → $tag7
  179. assign [class="Transmission-gtk"] → $tag8
  180. assign [class="VirtualBox"] → $tag9
  181.  
  182. # Open specific applications in floating mode
  183. for_window [title="alsamixer"] floating enable border pixel $borders
  184. for_window [title="tty-clock"] floating enable sticky enable border pixel $borders
  185. for_window [title="Nitrogen"] floating enable border pixel $borders
  186. for_window [class="Clipgrab"] floating enable
  187. for_window [title="File Transfer*"] floating enable
  188. for_window [class="Galculator"] floating enable border pixel $borders
  189. for_window [class="GParted"] floating enable border normal
  190. for_window [class="Lxappearance"] floating enable
  191. for_window [class="Pamac-manager"] floating enable
  192. for_window [class="Pamac-updater"] floating enable
  193. for_window [class="(?i)System-config-printer.py"] floating enable border normal
  194. for_window [class="(?i)virtualbox"] floating enable border normal
  195. for_window [class="net-minecraft-bootstrap-Bootstrap"] floating enable border pixel $borders
  196. for_window [class="Minecraft 1.7.10"] floating enable
  197. for_window [class="Minecraft 1.8.9"] floating enable border pixel $borders
  198. for_window [class="Transmission-gtk"] floating enable border pixel $borders
  199. for_window [class="Vlc"] floating enable border pixel $borders
  200.  
  201. #####################################################
  202. # focus #
  203. #####################################################
  204.  
  205. # Change focus
  206. # focus_follows_mouse true
  207. popup_during_fullscreen smart
  208.  
  209. # Change focus
  210. bindsym $mod+j focus left
  211. bindsym $mod+k focus down
  212. bindsym $mod+l focus up
  213. bindsym $mod+odiaeresis focus right
  214.  
  215. # Alternatively, you can use the cursor keys:
  216. bindsym $mod+Left focus left
  217. bindsym $mod+Down focus down
  218. bindsym $mod+Up focus up
  219. bindsym $mod+Right focus right
  220.  
  221. # Move focused window
  222. bindsym $mod+shift+j move left
  223. bindsym $mod+shift+k move down
  224. bindsym $mod+shift+l move up
  225. bindsym $mod+shift+odiaeresis move right
  226.  
  227. # Alternatively, you can use the cursor keys:
  228. bindsym $mod+shift+Left move left
  229. bindsym $mod+shift+Down move down
  230. bindsym $mod+shift+Up move up
  231. bindsym $mod+shift+Right move right
  232.  
  233. # Workspace back and forth (with/without active container)
  234. workspace_auto_back_and_forth yes
  235. bindsym $mod+c workspace back_and_forth
  236. bindsym $mod+shift+c move container to workspace back_and_forth; workspace back_and_forth
  237.  
  238. # Split in horizontal orientation
  239. bindsym $mod+h split h;exec notify-send 'split horizontally'
  240.  
  241. # Split in vertical orientation
  242. bindsym $mod+v split v;exec notify-send 'split vertically'
  243.  
  244. # Toggle fullscreen mode for the focused container
  245. bindsym $mod+f fullscreen toggle
  246.  
  247. # Change container layout (stacked, tabbed, toggle split)
  248. bindsym $mod+s layout stacking
  249. bindsym $mod+w layout tabbed
  250. bindsym $mod+e layout toggle split
  251.  
  252. # Toggle tiling / floating
  253. bindsym $mod+shift+space floating toggle
  254.  
  255. # Change focus between tiling / floating windows
  256. # bindsym $mod+space focus mode_toggle
  257.  
  258. # Focus the parent container
  259. bindsym $mod+a focus parent
  260.  
  261. # Toggle sticky
  262. bindsym $mod+shift+s sticky toggle
  263.  
  264. # Open i3-input textbox
  265. bindsym $mod+shift+i exec i3-input
  266.  
  267. # Go to lowest empty workspace
  268. bindsym mod1+space exec ~/bin/nextworkspace
  269.  
  270. # Lock screen
  271. bindsym mod1+l exec --no-startup-id blurlock
  272.  
  273. #####################################################
  274. # workspaces #
  275. #####################################################
  276.  
  277. # Workspace names / variables
  278. #set $tag1 1  term
  279. #set $tag2 2  data
  280. #set $tag3 3  text
  281. #set $tag4 4  www
  282. #set $tag5 5  code
  283. #set $tag6 6  play
  284. #set $tag7 7  pics
  285. #set $tag8 8  game
  286. #set $tag9 9  torr
  287. #set $tag0 10  news
  288.  
  289. # Workspace names / with icons
  290. #set $tag1 "1  urxvt"
  291. #set $tag2 "2  pcmanfm"
  292. #set $tag3 "3  geany"
  293. #set $tag4 "4  firefox"
  294.  
  295. # Workspace names / without icons
  296. set $tag1 "1 urxvt"
  297. set $tag2 "2 pcmanfm"
  298. set $tag3 "3 geany"
  299. set $tag4 "4 firefox"
  300. set $tag7 "7 minecraft"
  301. set $tag8 "8 transmission"
  302. set $tag9 "9 virtualbox"
  303.  
  304. # Workspace names / only icons
  305. #set $tag1 1 
  306. #set $tag2 2 
  307. #set $tag3 3 
  308. #set $tag4 4 
  309. #set $tag5 5 
  310. #set $tag6 6 
  311. #set $tag7 7 
  312. #set $tag8 8 
  313. #set $tag9 9 
  314. #set $tag0 10 
  315.  
  316. # Switch to workspace
  317. bindsym $mod+1 workspace $tag1
  318. bindsym $mod+2 workspace $tag2
  319. bindsym $mod+3 workspace $tag3
  320. bindsym $mod+4 workspace $tag4
  321. bindsym $mod+5 workspace 5
  322. bindsym $mod+6 workspace 6
  323. bindsym $mod+7 workspace $tag7
  324. bindsym $mod+8 workspace $tag8
  325. bindsym $mod+9 workspace $tag9
  326. bindsym $mod+0 workspace 0
  327.  
  328. # Navigate workspaces next / previous
  329. bindsym $mod+x workspace next
  330. bindsym $mod+z workspace prev
  331.  
  332. # Move focused container to workspace
  333. bindsym $mod+Ctrl+1 move container to workspace number $tag1
  334. bindsym $mod+Ctrl+2 move container to workspace number $tag2
  335. bindsym $mod+Ctrl+3 move container to workspace number $tag3
  336. bindsym $mod+Ctrl+4 move container to workspace number $tag4
  337. bindsym $mod+Ctrl+5 move container to workspace number 5
  338. bindsym $mod+Ctrl+6 move container to workspace number 6
  339. bindsym $mod+Ctrl+7 move container to workspace number $tag7
  340. bindsym $mod+Ctrl+8 move container to workspace number $tag8
  341. bindsym $mod+Ctrl+9 move container to workspace number $tag9
  342. bindsym $mod+Ctrl+0 move container to workspace number 0
  343.  
  344. # Move to workspace with focused container
  345. bindsym $mod+shift+1 move container to workspace number $tag1; workspace $tag1
  346. bindsym $mod+shift+2 move container to workspace number $tag2; workspace $tag2
  347. bindsym $mod+shift+3 move container to workspace number $tag3; workspace $tag3
  348. bindsym $mod+shift+4 move container to workspace number $tag4; workspace $tag4
  349. bindsym $mod+shift+5 move container to workspace number 5; workspace 5
  350. bindsym $mod+shift+6 move container to workspace number 6; workspace 6
  351. bindsym $mod+shift+7 move container to workspace number $tag7; workspace $tag7
  352. bindsym $mod+shift+8 move container to workspace number $tag8; workspace $tag8
  353. bindsym $mod+shift+9 move container to workspace number $tag9; workspace $tag9
  354. bindsym $mod+shift+0 move container to workspace number 0; workspace 0
  355.  
  356. # Rename workspace with i3-input using numbers and text
  357. bindsym $mod+shift+n exec i3-input -F 'rename workspace to "%s"' -P 'New name: '
  358.  
  359. # Switch to workspace with urgent window automatically
  360. bindsym $mod+shift+a [urgent=latest] focus
  361.  
  362. #####################################################
  363. # resize windows #
  364. #####################################################
  365.  
  366. # Resize windows
  367. bindsym $mod+r mode "resize"
  368. mode "resize" {
  369. # These bindings trigger as soon as you enter the resize mode
  370. bindsym h resize shrink width 5 px or 5 ppt
  371. bindsym j resize grow height 5 px or 5 ppt
  372. bindsym k resize shrink height 5 px or 5 ppt
  373. bindsym l resize grow width 5 px or 5 ppt
  374.  
  375. # Same bindings, but for the arrow keys
  376. bindsym Left resize shrink width 10 px or 10 ppt
  377. bindsym Down resize shrink height 10 px or 10 ppt
  378. bindsym Up resize grow height 10 px or 10 ppt
  379. bindsym Right resize grow width 10 px or 10 ppt
  380.  
  381. # Exit resize mode: Enter or Escape
  382. bindsym Return mode "default"
  383. bindsym Escape mode "default"
  384. }
  385.  
  386. #####################################################
  387. # restore window layouts #
  388. #####################################################
  389.  
  390. # Start my defaults layouts on boot
  391. # exec --no-startup-id "i3-msg 'workspace 1; append_layout ~/.config/i3/workspace-1.json'"
  392. # exec --no-startup-id "i3-msg 'workspace 2; append_layout ~/.config/i3/workspace-2.json'"
  393. # exec --no-startup-id "i3-msg 'workspace 3; append_layout ~/.config/i3/workspace-3.json'"
  394. # exec --no-startup-id "i3-msg 'workspace 4; append_layout ~/.config/i3/workspace-4.json'"
  395.  
  396. #####################################################
  397. # bar settings and colors #
  398. #####################################################
  399.  
  400. # RRGGBBAA
  401. # set $transparent #00000000
  402.  
  403. # Toggle status bar
  404. # bindsym $mod+b bar mode toggle
  405.  
  406. # Start i3bar to display a workspace bar without a system tray
  407. bar {
  408. # i3bar_command i3bar -t
  409. # status_command $HOME/.i3/conky-i3bar
  410. # status_command i3blocks -c ~/.i3/i3blocks.conf
  411. status_command i3status -c ~/.i3/i3status.conf
  412. height 19
  413. # strip_workspace_numbers yes
  414. position top
  415. # wheel_up_cmd nop
  416. # wheel_down_cmd nop
  417. # separator_symbol "〉"
  418. # modifier $mod
  419. # mode hide
  420. # hidden_state hide
  421. # tray_output none
  422. # tray_padding 1
  423. font pango:Terminus,Icons 10
  424. # font pango:Droid,Icons 10
  425. colors {
  426. # background $transparent
  427. background #002B36
  428. statusline #EEE8D5
  429. separator #657B83
  430.  
  431. # 1=selected (main) / 2=regular text on bar / 3=bar color / 4=separator / 5=red / 6=white
  432. # Window colors border backgr text
  433. focused_workspace #EEE8D5 #586E75 #FDF6E3
  434. inactive_workspace #93A1A1 #002B36 #EEE8D5
  435. urgent_workspace #EEE8D5 #DC322F #FDF6E3
  436. }
  437. }
  438.  
  439. # Theme colors border backgr text
  440. client.focused #FDF6E3 #93A1A1 #002B36
  441. client.unfocused #073642 #586E75 #EEE8D5
  442. client.urgent #CB4B16 #DC322F #FDF6E3
  443.  
  444. #####################################################
  445. # volume keybinds #
  446. #####################################################
  447.  
  448. # Multimedia Keys
  449. # Alsamixer
  450. # bindsym Mod1+k exec amixer -q set Master 5%+ unmute
  451. # bindsym Mod1+j exec amixer -q set Master 5%- unmute
  452. # bindsym Mod1+m exec amixer -q set Master mute
  453.  
  454. # volume control
  455. # bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+
  456. # bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%-
  457. # bindsym XF86AudioMute exec amixer -D pulse -q set Master toggle
  458.  
  459. #####################################################
  460. # autostart #
  461. #####################################################
  462.  
  463. # Autostart applications
  464. exec --no-startup-id volumeicon
  465. exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
  466. exec --no-startup-id xfce4-power-manager
  467. exec --no-startup-id pamac-tray
  468. exec --no-startup-id nm-applet
  469. # exec --no-startup-id blueman
  470. # exec_always --no-startup-id sbxkb
  471. # exec --no-startup-id compton -b
  472. exec --no-startup-id nitrogen --restore
  473. # exec --no-startup-id radiotray
  474. # exec --no-startup-id clipit
  475. # exec --no-startup-id octopi-notifier
  476. # exec --no-startup-id ~/.conky/start_conky_grey
  477. # exec --no-startup-id start_conky_green
  478. # exec --no-startup-id qpdfview i3_help.pdf
  479. exec --no-startup-id xautolock -time 5 -locker blurlock
  480. # exec --no-startup-id alternating_layouts.py
  481.  
  482. #####################################################
  483. # shutdown / restart #
  484. #####################################################
  485.  
  486. # Restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  487. bindsym $mod+shift+r restart
  488.  
  489. # Exit i3 (logs you out of your X session)
  490. # 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'"
  491.  
  492. # Set shut down, restart and locking features
  493. bindsym $mod+shift+Return mode "$mode_system"
  494.  
  495. #set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (shift+s)hutdown
  496. set $mode_system (l)ock, (e)xit, (r)eboot, (shift+s)hutdown
  497. mode "$mode_system" {
  498. bindsym l exec --no-startup-id i3exit lock, mode "default"
  499. bindsym s exec --no-startup-id i3exit suspend, mode "default"
  500. bindsym u exec --no-startup-id i3exit switch_user, mode "default"
  501. bindsym e exec --no-startup-id i3exit logout, mode "default"
  502. bindsym h exec --no-startup-id i3exit hibernate, mode "default"
  503. bindsym r exec --no-startup-id i3exit reboot, mode "default"
  504. bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
  505.  
  506. # exit system mode: "Enter" or "Escape"
  507. bindsym Return mode "default"
  508. bindsym Escape mode "default"
  509. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement