Hide App From Dock Mac Lsuielement

Launch Services (part of the Core Services framework in macOS) provides support for launching apps and matching document types to apps. As a result, the keys recognized by Launch Services allow you to specify the desired execution environment for your bundled code. (In iOS, Launch Services is a private API but is still used internally to coordinate the execution environment of iOS apps.)

Dec 28, 2017  1bda6fb. Transforms application into a UIElement agent app when minimize to tray is enabled and the window is hidden. This hides the dock icon and removes the application from the Cmd+Tab listing. The changes work well together with macOS's inbuilt hide feature. Nov 09, 2014  The way you can avoid all aggravation with these programs and get them to hide forcefully is to edit the applications info.plist. To find this file, navigation to where your application resides, usually in the applications folder within OSX. Once there find the application.app and right click and hit “Show Package Contents”.

Launch Services keys use the prefix LS to distinguish them from other keys. For more information about Launch Services in macOS, see Launch Services Programming Guide and Launch Services Reference.

Key Summary

Table 1 contains an alphabetical listing of Launch Services keys, the corresponding name for that key in the Xcode property list editor, a high-level description of each key, and the platforms on which you use it. Detailed information about each key is available in later sections.

Table 1 Summary of Launch Services keys

Key

Xcode name

Summary

Platforms

LSApplicationCategoryType

“Application Category”

Contains a string with the UTI that categorizes the app for the App Store. See LSApplicationCategoryType for details.

macOS

LSApplicationQueriesSchemes

None

Specifies the URL schemes the app is able to test using the canOpenURL: method. See LSApplicationQueriesSchemes for details.

iOS 9.0 and later

LSArchitecturePriority

“Architecture priority”

Contains an array of strings identifying the supported code architectures and their preferred execution priority. See LSArchitecturePriority for details.

macOS

LSBackgroundOnly

“Application is background only”

Specifies whether the app runs only in the background. (Mach-O apps only). See LSBackgroundOnly for details.

macOS

LSEnvironment

“Environment variables”

Contains a list of key/value pairs, representing environment variables and their values. See LSEnvironment for details.

macOS

LSFileQuarantineEnabled

“File quarantine enabled”

Specifies whether the files this app creates are quarantined by default. See LSFileQuarantineEnabled.

macOS

LSFileQuarantineExcludedPathPatterns

None

Specifies directories for which files should not be automatically quarantined. See LSFileQuarantineExcludedPathPatterns.

macOS

LSGetAppDiedEvents

“Application should get App Died events”

Specifies whether the app is notified when a child process dies. See LSGetAppDiedEvents for details.

macOS

LSMinimumSystemVersion

“Minimum system version”

Specifies the minimum version of macOS required for the app to run. See LSMinimumSystemVersion for details.

macOS

LSMinimumSystemVersionByArchitecture

“Minimum system versions, per-architecture”

Specifies the minimum version of macOS required to run a given platform architecture. See LSMinimumSystemVersionByArchitecture for details.

macOS

LSMultipleInstancesProhibited

“Application prohibits multiple instances”

Specifies whether one user or multiple users can launch an app simultaneously. See LSMultipleInstancesProhibited for details.

macOS

LSRequiresIPhoneOS

“Application requires iPhone environment”

Specifies whether the app is an iOS app. See LSRequiresIPhoneOS for details.

iOS

LSRequiresNativeExecution

“Application requires native environment”

Specifies whether the app must run natively on an Intel-based Mac, as opposed to under Rosetta emulation. See LSRequiresNativeExecution for details.

macOS

LSSupportsOpeningDocumentsInPlace

None

Enables your app to directly open original documents, not copies, from other apps. See LSSupportsOpeningDocumentsInPlace for details.

iOS

LSUIElement

“Application is agent (UIElement)”

Specifies whether the app is an agent app, that is, an app that should not appear in the Dock or Force Quit window. See LSUIElement for details.

macOS

LSUIPresentationMode

