LINUX.ORG.RU

История изменений

Исправление sap78, (текущая версия) :

Я тут порыскал. В signal-desktop есть такая опция «Draw attention…»: https://user-images.githubusercontent.com/62706808/144646805-17882661-fd93-4f

Спасибо, но не помогло.
Я пробовал перехватывать имя приложения при изменении фокуса с python xlib ничего не вышло, постоянно пишет Signal, даже на другом компе с Unity 7.4.5 (Gtk 3.18.9) где все корректно работает, окно вложение в фокусе

#!/usr/bin/python3
import Xlib
import Xlib.display

disp = Xlib.display.Display()
root = disp.screen().root

NET_WM_NAME = disp.intern_atom('_NET_WM_NAME')
NET_ACTIVE_WINDOW = disp.intern_atom('_NET_ACTIVE_WINDOW')

root.change_attributes(event_mask=Xlib.X.FocusChangeMask)
while True:
    try:
        window_id = root.get_full_property(NET_ACTIVE_WINDOW, Xlib.X.AnyPropertyType).value[0]
        window = disp.create_resource_object('window', window_id)
        window.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
        window_name = window.get_full_property(NET_WM_NAME, 0).value
    except Xlib.error.XError: #simplify dealing with BadWindow
        window_name = None
    print(window_name)
    event = disp.next_event()

Исправление sap78, :

Я тут порыскал. В signal-desktop есть такая опция «Draw attention…»: https://user-images.githubusercontent.com/62706808/144646805-17882661-fd93-4f

Спасибо, но не помогло.
Я пробовал перехватывать имя приложения при изменении фокуса с python xlib ничего не вышло, пишет Signal

#!/usr/bin/python3
import Xlib
import Xlib.display

disp = Xlib.display.Display()
root = disp.screen().root

NET_WM_NAME = disp.intern_atom('_NET_WM_NAME')
NET_ACTIVE_WINDOW = disp.intern_atom('_NET_ACTIVE_WINDOW')

root.change_attributes(event_mask=Xlib.X.FocusChangeMask)
while True:
    try:
        window_id = root.get_full_property(NET_ACTIVE_WINDOW, Xlib.X.AnyPropertyType).value[0]
        window = disp.create_resource_object('window', window_id)
        window.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
        window_name = window.get_full_property(NET_WM_NAME, 0).value
    except Xlib.error.XError: #simplify dealing with BadWindow
        window_name = None
    print(window_name)
    event = disp.next_event()

Исходная версия sap78, :

Я тут порыскал. В signal-desktop есть такая опция «Draw attention…»: https://user-images.githubusercontent.com/62706808/144646805-17882661-fd93-4f

Спасибо, но не помогло.
Я тут пробовал перехватывать имя приложения при изменении фокуса с python xlib ничего не вышло, пишет Signal

#!/usr/bin/python3
import Xlib
import Xlib.display

disp = Xlib.display.Display()
root = disp.screen().root

NET_WM_NAME = disp.intern_atom('_NET_WM_NAME')
NET_ACTIVE_WINDOW = disp.intern_atom('_NET_ACTIVE_WINDOW')

root.change_attributes(event_mask=Xlib.X.FocusChangeMask)
while True:
    try:
        window_id = root.get_full_property(NET_ACTIVE_WINDOW, Xlib.X.AnyPropertyType).value[0]
        window = disp.create_resource_object('window', window_id)
        window.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
        window_name = window.get_full_property(NET_WM_NAME, 0).value
    except Xlib.error.XError: #simplify dealing with BadWindow
        window_name = None
    print(window_name)
    event = disp.next_event()