From c0f95015342ba9c5146cfa3e009654a646d023c8 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 21 Feb 2026 18:04:14 +0800
Subject: [PATCH 1/3] Update pr-labeler.yml with custom label rules
Added detailed configuration for PR label automation, including case insensitivity, custom keyword-to-label mappings, and options to search both PR titles and bodies for relevant terms. Labels now cover "bug", "feature", "refactor", and "New Crowdin updates".
---
.github/pr-labeler.yml | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 .github/pr-labeler.yml
diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml
new file mode 100644
index 0000000..5556c5e
--- /dev/null
+++ b/.github/pr-labeler.yml
@@ -0,0 +1,31 @@
+# The bot always updates the labels, add/remove as necessary [default: false]
+alwaysReplace: false
+# Treats the text and labels as case sensitive [default: true]
+caseSensitive: false
+# Array of labels to be applied to the PR [default: []]
+customLabels:
+ # Finds the `text` within the PR title and body and applies the `label`
+ - text: 'bug'
+ label: 'bug'
+ - text: 'fix'
+ label: 'bug'
+ - text: 'dependabot'
+ label: 'bug'
+ - text: 'New Crowdin updates'
+ label: 'bug'
+ - text: 'New Crowdin updates'
+ label: 'kind/i18n'
+ - text: 'feature'
+ label: 'enhancement'
+ - text: 'add new'
+ label: 'enhancement'
+ - text: 'refactor'
+ label: 'enhancement'
+ - text: 'refactor'
+ label: 'Code Refactor'
+# Search the body of the PR for the `text` [default: true]
+searchBody: true
+# Search the title of the PR for the `text` [default: true]
+searchTitle: true
+# Search for whole words only [default: false]
+wholeWords: false
From 6ea700393649c9c01737760e528b1c296379437a Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 21 Feb 2026 18:06:17 +0800
Subject: [PATCH 2/3] Enhance README with features, install, and plugin guide
Expanded README.md to include project overview, feature list, requirements, installation steps, plugin development instructions, contribution guidelines, and license information. Improved documentation for clarity and usability.
---
README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/README.md b/README.md
index f6e9c9a..a030a44 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,64 @@
# AnyBar
📟 Bring any bars like status, tool or command bar to your Windows!
+
+AnyBar is a customizable, extensible desktop utility for Windows that allows you to create and manage various types of bars (status bars, toolbars, command bars) on your screen. Built with WPF and .NET 10, it provides a modern and flexible way to display information and quick actions right where you need them.
+
+## Features
+
+- **Customizable Bars**: Create top, bottom, left, or right toolbars.
+- **Plugin System**: Highly extensible architecture. Add new widgets and functionalities through plugins.
+- **Modern UI**: Built with WPF, offering a clean and native Windows experience.
+- **Built-in Plugins**: Comes with essential plugins out of the box:
+ - 🕒 **DateTime**: Display current time and date.
+ - 📈 **Performance**: Monitor system resources (CPU, Memory, etc.).
+ - 🌐 **Network**: Keep track of your network status and usage.
+
+## Requirements
+
+- Windows 10 (19041) or later
+- [.NET 10.0 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/10.0)
+
+## Installation
+
+1. Download the latest release from the [Releases](https://github.com/Any-Bar/AnyBar/releases) page.
+2. Extract the archive to your preferred location.
+3. Run `AnyBar.exe`.
+
+## Developing Plugins
+
+AnyBar is designed to be easily extensible. You can create your own plugins to add custom widgets and features.
+
+1. Create a new .NET 10 WPF Class Library project.
+2. Add the `AnyBar.Plugin` NuGet package to your project:
+ ```bash
+ dotnet add package AnyBar.Plugin
+ ```
+3. Implement the `IPlugin` or `IAsyncPlugin` interface:
+ ```csharp
+ using AnyBar.Plugin;
+
+ public class MyCustomPlugin : IPlugin
+ {
+ public void Init(PluginInitContext context)
+ {
+ // Initialize your plugin here
+ }
+ }
+ ```
+4. Build your project and place the resulting DLL in the AnyBar plugins directory.
+
+For more details, check out the [AnyBar.Plugin](https://www.nuget.org/packages/AnyBar.Plugin) package and the built-in plugin source code in the `Plugins` directory.
+
+## Contributing
+
+Contributions are welcome! Feel free to open issues or submit pull requests.
+
+1. Fork the repository.
+2. Create a new branch for your feature or bugfix.
+3. Commit your changes.
+4. Push to your fork and submit a pull request.
+
+## License
+
+This project is licensed under the [MIT License](LICENSE).
\ No newline at end of file
From e9385eed04e0b570e067581f3e01ee820fcd5aa2 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 21 Feb 2026 18:13:56 +0800
Subject: [PATCH 3/3] Add screenshots
---
README.md | 2 ++
images/screenshot1.png | Bin 0 -> 2667302 bytes
2 files changed, 2 insertions(+)
create mode 100644 images/screenshot1.png
diff --git a/README.md b/README.md
index a030a44..b325d4a 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,8 @@ AnyBar is a customizable, extensible desktop utility for Windows that allows you
- 📈 **Performance**: Monitor system resources (CPU, Memory, etc.).
- 🌐 **Network**: Keep track of your network status and usage.
+
+
## Requirements
- Windows 10 (19041) or later
diff --git a/images/screenshot1.png b/images/screenshot1.png
new file mode 100644
index 0000000000000000000000000000000000000000..940d84d51db1c7b22ede690334191864485a2d87
GIT binary patch
literal 2667302
zcmeFZc{r5s`#(IE&_*kXF(gU0P%*X
V*~-2Y$-WL*#yZxr
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