classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view


Sergii Stoian

More than 15 years ago I joined the GNUstep development because I like NeXT's OS design, look and feel. At that time my dream was to return NeXTSTEP desktop to Linux. After 15+ years my dream still alive. I understand that GNUstep project goals somewhat changed over these years. And this is good until project is interesting to broad kind (goals, tastes) of people involved in it's development.

Finally I've decided to inform dear community about my project of last 2+ years.
I've named is NEXTSPACE. It is SPACE for NeXT applications.
You can find code and brief description of project here https://github.com/trunkmaster/nextspace.
It is not finished yet. However I use it as my desktop environment on daily basis.
You can find RPMs in Packages directory:
* libdispatch and libobjc2
* nextspace-core - system specific files: skeleton for user home firectory, shell profile, udev, polkit, etc.
* nextspace-gnustep - GNUstep libraries with my patches.
The next step is to build Frameworks, then Appplications. You can create new user with all needed files inside it's home dir. You can start Login with command 'systemctl start loginwindow' or login to newly created user from your login application (it should start ~/.xinitrc in user home dir). That's it.

Some noticeable achievements I've got:
* I integrated Workspace and WindowMaker into Workspace Manager. That's it - one application. It was made possible by using libdispatch and libobjc2. For example, when non-GNUstep application starts Workspace's Processess panel shows it with info grabbed from WindowMaker. Another example: when you start application by double-clicking in File Viewer and appicon already exists in Dock icon fly from FileViewer's to docked appicon.
* In general Workspace is ready to be NSWorkspace povider.
* GNUstep and WindowMaker unified look and feel (menus and titlebars, fonts, miniwindows).
* Media management: Workpace automatically mounts removable media inserted (UDisks integration).
* Terminal: a lot of improvements. It's better to see it.
* -NXAutoLaunch option implemented. Now applications started with this option doesn't show menu at all. No focus flickering. Smooth as it should be.
* Preferences: everything you need to set up must be here. Not only GNUstep NSGlobalDomain options (localization, fonts) but system specific options also (display, keyboard, mouse, sound, networking).
* A lot of other things I can't recall now but I write it down someday. ;)

There are some facts I don't like and want to change:
* NEXTSPACE is based on quite outdated release of GNUstep (base 1.24.8, gui and back 0.24.1);
* It is based on ART backend. I want to use Cairo backend but ART has usefull features (.nfont packages provide ability to set hinting and antialiasing options on per font basis).
* DE needs documentation. I plan to discuss NSHelpPanel implementation with you guys. First of all we need to define format for help files.
* It is developed and tested on CentOS 7. I have no plans in near future to port it somewhere else. I need to finish what I've started first.

PS: My apologies to community for being off the track so long. Now you know why.
My current strategy is the following:
1. Finish NEXTSPACE to be feature rich, stable and fast. I guess this step will be done until next summer.
2. Return to development of ProjectCenter. First of all PC badly needs good editor, then GORM interoperation and next debugger.
I hope my work will be useful not only for me but for GNUstep project also.

Sergii Stoian, ProjectCenter maintainer

Gnustep-dev mailing list
[hidden email]