Workspace

Description :   

Workspace is a developer oriented editor. The editor include several functionality like syntax highlighting, powerful search, ctags, make interface, gdb interface and many more. To render the developer's life more easy, several utility have been incorporated into the application like basic terminal, basic image viewer, basic browser and basic archives extracter.


Help Topics

Application Files
Installation
Configuration

Global Features
Command line options
Modules priority
Multi-language UI
Menus

File
Edit
Action
Window
Help

Commands
Helpers

Left Pane
File systems

Filter
Filesystems Tree

Bookmarks

Bookmark Types

Passive Ctags
Active Ctags
Statistics

Main Pane
Editor

Features
Search Dialog
Toolbar
Shortcut bar
Status bar
Right click menu
Hotkeys

Browser
Terminal
Viewer
File Manager
Archive Manager

Bottom Pane
Make Interface
Gdb Interface

Configuration
Preferences

Buttons
Application

General
Commands
Helpers
Editor

General
Syntax Highlighting
Ctags
Browser

General
Cache
Terminal

General

Miscelaneous
Hot keys

Application
Editor
Browser
Terminal

Application Files

Installation    Install from the .qpr file thru the package installer.
/usr/photon/bin/ws    The application executable.
/usr/shared/workspace/content.html    This help file.
/usr/shared/workspace/history.html    The version history help file.
/usr/shared/workspace/notes.html    The version notes help file.
/usr/shared/workspace/Editor.cfg    Basic configuration file for the editor. ( Syntax Highlighting, Editor color and font, Editor Ctags )
/urs/shared/workspace/General.cfg    Basic configuration file for the application. ( commands and helpers )
/opt/bin/ctags_shmem    Ctags 5.4 executable.

Configuration    
These are generated by the application in a sub-directory name wokrspace in the user HOME directory. ( each user as it's own files ) These files are edited thru the Preferences dialog.
General.cfg    Application General configuration ( Commands and helpers )
Editor.cfg    Editor configuration. ( General, Syntax Highlighting and Ctags )
Browser.cfg    Browser configuration. ( General and Cache )
Terminal.cfg    Terminal configuration. ( General )
Workspace.cfg    Application context. Save on exit and loaded on startup. ( Pane states, combobox lists, editor search dialog states )
Bookmarks.list    The list for your bookmarks.
Preload.list    The list of directory from witch we have to load tags at startup.
Preload.tags    All the tags generated using the Preload.list, these will be loaded a Workspace startup.
Hotkeys.cfg    Hotkeys configuration. ( General Hotkeys and Editor Hotkeys )
Make.cfg    Make interface configuration.
Gdb.cfg    Gdb interface configuration.
Gdb.init    Gdb initialisation file. ( the "--command=File" option to gdb )

Command line options

Options:
-s server    Server node or device name
-x x    Initial x position
-y y    Initial y position
-h h    Initial h dimension
-w w    Initial w dimension
-S i|m|n    Initial window state: i=iconified, m=maximized, n=normal

-l xxx    Goto line ( if tags are enable and -T is used, this option has no effect )
-T xxx    Goto tag
-p xx    Start at priority
-d    Start with deamon thread

    Will launch a TCP/IP client and try to send the files to be openned to a ws deamon ( TCP/IP server, IP 127.0.0.1, port "deamon port " ). If no server is present, will launch a ws deamon thread ( TCP/IP server ) at the specific port.

-o    Disable the usage of offscreen context ( needed for phindows and phditto )
-B x    0 Force bottom pane not visible, 1 force bottom pane visible
-L x    0 Force left pane not visible, 1 force left pane visible
-t x    0 Force Editor Ctags disable, 1 force Editor Ctags enable
-P xxx    Start deamon thread on this port ( default 7000 )

Examples:
ws -s4
    Run using Photon server on node 4
ws -l 50 File.c
    Run with File.c openned and cursor at line 50
ws -x10 -y10 -h200 -w300
    Run at initial position 10,10 with initial dimension of 200x300.

Module priority


Description   

When opening a file, the file extension may be associated to different Workspace module. Here is the priority of each module within Workspace, when opening files.


Priorities :   
1 ) Helpers
2 ) Archiver
3 ) Browser
4 ) Viewer
5 ) Editor


Example :   

.qpr are supported by the Archive Manager, but if you configure a helper ( pkg-installer ) for .qpr then the helper will be launched.


Multi-language UI


Description   


The UI language can be configure from an option in the Preferences->General. All the menus, balloons, dialogs, buttons and messages will be in the selected language.

Supported languages   

English
French
Spanish
Russian
German
Japanese
Portugese
Korean
Chinese


Menus
File

Favorites   List of last 10 files or URL openned.
New

Text Editor   Make editor active and open a new empty editing window.
Browser   Make browser active and open a new browser window.
Terminal   Make terminal active and open a new terminal window.
Open   Open a file thru a File Selector dialog and make the corresponding window active.
Save   Save the active window.
Save as   Save the active window thru a File Selector dialog.
Save All   Save all unsaved openned window.
Close   Close the active window.
Exit   Save the application settings and exit.
 
Edit

Cut   Cut selection from the active window and copy selection to the Photon clipboard.
Copy   Copy selection from the active window to the Photon clipboard.
Paste   Paste the content of the Photon clipboard in the active window at the cursor position.
Delete   

Text   Delete selection from the active window.
Line   Delete the current line in the active window.
End of the line   Delete from the cursor till the end of the current line in the active window.

Undo   Undo the last edition of the active window.
Redo   Redo the last undo of the active window.
Indentation   

Increase   Increase indentation of selected lines by one.
Diminish   Diminish indentation of selected lines by one.

Select   

Word   Highlight the word under the cursor.
Line   Highlight the cursor line.
All   Highlight the whole file.

Find / Replace   Open the Search dialog.
Preferences...   Open the Preferences dialog.
 
