-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Export more internals so muda can be used in combination with ksni #239
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for the long delay
} | ||
} | ||
|
||
pub fn strip_accelerator(text: impl AsRef<str>) -> String { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this meant to remove mnemonic? if so, we need to keep &&
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have to keep &&
, or turn it into &
?
Btw. the .replace("[~~]", "&")
in to_gtk_mnemonic
is redundant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have to keep
&&
, or turn it into&
?
it should turn into &
Btw. the
.replace("[~~]", "&")
into_gtk_mnemonic
is redundant.
actually that one is correct, .replace("[~~]", "&&")
is the redundant one
if let Some(handler) = MENU_EVENT_HANDLER.get_or_init(|| None) { | ||
handler(event); | ||
} else { | ||
let _ = MENU_CHANNEL.0.send(event); | ||
} | ||
} | ||
} | ||
|
||
#[cfg(feature = "ksni")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these should also be cfg'd behind linux-only target and same for all related logic
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can do that. But it feels a bit redundant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should result in faster compile times on other platforms, no?
#[cfg(target_os = "macos")] | ||
pub fn set_native_icon(&self, icon: Option<NativeIcon>) { | ||
let mut item = self.inner.borrow_mut(); | ||
item.set_native_icon(icon); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's use a single function so documentation is not duplicated
#[cfg(target_os = "macos")] | |
pub fn set_native_icon(&self, icon: Option<NativeIcon>) { | |
let mut item = self.inner.borrow_mut(); | |
item.set_native_icon(icon); | |
pub fn set_native_icon(&self, _icon: Option<NativeIcon>) { | |
#[cfg(target_os = "macos")] | |
self.inner.borrow_mut().set_native_icon(_icon) |
/// Change this menu item icon to a native image or remove it. | ||
/// | ||
/// ## Platform-specific: | ||
/// | ||
/// - **Windows / Linux**: Unsupported. | ||
#[cfg(not(target_os = "macos"))] | ||
pub fn set_native_icon(&self, _icon: Option<NativeIcon>) {} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and then let's remove this
I had to expose a few internals and add some image conversion functions to make muda work with my ksni patch for the tray-icon crate.
Companion PR for tray-icon:
Replace libappindicator with ksni: tauri-apps/tray-icon#201
Tauri issue:
[feat] Use ksni crate for tray icons on Linux: tauri-apps/tauri#11293