Browse Source

Implement sxhkd, move i3 key binds, move workspace names to xresources

master
Riyyi 5 years ago
parent
commit
b8386a8133
  1. 157
      .config/i3/config
  2. 65
      .config/sxhkd/i3
  3. 52
      .config/sxhkd/sxhkdrc
  4. 24
      .config/xorg/Xresources
  5. 21
      .config/xorg/xinitrc
  6. 25
      .config/zsh/.zprofile
  7. 1
      packages

157
.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

65
.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}

52
.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

24
.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

21
.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

25
.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

1
packages

@ -94,6 +94,7 @@ scrot
signal-desktop-bin
sloccount
smartmontools
sxhkd
sysstat
texlive-bibtexextra
texlive-core

Loading…
Cancel
Save