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 of the computer
Save display layout upon exit/poweroff/restart
Handle display connect/disconnect and resolution change events
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)
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->Launcher: run command and applications with history and completion
Tools->Finder: search files by name and contents Card
Implement “Compress” operation on files/directories

Preferences

Terminal

Done Functionality Project task
Preferences->Window: size, font, open/close behaviour
Preferences->Title Bar: title display components
Preferences->Linux emulation: character set and Escape key settings
Preferences->Display: scrollback buffer and others
Preferences->Shell: shell selection
Preferences->Startup: Terminal app startup behaviour
Preferences->Colors: colors for contents display
Preferences: apply on per window or in application-wide manner
Preferences->Window: size, font, open/close behaviour
Shell->Set Title…
Save, Save As, Open: session management functionality
Edit: select all, Find panel, Clear Buffer
Font selelection on per window basis
Support of drop from Workspace for paths
Terminal Services: configuration panel rewrite and implementation fixes
Fix reaction to window resize: cursor and commandline text position, scrollback buffer state

CentOS integration

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

GNUstep enhancements