Repository navigation
mgbrowser v0.9.25 Experimental Preview
mgbrowser v0.9.25 Experimental Preview
App-wide pure-Rust X11 clipboard (CLIPBOARD and PRIMARY), mouse drag/double-click
text selection, and Cut / Copy / Paste / Select All across the DevTools Console,
all six DevTools panels and search/style inputs, the Address bar, HTML <input>
form controls (with <input type="password"> plaintext protection), and read-only
web page content. Exact-source publication and public-install receipts are
recorded in the dated work log.
Linux x86_64 / X11 or XWayland, glibc 2.35 or newer. Rust 1.91.1, locked
dependencies and pure-Rust implementation backends (zero new crate dependencies).
Native X11 Clipboard & App-Wide Text Selection
mg-browser, mg-chassis, and mg-sparkle implement pure-Rust ICCCM X11
selection ownership and retrieval (x11rb) paired with interactive text
selection, editing, and context-menu clipboard actions across every browser
surface:
- Pure-Rust X11
CLIPBOARD&PRIMARYHost (src/platform/clipboard.rs):
uses a dedicated unmapped1x1child window of the root screen (EventMask::PROPERTY_CHANGE)
so selection ownership survives closing detached browser windows without any C
toolkit or external helper utility (xclip/xsel). ServesTARGETS,
TIMESTAMP,UTF8_STRING,text/plain;charset=utf-8,text/plain,TEXT,
andSTRING(SelectionRequest/SelectionClear), and retrieves inbound
CLIPBOARD(Ctrl+V/Shift+Insert/ context-menuPaste) andPRIMARY
(middle-clickButton 2) selections withUTF8_STRING->STRINGfallback,
boundedINCRtransfers (256 KiB), and0 mslocal short-circuit when
mgbrowserowns the active selection. - DevTools Console & Panels (
crates/mg-chassis/src/devtools.rs):- Console Logs & Uncaught JS Errors: click or click-and-drag across Console
rows (Ctrl+Aselects all visible rows), then pressCtrl+C, click the
subtoolbarCopybutton, or right-click (Copy message,Copy all visible,
Select all,Clear console) to copy full untruncated error messages, stack
frames, and expanded object property trees. Console Command Line API
copy(...)also syncs directly to the X11 systemCLIPBOARD. - Console
>REPL & DevTools Filter/Style Inputs: click/drag/double-click
selection,Shift+ arrow/word (Ctrl+Left/Right) range extension,
Ctrl+A,Ctrl+X/Shift+Delete(Cut),Ctrl+C/Ctrl+Insert(Copy),
Ctrl+V/Shift+Insert(Paste), middle-clickPRIMARYpaste, and
right-clickCut/Copy/Paste/Select all. - Elements, Sources, Network, Performance, Application & About:
Ctrl+C
and right-click context menus copyouterHTML, unique CSS selectors, or
computed style summaries inElements; selected code lines or full source in
Sources; request URL, full request/response details, or all captured URLs
inNetwork; structured telemetry reports inPerformanceandApplication;
and build/revision identity on theAboutdialog.
- Console Logs & Uncaught JS Errors: click or click-and-drag across Console
- Address Bar (
Focus::Address): click-to-select-all on initial focus from a
page, second-click caret placement, click-and-drag substring selection (updating
PRIMARY) with2 pxcaret and highlight rendering, double-click select-all,
word navigation,Ctrl+A/Ctrl+X/Ctrl+C/Ctrl+V, middle-click
PRIMARYpaste, and right-clickCut/Copy/Paste/Paste and go/
Select all. - HTML
<input>Form Controls & Password Protection (Focus::Input):
positioned caret + partial selection highlight rendering inmg-sparkle,
click/drag/double-click word selection,Ctrl+A/Ctrl+X/Ctrl+C/
Ctrl+V(updatingedit_versionsfor isolated script-worker form snapshots),
middle-clickPRIMARYpaste, and strict<input type="password">protection
that blocksCut,Copy, andPRIMARYdrag export of masked password
characters while permittingPaste. - Web Page Prose Selection (
Focus::Page):Frame::text_runsrecords
positioned glyph runs (MAX_TEXT_RUNS = 25,000) for click-and-drag text
selection with translucent highlight rendering, double-click word selection,
Ctrl+Aselect-all,Ctrl+Ccopy in reading order,PRIMARYexport on drag
or double-click, and right-clickCopy(when a selection is active) plus
Copy link addresson links. Cut and Paste remain disabled on read-only page
prose.
Validation status
Workspace debug and release unit/integration tests (including new app-wide
clipboard/selection unit tests and live two-client X11 CLIPBOARD/PRIMARY
roundtrip tests under Xvfb), component boundary and no-chrome embedding checks,
packaged native X11 smoke gates, all 8 frozen JSPLAN gates, and both complete
reviewed WPT lanes pass.
Install and known limitations
curl -fsSL https://mgbrowser.org/install.sh | bashThe installer follows the latest published release and verifies SHA-256 before
installing without sudo. Checksums are not independent signatures. Existing
processes must restart to use an installed update.
Modern-web compatibility is poor. The Google search to first result journey is
not working. Real Reddit loading and full interactive Google News features
remain unfinished goals. Ordinary Playwright is unsupported: autoattachment,
debugger waiting/resume, downloads, utility worlds, promise awaiting and stock
locator message-size policy remain open. Clipboard transfers support plain UTF-8
and Latin-1 text up to 256 KiB on X11/XWayland; rich HTML/image clipboard MIME
types, JavaScript navigator.clipboard / ClipboardEvent DOM APIs, <textarea>
or contenteditable editing, breakpoint stepping, heap snapshots, and persistent
Web Storage remain outside this bounded increment. This release does not complete
F-011/F-016/F-024/F-025/F-026/F-027 or formal MVP.