linuxdeepin / developer-center

Deepin developer center, provide developer wiki and community forum.
452 stars 73 forks source link

[dde-session-daemon] Dock Icons Show Duplicates, as Well as Stay Stuck on Dock After App Closes #2496

Open gardotd426 opened 4 years ago

gardotd426 commented 4 years ago

Describe the bug

NOTE This seems to be a bug in dde-session-daemon.

Recently (the last week), dde-dock has become a nightmare to use. Every time you close an application (especially one that's undocked), the "active" indicator, as well as the preview window (and for undocked applications, the icon itself) remain on the dock. You cannot remove them, clicking "Force Close" does nothing (because the application is actually closed already). If you open and close enough different applications, eventually you could have your entire dock overtaken with icons.

(I'm noticing now that it seems to mainly affect apps that exit to systray)

This was NOT the case up until a recent update.

To Reproduce

Steps to reproduce the behavior:

  1. Open an application that you don't already have in the dock and see the icon appear on the dock. There will be an activity indicator (mine's a grey bar under the icon)
  2. Close the application
  3. The icon remains on the dock. Mouse over it, and you'll see a blank preview window (blank because the application is closed).
  4. You can kill the dock from the terminal and restart it, and nothing changes. You have to log out/restart to get the icons to go away. -->

Expected behavior

Undocked applications don't remain "open" on the dock.

Screenshots

Both of these applications I'm mousing over are closed. All three of the rightmost applications on the dock are closed (and undocked, yet still appearing).

docbug1

docbug2

Enviroments:

Distro & Version

Arch Linux

Related package version

yay -Q | egrep "deepin|dde"

deepin-account-faces 1.0.11-1
deepin-album 5.6.9.13-2
deepin-anything 5.0.1-3
deepin-anything-arch 5.0.1-89
deepin-api 5.3.0.0-1
deepin-boot-maker 5.4.8-1
deepin-calculator 5.5.18-2
deepin-calendar 5.6.9-1
deepin-clone 5.0.3-1
deepin-clutter 1.26.2-2
deepin-cogl 1.22.5-3
deepin-community-wallpapers 1:1.7.7-1
deepin-control-center 5.2.0.6-1
deepin-daemon 5.11.0.9-1
deepin-desktop-base 2:2020.04.12.2-1
deepin-desktop-schemas 5.6.0.7-1
deepin-dock 5.1.0.11-1
deepin-draw 5.8.0.19-2
deepin-editor 5.6.15-1
deepin-file-manager 1:5.1.1.25-4
deepin-gtk-theme 2020.06.10-1
deepin-icon-theme 2020.06.11-1
deepin-image-viewer 5.6.3.2-2
deepin-kwin 5.1.0.4-1
deepin-launcher 5.2.0.7-1
deepin-menu 5.0.1-2
deepin-metacity 3.22.24-1
deepin-movie 1:5.7.6.29-1
deepin-music 6.0.1.8-2
deepin-mutter 3.20.38-4
deepin-network-utils 5.1.0.0-2
deepin-picker 5.0.6-1
deepin-polkit-agent 5.2.0.5-1
deepin-polkit-agent-ext-gnomekeyring 0.1.0-1
deepin-qt-dbus-factory 5.2.0.3-1
deepin-qt5integration 5.1.0.2-1
deepin-qt5platform-plugins 5.0.13-1
deepin-reader 5.6.11-1
deepin-screen-recorder 5.8.0.11-3
deepin-screensaver 5.0.3-1
deepin-screensaver-pp 0.0.4-1
deepin-screenshot 5.0.0-4
deepin-session-shell 5.1.0.4-1
deepin-session-ui 5.2.0.6-1
deepin-shortcut-viewer 5.0.2-1
deepin-sound-theme 15.10.6-1
deepin-system-monitor 5.6.7-1
deepin-terminal 5.2.6-1
deepin-turbo 0.0.3-1
deepin-wallpapers 1:1.7.7-1
deepin-wm 1.9.38-4
startdde 5.5.0.3-1

Additional context

I'm noticing that some apps actually do close out correctly, such as spectacle which is the app I used to take the screenshots.

It seems it mostly affects applications that exit to the system tray (instead of completely exiting) such as Steam, OpenRGB, Pamac, and Mailspring.

felixonmars commented 4 years ago

Please try again with deepin-dock 5.1.0.11.20200622-1

gardotd426 commented 4 years ago

How do I do that?

That version isn't available in the repositories (not the arch community testing repo, either).

gardotd426 commented 4 years ago

The version I already have is 5.1.0.11-1. That's the only version there is.

felixonmars commented 4 years ago

It should be available now. The Arch website has a short delay after I pushed a package.

gardotd426 commented 4 years ago

Nope. Ran -Syy and it's still the same. I'll give it 20 minutes or so and try again.

On Thu, Jun 25, 2020 at 5:09 AM Felix Yan notifications@github.com wrote:

It should be available now. The Arch website has a short delay after I pushed a package.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/linuxdeepin/developer-center/issues/1776#issuecomment-649408808, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5Y335MADRVGXLYF7KOMDTRYMH6DANCNFSM4OGYQELQ .

felixonmars commented 4 years ago

You mirror can lag behind even further though.

Or just download from a latest mirror: https://ger.mirror.pkgbuild.com/community/os/x86_64/deepin-dock-5.1.0.11.20200622-1-x86_64.pkg.tar.zst

gardotd426 commented 4 years ago

Okay, I installed, it, and ran

killall dde-dock

dde-dock &

and all the icons that were stuck there from closed programs are still there. I'll try logging out and back in.

On Thu, Jun 25, 2020 at 5:15 AM Felix Yan notifications@github.com wrote:

You mirror can lag behind even further though.

Or just download from a latest mirror: https://ger.mirror.pkgbuild.com/community/os/x86_64/deepin-dock-5.1.0.11.20200622-1-x86_64.pkg.tar.zst

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/linuxdeepin/developer-center/issues/1776#issuecomment-649412424, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5Y335PUVP2W75AX6U4R5LRYMIS7ANCNFSM4OGYQELQ .

gardotd426 commented 4 years ago

Nope. Same thing.

It doesn't do it with all apps, only certain ones. Like, anything running in WIne or Proton, after you quit the game, you'll still see the wine/Proton icon (which is obviously only supposed to be there while the game is running). Until you log out/reboot. Mailspring is another.

Also, it'll show duplicates. I'm posting a screenshot, where you'll see two mailspring icons. They're both for the same window. I think that's part of the problem. There are double icons, but then when I close the mailspring window, one of them goes away, the other one stays frozen on the desktop.

dock2

After closing the window, the one mailspring icon is still there, with the blank preview window:

dock3

felixonmars commented 4 years ago

I see. Please try also deepin-daemon 5.11.0.9.20200623-1 as that's the other component with related fixes. (I still cannot reproduce it myself :()

gardotd426 commented 4 years ago

No change. I even rebooted after the update so I could make sure everything was running the updated versions.

Which applications have you tried to reproduce it with? Have you tried Mailspring?

Note the two mailspring logos (on the far right of the app icons, the two blue envelopes): dockbug3

gardotd426 commented 4 years ago

I also was able to get it to happen with Pavucontrol.

SiamSami commented 4 years ago

I am having these issues as well.

gardotd426 commented 4 years ago

Yeah it's a total mess, it doesn't happen with every app, but it happens with a hell of a lot of them. Right now as I type this I have about 6 icons on my dock that are from closed programs that won't go away. Two for EA Origin, one for Proton (which shouldn't even have a desktop icon), one for LibreOffice, and one for Mailspring. Oh and Pavucontrol.

