commit b6a834721a64613733ec095d3cc81e6abf479ae5
parent f0367a9a93f0d0b8890381380f4f9f4f1f9d3c1d
Author: Szymon Mikulicz <szymon.mikulicz@posteo.net>
Date: Tue, 2 Apr 2019 01:49:07 +0200
Add sway
Diffstat:
5 files changed, 213 insertions(+), 0 deletions(-)
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
@@ -0,0 +1,178 @@
+set $mod Mod4
+
+font pango:Terminus 11px
+
+floating_modifier $mod
+
+bindsym $mod+Return exec alacritty
+
+bindsym $mod+Shift+q kill
+
+bindsym $mod+d exec rofi -modi drun -show drun
+
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+bindsym $mod+g split h
+
+bindsym $mod+v split v
+
+bindsym $mod+f fullscreen toggle
+
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+bindsym $mod+Shift+space floating toggle
+
+bindsym $mod+space focus mode_toggle
+
+bindsym $mod+a focus parent
+
+#bindsym $mod+d focus child
+
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+bindsym $mod+Shift+c reload
+
+bindsym $mod+Shift+r restart
+
+mode "resize" {
+ bindsym l resize shrink width 10 px or 10 ppt
+ bindsym semicolon resize grow height 10 px or 10 ppt
+ bindsym apostrophe resize shrink height 10 px or 10 ppt
+ bindsym backslash resize grow width 10 px or 10 ppt
+
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+set $power_control "[l]ock log[o]ut [s]uspend [h]ibernate [r]eboot [p]oweroff"
+mode $power_control {
+ bindsym l exec swaylock -n -i ~/.i3/BG.png; mode "default"
+ bindsym o exec swaymsg exit; mode "default"
+ bindsym s exec systemctl suspend; mode "default"
+ bindsym h exec systemctl hibernate; mode "default"
+ bindsym r exec systemctl reboot; mode "default"
+ bindsym p exec systemctl poweroff; mode "default"
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+n mode $power_control
+
+new_window pixel 2
+gaps inner 10
+
+ # Pulse Audio controls
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
+
+# C* Music Player controls
+bindsym XF86AudioPlay exec --no-startup-id cmus-remote -u
+bindsym XF86AudioStop exec --no-startup-id cmus-remote -s
+bindsym XF86AudioNext exec --no-startup-id cmus-remote -n
+bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r
+
+# Screen brightness controls
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
+bindsym $mod+F12 exec --no-startup-id xbacklight -inc 10 # increase screen brightness
+bindsym $mod+F11 exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
+
+# Touchpad toggle
+bindsym XF86TouchpadToggle exec --no-startup-id ~/.i3/toggle_touchpad.sh 'SynPS/2 Synaptics TouchPad'
+
+# Input configuration
+input 9390:16389:Rapoo_Rapoo_Gaming_Keyboard {
+ xkb_layout pl
+ xkb_options caps:super
+}
+
+input 1:1:AT_Translated_Set_2_keyboard {
+ xkb_layout pl
+ xkb_options caps:super
+}
+
+input 2:7:SynPS/2_Synaptics_TouchPad {
+ tap enabled
+}
+
+# Change wallpaper
+bindsym $mod+p exec ~/.fehbg Sway
+
+# Take screenshot
+bindsym $mod+Shift+s exec grim -g "$(slurp)" - | wl-copy
+
+# class border backgr. text indicator child_border
+client.focused #4f4f4f #4f4f4f #ffffff #4f4f4f #4f4f4f
+client.unfocused #323232 #323232 #aaaaaa #323232 #4f4f4f
+client.focused_inactive #323232 #333333 #aaaaaa #323232 #4f4f4f
+client.urgent #383a3b #383a3b #ee0000 #383a3b #4f4f4f
+
+for_window [instance="polybar"] gaps inner 0
+for_window [instance="mpv"] pixel 0
+for_window [instance="^r_x11$"] floating enable
+for_window [instance="^octave\-gui$"] floating enable
+for_window [instance="^matplotlib$"] floating enable
+
+exec /usr/lib/geoclue-2.0/demos/agent
+exec redshift-gtk
+exec mako
+
+output "*" background ~/.i3/BG.png fill
+exec swayidle \
+ timeout 300 'swaylock -n -i ~/.i3/BG.png' \
+ timeout 600 'swaymsg "output * dpms off"' \
+ resume 'swaymsg "output * dpms on"' \
+ before-sleep 'swaylock -n -i ~/.i3/BG.png'
+
+exec_always "killall waybar; waybar"
+exec_always ~/.config/sway/import-gsettings.sh \
+ gtk-theme:gtk-theme-name \
+ icon-theme:gtk-icon-theme-name \
+ cursor-theme:gtk-cursor-theme-name
diff --git a/sway/.config/sway/env b/sway/.config/sway/env
@@ -0,0 +1,3 @@
+QT_QPA_PLATFORM=wayland
+QT_WAYLAND_DISABLE_WINDOWDECORATION=1
+QT_QPA_PLATFORMTHEME="qt5ct"
diff --git a/sway/.config/sway/import-gsettings.sh b/sway/.config/sway/import-gsettings.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# usage: import-gsettings <gsettings key>:<settings.ini key> <gsettings key>:<settings.ini key> ...
+
+expression=""
+for pair in "$@"; do
+ IFS=:; set -- $pair
+ expressions="$expressions -e 's:^$2=(.*)$:gsettings set org.gnome.desktop.interface $1 \1:e'"
+done
+IFS=
+eval exec sed -E $expressions "${XDG_CONFIG_HOME:-$HOME/.config}"/gtk-3.0/settings.ini >/dev/null
+
diff --git a/sway/.config/sway/sway-service.sh b/sway/.config/sway/sway-service.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# first import environment variables from the login manager
+systemctl --user import-environment
+# then start the service
+exec systemctl --wait --user start sway.service
diff --git a/sway/.config/systemd/user/sway.service b/sway/.config/systemd/user/sway.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=sway - SirCmpwn's Wayland window manager
+Documentation=man:sway(5)
+BindsTo=graphical-session.target
+Wants=graphical-session-pre.target
+After=graphical-session-pre.target
+
+[Service]
+Type=simple
+EnvironmentFile=-%h/.config/sway/env
+ExecStart=/usr/bin/sway
+Restart=on-failure
+RestartSec=1
+TimeoutStopSec=10