~mil/sxmo-devel

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch
2 2

[PATCH sxmo-utils] smxo_appmenu: replace if/grep with case in programchoicesinit

Details
Message ID
<20210517165448.26889-1-timotej.lazar@araneo.si>
DKIM signature
permerror
Download raw message
Patch: +36 -19
On a PinePhone, this function took ~90 ms before the change and ~45 ms
after.
---
 scripts/core/sxmo_appmenu.sh | 55 +++++++++++++++++++++++-------------
 1 file changed, 36 insertions(+), 19 deletions(-)

diff --git a/scripts/core/sxmo_appmenu.sh b/scripts/core/sxmo_appmenu.sh
index b31c2aa..154415c 100755
--- a/scripts/core/sxmo_appmenu.sh
+++ b/scripts/core/sxmo_appmenu.sh
@@ -14,14 +14,15 @@ gracefulexit() {

programchoicesinit() {
	XPROPOUT="$(xprop -id "$(xdotool getactivewindow)")"
	WMCLASS="${1:-$(echo "$XPROPOUT" | grep WM_CLASS | cut -d ' ' -f3-)}"
	WMCLASS="${1:-$(echo "$XPROPOUT" | grep WM_CLASS | cut -d ' ' -f3- | tr '[:upper:]' '[:lower:]')}"
	if [ -z "$XPROPOUT" ]; then
		echo "sxmo_appmenu: detected no active window, no problem, opening system menu" >&2
	else
		echo "sxmo_appmenu: opening menu for wmclass $WMCLASS" >&2
	fi

	if echo "$WMCLASS" | grep -i "scripts"; then
	case "$WMCLASS" in
	scripts )
		# Scripts menu
		CHOICES="
			$icon_mic Record          ^ 0 ^ sxmo_record.sh
@@ -46,8 +47,9 @@ programchoicesinit() {
			"
		fi
		WINNAME=Scripts
	elif echo "$WMCLASS" | grep -i "applications"; then
	# Apps menu
		;;
	applications )
		# Apps menu
		if [ -x "$XDG_CONFIG_HOME/sxmo/hooks/apps" ]; then
			CHOICES=$("$XDG_CONFIG_HOME/sxmo/hooks/apps")
		else
@@ -117,7 +119,8 @@ programchoicesinit() {
			"
		fi
		WINNAME=Apps
	elif echo "$WMCLASS" | grep -i "config"; then
		;;
	config )
		# System Control menu
		CHOICES="
			$icon_aru Brightness               ^ 1 ^ sxmo_brightness.sh up
@@ -146,7 +149,8 @@ programchoicesinit() {
			$icon_cfg Edit configuration         ^ 0 ^ st -e $EDITOR $XDG_CONFIG_HOME/sxmo/xinit
		"
		WINNAME=Config
	elif echo "$WMCLASS" | grep -i "audioout"; then
		;;
	audioout )
		# Audio Out menu
		CURRENTDEV="$(sxmo_audiocurrentdevice.sh)"
		CHOICES="
@@ -158,7 +162,8 @@ programchoicesinit() {
			$icon_ard Volume down                                     ^ 1 ^ sxmo_vol.sh down
		"
		WINNAME="Audio"
	elif echo "$WMCLASS" | grep -i "power"; then
		;;
	power )
		# Power menu
		CHOICES="
			$icon_lck Lock               ^ 0 ^ sxmo_lock.sh
@@ -169,7 +174,8 @@ programchoicesinit() {
			$icon_pwr Poweroff           ^ 0 ^ st -e sudo poweroff
		"
		WINNAME="Power"
	elif echo "$WMCLASS" | grep -i "mpv"; then
		;;
	*mpv* )
		# MPV
		CHOICES="
			$icon_pau Pause        ^ 0 ^ key space
@@ -185,7 +191,8 @@ programchoicesinit() {
			$icon_inf Seek Info    ^ 1 ^ key o
		"
		WINNAME=Mpv && return
	elif echo "$WMCLASS" | grep -i "feh"; then
		;;
	*feh* )
		# Feh
		CHOICES="
			$icon_arr Next          ^ 1 ^ key space
@@ -201,7 +208,8 @@ programchoicesinit() {
			$icon_inf Toggle filename ^ 1 ^ key d
		"
		WINNAME=Feh && return
	elif echo "$WMCLASS" | grep -i "sxiv"; then
		;;
	*sxiv* )
		# Sxiv
		CHOICES="
			$icon_arr Next          ^ 1 ^ key space
@@ -215,7 +223,8 @@ programchoicesinit() {
			$icon_grd Thumbnail     ^ 0 ^ key Return
		"
		WINNAME=Sxiv && return
	elif echo "$WMCLASS" | grep -i "st-256color"; then
		;;
	*st-256color* )
		# St
		# First we try to handle the app running inside st:
		WMNAME="${1:-$(echo "$XPROPOUT" | grep -E "^WM_NAME" | cut -d ' ' -f3-)}"
@@ -355,7 +364,8 @@ programchoicesinit() {
			"
			WINNAME=St
		fi
	elif echo "$WMCLASS" | grep -i "sthotkeys"; then
		;;
	*sthotkeys* )
		#  St hotkeys
		CHOICES="
			Send Ctrl-C      ^ 0 ^ key Ctrl+c
@@ -366,7 +376,8 @@ programchoicesinit() {
			Send Ctrl-B      ^ 0 ^ key Ctrl+b
		"
		WINNAME=St
	elif echo "$WMCLASS" | grep -i netsurf; then
		;;
	*netsurf* )
		# Netsurf
		CHOICES="
			$icon_flt Pipe URL          ^ 0 ^ sxmo_urlhandler.sh
@@ -376,7 +387,8 @@ programchoicesinit() {
			$icon_arr History        ^ 1 ^ key Alt+Right
		"
		WINNAME=Netsurf
	elif echo "$WMCLASS" | grep surf; then
		;;
	*surf* )
		# Surf
		CHOICES="
			$icon_glb Navigate    ^ 0 ^ key Ctrl+g
@@ -394,7 +406,8 @@ programchoicesinit() {
			$icon_rld Refresh     ^ 0 ^ key Ctrl+Shift+r
		"
		WINNAME=Surf
	elif echo "$WMCLASS" | grep -i firefox; then
		;;
	*firefox* )
		# Firefox
		CHOICES="
			$icon_flt Pipe URL          ^ 0 ^ sxmo_urlhandler.sh
@@ -407,7 +420,8 @@ programchoicesinit() {
			$icon_rld Refresh     ^ 0 ^ key Ctrl+Shift+r
		"
		WINNAME=Firefox
	elif echo "$WMCLASS" | grep -i lagrange; then
		;;
	*lagrange* )
		# Lagrange
		CHOICES="
			$icon_mnu Toggle sidebar ^ 0 ^ key Ctrl+Shift+p
@@ -421,7 +435,8 @@ programchoicesinit() {
			$icon_rld Refresh        ^ 0 ^ key Ctrl+r
		"
		WINNAME=Lagrange
	elif echo "$WMCLASS" | grep -i foxtrot; then
		;;
	*foxtrot* )
		# Foxtrot GPS
		CHOICES="
			$icon_itm Locations           ^ 0 ^ sxmo_gpsutil.sh menulocations
@@ -438,7 +453,8 @@ programchoicesinit() {
			$icon_usr Locate Me           ^ 0 ^ sxmo_gpsutil.sh gpsgeoclueset
		"
		WINNAME=Maps
	else
		;;
	* )
		# Default system menu (no matches)
		CHOICES="
			$icon_grd Scripts                                            ^ 0 ^ sxmo_appmenu.sh scripts
@@ -456,7 +472,8 @@ programchoicesinit() {
			$icon_pwr Power                                              ^ 0 ^ sxmo_appmenu.sh power
		"
		WINNAME=Sys
	fi
		;;
	esac
}

getprogchoices() {
-- 
2.31.1

[sxmo-utils/patches/.build.yml] build success

builds.sr.ht <builds@sr.ht>
Details
Message ID
<CBFOH3MANT52.1G8SIYTSIJKU2@cirno2>
In-Reply-To
<20210517165448.26889-1-timotej.lazar@araneo.si> (view parent)
DKIM signature
missing
Download raw message
sxmo-utils/patches/.build.yml: SUCCESS in 21s

[smxo_appmenu: replace if/grep with case in programchoicesinit][0] from [Timotej Lazar][1]

[0]: https://lists.sr.ht/~mil/sxmo-devel/patches/22769
[1]: timotej.lazar@araneo.si

✓ #508276 SUCCESS sxmo-utils/patches/.build.yml https://builds.sr.ht/~mil/job/508276
Details
Message ID
<87mtssbmay.fsf@momi.ca>
In-Reply-To
<20210517165448.26889-1-timotej.lazar@araneo.si> (view parent)
DKIM signature
pass
Download raw message
Hi Timotej,

Thanks for this patch! I have merged:

To git.sr.ht:~mil/sxmo-utils
   7fe317c..51815ac  master -> master

I have also opened an issue on the bug tracker related to this:

https://todo.sr.ht/~mil/sxmo-tickets/260

Any input from you would be much appreciated. Thanks!

Anjan
--
w:] www.momi.ca
pgp:] https://momi.ca/publickey.txt
Reply to thread Export thread (mbox)