Giter VIP home page Giter VIP logo

lateral's Introduction

Average time to resolve an issue Percentage of issues still open


Lateral is a work-in-progress multitasking monolithic kernel + OS meant as a fun summer project.

It has recently expanded into more than I could imagine, and I'm looking to implement a fully usable operating system in the future.

The Window Manager

Lateral's window manager contains a floating, widget-based desktop with custom syntax for defining window attributes and widgets via. Rust's macro system. Titles and (in the future) menu actions are displayed at the top blackout bar.

image Screenshot of the Lateral window manager (taken in v0.2.1)

Core Design

Windows can be controlled without a mouse in Normal Mode using the WASD keys, and the command-bar can be activated using TAB. Press SPACE to focus a window, which will capture all input. ESC will exit Focus Mode.

The command-bar is an essential design component inspired by apps like Krunner. While typing, the command-bar expands to show command parameters and a preview of the output (configured using the Lateral API). Commands return results via. a new window instead of plain text. This serves as a hybrid of the terminal and modern window managers, allowing all apps to provide output through the same paradigm.

Every app will execute through the command-bar. There is no included start-menu or terminal. When using Lateral, it's clear that nothing about it is POSIX-compliant. Each component is built on top of the window manager instead of the terminal, like most operating systems do.

Running Applications

It's important to note that executable files are not located in the same place as non-executable files. Different filetypes are separated into different "partitions" in the filesystem itself.

Section Members
apps Any executable binary/script
configuration Configuration files or serializable files
logs Application log files
misc Any other files

The command-bar will match any executables in the user's directory. This is where compiled or installed applications are stored, ex: apps: carter/hello-world. You can also explicitly run executables from other users' directories if you have permission, ex: system/help runs help in the system folder (owned by system) inside of the apps section.

Building and running

If you have GNU Make and QEMU installed, you can run make run-release ARCH=x86_64 to build for x86_64 and run in the QEMU emulator.

lateral's People

Watchers

 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.