pub enum MacosBackend {
LaunchAgent,
ServiceManagement,
}Expand description
macOS: how the login entry is written.
Variants§
LaunchAgent
A LaunchAgent plist under ~/Library/LaunchAgents (the 0.3.0 behaviour; the default). Carries
AutostartOptions::args and LowPriorityIO, but macOS 13+ lists it as a legacy background item.
ServiceManagement
SMAppService.mainApp (macOS 13+, see crate::login_item): a named item in System Settings >
General > Login Items, with a requiresApproval state. It needs a signed .app bundle and
carries no launch arguments and no LowPriorityIO (the app detects a login launch itself and
calls crate::login_item::set_background_io), so AutostartOptions::args and
AutostartOptions::low_priority_io are ignored. Where SMAppService is not usable (macOS
12 or older, an executable outside a bundle, or a redirected RIGHTKIT_SHELL_HOME /
AutostartOptions::config_home) the shell falls back to the LaunchAgent. Enabling or
disabling removes the shell’s old LaunchAgent plist, and migrate_launch_agent moves an
existing one over at startup.
Trait Implementations§
Source§impl Clone for MacosBackend
impl Clone for MacosBackend
impl Copy for MacosBackend
Source§impl Debug for MacosBackend
impl Debug for MacosBackend
Source§impl Default for MacosBackend
impl Default for MacosBackend
impl Eq for MacosBackend
Source§impl PartialEq for MacosBackend
impl PartialEq for MacosBackend
impl StructuralPartialEq for MacosBackend
Auto Trait Implementations§
impl Freeze for MacosBackend
impl RefUnwindSafe for MacosBackend
impl Send for MacosBackend
impl Sync for MacosBackend
impl Unpin for MacosBackend
impl UnsafeUnpin for MacosBackend
impl UnwindSafe for MacosBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.