Client: OS X: Dock icon has no functionality

Created on 6 Jun 2016  路  32Comments  路  Source: keybase/client

Keybase GUI Version: 1.0.16-20160525110018+2aed1f7

The dock icon for the Keybase GUI does nothing when clicked on, which is contrary to almost every other application for OS X. If the menu bar icon is where the functionality of the GUI takes place, then there should be no dock icon, or there should at least be an option to disable it.

Most helpful comment

@gabriel I'm the same as @JohnMHarrisJr - there's no Quit option from the menubar icon - when I click the menubar icon, I get the menubar menu open:

screen shot 2016-08-16 at 09 03 14

I wonder if you're referring to this Quit menu item in the menubar widget?

screen shot 2016-08-16 at 09 03 35

If so, when I click this or File > Quit when the app has focus, I see all Keybase processes (except for Keybase.helper) end.

Do we have to have a Dock icon at all? Could we do away with the Dock icon and just have the menubar icon, or at least let users choose what they want?

All 32 comments

The icon rarely sits on my dock, only sometimes after the boot, but it soon disappears.

Really? The icon never goes away on my dock.

Yep, and we have the same version too.

I believe this was fixed on my system after restarting. I previously had a non-nightly Keybase installed (without GUI), then installed the Keybase package (.pkg). The dock icon would not go away, but it now doesn't show up after a system restart.

@jkcclemens are you on 10.10?

@gabriel 10.11.5

Can you do a keybase log send and post the log ID?

b6c5922a6cfb602cdfeaee1c

So am I right in saying that the dock icon should not be shown all the time? I'm running 1.0.16-20160715110019+f0caa34 and the dock icon is showing up all the time, even after restarting my Mac.

Same here, my dock has a high real estate value. 馃拵

Keybase GUI Version: 1.0.16-20160715110019+f0caa34
Log ID: 6d7bf469dc0656f2a2caf31c

I think if you do File | Quit (on 1.0.16-20160715110019), it should make the dock icon go away. I'm unable to verify this at the moment though.

@gabriel If you quit the app, it quits Keybase all together and removes the icon from the menubar and ends the Keybase process.

What I feel it should do is only show the Keybase icon in the menubar when Keybase is running.

