new workspace

This commit is contained in:
galister
2025-06-18 01:14:04 +09:00
parent 95f2ae4296
commit f05d3a8251
252 changed files with 24618 additions and 184 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,93 @@
{
"actions": [
{
"name": "/actions/default/in/Click",
"type": "boolean",
"requirement": "mandatory"
},
{
"name": "/actions/default/in/Grab",
"type": "boolean",
"requirement": "mandatory"
},
{
"name": "/actions/default/in/Scroll",
"type": "vector2",
"requirement": "mandatory"
},
{
"name": "/actions/default/in/ShowHide",
"type": "boolean",
"requirement": "mandatory"
},
{
"name": "/actions/default/in/AltClick",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/ClickModifierRight",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/ClickModifierMiddle",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/MoveMouse",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/SpaceDrag",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/SpaceRotate",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/default/in/LeftHand",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/default/in/RightHand",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/default/out/HapticsLeft",
"type": "vibration"
},
{
"name": "/actions/default/out/HapticsRight",
"type": "vibration"
}
],
"action_sets": [
{
"name": "/actions/default",
"usage": "leftright"
}
],
"default_bindings": [
{
"controller_type": "knuckles",
"binding_url": "actions_binding_knuckles.json"
},
{
"controller_type": "oculus_touch",
"binding_url": "actions_binding_oculus.json"
},
{
"controller_type": "vive_controller",
"binding_url": "actions_binding_vive.json"
}
],
"localization": []
}

View File

@@ -0,0 +1,179 @@
{
"action_manifest_version" : 0,
"app_key" : "galister.wlxoverlay-s",
"bindings" : {
"/actions/default" : {
"haptics" : [
{
"output" : "/actions/default/out/hapticsleft",
"path" : "/user/hand/left/output/haptic"
},
{
"output" : "/actions/default/out/hapticsright",
"path" : "/user/hand/right/output/haptic"
}
],
"poses" : [
{
"output" : "/actions/default/in/lefthand",
"path" : "/user/hand/left/pose/tip"
},
{
"output" : "/actions/default/in/righthand",
"path" : "/user/hand/right/pose/tip"
}
],
"sources" : [
{
"inputs" : {
"double" : {
"output" : "/actions/default/in/showhide"
},
"touch" : {
"output": "/actions/default/in/clickmodifierright"
}
},
"mode" : "button",
"path" : "/user/hand/left/input/b"
},
{
"path": "/user/hand/left/input/a",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifiermiddle"
}
}
},
{
"path": "/user/hand/right/input/b",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifierright"
}
}
},
{
"path": "/user/hand/right/input/a",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifiermiddle"
}
}
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/click"
},
"touch": {
"output": "/actions/default/in/movemouse"
}
},
"mode" : "button",
"parameters" : {
"click_activate_threshold" : "0.35",
"click_deactivate_threshold" : "0.31"
},
"path" : "/user/hand/left/input/trigger"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/click"
},
"touch": {
"output": "/actions/default/in/movemouse"
}
},
"mode" : "button",
"parameters" : {
"click_activate_threshold" : "0.35",
"click_deactivate_threshold" : "0.31"
},
"path" : "/user/hand/right/input/trigger"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/altclick"
}
},
"mode" : "button",
"path" : "/user/hand/right/input/trackpad"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/spacedrag"
}
},
"mode" : "button",
"path" : "/user/hand/left/input/trackpad"
},
{
"inputs" : {
"grab" : {
"output" : "/actions/default/in/grab"
}
},
"mode" : "grab",
"parameters" : {
"value_hold_threshold" : "1.3",
"value_release_threshold" : "1.1"
},
"path" : "/user/hand/left/input/grip"
},
{
"inputs" : {
"grab" : {
"output" : "/actions/default/in/grab"
}
},
"mode" : "grab",
"parameters" : {
"value_hold_threshold" : "1.3",
"value_release_threshold" : "1.1"
},
"path" : "/user/hand/right/input/grip"
},
{
"inputs" : {
"scroll" : {
"output" : "/actions/default/in/scroll"
}
},
"mode" : "scroll",
"parameters" : {
"scroll_mode" : "smooth"
},
"path" : "/user/hand/left/input/thumbstick"
},
{
"inputs" : {
"scroll" : {
"output" : "/actions/default/in/scroll"
}
},
"mode" : "scroll",
"parameters" : {
"scroll_mode" : "smooth"
},
"path" : "/user/hand/right/input/thumbstick"
}
]
}
},
"category" : "steamvr_input",
"controller_type" : "knuckles",
"description" : "Ver1",
"interaction_profile" : "",
"name" : "WlxOverlay configuration for Index Controller",
"options" : {
"mirror_actions" : false,
"simulated_controller_type" : "none"
},
"simulated_actions" : []
}

View File

@@ -0,0 +1,145 @@
{
"action_manifest_version" : 0,
"app_key" : "galister.wlxoverlay-s",
"bindings" : {
"/actions/default" : {
"haptics" : [
{
"output" : "/actions/default/out/hapticsleft",
"path" : "/user/hand/left/output/haptic"
},
{
"output" : "/actions/default/out/hapticsright",
"path" : "/user/hand/right/output/haptic"
}
],
"poses" : [
{
"output" : "/actions/default/in/lefthand",
"path" : "/user/hand/left/pose/tip"
},
{
"output" : "/actions/default/in/righthand",
"path" : "/user/hand/right/pose/tip"
}
],
"sources" : [
{
"inputs" : {
"double" : {
"output" : "/actions/default/in/showhide"
},
"touch" : {
"output": "/actions/default/in/clickmodifierright"
}
},
"mode" : "button",
"path" : "/user/hand/left/input/y"
},
{
"path": "/user/hand/left/input/x",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifiermiddle"
}
}
},
{
"path": "/user/hand/right/input/b",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifierright"
}
}
},
{
"path": "/user/hand/right/input/a",
"mode": "button",
"inputs": {
"touch": {
"output": "/actions/default/in/clickmodifiermiddle"
}
}
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/click"
},
"touch": {
"output": "/actions/default/in/movemouse"
}
},
"mode": "button",
"path" : "/user/hand/left/input/trigger"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/click"
},
"touch": {
"output": "/actions/default/in/movemouse"
}
},
"mode": "button",
"path" : "/user/hand/right/input/trigger"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/grab"
}
},
"mode": "button",
"path" : "/user/hand/left/input/grip"
},
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/grab"
}
},
"mode": "button",
"path" : "/user/hand/right/input/grip"
},
{
"inputs" : {
"scroll" : {
"output" : "/actions/default/in/scroll"
}
},
"mode" : "scroll",
"parameters" : {
"scroll_mode" : "smooth"
},
"path" : "/user/hand/left/input/joystick"
},
{
"inputs" : {
"scroll" : {
"output" : "/actions/default/in/scroll"
}
},
"mode" : "scroll",
"parameters" : {
"scroll_mode" : "smooth"
},
"path" : "/user/hand/right/input/joystick"
}
]
}
},
"category" : "steamvr_input",
"controller_type" : "oculus_touch",
"description" : "Ver1",
"interaction_profile" : "",
"name" : "WlxOverlay configuration for Oculus Touch Controller",
"options" : {
"mirror_actions" : false,
"simulated_controller_type" : "none"
},
"simulated_actions" : []
}

View File

