From 6a4c7de6510e914b029a36461e2777633eb69060 Mon Sep 17 00:00:00 2001 From: Aaron Eikenberry Date: Wed, 2 Aug 2017 23:20:31 -0500 Subject: [PATCH 1/2] fixes mac wallpaper --- pywal/wallpaper.py | 9 +-------- tests/test_sequences.py | 5 +++++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pywal/wallpaper.py b/pywal/wallpaper.py index dae0f24..17c60a1 100644 --- a/pywal/wallpaper.py +++ b/pywal/wallpaper.py @@ -83,14 +83,7 @@ def set_desktop_wallpaper(desktop, img): def set_mac_wallpaper(img): """Set the wallpaper on macOS.""" - db_file = HOME / "Library/Application Support/Dock/desktoppicture.db" - subprocess.call(["sqlite3", db_file, f"update data set value = '{img}'"]) - - # Kill the dock to fix issues with cached wallpapers. - # macOS caches wallpapers and if a wallpaper is set that shares - # the filename with a cached wallpaper, the cached wallpaper is - # used instead. - util.disown(["killall", "Dock"]) + subprocess.Popen(f"""osascript -e 'tell application "Finder" to set desktop picture to POSIX file "{img}"'""", shell=True) def change(img): diff --git a/tests/test_sequences.py b/tests/test_sequences.py index dd69e62..66f4084 100755 --- a/tests/test_sequences.py +++ b/tests/test_sequences.py @@ -29,6 +29,11 @@ class Testsequences(unittest.TestCase): result = sequences.set_color(11, COLORS["colors"]["color0"]) self.assertEqual(result, "\033]4;11;#1F211E\007") + def test_set_iterm_tab_color(self): + """> Create iterm tab color sequences""" + result = sequences.set_iterm_tab_color(COLORS["special"]["background"]) + self.assertEqual(len(result), 3) + if __name__ == "__main__": unittest.main() From 282605376dc017cfe8a7d562e4a7e3f78bcb63f1 Mon Sep 17 00:00:00 2001 From: Aaron Eikenberry Date: Wed, 2 Aug 2017 23:41:51 -0500 Subject: [PATCH 2/2] reverts unsafe shell=True, add option for skipping reload environment --- pywal/__main__.py | 7 ++++++- pywal/wallpaper.py | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pywal/__main__.py b/pywal/__main__.py index 460d77b..dbca515 100644 --- a/pywal/__main__.py +++ b/pywal/__main__.py @@ -65,6 +65,9 @@ def get_args(args): arg.add_argument("-v", action="store_true", help="Print \"wal\" version.") + arg.add_argument("-e", action="store_true", + help="Skip Reloading Environment gtk/xrdb/i3/polybar") + return arg.parse_args(args) @@ -114,7 +117,9 @@ def process_args(args): wallpaper.change(colors_plain["wallpaper"]) export.every(colors_plain) - reload.env() + + if not args.e: + reload.env() if args.o: util.disown([args.o]) diff --git a/pywal/wallpaper.py b/pywal/wallpaper.py index 17c60a1..f1ce1dd 100644 --- a/pywal/wallpaper.py +++ b/pywal/wallpaper.py @@ -83,7 +83,14 @@ def set_desktop_wallpaper(desktop, img): def set_mac_wallpaper(img): """Set the wallpaper on macOS.""" - subprocess.Popen(f"""osascript -e 'tell application "Finder" to set desktop picture to POSIX file "{img}"'""", shell=True) + db_file = HOME / "Library/Application Support/Dock/desktoppicture.db" + subprocess.call(["sqlite3", db_file, f"update data set value = '{img}'"]) + + # Kill the dock to fix issues with cached wallpapers. + # macOS caches wallpapers and if a wallpaper is set that shares + # the filename with a cached wallpaper, the cached wallpaper is + # used instead. + subprocess.call(["killall", "Dock"]) def change(img):