Bug 399308 - Add the ability to display the Close/Min/Max buttons and App name on the global menu
Summary: Add the ability to display the Close/Min/Max buttons and App name on the glob...
Status: RESOLVED INTENTIONAL
Alias: None
Product: plasmashell
Classification: Plasma
Component: Global Menu (show other bugs)
Version: master
Platform: Other Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Kai Uwe Broulik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-02 15:18 UTC by trmdi
Modified: 2023-05-16 22:52 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description trmdi 2018-10-02 15:18:39 UTC
The Active Window Control widget has been working very well. But it has had some bugs recently. It seems that it has been dropped by the author. He hasn't replied anyone for a long time.

So I hope you will add the ability to display the Close/Min/Max buttons and App name on the official Global menu widget. Like this: https://i.imgur.com/JrgPZNB.png

Thank you!
Comment 1 Michał Dybczak 2018-10-02 15:43:22 UTC
I also vote for this.

I think that the full scope of AWC features is required for well-working global menu setup.
AWC developer seems to be dormant lately. He also never updated AWC versions in other places outside Github (opendesk/kde store, system repositories), which causes issues for many users, because the only Github version is working fully.

Porting AWC features to Plasma's global menu widget would ensure proper functionality and availability needed features. Global menu alone is just not functional. This is a sin of most DEs (only Unity did it right) and in Plasma AWC fixes that lacks which gives use second best global menu implementation in Linux. However, with the lack of activity from AWC developer, we are worried this project is endangered.

Here is how AWC works with latte:

https://www.youtube.com/watch?v=bYyopl4ReTg&t=4s
Comment 2 avlas 2018-10-02 17:25:49 UTC
I second this request. 

For the case it may be of interest, I modified the Active Window Control applet as follows:

1. I made an applet that basically displays the application name.

2. I made an applet that, in addition, includes plasma's offcial global menu.

