Skip to content

Commit

Permalink
preferred contrast setting: no default contrast
Browse files Browse the repository at this point in the history
* there is no more default contrast black or white
* default contrast is now empty which means "normal" icon version of an app without any contrast is shown in keypirinha
  • Loading branch information
ueffel committed Oct 6, 2020
1 parent 4af8647 commit 4d8bb00
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 28 deletions.
6 changes: 3 additions & 3 deletions windowsapps.ini
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@

# Windows App icons may have black and white contrast options.
# To improve visibility in Keypirinha a preferred contrast can be chosen that tries to force the correct contrast, if possible.
# Options are: black (for white icons) and white (for black icons)
# Options are: empty for default icons, black (for white icons) and white (for black icons)
#
# Default: black
#preferred_contrast = black
# Default:
#preferred_contrast =


# Disables cataloging items, that link directly to a page in the system settings
Expand Down
44 changes: 19 additions & 25 deletions windowsapps.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class WindowsApps(kp.Plugin):

DEFAULT_ITEM_LABEL = "Windows App:"
DEFAULT_SHOW_MISC_APPS = False
DEFAULT_PREFERRED_CONTRAST = "black"
DEFAULT_PREFERRED_CONTRAST = ""
STORE_PREFIX = "ms-windows-store://pdp/?PFN={}"
ACTION_RUN_NORMAL = "run_normal"
ACTION_RUN_ELEVATED = "run_elevated"
Expand All @@ -34,33 +34,27 @@ def _get_icon(self, name, icon_path):
"""Create a list of possible logo files to show as icon for a window app
"""
base_path = os.path.splitext(icon_path)
dirname = os.path.dirname(base_path[0])
basename = os.path.basename(base_path[0])
logos = []
logos.extend(glob.glob(icon_path))
logos.extend(glob.glob("{}.scale-*{}".format(base_path[0], base_path[1])))
logos.extend(glob.glob("{}/scale-*/{}{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/scale-*/{}{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}.targetsize-*{}".format(base_path[0], base_path[1])))
logos.extend(glob.glob("{}.contrast-*{}".format(base_path[0], base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}.contrast-*{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}.scale-*{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/contrast-*/scale-*/{}{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/scale-*/{}.contrast-*{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))
logos.extend(glob.glob("{}/scale-*/contrast-*/{}{}".format(os.path.dirname(base_path[0]),
os.path.basename(base_path[0]),
base_path[1])))

logos_preferred = [logo for logo in logos if "contrast-{}".format(self._preferred_contrast) in logo]
logos.extend(glob.glob("{}/contrast-*/{}{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}.contrast-*{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}.scale-*{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/contrast-*/{}.targetsize-*{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/contrast-*/scale-*/{}{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/scale-*/{}.contrast-*{}".format(dirname, basename, base_path[1])))
logos.extend(glob.glob("{}/scale-*/contrast-*/{}{}".format(dirname, basename, base_path[1])))

if self._preferred_contrast:
logos_preferred = [logo for logo in logos if "contrast-{}".format(self._preferred_contrast) in logo]
else:
logos_preferred = [logo for logo in logos if "contrast-" not in logo]

if logos_preferred:
logos = logos_preferred

Expand Down Expand Up @@ -114,7 +108,7 @@ def _read_config(self):
self._preferred_contrast = settings.get_enum("preferred_contrast",
"main",
self.DEFAULT_PREFERRED_CONTRAST,
["black", "white"])
["black", "white", ""])
self.dbg("preferred_contrast =", self._preferred_contrast)
preferred_contrast_after = self._preferred_contrast
if preferred_contrast_before != preferred_contrast_after:
Expand Down

0 comments on commit 4d8bb00

Please # to comment.