“Application UI Presentation Mode”

Sets the visibility of system UI elements when the app launches. See LSUIPresentationMode for details.

macOS

LSVisibleInClassic

“Application is visible in Classic”

Specifies whether an agent app or background-only app is visible to other apps in the Classic environment. See LSVisibleInClassic for details.

macOS

MinimumOSVersion

“Minimum system version”

Do not use. Use LSMinimumSystemVersion instead.

iOS

LSApplicationCategoryType

LSApplicationCategoryType (String - macOS) is a string that contains the UTI corresponding to the app’s type. The App Store uses this string to determine the appropriate categorization for the app. Table 2 lists the supported UTIs for apps.

Table 2 UTIs for app categories

Category

UTI

Business

public.app-category.business

Developer Tools

public.app-category.developer-tools

Education

public.app-category.education

Entertainment

public.app-category.entertainment

Finance

public.app-category.finance

Games

public.app-category.games

Graphics & Design

public.app-category.graphics-design

Healthcare & Fitness

public.app-category.healthcare-fitness

Lifestyle

public.app-category.lifestyle

Medical

public.app-category.medical

Music

public.app-category.music

News

public.app-category.news

Photography

public.app-category.photography

Productivity

Mac handwriting to text app. Sep 25, 2019  ‎Best handwriting text recognizer and optical character recognizer app. It is absolutely free for you. You can recognize handwritten text notes, list or any form of text from paper to editable text in your device in just one click.

public.app-category.productivity

Reference

public.app-category.reference

Social Networking

public.app-category.social-networking

Sports

public.app-category.sports

Travel

Note taking apps mac 2015. Jun 28, 2015  Educatorstechnology Sunday, June 28, 2015 Mac note taking apps June 28, 2015 Text Edit is definitely an excellent Mac app for quickly capturing thoughts and ideas. It comes integrated with the OS X on your Mac and provides some pretty decent. ‘Record notes and audio synced with the best note taking app in the App Store! AudioNote combines the functionality of a notepad and voice recorder to create a powerful tool that will save you time while improving the quality of your notes. It’s the perfect app for students or business. 4- Simplenote.

public.app-category.travel

Utilities

public.app-category.utilities

Video

public.app-category.video

Weather

public.app-category.weather

Table 3 lists the UTIs that are specific to games.

Table 3 UTIs for game-specific categories

Category

UTI

Action Games

public.app-category.action-games

Adventure Games

public.app-category.adventure-games

Arcade Games

public.app-category.arcade-games

Board Games

public.app-category.board-games

Card Games

public.app-category.card-games

Casino Games

public.app-category.casino-games

Dice Games

public.app-category.dice-games

Educational Games

public.app-category.educational-games

Family Games

public.app-category.family-games

Kids Games

public.app-category.kids-games

Music Games

public.app-category.music-games

Puzzle Games

public.app-category.puzzle-games

Racing Games

public.app-category.racing-games

Role Playing Games

public.app-category.role-playing-games

Simulation Games

public.app-category.simulation-games

Sports Games

public.app-category.sports-games

Strategy Games

public.app-category.strategy-games

Trivia Games

public.app-category.trivia-games

Word Games

public.app-category.word-games

LSApplicationQueriesSchemes

LSApplicationQueriesSchemes (Array - iOS) Specifies the URL schemes you want the app to be able to use with the canOpenURL: method of the UIApplication class. For each URL scheme you want your app to use with the canOpenURL: method, add it as a string in this array. Read the canOpenURL: method description for important information about declaring supported schemes and using that method.

To learn about the converse operation of registering the URL schemes an app can handle, read the description of the CFBundleURLTypes key.

This key is supported in iOS 9.0 and later.

LSArchitecturePriority

LSArchitecturePriority (Array - macOS) is an array of strings that identifies the architectures this app supports. The order of the strings in this array dictates the preferred execution priority for the architectures. The possible strings for this array are listed in Table 4.

Table 4 Execution architecture identifiers

