open in the workstation β†—

πŸ–₯️ The j3w1 workstation β€” user guide

This site is a working i3 window manager rebuilt in a browser. The windows really tile, split, float and close; the terminal really runs commands; the status bar really reads your machine. This page explains how to drive it β€” no prior i3 knowledge needed.

πŸš€ Quick start

Thirty seconds, and you can read everything on the site.

1️⃣ Just want to read?

Click the workspace names in the top bar, or press 1–7. That is the whole navigation.

2️⃣ Prefer typing?

Press / for the launcher and type what you want β€” open about, exec neofetch.

3️⃣ Forgot a key?

Press ? for the live key map, generated from the real bindings.

πŸ“‚ Where is this page?

In the file manager on 1:home, under Places β†’ Wiki. The launcher’s open wiki works from anywhere.

✨ Worth trying first

  1. Press / and run exec neofetch β€” the Manjaro screenshot classic, filled with your own machine's details.
  2. In the terminal, type ls, then cd writing, then cat <name>. The site's content is a filesystem.
  3. Press w to tab the windows together, then e to untile them.
  4. Hold Alt and drag a window, then drag the thin gap between two tiles to resize them.
  5. Press f to fullscreen a reader β€” the nicest way to read a long entry.

πŸ›Ÿ Nothing here can be broken permanently. Closed windows are only hidden, never deleted, and reloading always restores the full desktop. If a layout ever looks wrong, press Shift+R.

πŸ’‘ Key points

πŸͺŸ It is a real window manager

A live layout tree per workspace: split, tabbed and stacked containers, floating windows, gaps, fullscreen and a scratchpad.

⌨️ Keys work bare

No modifier needed for most bindings. Alt+key works too where the browser allows it. Shortcuts pause while you type.

πŸ–±οΈ Everything has a click

Every action is in the launcher (/), so you never need a shortcut you do not know.

πŸ“± Phones get real i3 tabs

Each workspace becomes an i3 tabbed container β€” what i3 does when a screen is too narrow to tile.

🧾 The status bar is honest

Values your browser does not expose are simply absent, never invented. Nothing is transmitted.

β™Ώ Readable without any of it

Every window is reachable with Tab alone, and with JavaScript off the site renders as one plain stacked page.

⌨️ Hotkeys

Bare keys work on their own; Alt+key does the same where your browser allows it. Bindings pause automatically while your cursor is in a text field.

🧭 Moving around

