diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2024-10-17 22:29:52 -0500 | 
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2024-10-17 22:29:52 -0500 | 
| commit | 572382a9ce99162bd93d2d6e3fd789f2c99bf420 (patch) | |
| tree | 676e1beca156d8a145f05462573ca101986783fa | |
| parent | e74ea1ed238500d48d3df0c8a5e15e4fd0bd0fcf (diff) | |
| download | dotconfig-572382a9ce99162bd93d2d6e3fd789f2c99bf420.tar.xz dotconfig-572382a9ce99162bd93d2d6e3fd789f2c99bf420.zip  | |
lowbat widget and remove old classiclayoutbox
| -rw-r--r-- | awesome/bar.lua | 8 | ||||
| -rw-r--r-- | awesome/widgets/battery.lua | 24 | ||||
| -rw-r--r-- | awesome/widgets/classiclayoutbox.lua | 111 | 
3 files changed, 32 insertions, 111 deletions
diff --git a/awesome/bar.lua b/awesome/bar.lua index 4adddb3..c03466e 100644 --- a/awesome/bar.lua +++ b/awesome/bar.lua @@ -7,6 +7,7 @@ local beautiful = require("beautiful")  local widget_cpu_usage   = require("widgets.cpu")  local widget_ram_usage   = require("widgets.ram")  local widget_temperature = require("widgets.temperature") +local widget_battery     = require("widgets.battery")  local classiclayoutbox   = require("widgets.classiclayouts")  local volume_control     = require("widgets.pavolctld")  local widget_volume = volume_control.textbox @@ -68,6 +69,12 @@ local widgets = {  		widget_volume,  		wibox.widget.textbox "%",  	}, +	bat = { +		layout = wibox.layout.fixed.horizontal, +		buttons = volume_buttons, +		wibox.widget.textbox "BAT: ", +		widget_battery, +	},  }  -- left widget group func @@ -97,6 +104,7 @@ function widgets.right_widgets(s) return wibox.widget {  		widgets.cpu,  		widgets.ram,  		widgets.vol, +		widgets.bat,  	},  	{  		widget = wibox.widget.separator, diff --git a/awesome/widgets/battery.lua b/awesome/widgets/battery.lua new file mode 100644 index 0000000..f6e6860 --- /dev/null +++ b/awesome/widgets/battery.lua @@ -0,0 +1,24 @@ +local awful = require("awful") +local wibox = require("wibox") +local naughty = require("naughty") + +local widget = wibox.widget.textbox() + +-- update widget on lowbat output +local lowbat_pid = awful.spawn.with_line_callback("lowbat", { +	stdout = function(stdout) +		widget:set_text(stdout) +	end, +	stderr = function(stderr) +		naughty.notify({ +			preset = naughty.config.presets.critical, +			title = "lowbat error", +			text = stderr +		}) +	end, +}) + +-- kill current lowbat on refresh/exit +awesome.connect_signal("exit", function() awful.spawn("kill " .. lowbat_pid) end) + +return widget diff --git a/awesome/widgets/classiclayoutbox.lua b/awesome/widgets/classiclayoutbox.lua deleted file mode 100644 index 412cb77..0000000 --- a/awesome/widgets/classiclayoutbox.lua +++ /dev/null @@ -1,111 +0,0 @@ ---------------------------------------------------------------------------- ---- Layoutbox widget. --- --- @author Julien Danjou <julien@danjou.info> --- @copyright 2009 Julien Danjou --- @classmod awful.widget.layoutbox ---------------------------------------------------------------------------- - -local setmetatable = setmetatable -local capi = { screen = screen, tag = tag } -local layout = require("awful.layout") -local tooltip = require("awful.tooltip") -local wibox = require("wibox") -local surface = require("gears.surface") - -local layout_icons = { -	cornernw = "", -	cornerne = "", -	cornersw = "", -	cornerse = "", -	fairh = "", -	fairv = "EEH", -	max = "[M]", -	floating  = "><>", -	magnifier = "[M]", -	fullscreen = "", -	spiral = "", -	dwindle = "", -	tile = "[]=", -	tiletop  = "TTT", -	tilebottom  = "TTT", -	tileleft  = "=[]", -} - -local function get_screen(s) -	return s and capi.screen[s] -end - -local layoutbox = { mt = {} } - -local boxes = nil - -local function update(w, screen) -	screen = get_screen(screen) -	local name = layout.getname(layout.get(screen)) -	w._layoutbox_tooltip:set_text(name or "[no name]") - -	if name == "max" and #screen.clients > 0 then -		w.textbox.text = " [" .. #screen.clients .. "] " -- TODO manage / unmanage signal -		return -	end - -	w.textbox.text = layout_icons[name] -	w.textbox.text = " " .. w.textbox.text .. " " -end - -local function update_from_tag(t) -	local screen = get_screen(t.screen) -	local w = boxes[screen] -	if w then -		update(w, screen) -	end -end - ---- Create a layoutbox widget. It draws a picture with the current layout --- symbol of the current tag. --- @param screen The screen number that the layout will be represented for. --- @return An imagebox widget configured as a layoutbox. -function layoutbox.new(screen) -	screen = get_screen(screen or 1) - -	-- Do we already have the update callbacks registered? -	if boxes == nil then -		boxes = setmetatable({}, { __mode = "kv" }) -		capi.tag.connect_signal("property::selected", update_from_tag) -		capi.tag.connect_signal("property::layout", update_from_tag) -		capi.tag.connect_signal("property::screen", function() -			for s, w in pairs(boxes) do -				if s.valid then -					update(w, s) -				end -			end -		end) -		layoutbox.boxes = boxes -	end - -	-- Do we already have a layoutbox for this screen? -	local w = boxes[screen] -	if not w then -		w = wibox.widget { -			{ -				id     = "textbox", -				widget = wibox.widget.textbox -			}, -			layout = wibox.layout.fixed.horizontal -		} - -		w._layoutbox_tooltip = tooltip {objects = {w}, delay_show = 1} - -		update(w, screen) -		boxes[screen] = w -	end - -	return w -end - -function layoutbox.mt:__call(...) -	return layoutbox.new(...) -end - -return setmetatable(layoutbox, layoutbox.mt)  | 
