Made bar more beautiful, replaced some icons
Before Width: | Height: | Size: 125 B |
Before Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 356 B |
Before Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 142 B |
BIN
awesome/icons/info/batcharge.png
Normal file
After Width: | Height: | Size: 206 B |
BIN
awesome/icons/info/batempty.png
Normal file
After Width: | Height: | Size: 157 B |
BIN
awesome/icons/info/batfull.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
awesome/icons/info/bathigh.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
awesome/icons/info/batlow.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
awesome/icons/info/batmid.png
Normal file
After Width: | Height: | Size: 165 B |
BIN
awesome/icons/info/cpu.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
awesome/icons/info/download.png
Normal file
After Width: | Height: | Size: 200 B |
BIN
awesome/icons/info/mem.png
Normal file
After Width: | Height: | Size: 184 B |
BIN
awesome/icons/info/upload.png
Normal file
After Width: | Height: | Size: 217 B |
BIN
awesome/icons/info/volhigh.png
Normal file
After Width: | Height: | Size: 239 B |
BIN
awesome/icons/info/vollow.png
Normal file
After Width: | Height: | Size: 231 B |
BIN
awesome/icons/info/volmute.png
Normal file
After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 117 B |
Before Width: | Height: | Size: 348 B |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 350 B |
1
awesome/icons/svgs/batcharge.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs></defs><path d="M27 11h-1v-1a2 2 0 0 0-2-2h-4v2h4v3h3v6h-3v3h-5v2h5a2 2 0 0 0 2-2v-1h1a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2z" fill="currentColor"></path><path d="M11 22H6V10h6V8H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5z" fill="currentColor"></path><path d="M14.81 23.58l-1.62-1.16L17.06 17H9.37l6.85-8.62l1.56 1.24L13.51 15h7.43l-6.13 8.58z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 473 B |
1
awesome/icons/svgs/batempty.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M24 24H6a2.002 2.002 0 0 1-2-2V10a2.002 2.002 0 0 1 2-2h18a2.002 2.002 0 0 1 2 2v1h1a2.002 2.002 0 0 1 2 2v6a2.003 2.003 0 0 1-2 2h-1v1a2.003 2.003 0 0 1-2 2zM6 10v12h18v-3h3v-6h-3v-3z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 332 B |
1
awesome/icons/svgs/batfull.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs></defs><path d="M24 24H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v1h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-1v1a2 2 0 0 1-2 2zM6 10v12h18v-3h3v-6h-3v-3z" fill="currentColor"></path><path transform="rotate(90 15 16)" d="M11 9h8v14h-8z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 378 B |
1
awesome/icons/svgs/bathigh.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs></defs><path d="M24 24H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v1h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-1v1a2 2 0 0 1-2 2zM6 10v12h18v-3h3v-6h-3v-3z" fill="currentColor"></path><path transform="rotate(90 12 16)" d="M8 12h8v8H8z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 376 B |
1
awesome/icons/svgs/batlow.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs></defs><path d="M24 24H6a2.002 2.002 0 0 1-2-2V10a2.002 2.002 0 0 1 2-2h18a2.002 2.002 0 0 1 2 2v1h1a2.002 2.002 0 0 1 2 2v6a2.003 2.003 0 0 1-2 2h-1v1a2.003 2.003 0 0 1-2 2zM6 10v12h18v-3h3v-6h-3v-3z" fill="currentColor"></path><path transform="rotate(90 9 16)" d="M5 15h8v2H5z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 423 B |
1
awesome/icons/svgs/batmid.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs></defs><path d="M24 24H6a2.002 2.002 0 0 1-2-2V10a2.002 2.002 0 0 1 2-2h18a2.002 2.002 0 0 1 2 2v1h1a2.002 2.002 0 0 1 2 2v6a2.003 2.003 0 0 1-2 2h-1v1a2.003 2.003 0 0 1-2 2zM6 10v12h18v-3h3v-6h-3v-3z" fill="currentColor"></path><path transform="rotate(90 10 16)" d="M6 14h8v4H6z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 424 B |
1
awesome/icons/svgs/cpu.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M12 29a1 1 0 0 1-.92-.62L6.33 17H2v-2h5a1 1 0 0 1 .92.62L12 25.28l8.06-21.63A1 1 0 0 1 21 3a1 1 0 0 1 .93.68L25.72 15H30v2h-5a1 1 0 0 1-.95-.68L21 7l-8.06 21.35A1 1 0 0 1 12 29z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 325 B |
1
awesome/icons/svgs/download.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4z" fill="currentColor"></path><path d="M26 14l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10l10-10z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 304 B |
1
awesome/icons/svgs/mem.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M11 11v10h10V11zm8 8h-6v-6h6z" fill="currentColor"></path><path d="M30 13v-2h-4V8a2 2 0 0 0-2-2h-3V2h-2v4h-6V2h-2v4H8a2 2 0 0 0-2 2v3H2v2h4v6H2v2h4v3a2 2 0 0 0 2 2h3v4h2v-4h6v4h2v-4h3a2 2 0 0 0 2-2v-3h4v-2h-4v-6zm-6 11H8V8h16z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 374 B |
15
awesome/icons/svgs/svg_to_png.py
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import pathlib
|
||||||
|
from cairosvg import svg2png
|
||||||
|
from PIL import Image, ImageOps
|
||||||
|
|
||||||
|
for svg in pathlib.Path('.').glob('*.svg'):
|
||||||
|
print(f'Converting {svg.name}...', end='')
|
||||||
|
png = svg.with_suffix('.png')
|
||||||
|
svg2png(url=str(svg), write_to=str(png), output_width=12, output_height=12)
|
||||||
|
with Image.open(png) as img:
|
||||||
|
img.load()
|
||||||
|
border_img = ImageOps.expand(img, 4, (0, 0, 0, 0))
|
||||||
|
border_img.save(png)
|
||||||
|
print(' Done')
|
1
awesome/icons/svgs/upload.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M6 18l1.41 1.41L15 11.83V30h2V11.83l7.59 7.58L26 18L16 8L6 18z" fill="currentColor"></path><path d="M6 8V4h20v4h2V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 296 B |
1
awesome/icons/svgs/volhigh.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M27.16 8.08l-1.53 1.29a10 10 0 0 1-.29 13.23l1.47 1.4a12 12 0 0 0 .35-15.88z" fill="currentColor"></path><path d="M21.58 12a6 6 0 0 1-.18 7.94l1.47 1.36a8 8 0 0 0 .23-10.59z" fill="currentColor"></path><path d="M18 30a1 1 0 0 1-.71-.3L9.67 22H3a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h6.67l7.62-7.7a1 1 0 0 1 1.41 0a1 1 0 0 1 .3.7v26a1 1 0 0 1-1 1zM4 20h6.08a1 1 0 0 1 .71.3L17 26.57V5.43l-6.21 6.27a1 1 0 0 1-.71.3H4z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 557 B |
1
awesome/icons/svgs/vollow.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M25.1 10.66L23.58 12a6 6 0 0 1-.18 7.94l1.47 1.36a8 8 0 0 0 .23-10.59z" fill="currentColor"></path><path d="M20 30a1 1 0 0 1-.71-.3L11.67 22H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h6.67l7.62-7.7a1 1 0 0 1 1.41 0a1 1 0 0 1 .3.7v26a1 1 0 0 1-1 1zM6 20h6a1.17 1.17 0 0 1 .79.3L19 26.57V5.43l-6.21 6.27a1.17 1.17 0 0 1-.79.3H6z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 464 B |
1
awesome/icons/svgs/volmute.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M31 12.41L29.59 11L26 14.59L22.41 11L21 12.41L24.59 16L21 19.59L22.41 21L26 17.41L29.59 21L31 19.59L27.41 16L31 12.41z" fill="currentColor"></path><path d="M18 30a1 1 0 0 1-.71-.3L9.67 22H3a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h6.67l7.62-7.7a1 1 0 0 1 1.41 0a1 1 0 0 1 .3.7v26a1 1 0 0 1-1 1zM4 20h6a1.17 1.17 0 0 1 .79.3L17 26.57V5.43l-6.21 6.27a1.17 1.17 0 0 1-.79.3H4z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 511 B |
Before Width: | Height: | Size: 353 B |
@ -54,20 +54,19 @@ theme.menu_fg_normal = '#aaaaaa'
|
|||||||
theme.menu_fg_focus = '#ff8c00'
|
theme.menu_fg_focus = '#ff8c00'
|
||||||
theme.menu_bg_normal = '#050505dd'
|
theme.menu_bg_normal = '#050505dd'
|
||||||
theme.menu_bg_focus = '#050505dd'
|
theme.menu_bg_focus = '#050505dd'
|
||||||
theme.widget_temp = theme.confdir .. '/icons/temp.png'
|
theme.widget_cpu = theme.confdir .. '/icons/info/cpu.png'
|
||||||
theme.widget_uptime = theme.confdir .. '/icons/ac.png'
|
theme.widget_mem = theme.confdir .. '/icons/info/mem.png'
|
||||||
theme.widget_cpu = theme.confdir .. '/icons/cpu.png'
|
theme.widget_netdown = theme.confdir .. '/icons/info/download.png'
|
||||||
theme.widget_weather = theme.confdir .. '/icons/dish.png'
|
theme.widget_netup = theme.confdir .. '/icons/info/upload.png'
|
||||||
theme.widget_fs = theme.confdir .. '/icons/fs.png'
|
theme.widget_bat_charge = theme.confdir .. '/icons/info/batcharge.png'
|
||||||
theme.widget_mem = theme.confdir .. '/icons/mem.png'
|
theme.widget_bat_empty = theme.confdir .. '/icons/info/batempty.png'
|
||||||
theme.widget_note = theme.confdir .. '/icons/note.png'
|
theme.widget_bat_low = theme.confdir .. '/icons/info/batlow.png'
|
||||||
theme.widget_note_on = theme.confdir .. '/icons/note_on.png'
|
theme.widget_bat_mid = theme.confdir .. '/icons/info/batmid.png'
|
||||||
theme.widget_netdown = theme.confdir .. '/icons/net_down.png'
|
theme.widget_bat_high = theme.confdir .. '/icons/info/bathigh.png'
|
||||||
theme.widget_netup = theme.confdir .. '/icons/net_up.png'
|
theme.widget_bat_full = theme.confdir .. '/icons/info/batfull.png'
|
||||||
theme.widget_mail = theme.confdir .. '/icons/mail.png'
|
theme.widget_vol_mute = theme.confdir .. '/icons/info/volmute.png'
|
||||||
theme.widget_batt = theme.confdir .. '/icons/bat.png'
|
theme.widget_vol_low = theme.confdir .. '/icons/info/vollow.png'
|
||||||
theme.widget_clock = theme.confdir .. '/icons/clock.png'
|
theme.widget_vol_high = theme.confdir .. '/icons/info/volhigh.png'
|
||||||
theme.widget_vol = theme.confdir .. '/icons/spkr.png'
|
|
||||||
theme.taglist_squares_sel = theme.confdir .. '/icons/square_a.png'
|
theme.taglist_squares_sel = theme.confdir .. '/icons/square_a.png'
|
||||||
theme.taglist_squares_unsel = theme.confdir .. '/icons/square_b.png'
|
theme.taglist_squares_unsel = theme.confdir .. '/icons/square_b.png'
|
||||||
theme.tasklist_plain_task_name = true
|
theme.tasklist_plain_task_name = true
|
||||||
@ -112,77 +111,65 @@ theme.tasklist_bg_minimize = '#4d4d4d'
|
|||||||
|
|
||||||
local markup = lain.util.markup
|
local markup = lain.util.markup
|
||||||
|
|
||||||
-- Textclock
|
local function build_widget_list(widgets)
|
||||||
os.setlocale(os.getenv('LANG')) -- to localize the clock
|
local out = {}
|
||||||
local clockicon = wibox.widget.imagebox(theme.widget_clock)
|
local last_bg = 'alpha'
|
||||||
local mytextclock =
|
|
||||||
wibox.widget.textclock(markup('#7788af', '%A %d %B ') .. markup('#ab7367', '>') .. markup('#de5e1e', ' %H:%M '))
|
|
||||||
mytextclock.font = theme.font
|
|
||||||
|
|
||||||
-- Calendar
|
for _, widget in pairs(widgets) do
|
||||||
theme.cal = lain.widget.cal({
|
table.insert(out, lain.util.separators.arrow_left(last_bg, widget.bg))
|
||||||
attach_to = { mytextclock },
|
|
||||||
notification_preset = {
|
|
||||||
font = 'Monospace 10',
|
|
||||||
fg = theme.fg_normal,
|
|
||||||
bg = theme.bg_normal,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- / fs
|
local bg_widget = wibox.widget.background(wibox.container.margin(widget.widget, 5, 5), widget.bg)
|
||||||
local fsicon = wibox.widget.imagebox(theme.widget_fs)
|
bg_widget.fg = '#111111'
|
||||||
theme.fs = lain.widget.fs({
|
table.insert(out, bg_widget)
|
||||||
notification_preset = { font = 'Monospace 10', fg = theme.fg_normal },
|
|
||||||
settings = function()
|
|
||||||
-- luacheck: max line length 150, globals widget fs_now
|
|
||||||
widget:set_markup(
|
|
||||||
markup.fontfg(
|
|
||||||
theme.font,
|
|
||||||
'#80d9d8',
|
|
||||||
fs_now['/'].percentage
|
|
||||||
.. '% ('
|
|
||||||
.. string.format('%.3f', fs_now['/'].free)
|
|
||||||
.. ' '
|
|
||||||
.. fs_now['/'].units
|
|
||||||
.. ' left)'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
theme.fs.widget:buttons(gears.table.join(awful.button({}, 1, function()
|
|
||||||
awful.spawn('Thunar')
|
|
||||||
end)))
|
|
||||||
|
|
||||||
-- CPU
|
last_bg = widget.bg
|
||||||
local cpuicon = wibox.widget.imagebox(theme.widget_cpu)
|
end
|
||||||
local cpu = lain.widget.cpu({
|
|
||||||
settings = function()
|
|
||||||
-- luacheck: globals widget cpu_now
|
|
||||||
widget:set_markup(markup.fontfg(theme.font, '#e33a6e', cpu_now.usage .. '% '))
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
local optional = {}
|
return out
|
||||||
|
|
||||||
-- Coretemp
|
|
||||||
if settings['show_temp'] == true then
|
|
||||||
local tempicon = wibox.widget.imagebox(theme.widget_temp)
|
|
||||||
local temp = lain.widget.temp({
|
|
||||||
settings = function()
|
|
||||||
-- luacheck: globals widget coretemp_now
|
|
||||||
widget:set_markup(markup.fontfg(theme.font, '#f1af5f', coretemp_now .. '°C '))
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
table.insert(optional, tempicon)
|
|
||||||
table.insert(optional, temp)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Battery
|
local info_widgets = {}
|
||||||
|
|
||||||
|
-- > Net
|
||||||
|
local netdowninfo = wibox.widget.textbox()
|
||||||
|
local netupinfo = lain.widget.net({
|
||||||
|
settings = function()
|
||||||
|
-- luacheck: globals widget net_now
|
||||||
|
widget:set_text(net_now.sent)
|
||||||
|
netdowninfo:set_text(net_now.received)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = wibox.layout.fixed.horizontal(wibox.widget.imagebox(theme.widget_netdown), netdowninfo),
|
||||||
|
bg = '#87af5f'
|
||||||
|
})
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = wibox.layout.fixed.horizontal(wibox.widget.imagebox(theme.widget_netup), netupinfo.widget),
|
||||||
|
bg = '#e54c62'
|
||||||
|
})
|
||||||
|
-- < Net
|
||||||
|
|
||||||
|
-- > Battery
|
||||||
if settings['show_battery'] == true then
|
if settings['show_battery'] == true then
|
||||||
local baticon = wibox.widget.imagebox(theme.widget_batt)
|
local baticon = wibox.widget.imagebox(nil)
|
||||||
local bat = lain.widget.bat({
|
local bat = lain.widget.bat({
|
||||||
settings = function()
|
settings = function()
|
||||||
-- luacheck: globals widget bat_now
|
-- luacheck: globals widget bat_now
|
||||||
|
if bat_now.ac_status == 1 or bat_now.perc == 'N/A' then
|
||||||
|
baticon:set_image(theme.widget_bat_charge)
|
||||||
|
elseif bat_now.perc < 5 then
|
||||||
|
baticon:set_image(theme.widget_bat_empty)
|
||||||
|
elseif bat_now.perc < 15 then
|
||||||
|
baticon:set_image(theme.widget_bat_low)
|
||||||
|
elseif bat_now.perc < 50 then
|
||||||
|
baticon:set_image(theme.widget_bat_mid)
|
||||||
|
elseif bat_now.perc < 95 then
|
||||||
|
baticon:set_image(theme.widget_bat_high)
|
||||||
|
else
|
||||||
|
baticon:set_image(theme.widget_bat_full)
|
||||||
|
end
|
||||||
|
|
||||||
local perc = bat_now.perc ~= 'N/A' and bat_now.perc .. '%' or bat_now.perc
|
local perc = bat_now.perc ~= 'N/A' and bat_now.perc .. '%' or bat_now.perc
|
||||||
|
|
||||||
if bat_now.ac_status == 1 then
|
if bat_now.ac_status == 1 then
|
||||||
@ -192,53 +179,126 @@ if settings['show_battery'] == true then
|
|||||||
widget:set_markup(markup.fontfg(theme.font, theme.fg_normal, perc .. ' '))
|
widget:set_markup(markup.fontfg(theme.font, theme.fg_normal, perc .. ' '))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
table.insert(optional, baticon)
|
table.insert(info_widgets, {
|
||||||
table.insert(optional, bat)
|
widget = wibox.layout.fixed.horizontal(baticon, bat.widget),
|
||||||
|
bg = '#e54c62'
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
-- < Battery
|
||||||
|
|
||||||
-- ALSA volume
|
-- > ALSA volume
|
||||||
local volicon = wibox.widget.imagebox(theme.widget_vol)
|
local volumeicon = wibox.widget.imagebox(nil)
|
||||||
theme.volume = lain.widget.alsa({
|
local volume = lain.widget.alsa({
|
||||||
settings = function()
|
settings = function()
|
||||||
-- luacheck: globals widget volume_now
|
-- luacheck: globals widget volume_now
|
||||||
if volume_now.status == 'off' then
|
if volume_now.status == 'off' then
|
||||||
volume_now.level = volume_now.level .. 'M'
|
volumeicon:set_image(theme.widget_vol_mute)
|
||||||
|
volume_now.level = 'M ' .. volume_now.level
|
||||||
|
elseif volume_now.level == 0 then
|
||||||
|
volumeicon:set_image(theme.widget_vol_mute)
|
||||||
|
elseif volume_now.level <= 50 then
|
||||||
|
volumeicon:set_image(theme.widget_vol_low)
|
||||||
|
else
|
||||||
|
volumeicon:set_image(theme.widget_vol_high)
|
||||||
end
|
end
|
||||||
|
|
||||||
widget:set_markup(markup.fontfg(theme.font, '#7493d2', volume_now.level .. '% '))
|
widget:set_text(' ' .. volume_now.level .. '%')
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
theme.volume.widget:buttons(awful.util.table.join(
|
|
||||||
|
local volumebuttons = awful.util.table.join(
|
||||||
|
awful.button({}, 1, function() -- left click
|
||||||
|
os.execute(string.format('%s set %s toggle', volume.cmd, volume.togglechannel or volume.channel))
|
||||||
|
volume.update()
|
||||||
|
end),
|
||||||
awful.button({}, 4, function()
|
awful.button({}, 4, function()
|
||||||
os.execute(string.format('%s set %s 1%%+', theme.volume.cmd, theme.volume.channel))
|
os.execute(string.format('%s set %s 1%%+', volume.cmd, volume.channel))
|
||||||
theme.volume.update()
|
volume.update()
|
||||||
end),
|
end),
|
||||||
awful.button({}, 5, function()
|
awful.button({}, 5, function()
|
||||||
os.execute(string.format('%s set %s 1%%-', theme.volume.cmd, theme.volume.channel))
|
os.execute(string.format('%s set %s 1%%-', volume.cmd, volume.channel))
|
||||||
theme.volume.update()
|
volume.update()
|
||||||
end)
|
end)
|
||||||
))
|
)
|
||||||
|
|
||||||
-- Net
|
volume.widget:buttons(volumebuttons)
|
||||||
local netdownicon = wibox.widget.imagebox(theme.widget_netdown)
|
volumeicon:buttons(volumebuttons)
|
||||||
local netdowninfo = wibox.widget.textbox()
|
|
||||||
local netupicon = wibox.widget.imagebox(theme.widget_netup)
|
table.insert(info_widgets, {
|
||||||
local netupinfo = lain.widget.net({
|
widget = wibox.layout.fixed.horizontal(volumeicon, volume.widget),
|
||||||
settings = function()
|
bg = '#7493d2'
|
||||||
-- luacheck: globals widget net_now
|
|
||||||
widget:set_markup(markup.fontfg(theme.font, '#e54c62', net_now.sent .. ' '))
|
|
||||||
netdowninfo:set_markup(markup.fontfg(theme.font, '#87af5f', net_now.received .. ' '))
|
|
||||||
end,
|
|
||||||
})
|
})
|
||||||
|
-- < ALSA volume
|
||||||
|
|
||||||
-- MEM
|
-- > MEM
|
||||||
local memicon = wibox.widget.imagebox(theme.widget_mem)
|
|
||||||
local memory = lain.widget.mem({
|
local memory = lain.widget.mem({
|
||||||
settings = function()
|
settings = function()
|
||||||
-- luacheck: globals widget mem_now
|
-- luacheck: globals widget mem_now
|
||||||
widget:set_markup(markup.fontfg(theme.font, '#e0da37', mem_now.used .. 'M '))
|
widget:set_text(mem_now.used .. 'M')
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = wibox.layout.fixed.horizontal(wibox.widget.imagebox(theme.widget_mem), memory.widget),
|
||||||
|
bg = '#e0da37'
|
||||||
|
})
|
||||||
|
-- < MEM
|
||||||
|
|
||||||
|
-- > CPU
|
||||||
|
local cpu = lain.widget.cpu({
|
||||||
|
settings = function()
|
||||||
|
-- luacheck: globals widget cpu_now
|
||||||
|
widget:set_markup(cpu_now.usage .. '%')
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = wibox.layout.fixed.horizontal(wibox.widget.imagebox(theme.widget_cpu), cpu.widget),
|
||||||
|
bg = '#e33a6e'
|
||||||
|
})
|
||||||
|
-- < CPU
|
||||||
|
|
||||||
|
-- > fs
|
||||||
|
local fs = lain.widget.fs({
|
||||||
|
notification_preset = { font = 'Monospace 10', fg = theme.fg_normal },
|
||||||
|
settings = function()
|
||||||
|
-- luacheck: max line length 150, globals widget fs_now
|
||||||
|
widget:set_text(
|
||||||
|
fs_now['/'].percentage
|
||||||
|
.. '% ('
|
||||||
|
.. string.format('%.3f', fs_now['/'].free)
|
||||||
|
.. ' '
|
||||||
|
.. fs_now['/'].units
|
||||||
|
.. ' left)'
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
fs.widget:buttons(gears.table.join(awful.button({}, 1, function()
|
||||||
|
awful.spawn('Thunar')
|
||||||
|
end)))
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = fs.widget,
|
||||||
|
bg = '#80d9d8'
|
||||||
|
})
|
||||||
|
-- < fs
|
||||||
|
|
||||||
|
-- > Textclock
|
||||||
|
os.setlocale(os.getenv('LANG')) -- to localize the clock
|
||||||
|
--local clockicon = wibox.widget.imagebox(theme.widget_clock)
|
||||||
|
local mytextclock = wibox.widget.textclock('%I:%M %a %d.%m')
|
||||||
|
mytextclock.font = theme.font
|
||||||
|
|
||||||
|
lain.widget.cal({
|
||||||
|
attach_to = { mytextclock },
|
||||||
|
notification_preset = {
|
||||||
|
font = 'Monospace 10',
|
||||||
|
fg = theme.fg_normal,
|
||||||
|
bg = theme.bg_normal,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
table.insert(info_widgets, {
|
||||||
|
widget = mytextclock,
|
||||||
|
bg = '#7788af'
|
||||||
|
})
|
||||||
|
-- < Textclock
|
||||||
|
|
||||||
-- MPD
|
-- MPD
|
||||||
--[[
|
--[[
|
||||||
@ -271,6 +331,8 @@ theme.mpd = lain.widget.mpd({
|
|||||||
]]
|
]]
|
||||||
--
|
--
|
||||||
|
|
||||||
|
local final_info_widgets = build_widget_list(info_widgets)
|
||||||
|
|
||||||
function theme.at_screen_connect(s)
|
function theme.at_screen_connect(s)
|
||||||
-- Quake application
|
-- Quake application
|
||||||
s.quake = lain.util.quake({ app = awful.util.terminal })
|
s.quake = lain.util.quake({ app = awful.util.terminal })
|
||||||
@ -338,7 +400,7 @@ function theme.at_screen_connect(s)
|
|||||||
widget = wibox.container.background,
|
widget = wibox.container.background,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
s.mytasklist = wibox.container.margin(s.mytasklist, 20, 20, 1, 1)
|
s.mytasklist = wibox.container.margin(s.mytasklist, 10, 10, 0, 0)
|
||||||
|
|
||||||
-- Create the wibox
|
-- Create the wibox
|
||||||
s.mywibox =
|
s.mywibox =
|
||||||
@ -360,39 +422,9 @@ function theme.at_screen_connect(s)
|
|||||||
gears.table.join(
|
gears.table.join(
|
||||||
{ -- Right widgets
|
{ -- Right widgets
|
||||||
layout = wibox.layout.fixed.horizontal,
|
layout = wibox.layout.fixed.horizontal,
|
||||||
wibox.widget.systray(),
|
wibox.container.margin(wibox.widget.systray(), 0, 5)
|
||||||
--mailicon,
|
|
||||||
--theme.mail.widget,
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
layout = wibox.layout.fixed.horizontal,
|
|
||||||
netdownicon,
|
|
||||||
netdowninfo,
|
|
||||||
netupicon,
|
|
||||||
netupinfo.widget,
|
|
||||||
},
|
|
||||||
halign = 'right',
|
|
||||||
widget = wibox.container.place,
|
|
||||||
},
|
|
||||||
width = 120,
|
|
||||||
strategy = 'exact',
|
|
||||||
layout = wibox.layout.constraint,
|
|
||||||
},
|
|
||||||
volicon,
|
|
||||||
theme.volume.widget,
|
|
||||||
memicon,
|
|
||||||
memory.widget,
|
|
||||||
cpuicon,
|
|
||||||
cpu.widget,
|
|
||||||
fsicon,
|
|
||||||
theme.fs.widget,
|
|
||||||
},
|
},
|
||||||
optional,
|
final_info_widgets
|
||||||
{
|
|
||||||
clockicon,
|
|
||||||
mytextclock,
|
|
||||||
}
|
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|