wayland: add dwl/mango support#609
wayland: add dwl/mango support#609charlesrocket wants to merge 1 commit intoquickshell-mirror:masterfrom
Conversation
Merges charlesrocket's dwl branch (PR quickshell-mirror#609) with wl_proto() refactor replacing hand-rolled protocol bindings.
outfoxxed
left a comment
There was a problem hiding this comment.
Wayland protocols are not implemented like this in a qt project. Look at
https://github.com/quickshell-mirror/quickshell/tree/master/src/wayland/hyprland/global_shortcuts for a simple one. We also never check in generated code.
Oh, missed that one! It is not generated tho, just a bespoke implementation 😺 |
|
I see how you could potentially miss the QtWayland tooling and qtwaylandscanner but how do you miss wayland-scanner? Nobody does that part by hand |
|
It was pretty late, and DWL spec is not long enough for me to look for easy ways ahah |
4c7ebfc to
a89f16b
Compare
outfoxxed
left a comment
There was a problem hiding this comment.
Partial review:
Can you clarify if tags are functionally per monitor or global? the global tagCount seems to indicate they're global, and if setting client tags via monitor affects global or monitor state?
| class DwlIpcOutput | ||
| : public QObject | ||
| , public QtWayland::zdwl_ipc_output_v2 { |
There was a problem hiding this comment.
Undecided on if its OK to merge the implementation and interface on this one
| /// Whether the focused client is floating. | ||
| Q_PROPERTY(bool floating READ floating NOTIFY floatingChanged); |
There was a problem hiding this comment.
If exposed at all this should probably be attached to toplevel
|
Also does mango support the ext-workspace protocol? We have a mostly done implementation on a branch that I could fix up and merge, which is strictly an improvement over this protocol. |
DWL is all per output Tho tag count and layouts are global. |
Looks like it does https://github.com/mangowm/mango/blob/d441ca22f4bd7554f04defdd36f13bedc38610e7/src/ext-protocol/ext-workspace.h |
|
The upcoming release of wlroots0.20 has also integrated the encapsulation support of the ext-workspace protocol. At that time, most compositor will only need little code to use this protocol. refer: |
1406b42 to
108b0a2
Compare
|
Tested ext-workspace branch, and everything seems to work with Mango. Tho keyboard and window (tiling/grid/etc) layouts are not covered. I could strip the PR to support missing topics only. |
ca90821 to
3cf65af
Compare
Tested with
mango0.12.4(release)Closes #457/#51