srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/config/srd/cross_platform_test.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/srd/cross_platform_test.lua')
-rw-r--r--config/srd/cross_platform_test.lua240
1 files changed, 0 insertions, 240 deletions
diff --git a/config/srd/cross_platform_test.lua b/config/srd/cross_platform_test.lua
deleted file mode 100644
index 86d93f6..0000000
--- a/config/srd/cross_platform_test.lua
+++ /dev/null
@@ -1,240 +0,0 @@
-- Cross-Platform Test Configuration
-- This file demonstrates all the cross-platform functionality of SRDWM
-
-print("Loading cross-platform test configuration...")
-
-- Platform detection and configuration
-local platform = srd.get_platform()
-print("Detected platform: " .. platform)
-
-- Platform-specific settings
-if platform == "wayland" then
- print("Configuring for Wayland/XWayland...")
- srd.set("general.decorations_enabled", true)
- srd.set("general.border_width", 2)
- srd.set("general.border_color", "#2e3440")
-
- - Wayland-specific keybindings
- srd.bind("Mod4+w", function()
- - Toggle server-side decorations
- local window = srd.window.focused()
- if window then
- local current = srd.window.get_decorations(window.id)
- srd.window.set_decorations(window.id, not current)
- print("Wayland: Toggled server-side decorations")
- end
- end)
-
-elseif platform == "x11" then
- print("Configuring for X11...")
- srd.set("general.decorations_enabled", true)
- srd.set("general.border_width", 3)
- srd.set("general.border_color", "#2e3440")
-
- - X11-specific keybindings
- srd.bind("Mod4+x", function()
- - Toggle frame windows
- local window = srd.window.focused()
- if window then
- local current = srd.window.get_decorations(window.id)
- srd.window.set_decorations(window.id, not current)
- print("X11: Toggled frame windows")
- end
- end)
-
-elseif platform == "windows" then
- print("Configuring for Windows...")
- srd.set("general.decorations_enabled", true)
- srd.set("general.border_width", 2)
- srd.set("general.border_color", "#2e3440")
-
- - Windows-specific keybindings
- srd.bind("Mod4+d", function()
- - Toggle DWM border colors
- local window = srd.window.focused()
- if window then
- srd.window.set_border_color(window.id, 255, 0, 0) - Red border
- print("Windows: Set DWM border color")
- end
- end)
-
-elseif platform == "macos" then
- print("Configuring for macOS...")
- srd.set("general.decorations_enabled", false) - Limited decoration support
- srd.set("general.border_width", 1)
- srd.set("general.border_color", "#2e3440")
-
- - macOS-specific keybindings
- srd.bind("Mod4+m", function()
- - Toggle overlay windows (macOS limitation)
- local window = srd.window.focused()
- if window then
- print("macOS: Overlay window toggle requested")
- end
- end)
-end
-
-- Universal cross-platform keybindings
-srd.bind("Mod4+1", function()
- srd.layout.set("tiling")
- print("Switched to tiling layout")
-end)
-
-srd.bind("Mod4+2", function()
- srd.layout.set("dynamic")
- print("Switched to dynamic layout (smart placement)")
-end)
-
-srd.bind("Mod4+3", function()
- srd.layout.set("floating")
- print("Switched to floating layout")
-end)
-
-- Window state controls (cross-platform)
-srd.bind("Mod4+f", function()
- local window = srd.window.focused()
- if window then
- srd.window.toggle_floating(window.id)
- local floating = srd.window.is_floating(window.id)
- print("Window floating state: " .. tostring(floating))
- end
-end)
-
-srd.bind("Mod4+t", function()
- local window = srd.window.focused()
- if window then
- srd.window.set_floating(window.id, false)
- print("Set window to tiling mode")
- end
-end)
-
-srd.bind("Mod4+l", function()
- local window = srd.window.focused()
- if window then
- srd.window.set_floating(window.id, true)
- print("Set window to floating mode")
- end
-end)
-
-- Decoration controls (cross-platform)
-srd.bind("Mod4+b", function()
- local window = srd.window.focused()
- if window then
- srd.window.set_border_color(window.id, 0, 255, 0) - Green border
- print("Set green border")
- end
-end)
-
-srd.bind("Mod4+n", function()
- local window = srd.window.focused()
- if window then
- srd.window.set_border_color(window.id, 0, 0, 255) - Blue border
- print("Set blue border")
- end
-end)
-
-srd.bind("Mod4+r", function()
- local window = srd.window.focused()
- if window then
- srd.window.set_border_color(window.id, 255, 0, 0) - Red border
- print("Set red border")
- end
-end)
-
-srd.bind("Mod4+0", function()
- local window = srd.window.focused()
- if window then
- - Reset to default colors
- srd.window.set_border_color(window.id, 46, 52, 64) - Default color
- srd.window.set_border_width(window.id, 2)
- print("Reset to default decoration")
- end
-end)
-
-- Smart placement test
-srd.bind("Mod4+s", function()
- print("Smart placement test:")
- print("- Grid placement: Windows 11-style window arrangement")
- print("- Cascade placement: Overlapping window management")
- print("- Snap-to-edge: Edge snapping functionality")
- print("- Overlap detection: Prevents window overlap")
-end)
-
-- Platform-specific feature tests
-function test_platform_features()
- print("Testing platform-specific features...")
-
- if platform == "wayland" then
- print("Wayland features:")
- print("- zxdg-decoration protocol support")
- print("- XWayland integration")
- print("- Layer shell support")
- print("- Server-side decorations")
-
- elseif platform == "x11" then
- print("X11 features:")
- print("- Frame window reparenting")
- print("- Custom titlebar drawing")
- print("- Border customization")
- print("- Event handling")
-
- elseif platform == "windows" then
- print("Windows features:")
- print("- DWM border color API")
- print("- Native decoration toggling")
- print("- Global keyboard/mouse hooks")
- print("- Window class management")
-
- elseif platform == "macos" then
- print("macOS features:")
- print("- Accessibility APIs")
- print("- Event tap system")
- print("- Core Graphics integration")
- print("- Limited decoration support")
- end
-end
-
-- Test function for decoration system
-function test_decoration_system()
- print("Testing decoration system...")
-
- - Test decoration toggling
- srd.window.set_decorations("test_window", true)
- local has_decorations = srd.window.get_decorations("test_window")
- print("Decoration test: " .. tostring(has_decorations))
-
- - Test border color
- srd.window.set_border_color("test_window", 128, 128, 128)
- print("Border color test: RGB(128, 128, 128)")
-
- - Test border width
- srd.window.set_border_width("test_window", 5)
- print("Border width test: 5px")
-end
-
-- Test function for window state system
-function test_window_state_system()
- print("Testing window state system...")
-
- - Test floating state
- srd.window.set_floating("test_window", true)
- local is_floating = srd.window.is_floating("test_window")
- print("Floating state test: " .. tostring(is_floating))
-
- - Test toggle
- srd.window.toggle_floating("test_window")
- is_floating = srd.window.is_floating("test_window")
- print("Toggle test: " .. tostring(is_floating))
-end
-
-- Run tests
-test_platform_features()
-test_decoration_system()
-test_window_state_system()
-
-print("Cross-platform test configuration loaded successfully!")
-print("Use Mod4+1/2/3 to switch layouts")
-print("Use Mod4+f to toggle floating")
-print("Use Mod4+b/n/r to change border colors")
-print("Use Mod4+0 to reset decorations")
-print("Use Mod4+s for smart placement info")