Python module intended to assist IT administrators with manipulation of the macOS Dock.
This release fixes compatibility with Python 10.12 by removing the dependencies on distutils.versions
. (Thanks to @arubdesu for #42.)
/usr/bin/python
.AllowDockFixupOverride
, show-recents
, recent-apps
, dblclickbehavior
, show-recents-immutable
, and windowtabbing
keys on macOS versions prior to Big Sur 11.0.makeDockAppSpacer()
parameter name has changed from type
to tile_type
. Please update your scripts if you use this function.is-beta
preference key present in macOS Sonoma Dock tiles.The focus of this release is to make docklib functions less focused on dock item labels, since labels can change depending on the user's selected language. (See #32 for details.)
A new findExistingEntry
function that can find dock items based on several attributes.
The default behavior of findExistingEntry
is to match the provided string on (in order of preference):
The match_on
parameter can be specified to select only one of those attributes to match, if desired. See the findExistingEntry
function docstring for available parameters and values.
The findExistingLabel
function is now simply a pointer to the new findExistingEntry
function. findExistingLabel
will be maintained for backward-compatibility.
The removeDockEntry
function has a new match_on
parameter that mirrors the same parameter in findExistingEntry
. Default behavior is to match on the same attributes listed above, in the same order of preference. (This is a change in behavior from previous versions of docklib. If you prefer to continue removing items solely based on label, you should specify match_on="label"
in your function call.)
The replaceDockEntry
function has two new parameters:
match_str
, which allows specifying the item intended to be replaced in the dock (replaces the now deprecated label
parameter).match_on
, which mirrors the same parameter in findExistingEntry
. Default behavior is to match on the same attributes listed above, in the same order of preference.The label
parameter of replaceDockEntry
is deprecated, and it's encouraged to use match_str
instead. This allows existing items to be replaced based on multiple attributes rather than just label. As stated above, this makes dock customization scripts more reliable in multilingual environments.
A warning has been added that alerts administrators to this deprecation.
This is the last release of docklib that will support Python 2. Future releases will only be tested in Python 3.
If you haven't started bundling a Python 3 runtime for your management tools, this blog article from @scriptingosx is a good read. Also: a reminder that docklib is already included in the "recommended" flavor of the macadmins/python packages.
(Includes changes from briefly-published versions 1.1.0 and 1.1.1.)
pip
and more easily bundle it in custom Python frameworks. Adjusted repo file structure to match Python packaging standards.findExistingURL()
and removeDockURLEntry()
functions for handling URL items.mod-count
)Initial release of docklib, forked from @gregneagle.