[PR #1415] [MERGED] Add Applications Widget for Launching Configurable App Shortcuts #1393

Closed
opened 2026-01-05 14:55:08 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/LGUG2Z/komorebi/pull/1415
Author: @JustForFun88
Created: 4/21/2025
Status: Merged
Merged: 4/27/2025
Merged by: @LGUG2Z

Base: masterHead: Applications


📝 Commits (1)

  • 24351eb Add Applications widget with possibility to use

📊 Changes

5 files changed (+688 additions, -1 deletions)

View changed files

komorebi-bar/src/widgets/applications.rs (+333 -0)
📝 komorebi-bar/src/widgets/komorebi.rs (+1 -1)
📝 komorebi-bar/src/widgets/mod.rs (+1 -0)
📝 komorebi-bar/src/widgets/widget.rs (+5 -0)
📝 schema.bar.json (+348 -0)

📄 Description

This pull request introduces a new Applications widget that displays a user-defined list of application launchers in the UI. Each app entry supports an icon, a label, and executes its configured command on click.

The design of this widget is inspired by the Applications Widget of YASB Reborn. I personally missed this functionality and aimed to bring a similar experience to komorebi-bar.

Features

  • Declarative configuration via ApplicationsConfig and per-app AppConfig.
  • Supports display modes: icon-only, text-only, or icon + text.
  • Icons can be:
    • loaded from image files (.png, .ico, etc.)
    • extracted from executable files on Windows (e.g. .exe)
  • Optional display of the launch command on hover.

Limitations

Only image-based icons and Windows .exe embedded icons are currently supported. I made the attempt to support glyph icons from Nerd Fonts, but it failed—most likely due to the font not being properly loaded or for another reason. This may be revisited in the future.

Example Configuration

{
  "Applications": {
    "enable": true,
    "show_launched": true,
    "display": "Icon",
    "applications": [
      {
        "name": "Quick Settings",
        "icon": ".../settings-2.png",
        "command": "explorer.exe ms-actioncenter:controlcenter/true"
      },
      {
        "name": "Task Manager",
        "icon": ".../Windows_Task_Manager_Icon.png",
        "command": "cmd /c Taskmgr"
      },
      {
        "name": "WezTerm",
        "command": "C:\\Program Files\\WezTerm\\wezterm-gui.exe"
      },
      {
        "name": "VS Code",
        "command": "C:\\Program Files\\Microsoft VS Code\\Code.exe"
      }
    ]
  }
}

Full Configuration Schema

Below is the full set of available configuration options for the Applications widget:

Applications (root)

Field Type Default Description
enable bool required Enables or disables the applications widget
show_launched bool false (optional) Show the launch command on hover
spacing f32 -- (optional) Horizontal spacing (in pixels) between application buttons
display string "Icon" (optional) Default Display Format for all applications
applications array required List of application entries. Each item must follow applications config

applications (per application entry)

Field Type Default Description
enable bool inherited from Applications (optional) Enables or disables this individual app entry
show_launched bool inherited from Applications (optional) Show launch command on hover
name string required Display name of the application
icon string extracted from executable (if any) (optional) Path to an image file to use as the icon
command string required Command to execute (e.g. path to the application or shell command)
display string inherited from Applications (optional) Display Format: "Icon", "Text", or "IconAndText"

Display Format (string values)

Value Description
"Icon" Show only the application icon
"Text" Show only the application name
"IconAndText" Show both icon and name

https://github.com/user-attachments/assets/80077210-8b67-4f4e-bc03-f523821aa5e3


🔄 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/LGUG2Z/komorebi/pull/1415 **Author:** [@JustForFun88](https://github.com/JustForFun88) **Created:** 4/21/2025 **Status:** ✅ Merged **Merged:** 4/27/2025 **Merged by:** [@LGUG2Z](https://github.com/LGUG2Z) **Base:** `master` ← **Head:** `Applications` --- ### 📝 Commits (1) - [`24351eb`](https://github.com/LGUG2Z/komorebi/commit/24351ebd944bfd05ed702b3b8ac70a888bc5c7b2) Add Applications widget with possibility to use ### 📊 Changes **5 files changed** (+688 additions, -1 deletions) <details> <summary>View changed files</summary> ➕ `komorebi-bar/src/widgets/applications.rs` (+333 -0) 📝 `komorebi-bar/src/widgets/komorebi.rs` (+1 -1) 📝 `komorebi-bar/src/widgets/mod.rs` (+1 -0) 📝 `komorebi-bar/src/widgets/widget.rs` (+5 -0) 📝 `schema.bar.json` (+348 -0) </details> ### 📄 Description This pull request introduces a new Applications widget that displays a user-defined list of application launchers in the UI. Each app entry supports an icon, a label, and executes its configured command on click. The design of this widget is inspired by the **Applications Widget** of **YASB Reborn**. I personally missed this functionality and aimed to bring a similar experience to `komorebi-bar`. ## Features - Declarative configuration via ApplicationsConfig and per-app AppConfig. - Supports display modes: icon-only, text-only, or icon + text. - Icons can be: - loaded from image files (.png, .ico, etc.) - extracted from executable files on Windows (e.g. .exe) - Optional display of the launch command on hover. ## Limitations Only image-based icons and Windows .exe embedded icons are currently supported. I made the attempt to support glyph icons from Nerd Fonts, but it failed—most likely due to the font not being properly loaded or for another reason. This may be revisited in the future. ## Example Configuration ```json { "Applications": { "enable": true, "show_launched": true, "display": "Icon", "applications": [ { "name": "Quick Settings", "icon": ".../settings-2.png", "command": "explorer.exe ms-actioncenter:controlcenter/true" }, { "name": "Task Manager", "icon": ".../Windows_Task_Manager_Icon.png", "command": "cmd /c Taskmgr" }, { "name": "WezTerm", "command": "C:\\Program Files\\WezTerm\\wezterm-gui.exe" }, { "name": "VS Code", "command": "C:\\Program Files\\Microsoft VS Code\\Code.exe" } ] } } ``` ## Full Configuration Schema Below is the full set of available configuration options for the Applications widget: **Applications (root)** | Field | Type | Default | Description | |----------------|----------|-------------|----------------------------------------------------------------------------| | enable | bool | required | Enables or disables the applications widget | | show_launched | bool | false | *(optional)* Show the launch command on hover | | spacing | f32 | -- | *(optional)* Horizontal spacing (in pixels) between application buttons | | display | string | "Icon" | *(optional)* Default **Display Format** for all applications | | applications | array | required | List of application entries. Each item must follow `applications` config | **applications (per application entry)** | Field | Type | Default | Description | |----------------|----------|------------------------------------|--------------------------------------------------------------------| | enable | bool | inherited from Applications | *(optional)* Enables or disables this individual app entry | | show_launched | bool | inherited from Applications | *(optional)* Show launch command on hover | | name | string | required | Display name of the application | | icon | string | extracted from executable (if any) | *(optional)* Path to an image file to use as the icon | | command | string | required | Command to execute (e.g. path to the application or shell command) | | display | string | inherited from Applications | *(optional)* **Display Format**: "Icon", "Text", or "IconAndText" | **Display Format (string values)** | Value | Description | |----------------|--------------------------------------| | "Icon" | Show only the application icon | | "Text" | Show only the application name | | "IconAndText" | Show both icon and name | https://github.com/user-attachments/assets/80077210-8b67-4f4e-bc03-f523821aa5e3 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-01-05 14:55:08 +01:00
adam closed this issue 2026-01-05 14:55:08 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#1393