Awesome Window Manager - Affectation de programmes à des balises


2

J'ai un ensemble de balises 'main', 'www', et 3:

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

Je veux que Firefox s'ouvre dans la balise "www". J'ai essayé la règle suivante:

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

Cependant, si je tape Super + R, puis tapez 'firefox' ou lancez 'firefox &' depuis un terminal, Firefox s'ouvre dans la balise que je regarde.

J'ai essayé {class = "firefox"}et properties = { tag = tags[1][2] }ces règles modifiées ne fonctionnaient pas non plus.

Quelle est la bonne façon de configurer une règle pour que Firefox soit toujours ouvert dans une balise donnée?


Avez-vous redémarré awesome pour vous assurer que les modifications de configuration sont appliquées? Si oui, alors je soupçonne que quelque chose comme "les règles sont appliquées lorsque le client existe pour la première fois, mais il n'a pas encore cette classe". Vous pouvez vérifier que les règles sont appliquées lorsque vous redémarrez awesome (avec la fenêtre firefox ouverte sur la mauvaise balise, elle devrait passer à la bonne). Si tel est le cas, il ne s’agit pas d’un problème de correspondance et vous devriez chercher awful.rules.apply()votre client firefox à un moment donné après sa création. Si la règle n'est pas appliquée, il y a un problème avec le matcher. Voir superuser.com/q/513707/162290
Nikana Reklawyks le

Réponses:


3

Je vais simplement coller mes extraits ici. Ceux-ci sont confirmés fonctionnant à partir de 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 -- }}}

Je ne sais pas du tout comment Lua gère les espaces, je remarque que vos accolades et les espaces sont incohérents.


1
Lua est presque aussi agnostique que C pour les espaces blancs. Si les parenthèses correspondent, c'est heureux.
Anko

2

C'est un peu spéculatif mais je suggère réessayant ce que vous dites que vous avez fait: {class = "firefox"}et properties = { tag = tags[1][2] } mais capitalisez la première lettre firefox. Cela compte.


1

Le tableau de balises est indexé par des chiffres.

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

Ainsi devrait être:

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

Et ce n'est probablement pas le seul problème, mais sur ma configuration, c'est correct.
Nikana Reklawyks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.