]> git.rmz.io Git - dotfiles.git/blob - awesome/tags.lua
lazyvim: absorb coding plugins
[dotfiles.git] / awesome / tags.lua
1 -- Tags {{{1
2 local mytags = {}
3 local theme = beautiful.get()
4
5 --TODO create a list of tag objects and place them according to number of screens (sb:20170130)
6 -- single screen {{{2
7 mytags[1] = {}
8 mytags[1][1] = {
9 { name = "1", layout = awful.layout.suit.tile.left, master_width_factor=0.50, icon = theme.taglist_icon_01},
10 { name = "2", layout = awful.layout.suit.tile, master_width_factor=0.60, icon = theme.taglist_icon_02},
11 { name = "3", layout = awful.layout.suit.max, master_width_factor=0.50, icon = theme.taglist_icon_03},
12 { name = "4", layout = awful.layout.suit.tile.left, master_width_factor=0.60, icon = theme.taglist_icon_04},
13 { name = "5", layout = awful.layout.suit.tile, master_width_factor=0.30, icon = theme.taglist_icon_05},
14 { name = "6", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_06},
15 { name = "7", layout = awful.layout.suit.tile.bottom, master_width_factor=0.80, icon = theme.taglist_icon_07},
16 { name = "8", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_08},
17 { name = "9", layout = awful.layout.suit.floating, master_width_factor=0.50, icon = theme.taglist_icon_09},
18 }
19
20 -- Dual screen {{{2
21 mytags[2] = {}
22 mytags[2][1] = {
23 { name = "1", layout = awful.layout.suit.tile.left, master_width_factor=0.50, icon = theme.taglist_icon_01},
24 { name = "2", layout = awful.layout.suit.tile.left, master_width_factor=0.60, icon = theme.taglist_icon_02},
25 { name = "3", layout = awful.layout.suit.tile.left, master_width_factor=0.60, icon = theme.taglist_icon_03},
26 { name = "4", layout = awful.layout.suit.tile.left, master_width_factor=0.60, icon = theme.taglist_icon_04},
27 { name = "5", layout = awful.layout.suit.tile.left, master_width_factor=0.30, icon = theme.taglist_icon_05},
28 { name = "6", layout = awful.layout.suit.tile.left, master_width_factor=0.70, icon = theme.taglist_icon_06},
29 { name = "7", layout = awful.layout.suit.tile.left, master_width_factor=0.88, icon = theme.taglist_icon_07},
30 { name = "8", layout = awful.layout.suit.tile.left, master_width_factor=0.84, icon = theme.taglist_icon_08},
31 { name = "9", layout = awful.layout.suit.floating, master_width_factor=0.50, icon = theme.taglist_icon_09},
32 }
33
34 mytags[2][2] = {
35 { name = "1", layout = awful.layout.suit.tile, master_width_factor=0.60, icon = theme.taglist_icon_10},
36 { name = "2", layout = awful.layout.suit.max, master_width_factor=0.88, icon = theme.taglist_icon_11},
37 { name = "3", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_12},
38 { name = "4", layout = awful.layout.suit.tile.left, master_width_factor=0.80, icon = theme.taglist_icon_13},
39 { name = "5", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_14},
40 { name = "6", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_15},
41 { name = "7", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_16},
42 { name = "8", layout = awful.layout.suit.tile, master_width_factor=0.50, icon = theme.taglist_icon_17},
43 { name = "9", layout = awful.layout.suit.max, master_width_factor=0.50, icon = theme.taglist_icon_18},
44 }
45
46 -- Wallpaper {{{2
47 local function set_wallpaper(s)
48 -- Wallpaper
49 if beautiful.wallpaper then
50 local wallpaper = beautiful.wallpaper
51 -- If wallpaper is a function, call it with the screen
52 if type(wallpaper) == "function" then
53 wallpaper = wallpaper(s)
54 end
55 gears.wallpaper.maximized(wallpaper, s, true)
56 end
57 end
58
59 -- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
60 screen.connect_signal("property::geometry", set_wallpaper)
61
62 -- Tags {{{2
63 tags = {}
64 local sc = screen.count()
65 awful.screen.connect_for_each_screen(function(s)
66 -- Wallpaper
67 set_wallpaper(s)
68
69 local s = s.index
70 tags[s] = {}
71 for i,p in ipairs(mytags[sc][s]) do
72 local props = {}
73 props.screen = s
74 for k,v in pairs(p) do
75 props[k] = v
76 props['icon_only'] = theme.taglist_icon_only
77 end
78 tags[s][i] = awful.tag.add(p.name, props)
79 end
80 tags[s][1].selected = true
81 end)