Skip to content

Update for wlroots 0.18#27

Merged
alexbakker merged 8 commits intoswaywm:masterfrom
jchw-forks:wlroots-0.18
May 23, 2025
Merged

Update for wlroots 0.18#27
alexbakker merged 8 commits intoswaywm:masterfrom
jchw-forks:wlroots-0.18

Conversation

@jchv
Copy link
Copy Markdown
Contributor

@jchv jchv commented May 15, 2025

Things have fallen a bit out of date. I hope it isn't a big problem that I've grouped a lot of stuff into this PR. To try to make it a bit cleaner it is at least broken up into commits.

The broad strokes of this are:

  • Fix two minor typos (handleOuptuDestroy -> handleOutputDestroy, PrefferedMode -> PreferredMode)
  • Delete obsolete wlroots APIs (mainly: the pending state APIs in wlr_output_* and the non-renderpass APIs in wlr_renderer_*
  • Update bindings for wlroots 0.18:
    • Add RenderPass API
    • Add Display argument to NewOutputLayout and CreateGlobal
    • Add relative direction to NotifyPointerAxis
    • Remove Vendor/Product from InputDevice, since it's not supported anymore
    • Add RelativeDirection enum
    • Switch values of AxisSource to use wl_pointer_axis enum
    • Add BeginRenderPass to replace AttachRender
    • Switch RenderSoftwareCursors to use wlr_output_add_software_cursors_to_render_pass
    • Switch pkg-config package name for wlroots to wlroots-0.18
  • Update tinywl to handle the initial commit for XDG surfaces, since wlroots no longer does this automatically
    • Updated tinywl to use toplevel/popup callbacks since it's now necessary
  • Update Go dependencies
  • Update Nix flake
    • Use buildGoModule
    • Avoid using with and rec as they are no longer best practice
    • Remove usage of gomod2nix as it is no longer needed
    • Update all dependencies
    • Apply formatting with nixfmt

There are a few minor things. The GeoBox API wrapper contained a pointer field that was only read and never written to, so it was removed, since the two usages of it were broken. Also, there are a lot of things that could be cleaned up or improved in the future. However, I was able to get this working and run applications in it, so hopefully pending any serious issues we can get this moving :)

image

jchv added 8 commits May 14, 2025 22:39
Add RenderPass API
Add Display argument to NewOutputLayout and CreateGlobal
Add relative direction to NotifyPointerAxis
Remove Vendor/Product from InputDevice, since it's not supported anymore
Add RelativeDirection enum
Switch values of AxisSource to use wl_pointer_axis enum
Add BeginRenderPass to replace AttachRender
Switch RenderSoftwareCursors to use wlr_output_add_software_cursors_to_render_pass
Switch pkg-config package name for wlroots to wlroots-0.18
Use `buildGoModule`
Avoid using `with` and `rec` as they are no longer best practice
Remove usage of gomod2nix as it is no longer needed
Update all dependencies
Apply formatting with nixfmt
Copy link
Copy Markdown
Member

@alexbakker alexbakker left a comment

Choose a reason for hiding this comment

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

Thanks!

@alexbakker alexbakker merged commit 368024c into swaywm:master May 23, 2025
1 check passed
@jchv jchv deleted the wlroots-0.18 branch May 23, 2025 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants