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

jbrowser.ui.controller

Generated from the source code of JBrowser 2.0.0.

jbrowser/ui/controller.py · 1,310 lines

BrowserController: executes user intents against the state store, engine and UI surfaces.

Widgets never mutate state directly; they call into this controller (or run a registered command), which keeps behaviour consistent between clicks, shortcuts and the Lazy Toolbar.

Constants#

Name Value
WIDTH_PRESETS [(0.25, '25%'), (1 / 3, '33%'), (0.5, '50%'), (2 / 3, '66%'), (0.75, '75%'), (0.8, '80%…

BrowserController#

class BrowserController(QObject)source
BrowserController(ctx: 'AppContext', window: 'MainWindow')

BrowserController.canvas#

canvas(space_id: str | None=None) -> 'Canvas | None'source

BrowserController.card#

card(tab_id: str | None) -> 'WebCard | None'source

BrowserController.active_card#

active_card() -> 'WebCard | None'source

BrowserController.ctrl#

ctrl(tab_id: str | None=None) -> 'TabController | None'source

BrowserController.toast#

toast(text: str, glyph: str='info') -> Nonesource

BrowserController.open_url#

open_url(url: QUrl | str, target: str='new', space_id: str | None=None, after_tab: str | None=None, index: int | None=None, stack_onto: str='', width: float=0.0) -> Tab | Nonesource

BrowserController.new_blank_card#

new_blank_card() -> Nonesource

BrowserController.close_tab#

close_tab(tab_id: str, remember: bool=True) -> Nonesource

BrowserController.close_selected#

close_selected() -> Nonesource

BrowserController.close_others#

close_others(tab_id: str) -> Nonesource

BrowserController.reopen_closed#

reopen_closed() -> Nonesource

BrowserController.reopen_archive_entry#

reopen_archive_entry(entry_id: str, background: bool=False) -> Nonesource

BrowserController.show_archive#

show_archive(anchor=None) -> Nonesource

BrowserController.toggle_pin#

toggle_pin(tab_id: str | None=None) -> Nonesource

BrowserController.toggle_favourite#

toggle_favourite(tab_id: str | None=None) -> Nonesource

BrowserController.favourite_state#

favourite_state(fid: str) -> strsource

BrowserController.open_favourite#

open_favourite(fid: str, force_new: bool=False) -> Nonesource

BrowserController.show_favourite_menu#

show_favourite_menu(fid: str, pos: QPoint) -> Nonesource

BrowserController.duplicate_tab#

duplicate_tab(tab_id: str | None=None) -> Nonesource

BrowserController.activate_card#

activate_card(tab_id: str, modifiers=Qt.KeyboardModifier.NoModifier, wake: bool=False, focus: bool=True, center: bool=False) -> Nonesource

BrowserController.focus_active_card#

focus_active_card() -> Nonesource

BrowserController.focus_adjacent#

focus_adjacent(delta: int, edge_add: bool=False, wrap: bool=False) -> Nonesource

Move focus to the neighbouring card. With edge_add (Alt+←/→), pressing again at the first / last card reveals the "+" and a second press adds a card there.

BrowserController.goto_index#

goto_index(n: int) -> Nonesource

BrowserController.move_card#

move_card(delta: int) -> Nonesource

BrowserController.move_tab_to_space#

move_tab_to_space(tab_id: str, space_id: str) -> Nonesource

BrowserController.scale_selected#

scale_selected(frac: float) -> Nonesource

BrowserController.toggle_full_width#

toggle_full_width(tab_id: str) -> Nonesource

BrowserController.split#

split(n: int) -> Nonesource

Show n columns side by side (a column of stacked cards counts once).

BrowserController.can_stack#

can_stack() -> boolsource

BrowserController.open_stack_picker#

open_stack_picker(tab_id: str | None=None) -> Nonesource

Open the place below the active card to stack another card there (up to 3 per column).

BrowserController.unstack#

unstack(tab_id: str | None=None) -> Nonesource

BrowserController.toggle_reading#

toggle_reading(tab_id: str | None=None) -> Nonesource

BrowserController.set_reading#

set_reading(tab_id: str, on: bool) -> Nonesource

BrowserController.claim_reading_offer#

claim_reading_offer(url: str) -> boolsource

True the first time reading mode may be suggested for url in this session.

BrowserController.select_all_cards#

select_all_cards() -> Nonesource

BrowserController.nav#

nav(action: str) -> Nonesource

BrowserController.zoom#

zoom(direction: int) -> Nonesource

BrowserController.find_in_page#

find_in_page() -> Nonesource

BrowserController.toggle_devtools#

toggle_devtools() -> Nonesource

BrowserController.view_source#

view_source() -> Nonesource

BrowserController.print_card#

print_card(tab_id: str | None=None) -> Nonesource

BrowserController.save_page#

save_page() -> Nonesource

BrowserController.save_pdf#

save_pdf() -> Nonesource

BrowserController.copy_url#

copy_url() -> Nonesource

BrowserController.copy_screenshot#

copy_screenshot(tab_id: str | None=None) -> Nonesource

BrowserController.open_external#

open_external() -> Nonesource

BrowserController.toggle_mute#

toggle_mute(tab_id: str | None=None) -> Nonesource

BrowserController.sleep_tab#

sleep_tab(tab_id: str | None=None) -> Nonesource

BrowserController.wake_tab#

wake_tab(tab_id: str) -> Nonesource

BrowserController.on_sleep_blocked#

on_sleep_blocked(tab_id: str, reason: str) -> Nonesource

BrowserController.switch_space#

switch_space(delta: int) -> Nonesource

BrowserController.select_space#

select_space(space_id: str) -> Nonesource

BrowserController.new_space#

new_space(incognito: bool=False) -> Nonesource

BrowserController.edit_space#

edit_space(space_id: str | None=None) -> Nonesource

BrowserController.delete_space#

delete_space(space_id: str | None=None) -> Nonesource

BrowserController.set_space_proxy#

set_space_proxy(space_id: str | None=None) -> Nonesource

BrowserController.show_card_menu#

show_card_menu(tab_id: str, pos: QPoint) -> Nonesource

BrowserController.show_space_menu#

show_space_menu(space_id: str, pos: QPoint) -> Nonesource

BrowserController.show_spaces_menu#

show_spaces_menu(pos: QPoint) -> Nonesource

BrowserController.show_layout_menu#

show_layout_menu(pos: QPoint) -> Nonesource

BrowserController.show_shield_menu#

show_shield_menu(tab_id: str | None, pos: QPoint) -> Nonesource

BrowserController.show_password_menu#

show_password_menu(tab_id: str, pos: QPoint) -> Nonesource

BrowserController.show_main_menu#

show_main_menu(pos: QPoint) -> Nonesource

BrowserController.toggle_sidebar#

toggle_sidebar() -> Nonesource

BrowserController.set_sidebar_hidden#

set_sidebar_hidden(hidden: bool) -> Nonesource

BrowserController.show_ribbon_menu#

show_ribbon_menu(pos: QPoint) -> Nonesource

BrowserController.show_sidebar_menu#

show_sidebar_menu(pos: QPoint) -> Nonesource

BrowserController.go_home#

go_home(new_card: bool=False) -> Nonesource

BrowserController.show_home_menu#

show_home_menu(pos: QPoint) -> Nonesource

BrowserController.toggle_favorites_bar#

toggle_favorites_bar() -> Nonesource

BrowserController.toggle_animations#

toggle_animations() -> Nonesource

BrowserController.set_theme#

set_theme(mode: str) -> Nonesource

BrowserController.set_material#

set_material(material: str) -> Nonesource

BrowserController.toggle_maximize#

toggle_maximize() -> Nonesource

BrowserController.minimize#

minimize() -> Nonesource

BrowserController.toggle_window_fullscreen#

toggle_window_fullscreen() -> Nonesource

BrowserController.set_dns#

set_dns(mode: str) -> Nonesource

BrowserController.toggle_proxy#

toggle_proxy() -> Nonesource

BrowserController.set_sleep_preset#

set_sleep_preset(preset: str) -> Nonesource

BrowserController.clear_site_data#

clear_site_data(tab_id: str | None=None) -> Nonesource

BrowserController.show_site_info_anchored#

show_site_info_anchored() -> Nonesource

Site information from the keyboard / palette: anchor under the address pill.

BrowserController.forget_current_site#

forget_current_site() -> Nonesource

BrowserController.show_site_info#

show_site_info(tab_id: str | None, pos: QPoint) -> Nonesource

BrowserController.forget_site#

forget_site(host: str) -> Nonesource
copy_clean_link(tab_id: str | None=None) -> Nonesource

BrowserController.ask_about_download#

ask_about_download(item) -> Nonesource

Standard download protection: a bubble under the Downloads button asks to keep or delete.

BrowserController.on_download_blocked#

on_download_blocked(item) -> Nonesource

BrowserController.reset_settings#

reset_settings() -> Nonesource

BrowserController.factory_reset#

factory_reset() -> Nonesource

BrowserController.restart#

restart() -> Nonesource

BrowserController.toggle_bookmark#

toggle_bookmark(tab_id: str | None=None) -> Nonesource

BrowserController.edit_bookmark#

edit_bookmark(bid: str) -> Nonesource

BrowserController.fill_password#

fill_password(cred) -> Nonesource

BrowserController.copy_secret#

copy_secret(secret: str, message: str) -> Nonesource

BrowserController.unlock_vault#

unlock_vault() -> boolsource
toggle_gallery(all_spaces: bool | None=None) -> Nonesource

Open or close the Gallery (all_spaces forces the scope when opening).

BrowserController.open_lazy_toolbar#

open_lazy_toolbar(mode: str='new', text: str='', insert_at: int | None=None) -> Nonesource

BrowserController.open_settings#

open_settings(page: str='general') -> Nonesource

BrowserController.open_dialog#

open_dialog(name: str) -> Nonesource

BrowserController.show_update_dialog#

show_update_dialog() -> Nonesource

BrowserController.check_for_updates#

check_for_updates() -> Nonesource

Manual check: report the result instead of staying quiet.

BrowserController.on_update_available#

on_update_available(info) -> Nonesource

BrowserController.open_hotkeys#

open_hotkeys() -> Nonesource

BrowserController.choose_desktop_media#

choose_desktop_media(request) -> Nonesource

BrowserController.handle_fullscreen#

handle_fullscreen(card: 'WebCard', request) -> Nonesource

BrowserController.open_localhost#

open_localhost(port: int) -> Nonesource

BrowserController.about_ports#

about_ports() -> list[tuple[int, str]]source