Append a css color "flag" to the url (i.e. bgcol=<somecolor>). If it is a hex value, it should be 3 or 6 characters long (leave off the initial '#'). So the url should look something like:
This toggles between the two desktop states such that the windows are either visible or temporarily hidden.
When the taskbar is hidden, it will "unhide" when the mouse is within a certain threshold of the bottom of the screen (currently about 30 pixels).
You may also use the left or right arrow keys in place of the number keys in order to cycle between the workspaces.
If nothing else is in focus, the desktop's menu will be opened. Otherwise, the context menus of the "current" element (window or icon) should be opened.
If either a folder is in focus or no windows are in focus (effectively giving the desktop the focus), then a "cursor" to be used for various icon operations will be toggled (it will be shown or hidden). Using the cursor allows for selecting icons, and for selected icons to be opened or to be moved in the desktop environment via the keyboard. The arrow keys will move the cursor. Whatever icon is indicated by the cursor will be called "the current icon."
A popup will be displayed with the file node properties of the current icon (name, size and last modified time).
If the current icon is not selected, pressing Enter will select it. Pressing the enter key again will open it. If the Alt key is used along with Enter, the icon will be immediately opened (without needing to select it first).
The selection status of the current icon may be toggled with the space bar. Alternatively, the icon cursor may be "dragged" by holding the Ctrl key while moving it with the arrow keys. In this case, the selection status of the current icon will be toggled when the cursor has moved away from it.
If the desktop or a folder window is active, all of the relevant icons will be selected.
All selected icons may be moved between folders by pressing 'm'. Desktop icons may also be moved to different locations on the desktop in this way. If the current icon is a folder, this will attempt to move the selected icons into the related folder. To move selected icons into a folder window, you must disable the cursor by toggling it with 'c'. The following shortcuts apply for when the selected icons are on the desktop, and are to be used in place of 'm'.
This doesn't use the actual fullscreen api. It only maximizes the application's area within the browser's available dimensions (window.innerWidth x window.innerHeight). This shortcut toggles the fullscreen status.
This does the same thing as fullscreening, except the application's titlebar and footer remain visible. Also, the taskbar will still remain showing (as long as it isn't being auto-hidden). This shortcut toggles the maximization status.
The window is sent to the taskbar. It can be brought back into focus either by clicking the iconified window or by cycling the window stack with the appropriate keyboard shortcut.
The window is "killed." If the window's application defines an 'onkill' method, it will be called.
The focused window will be moved by a certain increment (currently 50 pixels).
The focused window will be resized by a certain increment (currently 50 pixels). This method only affects the bottom and right edges of the given window.
This allows for the simple, fine grained positioning and resizing of windows via a translucent overlay that gives easy to grasp "handles." The window geometries are prominently displayed. This mode is particularly useful for users with accessibility needs.
If there are more than one non-overlapping windows, turning on this mode will attempt to "tile" the windows, so that their application areas are maximized. There is not currently a dedicated shortcut for this mode, but it is currently invoked by the "test function" shortcut, which is Ctrl+Alt+Shift+t (this requires "expert mode" to be enabled).
Since your OS probably already uses Alt+Tab to cycle through windows, the system uses Alt+` (the backquote/tilde key, above the Tab key). This cycles through the windows in the current workspace. The full desktop will always be made visible during any given cycle (the windows can be brought back into view via the "Show the desktop" shortcut).
This feature is currently only applicable for application developers with a local instance of the system. This will fetch the recent '.js' file for the given application window. The applications should report all "major" errors (like SyntaxError and TypeError).
This mode removes all interface elements from the taskbar, and the taskbar will not
"auto unhide" when the mouse cursor is near the bottom of the screen. The taskbar will
only unhide when taskbar hiding is explicitly toggled via the keyboard. This mode only
works in locally hosted instances of the system, or when an "expert flag" is appended to the url,
i.e. https://linuxontheweb.github.io/?expert=1.
The shell will attempt to execute all files that are entered as commands, and that use a case-insensitive '.sh' file extension. The current goal of the LOTW project is to be fully in compliance with the Shell Command Language, as published by the IEEE and the Open Group. Enabling various extensions to the Shell Command Language (such as exist in popular shells like bash) is not currently a priority.
Pressing the Tab key while typing the first token will attempt to perform a completion with the name of a command (if there are no tokens, all commands will be shown). For every other token, a file path completion will be attempted.
Piping between commands via the '|' token is supported. For example:
~$ ls | wc
Matching file system entries using character ranges (e.g. '[0-9]') the '*' and '?' characters is (largely) supported.
For example:
~$ echo file{1..10}.txt
Will output:
file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt file10.txt
There is support for parsing optional arguments in the system shell,
although the way to enable this feature is not well undocumented. Please see the global
variable, command_options, in the source file,
apps/Terminal.js.
Advanced users might be interested in the system's (JavaScript) implementation of the vim text editor. While there seem to be some WASM versions of "real" vim floating around the web, the potential use cases of such a thing in the system do not currently seem very overwhelming due to the difficulties inherent in modifying the C source code and fully integrating it into the highly "quixotic" web platform.