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

wlmaker desktop integration #87

Open
alexmyczko opened this issue Jul 27, 2024 · 10 comments
Open

wlmaker desktop integration #87

alexmyczko opened this issue Jul 27, 2024 · 10 comments
Labels
enhancement New feature or request

Comments

@alexmyczko
Copy link

alexmyczko commented Jul 27, 2024

What icon will you make for the wayland-session?

Would this work?
DesktopNames=Wayland Maker

The example clock will also need a desktop file, and icon I guess?

WindowMaker has
https://www.windowmaker.org

Wayland has
https://wayland.freedesktop.org

Will the menu integrate, these?
/usr/share/applications

Looking forward to try this bare metal, and maybe help out here and there...

Having foot as terminal is fun, but it's missing the NeXTSTEP menu,
for comparison GNUstep has 3 styles for their menu system, classical (detachable menus) like in nextstep/openstep/gnustep, another like macOS (top bar), and windwos (per application, on top)

if i had a choice to wish for dockapps it would be:

@phkaeser
Copy link
Owner

Lots of good questions, ideas and pointers!

Questions first:

With regards to suggestions:

  • Menu integration of /usr/share/applications: That's the goal. Once toolkit support for menus is added (planned for v0.4), it'll only need some plumbing. Created Generate parts of menu from /usr/share/applications #90 to track.
  • Terminal: Happy to use a GNUstep alternative, once I find one that's working well with Wayland!
  • GNUstep menu options: A client-side solution may be possible with GNUstep libraries and eg. using the wlr layer shell (https://wayland.app/protocols/wlr-layer-shell-unstable-v1). Support from the compositor will likely need an extra wayland protocol. Doable, but a lot of work.

Wishlist for DockApps noted :)

@phkaeser phkaeser added the enhancement New feature or request label Jul 28, 2024
@alexmyczko
Copy link
Author

I have a debian trixie machine, and lightdm shows me WaylandMaker and starts upon login, if foot is installed it also launches. Looks good to me so far, what's most missing is rightmousebutton application menu...

@phkaeser
Copy link
Owner

phkaeser commented Mar 3, 2025

https://github.com/phkaeser/wlmaker/tree/submenu is in the works; permitting a (hardcoded) root menu to begin with. Should be doable this week.

Actual (dynamic) menu integration of /usr/share/applications is a bigger task, though; might make it for 0.6 or 0.7 only.

Curious: @alexmyczko Can you confirm you're having it working with lightdm? So far, we had lightdm not working, only gdm3 and other Wayhland-only login managers (https://github.com/phkaeser/wlmaker/blob/submenu/doc/RUN.md#option-3-run-as-wayland-session)

@alexmyczko
Copy link
Author

alexmyczko commented Mar 3, 2025

well i had lightdm, did login started foot and got no output from echo $DISPLAY

what is a hardcoded root menu?
something a user has to setup?

wlmclock also starts but it is stuck on the clip

trying to start firefox failed, did not check the multiline output

@phkaeser
Copy link
Owner

phkaeser commented Mar 3, 2025

Cool! Looks like I'll need to remove that from the documentation!

  • Hardcoded root menu: Yes, that would be with the menu structure encoded either in the C code (bad) or in the plist config file (less bad). Can ship with a default, but the user would need to customize if they want better than that. (Longer term: Totally want the root menu to dynamically build from contents of /usr/share/applications; but will need code+time to get there).
  • wlmclock: Ah yes, there's a bug with surface updates I haven't gotten to fix...

@alexmyczko
Copy link
Author

alexmyczko commented Mar 3, 2025

i guess i can hack a plist file generator. but will you allow a global/system/etc one falling back to when the user does not have one? or will user one override system one?

for gnustep wayland back end i heard it has bugs...

oh and how would i lock the screen/session? using loginctl?

@phkaeser
Copy link
Owner

phkaeser commented Mar 3, 2025

  • Yes, a plist generator hack would do the trick. I haven't written the code yet; generally I'm thinking that "a user config takes precedence over the system-wide one". But what we do in 0.5 may well change as it hits higher versions...
  • Locking: Can be configured, swaylock is what I been using so far (https://github.com/phkaeser/wlmaker/blob/main/etc/wlmaker.plist#L71).

@alexmyczko
Copy link
Author

at a minimum, i guess i would depend on foot, and swaylock.

would be great to have a root menu with:
Lock
Quit

i guess i will write a README.Debian
not everyone likes that default font of foot terminal.

@phkaeser
Copy link
Owner

phkaeser commented Mar 7, 2025

Dependencies on swaylock and foot are good to start with. Current development branch already has a roto menu with these (+more) entries, pending a few minor fixes.

@alexmyczko -> for configuration files, wlmaker should be configured to (in order of precedence):

  1. use files configured by the user (currently: ${HOME})
  2. use files configured by the system (currently: not specified, that's where https://github.com/phkaeser/wlmaker/tree/main/etc should deploy. Where should that be, for Debian?)
  3. use compiled-in defaults.

Would be nice to have config files adapted for Debian for case (2). Help needed!

  • which directory will these files be deployed to on Debian?
  • is there a Debian-specific compile #ifdef that I can use for picking these paths for (just) Debian?
  • Current default has foot, firefox and chrome configured. For a default Debian setup, what should be the top apps? foot as terminal, and beyond: chromium? some others?

@phkaeser
Copy link
Owner

phkaeser commented Mar 8, 2025

Regarding above: v0.5 has been cut, and configuration files will be looked up as specified; see https://github.com/phkaeser/wlmaker/blob/main/doc/RUN.md#customize-it for details.

@alexmyczko -- let me know if I can help with a README.Debian and/or customizations for root-menu.plist, wlmaker-state.plist or style.plist. Also, I'd be happy to include them in the upstream repository (here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants