Dotfiles for different machines on different branches.
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.

150 lines
4.8 KiB

1 year ago
  1. # vim: filetype=i3
  2. # File originally by Luke Smith <https://lukesmith.xyz>
  3. # This config file will use environmental variables such as $BROWSER and $TERMINAL.
  4. # You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
  5. #
  6. # export FILE="ranger"
  7. # export TERMINAL="st"
  8. # #---Basic Definitions---# #
  9. for_window [class="^.*"] border pixel 2
  10. gaps inner 15
  11. gaps outer 15
  12. set $term --no-startup-id $TERMINAL
  13. set $mod Mod4
  14. font xft:mono 16
  15. # #---Dropdown Windows---# #
  16. # General dropdown window traits. The order can matter.
  17. for_window [instance="dropdown_*"] floating enable
  18. for_window [instance="dropdown_*"] move scratchpad
  19. for_window [instance="dropdown_*"] sticky enable
  20. for_window [instance="dropdown_*"] scratchpad show
  21. for_window [instance="dropdown_tmuxdd"] resize set 625 450
  22. for_window [instance="dropdown_dropdowncalc"] resize set 800 300
  23. for_window [instance="dropdown_tmuxdd"] border pixel 3
  24. for_window [instance="dropdown_dropdowncalc"] border pixel 2
  25. for_window [instance="dropdown_*"] move position center
  26. bar {
  27. font pango:mono 14
  28. status_command i3blocks
  29. position top
  30. mode dock
  31. modifier None
  32. }
  33. # #---Basic Bindings---# #
  34. bindsym $mod+Shift+Escape exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
  35. # #---Letter Key Bindings---# #
  36. bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
  37. bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] exec --no-startup-id kill -9 `xdotool getwindowfocus getwindowpid`
  38. bindsym $mod+t split toggle
  39. bindsym $mod+Shift+t gaps inner current set 15; gaps outer current set 15
  40. bindsym $mod+Shift+z exec --no-startup-id i3resize left
  41. bindsym $mod+u exec --no-startup-id ddspawn tmuxdd
  42. bindsym $mod+Shift+u exec --no-startup-id i3resize down
  43. bindsym $mod+Shift+i exec --no-startup-id i3resize up
  44. bindsym $mod+o sticky toggle
  45. bindsym $mod+Shift+o exec --no-startup-id i3resize right
  46. bindsym $mod+a exec --no-startup-id ddspawn dropdowncalc -f mono:pixelsize=24
  47. bindsym $mod+s gaps inner current plus 5
  48. bindsym $mod+Shift+s gaps inner current minus 5
  49. bindsym $mod+Shift+d gaps inner current set 0; gaps outer current set 0
  50. bindsym $mod+f fullscreen toggle
  51. bindsym $mod+h focus left
  52. bindsym $mod+Shift+h move left 30
  53. bindsym $mod+j focus down
  54. bindsym $mod+Shift+j move down 30
  55. bindsym $mod+k focus up
  56. bindsym $mod+Shift+k move up 30
  57. bindsym $mod+l focus right
  58. bindsym $mod+Shift+l move right 30
  59. bindsym $mod+y gaps outer current plus 5
  60. bindsym $mod+Shift+y gaps outer current minus 5
  61. bindsym $mod+b bar mode toggle
  62. bindsym $mod+Shift+b floating toggle; sticky toggle; exec --no-startup-id hover left
  63. bindsym $mod+Shift+n floating toggle; sticky toggle; exec --no-startup-id hover right
  64. # #---Workspace Bindings---# #
  65. set $ws1 "DEF"
  66. set $ws2 "WWW"
  67. set $ws3 "MED"
  68. set $ws4 "CHT"
  69. set $ws5 "DOC"
  70. set $ws6 "WRK"
  71. set $ws7 "EXT"
  72. set $ws8 "ET1"
  73. set $ws9 "ET2"
  74. set $ws0 "ET3"
  75. # switch to workspace
  76. bindsym $mod+1 workspace $ws1
  77. bindsym $mod+2 workspace $ws2
  78. bindsym $mod+3 workspace $ws3
  79. bindsym $mod+4 workspace $ws4
  80. bindsym $mod+5 workspace $ws5
  81. bindsym $mod+6 workspace $ws6
  82. bindsym $mod+7 workspace $ws7
  83. bindsym $mod+8 workspace $ws8
  84. bindsym $mod+9 workspace $ws9
  85. bindsym $mod+0 workspace $ws0
  86. # move focused container to workspace
  87. bindsym $mod+Shift+1 move container to workspace $ws1
  88. bindsym $mod+Shift+2 move container to workspace $ws2
  89. bindsym $mod+Shift+3 move container to workspace $ws3
  90. bindsym $mod+Shift+4 move container to workspace $ws4
  91. bindsym $mod+Shift+5 move container to workspace $ws5
  92. bindsym $mod+Shift+6 move container to workspace $ws6
  93. bindsym $mod+Shift+7 move container to workspace $ws7
  94. bindsym $mod+Shift+8 move container to workspace $ws8
  95. bindsym $mod+Shift+9 move container to workspace $ws9
  96. bindsym $mod+Shift+0 move container to workspace $ws0
  97. for_window [class="Pinentry"] sticky enable
  98. for_window [class="sent"] border pixel 0px
  99. for_window [title="GIMP Startup"] move workspace $ws5
  100. for_window [class="Gimp"] move workspace $ws5
  101. for_window [window_role="GtkFileChooserDialog"] resize set 800 600
  102. for_window [window_role="GtkFileChooserDialog"] move position center
  103. for_window [title="Default - Wine desktop"] floating enable
  104. # Bindings to make the webcam float and stick.
  105. for_window [title="mpvfloat"] floating enable
  106. for_window [title="mpvfloat"] sticky enable
  107. for_window [title="mpvfloat"] border pixel 0
  108. no_focus [title="mpvfloat"]
  109. # #---Arrow Keys---# #
  110. bindsym $mod+Left focus left
  111. bindsym $mod+Ctrl+Left move workspace to output left
  112. bindsym $mod+Down focus down
  113. bindsym $mod+Ctrl+Down move workspace to output down
  114. bindsym $mod+Up focus up
  115. bindsym $mod+Ctrl+Up move workspace to output up
  116. bindsym $mod+Right focus right
  117. bindsym $mod+Ctrl+Right move workspace to output right
  118. bindsym $mod+Shift+Left move left
  119. bindsym $mod+Shift+Down move down
  120. bindsym $mod+Shift+Up move up
  121. bindsym $mod+Shift+Right move right