config 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. ################################################################################
  2. # i3 config
  3. ################################################################################
  4. # Set mod key (Mod1=<Alt>, Mod4=<Super>)
  5. set $super Mod4
  6. set $alt Mod1
  7. set $terminal alacritty
  8. set $extraterminal terminator
  9. set $shell /usr/bin/fish
  10. # Set the timeout in milliseconds for notify-send
  11. set $mynotify notify-send -t 3000
  12. # Use Mouse+$super to drag floating windows to their wanted position
  13. floating_modifier $super
  14. # Font for window titles. Will also be used by the bar unless a different font
  15. # is used in the bar {} block below.
  16. font pango:Sarasa Mono SC Nerd 12
  17. # font pango:Ubuntu, Ubuntu Nerd Font 12
  18. # set default desktop layout (default is tiling)
  19. # workspace_layout tabbed <stacking|tabbed>
  20. # Configure border style <normal|1pixel|pixel xx|none|pixel>
  21. default_border pixel 3
  22. default_floating_border pixel 1
  23. # Hide borders
  24. hide_edge_borders none
  25. # Switch to workspace with urgent window automatically
  26. for_window [urgent=latest] focus
  27. # Set inner/outer gaps
  28. gaps inner 8
  29. gaps outer -3
  30. # Smart gaps (gaps used if only more than one container on the workspace)
  31. # smart_gaps on
  32. # Smart borders (draw borders around container only if it is not the only container on this workspace)
  33. # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
  34. # smart_borders on
  35. # # hide/unhide i3status bar
  36. # bindsym $super+m bar mode toggle
  37. ################################################################################
  38. # Theme colors (for windows)
  39. ################################################################################
  40. # class border backgr. text indic. child_border
  41. client.focused #009185 #009185 #dbdcd5 #ff5555
  42. client.focused_inactive #2F3D44 #2F3D44 #dbdcd5 #454948
  43. client.unfocused #2F3D44 #2F3D44 #009185 #454948
  44. client.urgent #CB4B16 #CB4B16 #dbdcd5 #268BD2
  45. # client.urgent #CB4B16 #FDF6E3 #AD69AF #268BD2
  46. client.placeholder #000000 #0c0c0c #ffffff #000000
  47. client.background #2B2C2B
  48. ################################################################################
  49. # Keybindings
  50. ################################################################################
  51. # Personal keybindings
  52. # My dmenu scripts <CTRL + ALT> + KEY
  53. bindsym Control+$alt+c exec ~/.myScripts/dmscripts/dm-edit-configs.sh
  54. bindsym Control+$alt+p exec ~/.myScripts/dmscripts/dm-run-programs.sh
  55. bindsym Control+$alt+s exec ~/.myScripts/dmscripts/dm-run-scripts.sh
  56. bindsym Control+$alt+x exec ~/.myScripts/dmscripts/dm-system-exit.sh
  57. # My applications <SUPER + ALT> + KEY
  58. bindsym $super+$alt+r exec rofi run -show drun -show-icons
  59. bindsym $alt+w exec rofi run -show window -show-icons
  60. bindsym $super+$alt+d exec dmenu_run -i -l 10 -nb '#263238' -nf '#24d2af' -sb '#009185' -p 'Run: ' -fn 'Iosevka-17:normal'
  61. bindsym Print exec flameshot gui
  62. bindsym $super+$alt+w exec /usr/bin/firefox
  63. bindsym $super+$alt+u exec qutebrowser
  64. bindsym $super+$alt+e exec dolphin
  65. bindsym $super+$alt+n exec thunar
  66. bindsym $super+$alt+a exec $terminal -e $shell -c ranger
  67. bindsym $super+$alt+v exec $terminal -e $shell -c ~/.config/vifm/scripts/vifmrun
  68. bindsym $super+$alt+t exec ~/Programs/Telegram/Telegram -workdir ~/.local/share/TelegramDesktop/ -- %u
  69. bindsym $super+$alt+p exec ~/Programs/PyCharm-Community/bin/pycharm.sh
  70. bindsym $super+$alt+c exec code
  71. bindsym $super+$alt+g exec goldendict
  72. bindsym $super+$alt+m exec gvim
  73. bindsym $super+$alt+s exec ~/Programs/SublimeText/sublime_text
  74. bindsym $super+$alt+b exec brave
  75. bindsym $super+Return exec $terminal
  76. bindsym $super+$alt+Return exec $extraterminal
  77. bindsym Control+Shift+Escape exec $terminal -e $shell -c htop
  78. # My applications as Root <SUPER + SHIFT + ALT> + KEY
  79. bindsym $super+Shift+$alt+v exec ~/.myScripts/runVifmAsRoot.sh
  80. bindsym $super+Shift+$alt+a exec ~/.myScripts/runRangerAsRoot.sh
  81. bindsym $super+Shift+$alt+n exec ~/.myScripts/runThunarAsRoot.sh
  82. # <SUPER> + <F1-F12>
  83. # Screen brightness controls (extra)
  84. bindsym $super+F3 exec ~/.myScripts/brightness_up.sh
  85. bindsym $super+F2 exec ~/.myScripts/brightness_down.sh
  86. # bindsym XF86MonBrightnessUp exec ~/.myScripts/brightness_up.sh
  87. # bindsym XF86MonBrightnessDown exec ~/.myScripts/brightness_down.sh
  88. # Volume controls for more than 100%
  89. bindsym $super+F7 exec pactl set-sink-mute @DEFAULT_SINK@ toggle
  90. bindsym $super+F8 exec ~/.myScripts/volume_down.sh
  91. bindsym $super+F9 exec ~/.myScripts/volume_up.sh
  92. # <ALT> + <F1-F12>
  93. bindsym $alt+F4 exec ~/Programs/ByeBye/ByeBye
  94. # Hotkeys i3
  95. # Change focus between windows (containers)
  96. bindsym $super+h focus left
  97. bindsym $super+j focus down
  98. bindsym $super+k focus up
  99. bindsym $super+l focus right
  100. # Navigate workspaces next / previous
  101. bindsym $super+Right workspace next
  102. bindsym $super+Left workspace prev
  103. # Move focused window (container)
  104. bindsym $super+Shift+h move left
  105. bindsym $super+Shift+j move down
  106. bindsym $super+Shift+k move up
  107. bindsym $super+Shift+l move right
  108. # Alternatively, you can use the cursor keys:
  109. bindsym $super+Shift+Left move left
  110. bindsym $super+Shift+Down move down
  111. bindsym $super+Shift+Up move up
  112. bindsym $super+Shift+Right move right
  113. # Shrink/Grow the window's width/height
  114. bindsym $super+Ctrl+h resize shrink width 5 px or 5 ppt
  115. bindsym $super+Ctrl+j resize grow height 5 px or 5 ppt
  116. bindsym $super+Ctrl+k resize shrink height 5 px or 5 ppt
  117. bindsym $super+Ctrl+l resize grow width 5 px or 5 ppt
  118. # Same bindings, but for the arrow keys
  119. bindsym $super+Ctrl+Left resize shrink width 5 px or 5 ppt
  120. bindsym $super+Ctrl+Down resize grow height 5 px or 5 ppt
  121. bindsym $super+Ctrl+Up resize shrink height 5 px or 5 ppt
  122. bindsym $super+Ctrl+Right resize grow width 5 px or 5 ppt
  123. # Workspace back and forth (with/without active container)
  124. bindsym $super+Escape workspace back_and_forth
  125. # Workspace_auto_back_and_forth yes
  126. # bindsym $super+Shift+b move container to workspace back_and_forth; workspace back_and_forth
  127. # Fullscreen mode for the focused window (container)
  128. bindsym $super+f fullscreen toggle
  129. # Toggle tiling / floating
  130. bindsym $super+Shift+f floating toggle
  131. # Split in horizontal or vertical orientation
  132. bindsym $super+s split toggle
  133. # bindsym $super+g split v;exec $mynotify 'tile horizontally'
  134. # bindsym $super+v split h;exec $mynotify 'tile vertically'
  135. # Change container layout (stacked, tabbed, toggle split)
  136. bindsym $super+a layout stacking
  137. bindsym $super+b layout tabbed
  138. bindsym $super+t layout toggle split
  139. # bindsym $super+Shift+w layout stacking
  140. # bindsym $super+Shift+t layout tabbed
  141. # bindsym $super+Shift+e layout toggle split
  142. # Change focus between tiling / floating windows
  143. bindsym $alt+Tab focus mode_toggle
  144. # bindsym $super+space focus mode_toggle
  145. # Move the currently focused window to the scratchpad (minimize)
  146. bindsym $alt+n move scratchpad
  147. # Show minimized window (container)
  148. # # Show the next scratchpad window or hide the focused scratchpad window.
  149. # # If there are multiple scratchpad windows, this command cycles through them.
  150. bindsym $super+Control+n scratchpad show
  151. # # focus the parent container
  152. # bindsym $super+Shift+p focus parent
  153. # # focus the child container
  154. # bindsym $super+Shift+i focus child
  155. ################################################################################
  156. # Key modes
  157. ################################################################################
  158. # Set shut down, restart and locking features
  159. bindsym $super+0 mode "$supere_system"
  160. set $supere_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
  161. mode "$supere_system" {
  162. bindsym l exec --no-startup-id i3exit lock, mode "default"
  163. bindsym s exec --no-startup-id i3exit suspend, mode "default"
  164. bindsym u exec --no-startup-id i3exit switch_user, mode "default"
  165. bindsym e exec --no-startup-id i3exit logout, mode "default"
  166. bindsym h exec --no-startup-id i3exit hibernate, mode "default"
  167. bindsym r exec --no-startup-id i3exit reboot, mode "default"
  168. bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
  169. # Exit system mode: "Enter" or "Escape"
  170. bindsym Return mode "default"
  171. bindsym Escape mode "default"
  172. bindsym $super+0 mode "default"
  173. }
  174. # Dmenu mode
  175. bindsym $alt+m mode "Dmenu"
  176. mode "Dmenu" {
  177. # These bindings trigger as soon as you enter the Dmenu mode
  178. bindsym c exec ~/.myScripts/dmscripts/dm-edit-configs.sh
  179. bindsym p exec ~/.myScripts/dmscripts/dm-run-programs.sh
  180. bindsym s exec ~/.myScripts/dmscripts/dm-run-scripts.sh
  181. bindsym x exec ~/.myScripts/dmscripts/dm-system-exit.sh
  182. # back to normal: Enter or Escape or $super+r
  183. bindsym Return mode "default"
  184. bindsym Escape mode "default"
  185. bindsym $alt+m mode "default"
  186. }
  187. ################################################################################
  188. # Mouse bindings
  189. ################################################################################
  190. # Super+RBClick (close window)
  191. bindsym --whole-window $super+button2 kill
  192. # win+right button toggles floating
  193. # bindsym $super+button3 floating toggle
  194. ################################################################################
  195. # Workspaces
  196. # Define names for default workspaces
  197. # We use variables to avoid repeating the names in multiple places
  198. ################################################################################
  199. # "1  ", "2  ", "3  ", "4  ", "5  ", "6  ", "7  ", "8  ", "9  "
  200. set $ws1 "1  "
  201. set $ws2 "2  "
  202. set $ws3 "3  "
  203. set $ws4 "4  "
  204. set $ws5 "5  "
  205. set $ws6 "6  "
  206. set $ws7 "7  "
  207. set $ws8 "8  "
  208. set $ws9 "9  "
  209. # Switch to workspace
  210. bindsym $super+1 workspace number $ws1
  211. bindsym $super+2 workspace number $ws2
  212. bindsym $super+3 workspace number $ws3
  213. bindsym $super+4 workspace number $ws4
  214. bindsym $super+5 workspace number $ws5
  215. bindsym $super+6 workspace number $ws6
  216. bindsym $super+7 workspace number $ws7
  217. bindsym $super+8 workspace number $ws8
  218. bindsym $super+9 workspace number $ws9
  219. # Move focused container to workspace and follow it
  220. bindsym $super+Shift+1 move container to workspace number $ws1; workspace $ws1
  221. bindsym $super+Shift+2 move container to workspace number $ws2; workspace $ws2
  222. bindsym $super+Shift+3 move container to workspace number $ws3; workspace $ws3
  223. bindsym $super+Shift+4 move container to workspace number $ws4; workspace $ws4
  224. bindsym $super+Shift+5 move container to workspace number $ws5; workspace $ws5
  225. bindsym $super+Shift+6 move container to workspace number $ws6; workspace $ws6
  226. bindsym $super+Shift+7 move container to workspace number $ws7; workspace $ws7
  227. bindsym $super+Shift+8 move container to workspace number $ws8; workspace $ws8
  228. bindsym $super+Shift+9 move container to workspace number $ws9; workspace $ws9
  229. # Kill focused window
  230. # bindsym $super+Shift+q kill
  231. bindsym $super+Shift+c kill
  232. bindsym $super+Shift+x --release exec xkill
  233. # Reload the configuration file
  234. bindsym $super+Shift+r reload
  235. # Restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  236. bindsym $super+Shift+Control+r restart
  237. # exit i3 (logs you out of your X session)
  238. bindsym $super+Shift+q 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'"
  239. ################################################################################
  240. # Open applications on specific workspaces
  241. ################################################################################
  242. # assign [class="dolphin"] $ws3
  243. assign [class="VirtualBox Manager"] $ws5
  244. assign [class="TelegramDesktop"] $ws6
  245. assign [class="viber"] $ws6
  246. assign [class="Gimp-2.10"] $ws7
  247. assign [class="thunderbird"] $ws9
  248. ################################################################################
  249. # Open specific applications in floating mode
  250. ################################################################################
  251. for_window [class="xfce4-appfinder"] floating enable border pixel 1
  252. for_window [title="Терминатор Параметры"] floating enable border pixel 1
  253. for_window [title="Terminator Preferences"] floating enable border pixel 1
  254. for_window [class="Gdebi-gtk"] floating enable
  255. for_window [class="power-manager"] floating enable
  256. for_window [class="Galculator"] floating enable border pixel 1
  257. for_window [title="Калькулятор"] floating enable border pixel 1
  258. for_window [class="Pavucontrol"] floating enable border pixel 1
  259. for_window [class="BookletForEpsonXP-100"] floating enable border pixel 1
  260. for_window [class="Deadbeef"] floating enable border pixel 1
  261. for_window [class="Gcolor*"] floating enable border pixel 1
  262. for_window [class="Lxappearance"] floating enable sticky enable border pixel 1
  263. for_window [class="Nitrogen"] floating enable sticky enable border pixel 1
  264. for_window [class="qt5ct"] floating enable sticky enable border pixel 1
  265. for_window [class="Volumeicon"] floating enable border pixel 1
  266. for_window [title="File Transfer*"] floating enable
  267. for_window [title="i3_help"] floating enable sticky enable border normal
  268. for_window [class="Lightdm-gtk-greeter-settings"] floating enable
  269. for_window [class="Simple-scan"] floating enable border normal
  270. for_window [class="(?i)System-config-printer.py"] floating enable border normal
  271. # for_window [class="(?i)virtualbox"] floating enable border normal
  272. # for_window [class="(?i)virtualbox"] fullscreen enable
  273. # for_window [class="Manjaro Settings Manager"] floating enable border normal
  274. ################################################################################
  275. # Autostart applications
  276. ################################################################################
  277. exec_always --no-startup-id $HOME/.config/polybar/launch.sh
  278. exec --no-startup-id setxkbmap -layout us,ru -option grp:caps_toggle &
  279. # exec_always --no-startup-id $HOME/.config/i3/alternating_layouts.py &
  280. # # exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & # for Debian
  281. exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
  282. # exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & # for Arch
  283. exec --no-startup-id /usr/libexec/xfce-polkit & # for Void
  284. exec --no-startup-id xrdb $HOME/.Xresources &
  285. exec --no-startup-id nitrogen --restore; sleep 1; picom --config $HOME/.config/picom/picom.conf &
  286. exec --no-startup-id volumeicon &
  287. exec --no-startup-id nm-applet &
  288. exec --no-startup-id xfce4-power-manager &
  289. exec --no-startup-id xfce4-clipman &
  290. exec --no-startup-id conky -c $HOME/.myScripts/conky/conkyrc &
  291. exec --no-startup-id /usr/bin/python /usr/bin/udiskie &
  292. exec --no-startup-id xiccd &
  293. exec --no-startup-id python /usr/bin/redshift-gtk &
  294. exec --no-startup-id ~/Programs/CheckInternetConnection/CheckInternetConnection &
  295. exec --no-startup-id ~/Programs/AppImageApplications/BreakTimer.AppImage &
  296. exec --no-startup-id birdtray &
  297. # exec --no-startup-id sleep 10
  298. # exec --no-startup-id xmodmap -e "keycode 135 = Super_R" & # Map the menu button to right super
  299. # ################################################################################
  300. # # Sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa
  301. # # -> Pulseaudio later!
  302. # ################################################################################
  303. # bindsym $super+Ctrl+m exec $myTerm -e 'alsamixer'
  304. # # #exec --no-startup-id pulseaudio
  305. # # #exec --no-startup-id pa-applet
  306. # # bindsym $super+Ctrl+m exec pavucontrol
  307. # ################################################################################
  308. # # Start i3bar to display a workspace bar (plus the system information i3status if available)
  309. # bar {
  310. # # # status_command i3blocks
  311. # # # i3bar_command i3bar
  312. # # # status_command i3status
  313. # # status_command python3 ~/.config/i3pystatus/config.py
  314. # # # # i3pystatus -c ~/.config/i3pystatus/config.py
  315. # position top
  316. # workspace_buttons yes
  317. # # height 25
  318. # # # separator_symbol ":|:"
  319. # #
  320. # # ## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
  321. # # # tray_output primary
  322. # # # tray_output eDP1
  323. # #
  324. # # bindsym button4 nop
  325. # # bindsym button5 nop
  326. # # # font xft:URWGothic-Book 11
  327. # # # font pango:Ubuntu, Sarasa Mono SC Nerd, FontAwesome, Icons 11
  328. # font pango:Ubuntu, Ubuntu Nerd Font 11
  329. # # font xft:Ubuntu, FontAwesome, Icons 11
  330. # #
  331. # # strip_workspace_numbers no
  332. # # strip_workspace_name no
  333. # # # workspace_min_width 30
  334. # #
  335. # colors {
  336. # background #263238
  337. # statusline #dbdcd5
  338. # separator #dbdcd5
  339. #
  340. # # border backgr. text
  341. # focused_workspace #009185 #009185 #dbdcd5
  342. # active_workspace #263238 #263238 #dbdcd5
  343. # inactive_workspace #263238 #263238 #dbdcd5
  344. # binding_mode #ffbb00 #ffbb00 #070800
  345. # urgent_workspace #cc241d #cc241d #dbdcd5
  346. #
  347. # # default colors
  348. # # background #222D31
  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 #222D31 #EEE8D5
  356. # # binding_mode #16a085 #2C2C2C #F9FAF9
  357. # # urgent_workspace #16a085 #FDF6E3 #E5201D
  358. #
  359. # # Materia Manjaro colors
  360. # # background = #263238
  361. # # foreground = #dbdcd5
  362. # # alert = #cc241d
  363. # # volume-min = #a3be8c
  364. # # volume-med = #ebcb8b
  365. # # volume-max = #bf616a
  366. # # current_screen_tab = "#585E72"
  367. # # group_names = "#dbdcd5"
  368. # # line_color_curr_tab = "#009185"
  369. # # line_color_other_tab = "#8d62a9"
  370. # # even_widgets = "#6182b8"
  371. # # window_name = "#24d2af"
  372. # # cpu = #e2a0a5
  373. # # memory = "#ffb62c"
  374. # # net_speed_up = "#24d2af"
  375. # # net_speed_down = "#91b859"
  376. # # layout_widget = "#ffffff"
  377. # # keyboard = "#39adb5"
  378. # # date_time = "#6182b8"
  379. # # ; date_time = "#f2b06a"
  380. # # sys_tray = "#404555"
  381. # # ; updates = "#e2e0a5"
  382. # # updates = "#ffcb6b"
  383. # # weather = "#eb7bef"
  384. # # ; weather = "#ec30f3"
  385. # # ; weather = "#e2e0a5"
  386. # # chord = "#d79921"
  387. # }
  388. # }