Awesome Window Manager - Regel zum Zuweisen von Programmen zu Tags

Awesome Window Manager - Regel zum Zuweisen von Programmen zu Tags

Ich habe einen Satz 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 die folgende Regel ausprobiert:

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

Wenn ich jedoch Super+R drücke und dann „Firefox“ eingebe oder „Firefox &“ von einem Terminal aus ausführe, wird Firefox in dem Tag geöffnet, den ich gerade ansehe.

Ich habe {class = "firefox"}es versucht, properties = { tag = tags[1][2] }aber diese geänderten Regeln haben auch nicht funktioniert.

Wie kann ich richtig eine Regel einrichten, damit Firefox immer mit einem bestimmten Tag geöffnet wird?

Antwort1

Ich werde hier einfach meine Auszüge einfügen. Es ist bestätigt, dass diese ab 3.4.10+ funktionieren.

...
 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 Leerzeichen umgeht, mir fällt aber auf, dass Ihre geschweiften Klammern und Leerzeichen inkonsistent sind.

Antwort2

Das ist ein bisschen spekulativ, aber ich schlage vor, dass Sie es noch einmal versuchen: {class = "firefox"}und properties = { tag = tags[1][2] } aberprofitierender erste Buchstabe von firefox. Es ist wichtig.

Antwort3

Das Tag-Array wird durch Ziffern indiziert.

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

So sollte es sein:

properties = { tag = tags[1][2] }},

verwandte Informationen