-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement wayland support using Smithay #1073
base: main
Are you sure you want to change the base?
Conversation
What's the status of this? I'd love to see Wayland support in LeftWM, and this seems to be stalled. |
This pull is one of my side projects so progresss depends heavily on my time and motivation, but I do intend on actually finishing it at some point, when I have that time and motivation. |
Understood. If there is something I could help you with in this PR, feel free to reach for me. I'm not familiar with the codebase though, but I'm proficient in Rust. |
Contributions always welcome, tho I do not think there is currently much that can be done without knowledge of at least the |
Events: - `WindowCreate` - `ScreenCreate` - `WindowDestory` Actions/Methods: - `AddedWindow` - `WindowTakeFocus` - `SetWindowAction` - `DisplayServer::update_windows`
…perate struct in a `Arc<RwLock<_>>`
…e `GlowRenderer`, remove usage of `Space`
…yed windows from `WindowRegistry`; Implement `generate_verify_focus_event`
…bsolute pointer movement
- Don't build `leftwm` and `leftwm-worker` if xlib isn't enabled - Don't build `leftway` and `leftway-worker` if smithay isn't enabled - Don't build `lefthk-worker` if lefthk isn't enabled
4bc86bf
to
bfed681
Compare
Happy to see your work continue! Can't wait to try out your Wayland implementation once it's ready. |
Tbh, currently I am doing just some tiny bits since I am still quite out of it... |
Im really hoping to find time to help with this. It will be great to have this great work through! |
Yay, while I am still quite out of it, I'm getting back in, digging though smithay's anvil once again to get by bearings with an impl I know is correct. |
I am currently tempted partially restart on the implementation, but with more proper planning and knowing everything I've learned from the attempt(s) up until now, which I guess doing planning and stuff might be easier with someone to bounce ideas of off. |
Sounds good, I will have a glance over the current code and smithays code to get some ideas going. Many thanks! |
Description
This PR's aim is to give LeftWM support for wayland as an alternative to xorg.
Todo
SmithayHandle::wait_readable
send_event
method toSmithayState
SmithayHandle
fromSmithayHandle::new
wlr_layer_shell
leftwm-core
DisplayEvent
s and acting onDisplayAction
s andDisplayServer
methodsMovement
MouseCombo
WindowCreate
(started) ->XdgShellHandler::new_toplevel
WindowChange
WindowDestroy
(started) ->XdgShellHandler::toplevel_destoryed
WindowTakeFocus
HandleWindowFocus
VerifyFocusAt
MoveFocusTo
MoveWindow
ResizeWindow
ScreenCreate
SendCommand
ConfigureXlibWindow
ChangeToNormalMode
KillWindow
AddedWindow
(started)MoveMouseOver
MoveMouseOverPoint
SetState
SetWindowOrder
MoveToTop
DestroyedWindow
WindowTakeFocus
(started)Unfocus
FocusWindowUnderCursor
ReplayClick
ReadyToReizeWindow
ReadyToMoveWindow
SetCurrentTags
SetWindowTag
(started)NormalMode
ConfigureXlibWindow
flush
generate_verify_focus_event
update_windows
(started)Contributing
Contributions are of course highly appreciated.
For those wanting to contribute, please tell me what part you want to work (Here in the comments or on matrix/discord) on to prevent anyone from doing double work.
Type of change
Updated user documentation:
TBD
Checklist:
make test-full
locally with no errors or warnings reportedNote: To fully reproduce CI checks, you will need to run
make test-full-nix
. Usually, this is not neccesary.