Awesome Window Manager - กฎการกำหนดโปรแกรมให้กับแท็ก


2

ฉันมีแท็ก '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 = {class = "Firefox" },
      properties = { tag = tags[1]["www"] }},
}
-- }}}

อย่างไรก็ตามหากฉันกด Super + R ให้พิมพ์ 'firefox' หรือเรียกใช้ 'firefox &' จากเทอร์มินัล Firefox จะเปิดในแท็กที่ฉันกำลังดู

ฉันได้ลอง{class = "firefox"}แล้วproperties = { tag = tags[1][2] }แต่กฎที่ปรับเปลี่ยนเหล่านั้นก็ใช้งานไม่ได้เช่นกัน

เป็นวิธีที่ถูกต้องในการตั้งค่ากฎเพื่อให้ Firefox เปิดเสมอในแท็กเฉพาะคืออะไร?


คุณรีสตาร์ทสุดยอดเพื่อให้แน่ใจว่ามีการเปลี่ยนแปลงการกำหนดค่าหรือไม่ ถ้าใช่ฉันก็สงสัยว่า "กฎจะถูกนำไปใช้เมื่อลูกค้ามีอยู่ครั้งแรก แต่มันยังไม่มีคลาสนี้" คุณสามารถตรวจสอบได้ว่ากฎจะถูกนำไปใช้เมื่อคุณเริ่มต้นใหม่ยอดเยี่ยม (ด้วยหน้าต่าง firefox เปิดบนแท็กที่ไม่ถูกต้องมันควรจะย้ายไปทางขวา ถ้าเป็นเช่นนั้นมันไม่ใช่ปัญหาการจับคู่และคุณควรพยายามหาawful.rules.apply()ลูกค้า Firefox ของคุณในบางครั้งหลังจากการสร้าง หากไม่ได้ใช้กฎนี้แสดงว่ามีปัญหากับตัวจับคู่ ดูsuperuser.com/q/513707/162290
Nikana Reklawyks

คำตอบ:


3

ฉันจะวางข้อความที่ตัดตอนมาที่นี่ สิ่งเหล่านี้ได้รับการยืนยันการทำงานตั้งแต่ 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 จัดการกับช่องว่างได้อย่างไรฉันสังเกตว่าเครื่องมือจัดฟันที่หยิกและช่องว่างของคุณนั้นไม่สอดคล้องกัน


1
Lua เกือบจะเป็นผู้ไม่เชื่อเรื่องพระเจ้าเช่นเดียวกับ C เพื่อช่องว่าง ถ้าวงเล็บตรงกับมันก็มีความสุข
Anko

2

นี้เป็นบิตเก็งกำไร แต่ผมขอแนะนำให้ลองใหม่สิ่งที่คุณบอกว่าคุณได้กระทำ {class = "firefox"}และproperties = { tag = tags[1][2] } แต่ประโยชน์firefoxตัวอักษรตัวแรกของ มันเป็นเรื่องสำคัญ


1

อาร์เรย์แท็กจะถูกจัดทำดัชนีตามตัวเลข

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

ดังนั้นควรเป็น:

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

และนั่นอาจไม่ใช่ปัญหาเดียว แต่ในการตั้งค่าของฉันสิ่งนี้ถูกต้อง
Nikana Reklawyks
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.