Ich mag xmonad sehr, aber eine Sache wäre großartig:
Wenn ich eine Datei nach gvim -p --remote-tab-silent my-file
öffne und sie in vim geöffnet wird, die immer auf workspace 1
steht, möchte ich automatisch zu workspace 1
wechseln.
Ich habe gerade die viewShift
-trick entdeckt, aber dies ändert nur den Arbeitsbereich, wenn ein neues gvim
wird erzeugt und löst so mein Problem nur teilweise.
Dank Daniel Wagners Kommentar konnte ich etwas recherchieren:
Ich habe ein kleines Programm gefunden, um Dringlichkeitshinweise zu setzen und zu löschen: Aufarbeitung . Und mit xwininifo
kann ich die Fenster-ID von gvim bekommen. Nach einigem Versuch und Irrtum zeigte mir xprop
, dass das Hinweisflag tatsächlich gesetzt wurde.
jetzt habe ich
hinzugefügt %Vor% zu meinem .xmonad.hs
, und xmonad --recompile && xmonad --restart
war ohne Fehler, aber kein Treffer mod4 + x
tat nichts, obwohl xprop
hat gemeldet, dass der Dringlichkeitshinweis gesetzt ist.
Dank der Kommentare von Daniel Wagner und Joachim Breitner konnte ich das Problem zumindest teilweise lösen.
Das automatische Wechseln zu gvim, wenn es noch nicht geöffnet ist, funktioniert einfach mit Hinzufügen zu 'myManageHooks
%Vor%Wenn gvim bereits geöffnet ist, ist die Situation etwas komplizierter. Ich habe ein Shell-Skript erstellt, um die Fenster-ID von gvim zu erhalten und zu sehen, ob Argumente übergeben wurden.
%Vor% jetzt, wenn ich ein neues gv spawne das Fenster hat seinen Dringlichkeitshinweis gesetzt und ich kann zu ihm wechseln.
Aber ich wollte automatisch zum Fenster wechseln - also zumindest wenn ich gvim per Tastatur spawne möchte ich automatisch wechseln. Also habe ich zu myKeys
in xmonad.hs
Wo die spawn "notify-send .."
-Zeile als Zeitpuffer fungiert, scheint der Hinweis auf den Launch von Spawning + -Einstellungen einige Zeit zu dauern und focusUrgent
wird zu früh aufgerufen.
Die einzige ungelöste Sache ist, wenn ich mein gv
-script vom Terminal anrufe, um zu gvims Arbeitsbereich gewechselt zu werden.