2015-04-16 7 views
5

Ich führe ein Skript, das mehrere Fenster erstellt und schließt, daher fügte ich meiner rc.lua eine Möglichkeit hinzu, das Fenster, in dem ich arbeite, immer oben zu halten:Always-on-top-Fenster und Fokussierung auf AwesomeWM

Das Problem ist: Wenn das neue Fenster erstellt wird, verliere ich den Fokus, der in das neue Fenster übergeht.

Gibt es eine Möglichkeit, dass der vorherige Schalter nicht nur das Fenster oben hält, sondern auch mit dem Fokus, bis ich es erneut umschalte?

+0

Nur für den Fall: meine Abhilfe eine Regel für dieses Programm eingestellt war auf einem bestimmten Tag zu öffnen ... aber ich möchte wirklich ein Toggle an mein Fenster oben auf alles andere stecken, und nicht den Fokus zu verlieren wenn andere Fenster erscheinen. –

+0

Ändert ein neues Fenster den Fokus oder nur die Fenster von dieser Anwendung/Skript? –

+0

Jedes Fenster, aber es ist nicht üblich, dass ich Fenster habe, nur mit diesem Skript. –

Antwort

3

die awful.rules.rules Zuordnung von Linien 357-375 von this awesomerc.lua file in Ihrem Benutzer awesomerc.lua-Datei und die awful.client.focus.filter in dieser Zuordnung verwendet werden Unter der Annahme, ist die von this file dann sollten Sie in der Lage sein, so etwas zu tun.

Definieren Sie eine benutzerdefinierte Fokusfilterfunktion irgendwo in Ihrer RC-Datei.

function custom_focus_filter(c) 
    if global_focus_disable then 
     return nil 
    end 
    return awful.client.focus.filter(c) 
end 

Verwenden Sie dann diese benutzerdefinierte Filterfunktion in der Regelzuordnung anstelle der ursprünglichen Filterfunktion.

awful.rules.rules = { 
    -- All clients will match this rule. 
    { rule = { }, 
     properties = { .... 
        focus = custom_focus_filter, 
        .... } }, 

Und dann Ihre Toggle-Funktion muss nur setzen und deaktivieren Sie die globale als angemessen.

awful.key({ modkey, "Shift" }, "f", function() 
    global_focus_disable = not global_focus_disable 
end) 
+0

Ausgezeichnet! Es funktionierte. Vielen Dank! (Und ja, ich habe deinen Punkt total vermisst, tut mir leid) –

Verwandte Themen