-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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.
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.
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.
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.