Created attachment 59272 [details] minimize actions conceptual image Version: 4.6 (using KDE 4.6.0) OS: Linux I would like to propose some additional actions for the minimize button on mouse clicks (such as those that exist in Window Behavior for maximize button) In a similar fashion to maximize we could have the following behavior: - Left click on minimize -> normally Minimize to the taskbar. - Middle click on minimize -> compact Minimize to the taskbar. (taskbar estate saver!) - Right click on minimize -> Minimize to system tray (given the app supports it) To give you an example check the conceptual image attached. Would anyone like this? Got few more ideas for the close button, should you be interested. Reproducible: Didn't try
Sorry but i don't think this is possible. "compact Minimize" means the task grouping feature i assume? That's a taskbar (implementation) internal trick - we'd _at_least_ need to introduce a window property to hint such request (and it would then only work with plasma but not other docks unless they'd adapt this) "Minimize to system tray" is completely impossible since the system tray usage is an application internal feature and requires some implementation inside the application. The best one could do here again was to add a secondary taskbar (using only small icons) and introduce another window property (or extend the other newly introduced property) No idea whether that's somehow worth it (but then, i believe that taskbars are stupid relicts from the last decade ;-) Assigning to plasma and cc'ing kwin.
Hi Thomas. Let me start from "Minimize to system tray". What I meant is not to reimplement minimizing to tray, but to allow for assigning the existing behavior of clicking on a tray icon. ie. When you click Amarok's icon in systray, it minimizes to tray with NO taskbar icon. The same could happen if I right click on the minimize button, so instead of having to go to systray to click (to minimize with no taskbar) that could be done from the minimize button. So it is all about sending the same message from the minimize button. If systray minimization is implemented for the app, go ahead and minimize to tray, if not, do nothing. If it nevertheless requires as new window property to accomplish that, let it be, noone will blame you :) For the "compact Minimize". Actually I was not talking about grouping, but a more compact representation of the taskbar button, but thinking further about it maybe it would be better to have a separate plasmoid that could forcibly hide a taskbar button from the taskbar and show it in a more compact way in it. Finally a noob question (excuse me if I am way off): Would it be feasible to be able to customize decoration buttons to use/send DBUS messages so as to able to define totally custom actions to them? Probably allow for custom buttons to be added easily, maybe adding a new "decoration buttons theme" that could provide different actions for window decorators' buttons? Anyway thank you for you time!
(In reply to comment #2) > If it nevertheless requires as new > window property to accomplish that, let it be, noone will blame you :) No, this would be up to the client (QSystray or KNotificationItem). It can easily intercept the minimization and turn it into a close-to-systray (what btw. already happens but for the close event. You're aware that you can "minimize-to-systray" by hitting the close button, are you?) > For the "compact Minimize". Actually I was not talking about grouping, but a You mean like "some tasks should ahve icon and text an others only an icon"? Sounds like a job for a ruling list in the taskbar plasmoid then (since usually only the user will know what he wants small and what not yesno?) > Finally a noob question (excuse me if I am way off): Would it be feasible to be > able to customize decoration buttons to use/send DBUS messages so as to able to > define totally custom actions to them? Afair QtCurve already does this, but calls itself (ie. the style) In general it's no big deal (for a window decoration plugin - it has to layout & paint the button) to add any kind of button triggering any kind of action, but i guess you're asking for sth. that allows interaction between the titlebar and the managed client (application window, like a play/pause button for amarok etc.) - the latter would requre some sort of protocol, supported by client and WM (the application has to tell the WM what kind of button to add and what to call for it)
1) Yes I am aware that I can send to tray with close button but I generally prefer not to use it, so I can keep the habbit of using the X button just for closing the app. I just think being able to assign it to the minimize button (right click) could make more sense (to some people) since it doesn't really close the application. 2) Exactly that! But I am afraid as you previously said that would require a seperate property to be coded in. Much like Show to all desktops. Seems like a big fuzz for a small thing finally. 3) Two possibilities: a) Just like the Amarok example you gave. The application would be able to place buttons on the Titlebar. b) Maybe, at some point in the future there could be something like "Titlebar Plasmoids" to allow unlimited customization. eg. Extra buttons (duplicate window, move to desktop, etc), Menu bar plasmoid (so as to integrate the menu with the titlebar), Status bar plasmoid, grouping plasmoid (I know current titlebar grouping exists) etc. I just wish I could learn c++/qt overnight to be able to give something back to you guys (albeit not for the features I want). I am learning though. Thank you again.
Hello! This feature request was filed for KDE Plasma 4, which reached end-of-support status in August 2015. KDE Plasma 5's desktop shell has been almost completely rewritten for better performance and usability, so it is likely that this feature request is already implemented in Plasma 5, or is no longer applicable. Accordingly, we hope you understand why we must close this feature request. If the requested feature is still desired but not implemented in KDE Plasma 5.12 or later, please feel free to open a new ticket in the "plasmashell" product after reading https://community.kde.org/Get_Involved/Bug_Reporting If you would like to get involved in KDE's bug triaging effort so that future mass bug closes like this are less likely, please read https://community.kde.org/Get_Involved#Bug_Triaging Thanks for your understanding! Nate Graham