diff --git a/ColorPicker.sublime-settings b/ColorPicker.sublime-settings index 7448a25..3d552e7 100644 --- a/ColorPicker.sublime-settings +++ b/ColorPicker.sublime-settings @@ -1,5 +1,8 @@ { // For upper-case output (#ABCDEF), set "color_upper_case" to true // For lower-case (#abcdef), use false - "color_upper_case": true + "color_upper_case": true, + + // Set false to use the default windows colorpicker + "win_use_new_picker": true } diff --git a/lib/win_colorpicker.exe b/lib/win_colorpicker.exe new file mode 100644 index 0000000..81e77ac Binary files /dev/null and b/lib/win_colorpicker.exe differ diff --git a/sublimecp.py b/sublimecp.py index e21312e..b17b20e 100755 --- a/sublimecp.py +++ b/sublimecp.py @@ -281,6 +281,7 @@ class ColorPicker(object): def pick(self, window, starting_color=None): start_color = None start_color_osx = None + win_use_new_picker = False if starting_color is not None: svg_color_hex = self.SVGColors.get(starting_color, None) @@ -292,25 +293,35 @@ def pick(self, window, starting_color=None): start_color_osx = starting_color if sublime.platform() == 'windows': - color = win_pick(window, start_color) + s = sublime.load_settings("ColorPicker.sublime-settings") + win_use_new_picker = s.get('win_use_new_picker', True) + if win_use_new_picker: + args = [os.path.join(sublime.packages_path(), binpath)] + if start_color: + args.append(start_color) + else: + color = win_pick(window, start_color) elif sublime.platform() == 'osx': args = [os.path.join(sublime.packages_path(), binpath)] if start_color_osx: args.append('-startColor') args.append(start_color_osx) - else: args = [os.path.join(sublime.packages_path(), binpath)] if start_color: args.append(start_color) - if sublime.platform() != 'windows': + if sublime.platform() != "windows" or win_use_new_picker: proc = subprocess.Popen(args, stdout=subprocess.PIPE) color = proc.communicate()[0].strip() if color: - if sublime.platform() != 'windows' or sublime_version == 2: + if ( + sublime.platform() != 'windows' or + win_use_new_picker or + sublime_version == 2 + ): color = color.decode('utf-8') return color @@ -379,8 +390,10 @@ def run(self, edit): libdir = os.path.join('ColorPicker', 'lib') if sublime.platform() == 'osx': binpath = os.path.join(libdir, 'osx_colorpicker') -else: +elif sublime.platform() == 'linux': binpath = os.path.join(libdir, 'linux_colorpicker.py') +else: + binpath = os.path.join(libdir, 'win_colorpicker.exe') def plugin_loaded():