some changes

This commit is contained in:
speedie 2023-06-03 02:20:25 +02:00
parent 5a1b1c8e82
commit 014473e8e8
3 changed files with 9 additions and 42 deletions

View file

@ -2,15 +2,13 @@ Welcome to the spmenu wiki!
--------------------------- ---------------------------
![preview image](/pages/images/preview.png) ![preview image](/pages/images/preview.png)
[spmenu](https://git.speedie.site/spmenu) is an X11 menu application based on [spmenu](https://git.speedie.site/spmenu) is an X11 and Wayland menu application
[dmenu](https://tools.suckless.org/dmenu) which takes standard input, parses based on [dmenu](https://tools.suckless.org/dmenu) which takes standard input, parses
it, and lets the user choose an option and sends the it, lets the user choose an option and sends the selected option to standard output.
selected option to standard output.
Options are separated by newlines. In addition to this, it also serves as a run launcher through the included shell script `spmenu_run` which supports running binaries from $PATH but also file management and .desktop entries. Options are separated by newlines. In addition to this, it also serves as a run
launcher through the included shell script `spmenu_run` which supports running
binaries from $PATH but also file management and .desktop entries.
What are you waiting for? Check it out! [spmenu Git repository](https://git.speedie.site/spmenu)
[spmenu releases](https://ls.speedie.site/index.php?b=releases%2Fspmenu)
It is recommended that you start out by following [[Getting Started]]. Then, you may be interested in [[Using spmenu as a run launcher]].
spmenu git repository: `https://git.speedie.site/spmenu`

View file

@ -1,26 +0,0 @@
Wayland support
---------------
As of now there are no plans to add Wayland support into spmenu. It is no secret that [I strongly dislike Wayland's ideas](https://speedie.site/articles/post56.php). That said, if someone wants to put in the work, it will be merged in. However not all hope is lost because for now and likely the very distant future, you'll be able to use spmenu on Wayland through XWayland, which is an X11 server running on Wayland.
spmenu has been tested on Hyprland using XWayland, and it works perfectly and feels like any native Wayland program. That said, please report any Wayland related issues you face.
If native Wayland support were to be added, it would require the following changes at a base minimum:
- Removal of .Xresources, at least on Wayland sessions
- .Xresources is an X11 feature, and Wayland does not seem to have anything like it. Due to the libconfig configuration I don't see it being a huge issue though.
- Rewritten keybinds
- Keybinds are done using libX11 which as the name implies is X11 specific. We would need to do this in some Wayland specific way, or at the very least find a library for handling keybinds which works on both protocols.
- Maybe do wrapper functions for keybindings.
- Rewritten drawing
- Drawing of everything will also have to be rewritten, because it all depends on X11 only libraries.
- spmenu uses a modified version of suckless' libdrw. Because it's a separate library we could potentially handle it all in the same function with the same argument, leading to cleaner code.
- I don't know how we detect if we're using an X11 or Wayland session
- Rewritten fonts
- Pango markup works fine, but currently spmenu uses libXft which is an X11 specific library and will not work .
- Cairo would be a good fit if we swap libXft out entirely. libXft has a long history of issues, so it would be a benefit on the X11 side too.
- Rewritten client creation and resizing
- Finally we would have to rewrite client creation and resizing.
- libXinerama would have to be replaced with something else for the Wayland side.
- Support both Wayland and X11
- I think it is important to support both X11 and Wayland, or at the very least decide on one during compile time and providing multiple packages (ie. `spmenu-x11` and `spmenu-wayland`).

View file

@ -18,9 +18,4 @@ Advanced
- [[Scripting with spmenu]] - [[Scripting with spmenu]]
- [[Functions in spmenu_run]] - [[Functions in spmenu_run]]
- [[Extensive code documentation]] - [[Extensive code documentation]]
Frequently asked questions
==========================
- [[Wayland support]]