v1.3.0
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.)
Added
-
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):- label
- path
- filename with extension
- filename without extension
The
match_on
parameter can be specified to select only one of those attributes to match, if desired. See thefindExistingEntry
function docstring for available parameters and values.
Changed
-
The
findExistingLabel
function is now simply a pointer to the newfindExistingEntry
function.findExistingLabel
will be maintained for backward-compatibility. -
The
removeDockEntry
function has a newmatch_on
parameter that mirrors the same parameter infindExistingEntry
. 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 specifymatch_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 deprecatedlabel
parameter).match_on
, which mirrors the same parameter infindExistingEntry
. Default behavior is to match on the same attributes listed above, in the same order of preference.
Deprecated
-
The
label
parameter ofreplaceDockEntry
is deprecated, and it's encouraged to usematch_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.