@@ -0,0 +1,139 @@
{
"action_manifest_version" : 0,
"app_key" : "galister.wlxoverlay-s",
"bindings" : {
"/actions/default": {
"poses": [
{
"path": "/user/hand/left/pose/tip",
"output": "/actions/default/in/lefthand"
},
{
"path": "/user/hand/right/pose/tip",
"output": "/actions/default/in/righthand"
}
],
"haptics": [
{
"output": "/actions/default/out/hapticsleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/default/out/hapticsright",
"path": "/user/hand/right/output/haptic"
}
],
"sources": [
{
"path": "/user/hand/left/input/grip",
"mode": "button",
"inputs": {
"click": {
"output": "/actions/default/in/grab"
}
}
},
{
"path": "/user/hand/right/input/grip",
"mode": "button",
"inputs": {
"click": {
"output": "/actions/default/in/grab"
}
}
},
{
"path": "/user/hand/left/input/trigger",
"mode": "button",
"inputs": {
"click": {
"output": "/actions/default/in/click"
}
}
},
{
"path": "/user/hand/right/input/trigger",
"mode": "trigger",
"inputs": {
"click": {
"output": "/actions/default/in/click"
}
}
},
{
"path": "/user/hand/right/input/trackpad",
"mode": "scroll",
"parameters": {
"scroll_mode": "discrete"
},
"inputs": {
"scroll": {
"output": "/actions/default/in/scroll"
}
}
},
{
"path": "/user/hand/left/input/trackpad",
"mode": "scroll",
"parameters": {
"scroll_mode": "discrete"
},
"inputs": {
"scroll": {
"output": "/actions/default/in/scroll"
}
}
},
{
"path": "/user/hand/left/input/application_menu",
"mode": "button",
"inputs": {
"double": {
"output": "/actions/default/in/showhide"
}
}
},
{
"path": "/user/hand/right/input/trackpad",
"mode": "dpad",
"parameters": {
"sub_mode": "touch"
},
"inputs": {
"west": {
"output": "/actions/default/in/clickmodifiermiddle"
},
"east": {
"output": "/actions/default/in/clickmodifierright"
}
}
},
{
"path": "/user/hand/left/input/trackpad",
"mode": "dpad",
"parameters": {
"sub_mode": "touch"
},
"inputs": {
"west": {
"output": "/actions/default/in/clickmodifiermiddle"
},
"east": {
"output": "/actions/default/in/clickmodifierright"
}
}
}
]
}
},
"category" : "steamvr_input",
"controller_type" : "vive_controller",
"description" : "Ver1",
"interaction_profile" : "",
"name" : "WlxOverlay configuration for Vive Controller",
"options" : {
"mirror_actions" : false,
"simulated_controller_type" : "none"
},
"simulated_actions" : []
}

View File

@@ -0,0 +1,29 @@
# looking to make changes?
# drop me in ~/.config/wlxoverlay/anchor.yaml
#
width: 0.1
size: [200, 200]
# +X: right, +Y: up, +Z: back
spawn_pos: [0, 0, -1]
elements:
- type: Panel
rect: [98, 0, 4, 200]
corner_radius: 0
bg_color: "#ffff00"
- type: Panel
rect: [0, 98, 200, 4]
corner_radius: 0
bg_color: "#ffff00"
- type: Label
rect: [8, 90, 600, 70]
corner_radius: 0
font_size: 18
fg_color: "#ffff00"
source: Static
text: Center

View File

@@ -0,0 +1,27 @@
# 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

View File

