Skip to content

Latest commit

 

History

History
71 lines (60 loc) · 2.81 KB

README.md

File metadata and controls

71 lines (60 loc) · 2.81 KB

𝓙𝓪𝓶𝓶𝓲𝓷'! -- a dbus-based media widget for awesome

(If the title doesn't read "Jammin'!" in a jammin' script, you need to fix your Unicode rendering.)

what

awesome is pretty neat. I wrote a media widget for use in my own configuration. It's grown pretty dope tho so I forked it into its own repo.

BE ADVISED! 𝓙𝓪𝓶𝓶𝓲𝓷'! is compatible with awesome 4, and notibly NOT backwards-compatible with awesome 3.5.x or earlier. awesome 4 made a big API change for spawning processes and that breaks things. Also the slider is new to 4.

Fun fact, this was originally called awesify and was meant for use specifically with Spotify for Linux. Turns out it's actually just easier to use DBus's generic media tools, so ostensibly this should work with anything. I still just use Spotify, so I make no guarantees about compatibility with anything else. If you want to patch compatibility with other media players, make a pull request!

some highlights:

  • see what's playing
  • volume slider on right-click
  • sick tooltip
  • provides clean interface to media controls
  • configurable!
  • 🔥 HOT like FIRE 🔥

but how

To install:

  • git clone somewhere your config can read it, like ~/.config/awesome

  • git clone nifty, probably in the same directory

  • Add the widget to your wibar:

    -- in your rc.lua:
    local jammin = require("jammin")
    local myjams = jammin()
    myjams:add_notify_handler("Spotify") -- add your media player here
    -- [...]
    s.mywibox:setup {
        -- [...]
        { -- Right widgets
            layout = wibox.layout.fixed.horizontal,
            mykeyboardlayout,
            wibox.widget.systray(),
            myjams.wibox, -- or wherever you want it
            mytextclock,
            s.mylayoutbox
        }
    }
  • Add keybindings for media controls:

    -- in your rc.lua:
    local jammin = require("jammin")
    -- [...]
    globalkeys = awful.util.table.join(
        -- [...]
        -- Media controls
        awful.key({ }, "XF86AudioPlay", jammin.playpause,
           {description = "play/pause media", group = "media"}),
        awful.key({ }, "XF86AudioNext", jammin.next,
           {description = "next track", group = "media"}),
        awful.key({ }, "XF86AudioPrev", jammin.previous,
           {description = "previous track", group = "media"}),
        awful.key({ }, "XF86AudioMute", jammin.mute,
           {description = "toggle mute", group = "media"}),
        awful.key({ }, "#123", jammin.vol_up,
           {description = "volume++", group = "media"}),
        awful.key({ }, "#122", jammin.vol_down,
           {description = "volume--", group = "media"})
    )