by "window colors", do you mean the color of the window boarder? if so tell your window manager to set the color of the window boarder based on the title of the window as most have a pattern of user@host: /path
. it would be easy for it to check if this is a Terminal by its window class and then parse the title when it changes and update the color used. but i don't know the flows involved so i don't know how much work.
but this is possible.
(i don't know if openbox could do this but after thinking about it this is the easier way to do it)
Update:
after looking at the source to openbox, i think patching the framerender_frame
function in openbox/framerender.c
so that if the window is a Terminal depending the host in the title, a different theme is used instead of the global ob_rr_theme
, one which has the colors you want for that window in it.
[in the context of framerender_frame
, the window title might be self->client->title
]
doing this would require changing framerender_frame
so that it refers to the global ob_rr_theme
via a local theme
and would require writing code to load the host:theme map and the additional themes
in pseudo code (i.e. this will not run):
RrTheme* theme = ob_rr_theme;
if "gnome-terminal" equals self->client->class: # for example only
host = parse_title(self->client->title)
theme = lookup host in by_host if not found use theme
# and then in the rest of framerender_frame use theme instead of ob_rr_theme
where by_host
maps host strings to RrTheme
themes