{"id":23695698,"url":"https://github.com/faervan/bar-rs","last_synced_at":"2025-04-11T12:11:33.784Z","repository":{"id":270044298,"uuid":"909175058","full_name":"Faervan/bar-rs","owner":"Faervan","description":"A simple status bar for hyprland, niri and wayfire, written in rust using iced-rs","archived":false,"fork":false,"pushed_at":"2025-04-08T11:27:32.000Z","size":5628,"stargazers_count":16,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T12:30:48.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"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/Faervan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-12-27T23:44:15.000Z","updated_at":"2025-02-21T23:39:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"1645ad36-c079-4879-9bb3-adb95df22783","html_url":"https://github.com/Faervan/bar-rs","commit_stats":null,"previous_names":["faervan/bar-rs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Faervan%2Fbar-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Faervan%2Fbar-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Faervan%2Fbar-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Faervan%2Fbar-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Faervan","download_url":"https://codeload.github.com/Faervan/bar-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248398334,"owners_count":21097291,"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":[],"created_at":"2024-12-30T05:56:16.982Z","updated_at":"2025-04-11T12:11:33.760Z","avatar_url":"https://github.com/Faervan.png","language":"Rust","funding_links":[],"categories":["Bars and Widgets"],"sub_categories":["Miscellaneous"],"readme":"# bar-rs\n\u003ca href=\"https://github.com/iced-rs/iced\"\u003e\n  \u003cimg src=\"https://gist.githubusercontent.com/hecrj/ad7ecd38f6e47ff3688a38c79fd108f0/raw/74384875ecbad02ae2a926425e9bcafd0695bade/color.svg\" width=\"130px\"\u003e\n\u003c/a\u003e\n\nA simple status bar, written using [iced-rs](https://github.com/iced-rs/iced/) (specifically the [pop-os fork](https://github.com/pop-os/iced/) of iced, which supports the [wlr layer shell protocol](https://wayland.app/protocols/wlr-layer-shell-unstable-v1))\n\n![image](https://github.com/user-attachments/assets/c62d8399-0f80-4c3b-8cb8-a325db13fc32)\n\n![image](https://github.com/user-attachments/assets/d71b0fc2-a9fb-43e9-b358-9b1f2cb3d487)\n\n![image](https://github.com/user-attachments/assets/d0073653-01ed-4084-9c33-0d161cd98ec7)\n\n\n\nCurrently bar-rs supports only a small amount of configuration. It works on Wayland compositors implementing the [wlr layer shell protocol](https://wayland.app/protocols/wlr-layer-shell-unstable-v1#compositor-support), but right now only features [Hyprland](https://github.com/hyprwm/Hyprland/), [Niri](https://github.com/YaLTeR/niri/) and [Wayfire](https://github.com/WayfireWM/wayfire/) modules for active workspace and window display.\n\nFor a list of all currently supported modules, see [the Wiki](https://github.com/Faervan/bar-rs/wiki#modules)\n\n## Features\n- [x] Dynamic module activation/ordering\n- [x] Hot config reloading\n- [x] very basic style customization\n- [x] basic vertical bar support\n- [x] a base set of useful modules\n- [x] Module interactivity (popups, buttons)\n- [x] hyprland workspace + window modules\n- [x] wayfire workspace + window modules\n- [x] niri workspace + window modules\n- [ ] sway workspace + window modules\n- [ ] custom modules\n- [ ] additional modules (wifi, pacman updates...)\n- [ ] system tray support\n- [ ] plugin api (for custom rust modules)\n- [ ] custom fonts\n- [ ] X11 support\n- ...\n\n## Installation\nI aim for a release on the `AUR` after the [first milestone](https://github.com/Faervan/bar-rs/milestone/1) is reached. For now, you have to build bar-rs yourself.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch2\u003eBuilding\u003c/h2\u003e\u003c/summary\u003e\n  \nTo use bar-rs you have to build the project yourself (very straight forward on an up-to-date system like Arch, harder on \"stable\" ones like Debian due to outdated system libraries)\n\n```sh\n# Clone the project\ngit clone https://github.com/faervan/bar-rs.git\ncd bar-rs\n\n# Build the project - This might take a while\ncargo build --release\n\n# Install the bar-rs helper script to easily launch and kill bar-rs\nbash install.sh\n\n# Optional: Clean unneeded build files afterwards:\nfind target/release/* ! -name bar-rs ! -name . -type d,f -exec rm -r {} +\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch2\u003eUpdating\u003c/h2\u003e\u003c/summary\u003e\n\nEnter the project directory again.\n\n```sh\n# Update the project\ngit pull\n\n# Build the project - This will be considerably faster if you didn't clean the build files after installing\ncargo build --release\n\n# Optional: Clean unneeded build files afterwards:\nfind target/release/* ! -name bar-rs ! -name . -type d,f -exec rm -r {} +\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch2\u003eExtra dependencies\u003c/h2\u003e\u003c/summary\u003e\n  \nbar-rs depends on the following cli utilities:\n- free\n- grep\n- awk\n- printf\n- pactl\n- wpctl\n- playerctl\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch2\u003eUsage\u003c/h2\u003e\u003c/summary\u003e\n  \nLaunch bar-rs using the `bar-rs` script (after installing it using the `install.sh` script):\n```sh\nbar-rs open\n```\n\nAlternatively, you may launch bar-rs directly:\n\n```sh\n./target/release/bar-rs\n# or using cargo:\ncargo run --release\n```\n\u003c/details\u003e\n\n## Configuration\nExample configurations can be found in [default_config](https://github.com/Faervan/bar-rs/tree/main/default_config).\u003cbr\u003e\nSee [the Wiki](https://github.com/Faervan/bar-rs/wiki) for more.\n\n## Logs\nIf bar-rs is launched via the `bar-rs` script, it's logs are saved to `/tmp/bar-rs.log` and should only contain anything if there is an error.\nIf an error occurs and all dependencies are installed on your system, please feel free to open an [issue](https://github.com/faervan/bar-rs/issues)\n\n## Recommendations + feature requests\nIf you have an idea on what could improve bar-rs, or you would like to see a specific feature implemented, please open an [issue](https://github.com/faervan/bar-rs/issues).\n\n## Contributing\nIf you want to contribute, create an [issue](https://github.com/faervan/bar-rs/issues) about the feature you'd like to implement or comment on an existing one. You may also contact me on [matrix](https://matrix.to/#/@faervan:matrix.org) or [discord](https://discord.com/users/738658712620630076).\n\nContributing by creating new modules should be pretty easy and straight forward if you know a bit about rust. You just have to implement the `Module` and `Builder` traits for your new module and register it in `src/modules/mod.rs`.\u003cbr\u003e\nTake a look at [docs.iced.rs](https://docs.iced.rs/iced/) for info about what to place in the `view()` method of the `Module` trait.\n\n## Extra credits\nNext to all the great crates this projects depends on (see `Cargo.toml`) and the cli utils listed in [Extra dependencies](#extra-dependencies), bar-rs also uses [NerdFont](https://www.nerdfonts.com/) (see `assets/3270`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaervan%2Fbar-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaervan%2Fbar-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaervan%2Fbar-rs/lists"}