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

[WIP] Just to look at diff. #2099

Open
wants to merge 159 commits into
base: next
Choose a base branch
from
Open

Conversation

DaveDavenport
Copy link
Collaborator

Please follow these steps before submitting your PR:

  • This PR targets the next branch and not master
  • If your PR is a work in progress, include [WIP] in its title
  • Its commits' summaries are reasonably descriptive
  • You've described what this PR addresses below
  • You've included links to relevant issues, if any with #issue_num
  • You've deleted this template

Thank you for contributing to rofi! <3

Your description here...

lbonn added 30 commits July 24, 2020 19:30
Based on sardemff7 previous wayland attempt
- Fix mouse support
- Handle key repeats
- Positioning
- Fix periodic count updates
It seems like since meson 0.55.0, subprojects with name separators don't
work at all (they were causing a warning before).

This is a quick dirty fix, until we fix this upstream.

Fixes #2
Overlay is reserved for lock screens and similar programs.

Fixes #7
Was causing segfaults when window content updates too fast.
This reverts commit dc1b159.

Given the current options, it's probably better to show rofi on top of
lock screens than not show it on top of full screen windows.

Discussion:
#12
#7
lbonn and others added 28 commits March 1, 2024 11:27
This was very buggy, we were counting the events twice...

* always use pointer frame, it's available since v5
* drop axis handler
* use axis_discrete or axis_120 (v >= 8) instead
* fail on some protocol minimum version checks
* simplify output protocol version check

Fixes #120
Happens when destroy() is called without previous init()
And revert erroneous change in historical docs
Only receive clipboard offers when pasting instead of storing the data
indefinitely.

This is also more performant by default as it is not doing unnecessary
work.
> From version 7 onwards, the fd must be mapped with MAP_PRIVATE by the recipient, as MAP_SHARED may fail.

 - https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_keyboard

Signed-off-by: Samuel Dionne-Riel <[email protected]>
Magic values were determined empirically...

Fixes #134
config.h needs to be included before ifdef check...
@lbonn
Copy link
Collaborator

lbonn commented Feb 20, 2025

@DaveDavenport

Big outline:

What I did not want was to just add #ifdef of ifs in every function 😄

  • xcb.c is renamed to display.c and the two implementations are in xcb/display.c and wayland/display.c. display-internal.h describes the interface they implement and plain display.c just proxies between the two.
  • the split of view.c is not as clean: generic parts are kept in view.c but everything that was xcb-specific or differed too much from wayland was moved in xcb/view.c and wayland/view.c. The functions which are proxied this way are at the bottom of view.c
  • there are actually a small number of ifdefs in view.c for some simple cases

For view, ideally wayland/view.c and xcb/view.c should disappear and some of their functionality can be moved to the corresponding display.c and/or another object.
I haven't reviewed exactly what could be put in common recently but I suspect there are at least some low hanging fruits.

Though they sizeable, around 1000 lines for xcb and half for wayland and both display.c are ~2000 lines. So, moving everything there would probably make a mess.

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

Successfully merging this pull request may close these issues.