Adium

Ticket #7410 (closed enhancement: wontfix)

Opened 3 years ago

Last modified 9 days ago

Full menu bar mode

Reported by: Tensaiji Owned by: nobody
Milestone: Component: Adium UI
Version: Severity: normal
Keywords: Menu bar preferences window Cc:
Patch Status:

Description

I (and I'm sure, many other people) would like to run adium as a background application that sits in the menu bar without a dock icon, but currently this is rather impractical for two reasons.

1. It is possible to hide the dock icon by adding a LSUIElement node to Adium.app/Contents/Info.plist, but this is harder than it needs to be and is beyond what a casual user would be willing to do. But this should be easy to fix in a future version

2. However, once you hide the dock icon, it's no longer possible to access the normal menus for adium as they do not appear for background applications. This is annoying, but it would be liveable if we could just access the preferences from the menu bar icon. I'm sure that if "Show Contact List" can be added to the menu bar icon, then so can "Show Preferences". Right?

I'm suggesting that we add something to the preferences to enable menu bar only mode, or something, to hide the dock icon, and add a show preferences option to the menu that comes down from the menu bar icon.

Change History

  Changed 3 years ago by jas8522

  • milestone set to Good idea for "later"

follow-up: ↓ 5   Changed 2 years ago by zacw

  • status changed from new to closed
  • resolution set to wontfix

We have no plans to do this.

  Changed 2 years ago by Robby

  • milestone Good idea for "later" deleted

  Changed 12 months ago by mail@…

Why "wontfix"?

in reply to: ↑ 2   Changed 12 months ago by Robby

Because Replying to zacw:

We have no plans to do this.

follow-up: ↓ 7   Changed 12 months ago by mail@…

Thank you for the reply. In my opinion this feature is
a) quite easy to implement (I guess the  Quicksilver implementation would help a lot) and b) worth to work on it.

With this option enabled most of the users would also enable the autostart feature (btw: would also be a good option field in the preferences) and have Adium running in the background all the time. This would be similar to the iChat workflow.

Unfortunately editing the Info.plist file by hand is not an option since Adium is not able to access the keychain anymore.

in reply to: ↑ 6   Changed 12 months ago by Robby

Replying to mail@…:

Thank you for the reply.

You're welcome.

Problem is that one of the two currently active Adium developers, Zac (zacw), spoke for the Team when he said they are not going to do it.

However, patches are welcome. So if it is "quite easy to implement" then I guess they'd be happy to review your patch. :)

  Changed 12 months ago by mail@…

Well, since Adium.app is a signed application (and so we/I can not modify the Info.plist file to change the UIElement key) the best solutions I've found are based on this  excellent article:

  1. there's no way to do this with Cocoa, but it is possible with a tiny bit of Carbon code.
  2. making a helper app that handles the dock icon exclusively. Adium.app must contain other .app packages within its Contents/Resources directory: "Adium Status.app" which is a dockless app with status menu item and "Adium.app", a docked app. Seems to work pretty smoothly and depending on the users preferences the one or the other one is getting started.
  3. provide two versions of Adium.app: one with dock icon and one without (the only difference would be the UIElement setting in the Info.plist)


I understand that you've no interest in implementing this, but at least this issue is now more or less well documented here.

follow-ups: ↓ 10 ↓ 11   Changed 12 months ago by mail@…

Again just for the records: I finally found a solution that works for me.

Do this once

  1.  create a self-signed certificate and set the trust level.
  2. create the patch file "Info.plist.patch":
    @@ -420,6 +420,8 @@
     	<string>10.4.0</string>
     	<key>LSRequiresNativeExecution</key>
     	<true/>
    +	<key>LSUIElement</key>
    +	<string>1</string>
     	<key>NSAppleScriptEnabled</key>
     	<true/>
     	<key>NSMainNibFile</key>
    

Do this after every new release

  1. download Adium.app
  2. patch Adium.app/Contents/Info.plist < Info.plist.patch
  3. codesign -f -s MyOwnCertificate Adium.app

in reply to: ↑ 9   Changed 3 months ago by blurback

Replying to mail@…:

Again just for the records: I finally found a solution that works for me.

Thank you. Worked for me as well.

in reply to: ↑ 9   Changed 9 days ago by valambhiajn

Replying to mail@…:

I can also confirm that this works for me too.

Thank you.

Note: See TracTickets for help on using tickets.