Action

Jump

Go to tag   Jump in the file and at the line, where the tag under the cursor is defined.
Backward   Go back to the file and line before the last jump.
Foward   Redo the last undo of a jump.

Convert the file

DOS to QNX   Convert every line ending by "\r\n" ( CR,LF ) to "\n" ( LF ).
QNX to DOS   Convert every line ending by "\n" ( LF ) to "\r\n" ( CR,LF ).
Encoding   Open the "Convert File Encoding" dialog, allowing you to convert the current file encoding to another one of your choise.

Cleaning of spaces   Remove every tabs and spaces at the end of lines.
Convert tabs to spaces   Convert each tab characters in the file to the right amount of space characters to keep the tab alignment.
Window

Editor

File names   Make editor active and "File name" the active window.
Close all editors   Close all editor window.
Browser

File names   Make browser active and "File name" the active window.
Close all browsers   Close all browser window.
Terminal

Console name   Make terminal active and "Console name" the active window.
Close all terminals   Close all terminal window.
Viewer

File names   Make viewer active and "File name" the active window.
Close all viewers   Close all viewer window.
Close all   Close all windows.
View Left Pane   Toggle left pane state ( hide and show ).
View Bottom Pane   Toggle bottom pane state ( hide and show ).
 
Help

Content   Display this page in a new browser window.
Version   

History   Feature and bug fixes evolution of Workspace thru the different releases.
Notes   Important What and Why of the current version of Workspace.