@@ -0,0 +1,121 @@
---
# looking to make changes?
# drop me in ~/.config/wlxoverlay/keyboard.yaml
# This file contains all data needed to generate the keyboard.
# You can create any layout, as long as:
# - All keys are rectangular with 1 unit of height.
# This means:
# - We're limited to the flat & boring ANSI enter key.
# - Numpad + and Enter might not look so great.
# *** Important ***
# The keyboard layout uses virtual key codes, so they are layout-independent.
# For example, Q on a French layout actually results in A.
# If you're using a non-english layout, chances are you only need to edit the label section below.
# Not used for anything right now
name: "en-us_full"
# How many units of key size in each row? 1 = standard letter key size
row_size: 23
# Specifies the size of each key. The sum of any given row must equal RowSize
key_sizes:
- [1.5,0.5, 1, 1, 1, 1,0.5,1, 1, 1, 1,0.5,1, 1, 1, 1, 0.5, 1, 1, 1, 0.5, 1, 1, 1, 1]
- [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0.5, 1, 1, 1, 0.5, 1, 1, 1, 1]
- [1.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.5, 0.5, 1, 1, 1, 0.5, 1, 1, 1, 1]
- [1.75, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2.25, 4, 1, 1, 1, 1]
- [1.25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2.75, 1.5, 1, 1.5, 1, 1, 1, 1]
- [1.25, 1.25, 1.25, 6.25, 1.25, 1.25, 1.25, 1.25, 0.5, 1, 1, 1, 0.5, 2, 1, 1]
# The main (blue) layout of the keyboard.
# Accepted are:
# - virtual keys. For a full list, look at enum VirtualKey in https://github.com/galister/wlx-overlay-s/blob/main/src/hid.rs
# - exec_commands (defined below)
# - macros (defined below)
# - ~ (null) will leave an empty space with the corresponding size from key_sizes
main_layout:
- ["Escape", ~, "F1", "F2", "F3", "F4", ~, "F5", "F6", "F7", "F8", ~, "F9", "F10", "F11", "F12", ~, "Print", "Scroll", "Pause", ~, "COPY", "PASTE", ~, "KILL"]
- ["Oem3", "N1", "N2", "N3", "N4", "N5", "N6", "N7", "N8", "N9", "N0", "Minus", "Plus", "BackSpace", ~, "Insert", "Home", "Prior", ~, "NumLock", "KP_Divide", "KP_Multiply", "KP_Subtract"]
- ["Tab", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "Oem4", "Oem6", "Oem5", ~, "Delete", "End", "Next", ~, "KP_7", "KP_8", "KP_9", "KP_Add"]
- ["XF86Favorites", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Oem1", "Oem7", "Return", ~, "KP_4", "KP_5", "KP_6", ~]
- ["LShift", "Oem102", "Z", "X", "C", "V", "B", "N", "M", "Comma", "Period", "Oem2", "RShift", ~, "Up", ~, "KP_1", "KP_2", "KP_3", "KP_Enter"]
- ["LCtrl", "LSuper", "LAlt", "Space", "Meta", "RSuper", "Menu", "RCtrl", ~, "Left", "Down", "Right", ~, "KP_0", "KP_Decimal", ~]
# When using the purple pointer...
# None - No special functionality when using purple pointer (Default)
# Shift - Use same functionality as the orange pointer
# Ctrl - Use Main layout with Ctrl modifier
# Alt - Use Main layout with Alt modifier
# Super - Use Main layout with Super (WinKey) modifier
# Meta - Use Main layout with Meta (AltGr) modifier
alt_modifier: None
# Shell commands to be used in a layout.
# Value is an array of string arguments.
exec_commands:
STT: [ "whisper_stt", "--lang", "en" ]
# Series of keypresses to be used in a layout.
# Format: keyName [DOWN|UP]
# keyName must be a valid virtual key from the VirtualKey enum (see above)
# DOWN|UP: can be omitted for an implicit "keyName DOWN, keyName UP"
macros:
KILL: [ "LSuper DOWN", "LCtrl DOWN", "Escape", "LCtrl UP", "LSuper UP" ]
COPY: [ "LCtrl DOWN", "C", "LCtrl UP" ]
PASTE: [ "LCtrl DOWN", "V", "LCtrl UP" ]
# Custom labels to use.
# Key: element of main_layout
# Value: Array of strings. 0th element is the upper row, 1st element is lower row.
# For empty labels, use [] (do not use ~)
labels:
"Escape": ["Esc"]
"Prior": ["PgUp"]
"Next": ["PgDn"]
"NumLock": ["Num"]
"Space": []
"LAlt": ["Alt"]
"LCtrl": ["Ctrl"]
"RCtrl": ["Ctrl"]
"LSuper": ["Super"]
"RSuper": ["Super"]
"LShift": ["Shift"]
"RShift": ["Shift"]
"Insert": ["Ins"]
"Delete": ["Del"]
"BackSpace": ["<<"]
"KP_Divide": [" /"]
"KP_Add": [" +"]
"KP_Multiply": [" *"]
"KP_Decimal": [" ."]
"KP_Subtract": [" -"]
"KP_Enter": ["Ent"]
"Print": ["Prn"]
"Scroll": ["Scr"]
"Pause": ["Brk"]
"XF86Favorites": ["Menu"] # fallback labels below
"N1": ["1", "!"]
"N2": ["2", "@"]
"N3": ["3", "#"]
"N4": ["4", "$"]
"N5": ["5", "%"]
"N6": ["6", "^"]
"N7": ["7", "&"]
"N8": ["8", "*"]
"N9": ["9", "("]
"N0": ["0", ")"]
"Minus": ["-", "_"]
"Plus": ["=", "+"]
"Comma": [" ,", "<"]
"Period": [" .", ">"]
"Oem1": [" ;", ":"]
"Oem2": [" /", "?"]
"Oem3": ["`", "~"]
"Oem4": [" [", "{"]
"Oem5": [" \\", "|"]
"Oem6": [" ]", "}"]
"Oem7": [" '", "\""]
"Oem102": [" \\", "|"]

View File

@@ -0,0 +1,670 @@
# looking to make changes?
# drop me in ~/.config/wlxoverlay/settings.yaml
#
width: 0.3
size: [600, 700]
# +X: right, +Y: up, +Z: back
spawn_pos: [0, -0.1, -0.5]
elements:
- type: Panel
rect: [0, 0, 600, 800]
corner_radius: 8
bg_color: "#1e2030"
- type: Label
rect: [15, 35, 600, 70]
corner_radius: 6
font_size: 24
fg_color: "#cad3f5"
source: Static
text: Settings
- type: Button
rect: [560, 0, 40, 40]
corner_radius: 8
font_size: 16
bg_color: "#ed8796"
fg_color: "#24273a"
text: X
click_down:
- type: Window
target: "settings"
action: Destroy
- type: Panel
rect: [50, 53, 500, 1]
corner_radius: 6
bg_color: "#6e738d"
####### Watch Section #######
- type: Label
rect: [15, 85, 570, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Watch
- type: Panel
rect: [250, 105, 1, 100]
corner_radius: 6
bg_color: "#6e738d"
- type: Label
rect: [288, 105, 100, 24]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: Visibility
- type: Button
rect: [270, 120, 100, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Hide"
click_down:
- type: Watch
action: Hide
- type: Button
rect: [270, 170, 100, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Swap Hand"
click_down:
- type: Watch
action: SwitchHands
- type: Panel
rect: [390, 105, 1, 100]
corner_radius: 6
bg_color: "#6e738d"
- type: Label
rect: [430, 105, 120, 24]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: Watch Fade
- type: Button
rect: [410, 120, 140, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Cutoff Point"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
ViewAngle: {kind: "MaxOpacity", delta: 0.01}
scroll_down:
- type: Watch
action:
ViewAngle: {kind: "MaxOpacity", delta: -0.01}
- type: Button
rect: [410, 170, 140, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Cutoff Strength"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
ViewAngle: {kind: "MinOpacity", delta: 0.01}
scroll_down:
- type: Watch
action:
ViewAngle: {kind: "MinOpacity", delta: -0.01}
- type: Label
rect: [25, 140, 90, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: Rotation
- type: Button
rect: [108, 120, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "X"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Rotation: {axis: "X", delta: 0.25}
scroll_down:
- type: Watch
action:
Rotation: {axis: "X", delta: -0.25}
- type: Button
rect: [153, 120, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Y"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Rotation: {axis: "Y", delta: 0.25}
scroll_down:
- type: Watch
action:
Rotation: {axis: "Y", delta: -0.25}
- type: Button
rect: [198, 120, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Z"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Rotation: {axis: "Z", delta: 0.25}
scroll_down:
- type: Watch
action:
Rotation: {axis: "Z", delta: -0.25}
- type: Label
rect: [25, 190, 90, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: Position
- type: Button
rect: [108, 170, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "X"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Position: {axis: "X", delta: 0.001}
scroll_down:
- type: Watch
action:
Position: {axis: "X", delta: -0.001}
- type: Button
rect: [153, 170, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Y"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Position: {axis: "Y", delta: 0.001}
scroll_down:
- type: Watch
action:
Position: {axis: "Y", delta: -0.001}
- type: Button
rect: [198, 170, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Z"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: Watch
action:
Position: {axis: "Z", delta: 0.001}
scroll_down:
- type: Watch
action:
Position: {axis: "Z", delta: -0.001}
- type: Panel
rect: [50, 220, 500, 1]
corner_radius: 6
bg_color: "#6e738d"
####### Mirror Section #######
- type: Label
rect: [15, 255, 570, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Mirrors
- type: Label
rect: [25, 290, 30, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: M1
- type: Button
rect: [60, 270, 110, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Show/Hide"
click_down: # ToggleVisible if exists, else create
- type: Overlay
target: M1
action: ToggleVisible # only fires if overlay exists
- type: Window
target: M1
action: ShowMirror # only fires if not exists
- type: Button
rect: [185, 270, 60, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Lock"
click_down:
- type: Overlay
target: M1
action: ToggleInteraction
- type: Button
rect: [258, 270, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#ed8796"
text: "X"
click_down:
- type: Window
target: M1
action: Destroy
- type: Label
rect: [25, 340, 30, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: M2
- type: Button
rect: [60, 320, 110, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Show/Hide"
click_down:
- type: Overlay
target: M2
action: ToggleVisible
- type: Window
target: M2
action: ShowMirror
- type: Button
rect: [185, 320, 60, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Lock"
click_down:
- type: Overlay
target: M2
action: ToggleInteraction
- type: Button
rect: [258, 320, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#ed8796"
text: "X"
click_down:
- type: Window
target: M2
action: Destroy
- type: Label
rect: [25, 390, 30, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: M3
- type: Button
rect: [60, 370, 110, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Show/Hide"
click_down:
- type: Overlay
target: M3
action: ToggleVisible
- type: Window
target: M3
action: ShowMirror
- type: Button
rect: [185, 370, 60, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "Lock"
click_down:
- type: Overlay
target: M3
action: ToggleInteraction
- type: Button
rect: [258, 370, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#ed8796"
text: "X"
click_down:
- type: Window
target: M3
action: Destroy
- type: Panel
rect: [300, 240, 1, 200]
corner_radius: 6
bg_color: "#6e738d"
####### Color Gain Section #######
- type: Label
rect: [325, 255, 90, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Color Gain
- type: Label
rect: [470, 255, 90, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
source: Static
text: (SteamVR)
- type: Button
rect: [330, 270, 60, 30]
corner_radius: 6
font_size: 12
fg_color: "#cad3f5"
bg_color: "#494d64"
text: "All"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: ColorAdjust
channel: All
delta: 0.01
scroll_down:
- type: ColorAdjust
channel: All
delta: -0.01
- type: Button
rect: [405, 270, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#e78284"
text: "R"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: ColorAdjust
channel: R
delta: 0.01
scroll_down:
- type: ColorAdjust
channel: R
delta: -0.01
- type: Button
rect: [450, 270, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#a6d189"
text: "G"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: ColorAdjust
channel: G
delta: 0.01
scroll_down:
- type: ColorAdjust
channel: G
delta: -0.01
- type: Button
rect: [495, 270, 30, 30]
corner_radius: 15
font_size: 12
fg_color: "#24273a"
bg_color: "#8caaee"
text: "B"
click_down:
- type: Toast
message: Use stick up/down while hovering the button!
scroll_up:
- type: ColorAdjust
channel: B
delta: 0.01
scroll_down:
- type: ColorAdjust
channel: B
delta: -0.01
- type: Panel
rect: [325, 315, 225, 1]
corner_radius: 6
bg_color: "#6e738d"
####### Playspace Section #######
- type: Label
rect: [325, 345, 90, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Playspace
- type: Button
rect: [330, 360, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Fix Floor"
click_down:
- type: System
action: PlayspaceFixFloor
- type: Window
target: "settings"
action: Destroy
- type: Button
rect: [330, 410, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Reset Offset"
click_down:
- type: System
action: PlayspaceResetOffset
- type: Window
target: "settings"
action: Destroy
####### Notifications Section #######
- type: Panel
rect: [50, 460, 500, 1]
corner_radius: 6
bg_color: "#6e738d"
- type: Label
rect: [325, 490, 90, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Notifications
- type: Button
rect: [330, 505, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#e64553"
text: "Enabled"
click_down:
- type: System
action: ToggleNotifications
highlight: Notifications
- type: Button
rect: [330, 555, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#e64553"
text: "Sound Enabled"
click_down:
- type: System
action: ToggleNotificationSounds
highlight: NotificationSounds
####### Behavior Section #######
- type: Label
rect: [15, 490, 570, 24]
corner_radius: 6
font_size: 18
fg_color: "#cad3f5"
source: Static
text: Behavior
- type: Button
rect: [30, 505, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#e64553"
text: "Auto-Realign"
click_down:
- type: System
action: ToggleAutoRealign
highlight: AutoRealign
- type: Button
rect: [30, 555, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#e64553"
text: "Grab+Scroll Slide"
click_down:
- type: System
action: ToggleAllowSliding
highlight: AllowSliding
####### Footer Section #######
- type: Panel
rect: [50, 605, 500, 1]
corner_radius: 6
bg_color: "#6e738d"
- type: Button
rect: [330, 625, 220, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Save Config"
click_down:
- type: System
action: PersistConfig
- type: Toast
message: Settings saved successfully.
- type: Button
rect: [30, 625, 250, 30]
corner_radius: 6
font_size: 12
fg_color: "#24273a"
bg_color: "#eed49f"
text: "Save Overlay Layout"
click_down:
- type: System
action: PersistLayout
- type: Toast
message: Saved. You will see this layout on next startup.

Binary file not shown.

View File

@@ -0,0 +1,192 @@
# looking to make changes?
# drop me in ~/.config/wlxoverlay/watch.yaml
#
width: 0.115
size: [400, 200]
elements:
# background panel
- type: Panel
rect: [0, 30, 400, 130]
corner_radius: 20
bg_color: "#24273a"
- type: Button
rect: [2, 162, 26, 36]
corner_radius: 4
font_size: 15
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
# Dashboard toggle button
- type: Button
rect: [32, 162, 48, 36]
corner_radius: 4
font_size: 15
bg_color: "#2288FF"
fg_color: "#24273a"
text: "Dash"
click_up:
- type: WayVR
action: ToggleDashboard
# Keyboard button
- type: Button
rect: [84, 162, 48, 36]
corner_radius: 4
font_size: 15
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: [134, 160, 266, 40]
corner_radius: 4
font_size: 15
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: "%x" # 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
# alt clock 1
- type: Label
rect: [210, 90, 200, 50]
corner_radius: 4
font_size: 24 # Use 18 for 12-hour time
fg_color: "#8bd5ca"
source: Clock
timezone: 0
format: "%H:%M" # 23:59
#format: "%I:%M %p" # 11:59 PM
- type: Label
rect: [210, 60, 200, 50]
corner_radius: 4
font_size: 14
fg_color: "#8bd5ca"
source: Timezone
timezone: 0
# alt clock 2
- type: Label
rect: [210, 150, 200, 50]
corner_radius: 4
font_size: 24 # Use 18 for 12-hour time
fg_color: "#b7bdf8"
source: Clock
timezone: 1
format: "%H:%M" # 23:59
#format: "%I:%M %p" # 11:59 PM
- type: Label
rect: [210, 120, 200, 50]
corner_radius: 4
font_size: 14
fg_color: "#b7bdf8"
source: Timezone
timezone: 1
# batteries
- type: BatteryList
rect: [0, 5, 400, 30]
corner_radius: 4
font_size: 16
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: 13
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: 13
fg_color: "#cad3f5"
bg_color: "#5b6078"
text: "Vol -"
click_down:
- type: Exec
command: ["pactl", "set-sink-volume", "@DEFAULT_SINK@", "-5%"]

View File

@@ -0,0 +1,80 @@
# This is an example WayVR panel configuration. It demonstrates all the capabilities of this module.
# looking to make changes?
# drop me in ~/.config/wlxoverlay/wayvr.yaml
#
version: 1
# If your gpu has some issues with zero-copy textures, you can set this option to "software".
#
# Possible options:
# "dmabuf": Use zero-copy texture access (from EGL to Vulkan) - no performance impact
# "software": Read pixel data to memory via glReadPixels() every time a content has been updated. Minor performance impact on large resolutions
blit_method: "dmabuf"
# Set to true if you want to make Wyland server instantly available.
# By default, WayVR starts only when it's needed.
# (this option is primarily used for remote starting external processes and development purposes)
run_compositor_at_start: false
# Automatically close overlays with zero window count?
auto_hide: true
# For how long an overlay should be visible in case if there are no windows present? (in milliseconds, auto_hide needs to be enabled)
# This value shouldn't be set at 0, because some programs could re-initialize a window during startup (splash screens for example)
auto_hide_delay: 750
# In milliseconds
keyboard_repeat_delay: 200
# Chars per second
keyboard_repeat_rate: 50
# WayVR-compatible dashboard.
# For now, there is only one kind of dashboard with WayVR IPC support (WayVR Dashboard).
#
# Build instructions: https://github.com/olekolek1000/wayvr-dashboard
#
# exec: Executable path, for example "/home/USER/wayvr-dashboard/src-tauri/target/release/wayvr-dashboard"
# or just "wayvr-dashboard" if you have it installed from your package manager.
dashboard:
exec: "wayvr-dashboard"
args: ""
env: []
displays:
watch:
width: 400
height: 600
scale: 0.4
attach_to: "HandRight" # HandLeft, HandRight
pos: [0.0, 0.0, 0.125]
rotation: {axis: [1.0, 0.0, 0.0], angle: -45.0}
disp1:
width: 640
height: 480
primary: true # Required if you want to attach external processes (not spawned by WayVR itself) without WAYVR_DISPLAY_NAME set
disp2:
width: 1280
height: 720
scale: 2.0
catalogs:
default_catalog:
apps:
- name: "Calc"
target_display: "disp1"
exec: "kcalc"
env: ["FOO=bar"]
shown_at_start: false
- name: "htop"
target_display: "watch"
exec: "konsole"
args: "-e htop"
- name: "Browser"
target_display: "disp2"
exec: "cage"
args: "chromium -- --incognito"