https://bugs.kde.org/show_bug.cgi?id=405450

            Bug ID: 405450
           Summary: Extend Maximize/Restore action into a tri-state
                    Maximize/Restore/Minimize action
           Product: kwin
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: wishlist
          Priority: NOR
         Component: scripting
          Assignee: kwin-bugs-n...@kde.org
          Reporter: pmarget...@gmail.com
  Target Milestone: ---

PROPOSAL:
Please change the System settings -> Window management -> Window Behavior ->
Titlebar Actions -> Maximize/Restore action into a Maximize/Restore/Minimize
action

ALTERNATIVE:
Currently it's not possible to implement something like this via KWin scripting
since there is no signal for "when you scroll over the titlebar". There isn't
even a generic "mouse operation" or "wheel operation" signal on titlebar.
If we had a signal to connect to, we could easily switch between the 3 states
using something like:

client.titlebarWheel.connect(function(delta){
    // prevent default action somehow.

    if (delta > 0) { // scroll up
        if (!client.maximized && !client.minimized) {
            client.maximized = true
        }
    } else if (delta < 0) { // scroll down
        if (client.maximized && !client.minimized) {
            client.maximized = false
        } else if (!client.minimized) {
            client.minimized = true
        }
    }
})

RELATED:
the client.maximized does not exist currently as KWin has a complicated
MaximizeMode enum that can be MaximizeVertical, MaximizeHorizontal,
MaximizeFull (what a normal user considers "maximized"), and MaximizeRestore
(not maximized). Since it was a complicated enum property, it seems nobody ever
implemented a simple bool maximized property
SEE: https://bugs.kde.org/show_bug.cgi?id=387097

NOTE:
This bug from 2003 with the same wish was solved in 2005, but seems we've
dropped that code... 
SEE: https://bugs.kde.org/show_bug.cgi?id=66519

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to