KeyAction
1–7Switch workspace β€” the same number again goes back to the previous one
`Workspace back and forth
Ctrl+← / β†’Previous / next workspace
h j k l or arrowsFocus the window left / down / up / right
aFocus the parent container
TabOrdinary browser focus β€” reaches every window
EnterActivate the selected row or link
/ or :Open the launcher (dmenu)
?Show the live key map
EscapeLeave fullscreen, or close an overlay

πŸͺŸ Arranging windows

KeyAction
H J K LMove the focused window
b / vSplit horizontally / vertically
w / s / eTabbed layout / stacked layout / toggle split
fFullscreen the focused window
q or Shift+QClose the window β€” it can always come back
rResize mode: then h j k l, Shift for bigger steps, Escape to leave
Shift+GGaps mode: i inner or o outer, then + / - / 0, Escape to leave
u / y / nBorder none / a one-pixel border / a normal title bar, for the focused window
Shift+SSticky: keep a floating window on every workspace
mHide the bar (it returns on hover at the top edge, or when you Tab into it)
Alt+Shift+1–7Move the window to another workspace and follow it
Ctrl+Alt+1–7Move the window to another workspace and stay
~Move the window to the previous workspace and follow it
Alt+SpaceSwitch focus between tiled and floating windows
Alt+Shift+SpaceFloat or unfloat the focused window
- / _Show the scratchpad / send a window to it
Alt+EnterOpen a new terminal

πŸ”§ Session

KeyAction
Shift+RRestart in place β€” default layout, every window back
Shift+CReload the configuration β€” gaps, bar and labels re-applied
Shift+ESession menu (i3-nagbar): lock screen, log out, restart i3, suspend, reboot, shut down
0System mode, exactly as the original config bound it: lock, exit, switch user, suspend, hibernate, reboot, Shift+S shutdown
Ctrl+SpaceClose every notification

πŸ–±οΈ Mouse

GestureAction
Drag a title barFloat the window and move it
Alt+drag anywhereThe same, from anywhere in the window
Drag the gap between tilesResize both neighbours
Drag a floating window's edgeResize it
Click a tabSwitch to that window

πŸ’‘ Space is only bound together with Alt, on purpose β€” binding it bare would break using the space bar to scroll.

πŸ’» The terminal

The terminal on 1:home is a real shell over the site's own content. Tab completes, ↑/↓ walk the history, Ctrl+C clears the line.

CommandWhat it does
ls cd pwd treeMove around the site as a filesystem
cat <file>Read an entry, a project, or a page
open <name>Jump to a workspace, an entry, or an external link
helpCommands and desktop keys, listed separately
keysJust the window manager shortcuts
dmenuOpen the launcher (same as pressing /)
feh neofetch htop cmatrixLaunch an application
wikiOpen this guide
i3-msg <command>Run a window manager command, e.g. i3-msg layout tabbed; chain with ;
i3exit <action>, reboot, poweroffLock, log out, suspend, hibernate, reboot, shut down
journalctl -bThis boot's log
cat ~/.config/i3/configThe original machine's dotfiles β€” also i3status.conf, ~/.config/dunst/dunstrc, ~/.Xresources, ~/.dmenurc
xrandr / screenlayoutYour display, and the historical three-monitor layout
notify-send <text>A dunst notification
logoutEnd the session and return to the login screen
clear whoami date echo exitThe usual

⚠️ Desktop shortcuts are not shell commands. Typing / or ? at the prompt will say so β€” press them outside the terminal, or type dmenu and keys.

πŸ“¦ Applications

Launch any of these from the launcher (/ then exec <name>) or by typing the name in the terminal.

🧊 neofetch

System information read from your own browser. Anything it cannot see prints unknown.

πŸ“Š htop

The open windows as processes, with real frame timing and heap figures.

πŸ–ΌοΈ feh

Pick between three wallpapers, drawn entirely in CSS β€” black by default, carrying the j3w1-i3 wordmark. Remembered.

🟩 cmatrix

A toy. Static if you have reduced motion enabled.

⌨️ urxvt

Another terminal β€” Alt+Enter.

πŸ“… conky

The original desk's panel: the date in Chinese, CPU threads, the open windows, memory, uptime. Floating and sticky at the top right, like its config said. exec conky.

πŸ‘† Touch

GestureAction
πŸ‘‰ Swipe left / rightPrevious / next workspace
πŸ‘† Tap a tabSwitch window
✊ Long-press a title barFloat the window, then drag it

Each workspace uses i3's tabbed layout on a phone. Tiling, gutter-dragging and the scratchpad are switched off below 768px; everything else works. Swiping never overrides scrolling β€” if a table or code block can still scroll sideways, it gets the gesture first.

πŸ” Booting, logging in, logging out

The first time you arrive the machine boots β€” a Manjaro banner, kernel lines and systemd units, about five seconds. Any key or click skips to the end.

Then the LightDM login screen appears and waits for you. The username and password are already filled in; the password is decorative bullets and no password value exists anywhere in the page. Press Enter, or click Log In. Nothing else logs you in β€” a click on the desktop behind the panel is ignored.

πŸ” Logging in is remembered. Come back tomorrow and the desktop appears immediately, with no boot and no login, until you log out.

To…Do this
πŸ”’ Lock the screenShift+E β†’ Lock screen, or exec i3lock. Press a key to dismiss it β€” moving the mouse will not.
πŸšͺ Log outShift+E β†’ Log out, the launcher's log out, or logout
πŸ”“ Log back inThe login panel is already there β€” press Enter
🎬 Watch the boot againReboot: 0 then r, Shift+E β†’ Reboot, or reboot in the terminal β€” systemd stops, the screen goes black, the machine boots, LightDM waits (about ten seconds; any key skips a phase). The launcher's exec lightdm replays only the boot log
⏻ Shut down0 then Shift+S, or poweroff. The machine halts to a power button; any key powers it on
πŸ’€ Suspend or hibernate0 then s or h. The screen locks and goes dark; the key that wakes it does not unlock it
πŸ‘€ Switch user0 then u β€” the login panel, with your layout kept
⏭️ Never see it againThe launcher's boot off

The boot and login never appear when you follow a link straight to an entry β€” a shared link must never land someone on a login screen β€” nor on a slow or data-saving connection. With reduced motion enabled the animation is skipped and the login panel appears immediately.

βš™οΈ Settings

All of these are launcher commands (/), and every one is stored in your browser only.

CommandEffect
log outEnd the session; the login screen returns
boot off / boot onSkip or restore the boot and login sequence
exec lightdmReplay the boot sequence now
lock off / lock 10m / lock 30mIdle screen lock β€” off, or after 10 or 30 minutes
exec i3lockLock the screen immediately
notify off / notify onSilence the corner notifications
wallpaper black / ember / ridgeChange the wallpaper (black is the default)
restartReset every window and layout to defaults
gaps inner set 14 / gaps outer set -2i3-gaps, as the original machine had them (14 / βˆ’2 are the defaults; a lone window gets no gaps)
bar mode hide / bar mode dockHide the bar until hovered or focused, or keep it docked
bar labels zh / bar labels enThe status bar's labels β€” Chinese as the original i3status.conf had them (default), or English
border none / border pixel 1 / border normalThe focused window's border and title bar
i3-msg … in the terminalEvery launcher entry is an i3 command; workspace 2; layout tabbed chains with semicolons

πŸŒ™ The idle lock is set to ten minutes by default. It never arms on a phone or tablet, never while you are typing or a dialog is open, and never while the tab is in the background.

πŸ”’ Privacy

The status bar and neofetch read your CPU thread count, memory, connection type, battery, screen size, language and time zone from your own browser. None of it is transmitted, stored or logged β€” this site has no analytics and no backend for the public page.

Where your browser does not expose something, the value is absent rather than guessed. That is why the bar is shorter in Firefox than in Chrome, and why a desktop shows no battery. Your layout, wallpaper and settings live in your browser's local storage and never leave your machine.

🩹 Troubleshooting

ProblemFix
😡 The layout looks wrongPress Shift+R, or run restart i3 inplace
πŸ«₯ A window disappearedPress Shift+R, or click restore this workspace
⌨️ Keys do nothingYour focus is in a text field β€” press Escape or click elsewhere
πŸ€” A shortcut does nothing in the terminalDesktop keys are not shell commands. Press them outside the terminal, or type keys
πŸ” Stuck on the login screenPress Enter
🫣 The bar vanishedPress m, or hover the top edge of the screen β€” it is in hide mode
πŸ•³οΈ Nothing loads at allThe site works without JavaScript: every workspace renders as one plain stacked document

β™Ώ Accessibility

πŸ“– Documentation

The technical documentation lives in the repository.