Visuelles Feedback zum Workspace-Switch in xfce erhalten

8

Ich nutze Arbeitsbereiche stark und habe viele davon (ein 6x4-Raster). Normalerweise führe ich openbox aus, verwende aber derzeit einen Computer, auf dem openbox nicht eingerichtet ist. Daher verwende ich xfce, da es bereits größtenteils nach meinen Wünschen konfiguriert ist. Ich habe mich daran gewöhnt, visuelles Feedback zu erhalten, wenn ich den Arbeitsbereich wechsle und mir zeige, in welchen ich gerade umgezogen bin, und bin in xfce etwas desorientiert. In Openbox ist dies ein großes Heads-up-Display, was ziemlich ideal ist. Ich bin mir bewusst, dass das Applet des Arbeitsbereichsumschaltfelds den aktiven Arbeitsbereich hervorhebt. Dies scheint jedoch nur für Arbeitsbereiche zu funktionieren, in denen Desktop-Speicherplatz angezeigt wird. Da ich im Allgemeinen alle meine Fenster maximiert habe, ist dies nicht besonders hilfreich.

Gibt es eine Möglichkeit, visuelles Feedback zu aktivieren, das den neuen Arbeitsbereich beim Wechseln des Arbeitsbereichs in xfce anzeigt?

intuitiv
quelle

Antworten:

2

Wenn Sie dazu neigen, können Sie Rückrufe installieren pyxfceund irgendwie verarbeiten active_workspace_changed, z. B. indem Sie eine Benachrichtigung über notify-sendoder anzeigen aosd_cat. Aber das ist natürlich ein Hack, und nein, ich habe es nicht versucht.

9000
quelle
Ich bin mir nicht sicher, ob ich so tief in dieses Thema eintauchen möchte. Danke auf jeden Fall für die Info. Ich kann das am Ende tun. (+1)
Intuition
0

Außerdem halte ich die Fenster in 95% der Fälle maximiert, aber das Bedienfeld-Umschaltfeld ändert sich je nachdem, in welchem ​​Arbeitsbereich ich mich befinde. Für den aktuell ausgewählten Arbeitsbereich ist das aktive Fenster hellblau, alle anderen Fenster sind dunkelblau und alle Fenster in Alle anderen Arbeitsbereiche sind grau. Dies kann eine Funktion des von mir verwendeten Themas sein (Thema namens 'Xfce-4.2'), ich bin mir nicht sicher. Haben Sie versucht, verschiedene Themen zu verwenden?

Mir ist klar, dass dies nicht so offensichtlich ist wie die großen Zahlen, die aufblitzen, wenn Sie sich ändern, die ich anderswo gesehen habe. Wenn jemand weiß, wie man diese in xfce zum Laufen bringt, würde ich gerne wissen.

Abgesehen davon, dass ich mich mit den Farbeinstellungen befasst habe, ist es möglich, dass der Arbeitsbereich-Umschalter die Fenster basierend auf dem aktiven Arbeitsbereich einfärbt.

Ich verwende Ubuntu 10.4 mit installiertem xfce 4.6.1 (ich habe xubuntu ausprobiert, konnte es aber auch nicht zum Laufen bringen).

David Oneill
quelle
Los geht's. Siehe meine Antwort für das Meldungsfeld mit der Arbeitsbereichsnummer auf dem Desktop-Switch.
RobotHumans
0

Ich habe diesen kleinen Python3-Code-Blob, der auf das Wechseln des Arbeitsbereichs reagiert.

Es wird nicht gemacht, um eine Benachrichtigung anzuzeigen, sondern um einen Chrom-Redraw-Fehler zu umgehen. Alles, was Sie mit dem Workspace-Switch tun möchten, können Sie jedoch problemlos in die Funktion "fire_the_kludge" einbinden.

https://github.com/aking1012/chromiumKludge/blob/master/kludge.py

Hier ist ein überarbeitetes Beispiel, das libnotify2 verwendet, um Ihnen Ihren Arbeitsbereich mitzuteilen:

#!/usr/bin/env python3

from gi.repository import Wnck, Gtk, Notify
import signal, time

class Kludge:
    def __init__(self):
        self.first = True
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        self.screen = Wnck.Screen.get_default()
        Notify.init("Workspace Switch Notifier")

    def fire_the_kludge(self, data_a, data_b):
        time.sleep(.1)
        try:
            workspace_num = str(self.screen.get_active_workspace().get_number())
        except:
            workspace_num = "Some error happened"
        popup = Notify.Notification.new("Workspace: " + workspace_num)
        popup.show()
        time.sleep(1)
        popup.close()

    def main(self):
        self.screen.connect("active-workspace-changed", self.fire_the_kludge)
        Gtk.main()

if __name__ == '__main__':
    print("Here comes the kludge")
    kludge = Kludge()
    kludge.main()
RobotHumans
quelle