Added battery, small fixes, idk
This commit is contained in:
@@ -23,7 +23,8 @@ local keys = gears.table.join(
|
||||
local buttons = gears.table.join(
|
||||
awful.button({}, 1, function(c) c:emit_signal('request::activate', 'mouse_click', { raise = true }) end),
|
||||
awful.button({ modkey }, 1, function(c) c:emit_signal('request::activate', 'mouse_click', { raise = true }) awful.mouse.client.move(c) end),
|
||||
awful.button({ modkey }, 3, function(c) c:emit_signal('request::activate', 'mouse_click', { raise = true }) awful.mouse.client.resize(c) end)
|
||||
awful.button({ modkey }, 3, function(c) c:emit_signal('request::activate', 'mouse_click', { raise = true }) awful.mouse.client.resize(c) end),
|
||||
awful.button({ modkey }, 2, function(c) c:kill() end)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -49,3 +49,9 @@ end)
|
||||
client.connect_signal('mouse::enter', function(c) c:emit_signal('request::activate', 'mouse_enter', { raise = false }) end)
|
||||
client.connect_signal('focus', function(c) c.border_color = beautiful.border_focus end)
|
||||
client.connect_signal('unfocus', function(c) c.border_color = beautiful.border_normal end)
|
||||
|
||||
client.connect_signal("property::minimized", function(c)
|
||||
if c.no_minimize then
|
||||
c.minimized = false
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -18,8 +18,10 @@ rules.append_rules({
|
||||
placement = awful.placement.no_overlap + awful.placement.no_offscreen,
|
||||
size_hints_honor = false,
|
||||
no_border = false,
|
||||
titlebars_enabled = false
|
||||
}
|
||||
titlebars_enabled = false,
|
||||
no_minimize = false,
|
||||
},
|
||||
--callback = function(c) print('name ', c.name, ' class ', c.class) end
|
||||
}, {
|
||||
rule_any = {
|
||||
class = { 'Tor Browser' },
|
||||
@@ -32,10 +34,10 @@ rules.append_rules({
|
||||
},
|
||||
properties = { floating = true }
|
||||
}, {
|
||||
rule_any = { class = { 'firefox', 'factorio', 'Blender' } },
|
||||
rule_any = { class = { 'firefox', 'factorio', 'Blender', 'Godot' } },
|
||||
properties = { opacity = 1, maximized = false, floating = false },
|
||||
}, {
|
||||
rule = { class = 'mpv' },
|
||||
rule_any = { class = { 'mpv', 'jellyfinmediaplayer' } },
|
||||
properties = { fullscreen = true },
|
||||
}, {
|
||||
rule = { class = 'supcom-fa' },
|
||||
@@ -47,5 +49,7 @@ rules.append_rules({
|
||||
no_border = true,
|
||||
}
|
||||
},
|
||||
{ rule = { class = { 'krusader' } }, properties = { ontop = true } },
|
||||
{ rule_any = { type = { 'normal', 'dialog' } }, properties = { titlebars_enabled = true } },
|
||||
--{ rule_any = { name = { 'Counter-Strike 2' }, class = { 'cs2' } }, properties = { no_minimize = true } },
|
||||
})
|
||||
|
||||
@@ -15,7 +15,7 @@ local quake = lain.util.quake({
|
||||
followtag = true,
|
||||
overlap = true,
|
||||
|
||||
app = globals.terminal,
|
||||
app = 'alacritty',
|
||||
argname = '-t ' .. quake_terminal_name,
|
||||
name = quake_terminal_name,
|
||||
extra = '--class ' .. quake_terminal_name,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
modkey = 'Mod4',
|
||||
altkey = 'Mod1',
|
||||
terminal = 'alacritty',
|
||||
terminal = 'st',
|
||||
cycle_prev = true,
|
||||
editor = 'nvim',
|
||||
editor = 'nvim'
|
||||
}
|
||||
|
||||
@@ -3,6 +3,11 @@ local naughty = require('naughty')
|
||||
|
||||
local confdir = require('src.util.path').conf_dir
|
||||
|
||||
---@class Settings
|
||||
---@field wallpaper? string
|
||||
---@field systray_screen? integer
|
||||
---@field show_battery? boolean
|
||||
---@return Settings
|
||||
local function load_settings()
|
||||
local status, settings = pcall(function()
|
||||
return dofile(confdir .. '/settings.lua')
|
||||
@@ -23,7 +28,7 @@ local settings = load_settings()
|
||||
|
||||
return {
|
||||
confdir = confdir,
|
||||
wallpaper = confdir .. '/wallpapers/' .. (settings['wallpaper'] or 'wall.png'),
|
||||
wallpaper = confdir .. '/wallpapers/' .. (settings.wallpaper or 'wall.png'),
|
||||
font = 'Terminus 8',
|
||||
font_mono = 'Mononoki Nerd Font Mono 10',
|
||||
bg_normal = '#000000',
|
||||
@@ -102,5 +107,6 @@ return {
|
||||
tasklist_bg_minimize = '#4d4d4d',
|
||||
tasklist_plain_task_name = true,
|
||||
tasklist_disable_icon = true,
|
||||
systray_screen = settings.systray_screen or 1
|
||||
systray_screen = settings.systray_screen or 1,
|
||||
show_battery = settings.show_battery or false
|
||||
}
|
||||
|
||||
@@ -36,8 +36,11 @@ if _G.volume_control == nil then
|
||||
}
|
||||
|
||||
function volume_control:get_default_node() self.node_id = volume_control.pw_call.default_node(self.node_api._native) end
|
||||
---@param vol number
|
||||
---@param m boolean
|
||||
function volume_control:set_volume(vol, m) volume_control.pw_call.set_volume(self.mixer_api._native, self.node_id, vol, m) end
|
||||
function volume_control:toggle_mute() self:set_volume(self.volume, not self.mute) end
|
||||
---@param d number
|
||||
function volume_control:volume_delta(d) self:set_volume(self.volume + d, self.mute) end
|
||||
function volume_control:get_volume()
|
||||
self.volume, self.mute = volume_control.pw_call.get_volume(self.mixer_api._native, self.node_id)
|
||||
@@ -98,4 +101,6 @@ return {
|
||||
toggle_mute = function() _G.volume_control:toggle_mute() end,
|
||||
vol_up = function() _G.volume_control:volume_delta(1) end,
|
||||
vol_down = function() _G.volume_control:volume_delta(-1) end,
|
||||
---@param delta number
|
||||
vol_delta = function (delta) _G.volume_control:volume_delta(delta) end
|
||||
}
|
||||
|
||||
@@ -22,7 +22,9 @@ end)
|
||||
local volumebuttons = awful.util.table.join(
|
||||
awful.button({}, 1, volume.toggle_mute),
|
||||
awful.button({}, 4, volume.vol_up),
|
||||
awful.button({}, 5, volume.vol_down)
|
||||
awful.button({}, 5, volume.vol_down),
|
||||
awful.button({ 'Shift' }, 4, function() volume.vol_delta(5) end),
|
||||
awful.button({ 'Shift' }, 5, function() volume.vol_delta(-5) end)
|
||||
)
|
||||
|
||||
volume_widget:buttons(volumebuttons)
|
||||
|
||||
32
src/widgets/7_battery.lua
Normal file
32
src/widgets/7_battery.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
local theme = require('src.theme')
|
||||
local lain = require('lain')
|
||||
local wibox = require('wibox')
|
||||
|
||||
local baticon = wibox.widget.imagebox(nil)
|
||||
local bat = lain.widget.bat({
|
||||
settings = function()
|
||||
-- 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
|
||||
|
||||
if bat_now.ac_status == 1 then
|
||||
perc = perc .. ' plug'
|
||||
end
|
||||
|
||||
widget:set_text(perc)
|
||||
end
|
||||
})
|
||||
|
||||
return { wibox.layout.fixed.horizontal(baticon, bat.widget) }
|
||||
@@ -43,6 +43,12 @@ local function signal_cbk(_conn, _sender, _object_path, _interface_name, _signal
|
||||
local data = variant_strip(params)
|
||||
if type(data) ~= 'table' or type(data[2]) ~= 'table' then return end
|
||||
data = data[2]
|
||||
if data['Metadata'] then
|
||||
data = data['Metadata']
|
||||
local title = data['xesam:title'] or ''
|
||||
local artist = (data['xesam:artist'] or {})[1] or ''
|
||||
mpris_widget.text = artist .. ' -> ' .. title
|
||||
end
|
||||
if data['PlaybackStatus'] then
|
||||
if data['PlaybackStatus'] == 'Playing' then
|
||||
mpris_icon:set_image(theme.widget_play)
|
||||
@@ -52,11 +58,6 @@ local function signal_cbk(_conn, _sender, _object_path, _interface_name, _signal
|
||||
mpris_icon:set_image(theme.widget_stop)
|
||||
mpris_widget.text = 'Nothing playing'
|
||||
end
|
||||
elseif data['Metadata'] then
|
||||
data = data['Metadata']
|
||||
local title = data['xesam:title'] or ''
|
||||
local artist = (data['xesam:artist'] or {})[1] or ''
|
||||
mpris_widget.text = artist .. ' -> ' .. title
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
local gears = require('gears')
|
||||
local theme = require('src.theme')
|
||||
|
||||
return gears.table.join(
|
||||
require('src.widgets.1_clock'),
|
||||
@@ -7,5 +8,6 @@ return gears.table.join(
|
||||
require('src.widgets.4_mem'),
|
||||
require('src.widgets.5_vol'),
|
||||
require('src.widgets.6_net'),
|
||||
require('src.widgets.7_mpris')
|
||||
)
|
||||
theme.show_battery and require('src.widgets.7_battery') or {},
|
||||
require('src.widgets.8_mpris')
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user