Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to GNOME 40. #1402

Merged
merged 102 commits into from
Oct 3, 2021
Merged

Port to GNOME 40. #1402

merged 102 commits into from
Oct 3, 2021

Conversation

ewlsh
Copy link
Collaborator

@ewlsh ewlsh commented Mar 28, 2021

This only achieves "bare minimum" functionality.

Settings aren't all tested (the Unity style stuff is probably broken, for example), the settings UI needs fixing, and it is very much WIP.

The most basic functionality is usable though - and I'll be adding to this branch (though other contributors' work is welcome)

We're approaching initial release quality 🥳

Known issues:

  • Windows glitch when returning from overview without autohide
  • Overview workspaces are the wrong size
  • Top mode is quite broken (I'm considering disabling it for now as other extensions support the "top" experience better UPDATE: It is mainly only broken in shrink mode now)
  • Fullscreen autohide is glitchy (haven't had a chance to debug it, I don't consider it a blocking feature)
  • Custom background colors can't have custom opacities (this impacts pretty much all the settings at the intersection of opacity/background colors)
  • Dynamic icon sizing isn't working correctly
    • Investigate dynamic icon sizing's impact on the overview, see if multiple dimensions are possible and decide if the desktop dock should instead be constrained to the overview dimensions by default 🤔
  • Trash and volume icons aren't sorted correctly with drag-n-drop, etc.
  • Trash has incorrect menu
  • Padding for bottom panel on left/right needs to be added w/ shrink disabled.
  • Workspace previews are 2:1 🤔
  • Startup issue with file-manager applications (marking proper app as running)
  • z-alignment on dash appicons labels
  • Dnd of favorites in left mode
  • Open locations from nautilus
  • Too many dots on many windows
  • Check monitors vertical arrangement
  • Ensure windows minimize to the right spot
  • Check padding when showing show-apps at beginning
  • Bottom app labels overlap with dock in overview

(will update as issues get fixed or found)

Known trade-offs:

  • Animations out of the applications view are a bit janky, 40 doesn't provide a simple way to fully exit the overview from the app view. (the context is slightly more complicated, it also involves the show app button state and how it is managed)

@ewlsh ewlsh mentioned this pull request Mar 28, 2021
@ghost ghost mentioned this pull request Mar 28, 2021
@archive11
Copy link

I have one suggestion. Show applications button should show apps grid instead applications overview. Double clicking is annoying.

@ghost
Copy link

ghost commented Mar 30, 2021

I have one suggestion. Show applications button should show apps grid instead applications overview. Double clicking is annoying.

i think it's a bug, maybe fixed in later commit (i also waiting for fix too)

another quirk is when intellihide/autohide is disabled, the overview workspace 'cards' thumbnail is having weird look:
Screenshot from 2021-03-30 15-31-18
(see the long drop shadow, wide-stretched desktop background caused by 'margin shifting' bug when intellihide/autohide is disabled. when intellihide is enabled/dash-to-dock is disabled, the workspace cards looks normal)

EDIT: it's more like upstream bug/issue rather than dash-to-dock because the 'overview card margin shifting' bug also occurs with plank dock (with autohide disabled) or panels such as vala-panel or xfce4-panel. but i'm don't know if this bug are gnome-shell or mutter thing so i think this bug should be reported to upstream gnome-shell/mutter instead

EDIT 2: can reproducible with window list extension too

@Tuxino88
Copy link

I have one suggestion. Show applications button should show apps grid instead applications overview. Double clicking is annoying.

i think it's a bug, maybe fixed in later commit (i also waiting for fix too)

another quirk is when intellihide/autohide is disabled, the overview workspace 'cards' thumbnail is having weird look:
Screenshot from 2021-03-30 15-31-18
(see the long drop shadow, wide-stretched desktop background caused by 'margin shifting' bug when intellihide/autohide is disabled. when intellihide is enabled/dash-to-dock is disabled, the workspace cards looks normal)

Schermata da 2021-03-30 11-11-19

another bug

@ghost
Copy link

ghost commented Mar 30, 2021

Schermata da 2021-03-30 11-11-19

another bug

probably theme bug. also in GNOME 40, dash theming now done in .dash-background class instead of #dash so the fix is just edit gnome-shell.css from your theme and set background-color: transparent; in #dash (or remove background-color properties) and refresh the theme by pressing Alt+F2 and type rt. another way to fix is just use GNOME 40-compatible themes instead

@marcelovbcfilho
Copy link

marcelovbcfilho commented Mar 30, 2021

I don't if this should be asked here, but some configurations are not working, and as you said I know that this is a wip, but just to be registered:
[ ] Dock size limit not working properly
[ ] Panel mode extend to screen edge with some bugs, the open application grid was lost when traveling to the right and the style was broken too.
Screenshot from 2021-03-30 09-30-40

[ ] Icon size doesn't working
[ ] Move the applications button at the beginning of the dock doesn't work
[ ] Built in theme is broken too
[ ] Shrink the dash is working weirdly
[ ] Most of the styles aren't working
[ ] And at some of my test the window counter indicators just disappear
[ ] Found another after a few time, can't re-organize my dock icons it is stuck with the original favorites order

But I wanna thank you for your working, this is very amazing for the short time.

@runil
Copy link

runil commented Mar 30, 2021

I'm having trouble accessing the settings menu for the Intelligent Autohide preference. The settings page simply wont open. Might be a dependency that I'm missing, have any clues? Would like to set it to dodge all windows.

@ewlsh
Copy link
Collaborator Author

ewlsh commented Mar 31, 2021

I make no promises about functionality 🤣 this is very much alpha quality.

But I'm working through the various bugs and quirks. Two big changes in 40 are how the dock background is handled and that the dock is no longer "attached" to a side of the screen. The latter is maybe a configuration option (makes it a bit more complicated), but I really like the floating look personally.

  • Preferences dialogs should work now (still testing parts of the GTK4 port)
  • Most theming settings should "work" (though some of them don't look great in 40 w/o changes)
  • Started some preferences UI cleanup

@ewlsh
Copy link
Collaborator Author

ewlsh commented Mar 31, 2021

Also if it wasn't clear, it does help to record issues here! Dash to Dock has many, many combinations of settings and it is hard to QA all of them so thank you 🥳

Do check if something has been mentioned previously though 😸

Latest commit should allow the Show Apps icon to be moved. It also changes the default side the dock is on, so if you're used to the left you may have to change the setting upon upgrading.

@cuviper
Copy link

cuviper commented Mar 31, 2021

the dock is no longer "attached" to a side of the screen. The latter is maybe a configuration option (makes it a bit more complicated), but I really like the floating look personally.

The floating looks nice in general, but it's weird for panel mode.

@runil
Copy link

runil commented Apr 1, 2021

Also if it wasn't clear, it does help to record issues here! Dash to Dock has many, many combinations of settings and it is hard to QA all of them so thank you partying_face

Do check if something has been mentioned previously though smile_cat

Latest commit should allow the Show Apps icon to be moved. It also changes the default side the dock is on, so if you're used to the left you may have to change the setting upon upgrading.

Good to know! Anyhow the issues seem to have been solved in the latest version. This is epic and you made my GNOME 40 setup work so nice!

Only issue for me personally is that the launcher icons move around when you switch between applications running. Don't know if the new dash allows for any changes there but would be practical to change behaviour none the less.

@josesmutny
Copy link

I am very fond of this extension, and I appreciate the work being done to port it to gnome 40.

When testing on a fedora 34 beta new installation most things work (dock autohides, shows on hover, etc), but the dock has no icons at all. I can tell it's there because the left and right edges come together to form a small pill, but other than that it's empty.

My installation method:
git clone this repo
git pull this pullrequest
git checkout gnome-40
make
make install

I'll gladly offer any further info or try some changes.
If this is not the right place for this comment, then let me know and I'll move this or remove it if it's a duplicate.

@ewlsh
Copy link
Collaborator Author

ewlsh commented Apr 1, 2021

I am very fond of this extension, and I appreciate the work being done to port it to gnome 40.

When testing on a fedora 34 beta new installation most things work (dock autohides, shows on hover, etc), but the dock has no icons at all. I can tell it's there because the left and right edges come together to form a small pill, but other than that it's empty.

My installation method:
git clone this repo
git pull this pullrequest
git checkout gnome-40
make
make install

I'll gladly offer any further info or try some changes.
If this is not the right place for this comment, then let me know and I'll move this or remove it if it's a duplicate.

If you can provide any dash-to-dock logs from journalctl --since "30 seconds ago" when your shell starts up that'd be great!

If I had to hazard a guess, try setting Customize windows counter indicators to Default. Some of the styles aren't ported yet and they'll cause everything to not render.

@josesmutny
Copy link

If you can provide any dash-to-dock logs from journalctl --since "30 seconds ago" when your shell starts up that'd be great!

Sure thing: journalctl.txt

If I had to hazard a guess, try setting Customize windows counter indicators to Default. Some of the styles aren't ported yet and they'll cause everything to not render.

Your guess was spot on. I didn't bother to check if any settings were specific, but now it works as I expected. Thank you, and keep up the good work!

@ijuma
Copy link

ijuma commented Apr 1, 2021

If I had to hazard a guess, try setting Customize windows counter indicators to Default.

This fixed it for me too (also Fedora 34 beta). Sweet. :)

@Gouster4
Copy link

Gouster4 commented Apr 2, 2021

its working good enought. but once i click on app grid, there is no way to go back to desktop, and relogin is needed. But when using WIN button or activity corner, i dont get any issues at all.

@ghost
Copy link

ghost commented Apr 3, 2021

@ewlsh : Bro Thank u so much 👍

@ewlsh
Copy link
Collaborator Author

ewlsh commented Apr 5, 2021

Updates:

  • Show Apps should work "normally" now. Essentially if you click it on the desktop unclicking it returns you to the desktop, otherwise it behaves as a toggle in the overview (like stock GNOME 40). This behavior is a little tricky with 40's changes, so there might be quirks.
  • All the indicators should now work without breaking rendering.

@DragonSWDev
Copy link

@ewlsh I was waiting for this Pull Request. Thank you very much for your work!

@asalkeld
Copy link

asalkeld commented Apr 5, 2021

One thing to note: I had "Show mounted volumes and devices" enabled and that caused none of the applications icons to be shown. Only the "show applications" icon was there. Once I disabled this option, it burst into life.
@ewlsh Thank you so much for working on this!

@ewlsh
Copy link
Collaborator Author

ewlsh commented Apr 6, 2021

One thing to note: I had "Show mounted volumes and devices" enabled and that caused none of the applications icons to be shown. Only the "show applications" icon was there. Once I disabled this option, it burst into life.
@ewlsh Thank you so much for working on this!

I can't reproduce this, but I'll find my flash drive and unplug it a lot and see what happens 😸

@archive11
Copy link

I got another bug. After last commit separator between favourites and running apps is really big.
https://i.imgur.com/nAKbIIX.png

@Turbine1991
Copy link

Turbine1991 commented Apr 6, 2021

For anyone interested, as of today, dash-to-panel is quite usable in this fork:
home-sweet-gnome/dash-to-panel#1265

I use both extensions.

@SaladinAyyub
Copy link

SaladinAyyub commented Apr 7, 2021

For anyone interested, as of today, dash-to-panel is quite usable in this fork:
home-sweet-gnome/dash-to-panel#1265

I use both extensions.

Here is the repository, the changes are in branch update-to-gnome40 https://github.com/philippun1/dash-to-panel/tree/update-to-gnome40 great work @philippun1

@Razer0123
Copy link

Sorry for the stupid question, but for the not developers, how would i pull this?

Not sure how to execute step two

git clone this repo
git pull this pullrequest
git checkout gnome-40
make
make install

@archive11
Copy link

archive11 commented Apr 7, 2021

Sorry for the stupid question, but for the not developers, how would i pull this?

Not sure how to execute step two

git clone this repo
git pull this pullrequest
git checkout gnome-40
make
make install

I installed it like this:

git clone https://github.com/ewlsh/dash-to-dock/
cd dash-to-dock
git checkout ewlsh/gnome-40
make
make install

And updating:

git pull
make
make install

However, this method is more convenient: https://stackoverflow.com/a/30584951/8258888

3v1n0 and others added 14 commits October 3, 2021 17:39
…ager

We're using the dockmanager singleton for all the shared bits, but not
for the remote-model that is shared by the various docks, dashes and
launcher icons.

We can instead just expose it publicly as the DockManager instance and
get it once when needed.
We're using the same class for handling both location icons and app
icons, while we can manage this in a nicer way using subclassing.

As per this we can properly monitor for running and focused state of
such apps, fixing the case in which a location is opened but its icon
isn't highlighted.
Given that the actual class names will be now auto-generated by the
shell there's no risk of clashing with other extensions
…apps

We're customizing the dock icons so that we can only consider their
location windows, however we can handle this at a lower level by
changing the way the shell apps behave, by patching the location apps
methods, overriding their defaults.

As per this we can reduce the DockLocationAppIcon customizations.
Location applications doesn't support opening new windows, as nautilus
will by default try to reuse the mostly recently used window.

We may support this in future, once we've added to nautilus a new API
for handing such scenario.
Override the app-ID value for location apps by overriding the appInfo
relative vfunc for location icons.

We also need to delay updating the windows though to avoid recursion
…-manager

We have location applications that are currently joined with the file
manager but this is not something expected if locations and/or trash are
enabled, so start supporting splitting this, integrating the application
with the panel too.

This can be now easily done by just returning the location application
as the focused application when this is the case.
Ensure that the windows tracker will notify the whole shell when the
active application has changed, as per this we can just rely on the same
logic for both real applications and location applications
By overriding further AppSystem and WindowTracker methods we can
fully expose the location applications as standalone applications in
both app switchers and window overview selection.
When using the locations isolation mode we should just not consider
location windows as part of nautilus, we might have done this at
dock icon level, but it's better to just handle this for the whole
shell so that nautilus is never considered as running when a location
window is there.

To do this we need to patch the nautilus shell app as we're doing with
the location apps, but now we're using the inject utilities in order to
be able to easily revert our monkey-patching once the extension gets
disabled.
We used to call this manually but failing to set the proper event
timestamp in order to raise the confirmation dialog, that could have
not been focused at times.

So use the DBus API instead patching the launch_action accordingly.
After disabling the intelligent autohide, the barrier is not updated,
so the dock is still automatically shown.

Now the updateBarrier() method is called when enabling/disabling the
intelligent auto-hide.

Fixes: micheleg#1421
@3v1n0
Copy link
Collaborator

3v1n0 commented Oct 3, 2021

Sorry for taking longer to get this merged, but Michele is a bit busy and we waited till we could to leave him to handle the final merge.

But I guess it's time to proceed.

@darkdragon-001 I'm the one in charge for GNOME packaging in ubuntu, and so this is already handled in the https://github.com/micheleg/dash-to-dock/tree/ubuntu-dock branch (and related packaging work in debian's salsa).