Licenses   Workspace license agreement and a copy of the Ctags license agreement.
Home Page   Opens a browser to Workspace Home Page ( http://Michel.Belanger.name )
About   Open the Help about dialog.

Commands


Description   

Commands is a sub-menu that appear in the Filesystems right-click menu, in the Editor right-click menu and in the Browser right-click menu. The Command sub-menu allows you to call and extermal application and pass it workspace current context as it's command line arguments. The commands are fully configurable thru the Preferences dialog in the Application Commands section.


Example :   You could configure a command that would spawn phfind and pass the selected directory in a Filesystem as directory to search in and the selected text in the editor as the file to search for.

Name   find file
Executable   phfind
Arguments   %Fd -e ws -n %Es
tty   No
Confirm   No

Example :   You could configure a command that would spawn phfind and pass the selected directory in a Filesystem as directory to search in, but you want to be promtp thru a dialog for the file name to search for.

Name   find file
Executable   phfind
Arguments   %Fd -e ws -n %Ui
tty   No
Confirm   No

Example :   You could configure a command that would spawn /bin/rm and pass the selected directory in a Filesystem as directory to delete and you want a confirmation dialog before the command is spawn.

Name   Remove Directory
Executable   rm
Arguments   -Rf %Fd
tty   No
Confirm   Yes

Helpers


Description   

Helpers are exactly the same as in every web browser, exept in workspace they work thruout the application. Every time you open a file thru double click in a Filesystem, right click menu in a Filesystem, thru the File menu, from the a browser download, if a helper as been configured for that file extension, the helper will be spawn. The Helpers are fully configurable thru the Preferences dialog in the Application Helpers section.


Example :   You could configure a Helper that would spawn realplay on a .rm file openning or a .rm file download

Description   Real Player
Extension   .rm .ram
Application   /usr/real/bin/realplay
Arguments   %f
Tty   No

Example :   You could configure a Helper that would spawn phplay on a .mpg file openning or a .mpg file download

Description   Video/mpeg
Extension   .mpg
Application   phplay
Arguments   -u %f
Tty   No

File systems


Description   

Filesystems are located in the left pane of the application. There are two of them , idententical exect for there root directory. One pointing to the root directory "/" the other one to the user HOME directory.


Filter   

A string that you can use to limit the files listed, by specifying a pattern that the filenames must match. The default is *, but you can use values such as *.c, *.[ch] and so on. You can specify multiple patterns by separating them with a space or a comma (for example, *.gif, *.jpg).


Filesystem Tree   
The items in the Filesystem tree are displayed with images to show what type they are ( file, directory or links ). Directory items are expandable and can show the files, directories and links under them.

To expand and collapse items, you can use the pointer or these keys:

To Expand a directory press one of: Enter, -->, or + on the keypad.
To Collapse a directory press one of: Backspace, <--, or - on the keypad.

On a pointer double click :

If the selected item is a directory or link to a directory, the directory will be openned in the File Manager.
If the selected item is a file or link to a file, the file will be openned in the Editor, the Browser or the Viewer depending on the file extension.

To change the left pane filesystem root directories :

Select the filesystem title and select a new root directory thru the dialog.
Right click menu

Command   Gives you access to the Commands you have previously configured thru the Preferences dialog in the Application Commands section.
Open   Open the currently selected file.
Add to bookmarks   Add the currently selected item to the Bookmarks.
Make   Setup the Make Interface with the currently selected directory.

Bookmarks


Description   

Bookmarks are located in the left pane of the application. The bookmarks are the same as in any browser, they are a saved location. The differences in workspace is that you can bookmark URL, but also files and directory.


Bookmark Types   Each bookmarks type have a distinc icon in the bookmarks tree.
Directory   Will open the File Manager on the directory bookmarked.
URL   Will open the Browser and load the URL bookmarked.
html Files   Will open the Browser and load the html file bookmarked ( same icon as URL ).
Image Files   Will open the Viewer and load the image file bookmarked.
Helper Files   Will spawn the Helper associated with the bookmarked file extension.
Editor Files   Will open the Editor and load the file bookmarked.
Right click menu
Active Mode   
Edit Mode   Switch the bookmark list to Edit mode.
Edit Mode   
Add Folder   Creates a new directory after the currently selected item. If the currently selected item is a directory, the new directory will be a sub-directory of that item.
Edit   Thru dialogs, give you access to the name and location of the item to change them.
Cut   Remove the currently selected item, and copy it to an internal buffer.
Copy   Insert the item in the internal buffer, after the currently selected item. If the currently selected item is a directory, the item will be inserted as first item in the directory.
Delete   Remove the currently selected item from the list.
Active Mode   Switch the bookmark list to Active mode.

Passive Ctags


Description   

Passive Ctags are located in the left pane of the application. Workspace fully supports interfacing with ctags, but unlike other editors your don't have to pregenerate the tag files in each directory. Workspace calls ctags on the fly, when needed, and parse ctags outputs to retreive the information. Passive Ctags unlike Active Ctags is not automated. It's result list is generated only when you call Passive Ctags from the Editor or the File Manager or when you change the type of tag to be listed.


External process needed :   /opt/bin/ctags_shmem ( provided in the .qpr )
Right click menu
Info   Brings up a dialog with information about the currently selected tag ( name, type, file, line and definition ).
Insert   Insert the currently selected tag name in the Editing Window at the cursor position.
Go to   Open the file and go to the line where the currently selected tag is defined.


On a pointer double click :   Workspace will open the file and go to the line where the currently selected tag is defined.


Active Ctags


Description   

Active Ctags are located in the left pane of the application. Workspace fully supports interfacing with ctags, but unlike other editors your don't have to pregenerate the tag files in each directory. Workspace calls ctags on the fly, when needed, and parse ctags outputs to retreive the information. Active Ctags unlike Passive Ctags is fully automated. The tree is build as tag are loaded according to configuration in Preferences Editor Ctags. Tags from Active Ctags are also used in Syntax Highlighting according to configuration in Preferences Editor Syntax Highlighting in the Ctags tab.


External process needed :   /opt/bin/ctags_shmem ( provided in the .qpr )


On a pointer double click :   If the selection is a tag, Workspace will open the file and go to the line where the tag is defined. If the selection is a file, Workspace will open that file.


Statistics


Description   

When the view is invoke, a snapshot of the editor is taken and a tree is build with the information.


Editor

External process needed :   /opt/bin/ctags_shmem ( provided in the .qpr )

Features   

Syntax Highlighting   

Syntax highlighting in Workspace is not specific to a single language. The behavier of the parser, the language keywords and the Ctags support can all be configured accoding to the language you are coding. It can also all be configured thru the UI in the Preferences dialog.

Undo/Redo buffer for editing   

The buffers are a circular event list of 150 entries. It records editing event thru the editing windows. This means insert/delete/replace of character/characters are recoded. To undo/redo events in the list the default hokeys are Ctrl-Z and Ctrl-Shift-Z.

Undo/Redo buffer for file navigating   

The buffers are a circular event list of 100 entries. It records file jumps events. This means when you jump to a specific file and line using the Search dialog result list or a Tag Jump or the Window menu, your current file and position is recorded in the list. You can then navigated the previous file positions using the list. To undo/redo events in the list the default hotkeys are Ctrl-J and Ctrl-Shift-J.

Pattern matching   

Bracket and parenthese matching in Workspace is different then most editor. Workspace does a pattern matching, using an openning pattern and a closing pattern tofind and highlight the match. This allows a developper to configure the match highlighting to the syntax of the language he is currently coding. This is configured thru the Preferences dialog in the Editor->Highlighting->Special section.

Auto-complete   

The auto-complete feature in Workspace uses the tags from the Active Tags section to find possible completion. If only one completion was found, it will be inserted automaticly. If multiple completion are possible, a list of possibility will be created for the user to choose from. ( default hotkey is Atl-A for auto-complete )

Ctags support   

Syntax Highlighting   

You can highlight tags from the Active Tags. This makes it easier to spot typos and when you can jump to a tag definition. This is configured thru the Preferences dialog in the Editor->Highlighting->Tags section.

Tag jumps   

When the word at the current cursor position is defined in the Active Tags, you can jump to the tag definition ( jump to the file and line where the tag was defined ) ( default hotkey is Ctrl-T ).

Auto-Complete   

Tags from the Active Tags are use for the auto-complete feature.

File encoding   

Workspace support most file encoding. The file is loaded into memory using the original encoding and is translated to/from UTF8 as needed for the UI.

Search Dialog   

Main pane

Find arrow

Toggles the options pane.

Search pattern

Pattern use for searching.

Search pattern paste

Paste the clipboard into the Search pattern text box.

Search type

Next   Search the next occurrence of the search pattern from the cusor position.

Options

Start from the top
Start from the bottom
Wrap search
Use regular expression
Backward
Case sensitive

Current File   Search all occurrences of the search pattern in the current file and put the results in results pane.

Options

Use regular expression
Case sensitive

Opened Files   Search all occurrences of the search pattern in all the opened file and put the results in results pane.

Options

Use regular expression
Case sensitive

Directory   Search all occurrences of the search pattern in all the files of the specified directory ( see options ) and put the results in results pane.

Options

File Filter
Directory
Use regular expression
Case sensitive
Recurse directory

Results   Search all occurrences of the search pattern in the results and put the results in results pane. File and line as to match with the previous search result.

Options

Use regular expression
Case sensitive

Tags   Search all occurrences of the search pattern in the Actives tags and put the results in results pane.

Options

Use regular expression
Case sensitive

Replace pattern

Pattern use for replacing.

Replace pattern paste

Paste the clipboard into the Replace pattern text box.

Replace type

Selection   Replace the selected text with the replace pattern.

Options

None

Current File   Search all occurrences of the search pattern in the current file and replace them with the replace pattern.

Options

Use regular expression
Case sensitive
Replace confirm
Save files after replace
Save confirm

Opened Files   Search all occurrences of the search pattern in all the opened file and replace them with the replace pattern.

Options

Use regular expression
Case sensitive
Replace confirm
Save files after replace
Save confirm

Directory   Search all occurrences of the search pattern in all the files of the specified directory ( see options ) and replace them with the replace pattern.

Options

File Filter
Directory
Use regular expression
Case sensitive
Replace confirm
Recurse directory
Save files after replace
Save confirm

Results   Search all occurrences of the search pattern in the results and replace them with the replace pattern. File and line as to match with the previous search result.

Options

Use regular expression
Case sensitive
Replace confirm
Save files after replace
Save confirm

Options pane

File Filter   Use in a search thru directory to filter the files to search.
Start from the top   Start the search from the first character of the file.
Start from the bottom   Start the search from the last character of the file
Wrap search   Treath the file as if it was circular
Use regular expression   The search pattern is a regular expression.
Backward   Search from the cursor position toward the beginning of the file.
Case sensitive   The search as to match the Upper/Lower case of the characters.
Replace confirm   When replacing a match propmt the user for confirmation.
Recurse directory   When searching a directory, will recurse sub-directories up to 10 level.
Save files after replace   If a file has been modified by a replace, saves the file when it is done.
Save confirm   Prompt the user for a confirmation before saving a file modified by a replace.

Results pane

Displays the results from the last search. Selecting an item from the list, opens the file and goes to the line were the result was obtain.

Toolbar   
Previous document   Display the previous document from the list of openned documents.
Next document   Display the next document from the list of openned documents.
Cut   Delete the selected text in the current document and copy the text to the Photon clipboard.
Copy   Copy the selected text in the current document to the Photon clipboard.
Paste   Insert the content of the Photon clipbord in the current document.( either at cursor position or replacing selected text )
Delete   Delete the selected text in the current document.
Print   Print the current document.
Save   Save the current document.
Undo   Undo the last modification to the text of the current document.
Redo   Redo the last modification to the text of the current document.
Find / Replace   Open the Find / Replace dialog.
Quick Search pattern   Pattern use for Quick search ( F4 and F5 )
Quick Search paste   Paste the Photon clipboard in the Quick Search pattern.

Shortcut bar   
Open a folder   Open the File Manager module on the directory of the current document.
Add to bookmarks   Add the current document to the list of bookmarks.
Terminal   Open a terminal with the same working directory as the current document path.
Passive Tags   Call the Passive Tags module on the directory of the current document.
Make   Call the Make Interface on the directory of the current document.
Gdb   Call the Gdb Interface on the directory of the current document.
Close document   Close the current document.

Status bar   
Line   Offset of the current line from the beginning of the file ( starts at 1 ).
Column   Offset of the cursor from the beginning of the current line ( in characters ).
File encoding   File encoding use to diplayed the current document.

Rigth click menu   
Cut   Delete the selected text in the current document and copy the text to the Photon clipboard.
Copy   Copy the selected text in the current document to the Photon clipboard.
Paste   Insert the content of the Photon clipbord in the current document.( either at cursor position or replacing selected text )
Delete   Delete the selected text in the current document.
Undo   Undo the last modification to the text of the current document.
Redo   Redo the last modification to the text of the current document.
Gdb   Gdb commands sub-menu.
Print   
Value   
*Value   

Watch   
Access   
Read from   
Write to   

Until   
Add break point   

Command   Gives you access to the Commands you have previously configured thru the Preferences dialog in the Application Commands section.

Hotkeys
Browser

Support files   http//:*, file://*, ftp://*, www.*, *.html and *.htm
External process needed :   vserver or mozilla or opera

Toolbar   
Previous browser   Display the previous web client from the list of openned web client.
Next browser   Display the next web client from the list of openned web client.
Backward   Display the previous URL from the current web client history.
Forward   Display the next URL from the current web client history.
Reload   Realod the current URL from the web.
Home   Load the URL defined as home in the Preferences.
Add to bookmarks   Add the URL displayed by the current web client to the bookmark list.
Print   Not implemented yet.
Stop   Stop loading the URL.
Edit   Load the current URL in the Editor. ( as to be a local file )
Search backward   Search from the current position towards to beginning of the current page.
Search from the top   Search from the beginning of the current page.
Search pattern   Pattern to be search in the current page.
Press after typing the pattern to launch the search.

Shortcut bar   
URL   URL of the loaded page in the current web client.
Type a new URL and press enter to start loading it. Select a URL from the Combo Box to reload it.

Close the browser   Close the current web client.

Status bar   
Display messages from the web server ( vserver, mozilla or opera ).
File encoding   The file encoding used to display the current URL.

Rigth click menu   
Save Target URL as   Force a download of the target URL under the mouse pointer.
Copy the URL to the clipboard   Copy the target URL under the mouse pointer to the Photon clipboard.

Hotkeys
Terminal

Toolbar   
Previous terminal   Display the previous terminal from the list of openned terminal.
Next terminal   Display the next terminal from the list of openned terminal.
Copy   Copy the current selection to the Photon clipboard.
Paste   Paste the content of the Photon clipboard on the command line.
Paste selection   Paste the current selection on the command line.
Print   Not implemented yet.

Shortcut bar   

Close the terminal   Close the current terminal window and it's shell.

Rigth click menu   
Copy   Copy the current selection to the Photon clipboard.
Paste   Paste the content of the Photon clipboard on the command line.
Paste selection   Paste the current selection on the command line.

Hotkeys
Viewer

Support files   *.gif, *.jpg, *.pcx, *.bmp

Toolbar   
Previous viewer   Display the previous image from the list of openned image.
Next viewer   Display the next image from the list of openned image.
Print   Not implemented yet.
Close   Close the current image.

Shortcut bar   
Open a folder   Open the File Manager module on the directory of the current image.
Add to bookmarks   Add the current image to the list of bookmarks.

Status bar   
Displays the width, height and color resolution of the current image.

File Manager

Shotcut bar   
Add to bookmarks   Add the current directory to the list of bookmarks.
Terminal   Open a terminal with the same working directory as the currently diplayed folder.
Passive Tags   Call the Passive Tags module on the currently diplayed folder.
Make   Call the Make Interface on the currently diplayed folder.
Gdb   Call the Gdb Interface on the currenlty diplayed folder.
Close   Close the File Manager.

Rigth click menu   
Open   Open the currently selected file.
Rename   Rename the currently selected file or folder. ( User is prompt for the new name )
Copy   Copy the path of the currently selected file or folder to an internal buffer. Will be use when paste is selected.
Paste   Copy the folder or file defined in the internal buffer into the currently diplayed folder, previously fill by a copy.
Delete   Delete the currently selected file or folder from the system.
Command   Gives you access to the Commands you have previously configured thru the Preferences dialog in the Application Commands section.

Archive Manager

Support files    *.tar.gz, *.tgz, *.qpk, *.qpr, *.pax.gz, *.pgz, *.tar.F, *.pax.F
External process needed :   zcat, fcat, pax

Toolbar   

Shortcut bar   


Under Construction
Make Interface

Support files   Makefile, makefile and *.mak
External process needed :   make
Lauching Make   You can initiate compiling 3 different ways.

File Manager toolbar   Workspace will search the current directory and it's sub-directories for Makefile. Prompt you with a list to select from and spawn make on the selected Makefile.

Editor toolbar   Workspace will search the current file directory and it's sub-directories for Makefile. Prompt you with a list to select from and spawn make on the selected Makefile.

Make Interface toolbar   

On First time   Workspace will search the current working directory and it's sub-directories for Makefile. Prompt you with a list to select from and spawn make on the selected Makefile.
Sub-sequent times   Workspace will read the options and the sub-directory from the toolbar and respawn make with those arguments.

Toolbar   

Make   

On First time   Workspace will search the current working directory and it's sub-directories for Makefile. Prompt you with a list to select from and spawn make on the selected Makefile.
Sub-sequent times   Workspace will read the options and the sub-directory from the toolbar and respawn make with those arguments.

Stop   Interrupts the current compilation.
Clear   Deletes the console lines buffer.
Options   Options to be pass as argument to make.
Makefile   Makefile to be pass as arguments to make ( -C option ).
Close   Hides the bottom pane.

Terminal   
The terminal is use to display ouputs from make. The colors and font are set in Preferences dialog in the Terminal section. You can use Ctrl-Alt-[ Pg-Up or Pg-Down ] and Ctrl-Alt-[ Up or Down ] to scrollback the display buffer.

During compilation press Ctrl-C while the terminal as focus to interrupt compilation.

Result List   
The Result List records a list of warnings and errors outputed during compilation. On entry selection in the list, Workspace will open the file and jump the the line of the selected entry.

Gdb Interface

External process needed :   gdb
Lauching Gdb   You can launch Gdb 3 different ways.

File Manager toolbar   Will open a File Selector dialog on the current directory, for you to select the binary to debug.

Editor toolbar   Will open a File Selector dialog on the current file directory, for you to select the binary to debug.

Gdb Interface File menu   Will open a File Selector dialog on the current working directory, for you to select the binary to debug.

Menu   

File   

Load program   Will open a File Selector dialog on the current working directory, for you to select the binary to debug.
Load core dump   Will open a File Selector dialog on "/var/dumps", for you to select the core dumps file in gdb.
Attach to process   Will open a dialog with a list of pid currently running, for you to select a process for gdb to attach to.
Detach from process   Detach from previewsly attach process.
Quit   If attached to process, detach from it. Quit Gdb.

Command   

Run   Will prompt you for the arguments to your process then start your process with rhose arguments.
Continue   Continue the execution of a stop process.
Break   Break the execution of the current program. ( Send SIGINT to gdb )
Step   Execute one line of source code.
Step Instruction   Execute one machine instruction.
Next   Advance execution to the next line of current function.
Next Instruction   Execute one machine instruction, but if it is a function call, proceed until the function returns.
Until   Continue untill the end of a loop.
Frame/Backtrace   Gives you a dialog with a backtrace of the stack, one frame per entry.

Machine code display   
The display shows machine code mixed with source code. The display only support code from your process, it does not jump to library code.

Terminal   
Gdb terminal. You can type any gdb command on the prompt. You can use Ctrl-Alt-[ Pg-Up or Pg-Down ] and Ctrl-Alt-[ Up or Down ] to scrollback the display buffer.

Preferences
Buttons
Cancel   Close the Preferences dialog, without applying the on-screen changes.
Apply   Apply the changes and updates the configuration file.
Done   Apply the changes, updates the configuration files and close the Preferences dialog.
Application
General

User Interface Language   Change the language of the menus, dialog, popup and balloons thuout the editor.

French, english, spanish, russian or german.
Command

Right click menu

Add   Prompt the user to enter each field thru a serie of dialog. The new element is added at the end of the list.
Edit   Prompt the user to confirm each field of the selected element thru a serie of dialog.
Cut   Remove the selected element from the list and copy it to an internal buffer.
Copy   Copy the selected element to an internal buffer.
Paste   Insert the internal buffer content after the selected element in the list.
Delete   Remove the selected element from the list.
Clear List   Remove all the elements from the list.

Fields

Name   Name to be display in the Command sub-menu
Executable   Fullpath of the binary to be launch. Enter "sub-menu" if you want a new sub-menu to be create for the following entries in the list.
Arguments   Command line arguments to be pass to the executable on spawn.

Special Arguments   Will be change by the application on spawn.

Filesystem

%Fd   Currently selected Directory.
%Ff   Currently selected File name.
%Fp   Current selection fullpath.

Editor

%Ed   Active file directory.
%Ef   Active file name.
%Ep   Active file fullpath.
%Es   Active file current text selection.

Browser

%Bu   Active window current URL.

User

%Ui   On spwan a dialog will promt the user for the argument value.

tty   If active a new terminal will be created and the binary spawn in it.
Confirm   A confirmation dialog with the command to be launch ( binary and arguments ).


Exemple :   If you want a command that will delete the selected file in a Filesystem.

Name   delete file
Executable   rm
Arguments   -f %Fp
Tty   No
Confirm   Yes
Helper

Right click menu

Add   Prompt the user to enter each field thru a serie of dialog. The new element is added at the end of the list.
Edit   Prompt the user to confirm each field of the selected element thru a serie of dialog.
Cut   Remove the selected element from the list and copy it to an internal buffer.
Copy   Copy the selected element to an internal buffer.
Paste   Insert the internal buffer content after the selected element in the list.
Delete   Remove the selected element from the list.
Clear List   Remove all elment from the list.

Fields


Description   Personnal description. ( Only use for display )
Extension   Extension supported by this helper. ( Multiple extension must be separated by a space )
Application   Fullpath of the binary to be spawn.
Arguments   Command line arguments to be pass to the executable on spawn.

Special Arguments   Will be change by the application on spawn.

%f   Name of the file the helper must open.

Tty   If active a new terminal will be created and the binary spawn in it.


Exemple :   If you want the QNX package installer to be launch on .qpr files.

Description   Packages
Extension   .qpr
Application   pkg-installer
Argument   -d -u %f
Tty   No
Editor
General

Editing Window

Text   The color used for the text in the editor display.
Fill   The color used as background for the editor display.
Current Line Fill   The color used as background for cursor line in the editor display.
Highlight   The color used as background for selected text in the editor display.
Text Font   The font used for the text in the editor display.
Tab Size   Distance between tabs for alignment.
Pixels   The Tab Size value is in pixels.
Spaces   The Tab Size value is in spaces.
Emulate tabs   When the tab key is press the number of spaces needed to align with the next tab will be inserted. ( Ctrl-tab, forces a tab character insertion )
Line Wrapping   Enable line wrapping on the edge of the editor display.

No Wrapping   Wrapping is disable and a line can be longer the the width of the display.
Wrap on word   Wrap on word breaks. ( ')', '}', '>', space, tab, line feed ) If no break charactere are found, will wrap the line on the first charactere exeding the editor display width.
Wrap on charactere   Wrap on first charactere exeding the editor display width.

Encoding   Filter use to translate the raw data from your file and to your file.
Blinking Cursor   Disables the alpha blended blinking cursor.
Blinking Current Line   Disables the alpha blended blinking Current Line background.
Auto Indent   If Enabled, when pressing at the end of a line, the next line will be started with the same number of spaces and tabs as the current line.

Printing

font   The font used for the text for the editor print jobs.

Quick Search   Seach box on the editor toolbar.

Wrap Search   Search the file as if it was circular.
Case Sensitive   Be sensitive to upper case and lower case.
Use Regular Expression   Use regexec ( see QNX documentation for regexec syntax ) instead fixed character strings search.
Live    New search on every search pattern modification.
Backward   Search directory is toward the beginning of the file instead of toward the end.

Syntax Highlighting

Import   Load a file into the current configuration. ( overwriting the current content )
Export   Save the current configuration in a file.
Configuration Number    Index of the current configuration. ( 0-9 )
Enable   The current configuration is to be process by the editor.
Extensions   Extensions of files, that must use the current configuration.

Right click menu

Add   Prompt the user to enter each field thru a dialog. The new element is added at the end of the list.
Edit   Prompt the user to confirm each field of the selected element thru a dialog.
Cut   Remove the selected element from the list and copy it to an internal buffer.
Copy   Copy the selected element to an internal buffer.
Paste   Insert the internal buffer content after the selected element in the list.
Delete   Remove the selected element from the list.
Clear List   Remove all element from the list.
Sort List   Rearrange the list by dumb alphabetical order ( strcmp ).

General   

Use Editing Window Settings   Use configuration in Editor Editing Window instead of the following fields.
Text   The color used for the text in the editor display.
Fill   The color used as background for the editor display.
Current Line Fill   The color used as background for cursor line in the editor display.
Highlight   The color used as background for selected text in the editor display.
Text Font   The font used for the text in the editor display.
Tab Size   Distance between tabs for alignment.
Pixels   The Tab Size value is in pixels.
Spaces   The Tab Size value is in spaces.
Emulate tabs   When the tab key is press the number of spaces needed to align with the next tab will be inserted. ( Ctrl-tab, forces a tab character insertion )
Line Wrapping   Enable line wrapping on the edge of the editor display.

No Wrapping   Wrapping is disable and a line can be longer the the width of the display.
Wrap on word   Wrap on word breaks. ( ')', '}', '>', space, tab, line feed ) If no break charactere are found, will wrap the line on the first charactere exeding the editor display width.
Wrap on charactere   Wrap on first charactere exeding the editor display width.

Encoding   Filter use to translate the raw data from your file and to your file.
Auto Indent   If Enabled, when pressing at the end of a line, the next line will be started with the same number of spaces and tabs as the current line.

Parsing

Algorithm for the groups

Delimiters   The editor uses an algorithum that separates the line into multiple sub-strings, then tries to math those sub-strings with a pattern in the groups using fnmatch. ( see QNX dodumentation on fnmatch for supported syntax ). The first character and last character of a sub-string are define by the start delemiters ans the end delimiters.

Exemple :

Delimiters of beginning : aAeEiIoOuUyY Delimiters of end : space and tab
For the line This is an exemple. the sub-strings would be :

is  is  an  exemple.

Nota bene   The end delimiter is not part of the sub-string.

Sub-string search   The editor goes thru the pattern list of each group and tries to match the patterns into the line.

Nota bene   There is no syntax highlighting on tag in this mode.

Delimiters of beginning   Used in the delemiters algorithum for splitting the line into sub-strings.
Delimiters of end   Used in the delemiters algorithum for splitting the line into sub-strings.

Groups

Enable   The current group must be process by the editor.
Color   Color use to draw the sub-string when a match is made with a pattern of the current list.
Patterns   List of pattern to be process for this group. In delimiters algorithum patterns are fnmatch patterns.( see QNX dodumentation on fnmatch for supported syntax )

Right click menu

Add   Prompt the user to enter each pattern thru a dialog. The new pattern is added at the end of the list.
Edit   Prompt the user to confirm each pattern of the selected pattern thru a dialog.
Cut   Remove the selected pattern from the list and copy it to an internal buffer.
Copy   Copy the selected pattern to an internal buffer.
Paste   Insert the internal buffer content after the selected pattern in the list.
Delete   Remove the selected pattern from the list.
Clear List   Remove all pattern from the list.
Sort List   Rearrange the list by dumb alphabetical order ( strcmp ).

Special   Special coloring overwrites any coloring done by the group algorithum or the tags.

Add    Add a new entry at the end of the list and jumps to that index.
Remove   Remove the current special from the list.
Number   Index of the current special in the list.
Enable   The current special is to be process by the editor.
Color   Color used to draw text in the editor display.
Format   Format of the character strings. Does not affect the "All characters" type.

Fixed character strings

Case sensitive search.

Regular expressions

Case sensitive regexec(). See regcomp() for the syntax.

Extended regular expressions

Case sensitive regexec(). See regcomp() for the syntax.

Types

Right click menu

Add   Prompt the user to enter each type thru a dialog. The new type is added at the end of the list.
Edit   Prompt the user to confirm each type of the selected type thru a dialog.
Cut   Remove the selected type from the list and copy it to an internal buffer.
Copy   Copy the selected type to an internal buffer.
Paste   Insert the internal buffer content after the selected type in the list.
Delete   Remove the selected type from the list.
Clear List   Remove all type from the list.
Sort List   Rearrange the list by dumb alphabetical order ( strcmp ).

Pattern Match type
Open [   ]   Close [   ]

Example :

When moving to a parenthese you want to correspondant one to be highlighted
[x] Open [(   ]   Close [)   ]

If no Pattern Match Type are configure and enable, the editor will use the default following three and light blue for color.

[x] Open [(   ]   Close [)   ]    ( Fixed character strings )
[x] Open [{   ]   Close [}   ]    ( Fixed character strings )
[x] Open [[  ]   Close []  ]    ( Fixed character strings )

Syntax Highlighting types
From [   ] till end of line   [ ] if at positon [  0]

Example :

You want to color the end of the line from any occurance of "//"
[x] From [//  ] till end of line   [ ] if at positon [  0]

Example :

You want to color the end of the line from any occurance of "//" but only the string is porition at the after the 10 charatere of the line
[x] From [//  ] till end of line   [x] if at positon [  10]

From [   ] to [   ]  [ ] Multi-lines 

Example :

You want to color between occurance of "/*" and "*/". The openning expression and closing can be on different lines.
[x] From [/*  ] to [*/  ]  [x] Multi-lines

Any [   ] characteres

Example :

You want all the following specials characters "()[]{}" to be a specific color
[x] Any [(){}[]  ] characters

Ctags

Tag color overwrites group color   If active a sub-string match a tag, groups wont be process. Otherwise if a sub-string match a pattern in a groups, tags wont be process.
Local Tag   Tags define in the current file.

Color   Color use to draw the text in the editor display for this group of tag.
Use Text Color   Use the color define in Preferences-Editor-General-Editing Window-Text Color to draw the text in the editor display for this group of tag.
Color these types   Types of tags to be colored for this group of tag. ( must be defined with the same syntax as in the Active Ctags tree )

Project Tag   Tags define in the current project ( directory ).

Color   Color use to draw the text in the editor display for this group of tag.
Use Text Color   Use the color define in Preferences-Editor-General-Editing Window-Text Color to draw the text in the editor display for this group of tag.
Color these types   Types of tags to be colored for this group of tag. ( must be defined with the same syntax as in the Active Ctags tree )

Remote Tag   Tags define in another project ( directory ).

Color   Color use to draw the text in the editor display for this group of tag.
Use Text Color   Use the color define in Preferences-Editor-General-Editing Window-Text Color to draw the text in the editor display for this group of tag.
Color these types   Types of tags to be colored for this group of tag. ( must be defined with the same syntax as in the Active Ctags tree )

Ctags

Enable   Tags must be process by the editor.
Always keep tags in memory   When the last file of a project is closed the tag are keep in memory. Otherwise the tag tree is freed.
Load Tags

Whole Directory   When the first file of a project is open, the tags for all the project files are loaded.
As Files are openned   Tags only loaded when a file is open and only for that file.

Update Tags

Text Modification   Tags informations for the current file are updated on every text modification.
Cut / Paste   Tags informations for the current file are updates only when one of Cut, Paste or Delete action are done on the text.
Line Feed   Tags informations for the current file are updates only when only when a line feed ( [return] ) is added to the text.
Save   Tags informations for the current file are updates only when the file is saved.

Preload these directory   These directory should have a tag file generated by ctags on a workspace request. The tag from those files will be loaded on startup.

The list support env variable in the form {env variable}

example : {HOME}/cvs/MyProject/*.h
Browser

General

Server   Fullpath and any options to the server to start. ( Voyager : vserver, Mozilla : mozilla -s shared )
Server Name   The connector name to which to connect.( vserver : VoyagerServer-2, mozilla : MozillaServer )
Home Page   URL to be loaded when a new browser window is openned.
Subview Errors   Errors when loading elements of a page.

All   Notification dialog with on every errors.
Once per page   Notification dialog only on the first error in a page.
Never   Never be notify.

Encoding   Encoding use to translate the web page.

Cache

Enable Disk Cache   Enable on-disk caching using the Cache Directory.
Clear Disk Cache On Exit   Clear the on-disk cache when the browser exits.
Cache Directory   The directory used to store cache files.
Disk Cache Size   The maximum size of the on-disk cache.
Maximum Pages   The number of pages kept in memory.
Verfy Policy   Verifying is done by using the "If-Modified-Since" request-header.

Never   Never verify if document has changed.
Once per session   Verify if document has changed once per session.
Always   Always verify if document has changed.

Index File   The name of the cache index file.
Keep Index File Updated   Keep the disk cache index file updated on disk when it changes instead of once on exiting.
Image Cahce Size   The size of image cache, in kilobytes.
Terminal

General

Appearence

Text Color   The color used for drawing text in the display.
Text Font   The name of the font used for the display. ( Not all fonts are supported by the terminal )
Fill Color   The color uses as fill color for the display.

Scrollback Buffer   The current number of lines saved in the scrollback buffer.
Terminal Protocol   The protocol to use for the terminal.

QNX 4   IBM code page 437 character set.
ANSI   ISO 8859-1 character set.

Shell

Type   Shell type to be spawn on new terminal.

Public Domain Korn Shell   /bin/ksh
Embedded Shell   /bin/esh
Fat Embedded Shell   /bin/fesh
Micro-embedded Shell   /bin/uesh

Nota Bene   /bin/sh is a link to /bin/ksh

Options   Command line options to be pass to the shell on spawn.

Hotkeys
These are the default values. Some hotkeys may be change thru the Preferences dialog.
Application

F1   Go to Text Editor Window
F2   Go to Browser window
F3   Go to Terminal window
Ctrl-F1   Open a new text editor window
Ctrl-F2   Open a new browser window
Ctrl-F2   Open a new terminal window
Ctrl-O   Open a file in a new window
Alt-X   Exit application
Alt-L   Toggle left pane state
Alt-B   Toggle bottom pane state
Ctrl-Shift-M   Start Make on last directory compiled
F11   Go to Make window
F12   Go to Gdb window
Editor

Motion

keyboard

Up Arrow   Move the cursor up by one line
Down Arrow   Move the cursor down by one line
Left Arrow   Move the cursor left by one character
Right Arrow   Move the cursor up by one character
Page Up   Move the cursor up by one display page
Page Down   Move the cursor down by one display page
Home   Move the cursor to the begining of the line
End   Move the cursor to the end of the line
Ctrl-Home   Move the cursor to the begining of the file
Ctrl-End   Move the cursor to the end of the file
Ctrl-Left Arrow   Move the cursor to the beginning of the previous word
Ctrl-Right Arrow   Move the cursor to the beginning of the Next word

Pointer

Left button   Move the cursor to the current pointer position

Highlight

keyboard

Shift-Up Arrow   Move the cursor up by one line and highlight up to the new cursor position
Shift-Down Arrow   Move the cursor down by one line and highlight up to the new cursor position
Shift-Left Arrow   Move the cursor left by one character and highlight up to the new cursor position
Shift-Right Arrow   Move the cursor up by one character and highlight up to the new cursor position
Shift-Page Up   Move the cursor up by one display page and highlight up to the new cursor position
Shift-Page Down   Move the cursor down by one display page and highlight up to the new cursor position
Shift-Home   Move the cursor to the begining of the line and highlight up to the new cursor position
Shift-End   Move the cursor to the end of the line and highlight up to the new cursor position
Shift-Ctrl-Home   Move the cursor to the begining of the file and highlight up to the new cursor position
Shift-Ctrl-End   Move the cursor to the end of the file and highlight up to the new cursor position
Shift-Ctrl-Left Arrow   Move the cursor to the beginning of the previous word and highlight up to the new cursor position
Shift-Ctrl-Right Arrow   Move the cursor to the beginning of the Next word and highlight up to the new cursor position
Ctrl-A   Select all

Pointer

Shift-Left button   Move the cursor to the current pointer position and highlight up to the new cursor position
Double Left button click   Move the cursor to the current pointer position and highlight the word at the new cursor position
Triple Left button click   Move the cursor to the current pointer position and highlight the line at the new cursor position

Editing

Ctrl-X   Cut current selection and copy it to the Photon clipboard
Ctrl-C   Copy current selection to the Photon clipboard
Ctrl-V   Paste the Photon clipboard to the current cursor position
Ctrl-D   Delete current selection
Ctrl-K   Delete end of current line
Ctrl-L   Delete current line
Ctrl-Z   Undo last modification
Ctrl-Shift-Z   Redo last undo
Tab ( if text is highlighted )   Indent Block
Shift-Tab ( if text is highlighted )   Unindent Block

Others

Ctrl-F   Search Dialog
Ctrl-S   Save current window
Ctrl-Q   Quit current window
Alt-left Arrow    Go to previews window
Alt-Right Arrow    Go to next window
F4   Quick search forward
F5   Quick search backward
Ctrl-T   Jump to tag
Ctrl-J   Undo jump event
Ctrl-Shift-J   Redo jump event
Ctrl-G   Give focus to line number on the status bar
Ctrl-Alt-H   Launch the Photon helpviewer and search for the pattern under the cursor.
Alt-A   Auto-complete the word before the cursor.
Ctrl-P   Print.
Browser

Ctrl-Q   Quit current window
Alt-Left arrow   Go to previews window
Alt-Right arrow   Go to next window
Ctrl-C   Copy selection to the Photon clipboard.
Terminal

Ctrl-Q   Quit current window
Alt-Left arrow    Go to previews window
Alt-Right arrow    Go to next window