Skip to content

Instantly share code, notes, and snippets.

@emersonmx
Created February 11, 2021 12:18
Show Gist options
  • Save emersonmx/6243328e8ae7a8525af99e2db34eba7a to your computer and use it in GitHub Desktop.
Save emersonmx/6243328e8ae7a8525af99e2db34eba7a to your computer and use it in GitHub Desktop.
Wnck example
#!/usr/bin/env python
import gi
gi.require_version("Wnck", "3.0")
from gi.repository import Wnck, Gdk, GLib
def on_window_destroy(screen, window):
print(screen, window)
def on_window_opened(screen, window):
if not window:
return
print("Opened: ", window.get_name())
def on_active_window_changed(screen, window):
active_window = screen.get_active_window()
if not active_window:
return
print("Actived: ", active_window.get_name())
def main():
Gdk.init([])
loop = GLib.MainLoop.new(None, False)
screen = Wnck.Screen.get_default()
screen.connect("window-opened", on_window_opened)
screen.connect("active-window-changed", on_active_window_changed)
screen.connect("window-closed", on_window_destroy)
loop.run()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment