A collection of scripts and configurations for Bash (and others)
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.

430 lines
15KB

  1. # i3 config file (v4)
  2. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  3. # Set mod key (Mod1=<Alt>, Mod4=<Super>)
  4. set $mod Mod4
  5. # set default desktop layout (default is tiling)
  6. # workspace_layout tabbed <stacking|tabbed>
  7. # Configure border style <normal|1pixel|pixel xx|none|pixel>
  8. new_window pixel 1
  9. new_float normal
  10. # Hide borders
  11. hide_edge_borders none
  12. # change borders
  13. bindsym $mod+u border none
  14. bindsym $mod+y border pixel 1
  15. bindsym $mod+n border normal
  16. # Font for window titles. Will also be used by the bar unless a different font
  17. # is used in the bar {} block below.
  18. font xft:URWGothic-Book 11
  19. # Use Mouse+$mod to drag floating windows
  20. floating_modifier $mod
  21. # start a terminal
  22. bindsym $mod+Return exec terminal
  23. # kill focused window
  24. bindsym $mod+Shift+q kill
  25. # start program launcher
  26. bindsym $mod+d exec --no-startup-id $HOME/.local/sbin/dmenu_wrapper #dmenu_run #dmenu_recency
  27. # launch categorized menu
  28. bindsym $mod+z exec --no-startup-id morc_menu
  29. ################################################################################################
  30. ## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
  31. ################################################################################################
  32. exec --no-startup-id volumeicon
  33. bindsym $mod+Ctrl+m exec terminal -e 'alsamixer'
  34. #exec --no-startup-id pulseaudio
  35. #exec --no-startup-id pa-applet
  36. #bindsym $mod+Ctrl+m exec pavucontrol
  37. ################################################################################################
  38. # Screen brightness controls
  39. # bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
  40. # bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
  41. # Start Applications
  42. bindsym $mod+Ctrl+b exec terminal -e 'bmenu'
  43. bindsym $mod+F2 exec palemoon
  44. bindsym $mod+Ctrl+w exec firefox
  45. bindsym $mod+Ctrl+f exec pcmanfm
  46. # bindsym $mod+F3 exec ranger
  47. #bindsym $mod+Shift+Ctrl+f exec gksu pcmanfm
  48. bindsym $mod+F5 exec terminal -e 'mocp'
  49. bindsym $mod+t exec --no-startup-id pkill compton
  50. bindsym $mod+Ctrl+t exec --no-startup-id compton -b
  51. bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
  52. bindsym Print exec --no-startup-id i3-scrot
  53. bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
  54. bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
  55. bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf
  56. bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
  57. # focus_follows_mouse no
  58. # change focus
  59. bindsym $mod+j focus left
  60. bindsym $mod+k focus down
  61. bindsym $mod+l focus up
  62. bindsym $mod+semicolon focus right
  63. # alternatively, you can use the cursor keys:
  64. bindsym $mod+Left focus left
  65. bindsym $mod+Down focus down
  66. bindsym $mod+Up focus up
  67. bindsym $mod+Right focus right
  68. # move focused window
  69. bindsym $mod+Shift+j move left
  70. bindsym $mod+Shift+k move down
  71. bindsym $mod+Shift+l move up
  72. bindsym $mod+Shift+semicolon move right
  73. # alternatively, you can use the cursor keys:
  74. bindsym $mod+Shift+Left move left
  75. bindsym $mod+Shift+Down move down
  76. bindsym $mod+Shift+Up move up
  77. bindsym $mod+Shift+Right move right
  78. # workspace back and forth (with/without active container)
  79. workspace_auto_back_and_forth yes
  80. bindsym $mod+b workspace back_and_forth
  81. bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
  82. # split orientation
  83. bindsym $mod+h split h;exec notify-send 'tile horizontally'
  84. bindsym $mod+v split v;exec notify-send 'tile vertically'
  85. bindsym $mod+q split toggle
  86. # toggle fullscreen mode for the focused container
  87. bindsym $mod+f fullscreen toggle
  88. # change container layout (stacked, tabbed, toggle split)
  89. bindsym $mod+s layout stacking
  90. bindsym $mod+w layout tabbed
  91. bindsym $mod+e layout toggle split
  92. # toggle tiling / floating
  93. bindsym $mod+Shift+space floating toggle
  94. # change focus between tiling / floating windows
  95. bindsym $mod+space focus mode_toggle
  96. # toggle sticky
  97. bindsym $mod+Shift+s sticky toggle
  98. # focus the parent container
  99. bindsym $mod+a focus parent
  100. # move the currently focused window to the scratchpad
  101. bindsym $mod+Shift+minus move scratchpad
  102. # Show the next scratchpad window or hide the focused scratchpad window.
  103. # If there are multiple scratchpad windows, this command cycles through them.
  104. bindsym $mod+minus scratchpad show
  105. #navigate workspaces next / previous
  106. bindsym $mod+Ctrl+Right workspace next
  107. bindsym $mod+Ctrl+Left workspace prev
  108. # Define workspace names
  109. set $ws1 "1: Dev 1"
  110. set $ws2 "2: Dev 2"
  111. set $ws3 "3: Media"
  112. set $ws4 "4: Web 1"
  113. set $ws5 "5: Web 2"
  114. set $ws6 "6: Misc 1"
  115. set $ws7 "7: Misc 2"
  116. set $ws8 "8: System 1"
  117. set $ws9 "9: System 2"
  118. set $ws0 "10: System 3"
  119. # switch to workspace
  120. bindsym $mod+1 workspace $ws1
  121. bindsym $mod+2 workspace $ws2
  122. bindsym $mod+3 workspace $ws3
  123. bindsym $mod+4 workspace $ws4
  124. bindsym $mod+5 workspace $ws5
  125. bindsym $mod+6 workspace $ws6
  126. bindsym $mod+7 workspace $ws7
  127. bindsym $mod+8 workspace $ws8
  128. bindsym $mod+9 workspace $ws9
  129. bindsym $mod+0 workspace $ws0
  130. # move focused container to workspace
  131. bindsym $mod+Shift+1 move container to workspace $ws1
  132. bindsym $mod+Shift+2 move container to workspace $ws2
  133. bindsym $mod+Shift+3 move container to workspace $ws3
  134. bindsym $mod+Shift+4 move container to workspace $ws4
  135. bindsym $mod+Shift+5 move container to workspace $ws5
  136. bindsym $mod+Shift+6 move container to workspace $ws6
  137. bindsym $mod+Shift+7 move container to workspace $ws7
  138. bindsym $mod+Shift+8 move container to workspace $ws8
  139. bindsym $mod+Shift+9 move container to workspace $ws9
  140. bindsym $mod+Shift+0 move container to workspace $ws0
  141. # Open applications on specific workspaces
  142. # assign [class="Thunderbird"] $ws1
  143. # assign [class="Pale moon"] $ws2
  144. # assign [class="Pcmanfm"] $ws3
  145. # assign [class="Skype"] $ws5
  146. # Open specific applications in floating mode
  147. for_window [title="alsamixer"] floating enable border pixel 1
  148. for_window [class="calamares"] floating enable border normal
  149. for_window [class="Clipgrab"] floating enable
  150. for_window [title="File Transfer*"] floating enable
  151. for_window [class="Galculator"] floating enable border pixel 1
  152. for_window [class="GParted"] floating enable border normal
  153. for_window [title="i3_help"] floating enable sticky enable border normal
  154. for_window [class="Lightdm-settings"] floating enable
  155. for_window [class="Lxappearance"] floating enable sticky enable border normal
  156. for_window [class="Manjaro-hello"] floating enable
  157. for_window [class="Manjaro Settings Manager"] floating enable border normal
  158. for_window [title="MuseScore: Play Panel"] floating enable
  159. for_window [class="Nitrogen"] floating enable sticky enable border normal
  160. for_window [class="Oblogout"] fullscreen enable
  161. for_window [class="octopi"] floating enable
  162. for_window [title="About Pale Moon"] floating enable
  163. for_window [class="Pamac-manager"] floating enable
  164. for_window [class="Pavucontrol"] floating enable
  165. for_window [class="qt5ct"] floating enable sticky enable border normal
  166. for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
  167. for_window [class="Simple-scan"] floating enable border normal
  168. for_window [class="(?i)System-config-printer.py"] floating enable border normal
  169. for_window [class="Skype"] floating enable border normal
  170. for_window [class="Timeset-gui"] floating enable border normal
  171. for_window [class="(?i)virtualbox"] floating enable border normal
  172. for_window [class="Xfburn"] floating enable
  173. # Assign windows to their respective workspaces.
  174. assign [class="Chromium|Firefox"] $ws4
  175. assign [class="Gimp"] $ws3
  176. assign [class="mpv|Vlc"] $ws3
  177. # switch to workspace with urgent window automatically
  178. for_window [urgent=latest] focus
  179. # reload the configuration file
  180. bindsym $mod+Shift+c reload
  181. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  182. bindsym $mod+Shift+r restart
  183. # exit i3 (logs you out of your X session)
  184. 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'"
  185. # Set shut down, restart and locking features
  186. bindsym $mod+grave mode "$mode_system"
  187. set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
  188. mode "$mode_system" {
  189. bindsym l exec --no-startup-id i3exit lock, mode "default"
  190. bindsym s exec --no-startup-id i3exit suspend, mode "default"
  191. bindsym u exec --no-startup-id i3exit switch_user, mode "default"
  192. bindsym e exec --no-startup-id i3exit logout, mode "default"
  193. bindsym h exec --no-startup-id i3exit hibernate, mode "default"
  194. bindsym r exec --no-startup-id i3exit reboot, mode "default"
  195. bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
  196. # exit system mode: "Enter" or "Escape"
  197. bindsym Return mode "default"
  198. bindsym Escape mode "default"
  199. }
  200. # Resize window (you can also use the mouse for that)
  201. bindsym $mod+r mode "resize"
  202. mode "resize" {
  203. # These bindings trigger as soon as you enter the resize mode
  204. # Pressing left will shrink the window’s width.
  205. # Pressing right will grow the window’s width.
  206. # Pressing up will shrink the window’s height.
  207. # Pressing down will grow the window’s height.
  208. bindsym j resize shrink width 5 px or 5 ppt
  209. bindsym k resize grow height 5 px or 5 ppt
  210. bindsym l resize shrink height 5 px or 5 ppt
  211. bindsym semicolon resize grow width 5 px or 5 ppt
  212. # same bindings, but for the arrow keys
  213. bindsym Left resize shrink width 10 px or 10 ppt
  214. bindsym Down resize grow height 10 px or 10 ppt
  215. bindsym Up resize shrink height 10 px or 10 ppt
  216. bindsym Right resize grow width 10 px or 10 ppt
  217. # exit resize mode: Enter or Escape
  218. bindsym Return mode "default"
  219. bindsym Escape mode "default"
  220. }
  221. bindsym $mod+Ctrl+p mode "music"
  222. mode "music" {
  223. bindsym space exec mpc toggle
  224. bindsym Shift+Space exec mpc stop
  225. bindsym period exec mpc next
  226. bindsym comma exec mpc prev
  227. bindsym minus exec mpc volume -5
  228. bindsym equal exec mpc volume +5
  229. bindsym exclam exec mpc volume 10
  230. bindsym percent exec mpc volume 50
  231. bindsym parenright exec mpc volume 100
  232. # Exit music mode!!
  233. bindsym Return mode "default"
  234. bindsym Escape mode "default"
  235. }
  236. # Rotate Wallpaper!
  237. bindsym $mod+Ctrl+r exec "wal --backend colorthief -a 180 -i ~/Pictures/Wallpaper/TFTL/"
  238. # Lock screen
  239. bindsym $mod+Ctrl+z exec --no-startup-id blurlock
  240. # Autostart applications
  241. exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
  242. #exec --no-startup-id nitrogen --restore; sleep 1; compton -b
  243. # Compositor
  244. exec --no-startup-id picom -b --config /dev/null &
  245. # # Restore wallpaper and themes.
  246. exec --no-startup-id wal -R &
  247. #exec --no-startup-id manjaro-hello
  248. exec --no-startup-id nm-applet
  249. exec --no-startup-id xfce4-power-manager
  250. exec --no-startup-id pamac-tray
  251. exec --no-startup-id clipit
  252. # exec --no-startup-id blueman-applet
  253. # exec_always --no-startup-id sbxkb
  254. #exec --no-startup-id start_conky_maia
  255. # exec --no-startup-id start_conky_green
  256. exec --no-startup-id xautolock -time 10 -locker blurlock
  257. exec_always --no-startup-id ff-theme-util
  258. exec_always --no-startup-id fix_xcursor
  259. exec_always --no-startup-id blueberry
  260. # Polybar
  261. exec_always --no-startup-id $HOME/.config/polybar/launch.sh
  262. # # Enable pCloud storage.
  263. exec --no-startup-id ~/Applications/pcloud/pcloud &
  264. # Start i3bar to display a workspace bar (plus the system information i3status if available)
  265. #bar {
  266. # i3bar_command i3bar
  267. # status_command i3status
  268. # position bottom
  269. ## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
  270. # tray_output primary
  271. # tray_output eDP1
  272. # bindsym button4 nop
  273. # bindsym button5 nop
  274. # font xft:URWGothic-Book 11
  275. # strip_workspace_numbers yes
  276. # colors {
  277. # background #222D31
  278. # statusline #F9FAF9
  279. # separator #454947
  280. # border backgr. text
  281. # focused_workspace #F9FAF9 #16a085 #292F34
  282. # active_workspace #595B5B #353836 #FDF6E3
  283. # inactive_workspace #595B5B #222D31 #EEE8D5
  284. # binding_mode #16a085 #2C2C2C #F9FAF9
  285. # urgent_workspace #16a085 #FDF6E3 #E5201D
  286. # }
  287. #}
  288. # hide/unhide i3status bar
  289. bindsym $mod+m bar mode toggle
  290. # Set colors from Xresources
  291. # # Change 'color7' and 'color2' to whatever colors you want i3 to use
  292. # # from the generated scheme.
  293. # # NOTE: The '#f0f0f0' in the lines below is the color i3 will use if
  294. # # it fails to get colors from Xresources.
  295. set_from_resource $fg i3wm.color7 #f0f0f0
  296. set_from_resource $bg i3wm.color2 #f0f0f0
  297. #
  298. # # class border backgr. text indicator child_border
  299. client.focused $bg $bg $fg $bg #$bg
  300. client.focused_inactive $bg $bg $fg $bg #$bg
  301. client.unfocused $bg $bg $fg $bg #$bg
  302. client.urgent $bg $bg $fg $bg #$bg
  303. client.placeholder $bg $bg $fg $bg #$bg
  304. client.background $bg
  305. #############################
  306. ### settings for i3-gaps: ###
  307. #############################
  308. # Set inner/outer gaps
  309. gaps inner 0
  310. gaps outer 0
  311. # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
  312. # gaps inner|outer current|all set|plus|minus <px>
  313. # gaps inner all set 10
  314. # gaps outer all plus 5
  315. # Smart gaps (gaps used if only more than one container on the workspace)
  316. smart_gaps on
  317. # Smart borders (draw borders around container only if it is not the only container on this workspace)
  318. # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
  319. smart_borders no_gaps
  320. # 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.
  321. set $mode_gaps Gaps: (o) outer, (i) inner
  322. set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
  323. set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
  324. bindsym $mod+Shift+g mode "$mode_gaps"
  325. mode "$mode_gaps" {
  326. bindsym o mode "$mode_gaps_outer"
  327. bindsym i mode "$mode_gaps_inner"
  328. bindsym Return mode "default"
  329. bindsym Escape mode "default"
  330. }
  331. mode "$mode_gaps_inner" {
  332. bindsym plus gaps inner current plus 5
  333. bindsym minus gaps inner current minus 5
  334. bindsym 0 gaps inner current set 0
  335. bindsym Shift+plus gaps inner all plus 5
  336. bindsym Shift+minus gaps inner all minus 5
  337. bindsym Shift+0 gaps inner all set 0
  338. bindsym Return mode "default"
  339. bindsym Escape mode "default"
  340. }
  341. mode "$mode_gaps_outer" {
  342. bindsym plus gaps outer current plus 5
  343. bindsym minus gaps outer current minus 5
  344. bindsym 0 gaps outer current set 0
  345. bindsym Shift+plus gaps outer all plus 5
  346. bindsym Shift+minus gaps outer all minus 5
  347. bindsym Shift+0 gaps outer all set 0
  348. bindsym Return mode "default"
  349. bindsym Escape mode "default"
  350. }