WillPower3309 / awesome-dotfiles

Dotfiles for awesome people using the awesomewm linux environment
1.17k stars 68 forks source link

Why am i getting all the issues #51

Open aaryamanm128 opened 2 years ago

aaryamanm128 commented 2 years ago

Welp its me again (Im sorry)

Here is the issue straight

When i try to Change the volume to anything It shows me this

Screenshot from 2022-02-23 15-27-32

what is happening ? It just aint working , I used the dependencies you had told

WillPower3309 commented 2 years ago

Check out #46, and let me know if installing alsa / pulseaudio doesn't resolve the issue

aaryamanm128 commented 2 years ago

So it turns out i can change the volume ,that works complely fine i have those modules pre installed in linux mint , It does change the volume , but it cannot show me the thing

RedstonerCKZ commented 1 year ago

2022-10-26-212509_1920x1080_scrot I have the same error, and I have pulseaudio installed. Volume does not change, and there is no slider when the volume bar appears.

RedstonerCKZ commented 1 year ago

It seems like I have fixed it. In volume-adjust.lua:

--      ██╗   ██╗ ██████╗ ██╗     ██╗   ██╗███╗   ███╗███████╗
--      ██║   ██║██╔═══██╗██║     ██║   ██║████╗ ████║██╔════╝
--      ██║   ██║██║   ██║██║     ██║   ██║██╔████╔██║█████╗
--      ╚██╗ ██╔╝██║   ██║██║     ██║   ██║██║╚██╔╝██║██╔══╝
--       ╚████╔╝ ╚██████╔╝███████╗╚██████╔╝██║ ╚═╝ ██║███████╗
--        ╚═══╝   ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝

-- ===================================================================
-- Initialization
-- ===================================================================

local wibox = require("wibox")
local awful = require("awful")
local gears = require("gears")
local beautiful = require("beautiful")
local dpi = beautiful.xresources.apply_dpi

local offsetx = dpi(56)
local offsety = dpi(300)
local screen = awful.screen.focused()
local icon_dir = gears.filesystem.get_configuration_dir() .. "/icons/volume/" .. beautiful.name .. "/"

-- ===================================================================
-- Appearance & Functionality
-- ===================================================================

local volume_icon = wibox.widget {
   widget = wibox.widget.imagebox
}

-- create the volume_adjust component
local volume_adjust = wibox({
   screen = awful.screen.focused(),
   x = screen.geometry.width - offsetx,
   y = (screen.geometry.height / 2) - (offsety / 2),
   width = dpi(48),
   height = offsety,
   shape = gears.shape.rounded_rect,
   visible = false,
   ontop = true
})

local volume_bar = wibox.widget{
   widget = wibox.widget.progressbar,
   shape = gears.shape.rounded_bar,
   color = "#efefef",
   background_color = beautiful.bg_focus,
   max_value = 100,
   value = 0
}

volume_adjust:setup {
   layout = wibox.layout.align.vertical,
   {
      wibox.container.margin(
         volume_bar, dpi(14), dpi(20), dpi(20), dpi(20)
      ),
      forced_height = offsety * 0.75,
      direction = "east",
      layout = wibox.container.rotate
   },
   wibox.container.margin(
      volume_icon
   )
}

-- create a 4 second timer to hide the volume adjust
-- component whenever the timer is started
local hide_volume_adjust = gears.timer {
   timeout = 4,
   autostart = true,
   callback = function()
      volume_adjust.visible = false
   end
}

-- show volume-adjust when "volume_change" signal is emitted
awesome.connect_signal("volume_change",
   function()
      -- set new volume value
      awful.spawn.easy_async_with_shell(
         "amixer get Master | grep -E -o '[0-9]{1,3}%' | tr -d '%'",
         function(stdout)
            local volume_level = tonumber(stdout)
            volume_bar.value = volume_level
            if (volume_level > 40) then
               volume_icon:set_image(icon_dir .. "volume.png")
            elseif (volume_level > 0) then
               volume_icon:set_image(icon_dir .. "volume-low.png")
            else
               volume_icon:set_image(icon_dir .. "volume-off.png")
            end
         end,
         false
      )

      -- make volume_adjust component visible
      if volume_adjust.visible then
         hide_volume_adjust:again()
      else
         volume_adjust.visible = true
         hide_volume_adjust:start()
      end
   end
)

I have changed the way it gets the volume percentage, and it functions. I have also changed keys.lua:

-- ALSA volume control
   awful.key({}, "XF86AudioRaiseVolume",
      function()
         awful.spawn("amixer set Master 5%+", false)
         awesome.emit_signal("volume_change")
      end,
      {description = "volume up", group = "hotkeys"}
   ),
   awful.key({}, "XF86AudioLowerVolume",
      function()
         awful.spawn("amixer set Master 5%-", false)
         awesome.emit_signal("volume_change")
      end,
      {description = "volume down", group = "hotkeys"}
   ),
   awful.key({}, "XF86AudioMute",
      function()
         awful.spawn("amixer set Master toggle", false)
         awesome.emit_signal("volume_change")
      end,
      {description = "toggle mute", group = "hotkeys"}
   ),

this should work for any new versions of alsa/linux.

WillPower3309 commented 1 year ago

Awesome! I'll take a look at it. Would you be open to submitting a PR with the changes?

RedstonerCKZ commented 1 year ago

Sure, no problem. Let me know when you are ready.

RedstonerCKZ commented 1 year ago

Pull request should be up by now.