elementary / stylesheet

The GTK Stylesheet for elementary OS
https://elementary.io
GNU General Public License v3.0
320 stars 75 forks source link

can't distinguish between focus/unfocus windows #534

Closed megatux closed 4 years ago

megatux commented 5 years ago

One of the main functions of the WM is to make it easy for the user to show which window has focus, but I find very difficult coming from other WMs to know at a glance what window I'm working with.

Not sure if this is a Gala, or a Gtk style thing, or both. Let me add some examples:

Two windows with different border colors: Captura de pantalla de 2019-08-19 18-24-27 Which one has the focus? I usually use keyboard shortcuts but I mistakenly trigger it in the wrong app/window.

Two windows of VSCode (50%/50% positioned), a normal layout for working with projects: Captura de pantalla de 2019-08-19 17-52-56

Two windows of Files app (50%/50% positioned): windows

Do I have something broken? (Some time ago I tweaked the GTK settings.ini file but I cleaned it) or is this the default style? I find it oddly broken .

cassidyjames commented 5 years ago

With client-side decorations, a window manager's job is less to show which windows have focus, since it does not decorate the windows. It's up to the toolkit (GTK) and stylesheet (and to a lesser extent, the app by not overriding important focus styles) to track and display focus.

I agree your first example is hard to tell which is focused; I'd chalk that up to the custom styling in both of those apps.

In the VSCode example, the only part that's drawn by the OS is the titlebar itself, and the left one is a lot higher contrast than the right (dimmed) one, which means the left side has focus. I'm not sure if there's anything internally VSCode could also do to with its own internal UI to also better distinguish focus.

For the Files example, that seems super clear to me; one window has normal contrast, depth, and saturation. The other is flatter, less saturated, and lower contrast showing it's not the focus.

I would say this is a stylesheet concern more than anything, and as such I've moved it to that repo. But I'm not sure practically how we'd solve it if apps themselves override styles or don't do anything internally to denote focus.

megatux commented 5 years ago

Thanks for taking care & moving it Cassidy. For me, the Files example is not super clear, far from that. I have to put both windows side by side, focus my eyes and start comparing. A costly cognitive process, even with my not-with-disabilities vision.

This is a sample with i3wm, default config. I think, it's always crystal clear what window I'm working with (has the input focus).

Captura realizada el 2019-08-20 10 49 09

Captura realizada el 2019-08-20 10 48 48

For this reasons and other issues with alt-tab/win-tab/etc is that I moved away from Gala. I noticed I spend a lot of time "fighting with windows" in my workflow (as developer, for leisure I really like the complete Pantheon experience, it's just beautiful :heart_eyes: ).

I know CSD is the way elementaryOS moved, but ergonomics should go first and maybe we can use this ticket to identify existing issues and suggest potential enhancements, like the current split-screen proposals.

danirabbit commented 4 years ago

This should be more-or-less solved in Greenfield (as much as we can). We're now overlaying a gradient over the titlebar color so we can set a brighter backdrop gradient and the developer doesn't have to do any extra work.

But of course if a developer has custom decorations and they don't make a backdrop style, there's nothing we can do.