Re: Top of windows too tall and apparently non-adjustable in kde 5.

Subject: Re: Top of windows too tall and apparently non-adjustable in kde 5.

A. F. Cano posted on Sun, 29 Apr 2018 22:49:47 -0400 as excerpted:
> On Sun, Apr 29, 2018 at 06:49:33AM +0000, Duncan wrote:
>> Your reply reminded me...
>>
>> Depending on the selected window decoration, icon-button size may
>> determine titlebar height.
>>
>> The breeze window decoration does have a button size option[1], and
>> when I select it[2], and while setting it "tiny" doesn't seem to do
>> anything,
>
> Mmm... Where would this button size option be? The "Buttons" tab in
> "Window Decorations" only has drag and drop to add/remove buttons. This
> is true of all the themes I've tried so far: Plastik, Breeze, Air Oxygen
> and blacksquare. I've managed to remove the round button on the left of
> the title bar (in blacksquare) by dragging it out and I can't put any
> buttons in it. Clicking on "Defaults" only switches back to Breeze.
Keeping in mind that the plasma system settings UI is undergoing some
changes ATM[1], and I'm running the live-git version so what I see and
describe might not /exactly/ match what you see...
In Window Decorations I see two tabs, theme and buttons.
On the theme/first tab each installed/available windeco theme is listed.
I know the UI has changed a bit here and can't remember the old one
exactly, but on the new one, there's configuration buttons for each theme
directly in the theme's visual mockup, so it's quite apparent each of
these buttons ONLY configures that specific windeco, not the others. As
I said I don't remember the old UI exactly, but I /think/ it had only one
configure-theme button, located near the top, with a dropdown-selector
for the windeco.
In any case, however the UI is laid out, the idea is each windeco has its
own separate configuration dialog. The default breeze windeco and the
kde4 default oxygen windeco each have somewhat complicated multi-tab
config dialogs, while plastik's dialog is rather less complicated, and
most of the others including blacksquare only have a single option in
their dialog, the button size option of interest here.
IOW, all windeco config dialogs have at least the button size option,
with plastik's dialog having a couple other options as well, and breeze
and oxygen's dialog having so many options each that the dialog has
multiple tabs.
But it's this single button size option that all windecos have that's at
interest here. Most windecos appear to have a hard-coded minimum height
configured, with button sizes below that not shrinking the titlebar
further, but those above it increasing the titlebar size.
And while most windecos seem to have that hard-coded minimum height set
to normal/medium, so smaller button sizes don't reduce the titlebar
height further but larger ones increase it...
For blacksquare at least, either it has no such hard-coded minimum, or
that minimum is set to the smallest "tiny" button size. So it's possible
to get blacksquare's titlebar height far shorter than the others, because
it continues shrinking with the tiny button size, while most won't shrink
below the height at normal/medium button size, even when set to tiny!
As for that button you removed, that configured on the second/buttons
tab, and the setting should apply no matter which windeco is chosen. You
should be able to drag buttons between the displayed "fake" titlebar and
the display of all possible buttons below it. To get that button back,
then, you /should/ be able to simply drag it from the lower icon
section, back up to the fake titlebar, which after hitting apply should
have it show up on the real titlebars as well (tho some buttons won't
show up all the time, context help, for instance, only shows up in plasma/
kde/qt-based app windows with context help available).
Also note that on this fake titlebar, you can reorder buttons as well as
move them from one side to the other.
> Yea for blacksquare! It has the narrowest title bar I've found so far.
> Too bad it cannot be configured by color, but then it wouldn't be
> /black/square :-)
>
>> short. The only config option it has is button size, but with that set
>> to tiny, it really does reduce the titlebar height from normal, giving
>> me one of the shortest titlebars of any I've tried, which in turn means
>> more room for actual window content. =:^)
>
> That's the idea, but where is this option? From the package manager I
> gather I have kde-plasma-desktop 5:92 (Debian 9.4) and from the "help"
> menu in konsole I see that the KDE Frameworks is 5.28, Qt 5.7.1. Maybe
> in this version the button size doesn't exist yet.
I believe it exists, but it's in the individual windeco configuration
dialog, and the button for that has moved around a bit recently, as I
explained above. Unfortunately that means I can't tell you exactly where
to find it on your version, but it should be there.
>> The effect is enough that if I were seriously put off by the color or
>> other elements of the windeco, I might actually try hand-editing its
>> config files to change them, or alternatively, try hand-editing other
>> windeco's files to get the shortness of BlackSquare with tiny buttons,
>> but as it happens, I'm OK enough with the color and etc not to bother.
>
> In what config files could I find these options?
Here I'm talking about the hard-coded options that are part of the windeco
theme itself. Basically I'd hand-edit the windeco theme itself, creating
a custom windeco different from whatever was originally shipped. For
windecos downloaded from the kde/plasma store, these would be the windeco
files as found in your user config where they were placed by the
download. For "native" decos shipped with plasma itself, they'd be in
the system location.
For windecos I've not actually looked into the specifics, tho I have hand-
edited other elements like the colors and opacity of various "desktop
themes" I've downloaded before, when they were almost, but not quite what
I wanted. This was in the kde4 era, but the same general idea should
apply today, to the windeco themes.
Actually looking at it now, it appears the blacksquare theme is aurorae-
based[2], with the archive as downloaded unpacking at installation to (my
path is customized via environmental var settings but I /think/ this is
the generic one...) ~/.config/share/aurorae/themes/BlackSquare . There's
several svg[3] images as well as a metadata.desktop file and
BlackSquarerc, a text-based rc/config file.
By hand-editing that BlackSquarerc file and/or switching out the svgs, I
could change elements of the windeco, effectively forking it from what
was originally shipped, customizing it to my liking.
If I wanted (and the license on the original blacksquare windeco
permitted it, I'd obviously need to verify that first), I could upload my
tweaked version back to the kde/plasma store and/or kdelook.
Of course I could instead alter some other windeco, changing whatever
setting it had, presumably TitleHeight in this case, if it were otherwise
closer to what I wanted than blacksquare was, and thus it was easier to
alter a setting or two from it, than more settings in blacksquare.
But as I said, while not "perfect", blacksquare is "good enough" that
I've not bothered, and I actually looked up more of the details for this
post than I knew before. But it's easy enough to change the otherwise
"hardcoded" options, if I were sufficiently motivated by dislike of some
specific setting or other...
---
[1] The plasma guys are rewriting the plasma systemsettings UI using
kirigami, the mobile/convergent widget/UI framework first used for plasma-
mobile, and qtscript, replacing the older direct C++-coded kcm/
kcontrolpanel-modules. The new UI handles both touch and conventional
mouse input and is targeted at plasma-wayland first, while still
supporting plasma-x11 without as much porting effort, basically the
reverse of the old way which obviously targeted x11 first and has to be
ported to wayland.
[2] Aurora: I'm not a windeco theme author and don't know the specifics,
but based on what I've gathered from author comments when browsing
windecos on the kde/plasma store and the old kde4-era kdelook website,
plasma has several windeco "engines" available, including the complicated
ones used for breeze and oxygen, and aurora, a much simpler windeco
engine designed to make customized themes easy! Based on my browsing,
most of the custom windeco themes in the plasma store are in fact aurorae-
based, with some specifically mentioning that fact while others don't.
That's not incredibly surprising if as I've gathered, aurorae was
specifically designed to allow users to design and ship their own custom
windeco themes. I /think/ there's actually another windeco "engine"
available in the store as well, a bit more complex than aurora but
nothing like the complexity of the breeze/oxygen engines, with a few
themes that are designed for it and at least partially broken without it,
as I've tried some of those windecos without having that engine and found
they /were/ broken, but I'm not sure exactly where that engine is or how
many windecos are available for it as I only got the broken-without-it
windecos by accident, not fully understanding what I was missing that I
needed.
[3] SVG: Scalable vector graphics. These allow images to scale far more
cleanly than raster/bitmap images.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman