Instantly share code, notes, and snippets.

Embed
What would you like to do?
Wild idea 1 (second iteration) for Partitioner UI

About this gist

This is a refined version of the idea presented at https://gist.github.com/ancorgs/5e5fd016eb7db7413a1972d52f9ae913 after improving the wording and getting some useful and positive feedback in the yast-devel mailing list.

Thus, this a proposal for the UI of the partitioner offering all the new features (partitionable RAIDs, formattable disks and so on). The proposal is based on three general ideas:

  • Offer a different set of buttons depending on the item selected on the table.
  • Group related actions in menu-buttons, with "Modify" being always the first one.
  • General actions that don't correspond to a concrete entry of the table are represented by buttons in a second line.

The Hard Disks table

See animated image for ncurses 80x24.

Hard Disks table (ncurses)

Some notes about the buttons for a disk.

  • "Edit Hard Disk" opens the wizard to directly format/mount/encrypt the disk.
  • "Edit Partitions" takes the user to the "Partitions" tab for the disk, just as the old "Edit" button used to do.
  • Having "Modify -> Edit Hard Disk" and "Partitions -> Edit Partitions" side by side should be a good sign for the user about the fact that "Edit" doesn't necessarily mean jumping to the list of partitions anymore.

Obviously, when a partition is selected, "Modify -> Edit Partition" is the equivalent to the old "Edit", i.e. the wizard to format/mount/encrypt the partition.

See the image for the equivalent table in graphical mode.

Hard Disks table (Qt)

The RAIDs table

See animated image for ncurses 80x24.

RAIDs table (ncurses)

The buttons for a RAID are basically equivalent to the buttons for a hard disk, but with two additions.

  • A "Delete" button.
  • A "Modify -> Change Used Devices" option equivalent to the old "Resize".

The buttons for a partition are equivalent to the Hard Disks table.

See the image for the equivalent table in graphical mode.

RAIDs table (Qt)

The table of partitions for a given disk/RAID/bcache

See animated images below. Not much to add, the buttons affecting the current selected partition are explained above and the two general buttons should be self-descriptive.

In ncurses 80x24.

Partitions of a RAID (ncurses)

In graphical mode.

Partitions of a RAID (ncurses)

The Volume Management table

See animated image below (again, ncurses 80x24). The buttons for VGs and LVs are their respective meanings are pretty much analogous to the ones in the table of RAIDs and their partitions. So not much explanation should be needed at this point.

LVM table (ncurses)

The only strange thing is that, for symmetry with the other tables, the "Modify" option for an VG is a menu-button, despite the fact that it only contains one action (so far).

See the equivalent image in graphical mode.

LVM table (qt)

The system view

As pointed in the mail thread, the current approach of adapting the set of buttons for the selected device would enable us to offer actions directly on the initial view that list all the devices of all kinds in a single table.

That view currently includes buttons for generic actions such as "Rescan Devices", "Import Mount Points" and "Configure", which makes difficult to add a generic "Add" button allowing the creation of RAIDs, VGs and bcache devices (as suggested in the thread).

System table (ncurses)

On the other hand, the "Import Mount Points" and "Configure" buttons are probably there just for historical reasons, so maybe we could find a better place for them in the mid term.

For completeness, see the corresponding animation in graphical mode.

System table (Qt)

@Fraser-Bell

This comment has been minimized.

Show comment
Hide comment
@Fraser-Bell

Fraser-Bell Oct 8, 2018

Looking good, so far. Comes a long way.

Fraser-Bell commented Oct 8, 2018

Looking good, so far. Comes a long way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment