{"id":13533062,"url":"https://github.com/JakeStanger/ironbar","last_synced_at":"2025-04-01T21:31:41.262Z","repository":{"id":56762589,"uuid":"524500186","full_name":"JakeStanger/ironbar","owner":"JakeStanger","description":"Customisable Wayland gtk bar written in Rust.","archived":false,"fork":false,"pushed_at":"2025-03-24T22:17:43.000Z","size":3034,"stargazers_count":744,"open_issues_count":66,"forks_count":63,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-26T11:08:48.272Z","etag":null,"topics":["bar","desktop","gtk","gtk-layer-shell","hyprland","rust","sway","wayland","wlroots"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/ironbar","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JakeStanger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2022-08-13T20:24:06.000Z","updated_at":"2025-03-25T16:57:12.000Z","dependencies_parsed_at":"2023-11-07T18:26:06.510Z","dependency_job_id":"d9599bd1-417c-4615-a0d1-f023a8351e21","html_url":"https://github.com/JakeStanger/ironbar","commit_stats":{"total_commits":875,"total_committers":41,"mean_commits":"21.341463414634145","dds":"0.35771428571428576","last_synced_commit":"5136637752db9c6e07f319760338bb46044068f9"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fironbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fironbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fironbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fironbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JakeStanger","download_url":"https://codeload.github.com/JakeStanger/ironbar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713198,"owners_count":20821855,"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":["bar","desktop","gtk","gtk-layer-shell","hyprland","rust","sway","wayland","wlroots"],"created_at":"2024-08-01T07:01:16.231Z","updated_at":"2025-04-01T21:31:41.241Z","avatar_url":"https://github.com/JakeStanger.png","language":"Rust","funding_links":[],"categories":["Tools","Status Bar","Status Bars","Bars and Widgets"],"sub_categories":["Status Bar/Shell","Sway Specific","Miscellaneous"],"readme":"\u003ch1 align=\"center\" \u003e--- Ironbar ---\u003c/h1\u003e \n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/JakeStanger/ironbar/releases\"\u003e\n        \u003cimg src=\"https://img.shields.io/crates/v/ironbar?label=version\u0026style=for-the-badge\" alt=\"Current version\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/JakeStanger/ironbar/actions/workflows/build.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/jakestanger/ironbar/build.yml?style=for-the-badge\" alt=\"Build status\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/JakeStanger/ironbar/issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/jakestanger/ironbar?style=for-the-badge\" alt=\"Open issues\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/JakeStanger/ironbar/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/jakestanger/ironbar?style=for-the-badge\" alt=\"License\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://crates.io/crates/ironbar\"\u003e\n        \u003cimg src=\"https://img.shields.io/crates/d/ironbar?label=crates.io%20downloads\u0026style=for-the-badge\" alt=\"Crates.io downloads\" /\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\nA customisable and feature-rich GTK bar for wlroots compositors, written in Rust.\n\nIronbar is designed to support anything from a lightweight bar to a full desktop panel with ease.\n\n---\n\n## Getting Started\n\n[Wiki](https://github.com/JakeStanger/ironbar/wiki)\n|\n[Configuration Guide](https://github.com/JakeStanger/ironbar/wiki/configuration-guide)\n|\n[Style Guide](https://github.com/JakeStanger/ironbar/wiki/styling-guide)\n\n\n---\n\n![Screenshot of fully configured bar with MPD widget open](https://f.jstanger.dev/github/ironbar/bar.png?raw)\n\n✨ Looking for a starting point, or want to show off? Head to [Show and tell](https://github.com/JakeStanger/ironbar/discussions/categories/show-and-tell) ✨\n\n\u003c/div\u003e\n\n---\n\n## Features\n\n- First-class support for Sway and Hyprland, and partial support for Niri\n- Fully themeable with hot-loaded CSS\n- Popups to show rich content\n- Ability to create custom widgets, run scripts and embed dynamic content (including via Lua)\n- Easy to configure anything from a single bar across all monitors, to multiple different unique bars per monitor \n- Support for multiple config languages\n\n## Installation\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/ironbar.svg)](https://repology.org/project/ironbar/versions)\n\nIronbar can be installed from source or using your preferred package manager.\n\nIt is also recommended to install a [Nerd Font](https://www.nerdfonts.com/#home) for displaying symbols.\n\n### Cargo\n\n[crate](https://crates.io/crates/ironbar)\n\nEnsure you have the [build dependencies](https://github.com/JakeStanger/ironbar/wiki/compiling#Build-requirements) installed.\n\n```sh\ncargo install ironbar\n```\n\n### Arch Linux\n\n[aur package](https://aur.archlinux.org/packages/ironbar-git)\n\n```sh\nyay -S ironbar-git\n```\n\n### Nix\n\n[nix package](https://search.nixos.org/packages?channel=unstable\u0026show=ironbar)\n\n```sh\nnix-shell -p ironbar\n```\n\n#### Flake\n\nA flake is included with the repo which can be used with Home Manager.\n\n\u003cdetails\u003e\n\u003csummary\u003eExample usage\u003c/summary\u003e\n\n```nix\n{\n  # Add the ironbar flake input\n  inputs.nixpkgs.url = \"github:nixos/nixpkgs/nixos-unstable\";\n  inputs.ironbar = {\n    url = \"github:JakeStanger/ironbar\";\n    inputs.nixpkgs.follows = \"nixpkgs\";\n  };\n  inputs.hm = {\n    url = \"github:nix-community/home-manager\";\n    inputs.nixpkgs.follows = \"nixpkgs\";\n  };\n\n  outputs = inputs: {\n    homeManagerConfigurations.\"USER@HOSTNAME\" = inputs.hm.lib.homeManagerConfiguration {\n      pkgs = nixpkgs.legacyPackages.x86_64-linux;\n      modules = [\n        # And add the home-manager module\n        inputs.ironbar.homeManagerModules.default\n        {\n          # And configure\n          programs.ironbar = {\n            enable = true;\n            config = {};\n            style = \"\";\n            package = inputs.ironbar;\n            features = [\"feature\" \"another_feature\"];\n          };\n        }\n      ];\n    };\n  };\n}\n```\n\n\u003c/details\u003e\n\nCI builds are automatically cached by Garnix.\nYou can use their binary cache by following the steps [here](https://garnix.io/docs/caching).\n\n### Fedora\n\n[fedora package](https://copr.fedorainfracloud.org/coprs/victorvintorez/tilingtools/packages/)\n\n``` sh\ndnf copr enable victorvintorez/tilingtools\ndnf install ironbar\n```\n\n### Void Linux\n\n[void package](https://github.com/void-linux/void-packages/tree/master/srcpkgs/ironbar)\n\n```sh\nxbps-install ironbar\n```\n\n### Source\n\n[repo](https://github.com/jakestanger/ironbar)\n\nEnsure you have the [build dependencies](https://github.com/JakeStanger/ironbar/wiki/compiling#Build-requirements) installed.\n\n```sh\ngit clone https://github.com/jakestanger/ironbar.git\ncd ironbar\ncargo build --release\n# change path to wherever you want to install\ninstall target/release/ironbar ~/.local/bin/ironbar\n```\n\nBy default, all features are enabled. \nSee [here](https://github.com/JakeStanger/ironbar/wiki/compiling#features) for controlling which features are included.\n\n## Running\n\nOnce installed, you will need to create a config and optionally a stylesheet in `.config/ironbar`.\nSee the [Configuration Guide](https://github.com/JakeStanger/ironbar/wiki/configuration-guide) and [Style Guide](https://github.com/JakeStanger/ironbar/wiki/styling-guide) for full details.\n\nIronbar can be launched using the `ironbar` binary.\n\nThe `IRONBAR_LOG` and `IRONBAR_FILE_LOG` environment variables can be set\nto change console and file log verbosity respectively.\nYou can use any of `error`, `warn`, `info`, `debug` or `trace`.\n\nThese default to `IRONBAR_LOG=info` and `IRONBAR_FILE_LOG=warn`.\nNote that you cannot increase the file log verbosity above console verbosity.\n\nLog files can be found at `~/.local/share/ironbar/.log`.\n\n## Status\n\nIronbar is an **alpha** project. \nIt is unfinished and subject to constant breaking changes, and will continue that way until the foundation is rock solid.\n\nIf you would like to take the risk and help shape development, any bug reports, feature requests and discussion is welcome.\n\nI use Ironbar on my daily driver, so development is active. Features aim to be stable and well documented before being merged.\n\n\n## Contribution Guidelines\n\nAll are welcome, but I ask a few basic things to help make things easier. Please check [here](https://github.com/JakeStanger/ironbar/blob/master/CONTRIBUTING.md) for details.\n\n## Acknowledgements\n\n- [Waybar](https://github.com/Alexays/Waybar) - A lot of the initial inspiration, and a pretty great bar.\n- [Rustbar](https://github.com/zeroeightysix/rustbar) - Served as a good demo for writing a basic GTK bar in Rust\n- [Smithay Client Toolkit](https://github.com/Smithay/client-toolkit) - Essential in being able to communicate to Wayland\n- [gtk-layer-shell](https://github.com/wmww/gtk-layer-shell) - Ironbar and many other projects would be impossible without this\n- [Mixxc](https://github.com/Elvyria/Mixxc) - Basis for Ironbar's PulseAudio client code and a cool standalone volume widget.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJakeStanger%2Fironbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJakeStanger%2Fironbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJakeStanger%2Fironbar/lists"}