## Principles

### Simplicity
This should be a simple browser that only does its browsing job with as little
fuss as possible. This is not a platform.

### Customizability
This browser should be usable with minimal configuration necessary. At the same
time, all functionality should be user-customizable. It is the user's
responsibility to ensure a stable working state when changing settings.

This browser should be kept as platform-agnostic as possible, while learning
from and implementing the UNIX philosophy as applicable.

### Pragmatic Freedom
Free software should serve the user, not impose unbreakable barriers for
ideological reasons.

QtWebEngine allows the usage of third-party non-free codecs and non-free
plugins. This browser does not prevent you from doing so. It's up to you how
you exercise your freedom.

## Keyboard shortcuts
- F4 to focus the address bar and type an address; F2 show its menu
- Ctrl + Left/Right - go back/forward
- Ctrl + T - new tab
- Ctrl + X - close tab
- Ctrl + O/P - previous tab/next tab
- Ctrl + Shift + O/P - move tab left/right
- Ctrl + B - show/hide bookmarks
- Ctrl + D - show/hide downloads

## Subwindows
A subwindow is a multiple document interface window that contains a collection
of tabs and has a default profile. It can be minimized, resized, moved,
maximized, tiled (F9) and cascaded (F10) within the main window.

- Ctrl + G - new subwindow
- Ctrl + W - close subwindow

## Profiles
A Profile is a collection of settings, policies, scripts, cookies, cache and
history. Profiles can be used to isolate pages from each other.

Each window has a default profile it uses when opening new tabs. This can be
changed from the window's menu. Additionally, tabs can have their profiles
individually changed from their context menu.

Because profiles store all their data separately, you can log in into the same
site with a different account from each profile. However, links opened into new
tabs will still use the subwindow's default profile. For example, you can set a
profile to hold login information for a site, but all new tabs opened from that
site would still be using the default off-the-record profile.

## Configuration files
Configuration is saved in:

- on Linux, _~/.config/smolbote/_