Awesome Window Manager - Правило назначения программ тегам

7725
Peter

У меня есть набор тегов 'main', 'www' и 3:

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

Я хочу, чтобы Firefox открывался в тэге "www". Я пробовал следующее правило:

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

Однако, если я нажимаю Super + R, затем набираю «firefox» или запускаю «firefox &» из терминала, Firefox открывается в любом теге, который я просматриваю.

Я пробовал и properties = { tag = tags[1][2] }но эти измененные правила не работает.

Как правильно установить правило, чтобы Firefox всегда открывался в определенном теге?

2
Вы перезапустили Awesome, чтобы убедиться, что изменения конфигурации применены? Если да, то я подозреваю что-то вроде «правила применяются, когда клиент впервые существует, но у него еще нет этого класса». Вы можете проверить, что правила применяются, когда вы * перезапускаете * классно (с открытым окном firefox на неправильном теге, оно должно переместиться на правильный). Если это так, то это не проблема совпадения, и вы должны попытаться `awful.rules.apply () 'для вашего клиента Firefox в какой-то момент после его создания. Если правило не применяется, то есть проблема с сопоставителем. См. Http://superuser.com/q/513707/162290 Nikana Reklawyks 7 лет назад 0

3 ответа на вопрос

3
lkraav

Я просто собираюсь вставить свои выдержки здесь. Подтверждено, что они работают с 3.4.10+.

... 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 -- }}} 

Я понятия не имею, как Lua работает с пробелами, я заметил, что ваши фигурные скобки и пробелы несовместимы.

Lua почти такой же агностик, как C для пробелов. Если скобки совпадают, это радует. Anko 11 лет назад 1
2
C S

Это немного спекулятивный, но я предлагаю заново попытать то, что вы говорите, что вы сделали: и, properties = { tag = tags[1][2] } но капитализировать первую букву firefox. Это важно.

1
OS2

tag array is indexed by numerals.

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

So should be:

properties = { tag = tags[1][2] }}, 
И это, вероятно, не единственная проблема, но на моей установке это правильно. Nikana Reklawyks 7 лет назад 0