Next Previous Contents

2.3 Gnome Client

Gnome Client for Partition Surprise is graphical and comfortable client providing interface for all library operations. As it uses GTK+ and Gnome libraries, it is currently running in X Window System environmet. Removing of Gnome dependency is planned to support non-X user environments.

According to the general Partition Surprise project principles are all operations done by adjusting the wished final state. Even although this client keeps the undo history of all operations made it will never use this information for the real disk modifications. These rules have for example the effect that double conversion of the filesystem type back to the original one will be completely ignored. (We simplified it a bit here: By such double-conversion you would loose current settings of the filesystem parameters which may or may not cause severe filesystem rebuild.)

Screen layout

Client screen primarily displays in its upper half part the vertical list of physical hard drives found, partitions are contained horizontally in each such disk. Each disk has its own horizontal scroller (if applicable) for the case it doesn't fit in window.

The lower half has its left side dedicated to the current partition parameters, this side is initially empty as no partition is activated. The right side contains button sets for general operations and operations with the active partition.


Each disk contains list of "spaces", each space can be either partition itself or free space when some free blocks exist between partitions (or end of the disk). Free space is displayed only in the case it is large enough to accept creation of new partition, according to the rules of this disk partition table type.

Usual operations with any space are done just using it with the mouse:

Left mouse button click

makes this space active. Its parameters are displayed in the lower left side of screen. From this point the partition command buttons loss its shadow inactivite state according to the space type. For free space is activated only Create button, otherwise Delete, Move, Copy and Convert buttons will be enabled.

Left mouse button drag

takes this partition into drag'n'drop state (such dragging cannot be applied to free space). You can then drop it to some free space according to the rules for move and copy. Such drop will move the partition to the destination space, if you want to copy it there you'll have to keep presed Control key while starting the drag.

Right mouse button click

will open contaxt menu for this specific partition or free space

Context menu will contain several menu choices which are exactly functional as activating (by left click) of the space button and consequently clicking appropriate action button in the lower right button sets on the screen. These choices can be divided between partition (or free space) ones followed by disk specific and global specific items:

Free space choice:


will open dialog with the choice of available filesystems. You can enable the details button which will open parameters for the filesystem being created although it has the same effect as creating the chosen filesystem type with default parameters and modifying them afterwards.

Partition choice:


will free the space allocated by this partition. Free space will be concatenated with its surrounding free space buttons, if applicable. No confirmation of such delete is requested as you can easily take back such action by Undo button.


will start dragging of the partition. You mouse pointer will get changed and you are expected to click (with left mouse button) on any free space. This menu item has the same functionality as dragging the partiton itself (without Control key being held).


will also start dragging of the partition as the previous item Move, you are expected to click on any free space where you want to copy the partition. As the name says, the original partition will remain unchanged even when the destination partition will get further modifications before commit of all changes to the disk. This menu item has the same functionality as dragging the partiton itself with Control key being held.


opens a dialog with choice of the destination filesystem type. The original filesystem type will be filtered (missing) of the offered filesystem types list. You can enable the details button which will open parameters for the filesystem being converted to although it has the same effect as converting to the chosen filesystem type with default parameters and modifying them afterwards.

Disk choice:

Disk parameters

will open dialog with parameters specific for this disk. Each disk will have import and export parameters. When you change partition table type you are recommended to click Verify button to update the parameters list for your chosen partition table type. All import parameters are usually purely detected by Partition Surprise and you cannot modify them in any way.

Global choice:

Global parameters

opens dialog with general behaviour parameters. These parameters are not separated into import and export kind as it wouldn't give any meaning for them.

Message log

Partition Surprise library generates a lot of informational, some warning messages and in fatal situations it generates error messages. Traditionally these messages are stored to file specified by --surprise-log option but this option has no effect for this Gnome Client as it has its own message tracking system. It can be opened by Messages button between global commands.

You can filter out not much important messages by your choice according to "Minimal level for display" field. Such settings affects only display on screen - potential clearing or saving of the message log contents will work always on ALL messages (=messages of all log levels)!

