Cloudef / bemenu

Dynamic menu library and client program inspired by dmenu
GNU General Public License v3.0
1.16k stars 90 forks source link

Upwards list support(Addresses #328, X11/Wayland/Cairo) #364

Closed merrittlj closed 7 months ago

merrittlj commented 8 months ago

Implement upwards list parameters, documentation, etc. as well as refactor some related Cairo code.

This is now fully implemented in X11, but Wayland will be implemented soon due to the large amount of the changes being related to Cairo, instead of X11. For now, this pull request will be a draft until I add support for Wayland and (maybe)Curses.

Regarding Curses, it is likely that I will try and merge this pull request with Wayland and X11 support, and then start work on catching Curses up to speed feature-wise seperately, as it is missing some features such as fixed-height and similar.

From #328

merrittlj commented 8 months ago

Currently there is multiple styling issues as well, so please be patient as I fix them. Now all bugs are fixed with upwards list mode, all that is needed is to implement Wayland.

merrittlj commented 8 months ago

@Cloudef This pull request is now ready to review, upwards list mode/support is fully implemented in X11 and Wayland. I am unable to test Wayland(so I would reccomend someone else tests this), but it is compiling, and I believe my implementation is correct according to the Wayland documentation; and the platform-specific implementation is very small anyways.

I did not implement Curses, but I believe Curses should be caught up-to-speed with other features(such as fixed-height) separately before I go ahead with that.

merrittlj commented 8 months ago

Feel free to go ahead with reviewing smaller details, but my approach as a whole to this problem may need to be reviewed as well. However, I believe my solution and implementation has practicality to it, and will likely not need to be reworked.

Cloudef commented 7 months ago

Looks good, thanks!