Skip to content

polarn/waybar-modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

waybar-modules

Just some personal Waybar modules written in GO. Just to learn some GO.

Currently you can use make to build, the binary will be in the build folder.

waybar-gitlab-mr

A Waybar "module" to display number of merge requests the user has to review

It needs a Gitlab personal access token with api read only access. It needs to be set using the GITLAB_TOKEN environment variable.

You can control how often it will poll the Gitlab API, by default it will poll every 60 seconds. Use the CLI option -interval X to change.

The command will output JSON that Waybar can use to update a module. The fields outputted are:

  • text - the number of merge requests found, 0 or more.
  • tooltip - outputs merge request titles separated with linefeed.
  • class - For usage in style.css, outputs none or found depending on if there is a merge request or not.
  • alt - use this to pick an icon using format-icons

Add this to your Waybar configuration file, usually ~/.config/waybar/config:

    "custom/gitlab": {
        "format": "{} {icon}",
        "return-type": "json",
        "format-icons": {
            "found": "",
            "none": ""
        },
        "exec-if": "which waybar-gitlab-mr",
        "exec": "GITLAB_TOKEN=<token-with-read-api> waybar-gitlab-mr"
    }

Here is an example of how to style it using the ~/.config/waybar/style.css file, remember that class outputted in the JSON from the command will have none or found set so you can use that here. You can also just skip the class part of the style, and just have one block.

#custom-gitlab.none {
    margin-top: 6px;
    margin-left: 8px;
    padding-left: 10px;
    margin-bottom: 0px;
    padding-right: 10px;
    border-radius: 10px;
    transition: none;
    color: #514112;
    background: #d4ab30;
}

#custom-gitlab.found {
    margin-top: 6px;
    margin-left: 8px;
    padding-left: 10px;
    margin-bottom: 0px;
    padding-right: 10px;
    border-radius: 10px;
    transition: none;
    color: #78611a;
    background: #fecf48;
}

waybar-wiim-nowplaying

A Waybar module that displays the currently playing song from a WiiM device (amp, mini, pro, etc.) on your network.

It uses the LinkPlay HTTP API exposed by WiiM devices to poll for playback status.

Usage: waybar-wiim-nowplaying --host <wiim-ip> with an optional --interval flag (default 5 seconds).

The command outputs JSON with:

  • text - "Artist - Title" when playing, empty when stopped/paused.
  • tooltip - Title, artist and album on separate lines.
  • class - playing or stopped for styling.
  • alt - same as class, for format-icons.

Add this to your Waybar configuration file, usually ~/.config/waybar/config:

    "custom/wiim": {
        "format": "{} {icon}",
        "return-type": "json",
        "format-icons": {
            "playing": "󰎈",
            "stopped": "󰎊"
        },
        "exec-if": "which waybar-wiim-nowplaying",
        "exec": "waybar-wiim-nowplaying --host 192.168.1.100"
    }

About

Waybar modules in GO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors