Releases: kdroidFilter/ComposeNativeTray
0.5.4
What's Changed
- Bump net.java.dev.jna:jna from 5.15.0 to 5.16.0 by @dependabot in #12
Full Changelog: v0.5.3...v0.5.4
0.5.3
What's Changed
- Bump jvm from 2.0.21 to 2.1.0 by @dependabot in #10
- Bump org.jetbrains.kotlin.plugin.compose from 2.0.21 to 2.1.0 by @dependabot in #9
- Bump net.java.dev.jna:jna-platform from 5.15.0 to 5.16.0 by @dependabot in #7
- Bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 0.9.0 by @dependabot in #6
- Bump org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.9.0 to 1.10.1 by @dependabot in #5
Full Changelog: v0.5.2...v0.5.3
0.5.2
📢 Compose Native Tray Library - Release v0.5.2
We're excited to unveil Compose Native Tray v0.5.2, introducing essential enhancements to improve flexibility and functionality in your projects! 🚀
🆕 What's New in v0.5.2
1. 🌟 Support for URI Strings in Tray Icons
- Update: Tray icons now support URI strings instead of absolute paths, enabling the use of resources from within the JAR. (Implements #4
- Benefit: This change enhances portability and simplifies the inclusion of bundled resources, streamlining cross-platform development.
🙏 Special Thanks
A huge shoutout to @TraceM171 for contributing this improvement. Your work on extracting absolute paths for icons ensures a more adaptable and robust implementation. 🎉
🚀 Upgrade Now
To upgrade to the latest version, update your dependency:
dependencies {
implementation("io.github.kdroidfilter:composenativetray:0.5.2")
}
We can't wait to see how you leverage these updates! As always, your feedback, suggestions, and contributions are warmly welcomed.
Happy coding! 🎉
0.5.1
📢 Compose Native Tray Library - Release v0.5.1
We're thrilled to announce the release of Compose Native Tray v0.5.1, featuring critical fixes and updates to streamline your development process! 🚀
🆕 What's New in v0.5.1
1. 🐛 Fix Recomposition for Menu Content in Tray
Component
- Resolution: NativeTray now reloads on
Tray
parameter changes, ensuring menu items reflect the current state dynamically. (Fixes [#2]
2. 📦 Dependency Update: Compose Upgraded to Version 1.7.3
- Leverages the latest improvements and bug fixes in Jetpack Compose, ensuring compatibility and enhanced performance.
🙏 Special Thanks
A big thank you to @TraceM171 for identifying and resolving the menuContent
recomposition issue. Your contribution ensures a smoother experience for all users. 🎉
🚀 Upgrade Now
To upgrade to the latest version, update your dependency:
dependencies {
implementation("io.github.kdroidfilter:composenativetray:0.5.1")
}
We hope this update makes your projects even more seamless. As always, feel free to report issues, suggest features, or contribute to the library.
Happy coding! 🎉
v0.5.0: Merge pull request #1 from kl11n/master
📢 Compose Native Tray Library - Release v0.5.0
We're thrilled to announce the release of Compose Native Tray v0.5.0, featuring new capabilities and refinements to enhance your development experience! 🚀
🆕 What's New in v0.5.0
1. 🔍 Make Checkable Items Checkable on Init
- New Feature: Checkable items can now be initialized with a checked state. This enhancement provides greater flexibility and control over the tray menu items. Simply specify the
checked
parameter when creating a checkable item:CheckableItem(label = "Initial Checked", checked = true) { isChecked -> Log.i(logTag, "Initial Checked ${if (isChecked) "enabled" else "disabled"}") }
🚀 Upgrade Now
To upgrade to the latest version, update your dependency:
dependencies {
implementation("io.github.kdroidfilter:composenativetray:0.5.0")
}
🙏 Special Thanks
A big thank you to @kl11n for their valuable contribution in making checkable items more robust and feature-complete. Your support drives the evolution of Compose Native Tray! 🎉
We hope these improvements continue to enhance your projects. As always, feel free to report issues, suggest features, or contribute to the library.
Happy coding! 🎉
0.4.0
📢 Compose Native Tray Library - Release v0.4.0
We're excited to announce a new release of Compose Native Tray with several major updates and enhancements! 🚀
🆕 What's New in v0.4.0
1. 📌 Tray Position Detection (Windows and Linux)
- We've added functionality to dynamically detect the position of the system tray, which is useful for aligning application windows relative to the tray icon. On macOS, the tray position currently defaults to
TOP_RIGHT
and is not dynamically detected, but we're planning improvements for future releases.
2. 🔄 Single Instance Management
- Implemented an optional Single Instance Manager to ensure that only one instance of the application can run at a time. When a second instance is attempted, a restore request is sent to bring the existing application to the foreground. This ensures a smooth user experience and prevents multiple instances from running simultaneously.
3. 🖼️ Compose Recomposition Support
- Added support for Compose recomposition within the tray system. You can now use Compose's state management to dynamically show or hide the tray icon as needed. For example:
This provides greater flexibility in managing the tray, especially when responding to user actions or app states.
var isWindowVisible by remember { mutableStateOf(true) } if (!isWindowVisible) { Tray( // Tray parameters ) }
4. 📋 Tray Window Positioning
- Added a new function
getTrayWindowPosition(windowWidth: Int, windowHeight: Int)
to help you position a window based on the tray's current position. This function ensures that your windows appear in logical positions near the tray, providing a better user experience when interacting with the tray.
5. 🖱️ Primary Action Handling on Linux
- If the context menu on Linux is empty, the library now uses
gtkstatusicon
to capture the primary action without requiring an item in the context menu. This enhancement ensures that users can still trigger the primary action without needing to prepopulate the context menu.
✅ Accomplishments
- Single Instance Management: Added optional functionality to detect and limit to a single running instance, along with a mechanism to bring the running instance to the foreground.
- Tray Position Detection: The tray position is now detected dynamically on Windows and Linux. On macOS, the position defaults to
TOP_RIGHT
. - Compose Integration: Enhanced the tray with Compose recomposition support, making it possible to dynamically add, show, or hide the tray icon.
🚀 Upgrade Now
To upgrade to the latest version, update your dependency:
dependencies {
implementation("io.github.kdroidfilter:composenativetray:0.4.0")
}
We hope these improvements enhance your experience and open up new possibilities for using Compose Native Tray in your projects! Feel free to report issues, suggest new features, or contribute to the library.
Happy coding! 🎉
0.3.1
Bump to compose 1.7.0
0.3.0
Release v0.3.0
What's New
- Primary Action Support: Added support for primary actions on all platforms.
- Windows/macOS: Triggered by left-click on the tray icon.
- Linux: Added as a top item in the context menu due to
libappindicator
limitations.
Upgrade to the new version to take advantage of better integration for left-click actions.
0.2.0
- Fixed callback synchronization issues: Resolved problems caused by screen recomposition that affected callback synchronization.
- Improved API usability: The API is now easier to use, with no need to wrap it inside a
LaunchedEffect
.
0.1.0
initial release