Settings and languages - andreaderuvo/argus GitHub Wiki
Settings and languages
Settings is the sliders icon in the header (#/settings). The table is the rows people look for
most; every group is described below it.
| Setting | What it does |
|---|---|
| Language | en, it, fr, es, and anything you add |
| Theme | dark, light, or follow the system |
| Show hidden files | dotfiles, in every pane |
| File sidebar | a persistent pane on the left β wide screens only |
| Split file panes | two folders side by side |
| Tree view | expand folders in place instead of navigating into them |
| Wrap long lines | the default when previewing a text file |
| Open files inside the desk | a file opened from a window becomes a window |
| Terminal font size | 9β22 px, applied the next time a session opens (its own row, after About Argus) |
| tmux configuration | edit ~/.tmux.conf (or ~/.config/tmux/tmux.conf) and hand it to every session (#/tmuxconf) |
| Open on another device | a QR code with the address and the token |
Getting to one of them
The screen has grown to nine groups and forty-odd rows, and the way to a setting was to scroll and read headings. Two things fix that, and neither is a redesign:
- The headings are chips at the top. Press one and you are at that group. They are built from the finished page rather than from a list kept beside it, so a group added next month appears up there without anybody remembering to add it.
- A box that hides what does not match. Type
pdf, ortoken, orenter, and what is left is the rows that say it β with any heading left holding nothing hidden too.
Ten groups, not one list
Settings is grouped by the question you arrived with rather than by the order things were built:
| Go to | the keyboard list, the tmux configuration, prompts and placeholders, the QR code for another device, the live API, installing it on this device (until it is installed), and the language. Not settings β doors. They are first because three of them are why people open this screen. |
| Look | Name in the browser tab β "Argus Β· GPU", to tell several Argus apart (kept on the machine, so every device opening it shows the same), the theme, and Bar along the bottom β whether a phone gets one. |
| Files | hidden files, the sidebar, split panes, tree view, whether a file opened from a desk stays in the desk, and Keep dropped files for (only with --allow-write and a drop_dir). |
| Documents | Wrap long lines, Line numbers, which viewer each extension gets, PDF viewer (built in or the browser's), Diagram colours (auto, colourful, forest, flat), and How a PDF opens (whole page, page width, as it comes). |
| Interruptions | the sound, Notifications on screen (on; off keeps only failures), How long they stay (3 s by default, 5, 10, 20, by their length, until I close them), Desktop notifications (over HTTPS only), Let your agents ring (wires their hooks), and The Argus plugin in Claude Code / Codex β installed or not, which version, Install / Update, the sessions still on an older plugin and Reload in N waiting. |
| Agents | a box per action an agent may request β start, continue, pause, stop, reset or restart a team, end or rename a session, start an agent with no questions, remove a worktree, delete a to-do. Ticked, an agent's request is done at once; unticked, you get Do it / No. The risky ones are marked. See What an agent can do. |
| Placeholders | How a placeholder is written ({{ }}, { } or @{ }), whether typing one in a session expands it, whether a prompt may take a value from another set, Pause before the Enter (500 ms by default, 0β3000), Press Enter twice, and Ask before sending one with a hole in it. |
| Sessions | Key bar under a session (when there is no keyboard β the default β, always, never), Let your agents say where they are (which folder), and Search the web with β what Search uses when you select text in a session (Google by default). |
| Devices | a token per device: Add a device, Rename, when each was last used, and revoking one on its own. Managed only with the token from the config β a device's own token sees the list's heading and a line saying so. |
| This copy | the version and whether a newer one exists (Alt+V says the same, with the commit and the plugin in each agent). About Argus (the repository, the documentation, the site) follows it. At the bottom of the page: the roots, the resize policy, the preview limit, whether files may be changed, and Forget token on this device (sign out). |
The pause before the Enter
A prompt is written into the session and the return follows it as a separate write, a moment later. That gap is the setting, and it exists because an input box does not read lines, it reads writes: a box that gathers a paste takes everything arriving in one read as part of the paste, so a return sent along with the text lands in the box and the prompt sits there, complete and unsent.
Half a second suits every agent tried here. Nothing is lost by making it longer β the text is already in front of the agent β and Press Enter twice is there as a last resort for a box that still will not take it. It is off, and worth leaving off: a return pressed a second time is also a return pressed on whatever dialog the first one opened.
The key bar under a session
Esc, Tab, the arrows and the control codes a touch keyboard cannot send. The device decides by default β a coarse pointer gets it, a mouse does not β and the two other settings are for what a media query cannot see: a laptop with a touchscreen you drive with the trackpad, and a tablet with a keyboard on it.
Letting your agents say where they are
The same bargain as the bell, for a different fact: it writes a status line hook into Claude Code's own configuration, and from then on every turn tells Argus which folder that agent considers current. Only Claude Code can β Codex has no equivalent and is listed as unable rather than offered a switch that does nothing. See Claude, Codex, Gemini compared.
How often System reads
/api/system every four seconds while the screen is in front of you, and nothing at all
while the tab is in the background. The row over the readings β 4s Β· 15s Β· 1m Β· 5m Β·
manual β is remembered, with a button to read again and how old the reading is, which
matters most on manual, where that line is the only thing telling you the age of the
numbers you are looking at.
Emptying the journal
On the Journal screen: Clearβ¦, with a choice of how much: everything, or only what is older than a day, two days, or a week. It says how many entries went. The journal is what tells you whether anybody has been in, so it is not emptied on a schedule; it only trims itself to the last 5,000 entries once it passes 7,000 β see Security.
Which PDF viewer
Argus draws PDFs itself, with pdf.js, and that is what makes the page you left off at come back, page width survive a reload, and finding text work at all β a browser's own viewer answers "loaded" and then says nothing while you scroll, and silently ignores half the parameters you give it.
It is not free: it draws every page. On a long document, on a slow phone, the browser's own viewer is faster, and some people simply prefer it. So it is a choice β Documents β PDF viewer. The browser's gets the fit you asked for and the page you had reached, which is as much as it will take.
Adding a language
A catalogue is a JSON object with its code (de, pt-br), its name, and strings β a flat
map whose keys are the English strings:
{
"code": "de",
"name": "Deutsch",
"strings": { "Settings": "Einstellungen", "Files": "Dateien" }
}
Translating it needs no tooling and no knowledge of the code, a missing entry falls back to
English rather than showing a blank, and the source keeps saying what it means. Import it
from Settings β Language (which also takes a bare {english: translation} map, and offers
Download this catalogue to translate), or drop the file into the lang/ folder beside the config
(~/.config/argus/lang/ by default) named after its code β de.json β or it is listed but cannot
load. A file you add
wins over a built-in with the same code, which is how you fix a translation you disagree
with.