@oreo639 thanks for catching it, fixed!

41 support is also coming. But we'll handle it in another branch.

@3v1n0 3v1n0 merged commit 9605dd6 into micheleg:master Oct 3, 2021
@rugk
Copy link

rugk commented Oct 3, 2021

🎉

Do we already have a release? 😊

@ewlsh
Copy link
Collaborator Author

ewlsh commented Oct 3, 2021

Not yet, @3v1n0 has a few follow ups which I'll review and then we're planning to merge 41 support. I or @micheleg will likely create a release later this week or early next week assuming all goes well.

@Tuxman2
Copy link

Tuxman2 commented Oct 5, 2021

@ewlsh: I would like to see this improvement available in dash to dock. Could it be added one day ?
#574

Thanks.

@chdslv
Copy link

chdslv commented Oct 12, 2021

After cloning the git, make doesn't work, until you clear out the po folder, in this fork and in the d2d master.

@yookoala
Copy link

Still cannot find Dash to Dock on the GNOME Extension site. I guess this hasn't been released, right?

@gotmax23
Copy link

Still cannot find Dash to Dock on the GNOME Extension site. I guess this hasn't been released, right?

It looks like it's there now, at least for Gnome 40,
Screenshot from 2021-10-17 22-39-06

@yookoala
Copy link

yookoala commented Oct 18, 2021

Thanks. The good news is I found it. The bad news is when I install it, it failed:
2021-10-18 12-20-41 的螢幕擷圖

Where can I see a proper error message?

(When can we get proper error message for extension installation failure...?)

@oreo639
Copy link

oreo639 commented Oct 18, 2021

You have to reload the desktop. (logout and log back in on wayland, alt+f2 and r on xorg)
(It should say this in the extensions application)

@yookoala
Copy link

yookoala commented Oct 19, 2021

You have to reload the desktop. (logout and log back in on wayland, alt+f2 and r on xorg) (It should say this in the extensions application)

Thanks for the tip. It works now.

But still, there ought to be better error message than a big fat "Error" without details.

@njutn95
Copy link

njutn95 commented Oct 19, 2021

@yookoala I don't think this is a customizable error on the extension level, but I absolutely agree that seeing a big fat "Error" is frustrating most of the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.