Skip to content

Project tasks and goals

Sergii edited this page Sep 27, 2018 · 9 revisions

Goal

The main goal of NEXTSPACE project is to create usable desktop for everyday usage with look and feel of NeXT’s OPENSTEP desktop enviroment.

Goal achievement is composed of several blocks of tasks:

  1. User applications.
  2. GNUstep framework ehnacement at some points to create application experience of distinct type.
  3. CentOS integration: keyboard, mouse, sound, networking, display, media, power management functions of desktop reactions and user-side configurations.

Below is a description functionality defined for release 1.0.

Applications

Login

Done Functionality Project task
start as systemd service
initialize and start Xorg on application start
setup display layout and place itself on display with mouse cursor
setup mouse cursor and desktop background
user authentication
set environment for authenticated user
wait for user session to finish
show Login panel when user session was finished
poweroff and restart computer
save display layout upon exit/poweroff/restart
handle display connect/disconnect and resolution change events
implement Preferneces module

Workspace

Done Functionality Project task
Smooth start of Workspace application after logon (without focus flicker between applications)
Browsing filesystem with “Browser” viewer
Browsing filesystem with “Icon” viewer
Shelf and Path view implementation
File/directories operations with drag and drop (copy, move, link, destroy, duplicate)
Implement “Compress” operation on files/directories
Open applications, files by assosiated applications with visual feedback
Media management: automount, eject, mount (Check for Disks)
Applications/processes management: register (show in Processes->Applications), kill, activate
Display background processes in Processes->Background
Recycler: locked icon in Dock, display number of items, restore to original location
Save/restore session: opened apps and window with state (minimized, maximized, shaded)
Window management: maximize with Alternate+Click on Miniaturize titlebar button
Window management: kill with Alternate+Click on Close titlebar button
Window management: show active virtual desktop number on Workspace application icon
Window management: adopt screen resolution changes without restart
Style: make style(tile, font) of appicons and miniwindows identical for GNUstep and X11 applications
Style: make miniaturize and close titlebar buttons visual feedback identical to close buttons on GNUstepp apps tear-off menus
Tools->Console: shows messages from applications started during user session
Tools->Inspector: Attributes, Contents, Tools, Permissions
Dock: show/hide with keyboard shortcut, autostart docked applications (with configuration in Workspace->Info->Preferences)
Icon Yard: show/hide with keyboard shortcut
Tools->Finder: search files by name and contents
Tools->Launcher: run command and applications with history and completion

Preferences

Terminal

Done Functionality Project task
rewrite preferences
Shell
Startup file
Sessions (save to file, load via File>Open…)

CentOS integration

Done Functionality Task Context
Create Plymouth boot screen
UDisks integratation for media management NXSystem, Workspace
XRandR integration for display and screen management NXSystem, Workspace, Preferences
Xorg mouse and keyboard configuration NXSystem, Preferences
Sound subsystem(ALSA, PulseAudio) integration NXSystem, Preferences
Network management (NetworkManager) subsystem integration NXSystem, Preferences
Power management subsystem (UPower) integration NXSystem, Preferences

GNUstep enhancements