From Erik, 7 Months ago, written in Plain Text.
Embed
  1. # i3 config file (v4)
  2. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  3.  
  4. # Set mod key (Mod1=<Alt>, Mod4=<Super>)
  5. set $mod Mod4
  6.  
  7. # set default desktop layout (default is tiling)
  8. # workspace_layout tabbed <stacking|tabbed>
  9.  
  10. # Configure border style <normal|1pixel|pixel xx|none|pixel>
  11. new_window pixel 1
  12. new_float normal
  13.  
  14. # Hide borders
  15. hide_edge_borders none
  16.  
  17. # change borders
  18. bindsym $mod+u border none
  19. bindsym $mod+y border pixel 1
  20. bindsym $mod+n border normal
  21.  
  22. # Font for window titles. Will also be used by the bar unless a different font
  23. # is used in the bar {} block below.
  24. font xft:URWGothic-Book 11
  25.  
  26. # Use Mouse+$mod to drag floating windows
  27. floating_modifier $mod
  28.  
  29. # start a terminal
  30. bindsym $mod+Return exec terminal
  31.  
  32. # kill focused window
  33. bindsym $mod+Shift+q kill
  34.  
  35. # start program launcher
  36. bindsym $mod+d exec --no-startup-id dmenu_recency
  37.  
  38. # launch categorized menu
  39. bindsym $mod+z exec --no-startup-id morc_menu
  40.  
  41. ################################################################################################
  42. ## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
  43. ################################################################################################
  44.  
  45. exec --no-startup-id volumeicon
  46. bindsym $mod+Ctrl+m exec terminal -e 'alsamixer'
  47. #exec --no-startup-id pulseaudio
  48. #exec --no-startup-id pa-applet
  49. #bindsym $mod+Ctrl+m exec pavucontrol
  50.  
  51. ################################################################################################
  52.  
  53. # Screen brightness controls
  54. # bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
  55. # bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
  56.  
  57. # Start Applications
  58. bindsym $mod+Ctrl+b exec terminal -e 'bmenu'
  59. bindsym $mod+F2 exec chromium
  60. bindsym $mod+F3 exec pcmanfm
  61. # bindsym $mod+F3 exec ranger
  62. bindsym $mod+Shift+F3 exec gksu pcmanfm
  63. bindsym $mod+F5 exec terminal -e 'mocp'
  64. bindsym $mod+t exec --no-startup-id pkill compton
  65. bindsym $mod+Ctrl+t exec --no-startup-id compton -b
  66. bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
  67. bindsym Print exec --no-startup-id i3-scrot
  68. bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
  69. bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
  70. bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf
  71. bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
  72.  
  73. # focus_follows_mouse no
  74.  
  75. # change focus
  76. bindsym $mod+j focus left
  77. bindsym $mod+k focus down
  78. bindsym $mod+l focus up
  79. bindsym $mod+ø focus right
  80.  
  81. # alternatively, you can use the cursor keys:
  82. bindsym $mod+Left focus left
  83. bindsym $mod+Down focus down
  84. bindsym $mod+Up focus up
  85. bindsym $mod+Right focus right
  86.  
  87. # move focused window
  88. bindsym $mod+Shift+j move left
  89. bindsym $mod+Shift+k move down
  90. bindsym $mod+Shift+l move up
  91. bindsym $mod+Shift+ø move right
  92.  
  93. # alternatively, you can use the cursor keys:
  94. bindsym $mod+Shift+Left move left
  95. bindsym $mod+Shift+Down move down
  96. bindsym $mod+Shift+Up move up
  97. bindsym $mod+Shift+Right move right
  98.  
  99. # workspace back and forth (with/without active container)
  100. workspace_auto_back_and_forth yes
  101. bindsym $mod+b workspace back_and_forth
  102. bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
  103.  
  104. # split orientation
  105. bindsym $mod+h split h;exec notify-send 'tile horizontally'
  106. bindsym $mod+v split v;exec notify-send 'tile vertically'
  107. bindsym $mod+q split toggle
  108.  
  109. # toggle fullscreen mode for the focused container
  110. bindsym $mod+f fullscreen toggle
  111.  
  112. # change container layout (stacked, tabbed, toggle split)
  113. bindsym $mod+s layout stacking
  114. bindsym $mod+w layout tabbed
  115. bindsym $mod+e layout toggle split
  116.  
  117. # toggle tiling / floating
  118. bindsym $mod+Shift+space floating toggle
  119.  
  120. # change focus between tiling / floating windows
  121. bindsym $mod+space focus mode_toggle
  122.  
  123. # toggle sticky
  124. bindsym $mod+Shift+s sticky toggle
  125.  
  126. # focus the parent container
  127. bindsym $mod+a focus parent
  128.  
  129. # move the currently focused window to the scratchpad
  130. bindsym $mod+Shift+minus move scratchpad
  131.  
  132. # Show the next scratchpad window or hide the focused scratchpad window.
  133. # If there are multiple scratchpad windows, this command cycles through them.
  134. bindsym $mod+minus scratchpad show
  135.  
  136. #navigate workspaces next / previous
  137. bindsym $mod+Ctrl+Right workspace next
  138. bindsym $mod+Ctrl+Left workspace prev
  139.  
  140. # Workspace names
  141. # to display names or symbols instead of plain workspace numbers you can use
  142. # something like: set $ws1 1:mail
  143. #                 set $ws2 2:
  144. set $ws1 1:1 
  145. set $ws2 2:2 
  146. set $ws3 3:3 
  147. set $ws4 4
  148. set $ws5 5
  149. set $ws6 6
  150. set $ws7 7:7  
  151. set $ws8 8:8  
  152.  
  153. # switch to workspace
  154. bindsym $mod+1 workspace $ws1
  155. bindsym $mod+2 workspace $ws2
  156. bindsym $mod+3 workspace $ws3
  157. bindsym $mod+4 workspace $ws4
  158. bindsym $mod+5 workspace $ws5
  159. bindsym $mod+6 workspace $ws6
  160. bindsym $mod+7 workspace $ws7
  161. bindsym $mod+8 workspace $ws8
  162.  
  163. # Move focused container to workspace
  164. bindsym $mod+Ctrl+1 move container to workspace $ws1
  165. bindsym $mod+Ctrl+2 move container to workspace $ws2
  166. bindsym $mod+Ctrl+3 move container to workspace $ws3
  167. bindsym $mod+Ctrl+4 move container to workspace $ws4
  168. bindsym $mod+Ctrl+5 move container to workspace $ws5
  169. bindsym $mod+Ctrl+6 move container to workspace $ws6
  170. bindsym $mod+Ctrl+7 move container to workspace $ws7
  171. bindsym $mod+Ctrl+8 move container to workspace $ws8
  172.  
  173. # Move to workspace with focused container
  174. bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
  175. bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
  176. bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
  177. bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
  178. bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
  179. bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
  180. bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
  181. bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
  182.  
  183. # Open applications on specific workspaces
  184. assign [class="Slack"] $ws7
  185. # assign [class="Thunderbird"] $ws1
  186. # assign [class="Code"] $ws2
  187. # assign [class="Code"] $ws3
  188. # assign [class="Skype"] $ws5
  189.  
  190. # Open specific applications in floating mode
  191. for_window [title="alsamixer"] floating enable border pixel 1
  192. for_window [class="Calamares"] floating enable border normal
  193. for_window [class="Clipgrab"] floating enable
  194. for_window [title="File Transfer*"] floating enable
  195. for_window [class="Galculator"] floating enable border pixel 1
  196. for_window [class="GParted"] floating enable border normal
  197. for_window [title="i3_help"] floating enable sticky enable border normal
  198. for_window [class="Lightdm-gtk-greeter-settings"] floating enable
  199. for_window [class="Lxappearance"] floating enable sticky enable border normal
  200. for_window [class="Manjaro-hello"] floating enable
  201. for_window [class="Manjaro Settings Manager"] floating enable border normal
  202. for_window [title="MuseScore: Play Panel"] floating enable
  203. for_window [class="Nitrogen"] floating enable sticky enable border normal
  204. for_window [class="Oblogout"] fullscreen enable
  205. for_window [class="octopi"] floating enable
  206. for_window [title="About Pale Moon"] floating enable
  207. for_window [class="Pamac-manager"] floating enable
  208. for_window [class="Pavucontrol"] floating enable
  209. for_window [class="qt5ct"] floating enable sticky enable border normal
  210. for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
  211. for_window [class="Simple-scan"] floating enable border normal
  212. for_window [class="(?i)System-config-printer.py"] floating enable border normal
  213. for_window [class="Skype"] floating enable border normal
  214. for_window [class="Thus"] floating enable border normal
  215. for_window [class="Timeset-gui"] floating enable border normal
  216. for_window [class="(?i)virtualbox"] floating enable border normal
  217. for_window [class="Xfburn"] floating enable
  218.  
  219. # switch to workspace with urgent window automatically
  220. for_window [urgent=latest] focus
  221.  
  222. # reload the configuration file
  223. bindsym $mod+Shift+c reload
  224.  
  225. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  226. bindsym $mod+Shift+r restart
  227.  
  228. # exit i3 (logs you out of your X session)
  229. 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'"
  230.  
  231. # Set shut down, restart and locking features
  232. bindsym $mod+0 mode "$mode_system"
  233. set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
  234. mode "$mode_system" {
  235.     bindsym l exec --no-startup-id i3exit lock, mode "default"
  236.     bindsym s exec --no-startup-id i3exit suspend, mode "default"
  237.     bindsym u exec --no-startup-id i3exit switch_user, mode "default"
  238.     bindsym e exec --no-startup-id i3exit logout, mode "default"
  239.     bindsym h exec --no-startup-id i3exit hibernate, mode "default"
  240.     bindsym r exec --no-startup-id i3exit reboot, mode "default"
  241.     bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
  242.  
  243.     # exit system mode: "Enter" or "Escape"
  244.     bindsym Return mode "default"
  245.     bindsym Escape mode "default"
  246. }
  247.  
  248. # Resize window (you can also use the mouse for that)
  249. bindsym $mod+r mode "resize"
  250. mode "resize" {
  251.         # These bindings trigger as soon as you enter the resize mode
  252.         # Pressing left will shrink the window’s width.
  253.         # Pressing right will grow the window’s width.
  254.         # Pressing up will shrink the window’s height.
  255.         # Pressing down will grow the window’s height.
  256.         bindsym j resize shrink width 5 px or 5 ppt
  257.         bindsym k resize grow height 5 px or 5 ppt
  258.         bindsym l resize shrink height 5 px or 5 ppt
  259.         bindsym semicolon resize grow width 5 px or 5 ppt
  260.  
  261.         # same bindings, but for the arrow keys
  262.         bindsym Left resize shrink width 10 px or 10 ppt
  263.         bindsym Down resize grow height 10 px or 10 ppt
  264.         bindsym Up resize shrink height 10 px or 10 ppt
  265.         bindsym Right resize grow width 10 px or 10 ppt
  266.  
  267.         # exit resize mode: Enter or Escape
  268.         bindsym Return mode "default"
  269.         bindsym Escape mode "default"
  270. }
  271.  
  272. # Lock screen
  273. bindsym $mod+9 exec --no-startup-id blurlock
  274.  
  275. # Autostart applications
  276. exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
  277. exec --no-startup-id nitrogen --restore; sleep 1; compton -b
  278. #exec --no-startup-id manjaro-hello
  279. exec --no-startup-id nm-applet
  280. exec --no-startup-id xfce4-power-manager
  281. exec --no-startup-id pamac-tray
  282. exec --no-startup-id clipit
  283. # exec --no-startup-id blueman-applet
  284. # exec_always --no-startup-id sbxkb
  285. exec --no-startup-id start_conky_maia
  286. # exec --no-startup-id start_conky_green
  287. exec --no-startup-id xautolock -time 10 -locker blurlock
  288. exec_always --no-startup-id ff-theme-util
  289. exec_always --no-startup-id fix_xcursor
  290.  
  291. # Workspace specific startups
  292. #exec --no-startup-id i3-msg 'workspace $ws1; exec terminal'
  293. #exec --no-startup-id i3-msg 'workspace $ws1; exec terminal'
  294. #exec --no-startup-id i3-msg 'workspace $ws1; exec terminal'
  295. #exec --no-startup-id i3-msg 'workspace $ws2; exec /usr/bin/code'
  296. #exec --no-startup-id i3-msg 'workspace $ws3; exec /usr/bin/chromium --new-window'
  297. #exec --no-startup-id i3-msg 'workspace $ws7; exec /usr/bin/slack; exec /usr/bin/chromium --new-window https://mail.google.com/mail/u/1/#inbox'
  298. #exec --no-startup-id i3-msg 'workspace $ws8; exec /usr/bin/chromium --new-window https://www.reddit.com/ https://www.facebook.com'
  299.  
  300.  
  301. # Color palette used for the terminal ( ~/.Xresources file )
  302. # Colors are gathered based on the documentation:
  303. # https://i3wm.org/docs/userguide.html#xresources
  304. # Change the variable name at the place you want to match the color
  305. # of your terminal like this:
  306. # [example]
  307. # If you want your bar to have the same background color as your
  308. # terminal background change the line 362 from:
  309. # background #14191D
  310. # to:
  311. # background $term_background
  312. # Same logic applied to everything else.
  313. set_from_resource $term_background background
  314. set_from_resource $term_foreground foreground
  315. set_from_resource $term_color0     color0
  316. set_from_resource $term_color1     color1
  317. set_from_resource $term_color2     color2
  318. set_from_resource $term_color3     color3
  319. set_from_resource $term_color4     color4
  320. set_from_resource $term_color5     color5
  321. set_from_resource $term_color6     color6
  322. set_from_resource $term_color7     color7
  323. set_from_resource $term_color8     color8
  324. set_from_resource $term_color9     color9
  325. set_from_resource $term_color10    color10
  326. set_from_resource $term_color11    color11
  327. set_from_resource $term_color12    color12
  328. set_from_resource $term_color13    color13
  329. set_from_resource $term_color14    color14
  330. set_from_resource $term_color15    color15
  331.  
  332. # Start i3bar to display a workspace bar (plus the system information i3status if available)
  333. bar {
  334.         i3bar_command i3bar
  335.         status_command i3status
  336.         position top
  337.  
  338. ## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
  339. #       tray_output primary
  340. #       tray_output eDP1
  341.  
  342.         bindsym button4 nop
  343.         bindsym button5 nop
  344. #   font xft:URWGothic-Book 11
  345.         strip_workspace_numbers yes
  346.  
  347.     colors {
  348.         background #283339
  349.         statusline #F9FAF9
  350.         separator  #454947
  351.  
  352. #                      border  backgr. text
  353.         focused_workspace  #F9FAF9 #16a085 #292F34
  354.         active_workspace   #595B5B #353836 #FDF6E3
  355.         inactive_workspace #595B5B #283339 #EEE8D5
  356.         binding_mode       #16a085 #2C2C2C #F9FAF9
  357.         urgent_workspace   #16a085 #FDF6E3 #E5201D
  358.     }
  359. }
  360.  
  361. # hide/unhide i3status bar
  362. bindsym $mod+m bar mode toggle
  363.  
  364. # Theme colors
  365. # class                   border  backgr. text    indic.   child_border
  366.   client.focused          #556064 #556064 #80FFF9 #FDF6E3
  367.   client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
  368.   client.unfocused        #2F3D44 #2F3D44 #1ABC9C #454948
  369.   client.urgent           #CB4B16 #FDF6E3 #1ABC9C #268BD2
  370.   client.placeholder      #000000 #0c0c0c #ffffff #000000
  371.  
  372.   client.background       #2B2C2B
  373.  
  374. #############################
  375. ### settings for i3-gaps: ###
  376. #############################
  377.  
  378. # Set inner/outer gaps
  379. gaps inner 10
  380. gaps outer -4
  381.  
  382. # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
  383. # gaps inner|outer current|all set|plus|minus <px>
  384. # gaps inner all set 10
  385. # gaps outer all plus 5
  386.  
  387. # Smart gaps (gaps used if only more than one container on the workspace)
  388. smart_gaps on
  389.  
  390. # Smart borders (draw borders around container only if it is not the only container on this workspace)
  391. # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
  392. smart_borders on
  393.  
  394. # 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.
  395. set $mode_gaps Gaps: (o) outer, (i) inner
  396. set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
  397. set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
  398. bindsym $mod+Shift+g mode "$mode_gaps"
  399.  
  400. mode "$mode_gaps" {
  401.         bindsym o      mode "$mode_gaps_outer"
  402.         bindsym i      mode "$mode_gaps_inner"
  403.         bindsym Return mode "default"
  404.         bindsym Escape mode "default"
  405. }
  406. mode "$mode_gaps_inner" {
  407.         bindsym plus  gaps inner current plus 5
  408.         bindsym minus gaps inner current minus 5
  409.         bindsym 0     gaps inner current set 0
  410.  
  411.         bindsym Shift+plus  gaps inner all plus 5
  412.         bindsym Shift+minus gaps inner all minus 5
  413.         bindsym Shift+0     gaps inner all set 0
  414.  
  415.         bindsym Return mode "default"
  416.         bindsym Escape mode "default"
  417. }
  418. mode "$mode_gaps_outer" {
  419.         bindsym plus  gaps outer current plus 5
  420.         bindsym minus gaps outer current minus 5
  421.         bindsym 0     gaps outer current set 0
  422.  
  423.         bindsym Shift+plus  gaps outer all plus 5
  424.         bindsym Shift+minus gaps outer all minus 5
  425.         bindsym Shift+0     gaps outer all set 0
  426.  
  427.         bindsym Return mode "default"
  428.         bindsym Escape mode "default"
  429. }
  430.