Skip to content
Felix Guo edited this page Sep 6, 2017 · 2 revisions

Getting Started

MercuryWM is a Chrome extension that transforms your new tab page into a multi-windowed terminal environment.

First, clone the Git repository:

git clone https://github.com/wheel-org/mercurywm.git

Install the necessary dependencies:

npm install

Create a build:

npm run webpack

To run the extension, open chrome://extensions and enable Developer mode. Then click Load unpacked extension and navigate to the build directory. Your new-tab page will now be replaced with MercuryWM.

Introduction

Welcome to MercuryWM. MercuryWM is a tiling window manager written in Javascript intended as a replacement for the new-tab page. MercuryWM supports extensions that can be run within individual windows to create a personalized new tab page layout.

Windows

The first thing to notice when first loading up MercuryWM is the single terminal window sitting in the middle of the screen. Each window is a container that can either hold a terminal window waiting for commands, or a currently running extension. To select a window, simply click on the window. The border should be a light color and the terminal cursor should begin blinking. Commands can now be entered to manipulate the environment.

To manipulate windows, you can use the window subset of commands.

To split a window vertically, creating two windows left and right, you use the vertical split command: window vs.

To split a window horizontally, creating two windows top and bottom, you use the horizontal split command: window hs.

Windows can be resized by adjusting each of their borders. All the adjustment values are in percentages of the full width, so all the windows will have a combined width of 100%, and combined height of 100%. Each window's x, y, width, height can be found at the bottom right of the window. The window's index can be found on the left.

To adjust a window's border, simply type: window [side] [value] where [side] is one of left, right, top, or bottom and value is a number.

Window borders can only be moved if other bordering windows are lined up, otherwise the movement will fail.

Windows that have been split can be rejoined together provided they share a common edge of the same length. To merge a window of index 1 with the current window, you would use: window merge 1. To merge two other windows, you can provide two values. If I wanted to merge windows 0 and 1 from window 2, I could type window merge 0 1 from window 2.

Workspaces

At the bottom left of the environment, you should see a 0. This indicates you are currently in workspace 0. Each workspace holds a layout of windows and exists independently from other workspaces. You can use workspace add to add a workspace, or workspace [index] to switch to a certain workspace. You can also use ALT + LEFT and ALT + RIGHT to switch workspaces.

Clone this wiki locally