Compare commits
8 Commits
d18e5074d2
...
3a8a55b63a
Author | SHA1 | Date |
---|---|---|
Yessiest | 3a8a55b63a | |
Yessiest | 780f63f1a0 | |
Yessiest | 579c46f4f4 | |
Yessiest | 7cd97ec4b0 | |
Yessiest | 768e6d49d3 | |
Yessiest | dcfcc459a1 | |
Yessiest | b80ec3fdb4 | |
Yessiest | 9842227176 |
|
@ -2,7 +2,7 @@ local awful = require("awful")
|
|||
local gears = require("gears")
|
||||
|
||||
return gears.table.join(
|
||||
awful.button({ }, 3, function () require("core.widgets.menu"):toggle() end),
|
||||
awful.button({ }, 3, function () menu:show() end),
|
||||
awful.button({ }, 4, awful.tag.viewnext),
|
||||
awful.button({ }, 5, awful.tag.viewprev)
|
||||
)
|
||||
|
|
|
@ -34,7 +34,6 @@ require("core.widgets.menubar")
|
|||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
|
@ -67,76 +66,81 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = true})
|
||||
}
|
||||
},
|
||||
position="left"
|
||||
})
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
-- Menu
|
||||
require("core.widgets.menu")
|
||||
-- Start button
|
||||
local start_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
require("core.widgets.menu_launcher"),
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "center"
|
||||
halign = "center",
|
||||
id = "menu"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
},
|
||||
}
|
||||
start_button:connect_signal("button::press",function(self,x,y,button)
|
||||
if button == 1 then
|
||||
menu:show()
|
||||
end
|
||||
end)
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{
|
||||
{
|
||||
-- Left widgets
|
||||
start_button,
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 3
|
||||
},
|
||||
-- Middle widget
|
||||
widget = wibox.container.place,
|
||||
halign = "left",
|
||||
fill_horizontal = false
|
||||
},
|
||||
{
|
||||
--[[require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
constraint = 180,
|
||||
names = true,
|
||||
margins = 5
|
||||
})(s),]]
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
{
|
||||
{
|
||||
-- Right widgets
|
||||
require("widgets.drawer")({
|
||||
wibox.widget.systray(),
|
||||
}),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
awful.widget.keyboardlayout(),
|
||||
wibox.widget.textclock(),
|
||||
require("widgets.username")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
spacing = 4
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 4,
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = false
|
||||
},
|
||||
}
|
||||
end)
|
||||
|
|
|
@ -2,6 +2,8 @@ local awful = require("awful")
|
|||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
local menu = require("widgets.polymenu")
|
||||
-- To conserve memory we keep one menu at a time
|
||||
if not menu_widget then
|
||||
local move_screentags = {}
|
||||
local toggle_screentags = {}
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
|
@ -43,13 +45,12 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
toggle_tags
|
||||
})
|
||||
end)
|
||||
local controls_widget = wibox.widget {
|
||||
controls_widget = wibox.widget {
|
||||
forced_width = 72,
|
||||
forced_height = 24,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
}
|
||||
-- To conserve memory we keep one menu at a time
|
||||
local menu_widget = menu({
|
||||
menu_widget = menu({
|
||||
before = {
|
||||
controls_widget
|
||||
},
|
||||
|
@ -65,12 +66,12 @@ local menu_widget = menu({
|
|||
},
|
||||
{ "Stop task",
|
||||
function()
|
||||
awful.spawn("kill "..tostring(client.focus.pid))
|
||||
awful.spawn("kill "..tostring(c.pid))
|
||||
end
|
||||
},
|
||||
{ "Kill task",
|
||||
function()
|
||||
awful.spawn("kill -s KILL "..tostring(client.focus.pid))
|
||||
awful.spawn("kill -s KILL "..tostring(c.pid))
|
||||
end
|
||||
},
|
||||
{ "Debug info",
|
||||
|
@ -83,6 +84,7 @@ local menu_widget = menu({
|
|||
},
|
||||
vertical = true
|
||||
})
|
||||
end
|
||||
|
||||
return function(c)
|
||||
local buttons = gears.table.join(
|
||||
|
|
|
@ -83,7 +83,7 @@ local menu_template = {
|
|||
vertical = true,
|
||||
inverse = true
|
||||
}
|
||||
local menu = polymenu(menu_template)
|
||||
menu = polymenu(menu_template)
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
awful.key({ global.modkey, }, "w", function () menu:show() end,
|
||||
|
|
|
@ -67,76 +67,81 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = true})
|
||||
}
|
||||
},
|
||||
position="left"
|
||||
})
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
-- Menu
|
||||
require("core.widgets.menu")
|
||||
-- Start button
|
||||
local start_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
require("core.widgets.menu_launcher"),
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "center"
|
||||
halign = "center",
|
||||
id = "menu"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
},
|
||||
}
|
||||
start_button:connect_signal("button::press",function(self,x,y,button)
|
||||
if button == 1 then
|
||||
menu:show()
|
||||
end
|
||||
end)
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{
|
||||
{
|
||||
-- Left widgets
|
||||
start_button,
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 3
|
||||
},
|
||||
-- Middle widget
|
||||
widget = wibox.container.place,
|
||||
halign = "left",
|
||||
fill_horizontal = false
|
||||
},
|
||||
{
|
||||
--[[require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
constraint = 180,
|
||||
names = true,
|
||||
margins = 5
|
||||
})(s),]]
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
{
|
||||
{
|
||||
-- Right widgets
|
||||
require("widgets.drawer")({
|
||||
wibox.widget.systray(),
|
||||
}),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
awful.widget.keyboardlayout(),
|
||||
wibox.widget.textclock(),
|
||||
require("widgets.username")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
spacing = 4
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 4,
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = false
|
||||
},
|
||||
}
|
||||
end)
|
||||
|
|
|
@ -71,56 +71,51 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
})
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
{
|
||||
require("core.widgets.menu_launcher"),
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 3
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "left",
|
||||
fill_horizontal = false,
|
||||
},
|
||||
-- Middle widget
|
||||
{
|
||||
widget = wibox.container.background
|
||||
},
|
||||
{ -- Right widgets
|
||||
wibox.widget.textclock(),
|
||||
{ -- Right widgets
|
||||
{
|
||||
widget = wibox.container.background,
|
||||
forced_width = (math.abs(s.geometry.width/2)-200)
|
||||
},
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
require("widgets.drawer")({
|
||||
wibox.widget.systray()
|
||||
}),
|
||||
awful.widget.keyboardlayout(),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = false,
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = 4
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = false
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
local beautiful = require("beautiful")
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
-- {{{ Wibar
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
-- {{{ Non-widget modules
|
||||
-- The following modules are not exactly widgets, however they are part of the ui.
|
||||
|
||||
-- Load the keybindings list
|
||||
require("core.widgets.hotkeys_popup")
|
||||
|
||||
-- Load the menubar
|
||||
require("core.widgets.menubar")
|
||||
-- }}}
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = require("core.widgets.prompt")()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- Create the taglist
|
||||
s.mytaglist = require("core.widgets.taglist")(s)
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = require("core.widgets.layout_box")(s)
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = require("core.widgets.tasklist")(s)
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({
|
||||
position = "top",
|
||||
screen = s,
|
||||
bg = beautiful.topbar_bg,
|
||||
})
|
||||
-- Add screen lock
|
||||
require("widgets.lock")({screen = s, obscure = true})
|
||||
require("widgets.unitybar")(s,{
|
||||
top_widgets = {
|
||||
require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
--constraint = 180,
|
||||
names = false,
|
||||
margins = 5
|
||||
})(s),
|
||||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = false})
|
||||
},
|
||||
position="bottom"
|
||||
})
|
||||
-- Menu
|
||||
require("core.widgets.menu")
|
||||
-- Start button
|
||||
local start_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "center",
|
||||
id = "menu"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
}
|
||||
start_button:connect_signal("button::press",function(self,x,y,button)
|
||||
if button == 1 then
|
||||
menu:show()
|
||||
end
|
||||
end)
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
start_button,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
spacing = 3
|
||||
},
|
||||
wibox.widget.textclock(),
|
||||
{ -- Right widgets
|
||||
{
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
spacing = 4,
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = true
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
|
@ -0,0 +1,155 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
local menu = require("widgets.polymenu")
|
||||
local move_screentags = {}
|
||||
local toggle_screentags = {}
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
local move_tags = {}
|
||||
local toggle_tags = {}
|
||||
for _,tag in pairs(s.tags) do
|
||||
table.insert(move_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
client.focus:tags({tag})
|
||||
end
|
||||
end
|
||||
})
|
||||
table.insert(toggle_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
local tags = client.focus:tags()
|
||||
for k,v in pairs(tags) do
|
||||
if v == tag then
|
||||
table.remove(tags,k)
|
||||
client.focus:tags(tags)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tags,tag)
|
||||
client.focus:tags(tags)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
table.insert(move_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
move_tags
|
||||
})
|
||||
table.insert(toggle_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
toggle_tags
|
||||
})
|
||||
end)
|
||||
local controls_widget = wibox.widget {
|
||||
forced_width = 72,
|
||||
forced_height = 24,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
}
|
||||
-- To conserve memory we keep one menu at a time
|
||||
local menu_widget = menu({
|
||||
before = {
|
||||
controls_widget
|
||||
},
|
||||
after = {
|
||||
require("widgets.client-volume")({})
|
||||
},
|
||||
items = {
|
||||
{ "Move to tag" ,
|
||||
move_screentags
|
||||
},
|
||||
{ "Toggle on tag",
|
||||
toggle_screentags
|
||||
},
|
||||
{ "Stop task",
|
||||
function()
|
||||
awful.spawn("kill "..tostring(client.focus.pid))
|
||||
end
|
||||
},
|
||||
{ "Kill task",
|
||||
function()
|
||||
awful.spawn("kill -s KILL "..tostring(client.focus.pid))
|
||||
end
|
||||
},
|
||||
{ "Debug info",
|
||||
{
|
||||
before = {
|
||||
require("widgets.window-debug")()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
vertical = true
|
||||
})
|
||||
|
||||
return function(c)
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
c.menu_button = awful.titlebar.widget.iconwidget(c)
|
||||
-- A little trick we do to conserve memory and cpu usage on regenerating
|
||||
-- buttons is we pop up a menu in the location of the icon
|
||||
-- and insert buttons into the controls widget layout.
|
||||
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c)
|
||||
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c)
|
||||
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c)
|
||||
c.menu_button:connect_signal("button::press", function()
|
||||
menu_widget.toggle()
|
||||
if controls_widget then
|
||||
controls_widget:reset()
|
||||
controls_widget:add(c.hidden_floatingbutton)
|
||||
controls_widget:add(c.hidden_stickybutton)
|
||||
controls_widget:add(c.hidden_ontopbutton)
|
||||
end
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
end)
|
||||
c:connect_signal("unfocus",function()
|
||||
if menu_widget.visible then
|
||||
menu_widget.toggle(0,0)
|
||||
end
|
||||
end)
|
||||
return awful.titlebar(c) : setup {
|
||||
{ -- Left
|
||||
c.menu_button,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
awful.titlebar.widget.titlewidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
{
|
||||
{
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.minimizebutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal(),
|
||||
widget = wibox.container.margin,
|
||||
margins = 3
|
||||
},
|
||||
widget = wibox.container.background,
|
||||
shape = gears.shape.rounded_bar,
|
||||
bg = {
|
||||
type = "linear",
|
||||
from = { 0, 15 },
|
||||
to = { 0, 0},
|
||||
stops = { { 0, "#5d5d5955"} , {1, "39383555"} }
|
||||
},
|
||||
},
|
||||
widget = wibox.container.margin,
|
||||
margins = 2
|
||||
},
|
||||
spacing = 10,
|
||||
layout = wibox.layout.align.horizontal,
|
||||
}
|
||||
end
|
|
@ -0,0 +1,31 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
-- {{{ Variable definitions
|
||||
global = {}
|
||||
global.awesome_dir = os.getenv("HOME").."/.config/awesome/"
|
||||
global.config_dir = os.getenv("HOME").."/.awesome/"
|
||||
global.themes_dir = os.getenv("HOME").."/.config/awesome/themes/"
|
||||
global.theme = global.awesome_dir .. "themes/unity/theme.lua"
|
||||
global.terminal = "xterm"
|
||||
global.editor = os.getenv("EDITOR") or "vim"
|
||||
global.editor_cmd = global.terminal .. " -e ".. global.editor
|
||||
global.modkey = "Mod4"
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw,
|
||||
-- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||
sodipodi:docname="drawer-closed.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:zoom="6.6340405"
|
||||
inkscape:cx="3.1654917"
|
||||
inkscape:cy="25.097827"
|
||||
inkscape:window-width="1132"
|
||||
inkscape:window-height="576"
|
||||
inkscape:window-x="62"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid9" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
id="rect85"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke-width:0.132288"
|
||||
d="M 4.6963541,6.3497502 8.0036458,8.3340001 V 4.3655002 Z"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
<metadata
|
||||
id="metadata676">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||
sodipodi:docname="drawer-open.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:zoom="6.6340405"
|
||||
inkscape:cx="3.1654917"
|
||||
inkscape:cy="25.097827"
|
||||
inkscape:window-width="1024"
|
||||
inkscape:window-height="576"
|
||||
inkscape:window-x="62"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid9" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
id="rect85"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke-width:0.132288"
|
||||
d="M 8.0036458,6.3497502 4.6963541,8.3340001 V 4.3655002 Z"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
<metadata
|
||||
id="metadata602">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -22,7 +22,7 @@ local get_app_volume = function(pid)
|
|||
for key,process in pairs(get_pactl_data()) do
|
||||
-- Match app by pid
|
||||
if process:match("application.process.id = \""..tostring(pid).."\"") then
|
||||
return process:match("Volume: .-(%d?%d?%d)%%")
|
||||
return tonumber(process:match("Volume: .-(%d?%d?%d)%%"))
|
||||
end
|
||||
end
|
||||
-- Return nil and an error if not found matching process
|
||||
|
@ -93,7 +93,7 @@ return function(args)
|
|||
if value then
|
||||
slider.value = value
|
||||
widget.children[2] = slider
|
||||
widget.children[1].image = get_icon(tonumber(value))
|
||||
widget.children[1].image = get_icon(value)
|
||||
else
|
||||
warning_text.markup = err
|
||||
widget.children[2] = warning_text
|
||||
|
@ -102,7 +102,7 @@ return function(args)
|
|||
end)
|
||||
slider:connect_signal("widget::redraw_needed",function()
|
||||
set_app_volume(client.focus.pid,slider.value)
|
||||
widget.children[1].image = get_icon(tonumber(slider.value))
|
||||
widget.children[1].image = get_icon(slider.value)
|
||||
end)
|
||||
else
|
||||
warning_text.markup = "pactl is not available"
|
||||
|
|
|
@ -58,10 +58,14 @@ return function(args)
|
|||
end
|
||||
s.lockscreen = awful.popup({
|
||||
widget = {
|
||||
{
|
||||
-- Bottom layer
|
||||
{
|
||||
{
|
||||
--Top bar
|
||||
{
|
||||
{
|
||||
-- Top bar contents
|
||||
{
|
||||
markup = "AwesomewWM",
|
||||
widget = wibox.widget.textbox
|
||||
|
@ -70,22 +74,54 @@ return function(args)
|
|||
widget = wibox.container.background
|
||||
},
|
||||
{
|
||||
require("widgets.battery")({percentage = true}),
|
||||
require("widgets.battery")({
|
||||
percentage = true
|
||||
}),
|
||||
wibox.widget.textclock(),
|
||||
widget = wibox.container.background,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
layout = wibox.layout.align.horizontal,
|
||||
},
|
||||
widget = wibox.container.margin,
|
||||
left = 5,
|
||||
right = 5
|
||||
},
|
||||
widget = wibox.container.background,
|
||||
forced_width = s.geometry.width,
|
||||
forced_height = style.lockscreen_bar_height or 25,
|
||||
bg = style.lockscreen_bar_bg or style.lockscreen_bg_normal
|
||||
bg = style.lockscreen_bar_bg or
|
||||
style.lockscreen_bg_normal
|
||||
},
|
||||
{
|
||||
--Drop shadow
|
||||
{
|
||||
markup = "",
|
||||
widget = wibox.widget.textbox,
|
||||
},
|
||||
widget = wibox.container.background,
|
||||
forced_height = style.lockscreen_bar_shadow or 5,
|
||||
forced_width = s.geometry.width,
|
||||
bg = {
|
||||
-- Gradient
|
||||
type = "linear",
|
||||
from = { 0, 0 },
|
||||
to = { 0, style.lockscreen_bar_shadow or 5},
|
||||
stops = {
|
||||
{ 0, style.lockscreen_bar_shadow_color_start or
|
||||
"#00000055" },
|
||||
{ 1, style.lockscreen_bar_shadow_color_end or
|
||||
"#00000000" }
|
||||
}
|
||||
}
|
||||
},
|
||||
layout = wibox.layout.fixed.vertical
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
valign = "top",
|
||||
halign = "center"
|
||||
},{
|
||||
},
|
||||
{
|
||||
--Combo box (face, nickname, password entry)
|
||||
style.container({
|
||||
(read("./.face") and style.container {
|
||||
|
|
|
@ -21,7 +21,7 @@ return function(widget,list,max_elements)
|
|||
end
|
||||
end
|
||||
function new_pager:next()
|
||||
if #list >= self.index*self.max then
|
||||
if #list >= (self.index+1)*self.max then
|
||||
self.index = self.index + 1
|
||||
new_pager:update()
|
||||
end
|
||||
|
|
|
@ -138,9 +138,13 @@ local function loader(options)
|
|||
end
|
||||
end)
|
||||
elseif type(v[2]) == "function" then
|
||||
new_button:connect_signal("button::press",v[2])
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
v[2]()
|
||||
end)
|
||||
elseif type(v[2]) == "string" then
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
awful.spawn(v[2])
|
||||
end)
|
||||
end
|
||||
|
@ -152,9 +156,6 @@ local function loader(options)
|
|||
menu.current_button = new_button
|
||||
menu.current_button.bg = button_bg_on
|
||||
end)
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
end)
|
||||
table.insert(menu,new_button)
|
||||
end
|
||||
end
|
||||
|
@ -183,6 +184,9 @@ local function loader(options)
|
|||
tree_path[1] = menu
|
||||
menu.visible = (not menu.visible)
|
||||
end
|
||||
menu.show = function(self)
|
||||
menu.toggle()
|
||||
end
|
||||
return menu
|
||||
end
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ local awmtk = require("awmtk")
|
|||
function unitybar(s,args)
|
||||
local style = awmtk.style(awmtk.defaults,args.style or {},"unitybar_")
|
||||
s.myunitybar = awful.wibar({
|
||||
position = "left",
|
||||
position = args.position or "left",
|
||||
screen = s,
|
||||
border_width = style.unitybar_border_width or 1,
|
||||
border_color = style.unitybar_border_color or "#262626AA",
|
||||
|
@ -13,7 +13,21 @@ function unitybar(s,args)
|
|||
(type(style.bg_normal) == "string") and
|
||||
(style.bg_normal:len() < 8) and
|
||||
style.bg_normal.."AA"),
|
||||
width = style.unitybar_width or 50,
|
||||
width = (function()
|
||||
if (not args.position) or
|
||||
(args.position == "left") or
|
||||
(args.position == "right")
|
||||
then
|
||||
return style.unitybar_width or 50
|
||||
end
|
||||
end)(),
|
||||
height = (function()
|
||||
if (args.position == "bottom") or
|
||||
(args.posiiton == "top")
|
||||
then
|
||||
return style.unitybar_width or 50
|
||||
end
|
||||
end)()
|
||||
})
|
||||
local top_widgets = {
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
|
@ -31,7 +45,15 @@ function unitybar(s,args)
|
|||
widget = wibox.container.margin,
|
||||
margins = style.unitybar_inner_margin,
|
||||
{
|
||||
layout = wibox.layout.align.vertical,
|
||||
layout = (function()
|
||||
if (s.myunitybar.position == "left") or
|
||||
(s.myunitybar.position == "right")
|
||||
then
|
||||
return wibox.layout.align.vertical
|
||||
else
|
||||
return wibox.layout.align.horizontal
|
||||
end
|
||||
end)(),
|
||||
top_widgets,
|
||||
{ --Middle spacer
|
||||
widget = wibox.container.background
|
||||
|
|
Loading…
Reference in New Issue