mirror of
https://github.com/lcpz/awesome-copycats.git
synced 2024-12-23 03:32:30 +00:00
fix: change module loading
This commit is contained in:
parent
926a63f282
commit
8dc867833c
115
eminent/init.lua
115
eminent/init.lua
|
@ -1,37 +1,63 @@
|
||||||
------------------------------------------
|
----------------------------------------------------------------
|
||||||
-- Effortless wmii-style dynamic tagging.
|
-- Effortless wmii-style dynamic tagging.
|
||||||
------------------------------------------
|
----------------------------------------------------------------
|
||||||
-- Lucas de Vries <lucas@glacicle.org>
|
-- Lucas de Vries <lucas@glacicle.org>
|
||||||
-- Licensed under the WTFPL version 2
|
-- Licensed under the WTFPL version 2
|
||||||
-- * http://sam.zoy.org/wtfpl/COPYING
|
-- * http://sam.zoy.org/wtfpl/COPYING
|
||||||
-----------------------------------------
|
----------------------------------------------------------------
|
||||||
-- Cut version
|
-- To use this module add:
|
||||||
-----------------------------------------
|
-- require("eminent")
|
||||||
|
-- to the top of your rc.lua.
|
||||||
|
--
|
||||||
|
-- That's it. Through magical monkey-patching, all you need to
|
||||||
|
-- do to start dynamic tagging is loading it.
|
||||||
|
--
|
||||||
|
-- Use awesome like you normally would, you don't need to
|
||||||
|
-- change a thing.
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
-- Grab environment
|
-- Grab environment
|
||||||
local ipairs = ipairs
|
local ipairs = ipairs
|
||||||
|
local pairs = pairs
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
local table = table
|
local table = table
|
||||||
local capi = {
|
local capi = {
|
||||||
|
tag = tag,
|
||||||
|
mouse = mouse,
|
||||||
|
client = client,
|
||||||
screen = screen,
|
screen = screen,
|
||||||
|
wibox = wibox,
|
||||||
|
timer = timer,
|
||||||
|
keygrabber = keygrabber,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local getscreen = capi.tag.getscreen
|
||||||
|
|
||||||
-- Eminent: Effortless wmii-style dynamic tagging
|
-- Eminent: Effortless wmii-style dynamic tagging
|
||||||
module("eminent")
|
local eminent = {}
|
||||||
|
|
||||||
|
|
||||||
|
--- Create new tag when scrolling right from the last tag
|
||||||
|
eminent.create_new_tag = true
|
||||||
|
|
||||||
|
|
||||||
-- Grab the original functions we're replacing
|
-- Grab the original functions we're replacing
|
||||||
local deflayout = nil
|
local deflayout = nil
|
||||||
local orig = {
|
local orig = {
|
||||||
new = awful.tag.new,
|
new = awful.tag.new,
|
||||||
|
viewidx = awful.tag.viewidx,
|
||||||
|
|
||||||
taglist = awful.widget.taglist.new,
|
taglist = awful.widget.taglist.new,
|
||||||
filter = awful.widget.taglist.filter.all,
|
--label = awful.widget.taglist.label.all,
|
||||||
|
label = awful.widget.taglist.filter.all,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Return tags with stuff on them, mark others hidden
|
-- Return tags with stuff on them, mark others hidden
|
||||||
function gettags(screen)
|
function gettags(screen)
|
||||||
local tags = {}
|
local tags = {}
|
||||||
|
|
||||||
for k, t in ipairs(capi.screen[screen]:tags()) do
|
--for k, t in ipairs(capi.screen[screen]:tags()) do
|
||||||
|
for k, t in ipairs(awful.tag.gettags(screen)) do
|
||||||
if t.selected or #t:clients() > 0 then
|
if t.selected or #t:clients() > 0 then
|
||||||
awful.tag.setproperty(t, "hide", false)
|
awful.tag.setproperty(t, "hide", false)
|
||||||
table.insert(tags, t)
|
table.insert(tags, t)
|
||||||
|
@ -49,9 +75,80 @@ awful.tag.new = function (names, screen, layout)
|
||||||
return orig.new(names, screen, layout)
|
return orig.new(names, screen, layout)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- View tag by relative index
|
||||||
|
awful.tag.viewidx = function (i, screen)
|
||||||
|
-- Hide tags
|
||||||
|
local s = screen or capi.mouse.screen
|
||||||
|
--local ctags = capi.screen[s]:tags()
|
||||||
|
local ctags = awful.tag.gettags(s)
|
||||||
|
local tags = gettags(s)
|
||||||
|
local sel = awful.tag.selected()
|
||||||
|
|
||||||
|
-- Check if we should "create" a new tag
|
||||||
|
local selidx = awful.util.table.hasitem(tags, sel)
|
||||||
|
local tagidx = awful.util.table.hasitem(ctags, sel)
|
||||||
|
|
||||||
|
-- Create a new tag if needed
|
||||||
|
if eminent.create_new_tag and
|
||||||
|
selidx == #tags and i == 1 and #sel:clients() > 0
|
||||||
|
then
|
||||||
|
-- Deselect all
|
||||||
|
awful.tag.viewnone(s)
|
||||||
|
|
||||||
|
if #ctags >= tagidx+1 then
|
||||||
|
-- Focus next
|
||||||
|
ctags[tagidx+1].selected = true
|
||||||
|
awful.tag.setproperty(ctags[tagidx+1], "hide", false)
|
||||||
|
else
|
||||||
|
-- Create new
|
||||||
|
local tag = capi.tag { name = ""..(tagidx+1) }
|
||||||
|
tag.screen = s
|
||||||
|
tag.selected = true
|
||||||
|
awful.tag.setproperty(tag, "layout", deflayout)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
-- Call original
|
||||||
|
orig.viewidx(i, screen)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Taglist label functions
|
-- Taglist label functions
|
||||||
|
--awful.widget.taglist.label.all = function (t, args)
|
||||||
awful.widget.taglist.filter.all = function (t, args)
|
awful.widget.taglist.filter.all = function (t, args)
|
||||||
if t.selected or #t:clients() > 0 then
|
if t.selected or #t:clients() > 0 then
|
||||||
return orig.filter(t, args)
|
return orig.label(t, args)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- Update hidden status
|
||||||
|
local function uc(c) gettags(c.screen) end
|
||||||
|
--local function ut(t) gettags(t.screen) end
|
||||||
|
local function ut(s,t) gettags(s.index) end
|
||||||
|
|
||||||
|
|
||||||
|
capi.client.connect_signal("unmanage", uc)
|
||||||
|
capi.client.connect_signal("new", function(c)
|
||||||
|
c:connect_signal("property::screen", uc)
|
||||||
|
c:connect_signal("property::urgent", uc)
|
||||||
|
c:connect_signal("tagged", uc)
|
||||||
|
c:connect_signal("untagged", uc)
|
||||||
|
c:connect_signal("focus", uc)
|
||||||
|
c:connect_signal("unfocus", uc)
|
||||||
|
end)
|
||||||
|
|
||||||
|
for screen=1, capi.screen.count() do
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::selected", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::icon", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::hide", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::name", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::activated", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::screen", ut)
|
||||||
|
awful.tag.attached_connect_signal(screen, "property::index", ut)
|
||||||
|
|
||||||
|
--awful.tag.attached_connect_signal(screen, "tag::history::update",uc)
|
||||||
|
capi.screen[screen]:connect_signal("tag::history::update", ut)
|
||||||
|
--capi.screen[screen]:connect_signal("tag::detach", ut)
|
||||||
|
end
|
||||||
|
|
||||||
|
return eminent
|
||||||
|
|
|
@ -13,7 +13,8 @@ local table = table
|
||||||
local string = string
|
local string = string
|
||||||
local next = next
|
local next = next
|
||||||
|
|
||||||
module("menugen")
|
--module("menugen")
|
||||||
|
local menugen = {}
|
||||||
|
|
||||||
--Built in menubar should be checking local applications directory
|
--Built in menubar should be checking local applications directory
|
||||||
menu_gen.all_menu_dirs = { '/usr/share/applications/', '/usr/local/share/applications/', '~/.local/share/applications' }
|
menu_gen.all_menu_dirs = { '/usr/share/applications/', '/usr/local/share/applications/', '~/.local/share/applications' }
|
||||||
|
@ -23,7 +24,7 @@ menu_utils.wm_name = ""
|
||||||
|
|
||||||
-- Use MenuBar Parsing Utils to build StartMenu for Awesome
|
-- Use MenuBar Parsing Utils to build StartMenu for Awesome
|
||||||
-- @return awful.menu compliant menu items tree
|
-- @return awful.menu compliant menu items tree
|
||||||
function build_menu()
|
function menugen.build_menu()
|
||||||
local result = {}
|
local result = {}
|
||||||
local menulist = menu_gen.generate()
|
local menulist = menu_gen.generate()
|
||||||
|
|
||||||
|
@ -59,4 +60,4 @@ function build_menu()
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return menugen
|
||||||
|
|
Loading…
Reference in a new issue