@MasterRoot24 If you quit the app, keybase continues to run in the background.(See #3773)

@JohnMHarrisJr At least KBFS doesn't carry on running for me, if I quit Keybase.

With Keybase running (GUI app closed, but running in the Dock + Menubar):

joenyland@Joes-MBP ~ $ ps aux | grep -i keybase
root             8827   0.0  0.0  2516688   1104   ??  Ss   Thu10am   0:00.03 /Library/PrivilegedHelperTools/keybase.Helper
joenyland        8734   0.0  0.0  2425216    468 s001  R+   11:23pm   0:00.00 grep --color -i keybase
joenyland        8186   0.0  1.1 573442948 183996   ??  S    11:23pm   0:00.45 /Applications/Keybase.app/Contents/SharedSupport/bin/kbfs -debug -log-file=/Users/joenyland/Library/Logs/keybase.kbfs.log -runtime-dir=/Users/joenyland/Library/Caches/Keybase /keybase
joenyland        8003   0.0  0.1 573494256  24692   ??  S    11:23pm   0:00.33 /Applications/Keybase.app/Contents/SharedSupport/bin/keybase -d --log-file=/Users/joenyland/Library/Logs/keybase.service.log service
joenyland        7992   0.0  0.0 573412372   5504   ??  S    11:23pm   0:00.01 /Applications/Keybase.app/Contents/SharedSupport/bin/updater -path-to-keybase=/Applications/Keybase.app/Contents/SharedSupport/bin/keybase
joenyland        7988   0.0  0.6  3504104 103116   ??  U    11:23pm   0:01.34 /Applications/Keybase.app/Contents/Frameworks/Keybase Helper.app/Contents/MacOS/Keybase Helper --type=renderer --no-sandbox --primordial-pipe-token=463DE7B9161165691CA1C823E3DAE80E --lang=en-US --node-integration=true --hidden-page --enable-pinch --num-raster-threads=4 --enable-zero-copy --disable-partial-raster --enable-gpu-memory-buffer-compositor-resources --content-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --video-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --channel=7983.2.271799066
joenyland        7986   0.0  0.6  3491992 107460   ??  U    11:23pm   0:01.05 /Applications/Keybase.app/Contents/Frameworks/Keybase Helper.app/Contents/MacOS/Keybase Helper --type=renderer --no-sandbox --primordial-pipe-token=8B100EA26D4A7148BD5EB5F9104F26EC --lang=en-US --node-integration=true --hidden-page --enable-pinch --num-raster-threads=4 --enable-zero-copy --disable-partial-raster --enable-gpu-memory-buffer-compositor-resources --content-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --video-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --channel=7983.1.1265471905
joenyland        7984   0.0  0.3  2810996  42840   ??  S    11:23pm   0:00.16 /Applications/Keybase.app/Contents/Frameworks/Keybase Helper.app/Contents/MacOS/Keybase Helper --type=gpu-process --channel=7983.0.1676095703 --no-sandbox --supports-dual-gpus=true --gpu-driver-bug-workarounds=16,21,30,35,46,49,50,54,56,64,65,70,73 --gpu-vendor-id=0x10de --gpu-device-id=0x0fe9 --gpu-driver-vendor --gpu-driver-version
joenyland        7983   0.0  0.6  3517152 102396   ??  S    11:23pm   0:01.27 /Applications/Keybase.app/Contents/MacOS/Keybase
joenyland@Joes-MBP ~ $ ls /keybase/
private  public
joenyland@Joes-MBP ~ $ 

After I quit Keybase:

joenyland@Joes-MBP ~ $ ps aux | grep -i keybase
root             8827   0.0  0.0  2516688   1060   ??  Ss   Thu10am   0:00.03 /Library/PrivilegedHelperTools/keybase.Helper
joenyland        7877   0.0  0.0  2435456    932 s001  S+   11:21pm   0:00.00 grep --color -i keybase
joenyland@Joes-MBP ~ $ ls /keybase/
ls: cannot open directory '/keybase/': Device not configured
joenyland@Joes-MBP ~ $ 

If you do Quit from the menubar icon it will quit everything, keybase, kbfs, etc.

If you do File | Quit from the menu while the app is in focus, only the main app will quit, and the menubar will still be there, and the service, kbfs, etc will still be running.

Is this what you experience?

On Monday, August 15, 2016 12:52:00 PM EDT Gabriel Handford wrote:

If you do Quit from the menubar icon it will quit everything, keybase, kbfs,
etc.

If you do File | Quit from the menu while the app is in focus, only the main
app will quit, and the menubar will still be there, and the service, kbfs,
etc will still be running.

Is this what you experience?

There is no option to Quit from the menubar icon.

John M. Harris, Jr.

@gabriel I'm the same as @JohnMHarrisJr - there's no Quit option from the menubar icon - when I click the menubar icon, I get the menubar menu open:

screen shot 2016-08-16 at 09 03 14

I wonder if you're referring to this Quit menu item in the menubar widget?

screen shot 2016-08-16 at 09 03 35

If so, when I click this or File > Quit when the app has focus, I see all Keybase processes (except for Keybase.helper) end.

Do we have to have a Dock icon at all? Could we do away with the Dock icon and just have the menubar icon, or at least let users choose what they want?

If you do File > Quit while the app has focus, the dock icon should go away.
2016-08-17 at 8 07 pm

If not there is a bug.

You can try using a prerelease build:
https://prerelease.keybase.io/darwin/Keybase-1.0.17-20160818001424%2B1850da5.dmg

Ok, I can recreate that behaviour now, but I would argue that it's still not the behaviour I would expect from a Mac OSX app - If I "quit" an app, I expect all the processes associated with it to quit too. The behaviour that I now experience (as you have described above) means that I quit the Keybase "app", but it still leaves background processes running (namely the menubar icon).

I would expect the dock icon to disappear when the Keybase GUI is closed, but the menubar icon to remain. If I want Keybase to run, but I don't want it to show up in the Dock, I have to launch Keybase, then "quit" it whilst the app has focus - feels really clunky to me. Maybe it's just me 馃槙

This happens on Linux too, and apparently this is desired behavior. The argument for is that other software does the same, but I don't know anything that does that.

On August 18, 2016 9:01:15 AM EDT, Joe Nyland [email protected] wrote:

Ok, I can recreate that behaviour now, but I would argue that it's
still not the behaviour I would expect from a Mac OSX app - If I "quit"
an app, I expect all the processes associated with it to quit too. The
behaviour that I now experience (as you have described above) means
that I quit the Keybase "app", but it still leaves background processes
running (namely the menubar icon).

I would expect the dock icon to disappear when the Keybase GUI is
closed, but the menubar icon to remain. If I want Keybase to run, but I
don't want it to show up in the Dock, I have to launch Keybase, then
"quit" it whilst the app has focus - feels really clunky to me. Maybe
it's just me 馃槙

John M. Harris, Jr.
PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

This might be resolved in the latest build we just made available as an update, or you can get it here:
https://prerelease.keybase.io/darwin/Keybase-1.0.17-20160829110024%2Bc4e8dc8.dmg

It will remember your UI state, and restore it. If you had the main window closed, and/or dock icon closed it will remember that after an update, or on a reboot.

We're might still tweak when the UI restores, but should feel less spammy than it was before in these new builds.

Thanks for feedback and sorry it took us a bit to get to this.

Maybe we can add whether to hide dock as a setting. Some apps quit after last window is closed and some don't. For example, if you close the Slack app window, the dock icon remains.

Also the keybase.Helper is something we install but is managed by the OS (as a privileged helper tool). It's footprint should be really tiny though since it only handles a small set of tasks (about 177kb in size).

On August 30, 2016 4:47:47 PM EDT, Gabriel Handford [email protected] wrote:

Maybe we can add whether to hide dock as a setting. Some apps quit
after last window is closed and some don't. For example, if you close
the Slack app window, the dock icon remains.

That should be seen as an issue with Slack, but I honestly didn't know anybody used Slack. You know there's an IRC gateway, right? You don't need to use the app, you can use a real chat client.

John M. Harris, Jr.
PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

For example, if you close the Slack app window, the dock icon remains.

That should be seen as an issue with Slack...

@JohnMHarrisJr In your opinion it's an issue. This is actually the behaviour that's expected from Mac apps.

That is not an opinion. When you close the last window of the application and there is no visible sign that a program is running, you'd expect it to not be running and wasting precious resources.

On August 30, 2016 5:54:00 PM EDT, Joe Nyland [email protected] wrote:

For example, if you close the Slack app window, the dock icon
remains.

That should be seen as an issue with Slack...

@JohnMHarrisJr In your opinion it's an issue. This is actually the
behaviour that's expected from Mac apps.

John M. Harris, Jr.
PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

That's not the expected behaviour on a Mac of an app which has background tasks.

Prime example: Mail.app

macOS applications do not and should not completely quit if you just close the last window of the application. Try this on any other application on macOS, and you'll see that the application does not quit if you just close the window (click the little red dot on the window or 鈱榃). However, the Keybase client is completely quitting when you just close the window.

@JoeNyland On Mac that may be so, but I don't use Mac, and this software is not only for Mac users. If that is the case on Mac, I am deeply sorry that you have to work with such a system. On my system, using KDE, user applications (not services) that run background tasks either make it easy to tell if they're running (see Emacs server) or show an icon in the system tray.

Can you be any more narrow minded, @JohnMH? You just don't understand macOS application lifecycles, so you just talk bad on it. This macOS behavior gives the user flexibility of keeping an application running without having an active window running (minimized). The Dock still shows you that it is running, and the user still has the ability to completely quit the application.

There are many other cross-platform applications out there that behave this way on macOS while behaving another way for other OSes. I will give you another chat application example: https://github.com/yakyak/yakyak

@cgatesman I'm not being 'narrow minded', it was not made clear that the application would add itself to the system tray (What you call a dock) when the background service is started. That is fine for something that needs to run in the background, but Keybase does not, unless you want the keybase filesystem.

We are not referring to the service. We are talking about the client. Perhaps I don't understand, but doesn't the client need to stay running in order to receive and be notified of a message from someone?

@cgatesman I wasn't aware Keybase had messaging, that wasn't the case as of Aug of 2016, when I stopped using Keybase. Sorry.

Was this page helpful?
0 / 5 - 0 ratings