Commit Graph

276 Commits

Author SHA1 Message Date
Gabriele Musco 9dbd35e8f7 feat: add X-XR-Plugin flag and X-XR-Plugin-Exec to .desktop file
This change is part of a new initiative in Envision to revamp the plugin
system. The new system is such that Envision will no longer install plugins on
its own, instead it will detect system provided plugin applications via
the X-XR-Plugin flag, and be instructed on a specific command to use
with the optional X-XR-Plugin-Exec.

This proposed specification is detailed in the following issue:
<https://gitlab.com/gabmus/envision/-/issues/250>
2025-12-17 06:29:53 +00:00
Aleksander d6b176f23a make watch pretty
[skip ci]
2025-12-16 20:27:07 +01:00
Aleksander 326b0d710c make toasts pretty 2025-12-16 18:57:10 +01:00
Jay 6086dcf233
osc: Add parameters for Working Sets / OVR Toolkit's Profiles (#295)
* add `lowestBattery` parameter to match the casing of other parameters

* add the following parameters:
`isEditModeActive`, `ToggleEditMode`, `currentWorkingSet`, `CurrentProfile`, and `totalWorkingSets`

* treat fully transparent overlays as "not visible"

this fixes the `isWristVisible` parameter; it was always True even when not looking at it since the watch is usually always "active", which was the only condition before.
2025-12-16 15:04:11 +00:00
galister c41c0b9b59 sbs 3d support 2025-12-16 23:12:35 +09:00
galister 9f5c0b9049 query fcitx at start 2025-12-16 04:43:00 +00:00
galister 2b3cdc3c8b fcitx: capture variant by regex 2025-12-16 04:43:00 +00:00
galister c19c9da5f0 fall back to system layout more aggressively 2025-12-16 04:43:00 +00:00
galister 19b7541049 reload system layout instead of re-using from startup 2025-12-16 04:43:00 +00:00
galister a0c9275b44 IMEs to use system layout 2025-12-16 04:43:00 +00:00
galister 1077d2606d SIGUSR1 to trigger fcitx layout change 2025-12-16 04:43:00 +00:00
galister 12e5749bda set wayvr keymap 2025-12-16 04:43:00 +00:00
galister 9c71917b2a poc keyboard layout change on wayland 2025-12-16 04:43:00 +00:00
galister c732424e7d dbus refactor 2025-12-16 04:43:00 +00:00
galister f2f02855e3 separate GuiPanel for each keyboard layout 2025-12-16 04:43:00 +00:00
galister 8418516236 wayvr: interface to set keymap 2025-12-16 04:43:00 +00:00
galister 4bd8cc1955 notifications tiny cleanup 2025-12-16 04:43:00 +00:00
galister 9df0bc0976 include instructions about uinput module 2025-12-14 10:49:21 +09:00
galister f3f775c06b add ::SendKey 2025-12-14 02:42:50 +09:00
galister f2bd169c22 edit mode: load disable grab state 2025-12-14 01:54:33 +09:00
galister 169c1c87f7 reduce openxr version to work with 22.04 openxr-loader 2025-12-14 01:46:07 +09:00
galister 17165123b9 sunset theme.xml in favor of globals 2025-12-14 00:34:06 +09:00
galister 661ad7d761 toast: limit size and enable word wrap 2025-12-13 21:59:32 +09:00
galister ff4b39069c per-window option to disable grabbing 2025-12-13 21:44:36 +09:00
galister 6793a163af adjust default screen position to be lower 2025-12-13 21:13:11 +09:00
galister 8969a76cd2 fix zero transforms getting serialized 2025-12-13 21:08:21 +09:00
Aleksander a98f49ae7e update pl.json
[no ci]
2025-12-12 18:36:32 +01:00
galister 3ed4313a36 fix target folder paths 2025-12-12 21:43:22 +09:00
galister 5179158b04 fix build without wayland feature 2025-12-12 21:11:11 +09:00
galister cccc7f2614 format 2025-12-12 20:59:52 +09:00
galister 3b1c907798 clippy gone wrong 2025-12-12 20:58:02 +09:00
galister 8b4e60e221 format 2025-12-12 20:44:06 +09:00
galister e1b209410e clippy 2025-12-12 20:43:31 +09:00
galister c95e4a93f6 github actions 2025-12-12 20:38:53 +09:00
galister 9c06198c12 custom labels & buttons 2025-12-12 20:30:44 +09:00
galister 97c11c6791 translations 2025-12-12 01:39:02 +09:00
galister 99b7267970 move readme 2025-12-11 23:56:20 +09:00
galister cce5e5b308 update readme 2025-12-11 23:55:35 +09:00
galister a5cacc2e70 mirrors, recenter, fix floor 2025-12-11 23:55:18 +09:00
galister 4314610244 clippy 2025-12-11 21:26:25 +09:00
galister 12524fec96 Merge branch 'main' into next 2025-12-11 21:24:16 +09:00
galister 30c8a7e3c1 edit mode ui fixes 2025-12-11 21:00:49 +09:00
galister 9c799f360d fix set/overlay persistence 2025-12-11 17:08:49 +09:00
BOT Alex 60ff340445
all bindings can have multiple bindings (#281)
fixed right hand and improved code

remove flake

forgor

forgor

removed print statemnets

Co-authored-by: BOTAlex <alex@deprived.dev>
2025-12-11 00:58:21 +00:00
galister 1724d39697 FileOrBuiltIn asset paths, theming support 2025-12-11 01:09:49 +09:00
galister cb0831223a proper toast sizing 2025-12-10 21:41:51 +09:00
galister c4b8fbd579 anyhow context is nice 2025-12-10 21:03:13 +09:00
galister 7c41a01122 rework toast to use xml 2025-12-10 20:49:39 +09:00
galister 6294ccae1c refine watch grab & hand switch 2025-12-10 18:29:13 +09:00
galister 87806a84d2 watch grabbable in edit mode 2025-12-10 17:32:43 +09:00
galister 65992ebb8d untweak wayvr overlay names for now 2025-12-10 17:21:15 +09:00
galister a8bf3dc077 raw grab while right-click modifier held 2025-12-10 17:19:32 +09:00
galister 01fea96545 refactor tasks 2025-12-10 17:12:26 +09:00
galister c6aa84f6cb fix build without wayvr feature 2025-12-10 15:39:50 +09:00
galister 5a3ae02910 wayvr: dont die if wayvr.disp not writeable 2025-12-10 15:22:49 +09:00
galister 673e263bdc fix openvr lines 2025-12-10 15:22:49 +09:00
Aleksander e76ad82c60 update all deps 2025-12-08 22:57:44 +01:00
Aleksander b0985e33af dash-frontend: toast messages, 📦📎 2025-12-08 22:42:05 +01:00
galister d50b3b6da7 tweak wayvr overlay names 2025-12-06 10:36:09 +09:00
Jay f54c5decb6
osc: remove `headsetBattery` parameter and change `hmdBattery` to float 0-1 to match OVR Toolkit (#278) 2025-12-01 02:42:53 +00:00
galister e8528735c7 remove logs 2025-11-30 18:52:45 +09:00
galister 33c55828af translations for watch tooltips 2025-11-30 18:33:22 +09:00
galister 6c5ab63bec watch & edit to use theme.xml; device batteries 2025-11-30 18:01:52 +09:00
galister 363c2d533c allow option_if_let_else 2025-11-30 11:42:34 +09:00
Aleksander 9696d6730d wgui: `StyleSetRequest` 2025-11-26 22:49:50 +01:00
Aleksander 85eab33c94 fix tooltips not disappearing, clippy 2025-11-26 22:01:19 +01:00
galister d5c5d06b3a watch toolbox to support various overlay types 2025-11-26 17:16:19 +09:00
galister 3f907180f8 watch controls for edit mode 2025-11-25 23:13:14 +09:00
galister 8bd1097886 remove unnecessary layer of tab divs from edit.xml 2025-11-25 11:22:50 +09:00
Aleksander 8485639e00 add `wlx-common` lib, move `GeneralConfig` into it 2025-11-25 00:21:51 +01:00
Orion a6da79bf3d
prevent the mode from changing during a click (#273)
Fixes mouse buttons getting stuck if trigger is released in a different
mode than the initial click.
2025-11-24 05:26:44 +00:00
Orion e390634d4f
log input blocking/unblocking on trace (#274) 2025-11-24 05:26:02 +00:00
galister 2d7714d423 watch: highlight current set 2025-11-24 14:18:04 +09:00
galister 5b40032bc3 anchor grab 2025-11-19 15:48:06 +09:00
Aleksander 127cb5c8d0 wgui: refresh widgets with dirty tree state 2025-11-15 11:46:34 +01:00
Aleksander 5ce745d2b9 various_widgets: add visibility test, minor refactoring 2025-11-15 00:00:41 +01:00
galister 3daee83838 edit overlay progress 2025-11-14 17:59:17 +09:00
Aleksander 70be748da1 fix "no edit mode on global overlays" 2025-11-13 21:12:18 +01:00
Aleksander 830be58c7a style: add `display="none"` 2025-11-13 20:54:19 +01:00
Aleksander 4d4292255a rename to `timestep_alpha` 2025-11-13 20:23:27 +01:00
galister 1b0ebb8414 no edit mode on global overlays 2025-11-13 19:46:00 +09:00
galister 6ca193d1c0 fix WheelDelta regression 2025-11-13 16:32:10 +09:00
galister 595324814a opacity & additive & curvature works 2025-11-13 15:40:08 +09:00
Aleksander d435fdb473 edit.xml: Add translations 2025-11-12 20:12:40 +01:00
Aleksander 3aee4d68a3 edit: dynamic gui scale 2025-11-12 19:57:38 +01:00
Aleksander 6e11c2cf87 themes cleanup, ui improvements 2025-11-12 17:49:05 +01:00
Aleksander 6136a5aa43 clippy 2025-11-12 17:06:53 +01:00
galister adb093b725 snappy sliders 2025-11-13 00:34:38 +09:00
galister d26ddd66bd edit overlay design 2025-11-12 23:27:26 +09:00
galister 278420b2ce implement edit mode toggle 2025-11-12 20:41:23 +09:00
galister 52fb06eecc remove old gui yamls 2025-11-12 20:41:23 +09:00
galister 6b5b95bd88 refactor rendering interface, working edit overlay 2025-11-12 20:41:19 +09:00
galister 350c931749 wip: edit mode overlay 2025-11-12 20:34:01 +09:00
Aleksander afc8804aba config: Add `invert_scroll_direction` and `scroll_speed` 2025-11-11 12:11:34 +01:00
galister 6169ec9505 fix anchor not showing 2025-11-11 14:41:39 +09:00
galister bef31be9e2 persist sets between sessions 2025-11-11 11:44:57 +09:00
galister 98e5d1b93d dashboard is global 2025-11-11 09:38:17 +09:00
Aleksander 71898056f3 add `WguiFontSystem`, remove `FONT_SYSTEM` singleton, custom fonts, add `Light` font weight
there are a few gzip-compressed ttf as for now, looks like variable fonts aren't parsed properly by cosmic_text. Not sure why. Also, we probably need to have a fallback for CJK characters in the future, or just fallback to the built-in ones in the OS.
2025-11-07 22:21:57 +01:00
galister 6406b1e694 fix wayvr dashboard not interactable 2025-10-31 19:45:17 +09:00
galister 81d2672740 fix internal events blocking custom events on the same widget 2025-10-31 19:10:13 +09:00
galister 44b9a79849 more clippy 2025-10-31 17:48:54 +09:00
galister 67017a9f54 clippy 2025-10-31 17:33:38 +09:00
galister fa562f7b12 panel: per-element interactibility 2025-10-31 17:32:10 +09:00
galister 01d11e8485 events with user data to also trigger internal listeners + toast fix 2025-10-29 19:56:58 +09:00
galister 28047d218f fix showhide not remembering last set 2025-10-18 10:35:38 +09:00
galister 90eed4558f events refactor 2025-10-12 17:30:30 +09:00
Aleksander fc4781dcaf fix wlx build 2025-10-06 18:06:24 +02:00
Aleksander 3dff9c5882 wgui: Separate user and wgui assets, topmost widgets (poc) 2025-10-05 13:48:58 +02:00
galister 71d7d50e35 fix build 2025-10-05 19:38:29 +09:00
galister aa64310d96 refactor overlay windowing 2025-10-05 18:50:29 +09:00
galister 231850cf73 OverlayContainer to use HopSlotMap 2025-10-03 12:52:29 +09:00
galister 90bdf99e32 text shadow + battery display poc 2025-09-29 17:43:16 +09:00
galister a78ae55bdc attribs rework 2025-09-29 14:50:13 +09:00
galister 8c41eaa048 flag UPDATE_AFTER_BIND descriptor sets to fix validation 2025-09-28 23:00:29 +09:00
galister 0d251e9351 update deps 2025-09-28 20:16:45 +09:00
galister 995e7d8a72 Revert "hardcode watch screens for now"
This reverts commit cd18bdcea8.
2025-09-28 20:14:11 +09:00
Aleksander b5a3ba2954 dash-frontend: Application list 2025-09-28 13:13:37 +02:00
Aleksander eb12a6a319 overflow: hidden/scroll scissor support, remove depth 2025-09-25 23:21:11 +02:00
Aleksander 7a97e9dee2 wgui: prevent data copy, parser data 2025-09-21 13:39:14 +02:00
galister cd18bdcea8 hardcode watch screens for now 2025-09-21 10:49:44 +09:00
Aleksander 4f71dc6097 dash-frontend: tab titles, home screen username 2025-09-20 16:54:16 +02:00
Aleksander 1358af75e3 update all cargo crates to the newest version, unify crate versions 2025-09-20 15:28:48 +02:00
Aleksander aadf11590e wgui: use dark mode 2025-09-20 13:32:07 +02:00
Aleksander b9e5541971 📦📎-fixes, typo fixes 2025-09-20 12:17:17 +02:00
galister cfb733de09 sorry about monster commit 2025-09-20 15:28:42 +09:00
Aleksander 0fdc0e3828 dash-frontend: clock, wgui: refactoring, non-panicking casts 2025-09-16 20:09:13 +02:00
Aleksander 129785daa7 wgui: customizable defaults 2025-09-16 18:32:56 +02:00
Aleksander 9efe298f65 dash-frontend: Use native <Button>s, children support 2025-09-13 12:49:36 +02:00
Aleksander cf0dd55a0f wgui: make component names PascalCase 2025-08-17 21:03:17 +02:00
Aleksander 481db7f23c refactor: pedantic cargo clippy, do not use Results for always-succeeding functions 2025-08-16 21:27:47 +02:00
Aleksander 1f8960033c wgui: parser: `ParseDocumentParams` struct 2025-08-16 20:15:51 +02:00
Aleksander a79ed0839b wgui: components base, anyhow event listener callbacks, 📦📎-fixes, typo fixes 2025-08-13 17:10:00 +02:00
Aleksander 93a3fee349 wgui: interactable components, rename `TextLabel` -> `WidgetLabel` 2025-08-10 11:46:01 +02:00
galister b2902f8f7f parser: ignore_in_mode attribute; watch additions 2025-08-03 17:26:34 +09:00
Aleksander eaa81450b5 wgui: basic i18n support, refactoring: use `LayoutState`, translation framework (LLM-based generator) 2025-08-02 23:31:23 +02:00
Aleksander 4e46c45bcf wgui: Refactoring, various changes (see desc)
- use parking_lot for mutex (less restrictive and easier to use)
- simplify event callbacks and widget type casting
- defer component initialization at start (required for setting the initial state of sliders)
- fix non-working scroll events
- update testbed.xml
- replace slider with the real one in bar.xml
- show slider text on its handle
2025-07-29 22:12:01 +02:00
Aleksander f950273a2d Merge remote-tracking branch 'origin/main' into next 2025-07-29 20:29:15 +02:00
Aleksander 77421b4e82 slider events and value setting 2025-07-07 21:58:41 +02:00
Aleksander 857c5ec865 listener handles, auto-clean destroyed listeners, minor refactor 2025-07-06 20:53:40 +02:00
Aleksander 92444bb5c4 simplify and optimize event states, deduplication 2025-07-02 22:55:42 +02:00
Aleksander 283d7fd64e separate CallbackData and CallbackDataCommon, refactoring 2025-07-02 22:06:19 +02:00
galister 40f50a147b bar + overlaybackend refactor 2025-07-03 02:42:49 +09:00
Aleksander 9d0c0f015c sliders (wip), fix wlx build 2025-06-28 19:28:05 +02:00
galister d7c31d8699 minor toast tweak 2025-06-28 17:40:59 +09:00
galister afb4919970 refactor events; watch prep work 2025-06-27 04:16:24 +09:00
galister 1215a50324 fix scaling, refactors 2025-06-26 04:22:40 +09:00
galister 158562031f wgui: introduce SharedContext to share between Contexts 2025-06-25 21:06:05 +09:00
galister 44b6da8967 separate svgs for controllers 2025-06-21 21:13:51 +09:00
galister cd05818465 widget event handling into macro 2025-06-21 21:13:33 +09:00
galister 9759dff8b9 move uidev to workspace root 2025-06-21 17:39:28 +09:00