Awesome Window Manager - Regel zum Zuweisen von Programmen zu Tags

7604
Peter

Ich habe eine Reihe von Tags 'main', 'www' und 3:

-- {{{ Tags tags = { names = {"main", "www", 3}, for s = 1, screen.count() do tags[s] = awful.tag(tags.names, s, tags.layout) end } -- }}} 

Ich möchte, dass Firefox im Tag "www" geöffnet wird. Ich habe folgende Regel ausprobiert:

-- {{{ Rules awful.rules.rules = { { rule =, properties = { tag = tags[1]["www"] }}, } -- }}} 

Wenn ich jedoch Super + R drücke, dann "firefox" tippe oder "firefox &" von einem Terminal aus ausführen, wird Firefox in dem von mir angezeigten Tag geöffnet.

Ich habe es versucht und properties = { tag = tags[1][2] }diese geänderten Regeln funktionierten auch nicht.

Was ist der richtige Weg, eine Regel einzurichten, damit Firefox in einem bestimmten Tag immer geöffnet wird?

2
Haben Sie awesome neu gestartet, um sicherzustellen, dass die Konfigurationsänderungen übernommen werden? Wenn ja, vermute ich so etwas wie "Die Regeln werden angewendet, wenn der Client zum ersten Mal existiert, aber diese Klasse hat er noch nicht". Sie können überprüfen, ob die Regeln angewendet werden, wenn Sie * awesome neu starten (wenn das Firefox-Fenster am falschen Tag geöffnet ist, sollte es sich zum richtigen bewegen). Wenn dies der Fall ist, ist dies kein Übereinstimmungsproblem, und Sie sollten zu einem bestimmten Zeitpunkt nach der Erstellung des Firefox-Clients "awful.rules.apply ()" suchen. Wenn die Regel nicht angewendet wird, liegt ein Problem mit dem Matcher vor. Siehe http://superuser.com/q/513707/162290 Nikana Reklawyks vor 4 Jahren 0

3 Antworten auf die Frage

3
lkraav

Ich werde nur meine Auszüge hier einfügen. Diese werden ab 3.4.10+ bestätigt.

... 62 -- {{{ Tags 63 -- Define a tag table which will hold all screen tags. 64 tags = {  65 names = { "1www", "2 @ ", "3trm", "4off", "5msg", "6vmr", 7, "8tom", "9log" }, 66 layout = { layouts[1], layouts[2], layouts[3], layouts[2], layouts[3], 67 layouts[3], layouts[3], layouts[3], layouts[3] } 68 } 69 for s = 1, screen.count() do 70 -- Each screen has its own tag table. 71 tags[s] = awful.tag(tags.names, s, tags.layout) 72 end 73 -- }}} ... 408 -- {{{ Rules 409 awful.rules.rules = { 410 -- All clients will match this rule. 411 { rule = { }, 412 properties = { border_width = beautiful.border_width, 413 border_color = beautiful.border_normal, 414 focus = true, 415 keys = clientkeys, 416 buttons = clientbuttons } }, 417 -- Set Firefox to always map on tags number 1 of screen 1. 418 { rule = { class = "Firefox" }, 419 properties = { tag = tags[1][1] } }, 420 { rule = { class = "Gvim" }, 421 properties = { size_hints_honor = false } }, 422 { rule = { class = "KeePass.exe" }, 423 properties = { maximized_vertical = true, maximized_horizontal = true } }, 424 { rule = { class = "Mirage" }, 425 properties = { maximized_vertical = true, maximized_horizontal = true } }, 426 { rule = { class = "Navigator" }, 427 properties = { tag = tags[1][1], maximized_vertical = true, maximized_horizontal = true } }, 428 { rule = { class = "pinentry" }, 429 properties = { floating = true } }, 430 { rule = { class = "Skype" }, 431 properties = { tag = tags[1][5] } }, 432 { rule = { class = "Thunderbird" }, 433 properties = { tag = tags[1][2] } }, 434 { rule = { class = "Tomboy" }, 435 properties = { tag = tags[1][8] } }, 436 { rule = { class = "URxvt" }, 437 properties = { size_hints_honor = false } }, 438 { rule = { class = "Vncviewer" }, 439 properties = { maximized_vertical = true, maximized_horizontal = true } }, 440 { rule = { class = "XMind" }, 441 properties = { maximized_vertical = true, maximized_horizontal = true } }, 442 { rule = { class = "XTerm" }, 443 properties = { size_hints_honor = false } }, 444 { rule = { instance = "XTerm-logs" }, 445 properties = { tag = tags[1][9] } }, 446 } 447 -- }}} 

Ich habe keine Ahnung, wie Lua mit Whitespace umgeht, ich merke, dass Ihre geschweiften Klammern und Whitespaces inkonsistent sind.

Lua ist fast so agnostisch wie Whitespace. Wenn Klammern passen, ist es glücklich. Anko vor 8 Jahren 1
2
C S

Das ist ein bisschen spekulativ, aber ich schlage vor, erneut versuchen, was Sie sagen, Sie tat und properties = { tag = tags[1][2] } aber kapitalisieren den ersten Buchstaben firefox. Es ist wichtig.

1
OS2

Das Tag-Array wird durch Zahlen indiziert.

properties = { tag = tags[1]["www"] }}, 

So sollte es sein:

properties = { tag = tags[1][2] }}, 
Und das ist wahrscheinlich nicht das einzige Problem, aber in meinem Setup ist das richtig. Nikana Reklawyks vor 4 Jahren 0