mirror of https://github.com/lcpz/lain.git
net/mpd widget resize fix; #248
This commit is contained in:
parent
301faf5370
commit
cf2c442499
16
helpers.lua
16
helpers.lua
|
@ -16,6 +16,8 @@ local io = { open = io.open,
|
|||
local rawget = rawget
|
||||
local table = { sort = table.sort }
|
||||
|
||||
local wibox = require("wibox")
|
||||
|
||||
-- Lain helper functions for internal use
|
||||
-- lain.helpers
|
||||
local helpers = {}
|
||||
|
@ -140,7 +142,9 @@ end
|
|||
|
||||
-- }}}
|
||||
|
||||
--{{{ Iterate over table of records sorted by keys
|
||||
-- {{{ Misc
|
||||
|
||||
-- iterate over table of records sorted by keys
|
||||
function helpers.spairs(t)
|
||||
-- collect the keys
|
||||
local keys = {}
|
||||
|
@ -157,7 +161,15 @@ function helpers.spairs(t)
|
|||
end
|
||||
end
|
||||
end
|
||||
--}}}
|
||||
|
||||
-- create a lain textbox widget
|
||||
function helpers.make_widget_textbox()
|
||||
local w = wibox.widget.textbox('')
|
||||
local t = wibox.widget.base.make_widget(w)
|
||||
t.widget = w
|
||||
return t
|
||||
end
|
||||
|
||||
-- }}}
|
||||
|
||||
return helpers
|
||||
|
|
2
init.lua
2
init.lua
|
@ -9,8 +9,6 @@
|
|||
|
||||
--]]
|
||||
|
||||
package.loaded.lain = nil
|
||||
|
||||
local lain =
|
||||
{
|
||||
layout = require("lain.layout"),
|
||||
|
|
|
@ -162,29 +162,30 @@ end
|
|||
-- {{{ Dynamic tagging
|
||||
--
|
||||
-- Add a new tag
|
||||
function util.add_tag(mypromptbox)
|
||||
awful.prompt.run({prompt="New tag name: "}, mypromptbox[mouse.screen].widget,
|
||||
function(text)
|
||||
if text:len() > 0 then
|
||||
props = { selected = true }
|
||||
tag = awful.tag.add(new_name, props)
|
||||
tag.name = text
|
||||
tag:emit_signal("property::name")
|
||||
function util.add_tag()
|
||||
awful.prompt.run {
|
||||
prompt = "New tag name: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = function(name)
|
||||
if not name or #name == 0 then return end
|
||||
awful.tag.add(name, { screen = awful.screen.focused() }):view_only()
|
||||
end
|
||||
end)
|
||||
}
|
||||
end
|
||||
|
||||
-- Rename current tag
|
||||
-- @author: minism
|
||||
function util.rename_tag(mypromptbox)
|
||||
local tag = awful.tag.selected(mouse.screen)
|
||||
awful.prompt.run({prompt="Rename tag: "}, mypromptbox[mouse.screen].widget,
|
||||
function(text)
|
||||
if text:len() > 0 then
|
||||
tag.name = text
|
||||
tag:emit_signal("property::name")
|
||||
function util.rename_tag()
|
||||
awful.prompt.run {
|
||||
prompt = "Rename tag: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = function(new_name)
|
||||
if not new_name or #new_name == 0 then return end
|
||||
local t = awful.screen.focused().selected_tag
|
||||
if t then
|
||||
t.name = new_name
|
||||
end
|
||||
end
|
||||
end)
|
||||
}
|
||||
end
|
||||
|
||||
-- Move current tag
|
||||
|
@ -199,14 +200,13 @@ function util.move_tag(pos)
|
|||
end
|
||||
end
|
||||
|
||||
-- Remove current tag (if empty)
|
||||
-- Delete current tag
|
||||
-- Any rule set on the tag shall be broken
|
||||
function util.remove_tag()
|
||||
local tag = awful.tag.selected(mouse.screen)
|
||||
local prevtag = awful.tag.gettags(mouse.screen)[awful.tag.getidx(tag) - 1]
|
||||
awful.tag.delete(tag, prevtag)
|
||||
function util.delete_tag()
|
||||
local t = awful.screen.focused().selected_tag
|
||||
if not t then return end
|
||||
t:delete()
|
||||
end
|
||||
--
|
||||
-- }}}
|
||||
|
||||
-- On the fly useless gaps change
|
||||
|
|
|
@ -11,6 +11,7 @@ local capi = { client = client,
|
|||
mouse = mouse,
|
||||
screen = screen,
|
||||
timer = timer }
|
||||
local math = { floor = math.floor }
|
||||
local string = string
|
||||
|
||||
local pairs = pairs
|
||||
|
@ -61,7 +62,7 @@ function quake:display()
|
|||
|
||||
-- Resize
|
||||
awful.client.floating.set(client, true)
|
||||
client.border_width = self.border
|
||||
--client.border_width = self.border
|
||||
client.size_hints_honor = false
|
||||
if self.notexist then
|
||||
client:geometry(self.geometry)
|
||||
|
@ -113,8 +114,8 @@ function quake:new(config)
|
|||
|
||||
-- Compute size
|
||||
local geom = capi.screen[conf.screen].workarea
|
||||
if width <= 1 then width = geom.width * width end
|
||||
if height <= 1 then height = geom.height * height end
|
||||
if width <= 1 then width = math.floor(geom.width * width) end
|
||||
if height <= 1 then height = math.floor(geom.height * height) end
|
||||
local x, y
|
||||
if horiz == "left" then x = geom.x
|
||||
elseif horiz == "right" then x = geom.width + geom.x - width
|
||||
|
|
|
@ -13,6 +13,7 @@ local read_pipe = require("lain.helpers").read_pipe
|
|||
local awful = require("awful")
|
||||
local beautiful = require("beautiful")
|
||||
local naughty = require("naughty")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local math = { modf = math.modf }
|
||||
local mouse = mouse
|
||||
|
@ -110,7 +111,7 @@ local function worker(args)
|
|||
alsabar.notifications = args.notifications or alsabar.notifications
|
||||
alsabar.followmouse = args.followmouse or false
|
||||
|
||||
alsabar.bar = awful.widget.progressbar()
|
||||
alsabar.bar = wibox.widget.progressbar()
|
||||
|
||||
alsabar.bar:set_background_color(alsabar.colors.background)
|
||||
alsabar.bar:set_color(alsabar.colors.unmute)
|
||||
|
|
|
@ -26,7 +26,7 @@ local setmetatable = setmetatable
|
|||
|
||||
-- MPD infos
|
||||
-- lain.widgets.mpd
|
||||
local mpd = {}
|
||||
local mpd = helpers.make_widget_textbox()
|
||||
|
||||
local function worker(args)
|
||||
local args = args or {}
|
||||
|
@ -46,8 +46,6 @@ local function worker(args)
|
|||
local mpdh = "telnet://" .. host .. ":" .. port
|
||||
local echo = echo_cmd .. " 'password " .. password .. "\nstatus\ncurrentsong\nclose'"
|
||||
|
||||
mpd.widget = wibox.widget.textbox('')
|
||||
|
||||
mpd_notification_preset = {
|
||||
title = "Now playing",
|
||||
timeout = 6
|
||||
|
@ -139,7 +137,7 @@ local function worker(args)
|
|||
|
||||
helpers.newtimer("mpd", timeout, mpd.update)
|
||||
|
||||
return setmetatable(mpd, { __index = mpd.widget })
|
||||
return mpd
|
||||
end
|
||||
|
||||
return setmetatable(mpd, { __call = function(_, ...) return worker(...) end })
|
||||
|
|
|
@ -21,7 +21,10 @@ local setmetatable = setmetatable
|
|||
-- lain.widgets.net
|
||||
|
||||
local function worker(args)
|
||||
local net = { last_t = 0, last_r = 0, devices = {} }
|
||||
local net = helpers.make_widget_textbox()
|
||||
net.last_t = 0
|
||||
net.last_r = 0
|
||||
net.devices = {}
|
||||
|
||||
function net.get_first_device()
|
||||
local ws = helpers.read_pipe("ip link show | cut -d' ' -f2,9")
|
||||
|
@ -38,8 +41,6 @@ local function worker(args)
|
|||
local settings = args.settings or function() end
|
||||
local iface = args.iface or net.get_first_device()
|
||||
|
||||
net.widget = wibox.widget.textbox('')
|
||||
|
||||
-- Compatibility with old API where iface was a string corresponding to 1 interface
|
||||
if type(iface) == "string" then
|
||||
iftable = {iface}
|
||||
|
@ -138,7 +139,7 @@ local function worker(args)
|
|||
|
||||
helpers.newtimer(iface, timeout, update)
|
||||
|
||||
return setmetatable(net, { __index = net.widget })
|
||||
return net
|
||||
end
|
||||
|
||||
return setmetatable({}, { __call = function(_, ...) return worker(...) end })
|
||||
|
|
|
@ -13,6 +13,7 @@ local read_pipe = require("lain.helpers").read_pipe
|
|||
local awful = require("awful")
|
||||
local beautiful = require("beautiful")
|
||||
local naughty = require("naughty")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local math = { modf = math.modf }
|
||||
local mouse = mouse
|
||||
|
@ -109,7 +110,7 @@ local function worker(args)
|
|||
pulsebar.step = args.step or pulsebar.step
|
||||
pulsebar.followmouse = args.followmouse or false
|
||||
|
||||
pulsebar.bar = awful.widget.progressbar()
|
||||
pulsebar.bar = wibox.widget.progressbar()
|
||||
|
||||
pulsebar.bar:set_background_color(pulsebar.colors.background)
|
||||
pulsebar.bar:set_color(pulsebar.colors.unmute)
|
||||
|
|
2
wiki
2
wiki
|
@ -1 +1 @@
|
|||
Subproject commit 42fd0d64ad66a66a062eb422fb5f26e63fd5de58
|
||||
Subproject commit f6270edc9e9d8ba83971fac3dbaca301c4792f34
|
Loading…
Reference in New Issue