From 075e8ac472403934f4ca383beae2cd9ac555f71a Mon Sep 17 00:00:00 2001 From: remph Date: Thu, 31 Oct 2024 18:26:08 +0000 Subject: Minor changes: * Allow changing volume/brightness while locked in Sway * Ensure separate wob instance for each WAYLAND_DISPLAY * Update copyright, mostly for other branches based on this --- PKGBUILD | 2 +- README.md | 22 +++++++++++++++------- swob-swayconfig | 11 ++++++----- swob.sh | 8 +++----- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index b90a172..83e332d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@ pkgdesc='Volume and brightness controls for wayland, using wob' arch=(any) # limited only by dependencies depends=(sh coreutils sed wob alsa-utils brightnessctl) url='https://github.com/el-remph/swob' -license=(FSFULLRWD) +license=(GPL-3.0-or-later) provides=(swob) source=("git+$url") b2sums=(SKIP) diff --git a/README.md b/README.md index 3825d9c..057c849 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This is a simple/stupid helper script and config files to provide volume and brightness controls under Wayland using [wob]. Sway is *not* mandatory (the helper script doesn't depend on sway or any wlroots features); the name is simply because sway was the first compositor I configured this for. Other -compositor configurations are available; see [Installation](#installation). +compositor configurations are available; see [§Installation](#installation). [wob]: https://github.com/francma/wob @@ -52,10 +52,18 @@ Copying Copyright © 2024 The Remph -These files are free software; the Remph gives unlimited permission to copy -and/or distribute them, with or without modification, as long as this notice -is preserved. +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation, either version 3 of the License, or (at your option) +any later version. -This software is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +A copy of the full GPL can be found at . + +As an additional permission under GNU GPL version 3 section 7, the section 4 +requirement to distribute a copy of the GPL along with the work is waived, +provided that the above notices are distributed intact instead. diff --git a/swob-swayconfig b/swob-swayconfig index 969326b..b74c114 100644 --- a/swob-swayconfig +++ b/swob-swayconfig @@ -1,5 +1,6 @@ -bindsym XF86MonBrightnessDown exec swob.sh brightness 5%- -bindsym XF86MonBrightnessUp exec swob.sh brightness 5%+ -bindsym XF86AudioLowerVolume exec swob.sh volume 5%- -bindsym XF86AudioRaiseVolume exec swob.sh volume 5%+ -bindsym XF86AudioMute exec swob.sh volume toggle +# `exec exec' prevents pointless extra shell process +bindsym --locked XF86MonBrightnessDown exec exec swob.sh brightness 5%- +bindsym --locked XF86MonBrightnessUp exec exec swob.sh brightness 5%+ +bindsym --locked XF86AudioLowerVolume exec exec swob.sh volume 5%- +bindsym --locked XF86AudioRaiseVolume exec exec swob.sh volume 5%+ +bindsym --locked XF86AudioMute exec exec swob.sh volume toggle diff --git a/swob.sh b/swob.sh index bdcdf01..77968fa 100755 --- a/swob.sh +++ b/swob.sh @@ -1,12 +1,10 @@ #!/bin/sh # SPDX-FileCopyrightText: 2023-2024 The Remph -# SPDX-License-Identifier: FSFULLRWD +# SPDX-License-Identifier: GPL-3.0-or-later -wobfifo=${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}}/wob -wobini= -readonly wobfifo -# `set -e' comes after readonly, which isn't vital enough to kill the script for set ${BASH_VERSION:+-o pipefail} -efmu +wobfifo=$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.swob +wobini= set_wobini() { for dir in ${XDG_CONFIG_HOME:+"$XDG_CONFIG_HOME"} ~/.config /etc; do -- cgit From 549e328b61c44bc6fe244f14a4eeaf1bfa464a9b Mon Sep 17 00:00:00 2001 From: remph Date: Fri, 15 Nov 2024 02:02:06 +0000 Subject: Shell vagaries and chatter reduction: * Reduce talk from dash about set -m that's cluttering up my logs: not sure that it was ever necessary anyway. * Don't run swob in an unnecessary subshell. * Gag wob's own verbose babble, which I forgot about from debugging. * Prevent `set -u' from biting me about $! --- swob.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/swob.sh b/swob.sh index 77968fa..dc2dbb4 100755 --- a/swob.sh +++ b/swob.sh @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: 2023-2024 The Remph # SPDX-License-Identifier: GPL-3.0-or-later -set ${BASH_VERSION:+-o pipefail} -efmu +set ${BASH_VERSION:+-o pipefail} -efu wobfifo=$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.swob wobini= @@ -44,11 +44,11 @@ start_wob() { set_wobini # spawn wob process with temporary file(s) - ( + { trap 'rm "$wobfifo"' 0 # Don't `exec' wob here, else the trap won't work - wob -c "$wobini" -v <$wobfifo - ) & + wob -c "$wobini" <$wobfifo + } & } do_cmd_get_percent() { @@ -104,4 +104,4 @@ start_wob # soon as it's done sleeping (the existing situation is that as long as one # script sleeps, the shell that spawned the wob process will wait until that # sleep is done) -test -z $! || wait $! +test -z ${!-} || wait $! # surprisingly, $! could be unset (not just zero-length) -- cgit