diff --git a/wlxoverlay/.gitignore b/wlxoverlay/.gitignore new file mode 100644 index 0000000..6751c63 --- /dev/null +++ b/wlxoverlay/.gitignore @@ -0,0 +1,5 @@ +*.exr +*.dds +*.vrmanifest +conf.d/* +!kloppenheim_02_puresky_8k.dds \ No newline at end of file diff --git a/wlxoverlay/config.yaml b/wlxoverlay/config.yaml new file mode 100644 index 0000000..42c0b80 --- /dev/null +++ b/wlxoverlay/config.yaml @@ -0,0 +1,32 @@ +# For how much time mouse motion events should be stopped after clicking? +# Prevents accidental dragging various GUI elements or links, making it easier to click +# Default: 300 +click_freeze_time_ms: 300 + +# Default: true +keyboard_sound_enabled: true + +# Alter default scale of various overlays +# Default: 1.0 +keyboard_scale: 1.0 +desktop_view_scale: 1.0 +watch_scale: 1.0 + +# Enable / disable sliding windows back and forth with the scroll action +# Default: true +allow_sliding: true + +# Enable / disable realigning the working set windows when they are shown/hidden +# Default: true +realign_on_showhide: true + +# When enabled, the mouse pointer will not be moved on the screen, unless the trigger is touched +# allowing for moving both pointers off the screens to the keyboard, while keeping the cursor position +# unchanged, for when the desktop is configured to move the focus with the mouse cursor +# Default: false +focus_follows_mouse_mode: false + +skybox_texture: kloppenheim_02_puresky_8k.dds +# skybox_texture: dikhololo_night_4k.dds +# skybox_texture: industrial_sunset_02_puresky_8k.dds + diff --git a/wlxoverlay/kloppenheim_02_puresky_8k.dds b/wlxoverlay/kloppenheim_02_puresky_8k.dds new file mode 100644 index 0000000..1c519a3 Binary files /dev/null and b/wlxoverlay/kloppenheim_02_puresky_8k.dds differ diff --git a/wlxoverlay/openxr_actions.json5 b/wlxoverlay/openxr_actions.json5 new file mode 100644 index 0000000..dacfed0 --- /dev/null +++ b/wlxoverlay/openxr_actions.json5 @@ -0,0 +1,83 @@ +// Available bindings: +// +// -- click -- +// primary click to interact with the watch or overlays. required +// +// -- grab -- +// used to manipulate position, size, orientation of overlays in 3D space +// +// -- show_hide -- +// used to quickly hide and show your last selection of screens + keyboard +// +// -- space_drag -- +// move your stage (playspace drag) +// +// -- space_rotate -- +// rotate your stage (playspace rotate, WIP) +// +// -- click_modifier_right -- +// while this is held, your pointer will turn ORANGE and your mouse clicks will be RIGHT clicks +// +// -- click_modifier_middle -- +// while this is held, your pointer will turn PURPLE and your mouse clicks will be MIDDLE clicks +// +// -- move_mouse -- +// when using `focus_follows_mouse_mode`, you need to hold this for the mouse to move +// +// -- pose, haptic -- +// do not mess with these, unless you know what you're doing + +[ + // Index controller + { + profile: "/interaction_profiles/valve/index_controller", + pose: { + left: "/user/hand/left/input/aim/pose", + right: "/user/hand/right/input/aim/pose" + }, + haptic: { + left: "/user/hand/left/output/haptic", + right: "/user/hand/right/output/haptic" + }, + click: { + left: "/user/hand/left/input/trigger/value", + right: "/user/hand/right/input/trigger/value" + }, + alt_click: { + // left trackpad is space_drag + right: "/user/hand/right/input/trackpad/force", + }, + grab: { + left: "/user/hand/left/input/squeeze/force", + right: "/user/hand/right/input/squeeze/force" + }, + scroll: { + left: "/user/hand/left/input/thumbstick/y", + right: "/user/hand/right/input/thumbstick/y" + }, + show_hide: { + left: "/user/hand/left/input/system/click", + right: "/user/hand/right/input/system/click", + }, + space_drag: { + left: "/user/hand/left/input/a/click", + right: "/user/hand/right/input/a/click", + // right trackpad is alt_click + }, + click_modifier_right: { + left: "/user/hand/left/input/b/touch", + right: "/user/hand/right/input/b/touch" + }, + click_modifier_middle: { + left: "/user/hand/left/input/a/touch", + right: "/user/hand/right/input/a/touch" + }, + move_mouse: { + // used with focus_follows_mouse_mode + left: "/user/hand/left/input/trigger/touch", + right: "/user/hand/right/input/trigger/touch" + } + }, + + +] diff --git a/wlxoverlay/session.yaml b/wlxoverlay/session.yaml new file mode 100644 index 0000000..f98c3c4 --- /dev/null +++ b/wlxoverlay/session.yaml @@ -0,0 +1,6 @@ +play_space_offset: + x: 0 + y: 0 + z: 0 +notifications_mute_audio: false +notifications_dnd: false diff --git a/wlxoverlay/watch.yaml b/wlxoverlay/watch.yaml new file mode 100644 index 0000000..4c3cb6f --- /dev/null +++ b/wlxoverlay/watch.yaml @@ -0,0 +1,144 @@ +# looking to make changes? +# drop me in ~/.config/wlxoverlay/watch.yaml +# + +width: 0.115 + +size: [400, 200] + +elements: + # background panel + - type: Panel + rect: [0, 0, 400, 200] + corner_radius: 4 + bg_color: "#24273a" + + - type: Button + rect: [2, 162, 26, 36] + corner_radius: 4 + font_size: 14 + bg_color: "#c6a0f6" + fg_color: "#24273a" + text: "C" + click_up: # destroy if exists, otherwise create + - type: Window + target: settings + action: ShowUi # only triggers if not exists + - type: Window + target: settings + action: Destroy # only triggers if exists since before current frame + + # Keyboard button + - type: Button + rect: [32, 162, 60, 36] + corner_radius: 4 + font_size: 14 + fg_color: "#24273a" + bg_color: "#a6da95" + text: Kbd + click_up: + - type: Overlay + target: "kbd" + action: ToggleVisible + long_click_up: + - type: Overlay + target: "kbd" + action: Reset + right_up: + - type: Overlay + target: "kbd" + action: ToggleImmovable + middle_up: + - type: Overlay + target: "kbd" + action: ToggleInteraction + scroll_up: + - type: Overlay + target: "kbd" + action: + Opacity: { delta: 0.025 } + scroll_down: + - type: Overlay + target: "kbd" + action: + Opacity: { delta: -0.025 } + + # bottom row, of keyboard + overlays + - type: OverlayList + rect: [94, 160, 306, 40] + corner_radius: 4 + font_size: 14 + fg_color: "#cad3f5" + bg_color: "#1e2030" + layout: Horizontal + click_up: ToggleVisible + long_click_up: Reset + right_up: ToggleImmovable + middle_up: ToggleInteraction + scroll_up: + Opacity: { delta: 0.025 } + scroll_down: + Opacity: { delta: -0.025 } + + # local clock + - type: Label + rect: [19, 90, 200, 50] + corner_radius: 4 + font_size: 46 # Use 32 for 12-hour time + fg_color: "#cad3f5" + source: Clock + format: "%H:%M" # 23:59 + #format: "%I:%M %p" # 11:59 PM + + # local date + - type: Label + rect: [20, 117, 200, 20] + corner_radius: 4 + font_size: 14 + fg_color: "#cad3f5" + source: Clock + format: "%F" # local date representation + + # local day-of-week + - type: Label + rect: [20, 137, 200, 50] + corner_radius: 4 + font_size: 14 + fg_color: "#cad3f5" + source: Clock + format: "%A" # Tuesday + #format: "%a" # Tue + + # batteries + - type: BatteryList + rect: [0, 0, 400, 30] + corner_radius: 4 + font_size: 14 + fg_color: "#8bd5ca" + fg_color_low: "#B06060" + fg_color_charging: "#6080A0" + num_devices: 9 + layout: Horizontal + low_threshold: 33 + + # volume buttons + - type: Button + rect: [315, 52, 70, 32] + corner_radius: 4 + font_size: 14 + fg_color: "#cad3f5" + bg_color: "#5b6078" + text: "Vol +" + click_down: + - type: Exec + command: [ "pactl", "set-sink-volume", "@DEFAULT_SINK@", "+5%" ] + - type: Button + rect: [315, 116, 70, 32] + corner_radius: 4 + font_size: 14 + fg_color: "#cad3f5" + bg_color: "#5b6078" + text: "Vol -" + click_down: + - type: Exec + command: [ "pactl", "set-sink-volume", "@DEFAULT_SINK@", "-5%" ]