JBrowser Source Docs
You are reading the documentation for JBrowser 1.4.0. The newest release is 1.5.4. Go to the latest documentation

The sidebar

The Sidebar (ui/sidebar.py) is the vertical column on the left, EXPANDED_W (256 px) wide. From top to bottom:

SidebarHeader     logo (opens Settings) · clock · hide button
FavouritesGrid    up to 16 favourites, 4 per row
SpaceSection      one SpaceRow per space, then "New space"
TabListView       the active space's cards, pinned first, then "New card"
tools row         downloads, history, bookmarks, passwords · the Archive

The header#

LogoButton draws the JBrowser mark and opens Settings. ClockLabel is a 12-hour clock that re-aligns itself to every minute boundary, so it never lags.

Favourites#

FavouritesGrid shows the sites in FavouritesService (services/favourites.py) as icon tiles. A favourite works in every space: clicking it focuses the card that was opened from it in the current space (tab.favourite_id), or opens a new one. Tiles can be dragged to reorder.

Spaces#

Each SpaceRow shows the space's icon, colour, name and card count. Click switches space; double-click edits it; right-click opens the space menu. The SpaceSection container is focusable: ↑ / ↓ switch spaces (Ctrl+Shift+E focuses it).

The card list#

TabListView is a QListView over TabListModel, painted by TabDelegate: favicon, title, sleeping and audio state, a close button on hover. Pinned cards come first. The last row is New card, which opens the Lazy Toolbar.

Ctrl+Click and Shift+Click select several cards, as on the canvas.

Hiding and peeking#

set_collapsed(True) (Ctrl+B, the hide button, or Hide sidebar in its menu) animates the sidebar's width to 0 and stores appearance.sidebar_collapsed. While hidden, MainWindow watches the pointer: resting within PEEK_EDGE (10 px) of the window's left edge for 140 ms calls peek(), which floats the sidebar over the canvas; it tucks itself away when the pointer leaves. The hide button in a peeking sidebar pins it open again.