diff --git a/utils/.local/bin/exec-if-exists b/utils/.local/bin/exec-if-exists new file mode 100755 index 0000000..616e331 --- /dev/null +++ b/utils/.local/bin/exec-if-exists @@ -0,0 +1,7 @@ +#!/bin/sh + +[ -r "$1" ] && exec "$@" 2>&1 + +# if EXISTFAIL is set, exit, otherwise sleep +[ -z "$EXISTFAIL" ] && exit 1 +exec sleep 999 diff --git a/wayland/.config/sway/config b/wayland/.config/sway/config index 04a0223..04e7a56 100644 --- a/wayland/.config/sway/config +++ b/wayland/.config/sway/config @@ -105,17 +105,6 @@ bindsym $mod+d exec $menu # Resize windows with right mouse button + $mod. floating_modifier $mod normal -## Enable further services for complete session -# Polkit authenticator -exec /usr/lib/polkit-kde-authentication-agent-1 -for_window [app_id="polkit"] focus, floating enable, border pixel 4 -# Notifications daemon -exec mako -# KDE Connect -exec /usr/lib/kdeconnectd -# Redshift -exec redshift - ## Appearance # Default wallpaper output * bg ~/Pictures/wallpaper.png fill @@ -311,7 +300,7 @@ for_window [app_id="mpv"] floating enable for_window [app_id="krunner"] floating enable for_window [app_id="konsole"] floating enable for_window [app_id=".* KDE Connect Daemon"] floating enable +for_window [app_id="polkit"] focus, floating enable, border pixel 4 # Firefox for_window [title="Firefox - Sharing Indicator"] floating enable for_window [app_id="org.mozilla.plasma-browser-integration-host"] floating enable - diff --git a/wayland/.local/bin/kill-sway b/wayland/.local/bin/kill-sway new file mode 100755 index 0000000..6385e54 --- /dev/null +++ b/wayland/.local/bin/kill-sway @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +pkill -HUP -f "^runsvdir /home/ericonr/.local/share/wayland-services" diff --git a/wayland/.local/bin/startsway b/wayland/.local/bin/startsway index e3a6c92..41a6c1d 100755 --- a/wayland/.local/bin/startsway +++ b/wayland/.local/bin/startsway @@ -1,5 +1,6 @@ #!/usr/bin/env bash +# created by elogind, usually if test -z "${XDG_RUNTIME_DIR}"; then export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir if ! test -d "${XDG_RUNTIME_DIR}"; then @@ -8,6 +9,8 @@ if test -z "${XDG_RUNTIME_DIR}"; then fi fi -export XDG_SESSION_TYPE=wayland +# activate PulseAudio, guarantee volume widget in Waybar works +pactl stat -exec sway +# start the compositor itself +exec dbus-run-session runsvdir $HOME/.local/share/wayland-services diff --git a/wayland/.local/bin/sway_exit_prompt b/wayland/.local/bin/sway_exit_prompt index 9b22ad6..4f0ab86 100755 --- a/wayland/.local/bin/sway_exit_prompt +++ b/wayland/.local/bin/sway_exit_prompt @@ -3,7 +3,7 @@ exec swaynag \ -t warning \ -m 'Logout' \ - -b 'Exit session' 'swaymsg exit' \ + -b 'Exit session' 'kill-sway' \ -b 'Suspend' 'erctl suspend' \ -b 'Hibernate' 'erctl hibernate' \ -b 'Hybrid sleep' 'erctl hybrid-sleep' \ diff --git a/wayland/.local/bin/swaysv b/wayland/.local/bin/swaysv new file mode 100755 index 0000000..a4bbe11 --- /dev/null +++ b/wayland/.local/bin/swaysv @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +export SVDIR=$HOME/.local/share/wayland-services +exec sv "$@" diff --git a/wayland/.local/bin/swayvsv b/wayland/.local/bin/swayvsv new file mode 100755 index 0000000..ea8c31d --- /dev/null +++ b/wayland/.local/bin/swayvsv @@ -0,0 +1,4 @@ +#!/bin/sh + +export SVDIR=$HOME/.local/share/wayland-services +exec vsv "$@" diff --git a/wayland/.local/share/wayland-services/.gitignore b/wayland/.local/share/wayland-services/.gitignore new file mode 100644 index 0000000..fe7d47b --- /dev/null +++ b/wayland/.local/share/wayland-services/.gitignore @@ -0,0 +1 @@ +supervise/ diff --git a/wayland/.local/share/wayland-services/kdeconnect/run b/wayland/.local/share/wayland-services/kdeconnect/run new file mode 100755 index 0000000..df6083a --- /dev/null +++ b/wayland/.local/share/wayland-services/kdeconnect/run @@ -0,0 +1,9 @@ +#!/bin/sh + +# void location +export EXISTFAIL=1 +exec exec-if-exists /usr/lib/libexec/kdeconnectd + +# arch/manjaro location +unset EXISTFAIL +exec exec-if-exists /usr/lib/kdeconnectd diff --git a/wayland/.local/share/wayland-services/mako/run b/wayland/.local/share/wayland-services/mako/run new file mode 100755 index 0000000..0a1c350 --- /dev/null +++ b/wayland/.local/share/wayland-services/mako/run @@ -0,0 +1,3 @@ +#!/bin/sh +swaysv check sway >/dev/null || exit 1 +exec mako 2>&1 diff --git a/wayland/.local/share/wayland-services/polkit/run b/wayland/.local/share/wayland-services/polkit/run new file mode 100755 index 0000000..49130dd --- /dev/null +++ b/wayland/.local/share/wayland-services/polkit/run @@ -0,0 +1,9 @@ +#!/bin/sh + +# arch/manjaro +export EXISTFAIL=1 +exec exec-if-exists /usr/lib/polkit-kde-authentication-agent-1 + +# void +unset EXISTFAIL +exec exec-if-exists /usr/lib/libexec/polkit-kde-authentication-agent-1 diff --git a/wayland/.local/share/wayland-services/redshift/run b/wayland/.local/share/wayland-services/redshift/run new file mode 100755 index 0000000..28270d5 --- /dev/null +++ b/wayland/.local/share/wayland-services/redshift/run @@ -0,0 +1,3 @@ +#!/bin/sh +swaysv check sway || exit 1 +exec redshift 2>&1 diff --git a/wayland/.local/share/wayland-services/sway/run b/wayland/.local/share/wayland-services/sway/run new file mode 100755 index 0000000..c637c30 --- /dev/null +++ b/wayland/.local/share/wayland-services/sway/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export XDG_SESSION_TYPE=wayland +cd $HOME +exec sway