Skip to content

feat: Window tiling#322

Merged
elementbound merged 20 commits intofoxssake:mainfrom
albertok:feat/window-tiler
Nov 9, 2024
Merged

feat: Window tiling#322
elementbound merged 20 commits intofoxssake:mainfrom
albertok:feat/window-tiler

Conversation

@albertok
Copy link
Copy Markdown
Contributor

@albertok albertok commented Nov 7, 2024

Developer utility that auto tiles launched windows when using the multi-run instance feature in Godot.

Peek 2024-11-07 13-50

@TheYellowArchitect
Copy link
Copy Markdown
Contributor

TheYellowArchitect commented Nov 7, 2024

I tested this on 4.1 and 4.4dev3, with dwm X11 (linux)
I have the new autoload enabled, and the 2 new boolean settings are by default On (enabled), and Screen is 0.
I also tried enabling and disabling Borderless.
I don't have any errors or warnings, but I don't have the above result (expected tbh because dwm)

Copy link
Copy Markdown
Contributor

@elementbound elementbound left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contrib, this will be very useful during development!

@elementbound
Copy link
Copy Markdown
Contributor

When ran with 9 windows, 5 of them are tiled, 4 are left as-is ( laid out manually for illustration ):
image

Testing further, it seems like only the first 5 windows are tiled, the rest are left as-is.

@albertok
Copy link
Copy Markdown
Contributor Author

albertok commented Nov 8, 2024

Looks like 5 windows is the cap as Godot's Debugger only tries 5 times to find a free port for a client to bind to.

https://github.com/godotengine/godot/blob/36e6207bb48fafd43b98a458d0c461ad982b4e68/editor/debugger/editor_debugger_server.cpp#L87

You'll notice you only get 5 Debug Sessions also in the editor.

image

An alternative would be to piggy back off an established multiplayer peer connection and not use the EditorDebugger

@albertok
Copy link
Copy Markdown
Contributor Author

albertok commented Nov 8, 2024

Ditched the whole EditorDebuggerPlugin communication system for good old lock files.

@albertok
Copy link
Copy Markdown
Contributor Author

albertok commented Nov 8, 2024

Making borderless false by default as there are inconsistent results for now.

godotengine/godot#93472

@elementbound elementbound changed the title Feat/window tiler feat: Window tiling Nov 9, 2024
@elementbound
Copy link
Copy Markdown
Contributor

Updated the lock detection to do an initial wait, then check for a while if any new locks show up. This way, if startup is slow, we have a way better chance to detect late arrivers. If startup is fast, the loop can terminate early, as no new locks are found.

@elementbound elementbound merged commit 42536a7 into foxssake:main Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants