Simplify i3 config, colors from Xressources

This commit is contained in:
Thomas Dehaeze 2020-03-01 21:39:11 +01:00
parent ddd338ce1d
commit b7b6db5f55

View File

@ -21,147 +21,90 @@
#+PROPERTY: header-args:conf+ :tangle ~/.config/i3/config
:END:
* Basic configuration
** Colors
#+begin_src conf
set $bg #32302f
set $bg1 #3c3836
set $bg2 #504945
set $bg3 #665c54
set $bg4 #7c6f64
set $fg #ebdbb2
set $fg1 #ebdbb2
set $fg2 #d5c4a1
set $fg3 #bdae93
set $fg4 #a89984
set $gray #a89984
set $red #cc241d
set $green #98971a
set $yellow #d79921
set $blue #458588
set $purple #b16286
set $aqua #689d6a
set $orange #d65d0e
# i3 config file (v4)
#+end_src
** Mod Key
* Mod Key
Set mod key (Mod1=<Alt>, Mod4=<Super>)
#+BEGIN_SRC conf
set $mod Mod4
#+end_src
** Border Style
* Border Style
#+begin_src conf
# Configure border style <normal|1pixel|pixel xx|none|pixel>
# Use custom colors for black
new_window pixel 1
new_float normal
#+end_src
# Hide borders
Hide borders
#+begin_src conf
hide_edge_borders smart
#+end_src
** Font for window titles
* Font for window titles
#+begin_src conf
font Hack Nerd Font 11
#+end_src
** Color palette used for the terminal ( ~/.Xresources file )
Colors are gathered based on the documentation https://i3wm.org/docs/userguide.html#xresources.
* Colors Variables
#+begin_src conf
set_from_resource $darkred color1 #000000
set_from_resource $red color9 #000000
set_from_resource $darkgreen color2 #000000
set_from_resource $green color10 #000000
set_from_resource $darkyellow color3 #000000
set_from_resource $yellow color11 #000000
set_from_resource $darkblue color4 #000000
set_from_resource $blue color12 #000000
set_from_resource $darkmagenta color5 #000000
set_from_resource $magenta color13 #000000
set_from_resource $darkcyan color6 #000000
set_from_resource $cyan color14 #000000
set_from_resource $darkwhite color7 #000000
set_from_resource $white color15 #000000
# Use custom colors for black
set $black #282828
set $darkblack #1d2021
set $transparent #00000000
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
* Theme colors
#+begin_src conf
# class border backgr. text indic. child_border
client.focused $blue $blue $fg $blue
client.focused_inactive $bg $bg $fg $bg
client.urgent $bg $bg $fg $bg
client.unfocused $bg $bg $fg $bg
client.placeholder $bg $bg $fg $bg
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 #32302F
client.background $bg
#+end_src
** Settings for i3-gaps
* Various Config
Layout mode for new containers
#+begin_src conf
# Set inner/outer gaps
gaps inner 10
gaps outer -2
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
# smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
# smart_borders on
# 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.
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
workspace_layout default
#+end_src
** Workspace names
#+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
# for_window [class=".*"] border pixel 0
#+end_src
#+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
@ -175,41 +118,33 @@ To display names or symbols instead of plain workspace numbers you can use somet
set $ws8 8
#+end_src
** Use Mouse+$mod to drag floating windows
* Use Mouse+$mod to drag floating windows
#+begin_src conf
floating_modifier $mod
#+end_src
** Back and Forth
* Back and Forth
#+begin_src conf
workspace_auto_back_and_forth yes
#+end_src
** Application Specific
*** Open applications on specific workspaces
* Application Specific
** Open applications on specific workspaces
#+begin_src conf
# Matlab Figures
assign[title="^Fig"] $ws6
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
** 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 [title="i3_help"] floating enable sticky enable border normal
for_window [class="Lightdm-settings"] floating enable
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Manjaro Settings Manager"] floating enable border normal
for_window [class="Pamac-manager"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="qt5ct"] floating enable sticky enable border normal
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
for_window [class="(?i)virtualbox"] floating enable border normal
for_window [class="Xfburn"] floating enable
for_window [title="^Documentation -"] floating enable border normal
for_window [class="Yad"] floating enable
@ -217,18 +152,20 @@ To display names or symbols instead of plain workspace numbers you can use somet
for_window [title="Simulink Library Browser"] floating enable
#+end_src
** Scratchpad
* Scratchpad
Move the currently focused window to the scratchpad
#+begin_src conf
# move the currently focused window to the scratchpad
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.
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_always --no-startup-id $HOME/.config/polybar/scripts/launch.sh
exec_always --no-startup-id sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.i3
exec --no-startup-id sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.i3
exec --no-startup-id $HOME/.config/polybar/scripts/launch.sh
#+end_src