Use system titlebar?

RawTherapee seems to use a custom titlebar. How do I get it to use the system titlebar?

Can you post a screenshot? It uses the system window decoration on my system.

I’m using Gnome 3.30. Here’s what RT looks like:

Here’s what the titlebar is supposed to look like:

It also doesn’t behave like a normal window decoration. I use a Gnome extension that removes the titlebar for windows that are maximized and it doesn’t remove the RT titlebar.

No, it’s not possible. It depends on the system if you get a native or a custom titlebar. This is GTK related.

I’ve written plenty of GTK+ apps and they all use the same titlebar as all the other Gnome apps (which are also GTK+).

Sounds you can help to solve this issue. Would be very much appreciated.

3 Likes

Shure it would look like Gnome app if you design them as Gnome. On other OS e.g. Windows you’ll get a native titelbar and never get this one from the screenshot since GTK+ 3.22. The titelbar is designd for general use on different OS and not for a special OS. If RT doesn’t show the Gnome titelbar then GTK is not supporting native titelbars on your system.

EDIT: The Windows decoration is done by the theme in a css stylesheet.

Snippet from the TooWaBlue theme

/*** Window Layout ********/
:not(.popup):not(tooltip) > decoration {
    background-color: @winHeaderbar;
    background-image: none;
    border-radius: 0.416666666666666666em 0.416666666666666666em 0 0;
    border: none;
    padding: 0;
    box-shadow: 0 0.25em 0.75em 0.083333333333333333em rgba(0, 0, 0, 0.5), 0 0 0 0.083333333333333333em @bg-dark-grey;
    margin: 0.833333333333333333em;
}
headerbar {
    background-color: shade(@winHeaderbar,1.12);
    box-shadow: inset 0 0.083333333333333333em rgba(200,200,200,.13);
    background-image: linear-gradient(shade(@winHeaderbar,1.14), shade(@winHeaderbar,.86));
    border-bottom: 0.083333333333333333em solid @bg-dark-grey;
    border-radius: 0.416666666666666666em 0.416666666666666666em 0 0;
    min-height: 2.333333333333333333em;
    padding: 0.083333333333333333em 0.416666666666666666em 0;
    margin: 0;
}
messagedialog headerbar {
    min-height: 2em;

    }
    headerbar .title{
        color: @winTitle;
    }

    /* Window state */
    .maximized > headerbar {
        border-radius: 0;
    }

    /* Window in background */
    :not(.popup):not(tooltip) > decoration:backdrop {
        box-shadow: 0 0.25em 0.75em 0.083333333333333333em rgba(0, 0, 0, 0.3), 0 0 0 0.083333333333333333em @bg-dark-grey;
    }
    headerbar:backdrop {
        box-shadow: none;
        background-image: none;
    }
    headerbar .title:backdrop {
        color: alpha(@winTitle,.60);
    }
    /* Titlebar buttons*/

    headerbar button.titlebutton image {
        padding: 0;
        margin: 0;
    }
    headerbar button.titlebutton {
        margin: 0 0 0 0.333333333333333333em;
        background-image: none;
        border: 0.083333333333333333em solid transparent;
        background-color: transparent;
        box-shadow: none;
        min-width: 1.5em;
        min-height: 1.5em;
        padding: 0;
    }
    messagedialog headerbar button.titlebutton {
        min-width: 1.25em;
        min-height: 1.25em;
        margin: 0;
    }
    headerbar button.titlebutton:hover{
        border-color: rgba(0,0,0,.8);
        box-shadow: inset 0 0.083333333333333333em rgba(242, 242, 242, 0.11);
        background-image: linear-gradient(to bottom, rgba(100,100,100,.3), rgba(30,30,30,.3));
        background-color: rgba(128, 128, 128,.20);
    }
    headerbar button.titlebutton:active{
        border-color: rgba(0,0,0,.8);
        box-shadow: inset 0 0.083333333333333333em rgba(242, 242, 242, 0.15);
        background-image: linear-gradient(to bottom, rgba(100,100,100,.3), rgba(30,30,30,.3));
        background-color: rgba(128, 128, 128,.40);
    }
    headerbar button.titlebutton.close:hover{
        border-color: rgba(0,0,0,.8);
        background-image: linear-gradient(to bottom, rgb(180,0,0), rgb(160,0,0) 40%, rgb(130,0,0));
        box-shadow: inset 0 0.083333333333333333em rgba(242, 242, 242, 0.32);
    }
    headerbar button.titlebutton.close:active{
        border-color: rgba(0,0,0,.8);
        background-image: linear-gradient(to bottom, rgb(215,0,0), rgb(185,0,0) 40%, rgb(150,0,0));
        box-shadow: inset 0 0.083333333333333333em rgba(242, 242, 242, 0.4);
    }
1 Like

There is nothing to solve :wink:

What you call system title bar is NOT system title bar: it’s “client side decoration” (CSD: Initiatives/CSD - GNOME Wiki!), that is widely spread among gnome applications. This allow app to draw itself the title bar, to include specific components (tabs, menus…) within.
The title bar used by rawtherapee is the standard window manager title bar: it’s rendering will depend on the window manager you use (gnom, kde, xfce, lxde, mate…)

1 Like

Thanks for the replies. I ultimately found a solution to my problem. I was using a Gnome extension to hide the titlebar for maximized windows. It worked pretty good but didn’t work with RawTherapee. I found a more up to date extension that does work with RawTherapee.

Why don’t you use this button? :slight_smile:
grafik

1 Like