[PR #1202] [MERGED] Basic themes integration #6844

Closed
opened 2026-05-23 01:57:16 +01:00 by JakeStanger · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/JakeStanger/ironbar/pull/1202
Author: @JakeStanger
Created: 10/19/2025
Status: Merged
Merged: 10/22/2025
Merged by: @JakeStanger

Base: masterHead: feat/themes


📝 Commits (7)

  • 0af16dc feat: add config and theme args, default themes
  • aeef5bb docs(examples): replace with new minimal and desktop configs
  • 51539ec refactor: remove old default bar
  • 2ac01cd refactor: fix gtk4.12 warnings
  • a248fd1 ci(build): fix not failing on warnings
  • 238a0a9 chore(intellij): enable clippy unwrap_unused
  • 544e72e chore: drop ron support

📊 Changes

48 files changed (+1266 additions, -1142 deletions)

View changed files

📝 .github/workflows/build.yml (+3 -4)
📝 .idea/runConfigurations/Clippy.xml (+4 -2)
📝 Cargo.lock (+122 -83)
📝 Cargo.toml (+9 -10)
📝 docs/Compiling.md (+1 -2)
📝 docs/_Sidebar.md (+2 -2)
docs/examples/Config.md (+0 -10)
📝 docs/modules/Clipboard.md (+2 -2)
📝 docs/modules/Clock.md (+1 -1)
📝 docs/modules/Custom.md (+3 -1)
📝 docs/modules/Focused.md (+1 -1)
📝 docs/modules/Launcher.md (+5 -2)
📝 docs/modules/Menu.md (+1 -1)
📝 docs/modules/Music.md (+1 -1)
📝 docs/modules/Notifications.md (+1 -1)
📝 docs/modules/Sys-Info.md (+1 -2)
📝 docs/modules/Tray.md (+2 -2)
📝 docs/modules/Volume.md (+1 -1)
📝 docs/modules/Workspaces.md (+3 -1)
examples/config.corn (+0 -133)

...and 28 more files

📄 Description

This PR includes a few things, all related to configuration, theming, and defaults:

  • The old example configs (which were a mess) have been replaced with two new configurations - minimal and desktop. These both include dedicated stylesheets, and a readme with screenshots and info.
  • Two new arguments have been added to the CLI - config and theme. These are backed by the existing IRONBAR_CONFIG and IRONBAR_CSS environment variables.
    • Both of these can be set to minimal or desktop to use one of the built-in themes, or a custom config/css path.
    • Setting the config variable will assume there is a style.css alongside the config file, unless theme is also provided.
  • The default fallback configuration has been removed. Instead, Ironbar will load the minimal configuration/theme when none is provided.
  • Many of the module screenshots have been updated to use the desktop theme for a fresh new (and considerably less ugly) look
  • The universal_config crate has been replaced with config, which now has Corn support!
    • Config values can be overridden by environment variables. For example, set IRONBAR_ICON_THEME to control the top-level icon theme property.

This also raises the minimum GTK version to 4.12.

tl;dr: Ironbar now has sensible defaults, and very basic support for built-in themes


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/JakeStanger/ironbar/pull/1202 **Author:** [@JakeStanger](https://github.com/JakeStanger) **Created:** 10/19/2025 **Status:** ✅ Merged **Merged:** 10/22/2025 **Merged by:** [@JakeStanger](https://github.com/JakeStanger) **Base:** `master` ← **Head:** `feat/themes` --- ### 📝 Commits (7) - [`0af16dc`](https://github.com/JakeStanger/ironbar/commit/0af16dc8cd386a4dea53a305706d581fc078e882) feat: add `config` and `theme` args, default themes - [`aeef5bb`](https://github.com/JakeStanger/ironbar/commit/aeef5bbaa0bc469d302b5f5ab530ae13e509d562) docs(examples): replace with new `minimal` and `desktop` configs - [`51539ec`](https://github.com/JakeStanger/ironbar/commit/51539ec8f4ab8c761487aa3aa17a73fd4ab9341e) refactor: remove old default bar - [`2ac01cd`](https://github.com/JakeStanger/ironbar/commit/2ac01cddb98ec5d728d23c19716bcf1d7bb0e65f) refactor: fix gtk4.12 warnings - [`a248fd1`](https://github.com/JakeStanger/ironbar/commit/a248fd17eb76a9b56e46346409c512f828fa005b) ci(build): fix not failing on warnings - [`238a0a9`](https://github.com/JakeStanger/ironbar/commit/238a0a9f1157f9b1df8e469e49ec19c386e942a3) chore(intellij): enable clippy unwrap_unused - [`544e72e`](https://github.com/JakeStanger/ironbar/commit/544e72eac2d931de88d227467e99c1e2a2b96926) chore: drop ron support ### 📊 Changes **48 files changed** (+1266 additions, -1142 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yml` (+3 -4) 📝 `.idea/runConfigurations/Clippy.xml` (+4 -2) 📝 `Cargo.lock` (+122 -83) 📝 `Cargo.toml` (+9 -10) 📝 `docs/Compiling.md` (+1 -2) 📝 `docs/_Sidebar.md` (+2 -2) ➖ `docs/examples/Config.md` (+0 -10) 📝 `docs/modules/Clipboard.md` (+2 -2) 📝 `docs/modules/Clock.md` (+1 -1) 📝 `docs/modules/Custom.md` (+3 -1) 📝 `docs/modules/Focused.md` (+1 -1) 📝 `docs/modules/Launcher.md` (+5 -2) 📝 `docs/modules/Menu.md` (+1 -1) 📝 `docs/modules/Music.md` (+1 -1) 📝 `docs/modules/Notifications.md` (+1 -1) 📝 `docs/modules/Sys-Info.md` (+1 -2) 📝 `docs/modules/Tray.md` (+2 -2) 📝 `docs/modules/Volume.md` (+1 -1) 📝 `docs/modules/Workspaces.md` (+3 -1) ➖ `examples/config.corn` (+0 -133) _...and 28 more files_ </details> ### 📄 Description This PR includes a few things, all related to configuration, theming, and defaults: - The old example configs (which were a mess) have been replaced with two new configurations - `minimal` and `desktop`. These both include dedicated stylesheets, and a readme with screenshots and info. - Two new arguments have been added to the CLI - `config` and `theme`. These are backed by the existing `IRONBAR_CONFIG` and `IRONBAR_CSS` environment variables. - Both of these can be set to `minimal` or `desktop` to use one of the built-in themes, or a custom config/css path. - Setting the `config` variable will assume there is a `style.css` alongside the config file, unless `theme` is also provided. - The default fallback configuration has been removed. Instead, Ironbar will load the `minimal` configuration/theme when none is provided. - Many of the module screenshots have been updated to use the `desktop` theme for a fresh new (and considerably less ugly) look - The `universal_config` crate has been replaced with `config`, which now has Corn support! - Config values can be overridden by environment variables. For example, set `IRONBAR_ICON_THEME` to control the top-level icon theme property. This also raises the minimum GTK version to 4.12. **tl;dr**: Ironbar now has sensible defaults, and very basic support for built-in themes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
JakeStanger 2026-05-23 01:57:16 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#6844
No description provided.