Skip to content
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

Converting applets to support Wayland #474

Open
14 of 28 tasks
fossfreedom opened this issue Jun 26, 2024 · 2 comments
Open
14 of 28 tasks

Converting applets to support Wayland #474

fossfreedom opened this issue Jun 26, 2024 · 2 comments

Comments

@fossfreedom
Copy link
Member

fossfreedom commented Jun 26, 2024

This is a tracking issue to focus on supporting wayland for budgie-extras applets and apps. All help is welcome

libxfce4windowing may help with the transition (python support via its gir python package, or using a vala vapi as per budgie-desktop). Similarly we need to look at layer-shell for positioning things https://github.com/wmww/gtk-layer-shell

Remember at a minimum all applets including 3rd party applets need to use budgie-2.0 as the target gir

Edit this issue and amend:

  • Add meson_option compile option for wayland - default for the moment is X11 Converting applets to support Wayland #474 (comment)
  • budgie visualspace: wnck ref + upstream workspace support
  • budgie dropby: wnck ref
  • budgie shuffler: Needs focus on across the codebase / working with upstream
  • budgie wpreviews: Needs focus on across the codebase / working with upstream
  • budgie wswitcher: wnck ref + upstream workspace support
  • budgie workspace stopwatch: wnck ref
  • budgie showtime: wnck ref - needs gtklayershell
  • budgie weather: needs gtklayershell
  • budgie-quickchar: x11 reference and needs upstream shortcut support
  • budgie-extras-daemon - global keyboard shortcuts are going to be handled very differently under wayland
  • budgie-applauncher: popover.set_default_size no longer exists as an api function
  • budgie-takeabreak: xrandr usage / Gdk.Display is used to get output names
  • budgie-brightness-controller - that uses xrandr which is X11 specific - so need to consider alternatives possibly like wrandr applet now just shows one bar under wayland
  • budgie-countdown - this depends on settings-daemon power values - this maybe different in a wayland world
  • budgie-rotation-lock - this depends on gnome-settings-daemon stuff ... not sure if mutter related stuff is involved
  • budgie-keyboard-autoswitch - makes use of xdotool to get wmclass

All applets need testing under wayland - there will probably be others that need to be added to the above list.

To be tested:

  • budgie-applications-menu
  • budgie-clockworks
  • budgie-fuzzy-clock
  • budgie-kangaroo - it isn't using a popover - expecting a menu to be displayed - this works with the popover was a window... but now its a gtk-popover - tweaked so the menu pops up at the correct location but still should probably be revisited [Wayland] Kangaroo applet menu extends off-screen on long menus #475
  • budgie-network-manager
  • budgie-quicknote
  • budgie-recently-used
  • budgie-common
  • budgie-wallstreet note - needs upstream support for the lockscreen and setting the image from the gsettings key

Additional applets outside of extras

  • budgie-indicator-applet

Additional considerations:

  • popovers in python applets appear transparent when built-in theme is selected appears to be resolved
@fossfreedom fossfreedom pinned this issue Jun 26, 2024
@fossfreedom
Copy link
Member Author

I'll take the first item to add an option to compile applets with a wayland option. For the initial release all the applets/applications above will NOT be compiled and thus NOT available under wayland. Once support is available we can add in the applet.

@fossfreedom
Copy link
Member Author

meson option "for-wayland" is to be used within meson to differentiate between wayland and X11 specific compilation options.

budgie_dep is defined at the root meson.build level - so any applets should use this now in their specific meson.build rather than hardcode budgie-1.0

python apps should use this format to differentiate between v2 and v1 gir

if Libxfce4windowing.windowing_get() == Libxfce4windowing.Windowing.WAYLAND:

similar code could/showed by used for vala compilation ... and/or we can consider a config type #ifdef type way of doing things

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

No branches or pull requests

1 participant