mirror of
https://github.com/vincentbernat/i3wm-configuration.git
synced 2025-06-22 18:03:28 +02:00
51 lines
1.3 KiB
Lua
51 lines
1.3 KiB
Lua
-- Handle brightness (with gsd-backlight-helper)
|
|
|
|
local awful = require("awful")
|
|
local naughty = require("naughty")
|
|
local math = math
|
|
local tonumber = tonumber
|
|
local string = string
|
|
local os = os
|
|
local dbg = dbg
|
|
|
|
-- A bit odd, but...
|
|
require("lib/icons")
|
|
local icons = package.loaded["vbe/icons"]
|
|
|
|
module("vbe/brightness")
|
|
|
|
local nid = nil
|
|
local function change(percent)
|
|
local cmd = "pkexec /usr/lib/gnome-settings-daemon/gsd-backlight-helper"
|
|
|
|
-- Current value
|
|
local current = awful.util.pread(cmd .. " --get-brightness")
|
|
if not current or current == "" then return end
|
|
current = tonumber(current)
|
|
|
|
-- Maximum value
|
|
local max = tonumber(awful.util.pread(cmd .. " --get-max-brightness"))
|
|
|
|
-- Set new value
|
|
local target = math.floor(current + percent*max / 100)
|
|
target = math.max(0, target)
|
|
target = math.min(max, target)
|
|
os.execute(cmd .. " --set-brightness " .. target)
|
|
current = tonumber(awful.util.pread(cmd .. " --get-brightness"))
|
|
|
|
local icon = icons.lookup({name = "display-brightness",
|
|
type = "status"})
|
|
|
|
nid = naughty.notify({ text = string.format("%3d %%", current * 100 / max),
|
|
icon = icon,
|
|
font = "Free Sans Bold 24",
|
|
replaces_id = nid }).id
|
|
end
|
|
|
|
function increase()
|
|
change(5)
|
|
end
|
|
|
|
function decrease()
|
|
change(-5)
|
|
end
|