dash-to-dock icon indicating copy to clipboard operation
dash-to-dock copied to clipboard

implement "minimize or overview" with only current app windows

Open paroj opened this issue 5 years ago • 25 comments

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..

paroj avatar Jun 12 '20 22:06 paroj

@3v1n0

paroj avatar Jun 15 '20 20:06 paroj

@3v1n0 @micheleg

paroj avatar Jun 30 '20 14:06 paroj

@3v1n0 @micheleg

paroj avatar Aug 15 '20 17:08 paroj

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.

3v1n0 avatar Sep 10 '20 16:09 3v1n0

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.

paroj avatar Sep 11 '20 19:09 paroj

@3v1n0

paroj avatar Sep 16 '20 10:09 paroj

@3v1n0 @micheleg

paroj avatar Oct 05 '20 18:10 paroj

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

micheleg avatar Dec 26 '20 17:12 micheleg

Code changed quite a bit recently, would you mind rebasing, or should I try that?

3v1n0 avatar Nov 04 '21 20:11 3v1n0

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 avatar Nov 04 '21 21:11 paroj

@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)

ggcode avatar Dec 31 '21 11:12 ggcode

@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)?

ggcode avatar Jan 04 '22 13:01 ggcode

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.

paroj avatar Jan 04 '22 16:01 paroj

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 ;) )

ggcode avatar Jan 04 '22 19:01 ggcode

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 ;)

ggcode avatar Jan 04 '22 19:01 ggcode

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.

ggcode avatar Jan 04 '22 20:01 ggcode

@3v1n0 can you take a look? It would be great to finally have this in Ubuntu 22.04 out of the box

paroj avatar Jan 28 '22 09:01 paroj

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.

3v1n0 avatar Mar 30 '22 15:03 3v1n0

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 avatar Apr 21 '22 19:04 paroj

@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:

  1. Reenabled searchbar in appspread (tried to avoid that in the original version, but both overview and applications-grid use it, so why not appspread?)
  2. 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).

ggcode avatar May 05 '22 00:05 ggcode

@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.

ggcode avatar May 05 '22 11:05 ggcode

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

ggcode avatar May 13 '22 18:05 ggcode

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?

paroj avatar Jun 04 '22 01:06 paroj

added a video to motivate merging this:

https://user-images.githubusercontent.com/4941802/172016701-2032f8a2-2ebb-4f8e-b955-8347873a3661.mp4

paroj avatar Jun 04 '22 16:06 paroj

If a window is opened it should minimize. If no window is opened it should spread them as proposed. And it should be customizable

luisgutie avatar Jun 06 '22 15:06 luisgutie

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 avatar Aug 25 '22 20:08 3v1n0

@3v1n0 I think you meant to link #1797?

Jules-Bertholet avatar Aug 25 '22 20:08 Jules-Bertholet

@3v1n0 I just tested #1797 and your changes LGTM.

I can force push them here or you just merge #1797

paroj avatar Aug 30 '22 12:08 paroj

@paroj force push it here please, so we keep the history in a single place :)

3v1n0 avatar Aug 31 '22 15:08 3v1n0

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

3v1n0 avatar Aug 31 '22 15:08 3v1n0

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?

paroj avatar Aug 31 '22 16:08 paroj