aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-08-18 09:28:21 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2017-08-18 09:28:21 +0200
commit5019340c4e319f48122a4d7a14a310f8092e8ed7 (patch)
treef9b94f47d955e3aed6fd243b37b2fa79b7fbcf39 /docs
parentChanged the filter format (diff)
downloadsmolbote-5019340c4e319f48122a4d7a14a310f8092e8ed7.tar.xz
Updated documentation
Diffstat (limited to 'docs')
-rw-r--r--docs/DESIGN.md79
-rw-r--r--docs/manual.md19
2 files changed, 79 insertions, 19 deletions
diff --git a/docs/DESIGN.md b/docs/DESIGN.md
new file mode 100644
index 0000000..8e88200
--- /dev/null
+++ b/docs/DESIGN.md
@@ -0,0 +1,79 @@
+# smolbote Design Document
+
+### Version 1.0
+* Profiles
+ - Application-level profile manager
+ - System-level and user-level profile config, with per-profile overrides [todo]
+* Configuration
+ - Default system-level config and user-level overrides [todo]
+* Cookies
+ - Filter list similar to the URL filter list [todo]
+* Tabs
+ - Moving tabs between windows [todo]
+ - Tab context menu [todo]
+* Page actions
+ - Search [todo]
+ - Zoom [todo]
+ - Print [todo]
+* Navigation toolbar
+ - Back and Forward history [todo]
+
+## Overall design of smolbote
+
+The aim of smolbote is to be a lightweight and fast, to the point web browser.
+
+### How smolbote works [TODO]
+
+0. Launch
+1. Check for other instance, unless otherwise specified
+ - If other instance is found, pass the parameters to it and quit
+ - Else, create a new instance
+2. Create application object
+ - Read configuration
+ _ Create profiles
+3. Pass parameters to application object
+ - Create main window if there isn't one
+ - open URLs
+
+### main() and smolmain() [TODO]
+
+The main() function should contain all code to start up, check for another
+running instance, and if necessary pass the parameters to the other instance.
+
+The smolmain() function should contain code to create a new instance based on
+the parameters passed.
+
+IPC should be done with QLocalSocket.
+
+### Dockable windows
+
+### Folder structure
+
+- data/ - Any resource files (defaults, icons, etc)
+- docs/ - Where all the documentation lives
+- src/ - Source code
+- test/ - Testing grounds
+- tools/ - Hooks, qbs helpers, updater
+
+### Libraries used
+All 3rd-party libraries should be placed in src/3rd-party/library-name, together
+with their corresponding license file. The license file should start with the
+library name and repository location.
+
+- tinytoml
+
+## Components
+
+### Bookmarks [TODO]
+
+- [TODO] Bookmark location should be read from profile, with a default in the config
+- [TODO] Split off xbel implementation into a library
+- [TODO] BookmarksLibrary API
+
+### History
+
+History is managed by QtWebEngine.
+
+### Cookies
+
+Cookies are managed by QtWebEngine.
diff --git a/docs/manual.md b/docs/manual.md
index 971ba94..2c827fd 100644
--- a/docs/manual.md
+++ b/docs/manual.md
@@ -10,22 +10,3 @@
--new-instance | Skip instance check on startup |
--in-new-window | Open URL in a new window |
--in-new-tab | Open URL in a new tab |
-
-
-### Version 1.0
-* Profiles
- - Application-level profile manager
- - System-level and user-level profile config, with per-profile overrides [todo]
-* Configuration
- - Default system-level config and user-level overrides [todo]
-* Cookies
- - Filter list similar to the URL filter list [todo]
-* Tabs
- - Moving tabs between windows [todo]
- - Tab context menu [todo]
-* Page actions
- - Search [todo]
- - Zoom [todo]
- - Print [todo]
-* Navigation toolbar
- - Back and Forward history [todo]