Toggle window decorations on Linux GTK3 with Python3
March 23, 2021 [GNOME, Linux, Python, Tech, Xfce]The Internet is full of outdated Python code for doing things with windows, so here is what I got working today in a Python 3, GTK 3 environment.
This script toggles the window decorations on the active window on and off. I have it bound to Ctrl+NumPadMinus for easy access.
#!/usr/bin/env python3 import gi gi.require_version('Gdk', '3.0') gi.require_version('GdkX11', '3.0') gi.require_version('Wnck', '3.0') from gi.repository import Gdk from gi.repository import GdkX11 from gi.repository import Wnck def active_window(screen): for window in screen.get_windows(): if window.is_active() == True: return window def toggle_decorations(w): if w.get_decorations().decorations == 0: w.set_decorations(Gdk.WMDecoration.ALL) else: w.set_decorations(0) screen = Wnck.Screen.get_default() screen.force_update() display = GdkX11.X11Display.get_default() window = active_window(screen) window_id = window.get_xid() w = GdkX11.X11Window.foreign_new_for_display(display, window_id) toggle_decorations(w) window = None screen = None Wnck.shutdown()