]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/tags.lua
awesome: move set_wallpaper to tags.lua and call it on screen connect
[dotfiles.git] / awesome / tags.lua
index d6cf2967941fc9348dca7ecbb5844b6de012df01..f79c9d19ee4c00c19acf0b8301717fd7bb8b9a4c 100644 (file)
@@ -3,12 +3,10 @@
 layouts =
 {
     awful.layout.suit.floating,
-    lain.layout.uselesstile,
-    lain.layout.uselesstile.left,
-    lain.layout.uselesstile.bottom,
-    lain.layout.uselesstile.top,
-    lain.layout.uselessfair,
-    lain.layout.uselessfair.horizontal,
+    awful.layout.suit.tile,
+    awful.layout.suit.tile.left,
+    awful.layout.suit.tile.bottom,
+    awful.layout.suit.tile.top,
     -- lain.layout.uselesspiral,
     -- lain.layout.uselesspiral.dwindle,
     awful.layout.suit.max,
@@ -26,50 +24,71 @@ local mytags = {}
 local path = beautiful.path
 local icon_only = true
 
+--TODO create a list of tag objects and place them according to number of screens  (sb:20170130)
 -- single screen {{{2
 mytags[1] = {}
 mytags[1][1] = {
-    { name = "1", layout = awful.layout.suit.tile.left,   mwfact=0.50, icon = path.."/cutiemarks/pinkie_pie.png"},
-    { name = "2", layout = awful.layout.suit.tile,        mwfact=0.60, icon = path.."/cutiemarks/rainbow_dash.png"},
-    { name = "3", layout = awful.layout.suit.tile,        mwfact=0.88, icon = path.."/cutiemarks/twilight_sparkle.png"},
-    { name = "4", layout = awful.layout.suit.tile.left,   mwfact=0.60, icon = path.."/cutiemarks/doctor_whooves.png"},
-    { name = "5", layout = awful.layout.suit.tile,        mwfact=0.30, icon = path.."/cutiemarks/derpy_hooves.png"},
-    { name = "6", layout = awful.layout.suit.tile,        mwfact=0.88, icon = path.."/cutiemarks/trixie.png"},
-    { name = "7", layout = awful.layout.suit.tile.bottom, mwfact=0.84, icon = path.."/cutiemarks/soarin.png"},
-    { name = "8", layout = awful.layout.suit.max,         mwfact=0.50, icon = path.."/cutiemarks/princess_celestia.png"},
-    { name = "9", layout = awful.layout.suit.floating,    mwfact=0.50, icon = path.."/cutiemarks/princess_luna.png"},
+    { name = "1", layout = awful.layout.suit.tile.left,   master_width_factor=0.50, icon = path.."/cutiemarks/pinkie_pie.png"},
+    { name = "2", layout = awful.layout.suit.tile,        master_width_factor=0.60, icon = path.."/cutiemarks/rainbow_dash.png"},
+    { name = "3", layout = awful.layout.suit.max,         master_width_factor=0.50, icon = path.."/cutiemarks/twilight_sparkle.png"},
+    { name = "4", layout = awful.layout.suit.tile.left,   master_width_factor=0.60, icon = path.."/cutiemarks/doctor_whooves.png"},
+    { name = "5", layout = awful.layout.suit.tile,        master_width_factor=0.30, icon = path.."/cutiemarks/derpy_hooves.png"},
+    { name = "6", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/trixie.png"},
+    { name = "7", layout = awful.layout.suit.tile.bottom, master_width_factor=0.80, icon = path.."/cutiemarks/soarin.png"},
+    { name = "8", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/princess_celestia.png"},
+    { name = "9", layout = awful.layout.suit.floating,    master_width_factor=0.50, icon = path.."/cutiemarks/princess_luna.png"},
 }
 
 -- Dual screen {{{2
 mytags[2] = {}
 mytags[2][1] = {
-    { name = "1", layout = lain.layout.uselesstile.left,   mwfact=0.50, icon = path.."/cutiemarks/pinkie_pie.png"},
-    { name = "2", layout = lain.layout.uselesstile.left,   mwfact=0.60, icon = path.."/cutiemarks/rainbow_dash.png"},
-    { name = "3", layout = lain.layout.uselesstile.left,   mwfact=0.60, icon = path.."/cutiemarks/twilight_sparkle.png"},
-    { name = "4", layout = lain.layout.uselesstile.left,   mwfact=0.60, icon = path.."/cutiemarks/doctor_whooves.png"},
-    { name = "5", layout = lain.layout.uselesstile.left,   mwfact=0.30, icon = path.."/cutiemarks/derpy_hooves.png"},
-    { name = "6", layout = lain.layout.uselesstile.left,   mwfact=0.70, icon = path.."/cutiemarks/trixie.png"},
-    { name = "7", layout = lain.layout.uselesstile.left,   mwfact=0.88, icon = path.."/cutiemarks/soarin.png"},
-    { name = "8", layout = lain.layout.uselesstile.left,   mwfact=0.84, icon = path.."/cutiemarks/princess_celestia.png"},
-    { name = "9", layout = awful.layout.suit.floating,     mwfact=0.50, icon = path.."/cutiemarks/princess_luna.png"},
+    { name = "1", layout = awful.layout.suit.tile.left,   master_width_factor=0.50, icon = path.."/cutiemarks/pinkie_pie.png"},
+    { name = "2", layout = awful.layout.suit.tile.left,   master_width_factor=0.60, icon = path.."/cutiemarks/rainbow_dash.png"},
+    { name = "3", layout = awful.layout.suit.tile.left,   master_width_factor=0.60, icon = path.."/cutiemarks/twilight_sparkle.png"},
+    { name = "4", layout = awful.layout.suit.tile.left,   master_width_factor=0.60, icon = path.."/cutiemarks/doctor_whooves.png"},
+    { name = "5", layout = awful.layout.suit.tile.left,   master_width_factor=0.30, icon = path.."/cutiemarks/derpy_hooves.png"},
+    { name = "6", layout = awful.layout.suit.tile.left,   master_width_factor=0.70, icon = path.."/cutiemarks/trixie.png"},
+    { name = "7", layout = awful.layout.suit.tile.left,   master_width_factor=0.88, icon = path.."/cutiemarks/soarin.png"},
+    { name = "8", layout = awful.layout.suit.tile.left,   master_width_factor=0.84, icon = path.."/cutiemarks/princess_celestia.png"},
+    { name = "9", layout = awful.layout.suit.floating,    master_width_factor=0.50, icon = path.."/cutiemarks/princess_luna.png"},
 }
 
 mytags[2][2] = {
-    { name = "1", layout = lain.layout.uselesstile,        mwfact=0.60, icon = path.."/cutiemarks/snails.png"},
-    { name = "2", layout = awful.layout.suit.max,          mwfact=0.88, icon = path.."/cutiemarks/snips.png"},
-    { name = "3", layout = lain.layout.uselesstile,        mwfact=0.50, icon = path.."/cutiemarks/lyra_heartstrings.png"},
-    { name = "4", layout = lain.layout.uselesstile.left,   mwfact=0.80, icon = path.."/cutiemarks/rarity.png"},
-    { name = "5", layout = lain.layout.uselesstile,        mwfact=0.50, icon = path.."/cutiemarks/fluttershy.png"},
-    { name = "6", layout = lain.layout.uselesstile,        mwfact=0.50, icon = path.."/cutiemarks/applejack.png"},
-    { name = "7", layout = lain.layout.uselesstile,        mwfact=0.50, icon = path.."/cutiemarks/snowflake.png"},
-    { name = "8", layout = lain.layout.uselesstile,        mwfact=0.50, icon = path.."/cutiemarks/thunderlane.png"},
-    { name = "9", layout = awful.layout.suit.max,          mwfact=0.50, icon = path.."/cutiemarks/bon_bon.png"},
+    { name = "1", layout = awful.layout.suit.tile,        master_width_factor=0.60, icon = path.."/cutiemarks/snails.png"},
+    { name = "2", layout = awful.layout.suit.max,         master_width_factor=0.88, icon = path.."/cutiemarks/snips.png"},
+    { name = "3", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/lyra_heartstrings.png"},
+    { name = "4", layout = awful.layout.suit.tile.left,   master_width_factor=0.80, icon = path.."/cutiemarks/rarity.png"},
+    { name = "5", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/fluttershy.png"},
+    { name = "6", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/applejack.png"},
+    { name = "7", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/snowflake.png"},
+    { name = "8", layout = awful.layout.suit.tile,        master_width_factor=0.50, icon = path.."/cutiemarks/thunderlane.png"},
+    { name = "9", layout = awful.layout.suit.max,         master_width_factor=0.50, icon = path.."/cutiemarks/bon_bon.png"},
 }
 
+-- Wallpaper {{{2
+local function set_wallpaper(s)
+    -- Wallpaper
+    if beautiful.wallpaper then
+        local wallpaper = beautiful.wallpaper
+        -- If wallpaper is a function, call it with the screen
+        if type(wallpaper) == "function" then
+            wallpaper = wallpaper(s)
+        end
+        gears.wallpaper.maximized(wallpaper, s, true)
+    end
+end
+
+-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
+screen.connect_signal("property::geometry", set_wallpaper)
+
 -- Tags {{{2
 tags = {}
 local sc = screen.count()
-for s = 1, sc do
+awful.screen.connect_for_each_screen(function(s)
+    -- Wallpaper
+    set_wallpaper(s)
+
+    local s = s.index
     tags[s] = {}
     for i,p in ipairs(mytags[sc][s]) do
         local props = {}
@@ -81,4 +100,4 @@ for s = 1, sc do
         tags[s][i] = awful.tag.add(p.name, props)
     end
     tags[s][1].selected = true
-end
+end)