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