Tweaking themes to save space on the screen top

Ah yeah forgot to deactivate that in screenshot. The window title is right beside the activities button

The idea is that the window’s title is merged in the top bar, so the app menu name becomes the window tile name and the controls move on the top bar as well.

About the current configuration of the Yaru theme, yes, the title bars of classic apps are slightly thinner than CSD, but not thin enough anyway. And having this extension allows to save even more space on small screens.

In this screenshot you can see the difference between having the title bar or not in the terminal. For me it means to have three extra lines for coding (using Ubuntu mono 12 with 0.91 font scaling).

P.S. If you are wondering about the font scaling, it is again to save space.

Without font scaling:

Is this something that is being considered? Seems like it would break the UI/workflow as the window controls (minimize, restore, and close) shift around. Not ideal at all. If this is something that would be considered, then the window controls need to be moved back to the left a la Unity.

1 Like

No it was just an idea.
Not considered by anything canonical.

I agree it would need improvement before using this by default.

I am basically only excited about how much space I safe in max window mode and thus using this extension since 17.10 (pixel saver before but that one wasn’t updated in some time so I switched to no title bar)

Personally I can live with window buttons moving around if it’s such a space safer but I agree that it might not be for everyone currently.

Is this still being considered?

In ~/.config/gtk-3.0 there is a .css file just for that (and some other) configs the user can add locally. I’ve played with it for awhile but don’t have time and need for it right now, but if you like you can do something with the prototype I have :

window.ssd headerbar.titlebar {
min-height: 00px;
padding-top: 0px;
padding-bottom: 0px;
}

window.ssd headerbar.titlebar button.titlebutton {
min-height: 00px;
padding-top: 0px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
}

headerbar {
min-height: 00px;
padding-left: 0px;
padding-right: 0px;
}

headerbar entry, headerbar spinbutton, headerbar button, headerbar separator {
margin-top: 0px;
margin-bottom: 0px;
padding-top: 0px;
padding-bottom: 0px;

}

.default-decoration {
min-height: 00px;
padding: 0px;
}

.default-decoration .titlebutton {
min-height: 00px;
min-width: 00px;
padding: 0px;
}

Just a general idea…

Cheers!

1 Like

Hey, @mozit is there any way to make such a modification only for Yaru and not apply that to every other theme? I would really like a variant of Yaru which has wide headerbars but tight titlebars (like it is on Mac).

In general, I still think that when you’re working your whole day on 3rd party apps like PyCharm or Visual Studio, having such a wide titlebar that only displays the app name is not very functional, and I keep questioning whether consistency is so much important to sacrifice space on the top of the screen.

For people like me, that use a laptop most of the day, the top part of the screen is one of the most salient but with the current design it’s like having only 6/7 of my screen.

Custom solutions are fine, and few hacks are welcome to me. But I think I’m not the only one to complain about that. Again, I think the Mac example is the most appropriate in this case.

What follows is a screen of the release of Disco Dingo which still shows the issue:

image

No, actually the thickness in traditional apps is the same as CSD ones. Actually this is what this thread was originally about. To make them thinner.

IIRC, Pop!_OS is doing something like this, right? Wouldn’t it be possible to adapt it?

1 Like

I personally use the Unite extension to emulate what unity did on full-screen apps (merging the window decoration into the top panel). This alone saves TONS of space on apps without CSD.

I did something similar too, also using Extended Panel Menu and tweaking the decorations back on the left.

I think it would be great to have some easy way to achieve this configuration in an easy way, maybe one day I’ll make a script to setup all of this in a single command.