From c2eead71ed2035d250865ecb579b0c05c450f5be Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Fri, 9 Oct 2020 09:51:06 -0700 Subject: [PATCH] add submodule for volume plus several other changes - fixed timezone issues - added volume widget (with submodule) - add textclock widget --- .gitmodules | 3 +++ rc.lua | 27 +++++++++++++++++++++++++-- volume-control | 1 + 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 .gitmodules create mode 160000 volume-control diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1e4a3ee --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "volume-control"] + path = volume-control + url = https://github.com/deficient/volume-control.git diff --git a/rc.lua b/rc.lua index 5d0f4a9..c2c26c4 100644 --- a/rc.lua +++ b/rc.lua @@ -1,3 +1,16 @@ +-- read the timezone from /etc/timezone (this doesn't work, somehow) +local function read_tz_file(path) + local file = io.open(path, "r") -- r read mode and b binary mode + if not file then return nil end + local content = file:read "*a" -- *a or *all reads the whole file + file:close() + content = content:gsub("^%s*", "") + content = content:gsub("%s*$", "") + return content +end + +local tz_string = read_tz_file("/etc/timezone") + -- Standard awesome library local gears = require("gears") local awful = require("awful") @@ -11,6 +24,10 @@ local naughty = require("naughty") local menubar = require("menubar") local hotkeys_popup = require("awful.hotkeys_popup").widget +-- load the volume widget code and set settings +local volume_control = require("volume-control") +volumecfg = volume_control({}) + -- Load Debian menu entries require("debian.menu") @@ -108,7 +125,7 @@ mykeyboardlayout = awful.widget.keyboardlayout() -- {{{ Wibar -- Create a textclock widget -mytextclock = wibox.widget.textclock() +mytextclock = wibox.widget.textclock("%a %m %d %H:%M", 60, tz_string) -- Create a wibox for each screen and add it local taglist_buttons = awful.util.table.join( @@ -208,6 +225,7 @@ awful.screen.connect_for_each_screen(function(s) layout = wibox.layout.fixed.horizontal, mykeyboardlayout, wibox.widget.systray(), + -- volumecfg.widget, mytextclock, s.mylayoutbox, }, @@ -215,6 +233,8 @@ awful.screen.connect_for_each_screen(function(s) end) -- }}} +-- right_layout:add(volumecfg.widget) + -- {{{ Mouse bindings root.buttons(awful.util.table.join( awful.button({ }, 3, function () mymainmenu:toggle() end), @@ -425,7 +445,10 @@ for i = 1, 9 do end end end, - {description = "toggle focused client on tag #" .. i, group = "tag"}) + {description = "toggle focused client on tag #" .. i, group = "tag"}), + awful.key({}, "XF86AudioRaiseVolume", function() volumecfg:up() end), + awful.key({}, "XF86AudioLowerVolume", function() volumecfg:down() end), + awful.key({}, "XF86AudioMute", function() volumecfg:toggle() end) ) end diff --git a/volume-control b/volume-control new file mode 160000 index 0000000..56dee54 --- /dev/null +++ b/volume-control @@ -0,0 +1 @@ +Subproject commit 56dee54d7711a8be619d339bf66747db2e13cd17 -- 2.39.5