Next Previous Contents

2.2 Curses Client

Curses Client for Partition Surprise is user interface to Suprise library implemented under ncurses library. It should be more user-friendly equivalent of command line client. It's not meant to be used by complete beginners. An idea of what partition and filesystem is is required. This client currently supports:


You can specify a few commandline options to curses client. They are:


Unset Align partition start/end option (see Client settings for option description).

-p sectors

Set Minimal size of free space option (see Client settings for option description).


Client will produce some messages to stderr. Make sure you redirect stderr to some file when you use this option. Otherwise screen won't look very nice.


Don't print warning when client is started.


Set Automatic verification option (see Client settings for option description).


Set Clever size printing option (see Client settings for option description).


When you start client you will see screen divided into four parts. Bottom line of the screen shows operations assigned to each function key. The leftmost column shows list of devices found in the system. The column to the right shows list of partitions on actually selected device together with their start and length. The biggest part of the screen is left for information about current device or partition.

Device list

In the device list you can see all devices found in the system. When device list is active you can see one entry in inverse color. That is the active device. You can change active device by moving in the list with up/down arrow, page up, page down, home or end. By pressing right arrow or enter you can move to partition list.

Partition list

Partition list shows list of partitions and free space on currently selected device. The chunks of free space can be seen as FREE entries in the list. The entry of currently selected partition or chunk of free space is shown in inverse colors. You can move in the list the same way as in the device list. When you press left arrow you will move back to the device list.

To the right from partition list there is shown brief information about each partition containing its starting sector and length in megabytes.

Information window

In this window information about current device (when selecting devices) or current partition (when selecting partitions) are shown.

Information supplied about device is currently: disk model, size of device in 512 bytes, reported geometry of the device, number to whose multiples beginning of partition is aligned, number to whose multiples end of partition is aligned and number of 512 bytes blocks reserved before first partition.

Information about partition is: position of beginning of partition (in 512 byte blocks), lenght of partition (in 512 byte blocks), filesystem type. When selected entry is chunk of free space, only position of beginning and length of chunk are shown. In the information window are also shown current filesystem parameters. You can find their description in filesystem documentation.

Client settings

Curses client has a few options to set. They can be either set from commandline when running client or from dialog which opens after selecting Client settings in the menu.

Align partition start/end

When this option is specified client will/won't be aligning created partitions to cluster multiples.

Minimal size of free space

This option sets minimal number of sectors for free space to be shown in partition list.

Automatic verification

Perform automatic verification after each step. When verification fails user specified action (eg. creating partition, conversion etc.) isn't performed. This feature can be anoying sometimes as it slows down the client and it's also easier to have partitions in incorrect state for some time when you redesign your partition tables.

Clever size printing

Try to intelligently format length of partition. It means that instead of printing partition length in sectors in dialogs it will be printed in best found unit (ie. the largest unit smaller than length) with accuracy to one decimal digit. Some people might consider this behaviour more user frienly. On the other hand this partition length printing is inaccurate and so it can result in undesired behaviour in some cases (eg. when moving partition).


You see operations you can perform on partitions in the bottom line of the screen. The philosophy of the Partition Surprise is that you get current state of the disks. You arrange partitions and filesystems to the state you want and then you commit all changes you made. This has the advantage that when you accidentaly delete partition or do some other unpleasant thing you can always just quit the client and changes won't be commited. While rearranging you can check that current state is correct (ie. there are no overlapping partitions and so on) by the verify command.

You can also view original state of disk by pressing Tab or by selecting "View original state" in menu. Window similar to main one will be shown (it will have title "Original state"). In that window you can browse through original state of your disks. You can also edit disk and partition imported parameters (see disk imported parameters and filesystem imported parameters) in this window. You can return to main window by pressing Tab or by selecting "View planned state" in menu.

Currently supported partition and filesystem operations are:

Creating partition (New)

You can create partition and filesystem on it by this command. When you press F7 to create new partition client will find first free space on the current device (if you are selecting partition then first free space after the current entry). Then it will show window in which can be edited partition number, starting block of partition, length of partition (note that length can be also entered in kilobytes (eg. 10K), megabytes (eg. 20M) or gigabytes (eg. 30G)) and type of filesystem on the partition. Values appropriate for found free space are prefilled in the entries. When you edited values you can either confirm creation with F2 (or with OK button) or cancel creation with F10 (or Cancel button). When you confirm creation you will be asked for values of filesystem parameters. When you confirm filesystem parameters (F2 or OK button) partition is created. You can also cancel creation with F10 or Cancel button.

Deleting partition (Del)

You can delete partition by simply selecting it and press F8.

Converting partition (Conv)

You can convert filesystem on partition by selecting it and pressing F4. You will be asked about type of destination filesystem. Current filesystem on the partition is active in the beginning. If you select filesystem type you can press F2 to continue. Then you will be asked about filesystem parameters. If destination filesystem type is the current one the values will be current values of filesystem. If destination filesystem type is other default values will be prefilled. If you confirm filesystem parameters conversion will be performed.

Copying partition (Copy)

You can copy data from some partition by selecting it and pressing F5. You will be asked for destination device and partition. If you fill in destination device and partition and confirm values, all data from source partition are copied to the destination one.

Moving/resizing partition (MvRs)

You can move or resize filesystem by selecting it and press F6. You will be asked about destination device and partition, new start of filesystem and length of filesystem. As current values are prefilled you have to edit just length when you want to resize filesystem or just change device, partition and start when you want to move partition. If you confirm values operation is performed.

Setting global parameters

You can set parameters common for all operations by this function. After pressing F11 window with these parameters will be shown and you can edit them.

Setting disk exported parameters

This function (invoked by F12) allows you to set exported parameters of current disk.

Setting disk imported parameters

This function (invoked by F12 in window with original disk state) allows you to set imported parameters of current disk.

Setting filesystem imported parameters

Some filesystems (eg. FAT) have some values which can't be surely detected from the filesystem on the disk (eg. codepage). These values are called imported parameters. This function (you can invoke it by pressing F11 in window with original disk state) allows you to set such parameters for current filesystem. Read documentation of filesystem modules for description of filesystem parameters.

Other supported operations are:


This action (bound on F10) will quit Curses Client without commiting any changes.


After pressing F9 menu with all possible actions will be shown.

Client settings

When you select this entry in menu a dialog with client setting will open (see Client settings).


This function (bound on F2) will write all planned changes to disk.


This function (bound on F3) will check whether current disk state is correct.

Next Previous Contents