diff --git a/overlay/rootfs/etc/doas.d/50-sxmo.conf b/overlay/rootfs/etc/doas.d/50-sxmo.conf index 5959369..f8e7e6e 100644 --- a/overlay/rootfs/etc/doas.d/50-sxmo.conf +++ b/overlay/rootfs/etc/doas.d/50-sxmo.conf @@ -26,6 +26,7 @@ permit nopass :wheel as root cmd /usr/libexec/msm-modem-uim-selection permit nopass :wheel as root cmd msm-modem-uim-selection permit nopass :wheel as root cmd setup-timezone permit nopass :wheel as root cmd /sbin/setup-timezone +permit nopass :wheel as root cmd /usr/sbin/setup-timezone permit nopass :wheel as root cmd rtcwake permit nopass :wheel as root cmd tee args -a /sys/power/wake_lock permit nopass :wheel as root cmd tee args -a /sys/power/wake_unlock diff --git a/overlay/rootfs/etc/skel/.profile b/overlay/rootfs/etc/skel/.profile index d5d0832..b4c4805 100644 --- a/overlay/rootfs/etc/skel/.profile +++ b/overlay/rootfs/etc/skel/.profile @@ -1,4 +1,4 @@ -export PATH="$HOME/.local/bin:$PATH" +export PATH="$HOME/.local/bin:$HOME/.config/sxmo/hooks:/usr/share/sxmo/default_hooks:$PATH" export EDITOR=nano export VISUAL=nano diff --git a/overlay/rootfs/home/user/.config/sxmo/hooks/sxmo_hook_start.sh b/overlay/rootfs/home/user/.config/sxmo/hooks/sxmo_hook_start.sh index ddc3659..23a5758 100755 --- a/overlay/rootfs/home/user/.config/sxmo/hooks/sxmo_hook_start.sh +++ b/overlay/rootfs/home/user/.config/sxmo/hooks/sxmo_hook_start.sh @@ -89,7 +89,7 @@ if [ -z "$SXMO_NO_MODEM" ] && command -v ModemManager > /dev/null; then fi # Start the desktop widget (e.g. clock) -pidof -s conky >/dev/null 2>&1 || superctl start sxmo_conky +pidof -s conky >/dev/null 2>&1 || (DISPLAY=:0 CONKY_DPY=:0 setsid conky -c /home/user/.config/sxmo/conky.conf >/dev/null 2>&1 /dev/null 2>&1 || true fi -xrdb -merge "$HOME/.Xresources" >/dev/null 2>&1 || true -WP_FILE="/usr/share/wallpapers/bananarchy.png" -if [ -f "$XDG_CONFIG_HOME/sxmo/wallpaper" ]; then - custom_wp="$(head -n 1 "$XDG_CONFIG_HOME/sxmo/wallpaper" 2>/dev/null)" - [ -n "$custom_wp" ] && [ -f "$custom_wp" ] && WP_FILE="$custom_wp" -fi -WP_FLAG="--bg-fill" -if [ -f "$XDG_CONFIG_HOME/sxmo/wallpaper_mode" ]; then - wp_mode="$(head -n 1 "$XDG_CONFIG_HOME/sxmo/wallpaper_mode" 2>/dev/null)" - case "$wp_mode" in - scale|--bg-scale) WP_FLAG="--bg-scale" ;; - max|--bg-max) WP_FLAG="--bg-max" ;; - center|--bg-center) WP_FLAG="--bg-center" ;; - tile|--bg-tile) WP_FLAG="--bg-tile" ;; - *) WP_FLAG="--bg-fill" ;; - esac -fi -feh --no-fehbg "$WP_FLAG" "$WP_FILE" >/dev/null 2>&1 /dev/null 2>&1 || CONKY_DPY=:0 conky -c /home/user/.config/sxmo/conky.conf -d >/dev/null 2>&1 /dev/null 2>&1 || true +rm -rf /tmp/sxmo_conky_time_state /tmp/sxmo_conky_restart.lock +(DISPLAY=:0 CONKY_DPY=:0 setsid conky -c /home/user/.config/sxmo/conky.conf >/dev/null 2>&1 /dev/null 2>&1 || fcitx5 -d >/tmp/fcitx5.log 2>&1 /tmp/sxmo_hook_start.log 2>&1 /tmp/dwm.log 2>&1 + +first_iter=1 +while :; do + xrdb -merge "$HOME/.Xresources" >/dev/null 2>&1 || true + WP_FILE="/usr/share/wallpapers/bananarchy.png" + if [ -f "$XDG_CONFIG_HOME/sxmo/wallpaper" ]; then + custom_wp="$(head -n 1 "$XDG_CONFIG_HOME/sxmo/wallpaper" 2>/dev/null)" + [ -n "$custom_wp" ] && [ -f "$custom_wp" ] && WP_FILE="$custom_wp" + fi + WP_FLAG="--bg-fill" + if [ -f "$XDG_CONFIG_HOME/sxmo/wallpaper_mode" ]; then + wp_mode="$(head -n 1 "$XDG_CONFIG_HOME/sxmo/wallpaper_mode" 2>/dev/null)" + case "$wp_mode" in + scale|--bg-scale) WP_FLAG="--bg-scale" ;; + max|--bg-max) WP_FLAG="--bg-max" ;; + center|--bg-center) WP_FLAG="--bg-center" ;; + tile|--bg-tile) WP_FLAG="--bg-tile" ;; + *) WP_FLAG="--bg-fill" ;; + esac + fi + feh --no-fehbg "$WP_FLAG" "$WP_FILE" >/dev/null 2>&1 /dev/null 2>&1 || true + sleep 0.05 + pkill -9 -x conky >/dev/null 2>&1 || true + rm -rf /tmp/sxmo_conky_time_state /tmp/sxmo_conky_restart.lock + (DISPLAY=:0 CONKY_DPY=:0 setsid conky -c /home/user/.config/sxmo/conky.conf >/dev/null 2>&1 /dev/null 2>&1 || fcitx5 -d >/tmp/fcitx5.log 2>&1 /tmp/dwm.log 2>&1 || true + sleep 0.2 +done diff --git a/overlay/rootfs/usr/bin/sxmo_power.sh b/overlay/rootfs/usr/bin/sxmo_power.sh index 15999d0..a9c92a8 100755 --- a/overlay/rootfs/usr/bin/sxmo_power.sh +++ b/overlay/rootfs/usr/bin/sxmo_power.sh @@ -157,11 +157,13 @@ case "$1" in ;; logout) sxmo_hook_logout.sh || true - case "$SXMO_WM" in + pkill -9 -x conky >/dev/null 2>&1 || true + rm -rf /tmp/sxmo_conky_time_state /tmp/sxmo_conky_restart.lock + case "${SXMO_WM:-dwm}" in "i3") i3-msg exit ;; "sway") swaymsg exit ;; "river") riverctl exit ;; - "dwm") pkill dwm ;; + "dwm") pkill -x dwm || pkill dwm ;; esac ;; togglewm) sxmo_togglewm.sh ;; diff --git a/overlay/rootfs/usr/bin/sxmo_timezonechange.sh b/overlay/rootfs/usr/bin/sxmo_timezonechange.sh index 8d7314c..32602a6 100755 --- a/overlay/rootfs/usr/bin/sxmo_timezonechange.sh +++ b/overlay/rootfs/usr/bin/sxmo_timezonechange.sh @@ -9,7 +9,7 @@ change_alpine() { echo "Changing timezone to $1" - doas setup-timezone -z "$1" + doas -n setup-timezone -z "$1" 2>/dev/null || doas setup-timezone -z "$1" sxmo_hook_statusbar.sh time echo "Timezone changed ok" diff --git a/overlay/rootfs/usr/lib/dwm/plugins/contacts.so b/overlay/rootfs/usr/lib/dwm/plugins/contacts.so index 5d53cc7..eb7833e 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/contacts.so and b/overlay/rootfs/usr/lib/dwm/plugins/contacts.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/files.so b/overlay/rootfs/usr/lib/dwm/plugins/files.so index ce001d6..f71abba 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/files.so and b/overlay/rootfs/usr/lib/dwm/plugins/files.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/modem.so b/overlay/rootfs/usr/lib/dwm/plugins/modem.so index 07c212d..2d1d849 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/modem.so and b/overlay/rootfs/usr/lib/dwm/plugins/modem.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/networks.so b/overlay/rootfs/usr/lib/dwm/plugins/networks.so index b346e60..659cbdd 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/networks.so and b/overlay/rootfs/usr/lib/dwm/plugins/networks.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/sms.so b/overlay/rootfs/usr/lib/dwm/plugins/sms.so index e56ded6..1cb2376 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/sms.so and b/overlay/rootfs/usr/lib/dwm/plugins/sms.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/themes.so b/overlay/rootfs/usr/lib/dwm/plugins/themes.so index 8a2014e..1cc8224 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/themes.so and b/overlay/rootfs/usr/lib/dwm/plugins/themes.so differ diff --git a/overlay/rootfs/usr/lib/dwm/plugins/wallpapers.so b/overlay/rootfs/usr/lib/dwm/plugins/wallpapers.so index 20fe616..32186ae 100755 Binary files a/overlay/rootfs/usr/lib/dwm/plugins/wallpapers.so and b/overlay/rootfs/usr/lib/dwm/plugins/wallpapers.so differ diff --git a/overlay/rootfs/usr/sbin/setup-timezone b/overlay/rootfs/usr/sbin/setup-timezone new file mode 100755 index 0000000..1c67263 --- /dev/null +++ b/overlay/rootfs/usr/sbin/setup-timezone @@ -0,0 +1,164 @@ +#!/bin/sh + +PREFIX=/usr +: ${LIBDIR=$PREFIX/lib} +. "$LIBDIR/libalpine.sh" + +zroot="$ROOT"usr/share/zoneinfo + +usage() { + cat <<-__EOF__ + usage: setup-timezone [-h] [-k|-i] [TIMEZONE] + + Sets the timezone for the system. + + options: + -h Show this help + -i Install tzdata and symlink instead of making a copy + -k Keep previous copies of tzdata + + TIMEZONE is relative $zroot. + + If TIMEZONE is not specified user will be prompted. + __EOF__ + exit $1 +} + +show_tz_list() { + local i z= list= + local path="$zroot/$1" + [ -d "$path" ] || return 1 + + for i in $(find $path/ -maxdepth 1); do + case $i in + *.tab|*/) continue;; + esac + if [ -d "$i" ]; then + z="$z ${i##*/}/" + else + z="$z ${i##*/}" + fi + done + ( cd_assert $path && ls --color=never -Cd $z ) +} + +setup_tz() { + local zonepath="$1" + local zone="${zonepath#*/zoneinfo/}" + if ! $INSTALL_TZDATA; then + local zdir="${zonepath%/*}"/ + zdir="${zdir#*/zoneinfo/}" + if ! $KEEP_TZDATA; then + rm -rf "${ROOT}"etc/zoneinfo + fi + mkdir -p "${ROOT}"etc/zoneinfo/$zdir + cp "$zonepath" "${ROOT}"etc/zoneinfo/$zdir/ + zonepath=/etc/zoneinfo/$zone + fi + rm -f "${ROOT}"etc/localtime + ln -s "$zonepath" "${ROOT}"etc/localtime + printf "%s\n" "$zone" > "${ROOT}"etc/timezone 2>/dev/null || true + if [ -z "$ROOT" ] || [ "$ROOT" = "/" ]; then + rm -f /tmp/sxmo_conky_time_state + if pidof -s Xorg >/dev/null 2>&1; then + su -s /bin/sh user -c ' + export PATH="/home/user/.config/sxmo/hooks:/usr/share/sxmo/default_hooks:/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin" + export DISPLAY=:0 + export XDG_RUNTIME_DIR="/run/user/10000" + export XDG_CONFIG_HOME="/home/user/.config" + sxmo_hook_statusbar.sh time >/dev/null 2>&1 || { + pkill -9 -x conky >/dev/null 2>&1 || true + (DISPLAY=:0 CONKY_DPY=:0 setsid conky -c /home/user/.config/sxmo/conky.conf >/dev/null 2>&1 /dev/null 2>&1 || true + fi + fi +} + +INSTALL_TZDATA=false +KEEP_TZDATA=false +while getopts "hikz:" opt; do + case $opt in + h) usage 0;; + i) INSTALL_TZDATA=true;; + k) KEEP_TZDATA=true;; + z) ZONE="$OPTARG";; # backwards compat + '?') usage "1" >&2;; + esac +done +shift $(( $OPTIND - 1)) + +if [ -z "$ZONE" ]; then + ZONE="$1" +fi + +if [ "$ZONE" = "none" ]; then + exit 0 +fi + +need_apk=true +if [ -d "$zroot" ]; then + if [ -n "$ZONE" ] && [ -f "$zroot/$ZONE" ]; then + need_apk=false + elif [ -z "$ZONE" ] && [ -f "$zroot/UTC" ]; then + need_apk=false + fi +fi + +if $need_apk; then + if $INSTALL_TZDATA; then + pkg=tzdata + apkdel= + else + pkg="--force --virtual .setup-timezone tzdata" + apkdel=".setup-timezone" + fi + + apk add --no-progress --quiet $pkg || die "Failed to install tzdata package" + + if [ -n "$apkdel" ]; then + trap "exit 1" INT TERM HUP + trap "apk del --no-progress --quiet $apkdel" EXIT + fi +fi + +if [ -L "${ROOT}"etc/localtime ]; then + default_timezone=$(readlink "${ROOT}"etc/localtime) + default_timezone=${default_timezone#*/zoneinfo/} +else + default_timezone=UTC +fi + +if [ -n "$ZONE" ]; then + [ -f "$zroot/$ZONE" ] || die "'$ZONE' is not a valid timezone on this system" + setup_tz "$zroot"/"$ZONE" +else + while true; do + show_tz_list + echo "" + ask "Which timezone are you in? (or '?' or 'none')" "$default_timezone" + timezone=$(printf %s "$resp" | sed 's/\/\+/\//g; s/\/$//') + case "$timezone" in + none|abort) break;; + ""|"?") continue;; + esac + + while [ -d "$zroot/$timezone" ]; do + show_tz_list "$timezone" + echo "" + ask "What sub-timezone of '$timezone' are you in? (or '?')" + zone=$(printf %s "$resp" | sed 's/\/\+/\//g; s/\/$//') + case "$zone" in + ""|"?") continue;; + esac + default_timezone="$timezone" + timezone="$timezone/$zone" + done + + if [ -f "$zroot/$timezone" ]; then + setup_tz "$zroot/$timezone" + break + fi + echo "'$timezone' is not a valid timezone on this system" + done +fi diff --git a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_logout.sh b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_logout.sh index 3d9bb30..6c5b685 100755 --- a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_logout.sh +++ b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_logout.sh @@ -3,3 +3,5 @@ # This script is called with both toggle wm and when loging out (i.e., restarting) # current window manager. +pkill -x conky >/dev/null 2>&1 || true +rm -f /tmp/sxmo_conky_time_state diff --git a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_start.sh b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_start.sh index ddc3659..23a5758 100755 --- a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_start.sh +++ b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_start.sh @@ -89,7 +89,7 @@ if [ -z "$SXMO_NO_MODEM" ] && command -v ModemManager > /dev/null; then fi # Start the desktop widget (e.g. clock) -pidof -s conky >/dev/null 2>&1 || superctl start sxmo_conky +pidof -s conky >/dev/null 2>&1 || (DISPLAY=:0 CONKY_DPY=:0 setsid conky -c /home/user/.config/sxmo/conky.conf >/dev/null 2>&1 /dev/null; then + return 0 + fi + superctl stop sxmo_conky >/dev/null 2>&1 || true + pkill -x conky >/dev/null 2>&1 || true + sleep 0.05 + pkill -9 -x conky >/dev/null 2>&1 || true + ( + DISPLAY="${DISPLAY:-:0}" CONKY_DPY="${DISPLAY:-:0}" \ + setsid conky -c "${XDG_CONFIG_HOME:-/home/user/.config}/sxmo/conky.conf" >/dev/null 2>&1 /dev/null || true +} + set_time() { sxmobar -a time 99 " $(date "+${SXMO_STATUS_DATE_FORMAT:-%H:%M}")" + force_conky="${1:-0}" + state_file="/tmp/sxmo_conky_time_state" + cur_btime="$(awk '/^btime / {print $2}' /proc/stat 2>/dev/null || echo 0)" + cur_tz="$(readlink /etc/localtime 2>/dev/null || cat /etc/timezone 2>/dev/null || echo "")|$(date '+%Z%z')" + do_restart="$force_conky" + if ! pidof -s conky >/dev/null 2>&1; then + do_restart=1 + elif [ -r "$state_file" ]; then + old_btime="" + old_tz="" + { + IFS= read -r old_btime || true + IFS= read -r old_tz || true + } < "$state_file" + if [ "$cur_tz" != "$old_tz" ]; then + do_restart=1 + else + case "$cur_btime:$old_btime" in + *[!0-9:]*) do_restart=1 ;; + *) + diff=$((cur_btime - old_btime)) + [ "$diff" -lt 0 ] && diff=$((-diff)) + [ "$diff" -ge 2 ] && do_restart=1 + ;; + esac + fi + fi + printf "%s\n%s\n" "$cur_btime" "$cur_tz" > "$state_file" 2>/dev/null || true + if [ "$do_restart" = "1" ]; then + restart_conky + fi } set_state() { @@ -465,7 +512,10 @@ case "$1" in shift set_battery "$@" ;; - time|modem|volume|state|notifications|notch|inputmethod) + time) + set_time 1 + ;; + modem|volume|state|notifications|notch|inputmethod) set_"$1" ;; state_change) diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so index 5d53cc7..eb7833e 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so index ce001d6..f71abba 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/modem.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/modem.so index 07c212d..2d1d849 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/modem.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/modem.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/networks.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/networks.so index b346e60..659cbdd 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/networks.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/networks.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so index e56ded6..1cb2376 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/themes.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/themes.so index 8a2014e..1cc8224 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/themes.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/themes.so differ diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/wallpapers.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/wallpapers.so index 20fe616..32186ae 100755 Binary files a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/wallpapers.so and b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/wallpapers.so differ diff --git a/src/dwm-plugins/contacts_plugin.cpp b/src/dwm-plugins/contacts_plugin.cpp index dfe5ac7..eb081e0 100644 --- a/src/dwm-plugins/contacts_plugin.cpp +++ b/src/dwm-plugins/contacts_plugin.cpp @@ -549,7 +549,7 @@ int runContactsApp(int argc, char** argv) { } }; - drawFieldBox(44, 56, editField == 0, "Name (# changes case):", editName, + drawFieldBox(44, 56, editField == 0, "Name (# Input mode):", editName, "Type name on keypad..."); drawFieldBox(106, 56, editField == 1, "Number (Hold 0 for +):", editNumber, "Enter phone number..."); diff --git a/src/dwm-plugins/files_plugin.cpp b/src/dwm-plugins/files_plugin.cpp index 4c71519..f612cc0 100644 --- a/src/dwm-plugins/files_plugin.cpp +++ b/src/dwm-plugins/files_plugin.cpp @@ -852,7 +852,7 @@ int runFilesApp(int argc, char** argv) { kWinWidth - 32); drawPango(layoutSmall, &colMuted, 10, 126, 20, - "0-9: multi-tap #: cycle case", 220); + "# Input mode", 220); drawSoftkeyBar("Save", "Save", inputValue.empty() ? "Cancel" : "Del"); diff --git a/src/dwm-plugins/modem_plugin.cpp b/src/dwm-plugins/modem_plugin.cpp index 6b85a7d..bca6e82 100644 --- a/src/dwm-plugins/modem_plugin.cpp +++ b/src/dwm-plugins/modem_plugin.cpp @@ -970,7 +970,7 @@ int runModemApp(int argc, char** argv) { // Row 0: AT Command Input Box (Y=contentY..contentY+46) drawPango(layoutSmall, &colYellow, 8, contentY, 18, - std::string(kIconTerm) + " AT Command (# mode, * +?=):"); + std::string(kIconTerm) + " AT (# Input mode):"); int mbW = pangoTextWidth(layoutSmall, modeBadge); drawPango(layoutSmall, &colGreen, kWinWidth - mbW - 8, contentY, 18, modeBadge); diff --git a/src/dwm-plugins/networks_plugin.cpp b/src/dwm-plugins/networks_plugin.cpp index 00e6112..2614bd6 100644 --- a/src/dwm-plugins/networks_plugin.cpp +++ b/src/dwm-plugins/networks_plugin.cpp @@ -847,7 +847,7 @@ int runNetworksApp(int argc, char** argv) { drawPango(layoutMain, &colWhite, 24, 100, 34, disp + "_", kWinWidth - 48); drawPango(layoutSmall, &colMuted, 18, 144, 18, - "[#] Cycle input mode (abc/Abc/ABC/123/Sym)"); + "# Input mode", kWinWidth - 36); drawPango(layoutSmall, &colMuted, 18, 164, 18, "[*] Toggle Show/Hide password"); drawPango(layoutSmall, &colMuted, 18, 184, 18, diff --git a/src/dwm-plugins/sms_plugin.cpp b/src/dwm-plugins/sms_plugin.cpp index 34a8811..5ae648c 100644 --- a/src/dwm-plugins/sms_plugin.cpp +++ b/src/dwm-plugins/sms_plugin.cpp @@ -717,7 +717,7 @@ int runSmsApp(int argc, char** argv) { if (msgSel) bodyDisp += "|"; if (bodyDisp.empty()) { drawPango(layoutSmall, &colMuted, 12, 78, 20, - "Type message (0-9, # case)...", kWinWidth - 24); + "Type message (# Input mode)...", kWinWidth - 24); } else { pango_layout_set_width(layoutMain, (kWinWidth - 24) * PANGO_SCALE); pango_layout_set_wrap(layoutMain, PANGO_WRAP_WORD_CHAR); diff --git a/src/dwm-plugins/themes_plugin.cpp b/src/dwm-plugins/themes_plugin.cpp index 70e93d0..7f9cbd4 100644 --- a/src/dwm-plugins/themes_plugin.cpp +++ b/src/dwm-plugins/themes_plugin.cpp @@ -827,7 +827,7 @@ int runThemesApp(int argc, char** argv) { drawPango(layoutSmall, &colMuted, 10, 124, 20, "Saves to ~/.xthemes/.xth", 220); drawPango(layoutSmall, &colMuted, 10, 146, 20, - "0-9: multi-tap #: cycle case", 220); + "# Input mode", 220); drawSoftkeyBar("Save", "Save", nameInput.empty() ? "Cancel" : "Del"); } else if (mode == ViewMode::ConfirmDelete && !themes.empty()) { diff --git a/src/dwm-plugins/wallpapers_plugin.cpp b/src/dwm-plugins/wallpapers_plugin.cpp index 15b7d3f..654d504 100644 --- a/src/dwm-plugins/wallpapers_plugin.cpp +++ b/src/dwm-plugins/wallpapers_plugin.cpp @@ -184,7 +184,10 @@ void applyAndSaveWallpaper(const std::string& path, int modeIdx) { if (ofs) ofs << kScaleModes[modeIdx].id << "\n"; } runAsyncCmd(std::string("feh --no-fehbg ") + kScaleModes[modeIdx].fehFlag + - " " + shellQuote(path) + " >/dev/null 2>&1"); + " " + shellQuote(path) + + " >/dev/null 2>&1; " + "PATH=\"$HOME/.config/sxmo/hooks:/usr/share/sxmo/default_hooks:$PATH\" " + "sxmo_hook_statusbar.sh time >/dev/null 2>&1"); } int runWallpapersApp(int argc, char** argv) {