From 8045929c87c1afd784a3039acda756671bbd452e Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 21 Oct 2026 09:26:41 +0300 Subject: [PATCH] feat(x11): add XDrawer global phone controls drawer, softkey chord detection, and st/T9 scrollback --- MANUAL.md | 3 +- README.md | 1 + overlay/rootfs/usr/bin/XDrawer | 1 + overlay/rootfs/usr/bin/dmenu | Bin 29960 -> 34056 bytes overlay/rootfs/usr/bin/dwm | Bin 48024 -> 48032 bytes overlay/rootfs/usr/bin/st | Bin 64008 -> 64040 bytes overlay/rootfs/usr/bin/xdrawer | Bin 0 -> 25988 bytes overlay/rootfs/usr/lib/fcitx5/libt9.so | Bin 50564 -> 50564 bytes overlay/rootfs/usr/lib/fcitx5/t9.so | Bin 50564 -> 50564 bytes prebuilt/fcitx5-t9/usr/lib/fcitx5/libt9.so | Bin 50564 -> 50564 bytes prebuilt/fcitx5-t9/usr/lib/fcitx5/t9.so | Bin 50564 -> 50564 bytes prebuilt/sxmo-x11/usr/bin/XDrawer | 1 + prebuilt/sxmo-x11/usr/bin/dmenu | Bin 29960 -> 34056 bytes prebuilt/sxmo-x11/usr/bin/dwm | Bin 48024 -> 48032 bytes prebuilt/sxmo-x11/usr/bin/st | Bin 64008 -> 64040 bytes prebuilt/sxmo-x11/usr/bin/xdrawer | Bin 0 -> 25988 bytes scripts/build-sxmo-x11.sh | 15 +- src/fcitx5-t9/src/t9.cpp | 37 +- src/sxmo-dmenu/dmenu.c | 213 ++++- src/sxmo-dwm/dwm.c | 174 +++- src/sxmo-st/config.def.h | 2 + src/sxmo-st/config.h | 2 + src/xdrawer/xdrawer.cpp | 871 +++++++++++++++++++++ 23 files changed, 1265 insertions(+), 55 deletions(-) create mode 120000 overlay/rootfs/usr/bin/XDrawer create mode 100755 overlay/rootfs/usr/bin/xdrawer create mode 120000 prebuilt/sxmo-x11/usr/bin/XDrawer create mode 100755 prebuilt/sxmo-x11/usr/bin/xdrawer create mode 100644 src/xdrawer/xdrawer.cpp diff --git a/MANUAL.md b/MANUAL.md index c6e10a1..f641604 100644 --- a/MANUAL.md +++ b/MANUAL.md @@ -105,6 +105,7 @@ sudo dd if=./images/bananarchy-nokia-argon.img of=/dev/sdX bs=4M status=progress | :--- | :--- | :--- | | **Left softkey** | `XF86KbdLcdMenu1` (`KEY_MENU`) | Open **System menu**, close open menu, or wake & unlock when locked | | **Right softkey / Back** | `XF86KbdLcdMenu2` / `BackSpace` (`KEY_BACK`) | Open **App context menu** (or close menu if open); in apps/T9 preedit acts as `BackSpace` | +| **Both softkeys together** | `KEY_MENU` + `KEY_BACK` | Toggle **`XDrawer`** (`xdrawer`) global phone controls overlay (Speaker, Earpiece, Flashlight, Sound, Microphone, Screen, Keypad) from anywhere | | **Call (green)** | `XF86PickupPhone` (`KEY_SEND`) | Wake & unlock when locked, confirm (`Return`) in menus, or: **1×** answer call / **App context menu**, **2×** **Focus next window**, **3×** **Toggle tiling layout** (`vertical` -> `horizontal` -> `tabbed`) | | **End / Power (red)** | `XF86PowerOff` | Wake & unlock when locked, close open menu, or: **1×** **Power menu** (`space` shutter in Megapixels), **2×** cycle screen state, **3×** (or hold `400ms`) launch new terminal | | **D-Pad up / down** | `Up` / `Down` | Navigate menus/apps; in T9 preedit: toggle letter case (`a` ↔ `A`) or jump `+4` / `-4` candidates; in idle `Ctl` mode: `Page_Up` / `Page_Down` | @@ -199,7 +200,7 @@ You can switch between **vertical stack (`TTT`, `bstack`)**, **horizontal tile ( | **`4`** | `^R` `^L` `^P` `^N` `^G` | | **`5`** | `^S` `^Q` `^O` `^T` `^Y` | | **`6`** | `^B` `^F` `^V` `^H` `^[` `^]` `^^` `^_` | -| **`7`** | `PgUp` `PgDn` `Home` `End` | +| **`7`** | `PgUp` `PgDn` `Home` `End` `ScrlUp` `ScrlDn` | | **`8`** | `Up` `Down` `Left` `Right` | | **`9`** | `F1` `F2` `F3` `F4` `F5` `F6` `F7` `F8` `F9` `F10` `F11` `F12` | | **`0`** | `Space` (`SPC`) `Tab` `Ent` (`Return`) `Esc` | diff --git a/README.md b/README.md index 67c40b7..f8a5a6b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Bananarchy targets an ultra-lightweight **Sxmo X11 (`sxmo-de-dwm`)** environment - **Cross-compiled Xlibre (`X11Libre/xserver` 25.2.0) display server**: `modesetting` KMS + `ShadowFB` Damage partial-rectangle SPI transfers, software cursor fallback, and rootless `elogind` integration. - **Patched `sxmo-dwm`**: `240x320` vertical `bstack` layout, 24px Pango status bar with an overflow-protected right-aligned clock, and direct C `SW_LID` slider and locked-key wake handling in `< 2 ms`. - **Patched `sxmo-dmenu`**: `240x320` full-width 9-line vertical menu flush below the 24px top bar with a `#383838` search bar, `#005577` prompt badge, and `XIM` `fcitx5-t9` text input in `< 15 ms`. +- **`XDrawer` global phone controls drawer (`xdrawer`)**: lightweight `240x320` C++17 X11/Pango/ALSA overlay invoked from anywhere by pressing **both softkeys simultaneously**, providing instant sliders and toggles for speaker volume, earpiece volume, flashlight, sound mute, microphone mute, screen brightness, and keypad backlight. - **Patched `sxmo-st` terminal (`pixelsize=18`)**: **HarfBuzz (`libharfbuzz`) OpenType ligature shaping** (`liga`, `calt`, `clig`, `dlig`) and `XIM` support. - **Typography**: non-Nerd **`Fira Code` (`font-fira-code`) with ligatures** as the primary system and terminal font (with `DejaVu SansM Nerd Font` used strictly as an icon fallback). - **Custom 6-mode `fcitx5-t9` input engine**: fixed bottom candidate bar (`X=1, Y=290, W=238, H=30`) with a constant 28-character monospace preedit layout supporting lowercase, one-shot Shift, Caps Lock, all 32 ASCII punctuation symbols, terminal control codes (`^A`-`^Z`, `Esc`, `Tab`, `F1`-`F12`), and direct numeric entry with live top-bar mode indication (`[abc]`, `[Abc]`, `[ABC]`, `[Sym]`, `[Ctl]`, `[123]`). diff --git a/overlay/rootfs/usr/bin/XDrawer b/overlay/rootfs/usr/bin/XDrawer new file mode 120000 index 0000000..8199a5b --- /dev/null +++ b/overlay/rootfs/usr/bin/XDrawer @@ -0,0 +1 @@ +xdrawer \ No newline at end of file diff --git a/overlay/rootfs/usr/bin/dmenu b/overlay/rootfs/usr/bin/dmenu index 53d9ec32a07ba2ad24638805caf4256909b2dd60..aedc8f14ea6f8285f3225e927d1d44e5c417070b 100755 GIT binary patch delta 18585 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 delta 16681 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 (GFKGruyjXdmf`;Ms0_OtvUT8DKJrBR{1fTA zC(_K9WA^uZ29_rj*g9alP`DN}2;>V=%5(}@5cp`20W=S^9K^0H;NJfq9{CTqDL4vJ zE1pibkA!2EqE5@asvpoqOv41wqZ?$N&HU delta 19939 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 diff --git a/overlay/rootfs/usr/bin/st b/overlay/rootfs/usr/bin/st index 2e5753547aca470dde93978c914dfe00e9835995..dd0646d5d9f04916a57367fd43796bb6f0a17a32 100755 GIT binary patch delta 12090 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 TbcWuGzcbm-_`8!mt!e##$c;1J delta 12015 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 C!5!iN diff --git a/overlay/rootfs/usr/bin/xdrawer b/overlay/rootfs/usr/bin/xdrawer new file mode 100755 index 0000000000000000000000000000000000000000..0e7987ec39b1b9c25a863ecdc737d42970bdeda8 GIT binary patch literal 25988 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 literal 0 HcmV?d00001 diff --git a/overlay/rootfs/usr/lib/fcitx5/libt9.so b/overlay/rootfs/usr/lib/fcitx5/libt9.so index 43a7812187f8a850f382f3df67f5af351daa3933..098fe27e711992a6ae9551cc3f61cebd52ebb1bc 100755 GIT binary patch delta 16783 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 delta 16681 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 (GFKGruyjXdmf`;Ms0_OtvUT8DKJrBR{1fTA zC(_K9WA^uZ29_rj*g9alP`DN}2;>V=%5(}@5cp`20W=S^9K^0H;NJfq9{CTqDL4vJ zE1pibkA!2EqE5@asvpoqOv41wqZ?$N&HU delta 19939 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 diff --git a/prebuilt/sxmo-x11/usr/bin/st b/prebuilt/sxmo-x11/usr/bin/st index 2e5753547aca470dde93978c914dfe00e9835995..dd0646d5d9f04916a57367fd43796bb6f0a17a32 100755 GIT binary patch delta 12090 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 TbcWuGzcbm-_`8!mt!e##$c;1J delta 12015 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 C!5!iN diff --git a/prebuilt/sxmo-x11/usr/bin/xdrawer b/prebuilt/sxmo-x11/usr/bin/xdrawer new file mode 100755 index 0000000000000000000000000000000000000000..0e7987ec39b1b9c25a863ecdc737d42970bdeda8 GIT binary patch literal 25988 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 literal 0 HcmV?d00001 diff --git a/scripts/build-sxmo-x11.sh b/scripts/build-sxmo-x11.sh index e3fc4d9..2de30bb 100755 --- a/scripts/build-sxmo-x11.sh +++ b/scripts/build-sxmo-x11.sh @@ -42,6 +42,7 @@ EOF alpine-baselayout \ musl-dev \ linux-headers \ + alsa-lib-dev \ libx11-dev \ libxft-dev \ libxinerama-dev \ @@ -59,6 +60,7 @@ EOF export PKG_CONFIG_SYSROOT_DIR="$SYSROOT" export PKG_CONFIG_LIBDIR="$SYSROOT/usr/lib/pkgconfig:$SYSROOT/usr/share/pkgconfig" CC="armv7-alpine-linux-musleabihf-gcc --sysroot=$SYSROOT" + CXX="armv7-alpine-linux-musleabihf-g++ --sysroot=$SYSROOT" STRIP="armv7-alpine-linux-musleabihf-strip" OPT_CFLAGS="-O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -fno-plt -fomit-frame-pointer" @@ -95,12 +97,21 @@ EOF dwm.c drw.c util.c $DWM_LIBS -o /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm $STRIP --strip-unneeded /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm + echo "[6/6] Compiling XDrawer (240x320 global phone controls drawer)..." + cd /bananarchy/src/xdrawer + XDRAWER_INCS="$(pkgconf --cflags x11 xft fontconfig freetype2 pango pangoxft alsa)" + XDRAWER_LIBS="$(pkgconf --libs x11 xft fontconfig freetype2 pango pangoxft alsa)" + $CXX $OPT_CFLAGS -std=c++17 -Wall -Wextra $XDRAWER_INCS \ + xdrawer.cpp $XDRAWER_LIBS -o /bananarchy/prebuilt/sxmo-x11/usr/bin/xdrawer + $STRIP --strip-unneeded /bananarchy/prebuilt/sxmo-x11/usr/bin/xdrawer + ln -sf xdrawer /bananarchy/prebuilt/sxmo-x11/usr/bin/XDrawer + mkdir -p /bananarchy/overlay/rootfs/usr/bin cp -a /bananarchy/prebuilt/sxmo-x11/usr/bin/. /bananarchy/overlay/rootfs/usr/bin/ if [ -d /target-rootfs/usr/bin ]; then cp -a /bananarchy/prebuilt/sxmo-x11/usr/bin/. /target-rootfs/usr/bin/ fi - chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/sxmo-x11 /bananarchy/overlay/rootfs/usr/bin /bananarchy/src/sxmo-st /bananarchy/src/sxmo-dmenu /bananarchy/src/sxmo-dwm - ls -lh /bananarchy/prebuilt/sxmo-x11/usr/bin/st /bananarchy/prebuilt/sxmo-x11/usr/bin/dmenu /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm + chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/sxmo-x11 /bananarchy/overlay/rootfs/usr/bin /bananarchy/src/sxmo-st /bananarchy/src/sxmo-dmenu /bananarchy/src/sxmo-dwm /bananarchy/src/xdrawer + ls -lh /bananarchy/prebuilt/sxmo-x11/usr/bin/st /bananarchy/prebuilt/sxmo-x11/usr/bin/dmenu /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm /bananarchy/prebuilt/sxmo-x11/usr/bin/xdrawer ' diff --git a/src/fcitx5-t9/src/t9.cpp b/src/fcitx5-t9/src/t9.cpp index d8342bb..7f4456e 100644 --- a/src/fcitx5-t9/src/t9.cpp +++ b/src/fcitx5-t9/src/t9.cpp @@ -421,6 +421,8 @@ std::vector T9State::getItemsForKey(int keyId) const { makeKey("PgDn", FcitxKey_Page_Down, 117), makeKey("Home", FcitxKey_Home, 110), makeKey("End", FcitxKey_End, 115), + makeKey("ScrlUp", FcitxKey_Page_Up, 112, fcitx::KeyState::Shift), + makeKey("ScrlDn", FcitxKey_Page_Down, 117, fcitx::KeyState::Shift), }; case kKey8: return { @@ -894,12 +896,35 @@ void T9State::showPreview(const std::vector& items, int index) { if (total == 0) { return; } - constexpr int kPageSize = 7; - int page = index / kPageSize; - int start = page * kPageSize; - int end = std::min(start + kPageSize, total); + constexpr int kMaxItemsPerPage = 7; + std::string prefix = modePrefix() + ":"; + size_t maxItemsWidth = + (kFixedPreeditChars > prefix.size() + 1) + ? (kFixedPreeditChars - prefix.size() - 1) + : 23; - std::string preedit = modePrefix() + ":"; + int start = 0; + int end = 0; + while (start < total) { + size_t width = 0; + int count = 0; + end = start; + while (end < total && count < kMaxItemsPerPage) { + size_t itemWidth = items[end].label.size() + 2; + if (count > 0 && width + itemWidth > maxItemsWidth) { + break; + } + width += itemWidth; + ++end; + ++count; + } + if (index < end) { + break; + } + start = end; + } + + std::string preedit = prefix; for (int i = start; i < end; ++i) { if (i == index) { preedit += "["; @@ -911,7 +936,7 @@ void T9State::showPreview(const std::vector& items, int index) { preedit += " "; } } - if (total > kPageSize) { + if (start > 0 || end < total) { preedit += (end < total) ? ">" : "<"; } if (preedit.size() < kFixedPreeditChars) { diff --git a/src/sxmo-dmenu/dmenu.c b/src/sxmo-dmenu/dmenu.c index 788f48c..24cb193 100644 --- a/src/sxmo-dmenu/dmenu.c +++ b/src/sxmo-dmenu/dmenu.c @@ -4,6 +4,7 @@ #define _EVDEVK(_v) (0x10081000 + (_v)) #endif #include +#include #include #include #include @@ -556,11 +557,12 @@ insert: sel = matchend; break; case XK_Escape: - case XF86XK_Back: - case XF86XK_KbdLcdMenu2: case XF86XK_PowerOff: cleanup(); exit(1); + case XF86XK_Back: + case XF86XK_KbdLcdMenu2: + return; case XK_Home: if (sel == matches) { cursor = 0; @@ -610,6 +612,7 @@ insert: break; case XK_Menu: case XF86XK_KbdLcdMenu1: + return; case XF86XK_Phone: case XF86XK_PickupPhone: case XK_Return: @@ -910,6 +913,8 @@ readstdin(void) lines = MIN(lines, i); } +#include + static int issoftkey(unsigned int keycode) { @@ -917,51 +922,181 @@ issoftkey(unsigned int keycode) return keycode == 124 || keycode == 135 || keycode == 166 || keycode == 177; } +static long long +dmenu_now_ms(void) +{ + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return (long long)ts.tv_sec * 1000LL + (long long)(ts.tv_nsec / 1000000L); +} + +static void +write_softkey_suppress(long long until_ms) +{ + char buf[32]; + int fd = open("/tmp/sxmo_softkey_suppress", O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644); + if (fd >= 0) { + int len = snprintf(buf, sizeof(buf), "%lld\n", until_ms); + (void)write(fd, buf, len); + close(fd); + } +} + +static int +query_softkeys_down(void) +{ + char km[32]; + int mask = 0; + if (!XQueryKeymap(dpy, km)) + return 0; + if (km[135 / 8] & (1 << (135 % 8))) + mask |= 1; + if (km[166 / 8] & (1 << (166 % 8))) + mask |= 2; + return mask; +} + +static void +spawn_xdrawer_and_exit(void) +{ + write_softkey_suppress(dmenu_now_ms() + 500); + cleanup(); + if (fork() == 0) { + int nullfd = open("/dev/null", O_RDWR); + if (nullfd >= 0) { + dup2(nullfd, 0); + dup2(nullfd, 1); + dup2(nullfd, 2); + if (nullfd > 2) + close(nullfd); + } + setsid(); + execlp("xdrawer", "xdrawer", (char *)NULL); + execl("/home/user/.local/bin/xdrawer", "xdrawer", (char *)NULL); + execl("/usr/bin/xdrawer", "xdrawer", (char *)NULL); + _exit(0); + } + exit(1); +} + static void run(void) { XEvent ev; + int soft_pending = 0; + long long soft_first_ms = 0; + long long soft_deadline = 0; + long long start_ignore = dmenu_now_ms() + 40; + int initial_released = (query_softkeys_down() == 0); + int xfd = ConnectionNumber(dpy); - while (!XNextEvent(dpy, &ev)) { - if (ev.type == KeyPress || ev.type == KeyRelease) { - if (!issoftkey(ev.xkey.keycode)) { - ev.xkey.window = win; - if (XFilterEvent(&ev, None)) + for (;;) { + if (!initial_released && query_softkeys_down() == 0) + initial_released = 1; + while (XPending(dpy)) { + if (XNextEvent(dpy, &ev)) + return; + if (!initial_released && query_softkeys_down() == 0) + initial_released = 1; + if (ev.type == KeyPress || ev.type == KeyRelease) { + KeySym ks = XLookupKeysym(&ev.xkey, 0); + int is_left = (ks == XK_Menu || ks == XF86XK_KbdLcdMenu1 || ev.xkey.keycode == 135); + int is_right = (ks == XF86XK_Back || ks == XF86XK_KbdLcdMenu2 || ev.xkey.keycode == 166); + if (is_left || is_right) { + long long now = dmenu_now_ms(); + if (ev.type == KeyRelease) { + initial_released = 1; + if (soft_pending != 0 && soft_pending != 3) { + long long grace = now + 65; + if (grace > soft_deadline) + soft_deadline = grace; + } + continue; + } + if (!initial_released || now < start_ignore) + continue; + if (is_left) + soft_pending |= 1; + if (is_right) + soft_pending |= 2; + soft_pending |= query_softkeys_down(); + if (soft_pending == 3) + spawn_xdrawer_and_exit(); + if (soft_deadline == 0) { + soft_first_ms = now; + soft_deadline = now + 200; + } continue; + } + if (!issoftkey(ev.xkey.keycode)) { + ev.xkey.window = win; + if (XFilterEvent(&ev, None)) + continue; + } + } else if (XFilterEvent(&ev, None)) { + continue; } - } else if (XFilterEvent(&ev, None)) { - continue; - } - switch(ev.type) { - case MotionNotify: - motionnotify(&ev); - break; - case ButtonRelease: - buttonpress(&ev); - break; - case DestroyNotify: - if (ev.xdestroywindow.window != win) + switch(ev.type) { + case MotionNotify: + motionnotify(&ev); break; - cleanup(); - exit(1); - case Expose: - if (ev.xexpose.count == 0) - drw_map(drw, win, 0, 0, mw, mh); - break; - case FocusIn: - /* regrab focus from parent window */ - if (ev.xfocus.window != win) - grabfocus(); - if (xic) - XSetICFocus(xic); - break; - case KeyPress: - keypress(&ev.xkey); - break; - case SelectionNotify: - if (ev.xselection.property == utf8) - paste(); - break; + case ButtonRelease: + buttonpress(&ev); + break; + case DestroyNotify: + if (ev.xdestroywindow.window != win) + break; + cleanup(); + exit(1); + case Expose: + if (ev.xexpose.count == 0) + drw_map(drw, win, 0, 0, mw, mh); + break; + case FocusIn: + /* regrab focus from parent window */ + if (ev.xfocus.window != win) + grabfocus(); + if (xic) + XSetICFocus(xic); + break; + case KeyPress: + keypress(&ev.xkey); + break; + case SelectionNotify: + if (ev.xselection.property == utf8) + paste(); + break; + } + } + + if (soft_pending && soft_deadline > 0) { + long long now = dmenu_now_ms(); + int hw_down = query_softkeys_down(); + soft_pending |= hw_down; + if (soft_pending == 3) + spawn_xdrawer_and_exit(); + long long rem = soft_deadline - now; + if (rem <= 0) { + if (hw_down != 0 && (now - soft_first_ms) < 480) { + soft_deadline = now + 25; + rem = 25; + } else { + write_softkey_suppress(now + 400); + if (soft_pending == 1) { + puts((sel) ? sel->text : text); + cleanup(); + exit(0); + } else { + cleanup(); + exit(1); + } + } + } + struct pollfd pfd = { xfd, POLLIN, 0 }; + poll(&pfd, 1, (int)rem); + } else { + struct pollfd pfd = { xfd, POLLIN, 0 }; + poll(&pfd, 1, initial_released ? -1 : 40); } } } diff --git a/src/sxmo-dwm/dwm.c b/src/sxmo-dwm/dwm.c index eac2eb0..98b6f14 100644 --- a/src/sxmo-dwm/dwm.c +++ b/src/sxmo-dwm/dwm.c @@ -124,7 +124,7 @@ typedef struct { void (*arrange)(Monitor *); } Layout; -typedef struct HoldKey { +struct HoldKey { KeySym keysym; struct HoldKey *next; }; @@ -1447,6 +1447,107 @@ ishold(KeySym keysym) return 0; } +#define SOFTKEY_LEFT 1 +#define SOFTKEY_RIGHT 2 +#define SOFTKEY_CHORD_MS 200 +#define SOFTKEY_MAX_HOLD_MS 480 +#define SOFTKEY_SUPPRESS_MS 500 + +static int softkey_pending = 0; +static long long softkey_first_ms = 0; +static long long softkey_deadline_ms = 0; +static long long softkey_suppress_until_ms = 0; + +static long long +dwm_now_ms(void) +{ + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return (long long)ts.tv_sec * 1000LL + (long long)(ts.tv_nsec / 1000000L); +} + +static void +write_softkey_suppress(long long until_ms) +{ + char buf[32]; + int fd, len; + softkey_suppress_until_ms = until_ms; + fd = open("/tmp/sxmo_softkey_suppress", O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644); + if (fd >= 0) { + len = snprintf(buf, sizeof(buf), "%lld\n", until_ms); + (void)write(fd, buf, len); + close(fd); + } +} + +static long long +read_softkey_suppress(void) +{ + char buf[32]; + read_sysfs_str("/tmp/sxmo_softkey_suppress", buf, sizeof(buf)); + long long v = atoll(buf); + if (v > softkey_suppress_until_ms) + softkey_suppress_until_ms = v; + return softkey_suppress_until_ms; +} + +static int +query_softkeys_down(void) +{ + char km[32]; + int mask = 0; + if (!XQueryKeymap(dpy, km)) + return 0; + if (km[135 / 8] & (1 << (135 % 8))) + mask |= SOFTKEY_LEFT; + if (km[166 / 8] & (1 << (166 % 8))) + mask |= SOFTKEY_RIGHT; + return mask; +} + +static int +is_left_softkey(KeySym ks, unsigned int keycode) +{ + return ks == XK_Menu || ks == XF86XK_KbdLcdMenu1 || keycode == 135; +} + +static int +is_right_softkey(KeySym ks, unsigned int keycode) +{ + return ks == XF86XK_Back || ks == XF86XK_KbdLcdMenu2 || keycode == 166; +} + +static void +trigger_xdrawer_chord(long long now) +{ + const Arg xdrawercmd = { .v = (const char*[]){ "xdrawer", NULL } }; + softkey_pending = 0; + softkey_first_ms = 0; + softkey_deadline_ms = 0; + write_softkey_suppress(now + SOFTKEY_SUPPRESS_MS); + XUngrabKeyboard(dpy, CurrentTime); + XFlush(dpy); + spawn(&xdrawercmd); +} + +static void +flush_pending_softkey(void) +{ + int pending = softkey_pending; + softkey_pending = 0; + softkey_first_ms = 0; + softkey_deadline_ms = 0; + XUngrabKeyboard(dpy, CurrentTime); + XFlush(dpy); + if (pending == SOFTKEY_LEFT) { + const Arg syscmd = { .v = (const char*[]){ "sxmo_appmenu.sh", "sys", NULL } }; + spawn(&syscmd); + } else if (pending == SOFTKEY_RIGHT) { + const Arg ctxcmd = { .v = (const char*[]){ "sxmo_appmenu.sh", NULL } }; + spawn(&ctxcmd); + } +} + void keypress(XEvent *e) { @@ -1463,6 +1564,10 @@ keypress(XEvent *e) keysym == XF86XK_KbdLcdMenu1 || keysym == XF86XK_KbdLcdMenu2) && is_phone_locked()) { const Arg unlockcmd = SHCMD("xset dpms 0 0 0; xset dpms force on; sxmo_state.sh set unlock"); + softkey_pending = 0; + softkey_first_ms = 0; + softkey_deadline_ms = 0; + write_softkey_suppress(dwm_now_ms() + SOFTKEY_SUPPRESS_MS); XUngrabKeyboard(dpy, CurrentTime); XFlush(dpy); set_hw_backlight(1); @@ -1470,6 +1575,28 @@ keypress(XEvent *e) return; } + if (CLEANMASK(ev->state) == 0 && + (is_left_softkey(keysym, ev->keycode) || is_right_softkey(keysym, ev->keycode))) { + long long now = dwm_now_ms(); + if (now < read_softkey_suppress()) { + XUngrabKeyboard(dpy, CurrentTime); + XFlush(dpy); + return; + } + if (is_left_softkey(keysym, ev->keycode)) + softkey_pending |= SOFTKEY_LEFT; + if (is_right_softkey(keysym, ev->keycode)) + softkey_pending |= SOFTKEY_RIGHT; + softkey_pending |= query_softkeys_down(); + if (softkey_pending == (SOFTKEY_LEFT | SOFTKEY_RIGHT)) { + trigger_xdrawer_chord(now); + } else if (softkey_deadline_ms == 0) { + softkey_first_ms = now; + softkey_deadline_ms = now + SOFTKEY_CHORD_MS; + } + return; + } + if (!selmon->sel && CLEANMASK(ev->state) == 0) { if (keysym == XK_Return) { const Arg entercmd = { .v = (const char*[]){ "sxmo_appmenu.sh", NULL } }; @@ -1512,6 +1639,15 @@ keyrelease(XEvent *e) markreleased(keysym); + if (is_left_softkey(keysym, ev->keycode) || is_right_softkey(keysym, ev->keycode)) { + if (softkey_pending != 0 && softkey_pending != (SOFTKEY_LEFT | SOFTKEY_RIGHT)) { + long long grace = dwm_now_ms() + 65; + if (grace > softkey_deadline_ms) + softkey_deadline_ms = grace; + } + return; + } + for (i = 0; i < LENGTH(keys); i++) { if (keysym == keys[i].keysym && KeyRelease == keys[i].type @@ -1953,7 +2089,29 @@ run(void) fds[1].revents = 0; nfds = 2; } - if (poll(fds, nfds, -1) < 0) { + int timeout_ms = -1; + if (softkey_pending && softkey_deadline_ms > 0) { + long long now = dwm_now_ms(); + int hw_down = query_softkeys_down(); + softkey_pending |= hw_down; + if (softkey_pending == (SOFTKEY_LEFT | SOFTKEY_RIGHT)) { + trigger_xdrawer_chord(now); + continue; + } + long long rem = softkey_deadline_ms - now; + if (rem <= 0) { + if (hw_down != 0 && (now - softkey_first_ms) < SOFTKEY_MAX_HOLD_MS) { + softkey_deadline_ms = now + 25; + timeout_ms = 25; + } else { + flush_pending_softkey(); + continue; + } + } else { + timeout_ms = (int)rem; + } + } + if (poll(fds, nfds, timeout_ms) < 0) { if (errno == EINTR) continue; break; @@ -1974,10 +2132,12 @@ run(void) } } if (fds[0].revents & (POLLIN | POLLHUP | POLLERR)) { - if (XNextEvent(dpy, &ev)) - return; - if (handler[ev.type]) - handler[ev.type](&ev); + while (XPending(dpy)) { + if (XNextEvent(dpy, &ev)) + return; + if (handler[ev.type]) + handler[ev.type](&ev); + } } } } @@ -2194,7 +2354,7 @@ setup(void) wa.cursor = cursor[CurNormal]->cursor; wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask |ButtonPressMask|PointerMotionMask|EnterWindowMask - |LeaveWindowMask|StructureNotifyMask|PropertyChangeMask|KeyPressMask; + |LeaveWindowMask|StructureNotifyMask|PropertyChangeMask|KeyPressMask|KeyReleaseMask; XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); XSelectInput(dpy, root, wa.event_mask); lidfd = open("/dev/input/by-path/platform-gpio-keys-event", O_RDONLY | O_NONBLOCK | O_CLOEXEC); diff --git a/src/sxmo-st/config.def.h b/src/sxmo-st/config.def.h index 5cfc1e6..9914b9d 100644 --- a/src/sxmo-st/config.def.h +++ b/src/sxmo-st/config.def.h @@ -239,6 +239,8 @@ static Shortcut shortcuts[] = { { TERMMOD, XK_S, toggleselectionmode, {.i = 0} }, + { ShiftMask, XK_Prior, kscrollup, {.i = -1} }, + { ShiftMask, XK_Next, kscrolldown, {.i = -1} }, { TERMMOD, XK_B, kscrollup, {.i = -1} }, { TERMMOD, XK_F, kscrolldown, {.i = -1} }, { TERMMOD, XK_X, invert, { } }, diff --git a/src/sxmo-st/config.h b/src/sxmo-st/config.h index 5cfc1e6..9914b9d 100644 --- a/src/sxmo-st/config.h +++ b/src/sxmo-st/config.h @@ -239,6 +239,8 @@ static Shortcut shortcuts[] = { { TERMMOD, XK_S, toggleselectionmode, {.i = 0} }, + { ShiftMask, XK_Prior, kscrollup, {.i = -1} }, + { ShiftMask, XK_Next, kscrolldown, {.i = -1} }, { TERMMOD, XK_B, kscrollup, {.i = -1} }, { TERMMOD, XK_F, kscrolldown, {.i = -1} }, { TERMMOD, XK_X, invert, { } }, diff --git a/src/xdrawer/xdrawer.cpp b/src/xdrawer/xdrawer.cpp new file mode 100644 index 0000000..9c732da --- /dev/null +++ b/src/xdrawer/xdrawer.cpp @@ -0,0 +1,871 @@ +// SPDX-License-Identifier: GPL-2.0-only +// XDrawer - Lightweight X11 global phone controls drawer for Bananarchy (240x320) + +#include +#include +#include +#include +#include +#include +#ifndef _EVDEVK +#define _EVDEVK(_v) (0x10081000 + (_v)) +#endif +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +constexpr int kScreenWidth = 240; +constexpr int kScreenHeight = 320; +constexpr int kTopBarHeight = 26; +constexpr int kWinX = 0; +constexpr int kWinY = kTopBarHeight; +constexpr int kWinWidth = kScreenWidth; +constexpr int kWinHeight = kScreenHeight - kTopBarHeight; // 294px (7 * 42px) +constexpr int kRowCount = 7; +constexpr int kRowHeight = kWinHeight / kRowCount; // 42px per row + +// Nerd Font PUA icons matching sxmo_hook_icons.sh & dwm ("Fira Code, DejaVuSansM Nerd Font") +constexpr const char* kIconSpeaker = "\xef\x80\xa8"; // U+F028 speaker +constexpr const char* kIconEarpiece = "\xef\x8a\xa0"; // U+F2A0 earpiece +constexpr const char* kIconFlashlight = "\xf3\xb0\x89\x84"; // U+F0244 flashlight +constexpr const char* kIconSoundOn = "\xf3\xb0\x8e\x88"; // U+F0388 music/sound on +constexpr const char* kIconSoundOff = "\xef\x91\xa6"; // U+F466 mute +constexpr const char* kIconMicOn = "\xf3\xb0\x8d\xac"; // U+F036C mic on +constexpr const char* kIconMicOff = "\xf3\xb0\x8d\xad"; // U+F036D mic off +constexpr const char* kIconBrightness = "\xf3\xb0\x83\x9d"; // U+F00DD brightness +constexpr const char* kIconKeyboard = "\xef\x84\x9c"; // U+F11C keyboard +constexpr const char* kIconToggleOn = "\xef\x88\x85"; // U+F205 toggle on +constexpr const char* kIconToggleOff = "\xef\x88\x84"; // U+F204 toggle off + +volatile sig_atomic_t gRunning = 1; + +void handleSignal(int) { + gRunning = 0; +} + +int64_t nowMs() { + struct timespec ts {}; + clock_gettime(CLOCK_MONOTONIC, &ts); + return static_cast(ts.tv_sec) * 1000 + ts.tv_nsec / 1000000; +} + +std::string getRuntimeFile(const char* name) { + const char* rdir = std::getenv("XDG_RUNTIME_DIR"); + std::string base = (rdir && rdir[0]) ? rdir : "/tmp"; + return base + "/" + name; +} + +int readIntFile(const std::string& path, int fallback = -1) { + int fd = ::open(path.c_str(), O_RDONLY | O_CLOEXEC); + if (fd < 0) { + return fallback; + } + char buf[64]; + ssize_t n = ::read(fd, buf, sizeof(buf) - 1); + ::close(fd); + if (n <= 0) { + return fallback; + } + buf[n] = '\0'; + return std::atoi(buf); +} + +bool writeIntFile(const std::string& path, int value) { + int fd = ::open(path.c_str(), O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC, 0644); + if (fd < 0) { + return false; + } + char buf[32]; + int len = std::snprintf(buf, sizeof(buf), "%d\n", value); + ssize_t w = ::write(fd, buf, len); + ::close(fd); + return w == len; +} + +void runAsyncCmd(const std::string& cmd) { + pid_t pid = ::fork(); + if (pid == 0) { + ::setsid(); + int nullfd = ::open("/dev/null", O_RDWR); + if (nullfd >= 0) { + ::dup2(nullfd, STDIN_FILENO); + ::dup2(nullfd, STDOUT_FILENO); + ::dup2(nullfd, STDERR_FILENO); + if (nullfd > 2) { + ::close(nullfd); + } + } + execl("/bin/sh", "sh", "-c", cmd.c_str(), static_cast(nullptr)); + _exit(0); + } +} + +class AlsaControl { + public: + AlsaControl() { + if (snd_ctl_open(&ctl_, "hw:0", 0) < 0) { + ctl_ = nullptr; + } + } + + ~AlsaControl() { + if (ctl_) { + snd_ctl_close(ctl_); + } + } + + long getInteger(const char* name, long fallback = 0) const { + if (!ctl_) { + return fallback; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + if (snd_ctl_elem_read(ctl_, val) < 0) { + return fallback; + } + return snd_ctl_elem_value_get_integer(val, 0); + } + + bool setInteger(const char* name, long v) { + if (!ctl_) { + return false; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + snd_ctl_elem_value_set_integer(val, 0, v); + return snd_ctl_elem_write(ctl_, val) >= 0; + } + + bool getBoolean(const char* name, bool fallback = true) const { + if (!ctl_) { + return fallback; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + if (snd_ctl_elem_read(ctl_, val) < 0) { + return fallback; + } + return snd_ctl_elem_value_get_boolean(val, 0) != 0; + } + + bool setBoolean(const char* name, bool v) { + if (!ctl_) { + return false; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + snd_ctl_elem_value_set_boolean(val, 0, v ? 1 : 0); + return snd_ctl_elem_write(ctl_, val) >= 0; + } + + unsigned int getEnum(const char* name, unsigned int fallback = 0) const { + if (!ctl_) { + return fallback; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + if (snd_ctl_elem_read(ctl_, val) < 0) { + return fallback; + } + return snd_ctl_elem_value_get_enumerated(val, 0); + } + + bool setEnum(const char* name, unsigned int v) { + if (!ctl_) { + return false; + } + snd_ctl_elem_id_t* id = nullptr; + snd_ctl_elem_value_t* val = nullptr; + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_value_alloca(&val); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + snd_ctl_elem_id_set_name(id, name); + snd_ctl_elem_value_set_id(val, id); + snd_ctl_elem_value_set_enumerated(val, 0, v); + return snd_ctl_elem_write(ctl_, val) >= 0; + } + + private: + snd_ctl_t* ctl_ = nullptr; +}; + +enum class ControlId { + SpeakerVol = 0, + EarpieceVol = 1, + Flashlight = 2, + SoundMute = 3, + MicMute = 4, + ScreenBright = 5, + KbdBright = 6, +}; + +struct ControlItem { + ControlId id; + const char* iconOn; + const char* iconOff; + std::string label; + bool isSlider; + int minVal; + int maxVal; + int stepVal; + int value; +}; + +class PhoneController { + public: + PhoneController() { + if (::access("/sys/class/leds/white:torch/brightness", F_OK) == 0) { + torchDir_ = "/sys/class/leds/white:torch"; + } else { + torchDir_ = "/sys/class/leds/white:flash"; + } + torchMax_ = std::max(1, readIntFile(torchDir_ + "/max_brightness", 255)); + + backlightDir_ = "/sys/class/backlight/backlight"; + screenMax_ = std::max(1, readIntFile(backlightDir_ + "/max_brightness", 14)); + + kbdDir_ = "/sys/class/leds/white:kbd_backlight"; + kbdMax_ = std::max(1, readIntFile(kbdDir_ + "/max_brightness", 1)); + kbdSupportsSlider_ = (kbdMax_ > 1); + + refreshAll(); + } + + void refreshAll() { + items_.clear(); + + // 1. Speaker volume (0..100%, mapped to ALSA RX3 Digital Volume 0..84) + long rx3 = alsa_.getInteger("RX3 Digital Volume", 84); + int spkPct = std::clamp(static_cast(std::lround((rx3 * 100.0) / 84.0)), 0, 100); + spkPct = (spkPct / 5) * 5; + items_.push_back({ControlId::SpeakerVol, kIconSpeaker, kIconSoundOff, + "Speaker", true, 0, 100, 5, spkPct}); + + // 2. Earpiece volume (0..100%, mapped to ALSA RX1 Digital Volume 0..84) + long rx1 = alsa_.getInteger("RX1 Digital Volume", 84); + int earPct = std::clamp(static_cast(std::lround((rx1 * 100.0) / 84.0)), 0, 100); + earPct = (earPct / 5) * 5; + items_.push_back({ControlId::EarpieceVol, kIconEarpiece, kIconEarpiece, + "Earpiece", true, 0, 100, 5, earPct}); + + // 3. Flashlight on/off (toggle) + int torchCur = readIntFile(torchDir_ + "/brightness", 0); + items_.push_back({ControlId::Flashlight, kIconFlashlight, kIconFlashlight, + "Flashlight", false, 0, 1, 1, (torchCur > 0) ? 1 : 0}); + + // 4. Sound on/off (toggle) + bool spkOn = alsa_.getBoolean("SPK DAC Switch", true); + items_.push_back({ControlId::SoundMute, kIconSoundOn, kIconSoundOff, + "Sound", false, 0, 1, 1, spkOn ? 1 : 0}); + + // 5. Microphone on/off (toggle) + unsigned int dec1 = alsa_.getEnum("DEC1 MUX", 2); + if (dec1 > 0) { + savedMicMux_ = dec1; + writeIntFile("/tmp/xdrawer_mic_mux", static_cast(savedMicMux_)); + } else { + savedMicMux_ = static_cast(std::max(1, readIntFile("/tmp/xdrawer_mic_mux", 2))); + } + items_.push_back({ControlId::MicMute, kIconMicOn, kIconMicOff, + "Microphone", false, 0, 1, 1, (dec1 > 0) ? 1 : 0}); + + // 6. Screen brightness (slider 1..screenMax_) + int scrCur = std::clamp(readIntFile(backlightDir_ + "/brightness", screenMax_), 1, screenMax_); + int scrStep = std::max(1, screenMax_ / 14); + items_.push_back({ControlId::ScreenBright, kIconBrightness, kIconBrightness, + "Screen", true, 1, screenMax_, scrStep, scrCur}); + + // 7. Keyboard brightness (slider if max_brightness > 1, toggle otherwise) + int kbdCur = std::clamp(readIntFile(kbdDir_ + "/brightness", 0), 0, kbdMax_); + if (kbdSupportsSlider_) { + int kbdStep = std::max(1, kbdMax_ / 10); + items_.push_back({ControlId::KbdBright, kIconKeyboard, kIconKeyboard, + "Keypad", true, 0, kbdMax_, kbdStep, kbdCur}); + } else { + items_.push_back({ControlId::KbdBright, kIconKeyboard, kIconKeyboard, + "Keypad", false, 0, 1, 1, (kbdCur > 0) ? 1 : 0}); + } + } + + std::vector& items() { return items_; } + const std::vector& items() const { return items_; } + + void adjust(size_t idx, int dir) { + if (idx >= items_.size()) { + return; + } + ControlItem& it = items_[idx]; + if (it.isSlider) { + it.value = std::clamp(it.value + dir * it.stepVal, it.minVal, it.maxVal); + } else { + it.value = it.value ? 0 : 1; + } + apply(it); + } + + void activate(size_t idx) { + if (idx >= items_.size()) { + return; + } + ControlItem& it = items_[idx]; + if (!it.isSlider) { + it.value = it.value ? 0 : 1; + apply(it); + } + } + + private: + void apply(ControlItem& it) { + switch (it.id) { + case ControlId::SpeakerVol: { + long hw = std::lround((it.value * 84.0) / 100.0); + alsa_.setInteger("RX3 Digital Volume", hw); + char cmd[128]; + std::snprintf( + cmd, sizeof(cmd), + "wpctl set-volume @DEFAULT_AUDIO_SINK@ %d%% >/dev/null 2>&1; " + "sxmo_hook_statusbar.sh audio >/dev/null 2>&1", + it.value); + runAsyncCmd(cmd); + break; + } + case ControlId::EarpieceVol: { + long hw = std::lround((it.value * 84.0) / 100.0); + alsa_.setInteger("RX1 Digital Volume", hw); + break; + } + case ControlId::Flashlight: { + int v = it.value ? torchMax_ : 0; + if (!writeIntFile(torchDir_ + "/brightness", v)) { + runAsyncCmd(it.value ? "brightnessctl -d white:torch set 255" + : "brightnessctl -d white:torch set 0"); + } + break; + } + case ControlId::SoundMute: { + alsa_.setBoolean("SPK DAC Switch", it.value != 0); + runAsyncCmd(it.value + ? "wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 >/dev/null 2>&1; " + "sxmo_hook_statusbar.sh audio >/dev/null 2>&1" + : "wpctl set-mute @DEFAULT_AUDIO_SINK@ 1 >/dev/null 2>&1; " + "sxmo_hook_statusbar.sh audio >/dev/null 2>&1"); + break; + } + case ControlId::MicMute: { + alsa_.setEnum("DEC1 MUX", it.value ? savedMicMux_ : 0); + alsa_.setInteger("ADC3 Volume", it.value ? 8 : 0); + runAsyncCmd(it.value + ? "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0 >/dev/null 2>&1" + : "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 1 >/dev/null 2>&1"); + break; + } + case ControlId::ScreenBright: { + writeIntFile(backlightDir_ + "/bl_power", 0); + writeIntFile(backlightDir_ + "/brightness", it.value); + writeIntFile("/tmp/sxmo_saved_brightness", it.value); + break; + } + case ControlId::KbdBright: { + int v = kbdSupportsSlider_ ? it.value : (it.value ? kbdMax_ : 0); + if (!writeIntFile(kbdDir_ + "/brightness", v)) { + char cmd[128]; + std::snprintf(cmd, sizeof(cmd), + "brightnessctl -d white:kbd_backlight set %d >/dev/null 2>&1", v); + runAsyncCmd(cmd); + } + break; + } + } + } + + AlsaControl alsa_; + std::string torchDir_; + int torchMax_ = 255; + std::string backlightDir_; + int screenMax_ = 14; + std::string kbdDir_; + int kbdMax_ = 1; + bool kbdSupportsSlider_ = false; + unsigned int savedMicMux_ = 2; + std::vector items_; +}; + +} // namespace + +int main() { + int64_t startMs = nowMs(); + std::string pidPath = getRuntimeFile("xdrawer.pid"); + std::string startPath = getRuntimeFile("xdrawer.start"); + int existingPid = readIntFile(pidPath, -1); + if (existingPid > 0 && existingPid != static_cast(::getpid())) { + if (::kill(existingPid, 0) == 0) { + int fd = ::open(startPath.c_str(), O_RDONLY | O_CLOEXEC); + int64_t prevStartMs = 0; + if (fd >= 0) { + char buf[64]; + ssize_t n = ::read(fd, buf, sizeof(buf) - 1); + ::close(fd); + if (n > 0) { + buf[n] = '\0'; + prevStartMs = std::atoll(buf); + } + } + if (startMs - prevStartMs < 480) { + return 0; + } + ::kill(existingPid, SIGTERM); + return 0; + } + } + writeIntFile(pidPath, static_cast(::getpid())); + { + int fd = ::open(startPath.c_str(), O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC, 0644); + if (fd >= 0) { + char buf[32]; + int len = std::snprintf(buf, sizeof(buf), "%lld\n", + static_cast(startMs)); + (void)::write(fd, buf, len); + ::close(fd); + } + } + + struct sigaction sa {}; + sa.sa_handler = handleSignal; + sigemptyset(&sa.sa_mask); + sigaction(SIGTERM, &sa, nullptr); + sigaction(SIGINT, &sa, nullptr); + + runAsyncCmd("pkill -x dmenu >/dev/null 2>&1"); + + Display* dpy = XOpenDisplay(nullptr); + if (!dpy) { + ::unlink(pidPath.c_str()); + return 1; + } + + int screen = DefaultScreen(dpy); + Window root = RootWindow(dpy, screen); + Visual* visual = DefaultVisual(dpy, screen); + Colormap cmap = DefaultColormap(dpy, screen); + + XSetWindowAttributes swa{}; + swa.override_redirect = True; + swa.background_pixel = 0x222222; + swa.border_pixel = 0xf4d03f; + swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | + StructureNotifyMask | VisibilityChangeMask; + + Window win = XCreateWindow( + dpy, root, kWinX, kWinY, kWinWidth, kWinHeight, 0, + DefaultDepth(dpy, screen), CopyFromParent, visual, + CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWEventMask, &swa); + + XClassHint ch{}; + char resName[] = "xdrawer"; + char resClass[] = "XDrawer"; + ch.res_name = resName; + ch.res_class = resClass; + XSetClassHint(dpy, win, &ch); + XStoreName(dpy, win, "XDrawer"); + + XMapRaised(dpy, win); + XSync(dpy, False); + + for (int i = 0; i < 60; ++i) { + if (XGrabKeyboard(dpy, win, True, GrabModeAsync, GrabModeAsync, CurrentTime) == + GrabSuccess) { + break; + } + usleep(5000); + } + + Pixmap pix = XCreatePixmap(dpy, win, kWinWidth, kWinHeight, DefaultDepth(dpy, screen)); + GC gc = XCreateGC(dpy, pix, 0, nullptr); + XftDraw* xftDraw = XftDrawCreate(dpy, pix, visual, cmap); + + // Use the exact same Pango+Xft font stack as dwm ("Fira Code, DejaVuSansM Nerd Font 15px") + PangoFontMap* fontMap = pango_xft_get_font_map(dpy, screen); + PangoContext* pangoCtx = pango_font_map_create_context(fontMap); + PangoLayout* layoutMain = pango_layout_new(pangoCtx); + PangoFontDescription* descMain = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 15px"); + pango_layout_set_font_description(layoutMain, descMain); + + PangoLayout* layoutIcon = pango_layout_new(pangoCtx); + PangoFontDescription* descIcon = + pango_font_description_from_string("DejaVuSansM Nerd Font, Fira Code 16px"); + pango_layout_set_font_description(layoutIcon, descIcon); + + PangoLayout* layoutSmall = pango_layout_new(pangoCtx); + PangoFontDescription* descSmall = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 12px"); + pango_layout_set_font_description(layoutSmall, descSmall); + + auto allocColor = [&](const char* hex) { + XftColor col{}; + XftColorAllocName(dpy, visual, cmap, hex, &col); + return col; + }; + + XftColor colWhite = allocColor("#ffffff"); + XftColor colLight = allocColor("#dddddd"); + XftColor colMuted = allocColor("#aaaaaa"); + XftColor colYellow = allocColor("#f4d03f"); + XftColor colGreen = allocColor("#2ecc71"); + + PhoneController controller; + size_t selected = 0; + + auto drawPango = [&](PangoLayout* layout, XftColor* color, int x, int y, int h, + const std::string& text, int maxW = -1) { + pango_layout_set_text(layout, text.c_str(), static_cast(text.size())); + if (maxW > 0) { + pango_layout_set_width(layout, maxW * PANGO_SCALE); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_END); + } else { + pango_layout_set_width(layout, -1); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_NONE); + } + PangoRectangle ink{}, logical{}; + pango_layout_get_pixel_extents(layout, &ink, &logical); + int ty = y + (h - logical.height) / 2; + pango_xft_render_layout(xftDraw, color, layout, x * PANGO_SCALE, + ty * PANGO_SCALE); + }; + + auto pangoWidth = [&](PangoLayout* layout, const std::string& text) -> int { + pango_layout_set_width(layout, -1); + pango_layout_set_text(layout, text.c_str(), static_cast(text.size())); + PangoRectangle ink{}, logical{}; + pango_layout_get_pixel_extents(layout, &ink, &logical); + return logical.width; + }; + + auto render = [&]() { + XSetForeground(dpy, gc, 0x222222); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, kWinHeight); + + // 7 Control rows (42px each, 7 * 42 = 294px exact) + const auto& items = controller.items(); + for (size_t i = 0; i < items.size(); ++i) { + int ry = static_cast(i) * kRowHeight; + bool isSel = (i == selected); + + XSetForeground(dpy, gc, isSel ? 0x005577 : ((i % 2 == 0) ? 0x282828 : 0x2e2e2e)); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, kRowHeight); + + if (isSel) { + XSetForeground(dpy, gc, 0xf4d03f); + XFillRectangle(dpy, pix, gc, 0, ry, 4, kRowHeight); + } + + const ControlItem& it = items[i]; + bool activeState = (it.value > 0); + const char* rowIcon = activeState ? it.iconOn : it.iconOff; + + // Icon column (x = 8..28) + Label column (x = 30..112 for sliders, 30..166 for toggles) + int labelMaxW = it.isSlider ? 82 : 136; + drawPango(layoutIcon, isSel ? &colYellow : &colLight, 8, ry, kRowHeight, rowIcon); + drawPango(layoutMain, isSel ? &colWhite : &colLight, 30, ry, kRowHeight, + it.label, labelMaxW); + + if (it.isSlider) { + int pct = 0; + if (it.maxVal > it.minVal) { + if (it.minVal == 1) { + pct = static_cast(std::lround((it.value * 100.0) / it.maxVal)); + } else { + pct = static_cast( + std::lround(((it.value - it.minVal) * 100.0) / (it.maxVal - it.minVal))); + } + } + pct = std::clamp(pct, 0, 100); + + // Slider track (x = 114, w = 78, h = 12) + thumb + right-aligned pct (x = 196..234) + int barX = 114; + int barW = 78; + int barH = 12; + int barY = ry + (kRowHeight - barH) / 2; + + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, barX, barY, barW, barH); + XSetForeground(dpy, gc, isSel ? 0xdddddd : 0x555555); + XDrawRectangle(dpy, pix, gc, barX, barY, barW - 1, barH - 1); + + int fillW = ((barW - 2) * pct) / 100; + if (fillW > 0) { + XSetForeground(dpy, gc, isSel ? 0xf4d03f : 0x3498db); + XFillRectangle(dpy, pix, gc, barX + 1, barY + 1, fillW, barH - 2); + } + + // Slider thumb knob + int knobX = barX + std::clamp(fillW - 2, 0, barW - 5); + XSetForeground(dpy, gc, 0xffffff); + XFillRectangle(dpy, pix, gc, knobX, barY - 2, 5, barH + 4); + + char pctBuf[16]; + std::snprintf(pctBuf, sizeof(pctBuf), "%d%%", pct); + std::string pctStr(pctBuf); + int pw = pangoWidth(layoutSmall, pctStr); + drawPango(layoutSmall, isSel ? &colWhite : &colLight, kWinWidth - pw - 6, + ry, kRowHeight, pctStr); + } else { + // Toggle switch icon + ON/OFF label (right-aligned within x = 160..234) + bool on = (it.value != 0); + std::string stStr = on ? "ON" : "OFF"; + int stW = pangoWidth(layoutMain, stStr); + drawPango(layoutMain, on ? (isSel ? &colYellow : &colGreen) : &colMuted, + kWinWidth - stW - 8, ry, kRowHeight, stStr); + drawPango(layoutIcon, on ? (isSel ? &colYellow : &colGreen) : &colMuted, + kWinWidth - stW - 30, ry, kRowHeight, + on ? kIconToggleOn : kIconToggleOff); + } + } + + XCopyArea(dpy, pix, win, gc, 0, 0, kWinWidth, kWinHeight, 0, 0); + XFlush(dpy); + }; + + render(); + + auto writeSoftkeySuppress = [](int64_t untilMs) { + int fd = ::open("/tmp/sxmo_softkey_suppress", + O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644); + if (fd >= 0) { + char buf[32]; + int len = std::snprintf(buf, sizeof(buf), "%lld\n", + static_cast(untilMs)); + (void)::write(fd, buf, len); + ::close(fd); + } + }; + + auto querySoftkeysDown = [&](Display* d) -> int { + char km[32]; + if (!XQueryKeymap(d, km)) { + return 0; + } + int mask = 0; + if (km[135 / 8] & (1 << (135 % 8))) { + mask |= 1; + } + if (km[166 / 8] & (1 << (166 % 8))) { + mask |= 2; + } + return mask; + }; + + // Drain any stale key events that arrived before initial render finished + while (XPending(dpy)) { + XEvent ev; + XNextEvent(dpy, &ev); + if (ev.type == Expose && ev.xexpose.count == 0) { + render(); + } + } + + int64_t startupIgnoreUntilMs = std::max(startMs + 220, nowMs() + 60); + bool initialKeysReleased = (querySoftkeysDown(dpy) == 0); + bool closedByKey = false; + int xfd = ConnectionNumber(dpy); + + while (gRunning) { + if (!initialKeysReleased && querySoftkeysDown(dpy) == 0) { + initialKeysReleased = true; + } + while (XPending(dpy)) { + XEvent ev; + XNextEvent(dpy, &ev); + if (!initialKeysReleased && querySoftkeysDown(dpy) == 0) { + initialKeysReleased = true; + } + if (ev.type == Expose) { + if (ev.xexpose.count == 0) { + render(); + } + } else if (ev.type == VisibilityNotify) { + if (ev.xvisibility.state != VisibilityUnobscured) { + XRaiseWindow(dpy, win); + XFlush(dpy); + } + } else if (ev.type == KeyRelease) { + KeySym sym = XLookupKeysym(&ev.xkey, 0); + if (sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || + sym == XF86XK_Back || sym == XF86XK_KbdLcdMenu2 || + ev.xkey.keycode == 135 || ev.xkey.keycode == 166) { + if (querySoftkeysDown(dpy) == 0) { + initialKeysReleased = true; + } + } + } else if (ev.type == KeyPress) { + KeySym sym = XLookupKeysym(&ev.xkey, 0); + size_t count = controller.items().size(); + + if (sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || + sym == XF86XK_Back || sym == XF86XK_KbdLcdMenu2 || + ev.xkey.keycode == 135 || ev.xkey.keycode == 166) { + if (initialKeysReleased && nowMs() >= startupIgnoreUntilMs) { + writeSoftkeySuppress(nowMs() + 500); + closedByKey = true; + gRunning = 0; + break; + } + continue; + } + + switch (sym) { + case XK_Escape: + case XK_BackSpace: + case XK_q: + writeSoftkeySuppress(nowMs() + 400); + closedByKey = true; + gRunning = 0; + break; + case XK_Up: + case XK_KP_Up: + case XK_k: + if (count > 0) { + selected = (selected + count - 1) % count; + render(); + } + break; + case XK_Down: + case XK_KP_Down: + case XK_j: + if (count > 0) { + selected = (selected + 1) % count; + render(); + } + break; + case XK_Left: + case XK_KP_Left: + case XK_h: + case XF86XK_AudioLowerVolume: + controller.adjust(selected, -1); + render(); + break; + case XK_Right: + case XK_KP_Right: + case XK_l: + case XF86XK_AudioRaiseVolume: + controller.adjust(selected, +1); + render(); + break; + case XK_Return: + case XK_KP_Enter: + case XK_space: + case XF86XK_Phone: + case XF86XK_PickupPhone: + controller.activate(selected); + render(); + break; + case XK_1: + case XK_2: + case XK_3: + case XK_4: + case XK_5: + case XK_6: + case XK_7: { + size_t idx = static_cast(sym - XK_1); + if (idx < count) { + selected = idx; + controller.activate(selected); + render(); + } + break; + } + default: + break; + } + } + } + + if (!gRunning) { + break; + } + + struct pollfd pfd {}; + pfd.fd = xfd; + pfd.events = POLLIN; + ::poll(&pfd, 1, initialKeysReleased ? 250 : 40); + } + + // Absorb any still-held softkeys (or second softkey of a closing chord) + // before releasing XGrabKeyboard so dwm never sees a trailing softkey press. + if (closedByKey) { + int64_t drainDeadline = nowMs() + 260; + while (nowMs() < drainDeadline && querySoftkeysDown(dpy) != 0) { + while (XPending(dpy)) { + XEvent ev; + XNextEvent(dpy, &ev); + } + struct pollfd pfd {}; + pfd.fd = xfd; + pfd.events = POLLIN; + ::poll(&pfd, 1, 15); + } + while (XPending(dpy)) { + XEvent ev; + XNextEvent(dpy, &ev); + } + writeSoftkeySuppress(nowMs() + 400); + } + + XUngrabKeyboard(dpy, CurrentTime); + pango_font_description_free(descSmall); + pango_font_description_free(descIcon); + pango_font_description_free(descMain); + g_object_unref(layoutSmall); + g_object_unref(layoutIcon); + g_object_unref(layoutMain); + g_object_unref(pangoCtx); + XftDrawDestroy(xftDraw); + XFreeGC(dpy, gc); + XFreePixmap(dpy, pix); + XDestroyWindow(dpy, win); + XCloseDisplay(dpy); + ::unlink(pidPath.c_str()); + return 0; +}