diff --git a/.config/i3/config b/.config/i3/config index f15c8d0..8f6b442 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -1,4 +1,4 @@ -##--- General ---## +#--- General ---# # Basic definitions for_window [class="^.*"] border pixel 2 @@ -13,20 +13,19 @@ set $mod2 Mod1 floating_modifier $mod # Application startup -exec_always --no-startup-id $HOME/.scripts/panel/lemonbar.sh & exec_always --no-startup-id $HOME/.scripts/wm/wallpaper.sh & +exec --no-startup-id $HOME/.scripts/panel/lemonbar.sh & exec --no-startup-id firefox exec --no-startup-id urxvt -exec --no-startup-id thunar --daemon exec --no-startup-id thunar exec --no-startup-id xss-lock -- $HOME/.scripts/wm/lock.sh & # Colors -set_from_resource $bgcolor Wmcolor.bgcolor #000000 -set_from_resource $bgcolor_inactive Wmcolor.bgcolor_Inactive #000000 -set_from_resource $bgcolor_urgent Wmcolor.bgcolor_Urgent #000000 -set_from_resource $fgcolor Wmcolor.fgcolor #000000 -set_from_resource $fgcolor_inactive Wmcolor.fgcolor_Inactive #000000 +set_from_resource $bgcolor WmColor.bgcolor #000000 +set_from_resource $bgcolor_inactive WmColor.bgcolor_Inactive #000000 +set_from_resource $bgcolor_urgent WmColor.bgcolor_Urgent #000000 +set_from_resource $fgcolor WmColor.fgcolor #000000 +set_from_resource $fgcolor_inactive WmColor.fgcolor_Inactive #000000 # Xresources colors set_from_resource $darkblack color0 #000000 @@ -57,64 +56,19 @@ client.urgent $bgcolor_urgent $bgcolor_urgent $white $dar # Font font pango:DejaVu Sans 8 -##--- Bindings ---## +#--- Workspaces ---# -#--- Basic bindings ---# - -# Start a terminal -bindsym $mod+Return exec i3-sensible-terminal - -# Kill focused window -bindsym $mod+Shift+q kill - -# Floating -bindsym $mod+space focus mode_toggle -bindsym $mod+Shift+space floating toggle, sticky disable - -#--- Letter key bindings ---# - -# Start rofi (program launcher) -bindsym $mod+d exec rofi -show run - -# Split horizontal / vertical -bindsym $mod+h split h -bindsym $mod+v split v - -# Container -bindsym $mod+f fullscreen toggle -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# Lock -bindsym $mod+$mod2+l exec $HOME/.scripts/wm/lock.sh - -# mpv -bindsym $mod+m exec --no-startup-id $HOME/.scripts/mpv.sh -bindsym $mod+Shift+m exec --no-startup-id $HOME/.scripts/mpv.sh queue - -# Restart i3 inplace -bindsym $mod+Shift+r restart -# Exit i3 -bindsym $mod+Shift+e exec --no-startup-id prompt.sh "Logout and exit i3?" "i3-msg exit" -bindsym $mod+Shift+s exec --no-startup-id prompt.sh "Shutdown computer?" "poweroff" -bindsym $mod+Shift+w exec --no-startup-id prompt.sh "Reboot computer?" "reboot" - -# Sticky floating window -bindsym $mod+Shift+f fullscreen disable, floating enable, sticky enable; exec --no-startup-id $HOME/.scripts/wm/hover.sh - -#--- Workspace bindings ---# - -set $ws1 "1 " -set $ws2 "2 " -set $ws3 "3 " -set $ws4 "4 " -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" +# Set workspaces +set_from_resource $ws1 WmWorkSpace.ws1 0 +set_from_resource $ws2 WmWorkSpace.ws2 0 +set_from_resource $ws3 WmWorkSpace.ws3 0 +set_from_resource $ws4 WmWorkSpace.ws4 0 +set_from_resource $ws5 WmWorkSpace.ws5 0 +set_from_resource $ws6 WmWorkSpace.ws6 0 +set_from_resource $ws7 WmWorkSpace.ws7 0 +set_from_resource $ws8 WmWorkSpace.ws8 0 +set_from_resource $ws9 WmWorkSpace.ws9 0 +set_from_resource $ws10 WmWorkSpace.ws0 0 # Assign workspace to monitor workspace $ws1 output eDP-1 @@ -124,81 +78,16 @@ workspace $ws4 output eDP-1 workspace $ws5 output eDP-1 # Switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 -bindsym $mod+0 workspace $ws10 - -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9 -bindsym $mod+Shift+0 move container to workspace $ws10 - -# Move workspace -bindsym $mod+Control+Left move workspace to output left -bindsym $mod+Control+Right move workspace to output right +bindsym $mod+$mod2+0 workspace 0 # Wont load config without -# Get window name -# xprop -> WM_CLASS +# Open program on specific workspace assign [class="Firefox"] $ws1 -assign [class="qutebrowser"] $ws1 assign [class="URxvt"] $ws3 assign [class="Thunar"] $ws4 assign [class="krita"] $ws5 +# Set program properties for_window [class="krita"] focus for_window [class="feh"] floating enable for_window [class="QtBank"] floating enable - -#--- Function key bindings ---# - -# Screen brightness -bindsym $mod+F3 exec --no-startup-id brightnesscontrol.sh u 10 -bindsym $mod+F2 exec --no-startup-id brightnesscontrol.sh d 10 - -#--- Arrow key bindings ---# - -# Change focus -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right -# Move focused window -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right -# Resize window -bindsym $mod+$mod2+Left resize shrink width 10 px or 10 ppt -bindsym $mod+$mod2+Down resize shrink height 10 px or 10 ppt -bindsym $mod+$mod2+Up resize grow height 10 px or 10 ppt -bindsym $mod+$mod2+Right resize grow width 10 px or 10 ppt - -#--- Media key bindings ---# - -# Screenshot -set $capture "$HOME/pictures/screen-captures/" -bindsym --release Print exec scrot -e "mv \$f "$capture # Fullscreen -bindsym --release Shift+Print exec scrot -s -e "mv \$f "$capture # Selection -bindsym --release $mod+Print exec scrot -u -e "mv \$f "$capture # Focused window - -# Volume -bindsym XF86AudioRaiseVolume exec --no-startup-id mediacontrol.sh up 5 -bindsym XF86AudioLowerVolume exec --no-startup-id mediacontrol.sh down 5 -bindsym XF86AudioMute exec --no-startup-id mediacontrol.sh toggle - -# Touchscreen toggle -bindsym XF86HomePage exec --no-startup-id touchscreen.sh +for_window [class="Qemu-system-i386"] floating enable diff --git a/.config/sxhkd/i3 b/.config/sxhkd/i3 new file mode 100644 index 0000000..802bb28 --- /dev/null +++ b/.config/sxhkd/i3 @@ -0,0 +1,65 @@ +# -*-conf-*- + +#--- General ---# + +# Kill focused window +super + shift + q + i3-msg kill + +# Split container horizontal / vertical +super + {h,v} + i3-msg split {h,v} + +# Container layout +super + {s,w,e} + i3-msg layout {stacking,tabbed,toggle split} + +#--- Control ---# + +# Reload i3 config +super + shift + r + i3-msg restart + +# Logout +super + shift + e + prompt.sh "Logout and exit i3?" "i3-msg exit" + +#--- Window ---# + +# Fullscreen window +super + f + i3-msg fullscreen toggle + +# Focus / move window +super + {_,shift} + {Left,Down,Up,Right} + i3-msg {focus,move} {left,down,up,right} + +# Resize window +super + alt + {Left,Down,Up,Right} + i3-msg resize {shrink width,shrink height,grow height,grow width} \ + 10 px or 10 ppt + +# Floating window +super + space + i3-msg focus mode_toggle +super + shift + space + i3-msg floating toggle, sticky disable + +# Sticky floating window +super + shift + f + i3-msg fullscreen disable, floating enable, sticky enable; \ + $HOME/.scripts/wm/hover.sh + +#--- Workspace ---# + +# Switch to workspace +super + {0-9} + i3-msg workspace $WS{0-9} + +# Move focused container to workspace +super + shift + {0-9} + i3-msg move container to workspace $WS{0-9} + +# Move workspace to monitor +super + ctrl + {Left,Right} + i3-msg move workspace to output {left,right} diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc new file mode 100644 index 0000000..b8b3a39 --- /dev/null +++ b/.config/sxhkd/sxhkdrc @@ -0,0 +1,52 @@ +# -*-conf-*- + +#--- General ---# + +# Start a terminal +super + Return + $TERMINAL + +# Start rofi (program launcher) +super + d + rofi -show run + +# mpv +super + {_,shift} + m + mpv.sh {_,queue} + +#--- Control ---# + +# Reload sxhkd config and panel +super + ctrl + r + pkill -USR1 -x sxhkd; $HOME/.scripts/panel/lemonbar.sh & + +# Lock +super + alt + l + $HOME/.scripts/wm/lock.sh + +# Shutdown +super + shift + s + prompt.sh "Shutdown computer?" "poweroff" + +# Reboot +super + shift + w + prompt.sh "Reboot computer?" "reboot" + +# Screen brightness +super + {F2,F3} + brightnesscontrol.sh {down,up} 10 + +# Screenshot (fullscreen, selection, focused window) +{_,shift,super} + @Print + scrot {_,-s,-u} -e "mv \$f $CAPTURE" + +# Volume +XF86Audio{LowerVolume,RaiseVolume,Mute} + mediacontrol.sh {down 5,up 5,toggle} + +# Touchpad toggle +# XF86iTouch + +# Touchscreen toggle +XF86HomePage + touchscreen.sh diff --git a/.config/xorg/Xresources b/.config/xorg/Xresources index 6c82d3d..a56862b 100644 --- a/.config/xorg/Xresources +++ b/.config/xorg/Xresources @@ -29,12 +29,24 @@ *.color7: #707880 *.color15: #c5c8c6 -! i3-wm colors -Wmcolor.bgcolor: #404552 -Wmcolor.bgcolor_Inactive: #2b2e39 -Wmcolor.bgcolor_Urgent: #dc7a43 -Wmcolor.fgcolor: #ffffff -Wmcolor.fgcolor_Inactive: #676e7d +! WM colors +WmColor.bgcolor: #404552 +WmColor.bgcolor_Inactive: #2b2e39 +WmColor.bgcolor_Urgent: #dc7a43 +WmColor.fgcolor: #ffffff +WmColor.fgcolor_Inactive: #676e7d + +! WM workspace names +WmWorkSpace.ws1: "1 " +WmWorkSpace.ws2: "2 " +WmWorkSpace.ws3: "3 " +WmWorkSpace.ws4: "4 " +WmWorkSpace.ws5: "5" +WmWorkSpace.ws6: "6" +WmWorkSpace.ws7: "7" +WmWorkSpace.ws8: "8" +WmWorkSpace.ws9: "9" +WmWorkSpace.ws0: "10" Xcursor.theme: capitaine-cursors diff --git a/.config/xorg/xinitrc b/.config/xorg/xinitrc index 5f34fc3..2b2924e 100644 --- a/.config/xorg/xinitrc +++ b/.config/xorg/xinitrc @@ -7,20 +7,25 @@ xrandr --newmode "3000x2000_48.00" 405.25 3000 3232 3552 4104 2000 2003 2013 205 xrandr --addmode eDP-1 3000x2000_48.00 xrandr --output eDP-1 --mode 3000x2000_48.00 --primary -# Program starting -dunst & -redshift & - -# Screensaver +# Disable screensaver xset s off xset -dpms -## Custom keybinds - -# Clear all mappings +# Clear all key mappings setxkbmap -option '' # Swap capslock with escape setxkbmap -option caps:swapescape +# Set touchpad toggle key symbol +xmodmap -e "keycode 93 = XF86iTouch" + +# Daemon starting +dunst & +redshift & + +thunar --daemon & + +sxhkd "$XDG_CONFIG_HOME/sxhkd/i3" & + exec i3 diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile index 86ee5d8..1ba335f 100644 --- a/.config/zsh/.zprofile +++ b/.config/zsh/.zprofile @@ -1,8 +1,9 @@ ## Settings # Directories -export PATH="$PATH:$HOME/.scripts" +export CAPTURE="$HOME/pictures/screen-captures" export FPATH="$FPATH:$HOME/.scripts/completion" +export PATH="$PATH:$HOME/.scripts" export XDG_CACHE_HOME="$HOME/.cache" export XDG_CONFIG_HOME="$HOME/.config" export XDG_DATA_HOME="$HOME/.local/share" @@ -36,6 +37,9 @@ export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_SCREEN_SCALE_FACTORS=2 export QT_QPA_PLATFORMTHEME="qt5ct" +# Terminal +export TERMINAL="urxvt" + # Vim export VIMINIT="source $XDG_CONFIG_HOME/vim/vimrc" @@ -43,13 +47,18 @@ export VIMINIT="source $XDG_CONFIG_HOME/vim/vimrc" export XINITRC="$XDG_CONFIG_HOME/xorg/xinitrc" export XAUTHORITY="$XDG_DATA_HOME/xorg/Xauthority" -# Colors -# Example: *.color0: #282a2e -> COLOR0=#282a2e -# Example: Wmcolor.bgcolor: #404552 -> BGCOLOR=#404552 -export $(awk ' - /^\*.[a-zA-Z0-9]+: +#/ {print toupper(substr($1, 3, length($1) - 3)) "=" $2} - /^Wmcolor./ {print toupper(substr($1, 9, length($1) - 9)) "=" $2} -' "$XDG_CONFIG_HOME/xorg/Xresources") +# Colors, window manager colors, workspace names +# Example: *.color0: #282a2e -> COLOR0=#282a2e +# Example: WmColor.bgcolor: #404552 -> BGCOLOR=#404552 +# Example: WmWorkSpace.ws0: "10" -> WS0="10" +EXPORTS=$(sed -nE \ + -e 's/^\*.(\w+): *#/\U\1=#/p' \ + -e 's/^WmColor.(\w+): */\U\1=/p' \ + -e 's/^WmWorkSpace.(\w+): */\U\1=/p' \ + "$XDG_CONFIG_HOME/xorg/Xresources") +echo "$EXPORTS" | while read -r line; do + export $line +done ## Login diff --git a/packages b/packages index 03c1faa..bdbbf6a 100644 --- a/packages +++ b/packages @@ -94,6 +94,7 @@ scrot signal-desktop-bin sloccount smartmontools +sxhkd sysstat texlive-bibtexextra texlive-core