mesh/merge-gate head c4b4bac757c5 merged into trunk 0863ec2a059d — pass: builds betterbird, sent nowhere; no bus step; 1 wait(s) for a person; every machin…
mesh/repo-check head c4b4bac757c5 merged into trunk 0863ec2a059d — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered
Betterbird keeps the active theme in its add-on database, and extensions.activeThemeID only mirrors it. So clearing the preference changed nothing, and the drift report then hid that. The theme is now read from extensions.json against default-theme@mozilla.org. Another theme is drift, and its remedy is the add-on manager: config_apply never clears it and keep refuses it. A credential's, an account's or a server's name in the defaults file is refused by code: it is never answered or cleared, and the check names it. Apply also refuses while the profile's lock is there, and syncs prefs.js before the rename. A saved default of a built-in preference is no longer drift.
86 lines
4.3 KiB
JavaScript
86 lines
4.3 KiB
JavaScript
// Written by the mesh (module betterbird, novox/hq issue 345): the operator's setup of Betterbird, taken from
|
|
// the laptop's profile and approved by the operator on 2026-10-12. Betterbird reads this file at its start as
|
|
// a default: a value the profile saved in its prefs.js (a choice made in Betterbird's settings window) wins
|
|
// over it, a node's layer of the setting prefs (user.js) wins over both, and the policy's locks
|
|
// (distribution/policies.json) win over everything. betterbird_config shows the layers and the drift;
|
|
// betterbird_config_apply brings a profile back to these values. Change it in the catalogue, never here.
|
|
//
|
|
// A line "keeps Betterbird's default" names a preference the module manages without writing a value: the
|
|
// operator's setup is Betterbird's own default there, and a value the profile saved is drift.
|
|
|
|
// --- Theme and display ---
|
|
|
|
// keeps Betterbird's default: extensions.activeThemeID
|
|
// The default theme (default-theme@mozilla.org) follows the desktop's dark mode; compactness comes from
|
|
// mail.uidensity, not a theme. Betterbird keeps the active theme in its add-on database, so another theme is
|
|
// changed back in the add-on manager, never by clearing prefs.js.
|
|
// keeps Betterbird's default: browser.display.use_system_colors
|
|
// Betterbird's own colours, which the default theme is drawn for.
|
|
// keeps Betterbird's default: layout.css.always_underline_links
|
|
// Links are underlined only where the message's own style says so.
|
|
|
|
// Compact density: more of the message list fits on a laptop screen (Betterbird's default is 1, normal).
|
|
pref("mail.uidensity", 0);
|
|
// 14-point interface text, the operator's choice; a larger desk screen sets its own size in a node layer.
|
|
pref("mail.uifontsize", 14);
|
|
// Message bodies are shown as their sender wrote them, not darkened.
|
|
pref("mail.dark-reader.enabled", false);
|
|
|
|
// --- Layout ---
|
|
|
|
// Vertical view: folders, the message list and the message side by side (Betterbird's default is 0, classic).
|
|
pref("mail.pane_config.dynamic", 2);
|
|
// Each row of the message list on several lines, so sender, subject and date all show in the narrow column.
|
|
pref("mail.pane_config.multiline_all", true);
|
|
// The message list as cards (Betterbird's default is 1, the table).
|
|
pref("mail.threadpane.listview", 0);
|
|
// Threads grouped in every folder by default (Betterbird's default is 0, unthreaded).
|
|
pref("mailnews.default_view_flags", 1);
|
|
|
|
// --- Mail handling and compose ---
|
|
|
|
// No confirmation before Shift+Delete removes a message for good.
|
|
pref("mail.warn_on_shift_delete", false);
|
|
// keeps Betterbird's default: mail.spam.manualMark
|
|
// Marking a message as junk by hand does nothing more than mark it.
|
|
// keeps Betterbird's default: mail.compose.show_attachment_pane
|
|
// The composer shows its attachment pane only when a message has attachments.
|
|
|
|
// --- Notifications ---
|
|
|
|
// No pop-up for new mail: the operator reads mail when they choose to.
|
|
pref("mail.biff.show_alert", false);
|
|
// No sound for new mail.
|
|
pref("mail.biff.play_sound", false);
|
|
// No tray icon for new mail.
|
|
pref("mail.biff.show_tray_icon", false);
|
|
// If a node's layer turns alerts back on, they go through the desktop's notification daemon.
|
|
pref("mail.biff.use_system_alert", true);
|
|
|
|
// --- Calendar ---
|
|
|
|
// The calendar's working day starts at 09:00 (Betterbird's default is 08:00).
|
|
pref("calendar.view.daystarthour", 9);
|
|
// and ends at 20:00 (Betterbird's default is 17:00).
|
|
pref("calendar.view.dayendhour", 20);
|
|
// A calendar item is deleted without asking.
|
|
pref("calendar.item.promptDelete", false);
|
|
// The calendar follows the node's time zone, because the laptop travels.
|
|
pref("calendar.timezone.useSystemTimezone", true);
|
|
// Reminders show in their window (Betterbird's default, made explicit: the reminder is why this module exists).
|
|
pref("calendar.alarms.show", true);
|
|
// Reminders missed while the laptop slept show at the next start (Betterbird's default is false).
|
|
pref("calendar.alarms.showmissed", true);
|
|
|
|
// --- Chat ---
|
|
|
|
// No chat button: the operator uses no chat account in Betterbird (Betterbird's default is true).
|
|
pref("mail.chat.enabled", false);
|
|
|
|
// --- Privacy ---
|
|
|
|
// No remote content in a message unless its sender is allowed (Betterbird's default, made explicit).
|
|
pref("mailnews.message_display.disable_remote_image", true);
|
|
// Ask sites not to track. A default only: the policy cannot lock a privacy. preference.
|
|
pref("privacy.donottrackheader.enabled", true);
|