add tag support for 10 to 20
This commit is contained in:
parent
06fbcaee7c
commit
656951981e
159
rc.lua
159
rc.lua
@ -42,18 +42,31 @@ local switcher = require("awesome-switcher")
|
||||
|
||||
local KEY_ALT = "Mod1"
|
||||
|
||||
local tag1 = "1:idea"
|
||||
local tag2 = "2:brow"
|
||||
local tag3 = "3:term"
|
||||
local tag4 = "4:code"
|
||||
local tag5 = "5:zoom"
|
||||
local tag6 = "6:chat"
|
||||
local tag7 = "7:pass"
|
||||
local tag1 = "1"
|
||||
local tag2 = "2"
|
||||
local tag3 = "3"
|
||||
local tag4 = "4"
|
||||
local tag5 = "5"
|
||||
local tag6 = "6"
|
||||
local tag7 = "7"
|
||||
local tag8 = "8"
|
||||
local tag9 = "9"
|
||||
|
||||
local tag10 = "10"
|
||||
local tag11 = "11"
|
||||
local tag12 = "12"
|
||||
local tag13 = "13"
|
||||
local tag14 = "14"
|
||||
local tag15 = "15"
|
||||
local tag16 = "16"
|
||||
local tag17 = "17"
|
||||
local tag18 = "18"
|
||||
local tag19 = "19"
|
||||
local tag20 = "20"
|
||||
|
||||
local tags = {
|
||||
tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9
|
||||
tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10,
|
||||
tag11,tag12,tag13,tag14,tag15,tag16,tag17,tag18,tag19,tag20
|
||||
}
|
||||
|
||||
local wibar_font="Deja Vu Sans Mono 14"
|
||||
@ -292,12 +305,14 @@ local function set_wallpaper(s)
|
||||
end
|
||||
end
|
||||
|
||||
-- get count of elements in table
|
||||
function tablelength(T)
|
||||
local count = 0
|
||||
for _ in pairs(T) do count = count + 1 end
|
||||
return count
|
||||
end
|
||||
|
||||
-- return all client from selected tag
|
||||
local function getAllClient()
|
||||
local focusedScreen = awful.screen.focused ()
|
||||
local t = focusedScreen.selected_tag
|
||||
@ -306,6 +321,7 @@ local function getAllClient()
|
||||
|
||||
end
|
||||
|
||||
-- restore the given client
|
||||
local function restoreClient(currentClient)
|
||||
currentClient.minimized = false
|
||||
currentClient.maximized = false
|
||||
@ -320,12 +336,14 @@ local function restoreAll()
|
||||
end
|
||||
end
|
||||
|
||||
-- minimize the given client
|
||||
local function minimizeClient(currentClient)
|
||||
currentClient.minimized = true
|
||||
currentClient.maximized = false
|
||||
currentClient.fullscreen = false
|
||||
end
|
||||
|
||||
-- minimize all client
|
||||
local function minimizeAll()
|
||||
local clientsOnTag = getAllClient()
|
||||
for k, currentClient in pairs(clientsOnTag) do
|
||||
@ -363,6 +381,27 @@ local function normalizeClients()
|
||||
end
|
||||
end
|
||||
|
||||
local function move_tag_to_focused_screen(tagName)
|
||||
-- For all screens: find tag by name
|
||||
print("looking for tag " .. tagName)
|
||||
local tagByName = awful.tag.find_by_name(nil, tagName)
|
||||
if tag then
|
||||
print("tag found with name" .. tagName)
|
||||
local screenFocused = awful.screen.focused()
|
||||
tagByName.screen=screenFocused
|
||||
tagByName:view_only()
|
||||
end
|
||||
end
|
||||
|
||||
local function move_client_to_tag(tagName)
|
||||
if client.focus then
|
||||
local tag = awful.tag.find_by_name(nil, tagName)
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
@ -644,31 +683,12 @@ clientkeys = gears.table.join(
|
||||
{description = "(un)maximize horizontally", group = "client"})
|
||||
)
|
||||
|
||||
local function move_tag_to_focused_screen(tagName)
|
||||
-- For all screens: find tag by name
|
||||
print("looking for tag " .. tagName)
|
||||
local tagByName = awful.tag.find_by_name(nil, tagName)
|
||||
if tag then
|
||||
print("tag found with name" .. tagName)
|
||||
local screenFocused = awful.screen.focused()
|
||||
tagByName.screen=screenFocused
|
||||
tagByName:view_only()
|
||||
end
|
||||
end
|
||||
|
||||
local function move_client_to_tag(tagName)
|
||||
if client.focus then
|
||||
local tag = awful.tag.find_by_name(nil, tagName)
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
for i = 1, 10 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
-- mod + i -> show tag
|
||||
@ -687,7 +707,7 @@ for i = 1, 9 do
|
||||
function ()
|
||||
selectClientIdx(i)
|
||||
end,
|
||||
{description = "view tag #"..i, group = "tag"}),
|
||||
{description = "select client in active tag #"..i, group = "client"}),
|
||||
|
||||
-- Toggle tag display.
|
||||
--
|
||||
@ -713,19 +733,78 @@ for i = 1, 9 do
|
||||
-- end
|
||||
move_client_to_tag(tags[i])
|
||||
end,
|
||||
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||
{description = "move focused client to tag #"..i, group = "tag"})
|
||||
-- Toggle tag on focused client.
|
||||
-- mod + ctrl + shift +i -> toggle focused client on tag
|
||||
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
--awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
-- function ()
|
||||
-- if client.focus then
|
||||
-- local tag = client.focus.screen.tags[i]
|
||||
-- if tag then
|
||||
-- client.focus:toggle_tag(tag)
|
||||
-- end
|
||||
-- end
|
||||
-- end,
|
||||
-- {description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
)
|
||||
end
|
||||
|
||||
-- Numpad: [0-9] = [#90, #87-#89, #83-#85, #79-#81]
|
||||
local numpadMap = { 87, 88, 89, 83, 84, 85, 79, 80, 81, 90 }
|
||||
-- tags 11-20
|
||||
for i = 1, 10 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
-- mod + i -> show tag
|
||||
awful.key({ modkey }, "#" .. numpadMap[i],
|
||||
function ()
|
||||
-- local screen = awful.screen.focused()
|
||||
-- local tag = screen.tags[i]
|
||||
-- if tag then
|
||||
-- tag:view_only()
|
||||
-- end
|
||||
move_tag_to_focused_screen(tags[10+ i])
|
||||
end,
|
||||
{description = "view tag #"..(10+i), group = "tag"}),
|
||||
|
||||
|
||||
-- Toggle tag display.
|
||||
--
|
||||
-- mod + ctrl + i -> show/hide tag
|
||||
awful.key({ modkey, "Control" }, "#" .. numpadMap[i],
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[10+i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
{description = "toggle tag #" .. (10+i), group = "tag"}),
|
||||
-- Move client to tag.
|
||||
-- mod + shift + i -> move client to tag
|
||||
awful.key({ modkey, "Shift" }, "#" .. numpadMap[i],
|
||||
function ()
|
||||
-- if client.focus then
|
||||
-- local tag = client.focus.screen.tags[i]
|
||||
-- if tag then
|
||||
-- client.focus:move_to_tag(tag)
|
||||
-- end
|
||||
-- end
|
||||
move_client_to_tag(tags[10+i])
|
||||
end,
|
||||
{description = "move focused client to tag #"..(10+i), group = "tag"})
|
||||
-- Toggle tag on focused client.
|
||||
-- mod + ctrl + shift +i -> toggle focused client on tag
|
||||
-- awful.key({ modkey, "Control", "Shift" }, "#" .. np_map[i],
|
||||
-- function ()
|
||||
-- if client.focus then
|
||||
-- local tag = client.focus.screen.tags[i]
|
||||
-- if tag then
|
||||
-- client.focus:toggle_tag(tag)
|
||||
-- end
|
||||
-- end
|
||||
-- end,
|
||||
-- {description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user