-
Notifications
You must be signed in to change notification settings - Fork 8
How to use Pacsea
A practical, step‑by‑step guide for getting productive with Pacsea’s keyboard‑first TUI on Arch Linux.
- Start typing to search. With an empty query, Pacsea shows the official index (after the first refresh).
- Use ↑/↓ or PageUp/PageDown to navigate results.
- Press Space to add the selected package to the Install list.
- Press Enter to install the selected (in Results) or all queued (in Install).
- Use the Recent pane to reuse prior queries; Enter loads, Space quickly adds the first match.
Tips:
- Click the URL in Package Info to open it in your browser.
- Click “Show PKGBUILD” to open a side‑by‑side PKGBUILD preview; use Esc to close.
-
Where:
~/.config/pacsea/by default, or$XDG_CONFIG_HOME/pacsea/. Three files:settings.conf(behavior),theme.conf(colors),keybinds.conf(shortcuts). Full reference: Configuration. -
Every launch: Pacsea runs migration and repair before the UI paints: old single-file
pacsea.confsetups are split when needed; missing theme colors are filled from defaults (emptytheme.confgets the full default theme); missing settings keys are appended. You can start from a tinytheme.confand still get a complete palette—see Startup: migration and automatic key completion. -
While the app is open:
theme.confchanges needCtrl+Rto reload.settings.confandkeybinds.confare read from disk when used—see Live reload.
Pacsea draws the three stacked main bands (results list, middle row with search + Recent + Install, and Package Info / details) in an order you choose, and clamps how many terminal rows each band may use.
-
Configure: In
settings.conf, setmain_pane_orderto a comma-separated permutation ofresults,search, andpackage_info(you can use aliasesmiddleinstead ofsearchanddetailsinstead ofpackage_info). See Configuration — Layout for defaults, aliases, and validation rules. -
Heights: Use
vertical_min_*/vertical_max_*keys for the results and middle rows, andvertical_min_package_info(orvertical_min_details) for the details band. Keys apply to semantic bands, not fixed “top/middle/bottom” slots—so reordering the stack still tunes the correct pane. -
Apply while running: After editing layout keys in an external editor, press
Ctrl+Rso Pacsea reloadssettings.confinto memory (or restart the app). - Menus: Dropdowns from the top bar anchor to their buttons, so they stay aligned when the results band is not at the top.
- Unified search: Pacsea queries official repositories (including optional ones indexed by pacman, such as BlackArch when
[blackarch]is enabled) and the AUR. Extra sync repos declared inrepos.confare merged into indexing when enabled (see Custom repositories); the Results title bar can expose a Repos overflow menu for related filters when applicable. - Debounced typing keeps search snappy.
- Prefetching: details for the first few results are prefetched to reduce latency in the Package Info pane.
Fuzzy search mode:
- Press
CTRL+Fto toggle fuzzy search mode (fzf-style matching). See Keyboard Shortcuts for all shortcuts. - Fuzzy search allows finding packages even when you don't know the exact name
- Toggle back to normal substring search with
CTRL+Fagain - The current search mode is indicated in the UI
- Configure fuzzy search to be enabled by default via
fuzzy_search = trueinsettings.conf(see Configuration)
Sorting and filters:
- Click "Sort ▾" in the Results title to switch between Best matches (relevance), AUR popularity, or Alphabetical (Pacman‑first).
- Toggle repo visibility by clicking badges in the Results title bar: [AUR], [core], [extra], [multilib], and—when your system exposes them—optional official sources such as [EOS], [CachyOS], [Artix], and [BlackArch] (see BlackArch repository below). Artix uses a dropdown; BlackArch, EOS, and CachyOS use simple on/off chips that appear only when those repos are present in the index.
AUR package status markings:
- [OOD] - Out-of-date packages flagged by maintainers (displayed in red)
- [ORPHAN] - Orphaned packages with no active maintainer (displayed in red)
- These markers appear before the package name in the Results list
- Help identify packages that may need attention before installation
Focused details:
- The Package Info pane reflects the selection in your currently focused pane (Results, Recent, or Install/Remove).
-
AUR vote/unvote shortcut: press
Ctrl+Eon a selected AUR package to open a confirmation modal. Pacsea chooses Vote vs Unvote automatically from cached live vote-state.
Pacsea treats the BlackArch community repository as an optional official source once it is configured in pacman—not as part of the AUR.
What Pacsea does
- Indexes BlackArch packages together with core, extra, multilib, and other optional official mirrors you have enabled (via the same official index path Pacsea already uses).
- Labels those packages with a BlackArch repo label in results and related UI.
- Filter chip: When BlackArch packages are present in the loaded official index, a [BlackArch] chip appears in the Results title bar. Click it to show or hide BlackArch results, like the EndeavourOS and CachyOS optional chips (not a dropdown).
- Preflight: In install/remove preflight views, BlackArch dependencies are highlighted with the same “special optional repo” badge treatment as other recognized optional official sources where applicable.
What Pacsea does not do
-
No bootstrap: Pacsea does not add the BlackArch repo to
pacman.conf, install the BlackArch keyring, or run BlackArch setup scripts. Configure BlackArch using the official BlackArch documentation (or your distro’s instructions) first. -
No AUR helper changes:
paru/yaybehavior is unchanged; BlackArch is handled through pacman’s official package lists.
If the chip or packages are missing
- Confirm the repo is enabled and synced, for example:
grep -E '^\[blackarch\]' /etc/pacman.confandsudo pacman -Sy. Ifpacman -Sl blackarchreturns nothing or the repo is absent, Pacsea has nothing to merge into the index and the chip will not appear—this is expected.
Pacsea can help you maintain extra pacman sync repositories (third-party or internal mirrors) without hand-editing pacman.conf every time—on Linux only for the privileged apply path.
-
Recipe:
~/.config/pacsea/repos.conf(or$XDG_CONFIG_HOME/pacsea/repos.conf). TOML with[[repo]]entries:name(pacman section name),enabled, and a source (server,mirrorlist, or remotemirrorlist_url), plus optional signing fields (key_id,sig_level). Duplicatenamevalues in the file are rejected. -
Managed drop-in: Successful apply writes
/etc/pacman.d/pacsea-repos.confand ensures a guarded Include block exists in/etc/pacman.conf(Pacsea only touches lines between its markers). -
Examples: See the shipped
config/repos.confin the Pacsea repo.
- Options → Repositories, or use the Repos overflow control in the Results title bar when custom-repo filters are available (see in-app help).
The modal merges your repos.conf rows with a live pacman scan (what is actually configured on disk). Use Apply to reconcile the managed drop-in and run the planned privileged steps (download mirrorlists, refresh keys, pacman -Sy, etc.). --dry-run prints the same commands without executing mutating steps.
| Key | Action |
|---|---|
| Space | Toggle enabled for Pacsea-managed rows (Linux) and run the same apply-oriented path as Enter where applicable |
| Enter | Run the apply plan (preview in dry-run) |
| o | Open repos.conf in your editor (VISUAL / EDITOR) |
| r | Refresh the signing key for the selected row (pacman-key, Linux) |
| s | Open the in-tree example file for setup hints |
| ↑/↓, j/k, PgUp/PgDn, Home/End | Navigate the list |
| Mouse wheel | When the pointer is inside the modal, move the focused row up/down (same as arrow keys) |
| Esc / q | Close |
Full detail: Keyboard Shortcuts — Repositories modal.
-
All
[[repo]]disabled: Apply still succeeds: the managed drop-in is written as a short comment-only stub (no activeServerentries), instead of erroring. -
Indexing: When building the official index, extra
pacman -Slwork ignores disabled[[repo]]rows—so toggling a repo off does not keep costing-Slpasses for that name. - Failed privileged run: If a sudo/password step fails, Pacsea clears pending overlap check and “reopen Repositories” resume flags so stale wizards do not run afterward.
When you enable a repository whose sync database ships the same package names you already installed as foreign/AUR packages, updates can get confusing (helpers and sync repos may disagree on which build you want).
After a full successful Repositories apply, Pacsea compares a snapshot of pacman -Qm from queue time with pacman -Sl output for the repository you added:
-
Non-empty overlap: A multi-step “AUR vs new repository” wizard opens (acknowledge → optional per-package migrate selection → sudo summary). Migration uses privileged
pacmanto replace selected AUR installs with the repo build;--dry-runstays respected. - Empty overlap: A short toast explains there is nothing to reconcile (or the DB did not list overlaps).
- Enter: On the overlap flow, Enter is ignored until the apply executor has finished and the UI shows the log line telling you to continue—avoid confirming too early.
-
Esc / q on the first warning step: Can turn off that repository in
repos.confand queue another apply so the drop-in matches your recipe (undo path without leaving the wizard’s intent unclear). - If
pacman -Slfails after you removed a repo (e.g. DB gone), Pacsea treats overlap as empty instead of surfacing a misleading “connection” style error.
If you dismiss Preflight, Post-summary, the overlap wizard without migrating, or certain related alerts, Pacsea may reopen the Repositories modal with a fresh pacman scan (your row selection is restored by name). Pressing r in the Repositories modal for key refresh does not arm this resume behavior. Starting foreign migrate clears the pending resume.
Community repos (e.g. Chaotic-AUR) often publish AUR-adjacent packages under the same pkgname as the AUR. paru and yay may otherwise satisfy an “AUR” install from sync instead of the AUR.
Pacsea addresses this in two ways:
-
Queue command shape: For mixed queues, Pacsea runs
pacmanfor official/sync names and a separate helper invocation withparu/yay -S --aur(or equivalent) for AUR-only names so the helper is forced toward true AUR builds. Scan-cache priming uses the same probe shape. - One-shot warning: If you select an AUR result row for install but the same name also appears as an official/sync row in the current combined results, Pacsea shows a red warning once per continuation—you can proceed with Enter or cancel with Esc / q.
See Configuration — Custom repositories for file location and relationship to settings.conf.
Find within lists:
- Recent pane and Install/Remove pane support in‑pane find with
/then Enter=next, Esc=cancel.
Add to queue:
- In Results, press Space to queue the selected package into the Install list.
Review the queue:
- Switch focus to the Install pane to see queued items with repo badges and AUR popularity when available.
Install behavior:
- Press Enter in the Install pane to confirm installing all queued packages.
-
Preflight modal: By default, Pacsea shows a Preflight confirmation modal (unless
skip_preflight = trueinsettings.conf). See Configuration for details. This allows you to:- For Install actions: Inspect dependencies and files that will be installed, review config conflicts, and for AUR packages, press S to run security scans before installing
- For Remove actions: Inspect reverse dependencies (packages that depend on what you're removing), affected services, and files that will be removed
- If the queue mixes official/sync and AUR-only names, Pacsea runs
pacman -S(via your privilege tool) for the official set and a second helper invocation for AUR-only names usingparuoryaywith-S --aur, so helpers do not satisfy “AUR” picks from sync databases (relevant when third-party repos mirror AUR package names). - If every queued package is AUR, the whole queue goes through the helper (still using the
-S --aurshape where applicable). - If no AUR packages are present, official packages are installed with
pacman -S --needed --noconfirmvia your configured privilege tool (privilege_tool = auto|sudo|doas). - Password prompts and passwordless sudo: See Passwordless sudo below.
- In
--dry-run, Pacsea prints the exact commands instead of making changes.
Passwordless sudo
Install, update, and downgrade operations may require authentication. Pacsea supports multiple modes:
-
Interactive (fingerprint-friendly): set
auth_mode = interactiveto letsudo/doashandle PAM prompts directly in the terminal (including fingerprint via fprintd, when configured). -
Passwordless-only: set
auth_mode = passwordless_onlyto only proceed when passwordless execution is available (no password prompt UI). -
Legacy passwordless sudo opt-in:
use_passwordless_sudo = true(older switch; still supported when using sudo).
Choose the privilege tool with privilege_tool = auto|sudo|doas in settings.conf. For system setup (sudoers / doas.conf), see Troubleshooting.
Install logging:
- A timestamped
install_log.txtis written under the XDG state dir.
Pacsea includes two guided setup flows to reduce authentication interruptions during long installs/updates:
-
Sudo credential cache (sudoers): suggests
timestamp_timeoutpresets and shows safe manual steps for creating/etc/sudoers.d/99-pacsea-timestampwithvisudo. -
Doas persist setup: shows vetted
doas.confsnippets and a validation checklist forpersistpolicy + optional PAM/fingerprint readiness.
Where to open them:
-
Options → Optional Deps: select
sudo_timestamp_setupordoas_persist_setup - Startup setup tasks: Pacsea may surface these as recommended setup actions depending on your configured privilege tool
Notes:
- These are guidance/setup helpers; Pacsea does not silently rewrite privileged auth policy files for you.
-
--dry-runis respected for command execution paths; setup text and checks can still be displayed for review.
Before operations that may run for a long time (install/update/remove/downgrade and related privileged paths), Pacsea can show a one-time readiness warning if your current auth setup may pause mid-run for re-authentication.
- The warning points to configuring sudo timestamp timeout or doas persist policy (and PAM where available).
- Continue with
Enterif you are ready, or cancel to adjust your privilege setup first.
Enable installed‑only mode:
- Options → "List installed packages". The Results switch to installed packages only and the right pane becomes the Remove/Downgrade list.
Installed packages filter mode:
- By default, only "leaf" packages are shown (explicitly installed with no dependents). This is safer for removal.
- To show all explicitly installed packages (including those with dependents), configure
installed_packages_mode = allinsettings.confand reload config (Ctrl+R). See Configuration for details.
Queue removals:
- Space adds the selected package to the Remove list. Enter in the Remove list opens a confirmation dialog.
Safety:
- Core packages show a prominent warning.
--dry-runprints the planned command instead of executing it. - The Preflight modal for Remove actions shows reverse dependencies (packages that depend on what you're removing) and affected services.
Pacsea supports downgrading installed packages to previous versions using the downgrade tool.
Prerequisites:
- Install the
downgradetool:- Via Optional Deps modal: Options → Optional Deps → Navigate to "Downgrade-Tool" → Press Enter
- Or manually:
sudo pacman -S downgrade
Using downgrade:
- Enable installed‑only mode: Options → "List installed packages"
- Navigate to the Downgrade list in the right pane
- Add packages to downgrade: Space adds the selected package to the Downgrade list
- Execute downgrade: Enter in the Downgrade list opens the
downgradetool in a terminal - Follow the
downgradetool prompts to select the version to downgrade to
Note: The downgrade operation respects the skip_preflight setting. If skip_preflight = false, you'll see the Preflight modal before the downgrade tool opens. See Configuration for details.
Pacsea includes a comprehensive security scanning workflow for AUR packages:
Available scanners:
- ClamAV: Antivirus scanning for malware
- Trivy: Filesystem vulnerability scanning
- Semgrep: Static analysis checks
- ShellCheck: Linting for PKGBUILD and .install scripts
- VirusTotal: Hash lookups (requires API key configuration)
- Custom patterns: Suspicious pattern scanning
- aur-sleuth: LLM-based audit tool (runs in a separate terminal window)
aur-sleuth setup:
- First-time setup required: Options → Optional Deps → Navigate to "aur-sleuth-setup" → Press Enter
- Setup wizard helps you:
- Install aur-sleuth (choose system or user installation)
- Configure your API endpoint and key
- Select your preferred model
- Runs in a separate terminal window so you can continue using Pacsea
- Uses proxy and certificate settings from your Pacsea configuration
How to use (Install actions):
- Queue AUR packages for installation
- Press Enter to open the Preflight confirmation dialog
- Press S to open the Scan Configuration modal
- Toggle scanners on/off with Space
- Press Enter to run selected scans
- Review the comprehensive scan summary showing:
- Infections found (ClamAV)
- Vulnerabilities by severity (Trivy)
- Semgrep findings count
- VirusTotal statistics
- ShellCheck results
- Custom pattern matches
- aur-sleuth audit results
How to use (Remove actions):
- Add packages to the Remove list
- Press Enter to open the Preflight confirmation dialog
- Review reverse dependencies (packages that depend on what you're removing)
- Review affected services that will be impacted
- Review files that will be removed
- Meta-packages (like
base) show warnings when they have no reverse dependencies, as removal may affect system state
VirusTotal API Setup: Configure your VirusTotal API key directly from the Optional Deps modal. Press Enter on the "Security: VirusTotal API" entry to open the API key page, then paste and save your key. Alternatively, you can set virustotal_api_key in settings.conf (see Configuration).
Pacsea supports voting and unvoting AUR packages directly from the Results list through an SSH-based flow.
Requirements:
- Your SSH public key must be added to your AUR account: https://aur.archlinux.org/account
- A working SSH client (
sshby default, configurable) - A selected AUR package in Results
How to use:
- Select an AUR package in the Results pane.
- Press
Ctrl+E. - Review the confirmation modal (Pacsea automatically picks vote or unvote based on cached state).
- Confirm with
Enter(or cancel withEsc).
Guided SSH setup helper:
- Open Options → Optional Deps and select
aur-ssh-setup. - The setup flow prepares local SSH state first (
~/.ssh/config, key generation if needed, and host-key readiness) and then shows an apply key on AUR confirmation step before running the live SSH validation. - If an existing AUR host block is detected in
~/.ssh/config, Pacsea shows an overwrite confirmation before writing. - You can copy the shown public key directly from the setup modal using
C(or the copy action row with the mouse), then paste it into your AUR account SSH keys. - Use
Oin the setup modal when you want to open the AUR account/login page; Pacsea does not force-open the browser automatically. - Success feedback appears after the remote AUR SSH validation succeeds.
Notes:
- If your AUR server-side endpoint does not support vote-state lookup, Pacsea degrades gracefully and still allows vote/unvote actions.
- In
--dry-run, mutating vote actions are not executed.
Options → "Optional Deps" opens a dedicated view to install and verify recommended helper tools:
Features:
- Environment-aware defaults (detects Wayland/X11, desktop environment, distro)
- Desktop-aware preferences (e.g., GNOME Terminal on GNOME, Klipper on KDE)
- Shows installation status for each tool
- Press Enter on any entry to install missing packages
- Categories include:
- Editors (nvim, vim, helix, emacs/emacsclient, nano)
- Terminals (alacritty, kitty, ghostty, xterm, gnome-terminal, konsole, xfce4-terminal, tilix, mate-terminal)
- Clipboard utilities (wl-clipboard for Wayland, xclip for X11)
- Mirror updaters (reflector, pacman-mirrors, eos-rankmirrors, cachyos-rate-mirrors)
- AUR helpers (paru, yay)
- Security utilities (ClamAV, Trivy, Semgrep, ShellCheck, VirusTotal API setup, aur-sleuth)
- AUR SSH helper (
aur-ssh-setup) for vote/unvote setup - Package downgrade (downgrade)
The modal blocks main UI interactions to prevent accidental clicks/keys while configuring.
Mouse wheel: With the pointer inside the Optional Deps list (not on the small [Wizard] button), scroll up/down to move the highlighted row. [Wizard] still uses a normal click to open the startup-setup selector.
Options → "Update System" opens a checklist to run common maintenance actions in a terminal:
- Update Arch mirrors (optionally pick a country, distro-aware tool selection)
- Update system packages (sudo pacman -Syu)
- Update AUR packages (paru/yay -Sua, only updates AUR packages since official packages are already updated)
- Clear pacman and AUR caches
Force Sync mode: When on the pacman update row, you can toggle between sync modes:
- Normal (-Syu): Standard sync - only refreshes package databases that have changed
- Force Sync (-Syyu): Force-refreshes all package databases, even if unchanged
Use ←/→ or Tab keys on the pacman row to toggle between modes. Force Sync is useful after switching mirrors or when you suspect database corruption.
Distro-aware behavior: Pacsea automatically detects your distribution and uses the appropriate mirror tool:
-
Manjaro: Uses
pacman-mirrors -
EndeavourOS: Uses
eos-rankmirrors -
CachyOS: Uses
cachyos-rate-mirrors -
Standard Arch: Uses
reflector
Mirror index operations now include improved error handling and recovery, providing clearer feedback when mirror updates encounter issues.
Use Space to toggle items and Enter to execute the selected actions.
Mouse wheel: With the pointer inside the System Update checklist modal, scroll up/down to move the highlighted option (same range as keyboard navigation).
AUR update behavior:
- AUR updates use
-Suaflag (only updates AUR packages, not official packages which are already updated by pacman) - If pacman update fails but AUR update is enabled, a confirmation popup appears asking if you want to continue with AUR update anyway
- Press
EnterorYto continue with AUR update, orEsc,Q, orNto cancel - This allows you to proceed with AUR updates even if pacman encountered issues, though it may fail if AUR packages require newer official packages
Package Info shows:
- Name, version, description, repo, URL
- AUR popularity (when available)
- Maintainer and metadata for AUR packages
PKGBUILD preview:
- Click "Show PKGBUILD" to open an inline preview. Use the mouse wheel to scroll the text; press Esc to close.
- Fetching: Each PKGBUILD download runs in its own async task so one slow upstream (for example GitLab) does not block other packages’ fetches. If you change rows faster than the network, Pacsea drops responses that no longer match the focused package so the viewer does not flash stale scripts. Unreachable hosts fail faster thanks to short curl connect/time limits.
- AUR:
https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=<name> - Official: Arch GitLab raw
PKGBUILD(triesmain, falls back tomaster)
Clipboard helper:
- Click "Copy PKGBUILD" to copy the PKGBUILD to your clipboard
- Requires
wl-clipboard(Wayland) orxclip(X11) to be installed - The copied PKGBUILD includes a suffix configured in
settings.conf(clipboard_suffix) - This suffix serves as a reminder to review build scripts for suspicious activities
- Configure the suffix in
~/.config/pacsea/settings.conf:clipboard_suffix = Check PKGBUILD and source for suspicious and malicious activities
Pacsea displays status indicators for AUR packages to help you identify packages that may need attention:
Out-of-date packages [OOD]:
- Shown in red before the package name
- Package has been flagged as out-of-date
- May need an update or the maintainer may be inactive
- Check the AUR package page for more details before installing
Orphaned packages [ORPHAN]:
- Shown in red before the package name
- Package has no active maintainer
- May still work but won't receive updates
- Consider finding an alternative if regular updates are important
How to use:
- Markings appear automatically in the Results list
- No action needed - they're just for information
- Click the package to see details or use Comments viewer (
Ctrl+T) to read discussions
Pacsea includes a built-in viewer for AUR package comments, allowing you to read community discussions directly within the application.
Features:
- Automatic fetching: Comments are fetched from the AUR package page when you toggle the viewer
- Markdown support: Comments support markdown formatting (bold, italic, code blocks, links)
- Clickable URLs: Automatically detects and makes URLs clickable (http://, https://, www.)
- User profile links: Click on author names to open their AUR profile page
- Timestamp links: Click on timestamps to view the comment on the AUR website
- Auto-update: Comments automatically update when you navigate to a different AUR package (if comments are visible)
- Caching: Comments are cached in memory to avoid repeated network requests
- Scrollable: Use mouse wheel or keyboard to scroll through comments
How to use:
- Select an AUR package in the Results pane
- Toggle comments viewer using one of these methods:
- Press
Ctrl+T(default keybind, configurable inkeybinds.conf) - Click the "Show comments" button in the Package Info pane
- Press
- Comments will be fetched and displayed in a split pane alongside Package Info
- Navigate between packages to automatically update comments (if comments are visible)
- Toggle off comments using
Ctrl+Tagain or click "Hide comments"
Layout behavior:
- When only comments visible: Package Info 50%, Comments 50%
- When only PKGBUILD visible: Package Info 50%, PKGBUILD 50%
- When both visible: Package Info 50%, PKGBUILD 25%, Comments 25%
Notes:
- Comments are only available for AUR packages (not official repository packages)
- Comments are fetched via web scraping from
https://aur.archlinux.org/packages/<pkgname> - Comments are sorted by date (latest first)
- If a package has no comments, you'll see "No comments yet"
- Network errors are displayed as error messages in the comments pane
Customizing the keybind:
You can change the comments toggle keybind in ~/.config/pacsea/keybinds.conf:
keybind_comments_toggle = CTRL+TSee Keyboard Shortcuts for the complete list of shortcuts and Configuration for keybind customization details.
- A button at the top of the interface shows how many packages have updates available
- Click the button to view a detailed list of all available updates, showing both current and new versions for each package
-
Mouse wheel: With the pointer over the updates list body, scroll up/down to move the highlighted entry (respects the active
/filter when set). See Keyboard Shortcuts — Updates available modal. - The update list includes both official repository packages and AUR packages
-
Preflight integration: Press Enter on an update to review it in detail before installing
- Check dependencies, files, and potential conflicts
- For AUR packages, you can run security scans
- Can be disabled with
skip_preflightsetting (see Configuration)
- Updates are automatically checked in the background every 30 seconds (configurable via
updates_refresh_intervalinsettings.conf- see Configuration) - The updates count refreshes automatically after install, remove, or downgrade operations
- Real-time progress display during update operations
Pacsea's News Mode provides a comprehensive feed of Arch Linux news, security advisories, package updates, and AUR comments with advanced filtering and smart features.
Switching to News mode:
- Switch modes via Options → News mode (Normal mode:
Shift+Oopens Options, then choose "News mode") - Set
app_start_mode = newsinsettings.confto start directly in News mode (default:package)
News sources:
- Arch Linux News: Latest announcements and updates from archlinux.org
- Security Advisories: Security alerts with severity indicators and affected packages
- Package Updates: Track version changes for your installed packages with automatic change detection (version, maintainer, dependencies)
- AUR Comments: Recent community discussions and feedback from AUR package pages
Layout:
- Center pane lists news items with a search bar
- Left pane shows search history
- Right pane shows bookmarks
- Use
Tab/←/→to move between results, history, and bookmarks - Hide/show history or bookmarks from the Panels menu (
Shift+P)
Filters:
- Header filter chips toggle each source type: Arch news, security advisories, package updates, and AUR comments
- Installed-only filter: When enabled, shows only advisories and updates for packages on your system
- Age filter: Configure maximum age in days via
news_max_age_daysinsettings.conf(default: unlimited). Filter chips show active filters with clickable areas for easy toggling.
Sorting:
- Use
Shift+Tabto cycle through sort modes: date, title, severity (for advisories), or unread status - Sort menu stays open until you select an option or close it (no longer auto-closes)
- The
change_sortkeybind is shown in the help footer in News mode - Sorting works consistently across all panes and modes
Search:
- Type in the news search bar to filter items
- Independent search inputs: News mode and Package mode have separate search fields — no shared state when switching between modes
- Search text is preserved when switching modes, so you can switch back and forth without losing your queries
- Searches auto-save to history (deduped, persisted)
- Pick a history entry to reuse a query
Actions:
-
Enter: Opens the selected item in your browser and loads its content -
r: Marks the selected item as read/unread (toggle) — only works in normal mode (prevents accidental marking when typing 'r' in insert mode) -
Ctrl+R: Marks all visible items as read — only works in normal mode -
Space: Bookmarks the selected item and stores a cached copy of its content
Bookmarks:
- Bookmarks live in the right pane
-
j/kor arrows to navigate;Enterloads the bookmarked item and its cached body -
Deleteremoves a bookmark - Cached content is reused on reopen to avoid refetching
Smart features:
- Change Detection: Automatically detects package changes (version, maintainer, dependencies) and highlights them in package update items
- Offline Support: Caches package data to disk for offline access and faster loading. Multi-layer caching (15min memory, 14 days disk) reduces network requests
- Background Processing: Failed requests are automatically retried in the background with exponential backoff (10s, 20s, 40s), up to 3 attempts
- Streaming Updates: After initial 50 items, additional news items load automatically in the background and stream to the UI at 1 per second
- AUR Balance: Ensures AUR packages are always represented alongside official packages (dedicated allocation)
- Rate Limiting: Intelligent request management prevents server blocking
- Error Recovery: Gracefully handles repeated failures without blocking your workflow
Content:
- Selecting an item fetches and caches the article body
- Reopening uses the cache when available
- Installed-only filter keeps advisories scoped to packages on your system
- Package updates show change indicators when versions, maintainers, or dependencies have changed
Pacsea includes an announcement system to keep you informed about important updates, new features, security issues, and development information.
Types of announcements:
- Version announcements: Automatically shown when you first launch a new version, highlighting what's new in that release. These are always shown regardless of settings.
-
Remote announcements: Important updates and notices fetched from the announcement service. These can be disabled via the
get_announcementsetting (see Configuration).
Features:
- Smart display: Announcements appear at startup in a modal dialog
- Clickable URLs: URLs in announcement content are automatically detected and clickable (opens in your default browser)
- Markdown support: Announcements support markdown formatting (headers, bold, italic, code blocks, links)
- Persistent read status: Mark announcements as read so they won't appear again
- Sequential display: Multiple announcements are shown one at a time (version announcements first, then remote announcements, then news items)
How to use:
-
Mark as read: Press
rto mark the current announcement as read. It won't show again on future startups. -
Dismiss temporarily: Press
Enter,Esc, orqto dismiss the announcement. It will show again on the next startup. -
Scroll content: Use
↑/↓,j/k, orPageUp/PageDownto scroll through long announcement content - Click URLs: Click on any URL in the announcement content to open it in your browser
Configuration:
- Disable remote announcements by setting
get_announcement = falsein~/.config/pacsea/settings.conf(see Configuration) - Version announcements always show when you first launch a new version, regardless of this setting
Announcement queue:
- Announcements are shown sequentially: version announcements first, then remote announcements, then news items
- Each announcement must be dismissed or marked as read before the next one appears
- News items are queued to show after all announcements are dismissed
Panels dropdown:
- Quickly hide/show the Recent pane, the Install/Remove pane, and the Keybinds footer.
- Your choices persist in
settings.conf(show_recent_pane,show_install_pane,show_keybinds_footer) and are restored on next run.
Enhanced footer:
- The Keybinds footer now displays keybindings in a multi-line format for better readability
- Shows all relevant shortcuts for the current context and mode
Collapsed menu:
- Automatically appears when your window is too narrow for all menu buttons
- Provides access to Config/Lists, Panels, and Options in one compact menu
- Click the collapsed menu button to open it
- Works seamlessly when resizing your terminal window
Loading indicators:
- Visual feedback during data fetching with informative messages
- Loading states are clearly indicated throughout the application
- Helps you understand when operations are in progress
Modal mouse wheel: In System Update, Repositories, Optional Deps, and the Updates available list, moving the scroll wheel while the pointer is inside the modal moves the focused row or option (in addition to normal keyboard navigation).
Core navigation:
- Help overlay: F1 or
? - Switch panes: Tab / Shift+Tab, or ← / →
- Exit: Ctrl+C (Esc does not quit; it cancels/defocuses)
- Extended keybinds: Shift+char keybind support is available across all panes and modes for consistent navigation
Search pane:
- Move selection: ↑ / ↓ / PageUp / PageDown
- Add to install: Space
- Install selected: Enter
- Toggle Normal/Insert: Esc /
i - Normal mode:
h/lto extend select,dto delete,j/kto move list selection,Shift+Delto clear - Normal mode menus:
Shift+C(Config),Shift+O(Options),Shift+P(Panels). From the Config menu you can open settings, theme, or keybinds for editing in your preferred editor (VISUALorEDITOR). See Configuration for details. - Normal mode actions:
Shift+S(open Arch status),Shift+I(import packages),Shift+E(export Install list)-
Import packages (
Shift+I): Import package names from a file. Enhanced validation now provides better error handling and prevents invalid package names from being processed, with clearer error messages for problematic entries.
-
Import packages (
Recent pane:
- Move:
j/k, or ↑ / ↓ - Use query / Add first match: Enter / Space
- Find:
/, Enter=next, Esc=cancel
Install pane:
- Move:
j/k, or ↑ / ↓ - Confirm install all: Enter
- Remove selected / Clear all:
dor Delete / Shift+Delete - Find:
/, Enter=next, Esc=cancel
Details, PKGBUILD & Comments:
- Open URL: Ctrl+Shift+left‑click on URL
- Show/Hide PKGBUILD: Mouse left‑click on label or
CTRL+X; Esc closes - Show/Hide Comments: Mouse left‑click on "Show comments" button or
CTRL+T; Esc closes - Copy PKGBUILD: Click "Copy PKGBUILD" button (requires
wl-clipboardon Wayland orxclipon X11)- The copied PKGBUILD includes a suffix configured in
settings.conf(clipboard_suffix) - This suffix serves as a reminder to review build scripts for suspicious activities
- The copied PKGBUILD includes a suffix configured in
For a complete, always‑current keybindings table, see the Keyboard Shortcuts wiki page.
Pacsea supports powerful command-line operations, allowing you to manage packages without launching the TUI.
pacsea -s <query> # or: pacsea --search <query>Searches for packages in both official repositories and AUR, then exits.
pacsea -i <package1> <package2> # or: pacsea --install <package1> <package2>
pacsea -I <filename.txt> # Install from file (supports comments with #)Installs packages directly from the command line. Supports both official and AUR packages. The -I flag reads package names from a file (one per line, comments with # are ignored). Package import validation has been enhanced to provide better error handling and prevent invalid package names from being processed.
pacsea -r <package1> <package2> # or: pacsea --remove <package1> <package2>Removes packages with a confirmation prompt. After removal, shows any remaining config directories in $HOME and $HOME/.config.
pacsea -u # or: pacsea --updateUpdates both official packages (sudo pacman -Syu) and AUR packages (via paru -Sua or yay -Sua). The AUR update uses -Sua to only update AUR packages since official packages are already updated by pacman. If pacman update fails, AUR update is skipped automatically. Results are logged to ~/.config/pacsea/logs/update.log with detailed failure summaries including failed commands and packages.
pacsea -l # Explicitly installed (default)
pacsea -l --exp # Explicitly installed
pacsea -l --imp # Implicitly installed
pacsea -l --all # All installed packagesLists installed packages to stdout, one per line.
pacsea -n # All news (default)
pacsea -n --unread # Unread news only
pacsea -n --read # Read news only
pacsea -n --all # All newsDisplays Arch Linux news items with date, title, and URL. Outputs a link to the website at the end.
pacsea --clear-cacheRemoves all cache files (dependencies, files, services, sandbox, details) and exits.
pacsea --dry-run # Perform a dry run without making actual changes
pacsea --verbose # Enable verbose output (equivalent to --log-level debug)
pacsea -v # Short form of --verbose
pacsea --log-level <level> # Set the logging level (trace, debug, info, warn, error)
pacsea --no-color # Disable colored output
pacsea --version # Show version information
pacsea --help # Show help messagepacsea -y # Update package database before starting TUI
pacsea --refresh # Long form of -yFor a complete list of all available options and flags, run:
pacsea --helpNote: All CLI commands exit after completion and don't launch the TUI interface, except when using
--refreshwhich updates the database and then launches the TUI.