String

Description

i386

The 32-bit Intel architecture.

ppc

The 32-bit PowerPC architecture.

x86_64

The 64-bit Intel architecture.

ppc64

The 64-bit PowerPC architecture.

If a PowerPC architecture appears before either of the Intel architectures, macOS runs the executable under Rosetta emulation on an Intel-based Mac. To force macOS to use the current platform’s native architecture, include the LSRequiresNativeExecution key in your information property list.

LSBackgroundOnly

LSBackgroundOnly (Boolean - macOS) specifies whether this app runs only in the background. If this key exists and is set to YES, Launch Services runs the app in the background only. You can use this key to create faceless background apps. You should also use this key if your app uses higher-level frameworks that connect to the window server, but are not intended to be visible to users. Background apps must be compiled as Mach-O executables. This option is not available for CFM apps.

LSEnvironment

LSEnvironment (Dictionary - macOS) defines environment variables to be set before launching this app. The names of the environment variables are the keys of the dictionary, with the values being the corresponding environment variable value. Both keys and values must be strings.

These environment variables are set only for apps launched through Launch Services. If you run your executable directly from the command line, these environment variables are not set.

LSFileQuarantineEnabled

LSFileQuarantineEnabled (Boolean - macOS) specifies whether files this app creates are quarantined by default.

Hide app in dock mac

Value

Description

true

Files created by this app are quarantined by default. When quarantining files, the system automatically associates the timestamp, app name, and the bundle identifier with the quarantined file whenever possible. Your app can also get or set quarantine attributes as needed using Launch Services.

false

(Default) Files created by this app are not quarantined by default.

This key is available in macOS 10.5 and later.

LSFileQuarantineExcludedPathPatterns