Another display-only control is enable of additional fields in the message list by "Display columns" window field. These additional columns are turned off by default as they have more debugging than informational meaning.

And finally you have also a choice to clear all messages by Clear button or save (by overwrite or append) it to file by Save button. File will be written as simple text file, of course.

Undo history

Whole client actions are called operations which stack itself into undo history list. Every partition delete, resize, parameter change etc. can be revised or retreated. You will find Undo/Redo in Edit menu bar item, Undo can be found also between global command buttons. All operations are global and time-consecutive: If you delete partition on disk 1 and then create new partiton on disk2 you cannot undo the delete operation without loosing the created partition!

Initially you have available only history item "Initial machine state" representing the original disks layout. Each operation will create its own new item in the history list with exception of parameters change: Multiple changes of the same parameter (of the same object) will be collected into the only one operation item in the list.

Copying and moving of the partitions

When you move the partition (currently being represented by paper icon) over some free space, you will be able to drop it there (free space gets thick frame to indicate such drop possibility). Drop can move or copy the partition according to the type of its activation (according to Control key being held or the button Copy or Move being pressed).

The destination free space capacity is check against the original partition. Attempt is made to copy the partition without any modification. If it is not possible, attempt is made to resize the partition to the free space size as the partition data may fit there. Such resize is requested to be approved by user. Furthermore even data may not fit - move will almost certainly but you can click to try it but the approximate calculations made by clients may fail. Despite it the later Verify or Commit will precisely check whether the files will fit to the destination partition and such request will be safely rejected if not possible.

Parameters modification

Partition Surprise library associates with its objects sets of parameters: One of such parameter may contain block size for ext2 filesystem, another one volume label etc. These parameters can be associated with partitions, whole disks, supported filesystems for new partitions or such parameters can be also completely global.

Parameters can be imported to specify behaviour during reading of the object (partition) or they can be exported for modifying creating of the new filesystem (remember: every partition is read/created during its modification by Partition Surprise!). Moreover imported parameter can be detected - such one will be inactive and it cannot be changed by user. On the other side exported parameter can be determined - its value is set during Verify operation but you can only review it.

Partition parameters

List of these parameters is displayed in the lower left are of the screen for the currently selected partition. For normal partitions it has one page for imported parameters, another page for exported ones. When some partition is newly created by you, it will have only its exported part - no data exist to import.

Disk parameters

These parameters are always displayed in separate window either by "Disk parameters" partition-context menu item or by "Parameters" button of the disk commands button section. Disk parameters also respect its imported and exported part but its imported parameters are usually non-modifyable (=detected).

Filesystem parameters

Each supported filesystem has specified its own default set of parameters. Even if you have completely empty disk you can still create new filesystem with its parameters - this is the case when these parameters get used (in fact they are always used exactly when you are creating new filesystem). These parameters have only its exported part as data to import have no meaning for freshly created filesystems.

Global parameters

Some parameters cannot be associated with any objects described above. They even don't have any reason to be exported or imported as they modify general program settings. One such example can be "LILO support" type.

Commit of the changes to the disk

All user actions still modify only disk layout held in memory. No disk changes are being made (before Commit button gets pressed). You have the following choice of global command buttons:


All filesystem modifications will be checked whether they will be really possible. For example file sizes and basic system structures are looked up but no thorough structure checking or bad block checking of media is made. This operation doesn't modify the disk(s) in any way.


All changes are physically commited to the disk. Verify action described above is made before ANY modifications of disks. Remaining time estimation is done together with detailed information about current actions in progress. User may pause or cancel the current actions. Cancel button is deativated after its press as the cancellation request has been already made. The exact time of operations abort (together with progress window close) is dependent situation from situation. If you were already in the final critical block permutation phase this cancellation request will be ignored.


All information showed on screen will be forgotten (although Undo will be still available, of course). Disk layout information will be reread from all disks and updated on the screen. This reread is done automatically after any kind of Commit action termination.

Next Previous Contents