Add find shortcut in browser.
This commit is contained in:
@@ -114,7 +114,7 @@ View.zig one tab's content: its panes, their layout, and drag handling
|
||||
Layout.zig the split tree: nodes, rearranging, GtkPaned materialization
|
||||
Pane.zig content plus its header, drag source, and drop target
|
||||
Terminal.zig GtkDrawingArea: Cairo/Pango renderer + input handling
|
||||
Browser.zig WebKitWebView plus a back/forward/reload/address bar
|
||||
Browser.zig WebKitWebView plus a nav/address bar and a find bar
|
||||
webkit.zig hand-written bindings for the WebKitGTK calls we make
|
||||
Layouts.zig saved tab templates: model, JSON on disk, {{substitution}}
|
||||
OpenLayoutDialog.zig prompts for a layout's parameters
|
||||
@@ -369,7 +369,8 @@ in principle, but a terminal grid is small.
|
||||
- **Web panes**, on WebKitGTK, sitting in the split tree beside terminals and
|
||||
dragging around exactly like they do: back/forward/reload, an address bar
|
||||
that takes a URL or falls back to a search, a load-progress indicator in the
|
||||
entry, and the page title feeding the pane header and tab label
|
||||
entry, and the page title feeding the pane header and tab label, plus
|
||||
find-in-page on `Ctrl+F`. See [Find in page](#find-in-page)
|
||||
- **Saved layouts**: whole tabs — panes, splits, ratios, per-pane directories
|
||||
and scripts — opened in one go, parameterised by `{{name}}`, authored by
|
||||
arranging a tab and saving it. See [Layouts](#layouts)
|
||||
@@ -404,6 +405,7 @@ in principle, but a terminal grid is small.
|
||||
| `Ctrl+Shift+V` | paste into a terminal (bracketed-paste aware, refuses unsafe pastes) |
|
||||
| `Ctrl+Shift+R` | rename the current tab (empty name = follow the terminal) |
|
||||
| `Ctrl+Shift+Z` | zoom the focused pane to fill the tab, and back |
|
||||
| `Ctrl+F` | find in the focused web page (web panes only — see [Find in page](#find-in-page)) |
|
||||
| `Ctrl+,` | settings |
|
||||
| `Ctrl+PageUp/PageDown` | previous / next tab |
|
||||
| `Alt+1`..`Alt+8` | jump to tab N, `Alt+9` jumps to the last |
|
||||
@@ -441,6 +443,26 @@ that zoom is hiding. Closing the zoomed pane leaves zoom; a *different* pane
|
||||
closing — a background shell exiting, say — does not, since what you are looking
|
||||
at is still there.
|
||||
|
||||
## Find in page
|
||||
|
||||
`Ctrl+F` in a web pane opens a find bar under its address bar. Typing searches
|
||||
as you go — case-insensitively, wrapping at the end of the document — and the
|
||||
bar reports how many matches there are, or says there are none and reddens the
|
||||
box. `Enter` steps to the next match, `Shift+Enter` to the previous, and the
|
||||
two arrow buttons do the same. `Escape` or the × closes the bar, which is also
|
||||
what clears the highlighting.
|
||||
|
||||
The chord is the browser one rather than this app's usual `Ctrl+Shift`, and it
|
||||
is claimed only while a web pane has focus. In a terminal `Ctrl+F` is an
|
||||
ordinary control character that the program running there is waiting for —
|
||||
forward-a-character in a readline prompt, the prefix key in tmux — so the key
|
||||
is left alone there.
|
||||
|
||||
WebKit does the searching, and it will only tell you the total number of
|
||||
matches, not which one you are on; the count stops at a thousand, on the
|
||||
grounds that a page with more matches than that is one where the exact number
|
||||
tells you nothing.
|
||||
|
||||
## Tab settings
|
||||
|
||||
Right-clicking a tab row opens a small menu: **Rename**, which is the same
|
||||
@@ -682,8 +704,8 @@ This is a proof of concept, and the following are deliberately absent:
|
||||
look right.
|
||||
- **Moving panes between tabs.** Panes can only be rearranged within their
|
||||
own view.
|
||||
- **Browser furniture.** Web panes get navigation and an address bar and
|
||||
nothing else: no bookmarks, history, downloads, devtools, or find-in-page,
|
||||
- **Browser furniture.** Web panes get navigation, an address bar and
|
||||
find-in-page, and nothing else: no bookmarks, history, downloads or devtools,
|
||||
and each pane uses WebKit's default context, so nothing is persisted between
|
||||
runs. Links that ask for a new window are ignored rather than opening a pane.
|
||||
- **Restoring a session.** [Startup tabs](#startup-tabs) reopen the
|
||||
|
||||
Reference in New Issue
Block a user