pub struct Settings {Show 49 fields
pub layout_left_pct: u16,
pub layout_center_pct: u16,
pub layout_right_pct: u16,
pub app_dry_run_default: bool,
pub keymap: KeyMap,
pub sort_mode: SortMode,
pub clipboard_suffix: String,
pub show_recent_pane: bool,
pub show_install_pane: bool,
pub show_keybinds_footer: bool,
pub selected_countries: String,
pub mirror_count: u16,
pub virustotal_api_key: String,
pub scan_do_clamav: bool,
pub scan_do_trivy: bool,
pub scan_do_semgrep: bool,
pub scan_do_shellcheck: bool,
pub scan_do_virustotal: bool,
pub scan_do_custom: bool,
pub scan_do_sleuth: bool,
pub start_in_news: bool,
pub news_filter_show_arch_news: bool,
pub news_filter_show_advisories: bool,
pub news_filter_show_pkg_updates: bool,
pub news_filter_show_aur_updates: bool,
pub news_filter_show_aur_comments: bool,
pub news_filter_installed_only: bool,
pub news_max_age_days: Option<u32>,
pub startup_news_configured: bool,
pub startup_news_show_arch_news: bool,
pub startup_news_show_advisories: bool,
pub startup_news_show_aur_updates: bool,
pub startup_news_show_aur_comments: bool,
pub startup_news_show_pkg_updates: bool,
pub startup_news_max_age_days: Option<u32>,
pub news_cache_ttl_days: u32,
pub package_marker: PackageMarker,
pub news_read_symbol: String,
pub news_unread_symbol: String,
pub preferred_terminal: String,
pub skip_preflight: bool,
pub locale: String,
pub search_startup_mode: bool,
pub fuzzy_search: bool,
pub updates_refresh_interval: u64,
pub installed_packages_mode: InstalledPackagesMode,
pub get_announcement: bool,
pub use_passwordless_sudo: bool,
pub use_terminal_theme: bool,
}Expand description
User-configurable application settings parsed from pacsea.conf.
Fields§
§layout_left_pct: u16Percentage width allocated to the Recent pane (left column).
layout_center_pct: u16Percentage width allocated to the Search pane (center column).
layout_right_pct: u16Percentage width allocated to the Install pane (right column).
app_dry_run_default: boolDefault value for the application’s dry-run mode on startup.
This can be toggled via the --dry-run CLI flag.
keymap: KeyMapConfigurable key bindings parsed from pacsea.conf
sort_mode: SortModeInitial sort mode for results list.
clipboard_suffix: StringText appended when copying PKGBUILD to clipboard.
show_recent_pane: boolWhether the Search history pane should be shown on startup.
show_install_pane: boolWhether the Install/Remove pane should be shown on startup.
Whether the keybinds footer should be shown on startup.
selected_countries: StringSelected countries used when updating mirrors (comma-separated or multiple).
mirror_count: u16Number of mirrors to fetch/rank when updating.
virustotal_api_key: StringVirusTotal API key for security scanning.
scan_do_clamav: boolWhether to run ClamAV scan on AUR packages.
scan_do_trivy: boolWhether to run Trivy scan on AUR packages.
scan_do_semgrep: boolWhether to run Semgrep scan on AUR packages.
scan_do_shellcheck: boolWhether to run ShellCheck scan on AUR packages.
scan_do_virustotal: boolWhether to run VirusTotal scan on AUR packages.
scan_do_custom: boolWhether to run custom scan on AUR packages.
scan_do_sleuth: boolWhether to run Sleuth scan on AUR packages.
start_in_news: boolWhether to start the app in News mode (true) or Package mode (false).
news_filter_show_arch_news: boolWhether to show Arch news items in the News view.
news_filter_show_advisories: boolWhether to show security advisories in the News view.
news_filter_show_pkg_updates: boolWhether to show installed package update items in the News view.
news_filter_show_aur_updates: boolWhether to show AUR package update items in the News view.
news_filter_show_aur_comments: boolWhether to show installed AUR comment items in the News view.
news_filter_installed_only: boolWhether to restrict advisories to installed packages in the News view.
news_max_age_days: Option<u32>Maximum age of news items in days (None = unlimited).
startup_news_configured: boolWhether startup news popup setup has been completed.
startup_news_show_arch_news: boolWhether to show Arch news in startup news popup.
startup_news_show_advisories: boolWhether to show security advisories in startup news popup.
startup_news_show_aur_updates: boolWhether to show AUR updates in startup news popup.
startup_news_show_aur_comments: boolWhether to show AUR comments in startup news popup.
startup_news_show_pkg_updates: boolWhether to show official package updates in startup news popup.
startup_news_max_age_days: Option<u32>Maximum age of news items in days for startup news popup (None = unlimited).
news_cache_ttl_days: u32How many days to keep Arch news and advisories cached on disk. Default is 7 days. Helps reduce network requests on startup.
package_marker: PackageMarkerVisual marker style for packages added to Install/Remove/Downgrade lists.
news_read_symbol: StringSymbol used to mark a news item as read in the News modal.
news_unread_symbol: StringSymbol used to mark a news item as unread in the News modal.
preferred_terminal: StringPreferred terminal binary name to spawn for shell commands (e.g., “alacritty”, “kitty”, “gnome-terminal”). When empty, Pacsea auto-detects from available terminals.
skip_preflight: boolWhen true, skip the Preflight modal and execute actions directly (install/remove/downgrade). Defaults to false to preserve the safer, review-first workflow.
locale: StringLocale code for translations (e.g., “de-DE”, “en-US”). Empty string means auto-detect from system locale.
search_startup_mode: boolSearch input mode on startup. When false, starts in insert mode (default). When true, starts in normal mode.
fuzzy_search: boolWhether fuzzy search is enabled by default on startup. When false, uses normal substring search (default). When true, uses fuzzy matching (fzf-style).
updates_refresh_interval: u64Refresh interval in seconds for pacman -Qu and AUR helper checks. Default is 30 seconds. Set to a higher value to reduce resource usage on slow systems.
installed_packages_mode: InstalledPackagesModeFilter mode for installed packages display.
LeafOnly shows explicitly installed packages with no dependents.
AllExplicit shows all explicitly installed packages.
get_announcement: boolWhether to fetch remote announcements from GitHub Gist.
If true, fetches announcements from the configured Gist URL.
If false, remote announcements are disabled (version announcements still show).
use_passwordless_sudo: boolWhether to use passwordless sudo for install operations when available.
If false (default), password prompt is always shown even if passwordless sudo is configured.
If true, passwordless sudo is used when available, skipping the password prompt.
This acts as an additional safety barrier requiring explicit opt-in.
use_terminal_theme: boolWhether to use the terminal’s theme colors instead of theme.conf.
If true, Pacsea queries the terminal for foreground/background colors via OSC 10/11.
If false (default), uses theme.conf colors.
Note: Terminal theme is also used automatically when theme.conf is missing/invalid
and the terminal is on the supported list (alacritty, kitty, konsole, ghostty, xterm,
gnome-terminal, xfce4-terminal, tilix, mate-terminal, wezterm-gui, WezTerm).
Trait Implementations§
Source§impl Default for Settings
impl Default for Settings
Source§fn default() -> Self
fn default() -> Self
What: Provide the built-in baseline configuration for Pacsea settings.
Inputs:
- None.
Output:
- Returns a
Settingsinstance populated with Pacsea’s preferred defaults.
Details:
- Sets balanced pane layout percentages and enables all panes by default.
- Enables all scan types and uses Catppuccin-inspired news glyphs.
Auto Trait Implementations§
impl Freeze for Settings
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnwindSafe for Settings
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§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>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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