Giter Site home page Giter Site logo

mezzano's Introduction

Mezzano, an operating system written in Common Lisp.

C-<key> means to hold the control key while typing <key>.
M-<key> means to hold the alt or meta key while typing <key>.
Alphabetic keys typed with control or meta ignore case. C-A and C-a are the same
key, while C-! and C-1 are different.

The default keymap is En-GB, use M-F12 to switch between En-GB, En-US,
No-BK, and PanCyr keymaps.
Windows can be moved by holding the Alt key and dragging.

For help & support, join #mezzano on Freenode (irc.freenode.net)

M-Esc will attempt to interrupt the thread associated with the current window.
This won't work if the thread is stuck in a tight loop or if the thread is blocked.

Line editing
------------
The line editor supports most standard line navigation and editing commands.

C-F          Move forward (right) one character, also bound to Right-Arrow.
C-B          Move backward (left) one character, also bound to Left-Arrow.
C-A          Move to beginning of line, also bound to Home.
C-E          Move to end of line, also bound to End.
M-F          Move forward one word.
M-B          Move backward one word.
M-P          Find previous (older) matching history item, also bound to Up-Arrow.
M-N          Find next (newer) matching history item, also bound to Down-Arrow.
C-D          Delete the next character, also bound to Delete.
Backspace    Delete the previous character.
M-D          Delete the next word.
M-Backspace  Delete the previous word.
C-K          Delete from the cursor to the end of the line.
C-C          Enter the debugger using BREAK.
C-G          Invoke the most recent ABORT restart. This will usually clear
             any input and return you to a prompt.
Tab          Cycle through completions for the current symbol.

Editor commands
---------------
The editor mostly follows Emacs conventions.

C-F          Move forward (right) one character, also bound to Right-Arrow.
C-B          Move backward (left) one character, also bound to Left-Arrow.
C-N          Move to the next line (down), also bound to Down-Arrow.
C-P          Move to the previous line (up), also bound to Up-Arrow.
C-A          Move to beginning of line.
C-E          Move to end of line.
M-<          Move to the beginning of the buffer, also bound to Home.
M->          Move to the end of the buffer, also bound to End.
C-V          Move the point to the bottom of the screen and recenter, also
             bound to Page-Down.
M-V          Move the point to the top of the screen and recenter, also
             bound to Page-Up.
M-F          Move forward one word.
M-B          Move backward one word.
C-M-F        Move forward one s-expression.
C-M-F        Move backward one s-expression.
C-D          Delete the next character, also bound to Delete.
Backspace    Delete the previous character.
M-D          Kill the next word.
M-Backspace  Kill the previous word.
C-K          Kill characters from the point to the end of the line, or kill
             the newline if the point is at the end of the line.
C-M-K        Kill the next s-expression forward.
C-W          Kill the area between the point and the mark.
C-Y          Yank the last killed text back into the buffer at the point.
C-L          Recenter the display on the point.
M-L          Redraw the screen.
C-Q          Insert the next key typed without intepretting it as a command.
C-Space      If the point is at the mark and the mark is active, deactivate
             the mark. Otherwise, activate the mark and move it to the point.
C-X C-X      Swap the point and the mark.
C-X C-F      Open or create a file.
C-X C-S      Save the current buffer. If the buffer has no path, you will be
             prompted for a location to save it.
C-X C-W      Save the current buffer with a new path.
C-X b        Switch to a different buffer.
C-X C-B      List buffers.
C-X k        Close an open buffer.
C-G          Abort the current command.
C-C C-C      Evaluate the current top-level form.
C-C C-A      Move to the start of the current top-level form.
M-x repl     Create an editor-based REPL.

Swank
-----
This release includes Swank 2016-03-04. A server, listening on
port 4007, can be started by running the Swank application from
the desktop.

Forwarding for port 4007 will need to be enabled in the virtual
machine's settings. In VirtualBox this is done throught the port
forwarding settings, which can be accessed through
Settings -> Network -> Advanced -> Port Forwarding

Major changes since Demo 1
--------------------
Many improvements to conformance, stability and performance.
The editor has been greatly improved, thanks to Burton Samograd.
The system now functions correctly on computers with more than 1GB of RAM.
The allocator and garbage collector now make much better use of available
memory, with far fewer GC cycles occuring.
(ROOM T) prints more detailed information about allocated objects.
Transparency and premultiplied alpha support in the GUI.
And more!

Blinkenlights
-------------
A number of status lights are displayed at the top left of the screen.
From left to right:
Green        Disk read in progress.
Red          Disk write in progress.
Purple       GC in progress.
Cyan         Activity, system is not idle.
Yellow       Snapshot in progress.
Brown        Page fault being serviced.
Light Green  Network activity.

The entire top line will turn red if the system panics.

Memory Monitor
--------------
The memory monitor displays a bitmap indicating how each page of physical memory
is used. Colours indicate type.
Blue         Free memory.
Red          Wired memory.
Brown        Wired backing memory, used during a snapshot.
Green        Active in-use memory.
Dark green   Active in-use memory ready to be written to disk.
Purple       Inactive memory ready to be written to disk.
Pink         Page tables.
Grey         Other.
White        Mixture.
Black        Unused or not present.

Included Libraries
------------------
ASDF 2.26
Alexandria 5a17c07
Babel 6aaea30
Chipz 0.7.4
cl-jpeg 1.27
cl-vectors 0fda45f
iterate 1.4.3
png-read 991ba74
trivial-features 0.8
Slime 3c65fcb
zpb-ttf 1.0.2

Full source code is available under LOCAL:>Source>

"Hypothymis azurea - Kaeng Krachan" by JJ Harrison ([email protected])
[CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
https://commons.wikimedia.org/wiki/File:Hypothymis_azurea_-_Kaeng_Krachan.jpg

"Mandarin Pair" by © Francis C. Franklin / CC-BY-SA-3.0.
Licensed under CC BY-SA 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Mandarin_Pair.jpg

Includes Dejavu Fonts 2.35 (http://dejavu-fonts.org/)

Some icons from Icojam (http://www.icojam.com)


Experimental whole-system transparent persistence support
-------------------------------------------------------
You might wreck your install if you try using this feature.
Take a snapshot using your virtual machine before using it, or back up your disk.

Close all running programs (optional, strongly recommended).
Run (mezzano.supervisor:snapshot) in a REPL.
Wait for the yellow light to turn off.
Reboot.

If the system does not boot properly then restore your backup and try again.



Development continues!

mezzano's People

Contributors

froggey avatar varjagg avatar burtonsamograd avatar abridgewater avatar twopir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.