Opened 15 years ago

Last modified 3 weeks ago

#4089 assigned enhancement

Per window tab/border color (easy)

Reported by: aldeck Owned by: czeidler
Priority: normal Milestone: Unscheduled
Component: Servers/app_server Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

What about the possibility for the user to change the color of windows per window so that's a lot faster for the eye to find windows when working repeatedly with a large set of windows/workspaces.

Color vision processing begins at a very early level in the visual system (even within the retina) and it's a shame that current desktop interfaces prefer to use colors for beauty and branding instead of actual meaning and usability.

This goes against themes and the mono color windows, but that might also end up beautiful (and distinctive) if for example you're given a set of harmonized colors.

In my understanding, this shouldn't be too hard to implement and test, as there is a quite similar mechanism for the per window tab position.

Ability to tag folders in Tracker with colors would be the logical next step :)

Change History (9)

comment:1 by humdinger, 15 years ago

As long as it's optional...
I'd propose making window borders/tabs colour drop aware. No big context menus or anything like that. It's important to only slightly tint the windows or you'll lose the distinction of the active window.

One thing I always miss is what I used Windowshade for under BeOS: have the _whole_ active window (tabs+border) yellowed.

in reply to:  1 comment:2 by aldeck, 15 years ago

Replying to humdinger:

As long as it's optional...

Yes that's the idea, just like moving tabs. Color drop is a good idea, and i agree with your other points too :)

comment:3 by humdinger, 15 years ago

Also, there would have to be a setting in the Appearance preferences to quickly reset the default colours (i.e. removing all attributes). Maybe this whole thing should be done when rethinking the Appearance panel.

comment:4 by leavengood, 15 years ago

A first step would be to make the window border's color editable. As far as I can see it is currently not editable. I also agree that the Appearances preflet needs some work.

But in general I agree that color is important for visual identification (though I think shape might be more important, see my recent email about Haiku icons.)

Both the general proposal and the color droppable borders and tabs sounds interesting to me.

comment:5 by stippi, 15 years ago

The proposal definitely sounds interesting. In terms of implementation, it would be super easy, since each Decorator instance in the app_server has the colors as members. So it would be easy to change them per instance. The only problem could be the decor buttons, since those are cached globally, I believe. But for that case, one could just add the color to the hash value used for lookup, if that's not already the case.

As for the feature itself, I believe the assertion to only allow subtle color variations in order to keep active windows distinctive is somewhat flawed. I think the stronger the allowed color difference, the more the effect is explored/utilized. That of course has indeed the problem that active windows are less visible. Maybe make the distinction by using either the whole frame colored (active window) or the tab only (inactive window).

comment:6 by aldeck, 14 years ago

Owner: changed from axeld to czeidler
Status: newassigned

assigning to clemens as he might be interested :)

comment:7 by diver, 12 years ago

Component: - GeneralServers/app_server
Version: R1/pre-alpha1R1/Development

comment:8 by pulkomandy, 9 years ago

Milestone: R1Unscheduled
Summary: Per window tab/border colorPer window tab/border color (easy)

While this is a very great idea, it is out of R1 scope. Also tagging it as easy since there isn't that much work to do here.

comment:9 by GenericConfluent, 3 weeks ago

I'm going to give this a crack as the sample task for my GSoC application. Should be good since it'll force me to read around the app_server.

Note: See TracTickets for help on using tickets.