Skip to content

Commit

Permalink
Merge pull request #377 from WiltonLoch/master
Browse files Browse the repository at this point in the history
New parameter to brightness widget
  • Loading branch information
streetturtle authored Mar 6, 2023
2 parents ca300ad + 5436535 commit c8388f4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
1 change: 1 addition & 0 deletions brightness-widget/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ It is possible to customize widget by providing a table with all or some of the
| `timeout` | 1 | How often in seconds the widget refreshes. Check the note below |
| `tooltip` | false | Display brightness level in a tooltip when the mouse cursor hovers the widget |
| `percentage` | false | Display a '%' character after the brightness level |
| `rmb_set_max` | false | Right mouse click sets the brightness level to maximum |

_Note:_ If brightness is controlled only by the widget (either by a mouse, or by a shortcut, then the `timeout` could be quite big, as there is no reason to synchronize the brightness level).

Expand Down
27 changes: 16 additions & 11 deletions brightness-widget/brightness.lua
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ local function worker(user_args)
local current_level = 0 -- current brightness value
local tooltip = args.tooltip or false
local percentage = args.percentage or false
local rmb_set_max = args.rmb_set_max or false
if program == 'light' then
get_brightness_cmd = 'light -G'
set_brightness_cmd = 'light -S %d' -- <level>
Expand Down Expand Up @@ -136,19 +137,23 @@ local function worker(user_args)
end
local old_level = 0
function brightness_widget:toggle()
if old_level < 0.1 then
-- avoid toggling between '0' and 'almost 0'
old_level = 1
end
if current_level < 0.1 then
-- restore previous level
current_level = old_level
if rmb_set_max then
brightness_widget:set(100)
else
-- save current brightness for later
old_level = current_level
current_level = 0
if old_level < 0.1 then
-- avoid toggling between '0' and 'almost 0'
old_level = 1
end
if current_level < 0.1 then
-- restore previous level
current_level = old_level
else
-- save current brightness for later
old_level = current_level
current_level = 0
end
brightness_widget:set(current_level)
end
brightness_widget:set(current_level)
end
function brightness_widget:inc()
spawn.easy_async(inc_brightness_cmd, function()
Expand Down

0 comments on commit c8388f4

Please sign in to comment.