LSFileQuarantineExcludedPathPatterns (Array - macOS) contains an array of strings indicating the paths for which you want to disable file quarantining. You can use this key to prevent file quarantines from affecting the performance of your app. Each string in the array is a shell-style path pattern, which means that special characters such as ~, *, and ? are automatically expanded according to the standard command-line rules. For example, a string of the form ~/Library/Caches/* would allow you to disable the quarantine for files created by your app in the user’s cache directory.

LSGetAppDiedEvents

LSGetAppDiedEvents (Boolean - macOS) indicates whether the operation system notifies this app when when one of its child process terminates. If you set the value of this key to YES, the system sends your app an kAEApplicationDied Apple event for each child process as it terminates.

LSMinimumSystemVersion

LSMinimumSystemVersion (String - macOS) indicates the minimum version of macOS required for this app to run. This string must be of the form n.n.n where n is a number. The first number is the major version number of the system. The second and third numbers are minor revision numbers. For example, to support macOS v10.4 and later, you would set the value of this key to “10.4.0”.

If the minimum system version is not available, macOS tries to display an alert panel notifying the user of that fact.

LSMinimumSystemVersionByArchitecture

LSMinimumSystemVersionByArchitecture (Dictionary - macOS) specifies the earliest macOS version for a set of architectures. This key contains a dictionary of key-value pairs. Each key corresponds to one of the architectures associated with the LSArchitecturePriority key. The value for each key is the minimum version of macOS required for the app to run under that architecture. This string must be of the form n.n.n where n is a number. The first number is the major version number of the system. The second and third numbers are minor revision numbers. For example, to support macOS 10.4.9 and later, you would set the value of this key to “10.4.9”.

If the current system version is less than the required minimum version, Launch Services does not attempt to use the corresponding architecture. This key applies only to the selection of an execution architecture and can be used in conjunction with the LSMinimumSystemVersion key, which specifies the overall minimum system version requirement for the app.

LSMultipleInstancesProhibited

Hide

LSMultipleInstancesProhibited (Boolean - macOS) indicates whether an app is prohibited from running simultaneously in multiple user sessions. If true, the app runs in only one user session at a time. You can use this key to prevent resource conflicts that might arise by sharing an app across multiple user sessions. For example, you might want to prevent users from accessing a custom USB device when it is already in use by a different user.

Launch Services returns an appropriate error code if the target app cannot be launched. If a user in another session is running the app, Launch Services returns a kLSMultipleSessionsNotSupportedErr error. If you attempt to launch a separate instance of an app in the current session, it returns kLSMultipleInstancesProhibitedErr.

LSRequiresIPhoneOS

LSRequiresIPhoneOS (Boolean - iOS) specifies whether the app can run only on iOS. If this key is set to YES, Launch Services allows the app to launch only when the host platform is iOS.

LSRequiresNativeExecution

LSRequiresNativeExecution (Boolean - macOS) specifies whether to launch the app using the subbinary for the current architecture. If this key is set to YES, Launch Services always runs the app using the binary compiled for the current architecture. You can use this key to prevent a universal binary from being run under Rosetta emulation on an Intel-based Mac. For more information about configuring the execution architectures, see LSArchitecturePriority.

LSSupportsOpeningDocumentsInPlace

Hide App In Dock Mac

Hide app from dock mac

LSSupportsOpeningDocumentsInPlace (Boolean - iOS) When set to a value of YES, enables your app to open the original document from a file provider, rather than a copy of the document. The app can access documents from the system’s local file provider, the iCloud file provider, and any third-party File Provider extensions that support opening documents in place.

The URL for a document opened in place is security-scoped. For information about working with security-scoped URLs and bookmarks, read the overview in NSURL Class Reference and read Document Provider in App Extension Programming Guide.

Important: When opening a document in place, other processes can modify the document at any time. Therefore, you must coordinate your access to the document using either a UIDocument subclass or NSFilePresenter and NSFileCoordinator objects.

In iOS 11 and later, if both this key and the UIFileSharingEnabled key are YES, the local file provider grants access to all the documents in the app’s Documents directory. These documents appear in the Files app, and in a document browser. Users can open and edit these document in place.

LSUIElement

LSUIElement (Boolean - macOS) specifies whether the app runs as an agent app. If this key is set to YES, Launch Services runs the app as an agent app. Agent apps do not appear in the Dock or in the Force Quit window. Although they typically run as background apps, they can come to the foreground to present a user interface if desired. A click on a window belonging to an agent app brings that app forward to handle events.

The Dock and loginwindow are two apps that run as agent apps.

LSUIPresentationMode

LSUIPresentationMode (Number - macOS) identifies the initial user-interface mode for the app. You would use this in apps that may need to take over portions of the screen that contain UI elements such as the Dock and menu bar. Most modes affect only UI elements that appear in the content area of the screen, that is, the area of the screen that does not include the menu bar. However, you can request that all UI elements be hidden as well.

This key is applicable to both Carbon and Cocoa apps and can be one of the following values:

Value

Description

0

Normal mode. In this mode, all standard system UI elements are visible. This is the default value.

1

Content suppressed mode. In this mode, system UI elements in the content area of the screen are hidden. UI elements may show themselves automatically in response to mouse movements or other user activity. For example, the Dock may show itself when the mouse moves into the Dock’s auto-show region.

2

Content hidden mode. In this mode, system UI elements in the content area of the screen are hidden and do not automatically show themselves in response to mouse movements or user activity.

3

All hidden mode. In this mode, all UI elements are hidden, including the menu bar. Elements do not automatically show themselves in response to mouse movements or user activity.

4

All suppressed mode. In this mode, all UI elements are hidden, including the menu bar. UI elements may show themselves automatically in response to mouse movements or other user activity. This option is available only in macOS v10.3 and later.

LSVisibleInClassic

LSVisibleInClassic (String - macOS). If this key is set to “1”, any agent apps or background-only apps with this key appears as background-only processes to the Classic environment. Agent apps and background-only apps without this key do not appear as running processes to Classic at all. Unless your process needs to communicate explicitly with a Classic app, you do not need to include this key.

MinimumOSVersion

MinimumOSVersion (String - iOS). When you build an iOS app, Xcode uses the iOS Deployment Target setting of the project to set the value for the MinimumOSVersion key. Do not specify this key yourself in the Info.plist file; it is a system-written key. When you publish your app to the App Store, the store indicates the iOS releases on which your app can run based on this key. It is equivalent to the LSMinimumSystemVersion key in macOS.



Copyright © 2018 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2018-06-04


Hide any program's dock icon | 29 comments | Create New Account
Click here to return to the 'Hide any program's dock icon' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.

Works great except if I have things set to start up at log in the icon appears in the dock. I have to quit the app then restart it.
Anyone know a work around?

This tip only works with Cocoa Apps. Carbon apps don't have a file called 'Info.plist'.

Actually, no. If the Carbon app uses a bundle, you can add that key/value pair to its Info.plist and it works fine. If not, you should be able to add the relevant information to its 'plst' resource. I just did it with iTunes (which is a bundle), and it worked fine.
Unfortunately, there's a side effect - no menubar. Good for LaunchBar, which is designed to have its menubar hidden, but not so good for Joe Random Program.
I seem to remember there is another key you can use, something like 'ShowInDock', that -just- removes it from the dock, not anything else. Can't find it now though.

'If not, you should be able to add the relevant information to its 'plst' resource.'
uh.. like.. how do you do this?

What I did - (to get rid of dock icon for PiDock)
  • make a copy of PiDock.
  • Open ResEdit (works just fine in Classic)
  • Open PiDock in ResEdit
  • Open the plst resource
  • To the right you see scrunched up xml. Select one of the key/string pairs that's there including the '^' delimiter and paste it in next to itself.
  • change the value of the key element to NSUIElement
  • change the value of the string element to 1
  • save it, close it, launch it.
  • Voila. No dock icon.

    • cool.

In Jaguar, they have apparently changed the plist item named NSUIElement to LSUIElement. Although NSUIElement still works, you should begin to switch to the new terminology.

Does this still work in Panther? I've tried setting NSUIElement and LSUIElement to 1 in wClock's Info.plist file, and wClock still shows up in my dock.
Scott

The NSUIElement works with wClock, but I had to log out and log back into my account before it would hide the dock icon.
The only thing was that I not only lost the menu bar but I lost the ability to call up the calendar as well.

I am not a guru and i wanted just that outlook express icon doesn't appear on the dock when the application has been opened.
I haven't found any .plist file that refers to outlook express, and opening the .app file with resedit i can't find any 'plist resource'.
Isn't there a normal way to persecute this simple aim? (I am a windows programmer and with that terrible OS all this things are very simple to do)
thanks (I am really getting crazy for this problem)

I thought this one was good for iTunes, which really doesn't need a dock icon anymore because of the iTunes docklet. But with this hit you can't access iTunes' menu bar anymore. It there any method to hide the dock icon without toughing the remaining functionality? Thanks for any hint!

Submitted as a new hint:
According to the Launchbar application's website:
Modifying the 'Info.plist' file to remove the LaunchBar icon from the Dock no longer takes effect immediately. Mac OS X 10.3 now seems to cache the corresponding information. In order to invalidate this cache it seems to help to move the application to a different location after the modification (e.g. move it temporarily to the Desktop, then back to the Applications folder).
I verified this and it works.. yeah!

Anyone have an idea how to, instead of removing the icons, placing them in a folder that sits in the dock. That way only taking the space of one icon but the apps are still accessable by the user. Like Dock Extenders drop down menu's exept instead with open apps rather than files/folders/apps.. get my drift?
Should be possible :)

After I entered the code to the Info.plist, the Sherlock icon just jumped in the dock a few times and disappeared. However I couldn't find the app running anywhere? Where have I done wrong? thx

same problem as capitano. Quicksilver works without a dock icon and WITH a menubar, as does VirtueDestop. That's how i would like my apps that have menubar items to work. is this possible?

btw, both of those programs have the code within them, though Quicksilver uses [integer] instead of [string]

How To Hide Apps On Mac Dock

This page is #1 if one googles 'hide dock icon mac', so I thought I'd give it an update.
In 10.4.10, one adds the following instead to the plist (after <dict>):
<key>LSUIElement</key>
<string>1</string>
Remember to move the program temporarilty to another location and open it, in order to de-cache the plist.

Anyone got this working on Leopard? Seems all my hidden apps refuse to disappear any longer.

Good info, ebeans..
I just did this with DragThing v5.6, running under OS X 10.4.11.
It worked perfectly; no more DragThing icon in my dock.
Thanks!

..But now I'm laughing at myself.
I just noticed after editing the DragThing plist file, as ebeans suggested, that—while I no longer have the DragThing icon in my Dock—I do see its little menulet icon in my Main menu bar.
And I'm laughing even harder because upon further investigation I discovered I could've have done this by going into DragThing's preferences.
HEH! @ Me!

The DockDodger application automates this.

This doesn't work for me at all for several reasons I guess..
First of all I'm running on Leopard 10.5.2 which is more than you can say about the guys in the other posts..
My main problem is pretty simple the code that you guys tell me to implement is already there, just as you guys typed it, but the icon is still present in the dock.!?
And the Dock Dodger App is worthless !!!
I've tried using it and so far it has only been able to remove itself from the dock :/
Everything else stays the same, even after a reboot.
So basically what I'm asking for is if anybody has a solution for this? :D
Feel free to PM/Email me if you do :D

Recording and playback times given in the following tables are approximate and vary according to recording mode and charging, recording or playback conditions. https://serieslucky.netlify.app/canon-vixia-hf-s21-software-mac.html.

Are you sure the value is set to 1?
I'm running 10.5.2 as well, and I just used this hack for MenuCalendarClock .. works like a charm

I'm having the same problem on OS X 10.5.3. The fix recommended here is well documented by Apple, and I've found a ton of references to it throughout the web.
I'm moving the file after editing the info.plist but before running it. I'm using the Property List Editor that ships with the Xcode tools, and setting the property (as text) to '1'.
I must be missing something. Can anyone recommend any troubleshooting ideas?

Hi!

Hm, is that supposed to still work in 10.5.7?

Hide App From Dock Mac

I wanted to hide the icon for the Goolge Quick Search Box. So I opened the Info.plist — but, as you can see, the file seems to be binary, or something.

How would you go about hiding the Dock icon for the Google QSB, or for just any program for that matter?

Thanks,
Alexander

well, I think NSUIElement was an older version of the plist property. it still works (apparently), but it's not documented (see here). in Leopard, the key to use seems to be LSUIElement. as to why the google info.plist file is mis-behaving.. you're sure it's not corrupt? try downloading a fresh version. it gives an unknows core foundation error even when I try to open it in TextWrangler (which shouldn't be the case - TextWrangler should just open it passively)

You don't have to edit the plist with Property List Editor; /usr/bin/defaults can do it too. Example:

defaults write /Applications/Stickies.app/Contents/Info LSUIElement 1

Set it back to 0 to un-hide it.

Sadly the LSUIElement setting affects not only the Dock icon but also the presence of a menu bar.. so if you want a menu bar but not a Dock icon this LSUIElement setting won't help.

You may need the developer tools to get Property List Editor which can open binary plist files.
You can register for free at http://developer.apple.com
BTW, this tip worked for me on 10.5.8.

If you use the property list editor that is part of the developer tools, you can just edit info.plist, add a child to 'Information Property List', and select from the dropdown that appears, 'Application is Agent (UIElement)'.

Hide App From Dock

I tried this with Skype on 10.8 and it kept crashing. I checkout out the Info.plist for TextExpander (which comes with the no-dock-icon functionality and found this:
<key>LSUIElement</key>
<true/>

Works great!

Comments are closed.