Xah Linux

By Xah Lee. Date:

one day am gonna start my own linux. Here's some properties. (this post is rambling. ignore it now)

User Interface

Keyboard Input User Interface

key combination will be ban'd, except when the command makes sense for repeating. [see Keyboard Shortcut Design: Repeatable vs Non-Repeatable Commands and Keys]

basically, almost all the keyboard shortcuts you are familiar will be gone. Instead, you have a set that's far more efficient and ease to carry out.

all keyboard shorts will be all tied to menu, as in Microsoft Windows system (technically called accelerators) Today, lots keys that used to be in menu is removed from the menu. Add them back. The menu serves in part as a complete interactive guide to key system. And if you type the key fast, the menu won't even show.

the activation key (For example, Alt+Space or Alt) will be the ▤ Menu key. (but this needs to be decided. It could be Alt or ❖ Window. It needs to be a most easy key, as it is fundamental to all key operations. [see The Roadmap to Completely Replace Emacs's Key System, Part 2])

Graphical User Interface vs Command Line, a Unified Design

No Virtual Screen

virtual screens (aka workspace) will be ban'd. There'll be just one.

Why Tiling Window Manager Sucks (xmonad, ratpoison, dwm, etc))

Xah Linux Setup

No Bitmapped Icons

bitmapped icons will be ban'd mostly. Use SVG and line art instead.

in any icon or image artwork for UI, there will be no shadow, glowing, gradient, shiney glass, type of style. They'll all be plain flat line art, with color.

Ban Double Click

double click will be ban'd. Single click instead. [see Windows: Single-click Open File]

in GUI, there will be no round corners, use straight edge. No gradient, solid color only.

Flow Layout, Logical Position

everything will be flow layout instead of fixed-layout, as much as possible. [see Web Design: Fixed-Layout vs Flowed-Layout]

there'll be no fixed-size small dialogs. User Interface Design: Peepshow Windows

context menu will be replaced with pie menu.

General Principles of User Interface Design

for GUI or interface and everything, functionality and efficiency runs supreme. They will never be sacrificed a bit for esthetics.

things should be simple, and works. No effort should be spent on making things pretty, when function or user experience sucks (such as linux Desktop, while the Ubuntu sends great amount time to create Unity fluff. compiz is another idiotic example.)

btw, all the above does not mean tech geeking, like the typical linux idiots, in creating tiling window managers, or other drastic unusable un-discoverable UI such as {Openbox, Fluxbox, IceWM}.

the system will be intuitive, joy to use, no learning time. mom and pop will be able to use it right away. The system may not be “pretty”, but will be extremely beautiful and artistic, to real artists. (For example, instead of stupid shiny icons, we'll have real line art artwork by artists.)

Programing Language

no shebang line

shebang line will be ban'd. [see Unix Shell Shebang Hack #!]

no shell script

there shall not be shell scripts. Though this will be a lot work that i don't see myself able to do (For example, rid of startup scripts). Slower startup is OK. Possibly ban awk, sed, perl. Possibly ruby, haskell, erlang, will be the system's language.

No Make

make and autoconf, etc, tech that's from 1970s, will be ban'd. Use a modern build system, such as from ruby.

Dir Structure

the package manager will probably be Nix package manager

file structure will probably be like GoboLinux

actually, hard coded tree structure of directory will probably be ban'd. Instead, use tags for each directory. There might be a interface as nested dir; the dir's tags will be used as data on nesting info.