Expand description
Sioul’s core: what Sioul knows and decides, the same for every interface.
Everything the interface shows is decided here, so that the command line,
the Qt interface and AI agents all see the same Porch. The interface holds
no logic of its own (docs/architecture.md). The core reads and writes plain
files (Maildir, vdir, TOML, Markdown) and never uses the network: talking
to servers is the work of sioul-sync.
Sioul has five crates, all in the repository’s crates/ folder:
- sioul-core, this one: the library at the centre.
- sioul-sync: what talks to the world: mail servers, calendars and contacts, the keyring, sharing between devices.
- sioul (
crates/sioul-cli): the command line, andsioul mcp, the server for AI agents. - sioul-app: the window’s Rust side, under its QML pages.
- sioul-learn: the spam filter’s training, on computers only (docs/spam-filter.md).
§Where to start reading
- How new mail is judged:
porch::triagetakes acard::Card, what is known of one message before it is opened, and gives it a lane and the reasons for it (porch::Triaged). - What the window shows:
viewandtaskview. Their functions return plain data, every sentence already in your language; the window receives it as JSON and only lays it out.view::porchmakes the Porch. - Tasks and the plan:
tasksreads and writes the task files;plan::planworks out the plan from them each time it is asked. - Words: every sentence goes through
i18n::Translator, from the Fluent files incrates/sioul-core/locales/(docs/i18n.md). - Settings:
config::Config, the configuration file.
Names such as docs/porch.md are the design notes in the repository’s
docs/ folder. The website shows them too, under the same name:
https://aurelienpierre.github.io/sioul/dev/porch.html.
§Modules, by theme
Each module is one file of crates/sioul-core/src/: porch is
porch.rs.
§What the window shows
view: the Porch, mail, budgets, accounts, the agenda and contacts, as plain data.taskview: the task pages in words: the next step and why, the board, the list, the timeline.dayview: the day, seen: today’s events and the plan’s steps laid into your hours.
§The Porch: new mail, checked and sorted
porch: where new mail waits, checked and sorted into lanes, until you look.card: what the Porch knows about one message before you open it.state: what the Porch remembers between windows: where you closed it.trust: who really sent a message, from what the servers recorded.lookalike: senders who borrow a name.codes: one-time codes, password resets, sign-in links and addresses to confirm.payments: mail about money: a payment made or received, a bill, an order, a refund.shield: the shield of a public address: its mail read first, its tone and topic.rules: the vocabulary of sorting: what a rule may propose.text: text helpers shared by the detectors.words: the words the detectors look for: shipped packs by language and country, and your changes.reach: who reaches you, on which channel, and the clock that says what time it is, ahead.attention: what reaches you, and when: one matrix of who and what by time, its pipeline, its words.mailnote: new mail as a notification, at the times it may come.letters: paper letters: a scan read by OCR, understood, and shown as a card.voicemail: voicemail that the phone operator sends by mail.spam: Sioul’s own spam filter, as every device runs it (docs/spam-filter.md); its training is in sioul-learn.
§Mail: on disk, read and written
maildir: messages on disk: a Maildir, or a plain folder of.emlfiles.headers: the raw header block, unfolded.mailindex: messages by their Message-ID, to followmid:links.mailsearch: searching the mail by conditions, here and on the servers.folders: mail folders: what each is for, its name as you read it, where it is kept.threads: conversations, tied by Message-ID, never by subject alone.reading: a message laid out for reading: its text, what it quotes, what it forwards.compose: writing: Markdown in, mail out.mailto:mailto:addresses: the message a link asks to write.handed: files, text andmailto:links other applications hand Sioul: each a draft.pgp: OpenPGP for mail, with Sequoia.securitykey: your OpenPGP keys on a security key (a YubiKey): signing and opening there, its certificate checked.unsubscribe: leaving a mailing list in one click: when it may be done.
§Tasks, projects, notes and links
tasks: to-dos (VTODO) in CalDAV task lists, one per file, and what ties them to the rest.plan: the plan: what can start, the one next step, when each task could happen.capture: quick capture: one line typed, a task made.blocks: time blocks: a task pinned to a time, as an event in a calendar.demands: what a task or an event asks of you, and what it gives back.capacity: what a day can hold, learned from your own days.routines: routines: timed steps played one at a time.stopped: where you stopped: one line kept when something interrupts you.today: today’s own choices: how the day is, the steps put off for today.projects: projects, every matter you follow, and the file in your notes folder that names them.projectview: a project on one page: everything dated in it.github: GitHub’s issues and pull requests that are yours, as tasks.notes: a folder of Markdown files, read the way Obsidian reads a vault.links: links between everything: mail, tasks, events, contacts, notes, budget lines.
§Time and money
timelog: time spent on tasks, and the focus session running now.ids: the ids given to money lines, splits, presets and sessions when they are made, by which your devices merge them.timereport: time spent, as the Time page and a project’s page show it.invoice: invoices for work done for someone, from a project’s billable time.budget: budgets, reserves, and the lines between them.accounts: bank accounts, and the budgets each movement goes to.bank: the money watch: the bank’s exports held against the recurring payments.money: exact amounts, and the amounts written in mail.contracts: contracts and subscriptions: when each renews, how to stop it.papers: the papers wallet: the papers asked again and again, and when each ends.
§Hours, pauses and reminders
areas: what things are for (work, your admin, leisure), and which time is for what.window: working hours: the days and hours work can reach you.quiet: the time now (work, admin, a meal, sleep, leisure), and what comes then.needs: the day’s needs, set first: meals, naps and night sleep.pause: the two pauses: Free time, and Paused.everywhere: do-not-disturb on every device.reminders: reminders before dates: one quiet notification for each.reviews: how each day went, as you said it.sounds: sounds to rest by or to focus with, all made here.
§Health
health: prescriptions, medicines and when to take them, pauses to move, a limit on chats.doses: each dose that fell due, as a record your devices share.
§Contacts and calendars
contacts: contacts, one vCard per person.agenda: calendars: events from iCalendar files, repeating ones expanded.vdir: address books and calendars on disk: one folder per collection, one file per item.lines: content lines, the text format that vCard and iCalendar share.phones: phone numbers, compared rather than rewritten.places: where postal addresses are, to show contacts on a map.duplicates: duplicates in the address books, found and cleaned when you ask.overlaps: two events at once.capabilities: what each kind of server keeps of a task or a contact.
§On a phone
calls: calls screened on a phone.appnotes: other apps’ notifications on a phone: shown now, or held until their time.
§Settings, words and files
config: the configuration file: accounts, working hours, the notes folder.settings: settings, shown where they apply, and written into the configuration.i18n: every sentence Sioul shows, in your language.sites: sites kept open in Sioul (a bank’s secure mailbox, a chat), and what they notified.presets: sites people commonly keep, offered when adding one.weather: the weather at a place you chose, for the status line.filelock: one writer at a time on a file that two parts of Sioul change.
Modules§
- accounts
- Bank accounts and budgets (docs/accounting.md, “Bank accounts”). Where money is (a current account, PayPal, Stripe) and what it is for (the budgets) are two things: each movement an account’s exports bring goes to a budget, in parts between budgets, with a reserve, or to none (money moved between your own accounts). By your hand for that movement; else the same payment as a line the budgets hold already (from mail), counted there once; else money moved to or from PayPal or Stripe, when their own exports cover the day; else the first rule that names it (or, without words, every movement its way); else the recurring payment it stands for; else the account’s first budget. A card payment of daily life is spent from its budget’s estimate (food, clothes), never added on top of it. Reserves top the accounts up, in your order, each with its own delay.
- agenda
- Calendars: events from iCalendar files (RFC 5545), one event and its exceptions per file as CalDAV keeps them (RFC 4791 §4.1).
- appnotes
- Other apps’ notifications on a phone (docs/android.md, “Notifications from other apps”; research: docs/research/android-chats.md, 7 and 8). Android hands Sioul’s listener every notification the person lets it see; Sioul decides, notification by notification, whether it comes now or waits, and Android holds it (it is snoozed: Android brings it back at its time, whole, with its own tap and actions; Sioul never cancels one).
- areas
- What things are for, and which time is for what (docs/areas.md).
- attention
- What reaches you, and when: one model for everything Sioul shows, tells, holds or silences (docs/attention.md). Sioul spends one thing four ways, your attention: what it shows (the Porch, the pages), what it tells (its own notifications), what it holds of the system’s (other apps’ notifications, calls), and what it silences (the system’s do-not-disturb).
- bank
- The money watch (docs/accounting.md, “The bank”): your bank’s own export
(OFX, CAMT.053, or its CSV) read into
sioul-bank.toml, then held against the recurring payments of your budgets. Nobody looks when it goes badly (the ostrich effect, Olafsson & Pagel 2017), and a debit that stops does not say so: Sioul notices, and says it calmly and early. - blocks
- Time blocks: a task pinned to a time is an event in a calendar, tied to the task both ways (docs/tasks.md, “Pinned to a time”). An event shows in every calendar application, a phone’s too, and moves there like any other; a line of the task’s own would be Sioul’s alone, and a time on the task’s start breaks when its date asked is a date (RFC 5545 §3.8.2.3: servers that check, Sabre for Nextcloud, refuse the task).
- budget
- Budgets, reserves, and the lines between them.
- build
- The build behind this Sioul (docs/building.md, “Which build”): its version
and the commit it was built from, said in
sioul --version, in Settings, in this device’s entry among your devices and in its records, so that what each device wrote can be traced to the code that wrote it. - calls
- Calls screened on a phone (docs/android.md, “Calls”; docs/research/call-screening.md, section 8).
- capabilities
- What each kind of server keeps, so that moving a task or a contact never loses something silently, and so that what a server cannot do shows greyed with its reason rather than hidden (docs/google.md).
- capacity
- What a day can hold, learned from your own days (docs/capacity.md).
- capture
- Quick capture: one line typed, a task made. What the line says besides the title is shown as chips before the task is made, so nothing is misread silently (docs/tasks.md).
- card
- A card: what the Porch knows about one message before you open it.
- codes
- One-time codes, passwords, password resets, sign-in links and addresses to confirm, sent by mail.
- compose
- Writing: Markdown in, mail out.
- config
- The configuration file: accounts, admin windows, the notes folder.
- consent
- Consent per project: what of yours an AI agent connected with
sioul mcpmay read, and write into (docs/ai.md, “Consent per project”; docs/mcp.md). - contacts
- Contacts: one vCard per person (RFC 6350; 3.0 from RFC 2426 too), as the
address books on disk hold them (
vdir). - contracts
- Contracts and subscriptions (docs/accounting.md, “Contracts”): what you are bound to (rent, energy, phone, insurances, hosting, subscriptions), when each renews, the notice it needs, how to stop it, what it covers. Found from the recurring payments of your budgets and from mail; a reminder comes before the last day to send a notice; “Cancel” opens the provider’s own cancel page (in France a three-click button is required online since June 2023, loi 2022-1158) or drafts the letter. Facts about your contracts, never offers.
- dayview
- The day, seen (docs/tasks.md, “The day”): today’s events at their times, and the steps the plan gives today laid into your hours, each into hours of its own kind (work, admin), a pause between them and around the events; a line where now is. A step up to an hour is never cut; a longer one goes on after a break; one with margins never (going there twice is not the same step). Visual supports cut transition time (Dettmer et al. 2000); the current step is shown inside the whole day, with what comes next (Brili, Tiimo). A layout to look at, never a schedule to keep: nothing is written into the tasks, and a step that runs over only moves the next ones.
- demands
- What a task or an event asks of you, and what it gives back (docs/tasks.md,
“What it asks, what it gives”; docs/capacity.md). Margins before and after
it: getting there, getting ready, coming back; kept free in the plan, never
counted as a pause. Rated by you from 0 to 10: what it costs, cognitively,
emotionally, in anxiety, and to the body and senses (physical effort,
standing, noise, crowds); and what it gives back to your well-being.
Written in the task’s or the event’s own file (
X-SIOUL-BEFORE,X-SIOUL-AFTER,X-SIOUL-COST,X-SIOUL-GAIN), so that it travels with it and other programs keep it. - doses
- Each dose that fell due, as a record your devices share (docs/health.md,
“Doses as records”):
$XDG_STATE_HOME/sioul/health-doses.toml, in the sharing’s health part. - duplicates
- Duplicates in the address books, looked for and cleaned only when you ask: a number or an address written twice on one card, and two cards that may be one person. Nothing changes without your click, and every change keeps the cards as they were, to put them back.
- everywhere
- Do-not-disturb on every device (docs/do-not-disturb.md): why it holds now, the switch pressed on any device, and the people who may reach you then.
- filelock
- One writer at a time on a file that two parts of Sioul change: the window
marks a dose in the doses’ record while the sharing writes in it what your
other devices marked. One writing an older copy over the other would lose a
dose taken, and the sharing would then take it out on every device. An
advisory lock on a hidden file beside it (
.<name>.lock, which the sharing never carries), held while the file is read, changed and written. - folders
- Mail folders: what each is for, its name as you read it, and where it is kept on disk.
- github
- GitHub, for those who work there; off unless asked in the task settings (docs/github.md). Issues and pull requests that are yours (assigned to you, your review asked; what you opened or where you are mentioned when you ask for it) become tasks in a local list, “GitHub”, never sent anywhere. GitHub’s notification mail is tied to its task.
- handed
- What other applications hand Sioul to write: files and text shared to it
(Android’s share sheet, or one of your addresses straight from it), a
mailto:link (Android, or the computer’s mail program). Each becomes a draft, its window opened; nothing is sent until you press Send (docs/client.md, “Writing from other applications”). - headers
- The raw header block, unfolded (RFC 5322 §2.2.3).
- health
- Health and well-being: prescriptions, when to fetch their medicines and when to renew them; medicines and when to take them; a pause to move during long focus; a daily limit on chats. Sent nowhere, except sealed to your other devices when you share with them (docs/database.md).
- i18n
- Every sentence Sioul shows, in your language.
- ids
- Ids given to what is made (docs/database.md, “The format of what
travels”): a money line, a split, a preset, a time session. Your devices
merge each by its id (
sioul_sync::share, format 2), so that two the same stay two, and one changed on two devices stays one. - invoice
- Invoices for work done for someone. One is made from a project’s billable
time not billed yet: a line per task (or per note, for time noted without
a task), its hours at the project’s rate. Numbers follow each other
within a year (“2026-001”, “2026-002”), as French law asks, and are never
reused. Each invoice is kept as a record
(
$XDG_DATA_HOME/sioul/invoices/<number>.toml); the time it bills carries its number, so it is never billed twice; the window prints it to PDF, with the date or period of the service (the billed sessions’ first and last days), which French law asks for (service-public.gouv.fr, sheet F31808). - letters
- Paper letters (docs/porch.md, “Paper letters”): a scan, a phone photo or a
PDF dropped in a folder (by you, or a helper who opens the post), read by
OCR, then understood by rules (the
lettersword lists, docs/words.md): who sent it, what it is, the amount, and the date by which something is asked, as a date, legal delays included (“dans un délai de deux mois à compter de la notification”). It waits outside like mail, and comes as a card in the Porch’s window, with a task for its date and its scan filed. The envelope stays outside; the date is computed once. - lines
- Content lines, the text format vCard (RFC 6350 §3) and iCalendar (RFC 5545
§3.1) share:
NAME;PARAM=VALUE:value, folded at 75 octets. - links
- Links between everything: mail, tasks, events, contacts, notes, drafts, budget lines and projects.
- lookalike
- Senders who borrow a name: “lnfos PrimeVlDEO info@unrelated.example”.
- maildir
- Messages on disk: a Maildir (
new/andcur/), or a plain folder of.emlfiles. - mailindex
- Messages by their Message-ID, to follow
mid:links (RFC 2392) from a task, a note or a budget line to the message itself. - mailnote
- New mail as a notification, at the times it may come (docs/porch.md, “Notifications”). The Porch keeps mail until you look; what your lists let through now is also told, once per batch, never once per message: the count in words and the first senders with their subjects. Batched notifications helped attention and mood where none at all made people more anxious (Fitz et al. 2019): what helps is predictability, not silence.
- mailsearch
- Searching the mail by conditions (docs/client.md, “Searching”).
- mailto
mailto:addresses (RFC 6068): the message a link, or another application, asks to write. Recipients (the part before “?”, andto,cc,bcc),subject,body, andIn-Reply-Tofor the message it answers. Nothing else is read: above all noattachorattachment, which some programs take and which would let a web page name one of your files, norfrom. Nothing here sends anything: the address only fills a draft (docs/client.md, “Writing from other applications”).- money
- Money: exact amounts, and the amounts written in mail.
- needs
- The day’s needs, set first: meals, naps and night sleep (docs/health.md,
“Meals, rest and sleep”). Their times are kept free: the plan lays no task
in them (
plan::Settings::with_needs), the day shows meals and naps, and two notices come for each, at most: a heads-up about the work a quarter of an hour before (“No new big task”), then one at the time. Any day can differ from the usual one: a block moved, its times changed, quiet, taken out, or one added for that day only (Days, shared with your devices). Nothing about eating or sleeping is recorded, and nothing is said when one passes. - notes
- Notes: a folder of Markdown files, read the way Obsidian reads a vault.
- overlaps
- Two events at once (docs/client.md, “Calendars”): found among
the coming days’ events, the time kept before and after each counted
(
demands::Margins): going from one to the other takes time too. Said on the Porch for today and above the agenda, until set aside for good; an event moved is a new question. - papers
- The papers wallet (docs/papers.md): the papers asked again and again (an identity card, the last tax notice, bank details, rent receipts, an attestation), each with its file and how long it holds; a reminder before one ends, early enough to renew it (a passport takes weeks, the complémentaire santé solidaire does not renew by itself).
- pause
- The two pauses (docs/pauses.md): Free time (« Temps libre »), taken for a good moment, and Paused (« En pause »), for a moment that overwhelms.
- payments
- Mail about money: a payment made or received, a bill, an order, a refund.
- pgp
- OpenPGP (RFC 9580) for mail, with Sequoia and its pure-Rust cryptography.
- phonemsgs
- The phone’s messages on your computers (docs/android.md, “Messages on your computers”; docs/database.md, “The phone’s messages”; docs/porch.md, “From your phone”; research: docs/research/sms.md, phase a).
- phones
- Phone numbers, compared rather than rewritten: “04 65 71 12 34”, “04.65.71.12.34”, “+33 4 65 71 12 34”, “+33 (0)4 65 71 12 34” and “0033465711234” are one number, written five ways. Each number gets a key, its international form (E.164, ITU-T) with its extension, and two numbers with one key are the same; what the card says stays as it was written.
- places
- Where postal addresses are, to show contacts on a map. An address is asked
once, when you allow it, of OpenStreetMap’s geocoder; the answer (or that
there is none) is kept here (
$XDG_CACHE_HOME/sioul/places.toml), so an address leaves this computer once at most. - plan
- The plan: what can start, the one next step, and when each task could happen. It is computed from the tasks each time, never stored, so it always starts from today (docs/tasks.md).
- porch
- The Porch: where new mail waits, checked and sorted, until you look.
- presets
- Sites people commonly keep, offered when adding one (docs/sites.md,
“Presets”): per country, per state or province where it matters, and for
everyone (chats, video calls, social networks, dating). Each says its type
(how it behaves) and the categories it comes with (what it is about). A plain JSON file anyone can update
without building Sioul (
presets/sites.json;tools/check-presets.pychecks every address): the newest, by itscheckeddate, of the copy built in, one in$XDG_DATA_DIRS/sioul/presets/, and yours in$XDG_DATA_HOME/sioul/presets/. - projects
- Projects: every matter you follow, in one list.
- projectview
- A project on one page: everything dated in it on one line of time (tasks asked and done, events, mail, notes changed, time noted, invoices), what is coming first, then what happened, newest first. Mail belongs to it by its routes or by a link; the rest by its project (REFID) or a link.
- quiet
- The time now, and what comes then (docs/areas.md). Five times: work and
admin, the hours you set; meals and sleep, from Health; and leisure,
every other time: evenings, days without hours, time off, a day closed
early. Sleep first, then meals, then the hours. Two overrides, each until
a time, kept in
$XDG_STATE_HOME/sioul/quiet.toml: working late keeps work in view; done for the day brings leisure early, until work comes back. Outside work, work rests (quiet time); during sleep nothing disturbs, as usual: no notification but the doses you asked for. Two pauses come above them (docs/pauses.md,pause): the pause holds everything, whatever the time; Free time is leisure whatever the hour, sleep first, and may move the end of today’s work later. - reach
- Who reaches you, on which channel (docs/porch.md, “Who may reach you, and when”), and the clock that says what time it is, ahead.
- reading
- A message laid out for reading: who wrote to whom, the attachments apart, and the text cut into what this message says, the messages it quotes, the headers of the messages it forwards, and the signature.
- reminders
- Reminders before dates (docs/reminders.md): remembering “on the 30th” is what fails most, in ADHD and in autism alike, and reminders work where memory is the bottleneck (Landsiedel et al. 2017; Altgassen et al. 2014; Jamieson et al. 2014). One quiet notification per date, never repeated:
- reviews
- How each day went, as you said it (docs/reviews.md): the morning’s
weather, the review at the end of the work day (“Done for today”) and the
one before sleep, each with how the day felt, its mix and a note, every
answer optional. Kept readable in
$XDG_DATA_HOME/sioul/reviews/YYYY-MM.toml, one table per date, and shared with the sharing’s “time” part, with the plan’s other files: every device learns the same. - routines
- Routines (docs/tasks.md, “Routines”): a sequence of timed steps played one
at a time, the next one said before it comes, so nothing is decided while
doing (Routinery). Moving on when a step’s time is up is each routine’s
choice: it helps some and pressures others. Skipping costs nothing and is
never counted. Kept in the configuration (
[[routine]]), so they travel with your settings. - rules
- Mail filters: what a message shows, and what is then done to it on its server (docs/client.md, “Filters”).
- securitykey
- Your OpenPGP keys on a security key: an OpenPGP card, such as a YubiKey or a Nitrokey (OpenPGP card specification 3.4).
- settings
- Settings, shown where they apply. Each page has its own few, behind one
small button, each with a sentence saying what it changes; there is no long
preferences window (docs/client.md, “Calm first”). What is set here is
written to the configuration file in place, its comments kept
(
config::set_value), or to the senders’ lists. - shield
- The shield of a public address. A contact address brings work, and also insults; its mail is read first, here, before you see any of it:
- sites
- Sites kept open in Sioul: secure mailboxes (a bank’s, a hospital’s, the
tax office’s), chats, a dating site. Each is a portal account; this module
says what each is, which mail announces it, and keeps what they notified,
to be shown at your pace (
$XDG_STATE_HOME/sioul/site-notices.toml): a site’s notification is always accepted, then waits, unless the site is in real time. - sounds
- Sounds to rest by or to focus with (docs/sounds.md), all made here, nothing downloaded, nothing to license, each looping without a seam (its end faded into its start):
- spam
- Sioul’s own spam filter, the part every device runs
(docs/spam-filter.md): the tokenizer (
tokenize), the header features (features), the reduced table that scores both (table), the label log and the log of what the filter moved (labels), and the filter as the Porch asks it (Filter). The training, on one computer, by hand, is thesioul-learncrate’s; it writes the table withtable::Table::write, and shares these functions with the phone, so that both read a message the same way. - state
- What the Porch remembers between windows: where you closed it.
- stopped
- Where you stopped: one line left when something interrupts you (a pause to
move, a meal, a nap, the night, the end of the day, a timer stopped),
shown again when you come back, on the Porch, the Tasks page and the focus
window, until you say it is done. Stopping then costs no fear of
forgetting where you were (interruption research: a cue to resume cuts the
time to get back into a task, Trafton et al. 2003; Leroy & Glomb 2018).
One line, kept in
$XDG_STATE_HOME/sioul/stopped.toml, carried to your other devices with the sharing. - tasks
- Tasks: to-dos (VTODO, RFC 5545 §3.6.2) in CalDAV task lists, one per file, with what ties them to the rest (RFC 9253, “iCalendar Relationships”):
- taskview
- What the task pages show, in words: the next step and why, the board, the list, the timeline, one task in full. The core decides and words it; the window only lays it out (docs/architecture.md).
- text
- Text helpers shared by the detectors.
- textdraft
- A text drafted by an AI agent (
sioul mcp,draft_text; docs/mcp.md, “Texts”): it waits in the Texts page, in its conversation, until you use it (its words go in the box, and sending stays your Send) or discard it. Never sent: a draft is no request (texts::Request), and nothing reads this file to send. - texts
- Texts on your computers, read and sent through your phone, without Sioul being the phone’s SMS app (docs/texts.md; research: docs/research/sms.md, phase b). The phone’s SMS app stays the record: a fault of Sioul’s can delay a text on the computer, never lose one on the phone.
- threads
- Conversations: messages tied by their Message-ID and the ids they answer or cite (In-Reply-To, References; RFC 5322 §3.6.4), never by subject alone, which would join strangers who both wrote “Hello”. A message tied to another through a third is in the same conversation.
- timelog
- Time spent on tasks, and the focus session running now.
- timereport
- Time spent, as the Time page and a project’s page show it: a bar per day (per month over a year), the hours of each project, and for work done for someone, what is left to bill. A session counts for its own project when it names one, else for its task’s project for a client, else its task’s first project.
- today
- Today’s own choices: how the day is, and the steps put off for today.
- trust
- Who really sent a message, from what the servers recorded.
- unsubscribe
- Leaving a mailing list in one click (docs/client.md, “Unsubscribing”).
- vdir
- Address books and calendars on disk, as vdir: one folder per collection,
one file per contact (
.vcf) or per event (.ics), the collection’s name and colour in the filesdisplaynameandcolor. pimsync, vdirsyncer, khal and khard read the same folders (https://vdirsyncer.pimutils.org/en/stable/vdir.html). - view
- What the window shows, as plain data: every sentence already translated, nothing left to decide.
- voicemail
- Voicemail the operator sends by e-mail (docs/android.md, “Calls”;
docs/research/call-screening.md, 5.4). Some operators, set to, mail each
message left on your voicemail: the caller’s number, the date and the
length of the message, and the sound as an attachment (research 5.4
quotes one operator’s help pages). Their exact words, senders and file
names are not published: read tolerantly. Only the operators’ domains you
name are read (
words::VoicemailWords::operators; none in the packs, so nothing is read until you name yours), with the words of the languages in use. A message is one when it comes from those domains and either carries a sound, or says voicemail with a caller (or a hidden one) and a length; the caller’s number, when the message was left and how long it lasts are read from its subject and text, the time from its Date when the text gives none. - weather
- The weather at a place you chose, for a small applet in the status line:
now, the next four hours one by one, then mornings, afternoons, evenings
and nights; and for the phone’s card on the home screen (
card,days): the hour under way, the next four, the next four parts of the day, then the next seven days. From Open-Meteo (no key; data CC BY 4.0, credited where shown: https://open-meteo.com/en/licence), in monochrome icons. - window
- Working hours: the days and hours work can reach you, each day on or off,
from a start to an end. Mail keeps arriving in the background; the Porch
shows it only in these hours and always says when they open again; outside
them, quiet time (
quiet.rs). Predictable looks, not silence: in a field trial, people given no notifications at all felt more anxious, while batching them three times a day helped (Fitz et al. 2019; docs/research.md). The same rows say when offices are open, for tasks that need one. - words
- The words Sioul looks for (docs/words.md): every list a recogniser matches text against (one-time codes, bills, letters, folders, brands, the spam filter’s tokenizer…), out of the code and into data that you can change.