awesome, добавляем левую панель

Немного сократил виджет, вернее переделал

--[[ analogclock
	olgmen
	2017
]]

local wibox		= require("wibox")
local beautiful	= require("beautiful")
local timer = require("gears.timer")

local analogclock = {}

local function worker(args)
	args = args or {}
	local update_interval = args.update_interval or 1
	local bg = args.bg or beautiful.fg_normal
	local fg = args.fg or beautiful.bg_normal

	analogclock = wibox.widget.base.make_widget()

	function analogclock:fit(context, width, height)
	    -- Find the maximum square available
		local size = math.min(width, height)
		return size, size
	end

	function analogclock:draw(context, cr, width, height)
		local r = (width - (width % 2))/2
		local x = width/2
		local y = height/2
--
		cr:set_line_width (2)
		for i = 0,11 do
			cr:move_to (x + r*0.85*math.sin(i*math.rad(30)), y - r*0.85*math.cos(i*math.rad(30)) )
			cr:line_to (x + r*0.95*math.sin(i*math.rad(30)), y - r*0.95*math.cos(i*math.rad(30)) )
			cr:stroke ()
		end
--
		cr:set_line_width(1)
		for i = 0,59 do
			cr:move_to (x + r*0.90*math.sin(i*math.rad(6)), y - r*0.90*math.cos(i*math.rad(6)) )
			cr:line_to (x + r*0.95*math.sin(i*math.rad(6)), y - r*0.95*math.cos(i*math.rad(6)) )
			cr:stroke ()
		end

		local value,maximum,length = {},{},{}

		value[0]=os.date("%I")
		value[1]=os.date("%M")
		value[2]=os.date("%S")

		maximum[0] = 12
		maximum[1] = 60
		maximum[2] = 60

		length[0] = 0.6
		length[1] = 0.75
		length[2] = 0.85

		value[1] = value[1] + (value[2]/60)
		value[0] = value[0] + (value[1]/60)
		for i = 0,2 do
			if i == 0 then cr:set_line_width (3) end
			if i == 1 then cr:set_line_width (2) end
			if i == 2 then
				cr:set_line_width (1)
				cr:set_source_rgba(1,0,0,0.5)
			end
			cr:move_to(x, y)
			cr:line_to(x+math.sin(math.rad((value[i]/maximum[i])*360))*r*length[i], y-math.cos(math.rad((value[i]/maximum[i])*360))*r*length[i])
			cr:stroke()
		end

	end

	analogclock.timer = timer { timeout = update_interval }

    -- Set timer callback
	analogclock.timer:connect_signal("timeout", function()
		analogclock:emit_signal("widget::redraw_needed")
	end)

    -- Start timer
	analogclock.timer:start()
	return analogclock

end

return setmetatable(analogclock, { __call = function(_, ...) return worker(...) end })
Кто ищет, тот всегда найдет.
Перекопав свои старые коньки сделал



при наведении на виджет MEM выводятся данные о занятой памяти

Кто ищет, тот всегда найдет.
Стильно смотрится.
Чем загружен проц? Уж не левой ли панелькой?
у меня комп на проце АТОМ со встроенной видео, иногда зашкаливает, левая панель не нагружает проц
Кто ищет, тот всегда найдет.
Подрихтовал панельку

Замоталься с этими { и layout`ами
https://github.com/warlock90000/awesome
+ 330 каждому! :)
Пока застрял на этом. Верхнее кольцо CPU, ниже FS /



не могу вставить текст в кольца
Кто ищет, тот всегда найдет.
olgmen
Верхнее кольцо CPU, ниже FS /
https://github.com/cedlemo/blingbling/blob/master/wlourf_circle_graph.lua
Может с этим проще будет?
https://github.com/warlock90000/awesome
olgmen
не могу вставить текст в кольца
https://awesomewm.org/doc/api/classes/wibox.container.margin.html
а еще
https://awesomewm.org/doc/api/libraries/gears.shape.html#module.radial_progress
https://github.com/warlock90000/awesome
warlock спасибо за ссылки, но это давно уже изучено. Я хочу поместить надпись в середину кольца. Нашел такой спосб н на [url=https://awesomewm.org/doc/api/ но, если вывод значения внутри кольца, то нет обновления, а ниже, выше, не хочется :)
Кто ищет, тот всегда найдет.
 
Зарегистрироваться или войдите чтобы оставить сообщение.