Skeudenn / shared/settings / AppSettings
Interface: AppSettings ​
Defined in: src/shared/settings.ts:155
Preferences, persisted key by key (see SettingsRepository): per user in the user_settings table, except the SHARED_SETTINGS, which every user shares in the settings table.
Properties ​
achievementsEnabled ​
achievementsEnabled:
boolean
Defined in: src/shared/settings.ts:229
Whether the achievements exist: off, the sidebar has no "Accomplissements" entry, /achievements redirects to the library and nothing is earned or announced. Those already earned are kept, and the ones justified meanwhile are earned when it is turned back on.
addOpenedBooksToLibrary ​
addOpenedBooksToLibrary:
boolean
Defined in: src/shared/settings.ts:166
Whether opening a book adds it to the library when it isn't there yet. Off, a book that isn't in the library is read anonymously: nothing is saved, and it reopens from its first page.
askUserOnStartup ​
askUserOnStartup:
boolean
Defined in: src/shared/settings.ts:218
Whether the app starts on a screen where the user picks who is reading. Personal: it is read for the user the app reopens on (the last active one), and the screen's "don't ask again" box turns it off for that user only.
backupIntervalDays ​
backupIntervalDays:
number
Defined in: src/shared/settings.ts:233
Days between two automatic copies of the database (1 to MAX_BACKUP_INTERVAL_DAYS); 0 turns them off.
backupKeep ​
backupKeep:
number
Defined in: src/shared/settings.ts:235
How many copies of the database are kept (1 to MAX_BACKUP_KEEP); the oldest ones are deleted.
bedethequeSearchByDefault ​
bedethequeSearchByDefault:
boolean
Defined in: src/shared/settings.ts:210
Whether the lookup dialog's Bédéthèque box (search of the series on the site) starts ticked. Bédéthèque has no API, so it is off by default; the box is always offered and can be ticked for one search.
checkUpdatesOnStartup ​
checkUpdatesOnStartup:
boolean
Defined in: src/shared/settings.ts:231
Whether the app asks GitHub at every start if a newer release exists, and offers to download it.
comicVineApiKey ​
comicVineApiKey:
string
Defined in: src/shared/settings.ts:201
Personal Comic Vine API key (free, from comicvine.gamespot.com/api); Comic Vine refuses requests without one.
comicVineEnabled ​
comicVineEnabled:
boolean
Defined in: src/shared/settings.ts:199
Whether metadata lookups query Comic Vine (only when comicVineApiKey is set too).
fileNameRules ​
fileNameRules:
string[]
Defined in: src/shared/settings.ts:302
The templates the user read file names with in the lookup dialog (parseFileName(), written like libraryFileName), most recent first, at most MAX_FILE_NAME_RULES: offered again next time.
googleBooksApiKey ​
googleBooksApiKey:
string
Defined in: src/shared/settings.ts:205
Optional Google Books API key; without one, requests share Google's anonymous quota.
googleBooksEnabled ​
googleBooksEnabled:
boolean
Defined in: src/shared/settings.ts:203
Whether metadata lookups query Google Books.
homeEnabled ​
homeEnabled:
boolean
Defined in: src/shared/settings.ts:182
Whether the home page exists: off, the sidebar has no "Accueil" entry and the app starts on the library.
homeSections ​
homeSections:
HomeSectionSetting[]
Defined in: src/shared/settings.ts:187
The home page's blocks in display order, each shown or hidden. A block missing from the list (added by a later release) is appended, shown; see isHomeSections.
ignoredDuplicates ​
ignoredDuplicates:
string[]
Defined in: src/shared/settings.ts:312
The duplicate groups the user chose to keep as they are ("Tout garder"), as duplicateGroupKey()s: the duplicates search doesn't offer them again unless asked. At most MAX_IGNORED_DUPLICATES.
language ​
language:
LanguageSetting
Defined in: src/shared/settings.ts:157
Interface language: one forced by the user, or system to follow the OS (English when it isn't supported).
lastBackupAt ​
lastBackupAt:
string
Defined in: src/shared/settings.ts:241
When the last copy of the database was made (ISO 8601); empty when there has been none.
lastResyncAt ​
lastResyncAt:
string
Defined in: src/shared/settings.ts:243
When the last resynchronization finished (ISO 8601); empty when there has been none.
lastScanFolder ​
lastScanFolder:
string
Defined in: src/shared/settings.ts:314
Folder last added with "Ajouter un dossier…" (empty before the first one): where the next folder dialog opens.
libraryArticles ​
libraryArticles:
string[]
Defined in: src/shared/settings.ts:286
The articles libraryIgnoreArticles moves, edited by the user (see isArticleList).
libraryFileName ​
libraryFileName:
string
Defined in: src/shared/settings.ts:269
Name given to the files the organization moves, without the extension: text with {series}, {volume}, {title}, {year} and {author} fields (see fillFileNameTemplate()), for example {series} - T{volume} - {title}. Empty (the default), a file keeps its original name. Like libraryStructure, changing it renames nothing by itself.
libraryGroupBySeries ​
libraryGroupBySeries:
boolean
Defined in: src/shared/settings.ts:172
Whether the library list is grouped by series, each series behind a heading that can be folded.
libraryIgnoreArticles ​
libraryIgnoreArticles:
boolean
Defined in: src/shared/settings.ts:284
Whether the organization files a name under its first real word: a leading article of libraryArticles goes to the end (Le vent du nord → Vent du nord (Le)) in the series and album folders, the letter level and the {series} and {title} fields of the file name. Like the tree, it moves nothing by itself.
libraryOrganization ​
libraryOrganization:
LibraryOrganization
Defined in: src/shared/settings.ts:250
Library organization: off leaves the files where they are; otherwise the comics added (a file, a folder, a resynchronization) can be moved into libraryOrganizationFolder, laid out as libraryStructure says: ask offers it after each addition, always does it without asking. A comic found directly in that folder is always moved, unless off.
libraryOrganizationFolder ​
libraryOrganizationFolder:
string
Defined in: src/shared/settings.ts:255
Folder the library organization moves the comics into (empty until one is chosen). Set only by the main process, through a folder dialog (library:pick-organization-folder): settings:set refuses it.
librarySidecarCovers ​
librarySidecarCovers:
boolean
Defined in: src/shared/settings.ts:292
Whether a book's cover thumbnail is kept beside it (<name>.cover.webp), so a shared library folder carries its covers. Off, the covers are extracted and kept in this machine's local cache only; covers already beside the books are still read.
librarySort ​
librarySort:
"lastOpened"|"addedDesc"|"addedAsc"|"releaseDesc"|"releaseAsc"|"titleAsc"|"titleDesc"
Defined in: src/shared/settings.ts:177
Order of the library list when it isn't grouped by series: lastOpened (most recently opened first), by date added, by release date (books without one last) or by title, each both ways.
libraryStructure ​
libraryStructure:
LibraryLevel[]
Defined in: src/shared/settings.ts:262
Tree of the organized folder, from its first level down (see isLibraryStructure): for example ['letter', 'series'] puts Tintin T01.cbz in T/Tintin/. Empty (the default), each comic gets its own subfolder named after the file and its library id. Changing it moves nothing by itself: "Organiser toute la bibliothèque…" moves the comics to their new place.
libraryView ​
libraryView:
LibraryView
Defined in: src/shared/settings.ts:168
How the library shows its books: how much each row shows, or a grid of covers (see LibraryView).
libraryVolumePrefix ​
libraryVolumePrefix:
string
Defined in: src/shared/settings.ts:275
Text put in front of the volume in the file name (T, Vol. , #…), so {volume} gives T7 (see isVolumePrefix). Empty (the default), the volume is written as it is. Like the template, changing it renames nothing by itself.
libraryVolumePrefixNumericOnly ​
libraryVolumePrefixNumericOnly:
boolean
Defined in: src/shared/settings.ts:277
Whether libraryVolumePrefix only goes in front of a whole-number volume (7, not HS nor 12.1).
libraryWriteNfo ​
libraryWriteNfo:
boolean
Defined in: src/shared/settings.ts:297
Whether a .nfo file describing the book is written beside it (when a resynchronization finds none and when a lookup is saved). Off, no .nfo is created or replaced; existing ones are still read.
lookupRuleCollapsed ​
lookupRuleCollapsed:
boolean
Defined in: src/shared/settings.ts:307
Whether the file name rule block of the lookup dialog is folded (only its title shows): the choice is kept so the user doesn't fold or unfold it at each lookup.
pageSpacing ​
pageSpacing:
number
Defined in: src/shared/settings.ts:195
Gap in pixels between pages in continuous mode (0 = pages touch).
readerBackground ​
readerBackground:
string
Defined in: src/shared/settings.ts:197
CSS color behind the pages in the reader (any <input type="color"> value, i.e. #rrggbb).
readingDirection ​
readingDirection:
"ltr"|"rtl"
Defined in: src/shared/settings.ts:161
Page-turn direction: left-to-right (BD/comics) or right-to-left (manga).
readingListView ​
readingListView:
BookRowView
Defined in: src/shared/settings.ts:170
How much each row of a reading list's page shows, set apart from the library's (see BookRowView).
readingMode ​
readingMode:
"single"|"continuous"
Defined in: src/shared/settings.ts:193
single: one page at a time. continuous: pages flow one after another in a vertical scroll.
resyncOnStartup ​
resyncOnStartup:
boolean
Defined in: src/shared/settings.ts:212
Whether the library is resynchronized with its folders in the background at every start.
scrollDirection ​
scrollDirection:
"standard"|"inverted"
Defined in: src/shared/settings.ts:191
Mouse/trackpad wheel direction in the reader: scrolling down advances or retreats a page.
sidebarCollapsed ​
sidebarCollapsed:
boolean
Defined in: src/shared/settings.ts:189
Whether the sidebar is collapsed to an icon-only rail.
statsEnabled ​
statsEnabled:
boolean
Defined in: src/shared/settings.ts:223
Whether the statistics page exists: off, the sidebar has no "Statistiques" entry and /stats redirects to the library. Reading time is still recorded, so nothing is lost when it comes back.
theme ​
theme:
"system"|"light"|"dark"
Defined in: src/shared/settings.ts:159
Color scheme of the interface (the reader's background has its own setting, AppSettings.readerBackground).
trashAutoEmpty ​
trashAutoEmpty:
boolean
Defined in: src/shared/settings.ts:237
Whether what .deletedByTankobon holds is deleted for good once it is AppSettings.trashRetentionDays days old (off by default).
trashRetentionDays ​
trashRetentionDays:
number
Defined in: src/shared/settings.ts:239
Days an item stays in .deletedByTankobon before the automatic emptying deletes it (1 to MAX_TRASH_RETENTION_DAYS); only used when trashAutoEmpty is on.