diff options
author | Vladimir Vukicevic <vladimir@pobox.com> | 2016-07-29 18:56:56 -0400 |
---|---|---|
committer | Vladimir Vukicevic <vladimir@pobox.com> | 2016-08-17 09:50:58 -0400 |
commit | 0e328715918d509dcaad719d974b85cf7519c285 (patch) | |
tree | 3d875a95fc4f0f40d8de61d2e63b60a47b672e32 /python/servo/build_commands.py | |
parent | 82df8e9399cad363ba2ff1fbe5350327935d8289 (diff) | |
download | servo-0e328715918d509dcaad719d974b85cf7519c285.tar.gz servo-0e328715918d509dcaad719d974b85cf7519c285.zip |
Add proper Win32 notification for builds
Diffstat (limited to 'python/servo/build_commands.py')
-rw-r--r-- | python/servo/build_commands.py | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 9771a7c9b8a..9ff87249d18 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -42,26 +42,31 @@ def notify_linux(title, text): def notify_win(title, text): - from ctypes import Structure, windll, POINTER, sizeof - from ctypes.wintypes import DWORD, HANDLE, WINFUNCTYPE, BOOL, UINT + try: + from servo.win32_toast import WindowsToast + w = WindowsToast() + w.balloon_tip(title, text) + except: + from ctypes import Structure, windll, POINTER, sizeof + from ctypes.wintypes import DWORD, HANDLE, WINFUNCTYPE, BOOL, UINT - class FLASHWINDOW(Structure): - _fields_ = [("cbSize", UINT), - ("hwnd", HANDLE), - ("dwFlags", DWORD), - ("uCount", UINT), - ("dwTimeout", DWORD)] + class FLASHWINDOW(Structure): + _fields_ = [("cbSize", UINT), + ("hwnd", HANDLE), + ("dwFlags", DWORD), + ("uCount", UINT), + ("dwTimeout", DWORD)] - FlashWindowExProto = WINFUNCTYPE(BOOL, POINTER(FLASHWINDOW)) - FlashWindowEx = FlashWindowExProto(("FlashWindowEx", windll.user32)) - FLASHW_CAPTION = 0x01 - FLASHW_TRAY = 0x02 - FLASHW_TIMERNOFG = 0x0C + FlashWindowExProto = WINFUNCTYPE(BOOL, POINTER(FLASHWINDOW)) + FlashWindowEx = FlashWindowExProto(("FlashWindowEx", windll.user32)) + FLASHW_CAPTION = 0x01 + FLASHW_TRAY = 0x02 + FLASHW_TIMERNOFG = 0x0C - params = FLASHWINDOW(sizeof(FLASHWINDOW), - windll.kernel32.GetConsoleWindow(), - FLASHW_CAPTION | FLASHW_TRAY | FLASHW_TIMERNOFG, 3, 0) - FlashWindowEx(params) + params = FLASHWINDOW(sizeof(FLASHWINDOW), + windll.kernel32.GetConsoleWindow(), + FLASHW_CAPTION | FLASHW_TRAY | FLASHW_TIMERNOFG, 3, 0) + FlashWindowEx(params) def notify_darwin(title, text): @@ -100,7 +105,7 @@ def notify(title, text): platforms = { "linux": notify_linux, "linux2": notify_linux, - "win": notify_win, + "win32": notify_win, "darwin": notify_darwin } func = platforms.get(sys.platform) @@ -256,7 +261,7 @@ class MachCommands(CommandBase): if "msvc" in host_triple(): call(["editbin", "/nologo", "/subsystem:windows", path.join(servo_exe_dir, "servo.exe")], verbose=verbose) - + elif sys.platform == "darwin": # On the Mac, set a lovely icon. This makes it easier to pick out the Servo binary in tools # like Instruments.app. |