Firefox is getting a split window feature, it's already possible to turn it on by adding this to your user.js (or setting the named option in about:config:

user_pref("browser.tabs.splitView.enabled", true);

Glide also has this enabled by default and exposes it through its glide.unstable.split_views API. So I wanted to easily split my views:

// Split windows const split_window = glide.excmds.create({ name: 'split_window', description: 'Ask for a tab and show it in a split with this window', }, async () => { const activeTab = await glide.tabs.active(); const tabs = await glide.tabs.query({}); glide.commandline.show({ title: "Show other", options: tabs.map(t => ({ label: t.title, async execute() { glide.unstable.split_views.create([activeTab.id, t.id]); } })), }); }); const unsplit_window = glide.excmds.create({ name: 'unsplit_window', description: 'Remove the current split of windows', }, ({ tab_id }) => { glide.unstable.split_views.separate(tab_id); }); const other_window = glide.excmds.create({ name: 'other_window', description: 'Focus other window', }, async ({ tab_id }) => { const split_tabs = await glide.unstable.split_views.get(tab_id); const other_tab = split_tabs.tabs.filter(t => t.id !== tab_id)[0]; await browser.tabs.update(other_tab.id, { active: true }); }); glide.keymaps.set('normal', '<C-x>4b', 'split_window'); glide.keymaps.set('normal', '<C-x>1', 'unsplit_window'); glide.keymaps.set('normal', '<A-o>', 'other_window');

This allows me to use C-x 4 b to create a split with another tab of my choosing. Then C-x 1 to remove the split. And M-o to switch between the two panes.

Really enjoying this browser so far :)

#glide #GlideBrowser