literate-dotfiles/i3.org
2021-04-25 19:10:57 +02:00

158 lines
4.5 KiB
Org Mode

#+TITLE: I3 Configuration
#+SETUPFILE: ./setup/org-setup-file.org
#+PROPERTY: header-args:conf :comments none
#+PROPERTY: header-args:conf+ :mkdirp yes
#+PROPERTY: header-args:conf+ :tangle ~/.config/i3/config
#+begin_src conf
# i3 config file (v4)
#+end_src
* Mod Key
Set mod key (Mod1=<Alt>, Mod4=<Super>)
#+BEGIN_SRC conf
set $mod Mod4
#+end_src
* Border Style
#+begin_src conf
# Use custom colors for black
new_window pixel 1
new_float normal
#+end_src
Hide borders
#+begin_src conf
hide_edge_borders smart
#+end_src
* Font for window titles
#+begin_src conf
font Hack Nerd Font 11
#+end_src
* Colors Variables
#+begin_src conf
set_from_resource $bg color0 #000000
set_from_resource $darkred color1 #000000
set_from_resource $darkgreen color2 #000000
set_from_resource $darkyellow color3 #000000
set_from_resource $darkblue color4 #000000
set_from_resource $darkpurple color5 #000000
set_from_resource $darkaqua color6 #000000
set_from_resource $darkgray color7 #000000
set_from_resource $gray color8 #000000
set_from_resource $red color9 #000000
set_from_resource $green color10 #000000
set_from_resource $yellow color11 #000000
set_from_resource $blue color12 #000000
set_from_resource $purple color13 #000000
set_from_resource $aqua color14 #000000
set_from_resource $fg color15 #000000
#+end_src
* Theme colors
#+begin_src conf
# class border backgr. text indic. child_border
client.focused $darkaqua $darkaqua $fg $bg
client.focused_inactive $bg $bg $fg $bg
client.unfocused $bg $bg $fg $bg
client.urgent $bg $bg $fg $bg
client.background $bg
#+end_src
* Various Config
Layout mode for new containers
#+begin_src conf
workspace_layout default
#+end_src
#+begin_src conf
focus_follows_mouse yes
#+end_src
* Border
#+begin_src conf
default_border pixel 1
#+end_src
* Settings for i3-gaps
#+begin_src conf
gaps inner 10
gaps outer 2
#+end_src
* Workspace names
To display names or symbols instead of plain workspace numbers you can use something like: =set $ws1 1:mail= and =set $ws2 2:=.
#+begin_src conf
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
#+end_src
* Use Mouse+$mod to drag floating windows
#+begin_src conf
floating_modifier $mod
#+end_src
* Back and Forth
#+begin_src conf
workspace_auto_back_and_forth yes
#+end_src
* Application Specific
** Open applications on specific workspaces
#+begin_src conf
assign[title="^Fig"] $ws6 # Matlab Figures
for_window [title="^Fig"] layout tabbed
assign[title="^HG_Peer"] $ws6 # Name of window when export figure with matlab
#+end_src
** Open specific applications in floating mode
#+begin_src conf
for_window [title="File Transfer*"] floating enable
for_window [class="GParted"] floating enable border normal
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Pavucontrol"] floating enable
for_window [class="Arandr"] floating enable
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [title="^Documentation -"] floating enable border normal
for_window [class="Yad"] floating enable
for_window [title="Bluetooth Devices"] floating enable
for_window [title="Simulink Library Browser"] floating enable
for_window [class="Floating"] floating enable, resize set 800 600, move position 1100 460
for_window [class="mpv"] floating enable # Size/Position is defined in mpv.conf
for_window [class="Sxiv"] floating enable, resize set 800 600, move position center
for_window [title="khal"] floating enable, resize set 600 600, move position center
for_window [title="ncmpcpp"] floating enable, resize set 800 400, move position center
for_window [title="nmtui"] floating enable, resize set 800 600, move position center
for_window [title="linkding"] floating enable, resize set 800 600, move position center
for_window [title="Xournal"] floating enable, resize set 1100 750, move position center
#+end_src
* Scratchpad
Move the currently focused window to the scratchpad
#+begin_src conf
bindsym $mod+Shift+BackSpace move scratchpad
#+end_src
Show the next scratchpad window or hide the focused scratchpad window.
If there are multiple scratchpad windows, this command cycles through them.
#+begin_src conf
bindsym $mod+BackSpace scratchpad show
#+end_src
* Run Polybar and SXHKD
#+begin_src conf
exec --no-startup-id sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.i3
exec --no-startup-id polybar top >>/tmp/polybar.log 2>&1 &
#+end_src