moved to personal fennel config for awesome and added qutebrowser
This commit is contained in:
parent
403cb92b7d
commit
688748f8a6
502 changed files with 8576 additions and 9597 deletions
1
awes2/widget/notif-center/dont-disturb/disturb_status
Normal file
1
awes2/widget/notif-center/dont-disturb/disturb_status
Normal file
|
@ -0,0 +1 @@
|
|||
false
|
122
awes2/widget/notif-center/dont-disturb/init.lua
Normal file
122
awes2/widget/notif-center/dont-disturb/init.lua
Normal file
|
@ -0,0 +1,122 @@
|
|||
local awful = require('awful')
|
||||
local naughty = require('naughty')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
|
||||
local widget_dir = config_dir .. 'widget/notif-center/dont-disturb/'
|
||||
local widget_icon_dir = config_dir .. 'widget/notif-center/icons/'
|
||||
|
||||
_G.dont_disturb = false
|
||||
|
||||
local dont_disturb_imagebox = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'dont-disturb-mode.svg',
|
||||
resize = true,
|
||||
forced_height = dpi(20),
|
||||
forced_width = dpi(20),
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
|
||||
local function update_icon()
|
||||
|
||||
local widget_icon_name = nil
|
||||
local dd_icon = dont_disturb_imagebox.icon
|
||||
|
||||
if dont_disturb then
|
||||
widget_icon_name = 'toggled-on'
|
||||
dd_icon:set_image(widget_icon_dir .. 'dont-disturb-mode.svg')
|
||||
else
|
||||
widget_icon_name = 'toggled-off'
|
||||
dd_icon:set_image(widget_icon_dir .. 'notify-mode.svg')
|
||||
end
|
||||
end
|
||||
|
||||
local check_disturb_status = function()
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
"cat " .. widget_dir .. "disturb_status",
|
||||
function(stdout)
|
||||
|
||||
local status = stdout
|
||||
|
||||
if status:match("true") then
|
||||
dont_disturb = true
|
||||
elseif status:match("false") then
|
||||
dont_disturb = false
|
||||
else
|
||||
dont_disturb = false
|
||||
awful.spawn.with_shell("echo 'false' > " .. widget_dir .. "disturb_status")
|
||||
end
|
||||
|
||||
update_icon()
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
check_disturb_status()
|
||||
|
||||
local toggle_disturb = function()
|
||||
if dont_disturb then
|
||||
dont_disturb = false
|
||||
else
|
||||
dont_disturb = true
|
||||
end
|
||||
awful.spawn.with_shell("echo " .. tostring(dont_disturb) .. " > " .. widget_dir .. "disturb_status")
|
||||
update_icon()
|
||||
end
|
||||
|
||||
local dont_disturb_button = wibox.widget {
|
||||
{
|
||||
dont_disturb_imagebox,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
dont_disturb_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_disturb()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local dont_disturb_wrapped = wibox.widget {
|
||||
nil,
|
||||
{
|
||||
dont_disturb_button,
|
||||
bg = beautiful.groups_bg,
|
||||
shape = gears.shape.circle,
|
||||
widget = wibox.container.background
|
||||
},
|
||||
nil,
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.vertical
|
||||
}
|
||||
|
||||
-- Create a notification sound
|
||||
naughty.connect_signal(
|
||||
"request::display",
|
||||
function(n)
|
||||
if not dont_disturb then
|
||||
awful.spawn.with_shell('canberra-gtk-play -i message')
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
return dont_disturb_wrapped
|
Loading…
Add table
Add a link
Reference in a new issue