mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-12-11 17:59:15 +08:00
opt: stop show tray icon in root mode
This commit is contained in:
parent
7b939a88f0
commit
6d0039b104
@ -188,8 +188,14 @@ pub fn core_main() -> Option<Vec<String>> {
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let handler = std::thread::spawn(move || crate::start_server(true));
|
||||
crate::tray::start_tray();
|
||||
// revent server exit when encountering errors from tray
|
||||
// Show the tray in linux only when current user is a normal user
|
||||
// [Note]
|
||||
// As for GNOME, the tray cannot be shown in user's status bar.
|
||||
// As for KDE, the tray can be shown without user's theme.
|
||||
if !crate::platform::is_root() {
|
||||
crate::tray::start_tray();
|
||||
}
|
||||
// prevent server exit when encountering errors from tray
|
||||
hbb_common::allow_err!(handler.join());
|
||||
}
|
||||
} else if args[0] == "--import-config" {
|
||||
|
@ -150,6 +150,13 @@ fn get_default_app_indicator() -> Option<AppIndicator> {
|
||||
match std::fs::File::create(icon_path.clone()) {
|
||||
Ok(mut f) => {
|
||||
f.write_all(icon).unwrap();
|
||||
// set .png icon file to be writable
|
||||
// this ensures successful file rewrite when switching between x11 and wayland.
|
||||
let mut perm = f.metadata().unwrap().permissions();
|
||||
if perm.readonly() {
|
||||
perm.set_readonly(false);
|
||||
f.set_permissions(perm).unwrap();
|
||||
}
|
||||
}
|
||||
Err(err) => {
|
||||
error!("Error when writing icon to {:?}: {}", icon_path, err);
|
||||
|
Loading…
Reference in New Issue
Block a user