Exemple #1
0
def focus_st():
    if get_setting('disable_focus_hack', False):
        return

    sublime_command = get_sublime_exe()

    if sublime_command is not None:
        platform = sublime.platform()
        plat_settings = get_setting(platform, {})
        wait_time = plat_settings.get('keep_focus_delay', 0.5)

        # osx is a special snowflake
        if platform == 'osx':
            # sublime_command should be /path/to/Sublime Text.app/Contents/...
            sublime_app = sublime_command.split('/Contents/')[0]

            def keep_focus():
                external_command([
                    'osascript', '-e',
                    'tell application "{0}" to activate'.format(sublime_app)
                ],
                                 use_texpath=False)
        else:

            def keep_focus():
                external_command([sublime_command], use_texpath=False)

        if hasattr(sublime, 'set_async_timeout'):
            sublime.set_async_timeout(keep_focus, int(wait_time * 1000))
        else:
            sublime.set_timeout(keep_focus, int(wait_time * 1000))
def focus_st():
    if get_setting('disable_focus_hack', False):
        return

    sublime_command = get_sublime_exe()

    if sublime_command is not None:
        platform = sublime.platform()
        plat_settings = get_setting(platform, {})
        wait_time = plat_settings.get('keep_focus_delay', 0.5)

        # osx is a special snowflake
        if platform == 'osx':
            # sublime_command should be /path/to/Sublime Text.app/Contents/...
            sublime_app = sublime_command.split('/Contents/')[0]

            def keep_focus():
                external_command(
                    [
                        'osascript', '-e',
                        'tell application "{0}" to activate'.format(
                            sublime_app
                        )
                    ],
                    use_texpath=False
                )
        else:
            def keep_focus():
                external_command([sublime_command], use_texpath=False)

        if hasattr(sublime, 'set_async_timeout'):
            sublime.set_async_timeout(keep_focus, int(wait_time * 1000))
        else:
            sublime.set_timeout(keep_focus, int(wait_time * 1000))
def focus_st():
	sublime_command = get_sublime_exe()

	if sublime_command is not None:
		platform = sublime.platform()
		# TODO: this does not work on OSX
		# and I don't know why...
		if platform == 'osx':
			return

		plat_settings = get_setting(platform, {})
		wait_time = plat_settings.get('keep_focus_delay', 0.5)

		def keep_focus():
			startupinfo = None
			shell = False
			if platform == 'windows':
				startupinfo = subprocess.STARTUPINFO()
				startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
				shell = _ST3

			subprocess.Popen(
				sublime_command,
				startupinfo=startupinfo,
				shell=shell,
				env=os.environ
			)

		if hasattr(sublime, 'set_async_timeout'):
			sublime.set_async_timeout(keep_focus, int(wait_time * 1000))
		else:
			sublime.set_timeout(keep_focus, int(wait_time * 1000))
            def wait_for_load():
                if view.is_loading():
                    sublime.set_async_timeout(wait_for_load, 10)

                view.set_scratch(True)
                view.set_name(RTB_FILENAME)
                view.set_syntax_file(RTB_SYNTAX_FILE)

                view.settings().set('line_numbers', False)