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

R.V.
Виджеты на рабочем столе в осоме тоже,
дык яж скрины выкладывал... с всплывающей панелью
https://github.com/warlock90000/awesome
За что и получал благодарности. А посередине экрана или в нескольких его местах (типа полноэкранных коньков) можно виджет забомбить?
R.V.
А посередине экрана или в нескольких его местах (типа полноэкранных коньков) можно виджет забомбить?
https://github.com/warlock90000/awesome
На этом же сайте виджет на рабочем столе , но это для awesome 3.5, для awesome 4 на сайте автора Clock widget for Awesome >= 4.0
Кто ищет, тот всегда найдет.
Рад видеть ничем неограниченные возможности. :)
olgmen
Дружище, а как у тебя успехи с панелькой?
https://github.com/warlock90000/awesome
застрял на часиках, самое смешное, что сделаны они по первой ссылке, с обработкой, но никак не хотят идти, по второй ссылке, на рабочем столе тикают, правда иногда сбой секундной стрелки

Запустил наконец часики. Что бы секундная стрелка шла ровно, без задержек, необходимо установить timeout = 0.5
Кто ищет, тот всегда найдет.
olgmen
Запустил наконец часики
Круто ! :)
https://github.com/warlock90000/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 seconds = args.seconds or false
	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
		local t = os.date("*t")
		local ht =  ((t.hour % 12) / 12 + t.min / 720 + t.sec / 43200) * 2 * math.pi
		local hx =  math.floor(0.60 * r * math.sin(ht))
		local hy = -math.floor(0.60 * r * math.cos(ht))
		local mt =  (t.min / 60 + t.sec / 3600) * 2 * math.pi
		local mx =  math.floor(0.90 * r * math.sin(mt))
		local my = -math.floor(0.90 * r * math.cos(mt))
		local st =  t.sec / 60 * 2 * math.pi
		local sx =  math.floor(0.90 * r * math.sin(st))
		local sy = -math.floor(0.90 * r * math.cos(st))
--
		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

		cr:set_line_width (3)
		cr:move_to (r,r)
		cr:line_to (r+hx, r+hy)
		cr:stroke()
		cr:set_line_width (2)
		cr:move_to (r,r)
		cr:line_to (r+mx, r+my)
		cr:stroke()
		if seconds == true then
			cr:set_line_width (1)
			cr:set_source_rgba(1,0,0,0.5)
			cr:move_to (r,r)
			cr:line_to (r+sx, r+sy)
			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 })
Кто ищет, тот всегда найдет.
olgmen, пасиба. В копилку. :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.