214 lines
5 KiB
Lua
214 lines
5 KiB
Lua
-- ## Bar ##
|
|
-- ~~~~~~~~~
|
|
|
|
-- requirements
|
|
-- ~~~~~~~~~~~~
|
|
local gears = require("gears")
|
|
local awful = require("awful")
|
|
local wibox = require("wibox")
|
|
local beautiful = require("beautiful")
|
|
local xresources = require("beautiful.xresources")
|
|
local dpi = xresources.apply_dpi
|
|
|
|
-- # Bar Widgets :
|
|
local taglist = require("ui.bar.taglist")
|
|
local tasklist = require("ui.bar.tasklist")
|
|
local layoutbox = require("ui.bar.layoutbox")
|
|
mylayoutbox = wibox.container.margin(layoutbox(s), dpi(4), dpi(4), dpi(4), dpi(4))
|
|
|
|
-- # Widgets :
|
|
-- Keyboard :
|
|
--local logout_menu_widget = require("widgets.logout-menu")
|
|
local clock_widget = require('widgets.clock')
|
|
local keyboardlayout_widget = require('widgets.keyboardlayout')
|
|
local mem_widget = require('widgets.memory')
|
|
local cpu_widget = require('widgets.cpu')
|
|
local temprature_widget = require('widgets.temprature')
|
|
local battery_widget = require('widgets.battery')
|
|
local brightness_widget = require('widgets.brightness')
|
|
local netspeed_widget = require('widgets.net')
|
|
mylauncher = wibox.container.margin(mylauncher, dpi(2), dpi(2), dpi(2), dpi(2))
|
|
|
|
|
|
|
|
|
|
-- Barcontainer :
|
|
local function barcontainer(widget)
|
|
local container = wibox.widget
|
|
{
|
|
widget,
|
|
top = dpi(0),
|
|
bottom = dpi(0),
|
|
left = dpi(2),
|
|
right = dpi(2),
|
|
widget = wibox.container.margin
|
|
}
|
|
local box = wibox.widget{
|
|
{
|
|
container,
|
|
top = dpi(2),
|
|
bottom = dpi(2),
|
|
left = dpi(4),
|
|
right = dpi(4),
|
|
widget = wibox.container.margin
|
|
},
|
|
bg = colors.container,
|
|
shape = function(cr,w,h) gears.shape.rounded_rect(cr,w,h,0) end,
|
|
widget = wibox.container.background
|
|
}
|
|
return wibox.widget{
|
|
box,
|
|
top = dpi(2),
|
|
bottom = dpi(2),
|
|
right = dpi(2),
|
|
left = dpi(2),
|
|
widget = wibox.container.margin
|
|
}
|
|
end
|
|
|
|
|
|
-- Separator :
|
|
local separator = wibox.widget{
|
|
markup = '<span font="' .. theme.font .. '">| </span>',
|
|
align = 'center',
|
|
valign = 'center',
|
|
widget = wibox.widget.textbox
|
|
}
|
|
|
|
-- Systray
|
|
local systray = wibox.widget {
|
|
visible = true,
|
|
base_size = dpi(30),
|
|
horizontal = true,
|
|
screen = 'primary',
|
|
{
|
|
{
|
|
{
|
|
wibox.widget.systray,
|
|
layout = wibox.layout.fixed.horizontal,
|
|
},
|
|
margins = {top = dpi(0), bottom = dpi(0), left = dpi(0), right = dpi(0)},
|
|
widget = wibox.container.margin,
|
|
},
|
|
shape = function(cr,w,h) gears.shape.rounded_rect(cr,w,h,0) end,
|
|
bg = colors.black,
|
|
widget = wibox.container.background,
|
|
},
|
|
margins = {top = dpi(2), bottom = dpi(2)},
|
|
widget = wibox.container.margin,
|
|
}
|
|
|
|
-- Logout menu
|
|
--local logout_menu = wibox.widget {
|
|
-- {
|
|
-- {
|
|
-- {
|
|
-- logout_menu_widget(),
|
|
-- layout = wibox.layout.fixed.horizontal,
|
|
-- },
|
|
-- margins = {top = dpi(0), bottom = dpi(0), left = dpi(0), right = dpi(0)},
|
|
-- widget = wibox.container.margin,
|
|
-- },
|
|
-- shape = function(cr,w,h) gears.shape.rounded_rect(cr,w,h,0) end,
|
|
-- bg = colors.black,
|
|
-- widget = wibox.container.background,
|
|
-- },
|
|
-- margins = {top = dpi(2), bottom = dpi(4)},
|
|
-- widget = wibox.container.margin,
|
|
--}
|
|
|
|
|
|
--local btn = wibox.widget {
|
|
-- wibox.widget.systray,
|
|
-- logout_menu_widget(),
|
|
-- spacing = dpi(2),
|
|
-- layout = wibox.layout.fixed.horizontal
|
|
--}
|
|
|
|
-- Right
|
|
local right = wibox.widget {
|
|
{
|
|
-- # Updates :
|
|
barcontainer(netspeed_widget),
|
|
-- # Brightness :
|
|
--barcontainer(brightness_widget),
|
|
-- # CPU TEMP :
|
|
barcontainer(temprature_widget),
|
|
-- # CPU :
|
|
barcontainer(cpu_widget),
|
|
-- # RAM :
|
|
barcontainer(mem_widget),
|
|
-- # Keybord :
|
|
barcontainer(keyboardlayout_widget),
|
|
-- # Clock :
|
|
barcontainer(clock_widget),
|
|
-- # Systry :
|
|
systray,
|
|
-- # Logout :
|
|
--logout_menu,
|
|
-- # Layoutbox :
|
|
--layoutbox(s),
|
|
spacing = dpi(4),
|
|
layout = wibox.layout.fixed.horizontal,
|
|
},
|
|
margins = {top = dpi(2), bottom = dpi(2),},
|
|
widget = wibox.container.margin,
|
|
}
|
|
|
|
|
|
local function get_bar(s)
|
|
s.mywibar = awful.wibar({
|
|
position = "bottom",
|
|
type = "dock",
|
|
ontop = false,
|
|
stretch = false,
|
|
visible = true,
|
|
height = dpi(36),
|
|
width = s.geometry.width,
|
|
screen = s,
|
|
bg = colors.black,
|
|
--bg = colors.transparent,
|
|
--opacity = 0.85,
|
|
})
|
|
|
|
--s.mywibar:struts { bottom = dpi(60), top = dpi(36), left = dpi(20), right = dpi(20) }
|
|
|
|
s.mywibar:setup({
|
|
{
|
|
{
|
|
layout = wibox.layout.align.horizontal,
|
|
--expand = "none",
|
|
{ -- Left widgets :
|
|
--mylauncher,
|
|
barcontainer(taglist(s)),
|
|
--taglist(s),
|
|
separator,
|
|
spacing = dpi(8),
|
|
layout = wibox.layout.fixed.horizontal,
|
|
},
|
|
{ -- Middle widget :
|
|
tasklist(s),
|
|
layout = wibox.layout.align.horizontal,
|
|
},
|
|
--tasklist(s),
|
|
{ -- Right widgets :
|
|
right,
|
|
-- # Layoutbox :
|
|
mylayoutbox,
|
|
layout = wibox.layout.fixed.horizontal,
|
|
},
|
|
},
|
|
left = dpi(5),
|
|
right = dpi(5),
|
|
widget = wibox.container.margin,
|
|
},
|
|
shape = function(cr,w,h) gears.shape.rounded_rect(cr, w, h, 0) end,
|
|
widget = wibox.container.background,
|
|
})
|
|
end
|
|
|
|
screen.connect_signal("request::desktop_decoration", function(s)
|
|
get_bar(s)
|
|
end)
|
|
|
|
|