improve brightness widget

This commit is contained in:
pmakhov 2017-09-02 00:33:39 -04:00
parent 0bf81d5e9e
commit f3694c759d
2 changed files with 68 additions and 8 deletions

View File

@ -0,0 +1,52 @@
# Brightness widget
![Brightness widget](./br-wid-1.png)
This widget represents current brightness level.
## Installation
Firstly you need to get the current brightness level. There are two options:
- using `xbacklight` command (depending on your video card (I guess) it may or may not work)
To check if it works install xbackligth and check if it works:
```bash
$ sudo apt-get install xbacklight
$ xbackligth -get
```
If there is no output it means that it doesn't work, but there is a second option:
- using `light` command
Install it from this git repo: [github.com/haikarainen/light](https://github.com/haikarainen/light) and check if it works but running
```bash
git clone https://github.com/haikarainen/light.git && \
cd ./light && \
sudo make && sudo make install \
light -G
49.18
```
Then in **rc.lua** add the import on top of the file and then add widget to the wibox:
```lua
require("awesome-wm-widgets.brightness-widget.brightness")
...
-- Add widgets to the wibox
s.mywibox:setup {
...
{ -- Right widgets
...
brightness_widget
```
In order to change brightness by shortcuts you can add them to the `globalkeys` table in the **rc.lua**:
```lua
awful.key({ modkey }, ";", function () awful.spawn("light -A 5") end, {description = "decrease brightness", group = "custom"}),
awful.key({ modkey, "Shift"}, ";", function () awful.spawn("light -U 5") end, {description = "increase brightness", group = "custom"}),
```

View File

@ -1,25 +1,33 @@
local wibox = require("wibox") local wibox = require("wibox")
local awful = require("awful")
local gears = require("gears")
local watch = require("awful.widget.watch") local watch = require("awful.widget.watch")
brightness_widget = wibox.widget.textbox() --local get_brightness_cmd = "xbacklight -get"
brightness_widget:set_font('Play 9') local get_brightness_cmd = "light -G"
local path_to_icons = "/usr/share/icons/Arc/status/symbolic/"
brightness_icon = wibox.widget { local brightness_text = wibox.widget.textbox()
brightness_text:set_font('Play 9')
local brightness_icon = wibox.widget {
{ {
image = "/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg", image = path_to_icons .. "display-brightness-symbolic.svg",
resize = false, resize = false,
widget = wibox.widget.imagebox, widget = wibox.widget.imagebox,
}, },
layout = wibox.container.margin(brightness_icon, 0, 0, 3) layout = wibox.container.margin(brightness_icon, 0, 0, 3)
} }
brightness_widget = wibox.widget {
brightness_text,
brightness_icon,
layout = wibox.layout.fixed.horizontal,
}
watch( watch(
"xbacklight -get", 1, get_brightness_cmd, 1,
function(widget, stdout, stderr, exitreason, exitcode) function(widget, stdout, stderr, exitreason, exitcode)
local brightness_level = tonumber(string.format("%.0f", stdout)) local brightness_level = tonumber(string.format("%.0f", stdout))
widget:set_text(brightness_level) widget:set_text(brightness_level)
end, end,
brightness_widget brightness_text
) )