Hexbyte  Hacker News  Computers trunkmaster/nextspace

Hexbyte Hacker News Computers trunkmaster/nextspace

Hexbyte Hacker News Computers

NEXTSPACE is desktop environment that brings NeXTSTEP look and feel to Linux. I try to keep the user experience as close as possible to the original NeXT’s OS. It is developed according to “OpenStep User Interface Guidelines”.

If you’ve noticed or ever bothered with naming convention all of these “NeXTSTEP, NextStep”, here is explanation.

Hexbyte  Hacker News  Computers NEXTSPACE example

Hexbyte Hacker News Computers What NEXTSPACE is?

Hexbyte Hacker News Computers Applications


Simple login panel where you enter your user name and password.


  • File Viewer – file system navigation, create, copy, move, link files/directories.
  • Window manager – app icons for X11 application, move, resize windows, workspaces, dock, starts applications after logon.
  • Process – shows information about X11 and GNUstep applications, background processes of file manager.
  • Media – automatically mounts removable media, has menu item to eject/unmount removables.
  • Other: inspectors, finder, console messages and preferences for mentioned the parts of Workspace.


Settings for locale, fonts, displays (size, arrangment), keyboard, mouse, sound, network, power management. It is designed to manage settings related to: GNUstep (NSGlobalDomain), WindowMaker (~/Library/Prefrences/.NextSpace/WindowMaker), Xorg (keyboard, mouse, displays), CentOS Linux (sound, networking, power).

Hexbyte  Hacker News  Computers Localization Hexbyte  Hacker News  Computers Display


Terminal with Linux console emulation. I’ve started with version created by Alexander Malmberg and make numerous fixes and enhancements. Original application can found at GNUstep Application Project site. Enhancement to original application are:

  • Preferences and Services panels are rewritten from scratch.
  • Numerous fixes and enhancements in: color management (background, foreground can be any and can be configured in preferences, bold, blink, inverse, cursor colours), cursor placement fixes on scrolling and window resizing, ‘Clear Buffer’ and ‘Set Title’ menu items.
  • Now you can search through the text displayed in Terminal window (Find panel).
  • Session management: you can save window with all settings that are set in preferences panel (including shell/command) to a file and then open it. Configuration with multiple windows is supported.

Hexbyte  Hacker News  Computers Terminals


Simple text editor that supports RTF and RTFD. It is simple application from NeXT Developer demos.


Image viewer. Nothing interesting yet. Maybe replaced by some other image and document (PDF, PostScript, etc.) viewing application in future.

Everything else is optional and will be developed upon completion of core applications listed above. Among them:

  • TimeMon: system load monitoring. Version from GNustep Application Project.
  • Weather: Shows weather conditions from Yahoo! weather site. Proof of concept (no preferences, no forecast, shows weather for Kyiv, Ukraine).

Hexbyte Hacker News Computers Frameworks

  • NXAppKit: GUI classess that can be usefull in multiple applications (for example: ClockView, ProgressBar and ProgressPie).
  • NXSystem: system-specific classes go here (UDisks, UPower, D-BUS, XRandR, XKB, etc.).
  • NXFoundation: non-graphical utility classes (custom defaults and bundle management, etc.)

‘NX’ prefix is a tribute to the NeXTstep classes back in early 90th but has no connection to original NeXT’s API.

Hexbyte Hacker News Computers Core technologies it is based on

  • CentOS Linux 7 and its technologies (systemd, UDisks2, Xorg, etc.): stable, well supported enterprise level OS.
  • Compiler: Clang 3.8.1
  • Objective-C runtime: libobjc2 by David Chisnall.
  • Multithreading: libdispatch by Apple.
  • OpenStep implementation: GNUstep. This is where I started from back in 2001. Additional functionality and fixes will go upstream when it will be ready.
  • WindowMaker: great window manager. It is still alive and in active development. All changes I’m packaging as a set of patches (to the original 0.95.7 version) which can be pushed to upstream project later.

Hexbyte Hacker News Computers Status of implementaion

Hexbyte Hacker News Computers Why am I doing this?

  1. I like look, feel and design principles of NeXTSTEP.
  2. I think GNUstep needs reference implementation of user oriented desktop environment.
  3. As main developer of ProjectCenter (IDE for GNUstep) I need desktop environment where ProjectCenter can be developed, tested and integrated with.
  4. Maybe some day it will become interesting environment for developers and comfortable (fast, easy to use, feature-rich) for users.

Unlike other ‘real’ and ‘serious’ projects I’ve not defined target audience for NEXTSPACE. I intentionally left aside modern UI design trends (fancy animations, shadows, gray blurry lines, flat controls, acid colours, transparency). I like this accurate, clear, grayish, boring UI that just not hinder to get my job done…

Hexbyte Hacker News Computers I will not plan to do

  • Porting to other Linux distributions and operating systems for now. I want fast, accurate and stable version for CentOS 7 at last. However, NEXTSPACE was designed to be portable and this point maybe changed in future.
  • WindowMaker only fork (Workspace includes WindowMaker though).
  • GNOME, KDE, MacOS rival in terms of visual effects, modern design principles, look and feel.
  • Implement MacOS X like desktop paradigm. There is another good place for this — √Čtoil√©.