implement "minimize or overview" with only current app windows
or "Application Spread" as it was called back with Unity7.
https://user-images.githubusercontent.com/4941802/172016701-2032f8a2-2ebb-4f8e-b955-8347873a3661.mp4
This is a manual rebase of #519, which is by now almost exactly 3 years old. I also slightly reduced changes to appIcons.js. I hope it is enough for @micheleg to review this..
@3v1n0
@3v1n0 @micheleg
@3v1n0 @micheleg
I've been giving a look to this, but it would need some extra efforts to support 3.38, sadly :-(
One quick change is the removal of the tweener.
done. Is there anything else? I am currently on Ubuntu 20.04 and cannot test with latest Gnome. But you can to push to this branch on my repo directly if you find something.
@3v1n0
@3v1n0 @micheleg
I tried to run this on 3.38 but I get some errors:
JS ERROR: TypeError: windowActor.get_meta_window is not a function
show/this.destroyWindowId<@/home/michele/.local/share/gnome-shell/extensions/[email protected]/appExposeOverview.js:70:35
_initializeUI/<@resource:///org/gnome/shell/ui/main.js:248:16
Code changed quite a bit recently, would you mind rebasing, or should I try that?
I would prefer you to do that, as i have no deeper understanding of the required API changes. Unless this is just about the git rebase operation.
@paroj @3v1n0 Have not been logged into this github account for over a year.. ;) Was surprised to see the original code is still in discussion. Just out of curiosity i fetched paroj's changes, (git) rebased it to micheleg's master and played around for an hour or so to (at least) get it working in > gnome 40 again: https://github.com/micheleg/dash-to-dock/compare/master...ggcode:appspread-gnome40
- This is just enough to get it working in gnome 40. (i spreads the app windows again and you can select it in settings).
- The rebase needed some merge conflict resolving
- Since gnome41 im not using dash to dock.. but will play around a bit more just for fun.
- @paroj If you give me write access i can also do the rebase and conflict resolving here. (cant fork again from your repo in github + rebase with conflicts is bad for another pr directly to your repo: https://github.com/paroj/dash-to-dock/compare/master...ggcode:appspread-gnome40)
@paroj Hi.. i rebased this branch (locally) and after that made the exact same changes i made here (changed more stuff compared to 4days ago): https://github.com/micheleg/dash-to-dock/compare/master...ggcode:appspread-gnome40 Before i (force-)push back into this branch:
- If you want to, fell free to test the new version .. and
- You maybe also want to save your current state into another branch (so, if somebody is interessted there will still be the pre gnome 40 version)?
feel free to force-push here. I still have my changes locally.
Unfortunately, I wont be able to test with Gnome 40 until Ubuntu 22.04 arrives, as I am still on 20.04 & Gnome 36.
Rebase done. Added new commit for the changes and refactoring for gnome >= 40. TBD: Just called it "App Spread" in setting dropdown now and moved it to last position (there were other new entries..) (And just in case you lose the old version locally, its also here: https://github.com/ggcode/dash-to-dock/tree/appspread-pre-gnome40 ;) )
Regarding testing.. switched to Fedora on company laptop.. so i dont know / cant test on ubuntu <= gnome 40 ;) Maybe @3v1n0 can try it out? Last time i used virtualbox or something like that to test all versions from ~gnome 3.x, but im not using dash to dock all the time anyways.. So won't do that this time ;)
Needed to force push again as the default terminal git commit editor seems to be buggy and formated the commit message in a strange way.
@3v1n0 can you take a look? It would be great to finally have this in Ubuntu 22.04 out of the box
I'm sorry I couldn't see this by Feature Freeze of 24.04, given that we were a bit overwhelmed of things... But well, we'll try to get this in by 24.10.
given that 22.04 is released, can we please merge this right now? I would like to avoid this sitting around for 2 more years and collect conflicts. There is even a minor conflict already.
Remember that this originates from 2017 - i.e. 5 years or 2 Ubuntu LTS releases ago..
@paroj It's not enough to just resolve the conflict and merge.
Tried this (locally): Rebased current master. In master there is some new code reading searchbar dimensons in docking.js. But appspread-overview hides the searchbar and together with the master changes it doesnt work.
Created to versions that work:
- Reenabled searchbar in appspread (tried to avoid that in the original version, but both overview and applications-grid use it, so why not appspread?)
- Like current appspread branch (no searchbar in appspread, but using opacity instead of hiding). While trying that noticed one small glitch for one very rare usecase: If you switch directly from appspread to app-grid -> app-grid also has no search bar. Thats true for the actual version too. Could live with it but for discussion:
Added a commit that has both versions, but no rebase for testing
(version 2 is just uncommenting the lines: //this._disableSearch() and //this._enableSearch()).
The merge conflict you mentioned could easily be resolved, but a rebase of this branch would be needed then (no time now, maybe will try later).
@paroj @3v1n0 Created a branch for you to easily test both versions
- Switch versions in dtd settings-dialog (or assign both e.g. mouseclick -> v1, middleclick v2)
- Did some additional cleanup in v1 (the one with searchbar)
- It's also rebased to latest master https://github.com/ggcode/dash-to-dock/tree/appspread_v1_v2 Please give it a try and let's decide which version to use.
Resolved merge conflict. Add forgotten gschema.xml. Dont know whats the latest ubuntu branch to use.. as im now on gnome 42, tried it once against the latest tag. Worked. https://github.com/ggcode/dash-to-dock/compare/ubuntu-dock-72_ubuntu5...ggcode:appspread_v1_v1-ubuntu-dock-72_ubuntu5
squashed and rebased once more. Current state works with Ubuntu 22.04.
@3v1n0 you are aware of how spectacularly bad your project management is here, right?
added a video to motivate merging this:
https://user-images.githubusercontent.com/4941802/172016701-2032f8a2-2ebb-4f8e-b955-8347873a3661.mp4
If a window is opened it should minimize. If no window is opened it should spread them as proposed. And it should be customizable
I've reworked on this but apparently I can't push commits to the original branch, so I've opened #1797, let me know if you can review it and rebase this branch.
@3v1n0 I think you meant to link #1797?
@3v1n0 I just tested #1797 and your changes LGTM.
I can force push them here or you just merge #1797
@paroj force push it here please, so we keep the history in a single place :)
I've rebased my branch on top of master, otherwise just tick the checkbox to allow me to push to your PR and I can handle it.
Cheers
I've rebased my branch on top of master, otherwise just tick the checkbox to allow me to push to your PR and I can handle it.
dang.. just did the same.. That checkbox was ticked all along. Maybe some permission/ group issue?