pub struct ServerConfig {Show 16 fields
pub host: String,
pub port: u16,
pub theme: String,
pub qr: Option<String>,
pub open_browser: Option<String>,
pub shared_annotation: bool,
pub salt: Option<String>,
pub initial_workspaces: Vec<WorkspaceInit>,
pub bound_listener: Option<TcpListener>,
pub registry: Option<Arc<WorkspaceRegistry>>,
pub management_token: Option<String>,
pub language: Option<String>,
pub shortcuts_json: Option<String>,
pub styles_css: Option<String>,
pub default_chat_mode: String,
pub print_collapsed_content: bool,
}Expand description
Server configuration
Fields§
§host: String§port: u16§theme: String§qr: Option<String>§open_browser: Option<String>§salt: Option<String>Random salt for workspace ID generation; None = auto-generate.
initial_workspaces: Vec<WorkspaceInit>§bound_listener: Option<TcpListener>Pre-bound listener (GUI mode): server adopts this instead of binding fresh, eliminating the TOCTOU race between port discovery and actual bind.
registry: Option<Arc<WorkspaceRegistry>>Externally-owned registry (GUI mode): share the same registry between the Tauri commands and the HTTP server so additions are immediately visible.
management_token: Option<String>Management API token. None = auto-generate and write to lock file.
language: Option<String>UI language override: “zh”, “en”, or None (auto-detect via sys_locale).
shortcuts_json: Option<String>Custom keyboard shortcut overrides (JSON object, injected into browser pages).
styles_css: Option<String>Custom CSS variable overrides for --markon-* design tokens.
Pre-rendered by AppSettings::render_styles_css as a complete CSS
block carrying its own selectors (:root { ... } for light/single-
value tokens, html[data-theme="dark"] { ... } for dark overrides),
so templates inject it verbatim — no wrapping selector.
default_chat_mode: StringDefault chat surface: “in_page” or “popout”. Surfaced to the browser
via the default-chat-mode meta tag.
print_collapsed_content: boolWhen true, collapsed sections are forced visible during print so their content ends up on paper. When false (default) the content stays hidden and a small placeholder marks the position of the collapsed section.
Auto Trait Implementations§
impl Freeze for ServerConfig
impl !RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnsafeUnpin for ServerConfig
impl !UnwindSafe for ServerConfig
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more