Also, my dock is moving to whichever monitor I'm using, which is insane. I have my middle monitor set as primary, but when I click on the right or left monitor and mouse down to the dock, here it comes, over to the monitor I'm on. That's not how primary/secondary monitors are supposed to work.

Look: This is my third, NON-PRIMARY monitor right now:

dockbug4

And note the two damn spectacle app icons now too. Add that to the tally. This is getting really unusable.

gardotd426 commented 4 years ago

Like:

dockbug5

gardotd426 commented 4 years ago

And yeah, both of those are screenshots of my NOT-Primary monitor. When I go back to my primary monitor, the dock moves there.

On one hand, I could deal with that, if it was intended behavior (which I highly doubt, since no other DE does this, ever), and if it wasn't still buggy as hell. Because like, I have to click on the monitor for the dock to move there, and then mousing over the area to get it to show up is still SUPER buggy (it'll show up and disappear a bunch of times before finally staying visible like I want it to).

Now I'm seeing that even when I click "Keep Shown" instead of "Smart Hide" or "Keep Hidden" it still moves monitors whenever I click on another monitor.

SiamSami commented 4 years ago

It's an issue with dde-session-daemon.

I ran killall dde-session-daemon to kill the process and after sometime when the process started itself again, those icons went away.

Screen Capture_select-area_20200630102905

gardotd426 commented 4 years ago

I'll change the title then.

@felixonmars ^^^^

gardotd426 commented 4 years ago

So, I also was able to get the icons to go away/dock reset after killing dde-session-daemon. Took about 8 seconds, then the dock went normal. I had about 4 days of uptime, and over that time my dock had completely filled with old icons, so I had no real choice.

Again, some apps seem to not be affected, they only ever have one icon, and when you close it, if the icon isn't docked, then it disappears. However, other apps will always show double icons, and when you close them, one remains. When you mouse over it to get a window preview, it's just a blank window.

gardotd426 commented 4 years ago

Just an update, this is absolutely still an issue.

gardotd426 commented 4 years ago

There was an update and it seemed to be MUCH better, but then there was another update and now it's just as bad as ever.

Also, people keep posting duplicates of this.

SiamSami commented 4 years ago

Is this ever going to be fixed?

gardotd426 commented 4 years ago

@SiamSami doesn't look like it. Pretty disappointing, since this is a completely new bug (didn't exist on old Deepin DE) and it doesn't look like they've changed that much to the point where it would be that hard to fix.

@felixonmars I know you're on the Arch side, but can you give any insight as to why this is still ignored even though it's been confirmed as a bug at this point?

If anyone wants to know what seems to be an easy way to reproduce it, just use spectacle to take a screenshot. You actually have to take the screenshot or else it doesn't show the second icon, but once you do, you'll see two spectacle icons, and then when you quit spectacle, the ghost icon stays on the dock and can't be gotten rid of (without killing dde-session-daemon).

Saduff commented 4 years ago

This issue has been fixed for me for some time now as well. See also: https://github.com/linuxdeepin/dde-dock/issues/279#issuecomment-691989085

gardotd426 commented 4 years ago

People in https://github.com/linuxdeepin/dde-dock/issues/279 are claiming this is still an issue.