pub enum Os {
MacOs,
Linux,
Windows,
}Expand description
The operating systems Pitboard runs on. Windows only once it is released
(crate::release): until then a Windows build of a release refuses everything, and its
face, host/windows, refuses whatever is not built yet.
Variants§
Implementations§
Source§impl Os
impl Os
Sourcepub fn secrets_tool(self) -> Option<&'static str>
pub fn secrets_tool(self) -> Option<&'static str>
The program Pitboard reaches the system’s own store of secrets through, where it goes through one rather than calling the system directly.
Sourcepub fn make_private_command(self, kind: Kind, paths: &[&str]) -> Option<String>
pub fn make_private_command(self, kind: Kind, paths: &[&str]) -> Option<String>
The command a person types on this system to make paths private to themselves.
None where Pitboard cannot say one yet: on Windows, where a file is private through
its access control list, W15 says the command along with who may read a file, and
until then nothing asks, since the Windows face cannot tell who may.
Sourcepub fn guarded_folders(self) -> &'static [&'static str]
pub fn guarded_folders(self) -> &'static [&'static str]
The folders of a home, relative to it, that the system asks the person about before
an app may look inside them. An app passes over a directory of PATH in one: looking
would put that question to the person for something Pitboard never needed, and a
program started from there would have it asked on its behalf.
macOS asks for the Desktop, Documents and Downloads folders, iCloud Drive and the folders of other cloud storage, under Privacy & Security’s Files & Folders. Linux asks nothing. Which folders Windows asks about, if any, is W17’s to say, with where an app finds a program there; until then none is passed over.
Sourcepub fn package_bins(self) -> &'static [&'static str]
pub fn package_bins(self) -> &'static [&'static str]
Where the system’s package managers put the programs they install, for an app that
has no shell’s PATH to find one on, after each tool’s own installer’s place.
On a Mac, Homebrew’s bin on Apple silicon and on Intel. npm’s global bin is one of
them where Homebrew installed Node, and /usr/local/bin where nodejs.org’s installer
did, so a global npm install of a tool is found there too: Claude Code 2.1.289 lists
both among npm’s places. Nothing on Linux looks, since no app runs there and the
command line has a shell’s PATH, so none is said for it. Where winget, Scoop and npm
put programs on Windows is W17’s to read; until then none is looked in.
Sourcepub fn app_command_line(self, app: &Path) -> Option<PathBuf>
pub fn app_command_line(self, app: &Path) -> Option<PathBuf>
The command line an app at app comes with, which is what its renewal schedule runs:
the app itself is not one. A Mac app carries it at Contents/Helpers/pitboard, where
build-app.sh puts it, and anything that is not an app bundle, such as a test or a
build directory, has none. No app runs on Linux. Where the Windows app carries its
own is the app’s to say, which it does not yet.
Trait Implementations§
impl Copy for Os
impl Eq for Os
impl StructuralPartialEq for Os
Auto Trait Implementations§
impl Freeze for Os
impl RefUnwindSafe for Os
impl Send for Os
impl Sync for Os
impl Unpin for Os
impl UnsafeUnpin for Os
impl UnwindSafe for Os
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.