elementary / switchboard-plug-pantheon-shell

Switchboard Desktop Plug
GNU General Public License v3.0
34 stars 24 forks source link

Restore minimize current window hotcorner in juno #125

Open arshubham opened 6 years ago

arshubham commented 6 years ago

I am missing this functionality a lot. Was there a reason this was removed?

Edit: Number of people missing these feature (123) crossed those who don't use it (108) at the time of this edit. https://plus.google.com/+ShubhamArora11/posts/V2PWUMP51UT :fireworks:

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/60464994-restore-minimize-current-window-hotcorner-in-juno?utm_campaign=plugin&utm_content=tracker%2F57462545&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F57462545&utm_medium=issues&utm_source=github).
moonmehta commented 6 years ago

If a custom keyboard shortcut can be set to a corner, that would work too since "Super + H" minimizes a window currently.

pavlepiramida commented 6 years ago

Yeah it would be awesome if they brought back minimize on hotcorner. In the mean time you can use xdotool to emulate it.

Set execute a custom command: xdotool key --clearmodifiers super+h

This is not a solution,but a workaround. I really hope they bring this one back from the dead!

ryonakano commented 6 years ago

This is because elementary is trying to move away from Minimize. See #97 and https://elementary.io/docs/human-interface-guidelines#closing if you need.

arshubham commented 6 years ago

@ryonakano And I am fine with that decision but a hotcorner stays out and needs to be manually enabled. Untill plank gets better at handling multiple window of same apps, I believe it should be there at least as an option. Even if elementary apps move away from it there are many non elementary apps which use it as integral part in their design.

ryonakano commented 6 years ago

Even if elementary apps move away from it there are many non elementary apps which use it as integral part in their design.

@arshubham Surely, that's a fair point :thinking:

carniz commented 6 years ago

If the intention is/was to replace "minimize current window hotcorner" with clicking the icon of the app in the dock, here is an real-life example why that isn't such a good idea:

Launch the (non-elementary-native) Slack app, and start a call from within Slack. This will open 2 additional windows, which means that you will have 3 windows in total: the main window of the app itself, the call window, and a call mini panel. All these windows will be grouped by the same icon in the dock, so you now only have the choice of minimizing all of them, or restoring all of them by clicking on the Slack icon in the dock. I was in a Slack call this morning and in order to see what was written in a channel in the main Slack window I needed to minimize the call window since it was covering the main window. Closing the call window would end the call (and I didn't want to leave the call), and clicking the dock icon either minimized or restored all Slack windows.

Long story short: as long as there will be non-native elementary apps (such as Slack), we need to support non-native apps. And windows of non-native apps need to be minimized every now and then - it's that simple.

carniz commented 6 years ago

After additional consideration, I think the reason for removing the hotcorner action is a misunderstanding of the HIG. Quoting:

These guidelines are designed to help developers and designers create a beautifully consistent experience on the elementary OS desktop. They were written for interface designers, graphic artists and software developers who will be working on elementary OS. (https://elementary.io/docs/human-interface-guidelines#human-interface-guidelines)

In other words: the HIG just states the recommended workflow for native elementary apps, i.e. how native apps should react when the user clicks the close button. That does not mean that there should be no possibility to minimize apps: it just states that apps should save their state when they are closed, as if they would have been minimized. I assume that the purpose is to provide a pleasant experience when using native elementary apps - an "optionally great" experience if you so will, by means of letting the user start exactly where you left off - without annoying the user who has to (or wants to) use non-native elementary apps.

Another reason for putting back the minimizing hotcorner action is that without minimizing, elementary will not really be a multi-tasking OS. It will turn into a singe-tasking OS where you work with 1 app at a time, i.e. it won't support starting an app that performs a long-running calculation (such as ray-tracing, simulation, ML, slow download) or similar task and minimizing it while e.g. surfing the web or looking at photos. With that logic, ALT+TAB should also be removed since it also allows you to put an application in the background.

And as stated earlier: not all apps are native apps. I personally rely on IntelliJ for my daily work, and starting IntelliJ takes about 30+ seconds on my Dell Precision 5510 with 16GB RAM, an I7 CPU and a fast SSD disk. There are indexes to be updated, workspaces to be restored, files to be scanned, etc. It will never be a native app that starts in 1 second, and I can't afford to close it (and restart it) every time I need to switch to another application for some time.

I (and probably many others) really like the "saved state" idea of elementary apps - that's one of the "optionally great" things with the native apps - but we can't force the rest of the apps in the world to be re-written for elementary. elementary OS has the best, slimmest, cleanest desktop environment in the Linux world - and many of us don't want to use anything else for running our non-native apps. Don't force users to look for alternatives.

carniz commented 6 years ago

screenshot from 2018-10-25 16 33 08 2x

Another example of why "close instead of minimize" doesn't work so well (in this example even using the elementary native terminal app): when starting an app from the terminal (in this case a trial version of the Hiri mail+calendar app), the HIG states that the user should click the close button when "they're done using it for now and they want to get it out of the way". In this example, I let the process run in the foreground, so the terminal warned me that closing the terminal would also end the process. As a user, I thus had to leave the terminal open even though I was done using it and wanted to get it out of the way. When starting the process in the background (adding '&' to the command), the terminal doesn't warn about ending the process and the process of the app started from the terminal will just simply quit (to big surprise for unexperienced users).

In short, I think the HIG needs to reconsider the "close instead of minimize" approach. Saving the state upon closing is a Good Thing(TM), but not providing a means of minimizing windows has serious limitations and should be reconsidered.

carniz commented 5 years ago

For re-enabling hot corner minimize (without using xdotool), run dconf write /org/pantheon/desktop/gala/behavior/hotcorner-bottomleft "'minimize-current'" (note the single quotes inside the duble quotes around minimize-current)