stalker_tk
можно конфиг глянуть?

Вывод mem на картинке, а cpu здесь

-- cpu =================================================================

	local cpu_ring = wibox.widget {
		max_value    = 1,
        min_value    = 0,
        rounded_edge = false,
        thickness	= 3,
        bg           = beautiful.bg_normal,
        border_width = beautiful.arcchart_border_width,	--0.5,
        border_color = beautiful.border_color,
        start_angle  = 0.25*math.pi,
        widget       = wibox.container.arcchart
	}

	mycpu = lain.widgets.cpu({
		settings  = function()
		cpu_ring:set_value(1-(cpu_now.usage / 100))
		widget:set_markup(markup('#aebdae',"cpu".. "\n" .. cpu_now.usage .. "\n" .. "%"))
		widget:set_align("center")
	end
	})

	cpu = wibox.widget {
        cpu_ring,
        mycpu,
        layout = wibox.layout.stack,
    }

	cpu:connect_signal("mouse::enter", function () cpu.show_notification() end)
	cpu:connect_signal("mouse::leave", function () cpu.hide_notification() end)

	cpu.list_len = 10

	cpu.command = [[ top -o \%CPU -b -n 1 -w 512 ]] ..
		[[ | grep " PID" -A ]] .. cpu.list_len + 1 ..
		[[ | awk '{printf "%-5s %-4s %s\n", $1, $7, $11}' ]]

	function cpu.hide_notification()
		if cpu.id ~= nil then
			naughty.destroy(cpu.id)
			cpu.id = nil
		end
	end

	function cpu.show_notification()
		cpu.hide_notification()
		local output = parse.command_to_string(cpu.command)
		cpu.id = naughty.notify({
		text = output,
		timeout = 20,	--cpu.timeout,
		preset = beautiful.naughty_mono_preset,
		position="top_left",
		})
	end

	myringcpu = wibox.container.margin(cpu, 3, 3, 3, 3)
Кто ищет, тот всегда найдет.
наконец то сбылось



оказалось всё прост, учу матчасть ):
Кто ищет, тот всегда найдет.
warlock спасибо, попробую
Кто ищет, тот всегда найдет.
Пытаюсь установить awesome 4.1 вылетают ошибки, что делать
[[email protected] ~]$ cd /home/olgmen/Загрузки/awesome-4.1
[[email protected] awesome-4.1]$ make
Running cmake…
-- git -> /usr/bin/git
-- asciidoc not found.
-- xmlto not found.
-- gzip -> /usr/bin/gzip
-- ldoc not found.
-- ldoc.lua not found.
-- Not generating API documentation. Missing: ldoc.
-- convert -> /usr/bin/convert
-- Not generating manpages. Missing: asciidoc xmlto
-- Using version from /home/olgmen/Загрузки/awesome-4.1/.version_stamp: v4.1
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.50.3
-- Checking for module 'gdk-pixbuf-2.0'
--   Found gdk-pixbuf-2.0, version 2.36.5
-- Checking for module 'cairo'
--   Found cairo, version 1.14.8
-- Checking for module 'x11'
--   Found x11, version 1.6.5
-- Checking for module 'xcb-cursor'
--   Found xcb-cursor, version 0.1.3
-- Checking for module 'xcb-randr'
--   Found xcb-randr, version 1.12
-- Checking for module 'xcb-xtest'
--   Found xcb-xtest, version 1.12
-- Checking for module 'xcb-xinerama'
--   Found xcb-xinerama, version 1.12
-- Checking for module 'xcb-shape'
--   Found xcb-shape, version 1.12
-- Checking for module 'xcb-util>=0.3.8'
--   Found xcb-util, version 0.4.0
-- Checking for module 'xcb-keysyms>=0.3.4'
--   Found xcb-keysyms, version 0.4.0
-- Checking for module 'xcb-icccm>=0.3.8'
--   Found xcb-icccm, version 0.4.1
-- Checking for module 'xcb-xkb'
--   Found xcb-xkb, version 1.12
-- Checking for module 'xkbcommon'
--   Found xkbcommon, version 0.7.1
-- Checking for module 'xkbcommon-x11'
--   Found xkbcommon-x11, version 0.7.1
-- Checking for module 'cairo-xcb'
--   Found cairo-xcb, version 1.14.8
-- Checking for module 'libstartup-notification-1.0>=0.10'
--   Found libstartup-notification-1.0, version 0.12
-- Checking for module 'xproto>=7.0.15'
--   Found xproto, version 7.0.31
-- Checking for module 'libxdg-basedir>=1.0.0'
--   Found libxdg-basedir, version 1.2.0
-- Checking for module 'xcb-xrm'
--   Found xcb-xrm, version 1.2
-- checking for execinfo -- found
-- checking for round -- in libm
-- busted not found.
-- luacheck not found.
-- Package version will be set to 4.1.0.0.
-- rpmbuild not found.
-- The 'package' target will not build a RPM
-- dpkg not found.
-- The 'package' target will not build a DEB
-- Configuring done
-- Generating done
-- Build files have been written to: /home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1
Running make Makefile…
Building…
[ 10%] Built target lgi-check
[ 10%] Built target generate_awesomerc
[ 10%] Built target generated_sources
[ 10%] Linking C executable awesome
CMakeFiles/awesome.dir/dbus.c.o: In function `a_dbus_message_iter':
/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/dbus.c:119: undefined reference to `lua_rotate'
/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/dbus.c:210: undefined reference to `lua_rotate'
/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/dbus.c:193: undefined reference to `lua_rotate'
CMakeFiles/awesome.dir/dbus.c.o: In function `luaA_object_push':
/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/common/luaobject.h:148: undefined reference to `lua_rotate'
CMakeFiles/awesome.dir/dbus.c.o: In function `luaA_dofunction':
/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/common/lualib.h:69: undefined reference to `lua_rotate'
CMakeFiles/awesome.dir/dbus.c.o:/home/olgmen/Загрузки/awesome-4.1/.build-arch-x86_64-pc-linux-gnu-6.3.1/common/lualib.h:73: more undefined references to `lua_rotate' follow
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[3]: *** [CMakeFiles/awesome.dir/build.make:1113: awesome] Ошибка 1
make[2]: *** [CMakeFiles/Makefile2:101: CMakeFiles/awesome.dir/all] Ошибка 2
make[1]: *** [Makefile:128: all] Ошибка 2
make: *** [Makefile:28: cmake-build] Ошибка 2
[[email protected] awesome-4.1]$
Кто ищет, тот всегда найдет.
warlock спасибо за ссылки, но это давно уже изучено. Я хочу поместить надпись в середину кольца. Нашел такой спосб н на [url=https://awesomewm.org/doc/api/ но, если вывод значения внутри кольца, то нет обновления, а ниже, выше, не хочется :)
Кто ищет, тот всегда найдет.
Пока застрял на этом. Верхнее кольцо CPU, ниже FS /



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



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

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

--[[ 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 })
Кто ищет, тот всегда найдет.
Может кому то пригодится
--[[ 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 })
Кто ищет, тот всегда найдет.