Moja obecna konfiguracja XMonada z radością podkreśla aktualnie zaznaczone okno z ładną zieloną ramką.

import XMonad.Layout.NoBorders
...
defaults = defaultConfig {
    focusFollowsMouse  = True,
    borderWidth        = 4,
    normalBorderColor  = "grey",
    focusedBorderColor = "green", ...
...
myLayout = avoidStruts $ smartBorders ( ...

Jednak, gdy mysz / fokus przesunie się z jednego z wielu ekranów na sąsiedni komputer z powodu użycia Synergy, XMonad nie reaguje - chciałbym, aby oznaczył okno jako nieaktywne, ponieważ wszystkie dane wejściowe przechodzą teraz do inna maszyna.

Czy ktoś może zasugerować mechanizm, którego mogę użyć w tym celu?

Nie wiem, jak uzyskać nazwę „aktualnie wybranego komputera” od Synergy, ale załóżmy, że jest to możliwe (zawsze mogę zmodyfikować źródło dla Synergy) - chciałbym zmienić podejście w XMonad większość.

Jim Cheetham
źródło