Not really using the second because of bug (https://bugs.kde.org/show_bug.cgi?id=398357). In brief, I'd like the app name and the all menues to appear in sync, but that's not even the case in the global menu.

There is also this other bug (https://bugs.kde.org/show_bug.cgi?id=398360) that will be great if fixed. In brief, global menu stays after windows lose their focus, i.e. focus on plasmashell, which shouldn't be very difficult.

[As a side note, with respect to buttons, I still use the AWC applet to only show the buttons at the right corner and only for maximized windows, so I combine the functionality I want with my application name applet, plasma's globalmenu and buttons from AWC applet]
Comment 3 avlas 2018-10-02 17:29:42 UTC
(In reply to avlas from comment #2)

> There is also this other bug (https://bugs.kde.org/show_bug.cgi?id=398360)
> that will be great if fixed. In brief, global menu stays after windows lose
> their focus, i.e. focus on plasmashell, which shouldn't be very difficult.

Forgot to say in this context that this bug makes it difficult to show fully coherent information between the application name and plasma's global menu. There are situations that either show the globalmenu with no app name, or the opposite.
Comment 4 Michał Dybczak 2018-10-02 17:39:22 UTC
(In reply to avlas from comment #3)
> (In reply to avlas from comment #2)
> 
> Forgot to say in this context that this bug makes it difficult to show fully
> coherent information between the application name and plasma's global menu.
> There are situations that either show the globalmenu with no app name, or
> the opposite.

I don't have this issue with AWC. I have such setting that app name shows on the left of the global menu which are dynamically positioned depending on the showed name (or window name - which tends to be longer). If the name is too long, it gets cut to "..." signs so the menu won't go over systray. Such settings work great IMO.

AWC is incredibly hard to set up properly and requires a lot of trial and errors but the effect can be awesome once one finds the right combination.

My issue with AWC is that global menus on firefox and thunderbird (with unity appmenu patches) are bugged and need some special actions to get them working. Native Plasma's global menu widget don't have that issue. This is first time I saw a difference in working between AWC and native global menu widget.
Comment 5 avlas 2018-10-02 17:47:08 UTC
(In reply to Michał Dybczak from comment #4)

> I don't have this issue with AWC. I have such setting that app name shows on
> the left of the global menu which are dynamically positioned depending on
> the showed name (or window name - which tends to be longer). If the name is
> too long, it gets cut to "..." signs so the menu won't go over systray. Such
> settings work great IMO.

Well, that's not really what I meant. Dynamic space appears just fine here. What I meant is about a (short but perfectly visible) latency in how the different menues are displayed. In other words, they do not appear all at once.

Also the bug is against the official plasma globalmenu applet, not against AWC applet. AWC is currently way behind in terms of globalmenu experience, as you said and as it can be seen in the issue I reported at github (https://github.com/kotelnik/plasma-applet-active-window-control/issues/146)
Comment 6 avlas 2018-10-02 17:54:08 UTC

(In reply to avlas from comment #3)
> (In reply to avlas from comment #2)
> 
> > There is also this other bug (https://bugs.kde.org/show_bug.cgi?id=398360)
> > that will be great if fixed. In brief, global menu stays after windows lose
> > their focus, i.e. focus on plasmashell, which shouldn't be very difficult.
> 
> Forgot to say in this context that this bug makes it difficult to show fully
> coherent information between the application name and plasma's global menu.
> There are situations that either show the globalmenu with no app name, or
> the opposite.

I think you were referring to the other issue, sorry I got confused. What I meant in this context is that there are scenarios where the menu stays while the focus is on plasmashell, so the app name is not consistent with the menu (plasma's fault in my opinion). If one tries to enforce the application name to stay even when it loses focus against plasma, then there are situations where the application name doesn't get replaced once another window gets focus.

In summary, it all gets messed up because the globalmenu is not disabled when a window loses focus against plasmashell.

This didn't happen in AWC applet, indeed because it disabled the menu, and that piece is missing in plasma's globalmenu at the moment. This is what https://bugs.kde.org/show_bug.cgi?id=398360 is about.
Comment 7 avlas 2018-10-02 18:05:45 UTC
(In reply to avlas from comment #6)
 
> In summary, it all gets messed up because the globalmenu is not disabled
> when a window loses focus against plasmashell.

To be fair, it's not all really messed up, it works most of the times, with the following exception (depending on the setting, one ends up with one or another):

- no app name with menu enabled (when the app loses focus against plasma)
or 
- app name displayed without the menu when last window is closed

Currently I chose the second workaround as it happens less frequently in my workflow.
Comment 8 avlas 2018-10-19 16:56:07 UTC
(In reply to avlas from comment #2)

> I second this request. 
> 
> For the case it may be of interest, I modified the Active Window Control
> applet as follows:
> 
> 1. I made an applet that basically displays the application name.
> 
> 2. I made an applet that, in addition, includes plasma's offcial global menu.

If you want to take a look, I uploaded (1) to github https://github.com/kupiqu/plasma-active-application and KDE Store https://store.kde.org/p/1269296 [I could add (2) as well if interested]
Comment 9 Michał Dybczak 2018-10-19 21:52:50 UTC
AWC seems to be a KDE project now (ut has own bug section) so it's possible it will be taken over sooner or later. I talked with Latte developer and he was interested in it and had ideas on how to integrate AWC with Latte better so if things won't change, someone will take it further.
Comment 10 trmdi 2018-10-20 07:51:56 UTC
This and that: https://bugs.kde.org/show_bug.cgi?id=399757 should be "fixed" at the same time.
Comment 11 trmdi 2018-10-20 08:01:05 UTC
@psifidotos, Zren:

You should start from the official global menu instead of AWC.
Comment 12 Michail Vourlakos 2018-10-20 08:10:44 UTC
(In reply to trmdi from comment #11)
> @psifidotos, Zren:
> 
> You should start from the official global menu instead of AWC.

why?
Comment 13 trmdi 2018-10-20 08:20:47 UTC
(In reply to Michail Vourlakos from comment #12)
> (In reply to trmdi from comment #11)
> > @psifidotos, Zren:
> > 
> > You should start from the official global menu instead of AWC.
> 
> why?

Because it's the official one that comes with Plasma, users don't have to install AWC seperately and it still has been maintained by other KDE devs.

AWC's part for the global menu seems to be a fork of an older version of official global menu and has some bugs.

We should focus on one thing and make it better.
Comment 14 Michail Vourlakos 2018-10-20 08:44:59 UTC
(In reply to trmdi from comment #13)
> (In reply to Michail Vourlakos from comment #12)
> > (In reply to trmdi from comment #11)
> 
> Because it's the official one that comes with Plasma, users don't have to
> install AWC seperately and it still has been maintained by other KDE devs.
> 
> AWC's part for the global menu seems to be a fork of an older version of
> official global menu and has some bugs.
> 
> We should focus on one thing and make it better.

sorry I do not agree. Plasma community is not functioning this way. Adding new features in things is so difficult and needs so much back and fourth that takes too much time, in the end there could be a disagreement between community members in the feature itself so in order to not disrupt the dev community, features are not added.

In my understanding, a pragmatic way to approach this is different. Plasma in most of its parts is following UNIX philosophy, "do one thing and do it well". Latte of course does not fall in that category and so does AWC, and that is ok with me actually, plasma code quality and semantics must be at the highest degree always.

An example of this is: https://phabricator.kde.org/D15814

even though it has a green light, I dont commit it because I dont feel from the discussion that it has the degree of quality that it needs to.


So what can be done?
I propose different plasmoids:
1. A plasma plasmoid for global menu (that already exists, and we just need to maintain it)
2. A plasma plasmoid for active window title that could provide some basic options for its style and what it would show when there isnt an active window
3. A plasma plasmoid for active window titlebar buttons. This is absolutely possible as demonstrated at: https://bugs.kde.org/show_bug.cgi?id=399757
4. A plasma plasmoid separator e.g. a line. That could have some options in its criteria when to show.
Comment 15 trmdi 2018-10-20 08:51:10 UTC
Ok, so we should maintain both the official Plasma global menu and AWC. Thanks for your explaination.
Comment 16 trmdi 2018-10-20 09:04:10 UTC
(In reply to trmdi from comment #15)
> Ok, so we should maintain both the official Plasma global menu and AWC.
> Thanks for your explaination.

I've already thought about that ability... ;-)
Comment 17 Michał Dybczak 2018-10-20 09:24:47 UTC
(In reply to Michail Vourlakos from comment #14)
> 
> In my understanding, a pragmatic way to approach this is different. Plasma
> in most of its parts is following UNIX philosophy, "do one thing and do it
> well". Latte of course does not fall in that category and so does AWC, and
> that is ok with me actually, plasma code quality and semantics must be at
> the highest degree always.
> 
> An example of this is: https://phabricator.kde.org/D15814
> 
> even though it has a green light, I dont commit it because I dont feel from
> the discussion that it has the degree of quality that it needs to.
> 
> 
> So what can be done?
> I propose different plasmoids:
> 1. A plasma plasmoid for global menu (that already exists, and we just need
> to maintain it)
> 2. A plasma plasmoid for active window title that could provide some basic
> options for its style and what it would show when there isnt an active window
> 3. A plasma plasmoid for active window titlebar buttons. This is absolutely
> possible as demonstrated at: https://bugs.kde.org/show_bug.cgi?id=399757
> 4. A plasma plasmoid separator e.g. a line. That could have some options in
> its criteria when to show.

I don't think that Unix philosophy is applicable to modern day desktop systems. What we associate with Linux is freedom and lots of choices (also fragmentation) and that destroyed completely Unix motto. Desktops are complex things.

In a way, compartmentalizing things is important for order and good management so each part may be focusing on doing its thing the best, but a contemporary, average project is past way this "one thing done right" anyway.

Also, from a user perspective, I prefer to have all things in one place instead of being divided and separated. This is also a difference between mature and big commercial projects and many small Linux projects. Linux often feels inconsistent because each project is separate and we build a bigger piece out of it. So here and there, things are out of place and lack of consequences.
If a huge project is more complex, bigger and managed by one team, it's easier to have more coherent behavior, look and thus maturity and intuitiveness. Of course, those bigger projects must be founded and managed. Small, free community projects are staying divided and bit chaotic.

I like to have one widget/tool to manage those panel and window elements instead of having various parts. For one, global menu from AWC is cooperating with other parts (buttons and titles) so it can dynamically change place. If I turn off AWC's global menu and use system global menu, it stays static in one place and the whole is just dead, unresponsive, limited.

This is also the reason that I endure older and bugged implementation of global menus in AWC instead of using better working system one.

So the question is if we had those various widgets, could we make them behave as one unity with options that are governing a behavior across the parts that are not part of that single widget?

I don't think it would be intuitive to have in one widget an option to set behavior against another one. If we maintain a single widget that does it all, like AWC, this is very possible.

In general, AWC is awesome. It needs only an update and a bit cleanup and UI improvements. Finding out working settings is a pain because many combinations don't make sense and produce a gibberish result. That's the main issue with AWC and that should be improved. However, I prefer to have this hardship and still have options, instead of dumbing it down to easier manageable but limited result.

This is a KDE/Plasma long-term user speaking here. Although simplifying is a good thing, we still prefer to have options, even if it would create some confusions. With time, confusing elements can be made more intuitive, but having no option leaves us with a dead place. We already have it in Gnome and we don't want Plasma to go that way. The reason Plasma is the way it is, because of options. It is its greatest strength but also a weakness and that is what we love about Plasma.

So AWC is great and although it can be improved, I would prefer to have a complex widget with all in one settings. It doesn't matter if we change a name after forking it, but forking it and creating a mess of many confusing, new widgets don't seem to be a helpful or nice idea. We already have enough fragmentation so we love to have bigger projects that stay consistent.

Compartmentalization is good if it's done on an organizational level, not on a user level!
This by the way why we have DEs. Having one bigger project is better from a usability point of view. If Unix motto was useful in many cases, we all would stay on Openbox, i3 like setups and Windows wouldn't be a thing.
Comment 18 avlas 2018-10-20 12:22:58 UTC
> plasma code quality and semantics must be at the highest degree always

I agree and second that

> So what can be done?
> I propose different plasmoids:
> 1. A plasma plasmoid for global menu (that already exists, and we just need
>  to maintain it)
> 2. A plasma plasmoid for active window title that could provide some basic 
> options for its style and what it would show when there isnt an active window
> 3. A plasma plasmoid for active window titlebar buttons. This is absolutely 
> possible as demonstrated at: https://bugs.kde.org/show_bug.cgi?id=399757
> 4. A plasma plasmoid separator e.g. a line. That could have some options in 
> its criteria when to show.

I like and very much agree with the simplicity argument, it's in fact what I'm currently doing within a latte dock, using my active application plasmoid (https://github.com/kupiqu/plasma-active-application strongly derived from AWC) and the official global menu side by side, while AWC buttons appear on the opposite right corner only on maximized windows.

However I see a cons, having two different plasmoids for name and menu will not be totally polished in my opinion. For instance, it won't resolve the latency in the appearing between the name and the menus. Note that it is not currently resolved for the appearing of the different menues in the official global menu plasmoid itself, but it could. Please see: https://bugs.kde.org/show_bug.cgi?id=398357

In the end that issue made me stop integrating the name and the menu within a single plasmoid, because until bug #398357 is not fixed, there is no much of a point.
Comment 19 avlas 2018-10-20 12:26:06 UTC
(In reply to avlas from comment #18)

> In the end that issue made me stop integrating the name and the menu within
> a single plasmoid, because until bug #398357 is not fixed, there is no much
> of a point.

I meant: ... until bug #398357 *is fixed* ...
Comment 20 Michail Vourlakos 2018-10-20 14:11:57 UTC
(In reply to Michał Dybczak from comment #17)
> (In reply to Michail Vourlakos from comment #14)
> > 

Just to be more clear. My statement was not about abandoning AWC, my statement was about the need of maintaining both (plasma global menu and AWC). But just like Latte I dont think AWC could be accepted as a plasma project. Both Latte and AWC as kde projects are ok I think.

So my statement is, if AWC has bugs then being a kde project a fork is not needed. kde developers can help maintain it if there is a need for this.

To be more clear, kde developer and plasma developer are two totally different things.

My statement also was about the need in official plasma for three new plasmoids that could help the official global menu applet experience to be improved.

that's all...
Comment 21 Nate Graham 2023-05-16 22:52:05 UTC
If AWC does this, then folks who want it should use AWC.

If AWC is abandoned by its developers, simply moving it into Global Menu isn't going to help the situation. In fact Global Menu itself is already pseudo-abandoned and sees very little to no development.