Awesome WM: Wie schreibe ich eine Regel, damit ein Fenster unter der Maus schwebt?

1620
mperrin

Ich verwende einen Zwischenablage-Manager und möchte, dass er direkt unter der Maus angezeigt wird, wenn ich eine Tastenkombination drücke.

Ich habe verschiedene Regeln für awesome wm geschrieben, ich sehe, wie man den guten Kunden fokussiert, wie man ihn schweben lässt und wie er an einer festen Position erscheint.

Ich habe diesen Eintrag in den Awesome FAQ gefunden .

Ich sehe jedoch nicht, wie Sie mit diesem Tipp eine Regel erstellen können.

Irgendwelche Hinweise?

2

2 Antworten auf die Frage

3
Gert Pellin

Für die globale Verwendung nach Schlüsselwörtern

Am Ende Ihrer rc.lua haben Sie die Funktion client.add_signal(..., innerhalb dieser Funktion müssen Sie die letzte Zeile der FAQ setzen, damit nur für bestimmte Anwendungen eine neue Variable am Anfang von rc.lua eingefügt werden kann

local undermouse = false 

als der Teil der FAQ:

client.add_signal("manage", function (c, startup) -- Add a titlebar -- awful.titlebar.add(c, { modkey = modkey })  -- Enable sloppy focus c:add_signal("mouse::enter", function(c) if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier and awful.client.focus.filter(c) then client.focus = c end end)  if not startup then -- Set the windows at the slave, -- i.e. put it at the end of others instead of setting it master. -- awful.client.setslave(c)  -- Put windows in a smart way, only if they does not set an initial position. if not c.size_hints.user_position and not c.size_hints.program_position then awful.placement.no_overlap(c) awful.placement.no_offscreen(c) => if underMouse == true then => awful.placement.under_mouse(c) => underMouse = false => end end end end) 

Um diese Option zu verwenden, habe ich den nächsten Code für meinen Berechnungsschlüssel erstellt:

globalkeys = awful.util.table.join( awful.key({ }, "#148", function ()  underMouse = true  awful.util.spawn(calculator)  end), ) 

In der Regel für 1 Anwendung

Wie Sie selbst nach dem Testen meiner Lösung gefunden haben, diese Antwort jedoch für andere Personen hinzugefügt haben:

{ rule = { class = "Gnome-calculator", }, properties = {  floating = true, callback = function(c) awful.placement.under_mouse(c) end, }, }, 
@mperrin das down vote (nicht von mir) liegt wohl daran, dass ich die lösung gegeben habe und du gibst das an dir selbst für eine antwort, die ein kommentar zu meiner antwort sein sollte. Gert Pellin vor 9 Jahren 0
Ok, entschuldigung dafür, ziemlich neu hier. Ihre Antwort hat mir sehr geholfen, aber ich dachte, dass sie auf die Frage "Wie schreibt man eine Regel ..." nicht klar beantwortet wurde. Deshalb habe ich Ihre Antwort nicht als akzeptierte Lösung bezeichnet, sondern geben Sie sie eine Stimme. mperrin vor 9 Jahren 1
0
mperrin

Vielen Dank für Ihre Antwort und das Highlight der awful.placement.under_mouse(c)Funktion.

Schließlich war das Schreiben der Regel sehr einfach:

 { rule = { class = "Gnome-calculator", }, properties = {  floating = true, callback = function(c) awful.placement.under_mouse(c) end, }, }, 
Verstehe nicht, warum dies nicht stimmt. mperrin vor 9 Jahren 0