From 9c06198c12521ab5b6d3d5837e7e2bb81018579b Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Fri, 12 Dec 2025 20:30:44 +0900 Subject: [PATCH] custom labels & buttons --- wlx-overlay-s/src/gui/README.md | 88 +++++++++++--- wlx-overlay-s/src/gui/panel/button.rs | 168 +++++++++++++++++--------- wlx-overlay-s/src/gui/panel/helper.rs | 115 ++++++++++++++---- wlx-overlay-s/src/gui/panel/label.rs | 141 ++++++++------------- wlx-overlay-s/src/gui/panel/mod.rs | 14 +-- wlx-overlay-s/src/subsystem/osc.rs | 34 ++++-- 6 files changed, 356 insertions(+), 204 deletions(-) diff --git a/wlx-overlay-s/src/gui/README.md b/wlx-overlay-s/src/gui/README.md index cde6cc1..5f9717a 100644 --- a/wlx-overlay-s/src/gui/README.md +++ b/wlx-overlay-s/src/gui/README.md @@ -1,12 +1,12 @@ # WayVR GUI Customization -Place custom XML files under ~/.config/wayvr/gui +When customizing the watch, keyboard, dashboard, etc; place custom XML files under ~/.config/wlxoverlay/theme/gui ## Custom timezones, 12 vs 24-hour clock These are not done via the GUI system, but via the regular config. -Create `~/.config/wayvr/conf.d/clock.yaml` as such: +Create `~/.config/wlxoverlay/conf.d/clock.yaml` as such: ```yaml timezones: @@ -28,7 +28,9 @@ There is usually no need to specify your own local timezone in here; omitting `_ #### Clock label -Clock labels are driven by the current time. Available display values are: `name` (timezone name), `time`, `date`, `dow` +Clock labels are driven by the current time, adhering to the user's 12/24 hour setting as well as timezone settings. + +Available display values are: `name` (timezone name), `time`, `date`, `dow` See the Custom Timezones section for more info on timezones. Skip `_timezone` to use local time. @@ -40,10 +42,9 @@ See the Custom Timezones section for more info on timezones. Skip `_timezone` to Fifo label creates a fifo on your system that other programs can pipe output into. -- The label will look for the last line that has a trailing `\n` and display it as its text. -- The pipe is only actively read while the HMD is active. - - If the producer fills up the pipe buffer before the headset is activated, a SIGPIPE will be sent to the producer, which shall be handled gracefully. -- If the pipe breaks for any reason, re-creation is attempted after 15 seconds. +- The label will look for the last complete line to use as its text. +- If the pipe breaks due to an IO error, re-creation is attempted after 15 seconds. +- `_path` supports environment variables, but not `~`! ```xml