{"id":13897742,"url":"https://github.com/hollystandring/dwm-bar","last_synced_at":"2025-07-17T14:32:43.126Z","repository":{"id":36662146,"uuid":"185197728","full_name":"hollystandring/dwm-bar","owner":"hollystandring","description":"A modular statusbar for dwm","archived":true,"fork":false,"pushed_at":"2024-07-30T13:15:47.000Z","size":491,"stargazers_count":422,"open_issues_count":0,"forks_count":60,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-16T15:10:15.303Z","etag":null,"topics":["dwm","dwm-status","shell","statusbar"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hollystandring.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"joestandring"}},"created_at":"2019-05-06T13:01:36.000Z","updated_at":"2025-06-12T13:06:08.000Z","dependencies_parsed_at":"2024-11-25T09:03:47.318Z","dependency_job_id":null,"html_url":"https://github.com/hollystandring/dwm-bar","commit_stats":null,"previous_names":["hollystandring/dwm-bar","joestandring/dwm-bar"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hollystandring/dwm-bar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hollystandring%2Fdwm-bar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hollystandring%2Fdwm-bar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hollystandring%2Fdwm-bar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hollystandring%2Fdwm-bar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hollystandring","download_url":"https://codeload.github.com/hollystandring/dwm-bar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hollystandring%2Fdwm-bar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265616857,"owners_count":23798909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dwm","dwm-status","shell","statusbar"],"created_at":"2024-08-06T18:03:50.806Z","updated_at":"2025-07-17T14:32:42.894Z","avatar_url":"https://github.com/hollystandring.png","language":"Shell","funding_links":["https://ko-fi.com/joestandring"],"categories":["Shell"],"sub_categories":[],"readme":"# dwm-bar\nA modular statusbar for dwm\n# THIS PROJECT HAS A NEW HOME\nI no longer use this account for personal reasons, however this repo has been left up as an archive as to not break existing configs. This project can now be found on my [Codeberg](https://codeberg.org/pndaspace) account. I'd like to thank everyone who ever contributed here/used this project and I hope it has inspired your own work \u003c3 - *Holly*\n![screenshot](https://raw.githubusercontent.com/hollystandring/dwm-bar/master/sshot.png)\n## Table of Contents\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [Enabling Functions](#enabling-functions)\n  - [Refresh Rate](#refresh-rate)\n  - [Configuring Functions](#configuring-functions)\n  - [Identifiers](#identifiers)\n- [Current Functions](#current-functions)\n  - [dwm_alsa](#dwm_alsa)\n  - [dwm_pulse](#dwm_pulse)\n  - [dwm_battery](#dwm_battery)\n  - [dwm_countdown](#dwm_countdown)\n  - [dwm_alarm](#dwm_alarm)\n  - [dwm_keyboard](#dwm_keyboard)\n  - [dwm_resources](#dwm_resources)\n  - [dwm_cmus](#dwm_cmus)\n  - [dwm_mpc](#dwm_mpc)\n  - [dwm_spotify](#dwm_mpc)\n  - [dwm_date](#dwm_date)\n  - [dwm_mail](#dwm_mail)\n  - [dwm_weather](#dwm_weather)\n  - [dwm_networkmanager](#dwm_networkmanager)\n  - [dwm_wpa](#dwm_wpa)\n  - [dwm_vpn](#dwm_vpn)\n  - [dwm_ccurse](#dwm_ccurse)\n  - [dwm_transmission](#dwm_transmission)\n  - [dwm_backlight](#dwm_backlight)\n  - [dwm_connman](#dwm_connman)\n  - [dwm_loadavg](#dwm_loadavg)\n  - [dwm_currency](#dwm_currency)\n  - [dwm_solar_panel](#dwm_solar_panel)\n  - [dwm_network_speed](#dwm_network_speed)\n- [Contributing](#contributing)\n- [Acknowledgements](#acknowledgements)\n## Installation\n1. Clone and enter the repository:\n```\ngit clone https://github.com/hollystandring/dwm-bar\ncd dwm-bar\n```\n2. (Optional) Install Dependencies from ```dep/YourDisto.txt```. This will install dependencies for ALL functions so consider excluding ones you do not plan to use. These can be found at the top of each bar function.\n```\nsudo xbps-install -S $(cat dep/void.txt) # Void\nsudo pacman -S $(cat dep/arch.txt)       # Arch\nsudo dnf install $(cat dep/fedora.txt)   # Fedora\n```\n\u003e :warning: There are no dnf packages for [spotifyd](https://github.com/Spotifyd/spotifyd), [pamixer](https://github.com/cdemoulins/pamixer) and [cmus](https://github.com/cmus/cmus). If you want to utilise these packages, please install them manually as shown in the corresponding gihub repos.\n3. (Optional) If you plan to use unicode identifiers, you should install a font which includes these ([Nerd Fonts](https://github.com/ryanoasis/nerd-fonts), [siji](https://github.com/stark/siji))\n4. Enable/disable desired functions (see [Configuration](#configuration)).\n5. Run the script\n```\n./dwm_bar.sh\n```\n\n## Configuration\ndwm-bar will require some setup before it can be used.\n### Enabling Functions\nFunctions can be enabled by adding them to the import and upperbar variable in dwm_bar.sh. By default, all available functions will be commented here. If you are using the [extrabar](https://dwm.suckless.org/patches/extrabar/) patch, functions can also be added to lowerbar to appear on the bottom of the screen. Some more intensive functions are parallelized to prevent the bar freezing. These are imported the same as regular functions but added to the ```parallelize()``` function first. These use different names to regular functions and are commented out by default in dwm_bar.sh.\n\nTo enable dwm_battery and dwm_backlight on the top bar and dwm_pulse and dwm_weather (parallelized) on the bottom bar, for example, you should use:\n```\n# Import the modules\n. \"$DIR/bar-functions/dwm_battery.sh\"\n. \"$DIR/bar-functions/dwm_backlight.sh\"\n. \"$DIR/bar-functions/dwm_pulse.sh\"\n. \"$DIR/bar-functions/dwm_weather.sh\"\n\nparallelize() {\n    while true\n    do\n        printf \"Running parallel processes\\n\"\n        dwm_weather \u0026\n        sleep 5\n    done\n}\nparallelize \u0026\n\n# Update dwm status bar every second\nwhile true\ndo\n    # Append results of each func one by one to the upperbar string\n    upperbar=\"\"\n    upperbar=\"$upperbar$(dwm_battery)\"\n    upperbar=\"$upperbar$(dwm_backlight)\"\n   \n    # Append results of each func one by one to the lowerbar string\n    lowerbar=\"\"\n    lowerbar=\"$lowerbar$(dwm_pulse)\"\n    lowerbar=\"$lowerbar$(__DWM_BAR_WEATHER__)\"\n    \n    #xsetroot -name \"$upperbar\"\n    \n    # Uncomment the line below to enable the lowerbar \n    xsetroot -name \"$upperbar;$lowerbar\"\n    sleep 1\ndone\n```\n### Refresh rate\nIf updating the bar every second is an issue, you can change the ```sleep``` amount of both regular and parallelized functions in dwm_bar.sh.\n### Configuring functions\nSome functions, such as dwm_weather require additional setup and will be outlined with a comment where this is the case.\n### Identifiers\nUnicode or plaintext identifiers can be used by altering the ```$IDENTIFIER``` value in dwm_bar.sh. For example, when set to ```\"unicode\"```, dwm_mail will display:\n```\n[📫 0]\n```\nOtherwise, when not set it will display:\n```\n[MAIL 0]\n```\n## Current Functions\n### dwm_alsa\nDisplays the current master volume of ALSA\n```\n[🔉 55%]\n```\nDependencies: ```alsa-utils```\n### dwm_pulse\nDisplays the current master volume of PulseAudio\n```\n[🔉 55%]\n```\nDependencies: ```pamixer```\n### dwm_battery\nDisplays battery level and status\n```\n[🔋 100% full]\n```\n### dwm_countdown\nDisplays the status of [countdown](https://github.com/hollystandring/countdown)\n```\n[⏳ 00:10:00]\n```\nDependencies: ```countdown.sh```\n### dwm_alarm\nDisplays upcoming alarms from [alarm](https://github.com/hollystandring/alarm)\n```\n[⏰ 22:30:00]\n```\nDependencies: ```alarm.sh```\n### dwm_keyboard\nDisplays the current keyboard layout\n```\n[⌨ gb]\n```\nDependencies: ```xorg-setxkbmap```\n### dwm_resources\nDisplays information regarding memory, CPU temperature, and storage\n```\n[🖥 MEM 1.3Gi/15Gi CPU 45C STO 2.3G/200G: 2%]\n```\n### dwm_cmus\nDisplays current cmus status, artist, track, position, duration, and shuffle\n```\n[▶ The Unicorns - Tuff Ghost 0:43/2:56 🔀]\n```\nDependencies: ```cmus```\n### dwm_mpc\nDisplays current mpc status, artist, track, position, duration, and shuffle\n```\n[▶ The Unicorns - Tuff Ghost 0:43/2:56 🔀]\n```\nDependencies: ```mpc```\n### dwm_spotify\nDisplays current Spotify status, artist, track, and duration\n\nEither the official Spotify client or spotifyd can be used. Unfortunately, only spotifyd can provide track position and shuffle status\n```\n[▶ The Unicorns - Tuff Ghost 0:43/2:56 🔀]\n```\nDependencies: ```spotify/spotifyd, playerctl```\n\n### dwm_date\nDisplays the current date and time\n```\n[🕰 Mon 06-05-19 21:31:58]\n```\n### dwm_mail\nDisplays the current number of emails in an inbox\n```\n[📫 2]\n```\n### dwm_weather\nDisplays the current weather provided by [wttr.in](https://wttr.in)\n\nPlease remember wttr.in has a limited number of requests, so this module may occasionally not be able to recieve weather information when experiencing high traffic.\n```\n[☀ +20°C]\n```\n### dwm_networkmanager\nDisplays the current network connection, private IP, and public IP using NetworkManager\n```\n[🌐 enp7s0: 192.168.0.1/24 | 185.199.109.153]\n```\nDependencies: ```NetworkManager, curl```\n### dwm_wpa\nDisplays the current network connection and private IP using wpa_cli\n```\n[襤 My-Wifi 192.168.0.3]\n```\nDependencies: ```wpa_cli```\n### dwm_vpn\nDisplays the current VPN connections with OpenVPN or Wireguard\n```\n[🔒 Sweden - Stockholm]\n```\nDependencies: ```NetworkManager, NetworkManager-openvpn (for OpenVPN connections)```\n### dwm_ccurse\nDisplays the next appointment from calcurse\n```\n[💡 18/04/19 19:00 20:00 Upload dwm_ccurse]\n```\nDependencies: ```calcurse```\n### dwm_transmission\nDisplays the current status of a torrent with transmission-remote\n```\n[⏬ archlinux-2019.06.01... | 92% 1min ⬆3.4 ⬇1.5]\n```\nDependencies: ```transmission-remote```\n### dwm_backlight\nDisplays the current backlight level with xbacklight\n```\n[☀ 80]\n```\nDependencies: ```xbacklight```\n### dwm_connman\nShows network information IP, SSID, WLan strength (if connected to WLan) using connman.\n```\n[🌐 192.169.189.12 HomeNetworkName 53%]\n```\nDependencies: ```connman```\n### dwm_loadavg\nDisplays the average system load\n```\n[⏱ 0.14 0.17 0.18]\n```\n### dwm_solar_panel\nDisplays how much power is being produced from your solar panels\n```\n[💡 3.012 W ]\n```\n### dwm_currency\nDisplays the current rate of your currency in comparison to the USD provided by [rate.sx](http://rate.sx/)\n```\n[💡 1.225 ]\n```\nDependencies: ```curl```\n### dwm_network_speed\nDisplays the speed of download and upload.\n```\n[李 0KB/s 0KB/s]\n```\n## Contributing\nSee [CONTRIBUTING.md](CONTRIBUTING.md) before contributing.\n## Acknowledgements\nCode for some functions was modified from:\n* [Klemens Nanni](https://notabug.org/kl3)\n* [@boylemic](https://github.com/boylemic/configs/blob/master/dwm_status)\n* [Parket Johnson](https://github.com/ronno/scripts/blob/master/xsetcmus)\n* [suckless.org](https://dwm.suckless.org/status_monitor/)\n* [@mcallistertyler95](https://github.com/mcallistertyler95/dwm-bar)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhollystandring%2Fdwm-bar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhollystandring%2Fdwm-bar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhollystandring%2Fdwm-bar/lists"}