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

Blurry bar: quick fix #4625

Closed
wants to merge 2 commits into from
Closed

Conversation

QBobWatson
Copy link
Contributor

As noted in #3646, qtile currently renders internal windows (e.g. the Bar) at layout resolution and not output resolution, which makes them blurry on hidpi monitors. That issue suggests an elegant but complex solution. This PR implements a dumb solution: a config option that determines what scale the internal windows are rendered at.

I'm not claiming this is the best solution, or even a good one. But it's trivial to implement and will satisfy most use cases.

@jwijenbergh
Copy link
Contributor

jwijenbergh commented Dec 15, 2023

Could we make the scale factor a config.Screen variable? Or better yet, can't we just get the scale from the wlr_output pointer?

@QBobWatson
Copy link
Contributor Author

Could we make the scale factor a config.Screen variable? Or better yet, can't we just get the scale from the wlr_output pointer?

The relationship between Screens and outputs can be complicated with fake screens and all. This makes per-output configuration kind of problematic.

I think we’re supposed to be listening for the output_enter event of the underlying wlr_scene_buffer in order to keep track of which outputs the window is displayed on. Then we’re supposed to render to a surface scaled up by the largest of the outputs’ scale factors (or maybe the least common multiple). This is more or less what Wayland clients do.

Although that might be the correct thing to do, it would be a pain, and the advantage is minimal. It would just mean that if you had more than one monitor, with one scaled up and one not, and you had a bar on each monitor, then you don’t have to render a scaled-up version of the bar on the low dpi monitor. I’m not so interested in writing that PR at the moment, since I’m just trying to get qtile/Wayland working on my laptop.

Copy link

This PR is stale because it has been open 90 days with no activity. Remove the status: stale label or comment, or this will be closed in 30 days.

@frosklis
Copy link

I fixed the pre-commit hook failures here: #4744

Copy link

This PR is stale because it has been open 90 days with no activity. Remove the status: stale label or comment, or this will be closed in 30 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants