Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SavageCore/2ef63039c95779ae8081 to your computer and use it in GitHub Desktop.
Save SavageCore/2ef63039c95779ae8081 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sublime_plugin
import subprocess
from time import sleep
import sys
cl = lambda line: subprocess.Popen(line, shell=True, stdout=subprocess.PIPE).communicate()[0].strip()
log = lambda message: sys.stderr.write("Log: %s\n" % message)
sublimeMainWindowTitle = " - Sublime Text (UNREGISTERED)"
class LicenseWindowKiller(sublime_plugin.EventListener):
def seek_n_close(self):
sublimePid = int(cl("""wmctrl -lp | grep "%s" | awk '{print $3}'""" % sublimeMainWindowTitle).decode())
if sublimePid:
sublimeMainWindowId = cl("""wmctrl -lp | grep "%s" | awk '{print $1}'""" % sublimeMainWindowTitle).decode()
sublimeSecondWindowId = cl("""wmctrl -lp | grep %s | awk '{ids[$1]++}{for (id in ids){if (id != "%s"){printf id}}}'""" % (sublimePid, sublimeMainWindowId)).decode()
if sublimeSecondWindowId:
sublimeSecondWindowTitle = cl("""wmctrl -lp | grep %s | awk '{print $5}'""" % sublimeSecondWindowId).decode()
if not sublimeSecondWindowTitle:
cl("wmctrl -i -c %s" % sublimeSecondWindowId)
return True
return False
def on_pre_save_async(self, *args):
seek = True
counter = 10
while seek:
sleep(.5)
counter -= 1
if counter < 0:
seek = False
seek = not self.seek_n_close()
@sirber
Copy link

sirber commented Mar 27, 2019

thats work in sublime Text 3?

Should, but on linux only

@halimkun
Copy link

How to use it ?

@SavageCore
Copy link
Author

@ruped24
Copy link

ruped24 commented Feb 2, 2020

thats work in sublime Text 3?

Give this version a try... tested on Linux:
https://gist.github.com/ruped24/a0fd0272a8ef56441cafb44c753310e0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment