Kevin M Bealer ([EMAIL PROTECTED]) wrote: : The current dselect screen isn't bad -- it's efficient, etc. But it is : too 'unix' ... which is to say, you're expected to think. At this stage : the first time user has ~ 400 packages to deal with. All the power in : the world can be hidden _just_below_ the surface, but the steering wheel : and brakes have to be easy to find.
I suggest a tree structure for hiding the details. Displaying everthing plus the kitchen sink to new users is only confusing. Call me stupid but is is even still confusing to me, after 1 year of debian. Sorry for wasting your time with the following incomplete and contradictory concept (Ian, I can already hear you moaning). I have no time to work this over, but I want to trough in some ideas. -Winfried ############################################################################### Hint Sektion Type of Selection Size "admin" <X> individual < > most complete < > none 3.7 Important packages in section admin: [X] at delayed job execution and batch processing [-] cpio GNU cpio: a program to manage archives of files. [+] cron management of regular background processing Optional packages in section admin: ]-[ acct The GNU accounting utilities. [ ] dump Ported 4.4BSD dump and restore utilities. <NEW> [ ] linconf A GUI to configure every aspect of Linux <ERROR> [ ] quota An implementation of the diskquota system. =============================================================================== at - delayed job execution and batch processing (admin/important) at and batch read commands which are to be executed later. at is used to run a command at some specified future time, and batch is used to run a command when system load levels permit. The at system uses cron to get the commands executed, so you need cron to use at. Keys: ## v=verbose ## h=help ## ?=search ## +=select ## -=deselect ## q=quit ## ############################################################################### Perhaps I should explain the meaning of the checklist-buttons: Symbol Description ------------------------------------------------------ [X] installed [+] selected for installation [-] installed, selected for de-installation ]-[ installed, selected for de-installation and purge everything [ ] not installed I think this is an improvement over the current "bitmask" consisting of stars because it is more intuitive and directly corresponds to keys. Note that there is also enough leading space for unencrypted hints like "NEW" or "ERROR". This space comes from not displaying the Section an priority over and over again (it wastes 15% of the space of every line on the upper half of the screen. Provoking: this is much better used by spaces). My motivation for calling it a waste: *** devel Opt dchanges build the changes file for a debian *** devel Opt dld dld - a library package of C functions *** devel Opt dlltools Tools used to create DLL jumptable *** devel Opt expect The expect/expectk programs and *** devel Opt f2c A Fortran77 to C/C++ translator, plus *** devel Opt fort77 An f2c front end to make it look like a *** devel Opt g77 The GNU Fortran 77 compiler (ELF *** devel Opt gcl GNU Common Lisp compiler. *** devel Opt glibcdoc GNU C library Info documentation. *** devel Opt guile The GNU extension language. You see 10 times, that your're in section "devel", inspecting the "optional" packages. Even if the current view is splitted up: ----- All Standard packages in section base ----- *** base Std libc5 The Linux C library version 5 (run-time *** base Std libdb1 the Berkeley database routines (runtime *** base Std libgdbm1 GNU dbm database routines (runtime ----- All Unclassified packages in section base ----- *** base ? passwd Change password data. *** base ? util-linux Miscellaneous system utilities. --- All packages in section comm --- ----- All Optional packages in section comm ----- *** comm Opt lrzsz zmodem/ymodem/xmodem transfer package you _can_ see that your're in a certain section, by looking at the headings. (This is even easier, if the screen is not full with chars). So, the information about the section and the priority could be displayed once instead. Where? For example, use the line in the middle: libdb1 installed; selected (was: selected). Standard It is no longer required to display this information when using my intuitive checkbox-syntax. Anyway, I would not use this line for displaying information but instead for a "graphical" splitting of the upper and lower half of the screen. This way we enhanced the ease of orientation for the eye (only by re-arranging the information). Another, more philosophical argument is, that were're on the highest level of detail. And the meaning of "detail" from my point of view is: look at the leaves and forget about the rest of the tree, including the root and all branches. Sorry for my bad English. Ok, now a look at the rest of the screen: the last line contains the basic keystrokes (it is the standard place for providing such information). [These double-#s I used are awful. But this is e-mail and I can play with inverse presentation.] Stating "description of XYZ" there is non-productive. It should be perfectly clear from what the user sees above. The high level of detail could be folded on keypress, resulting in something like: ############################################################################### dselect - inspection sections Sektion Selection of Packages Size (MB) ----------------------------------------------------------------------- admin <X> individual < > most complete < > no 3.7 base < > individual <X> most complete < > no 8.5 comm <X> individual < > most complete < > no 2.7 devel < > individual <X> most complete < > no 23.4 doc < > individual <X> most complete < > no 3.14 editors <X> individual <X> most complete < > no 99.9 electronics < > individual <X> most complete <X> no 0.0 games <X> individual <X> most complete <X> no 0.0 graphics < > individual <X> most complete < > no 10.5 ====================================================================== 233.9 = Sektion: admin Description: Tools to administer your Linux-Box blah-blah-blah ############################################################################### Note the mix of pre-defined and "individual" selections. Who really cares, if "TeX" eats up 9 or 10 MB on the hard-disk if he needs it? And if somebody wants to configure his linux box not to waste a single bit on his hard-disk, he is free to do so via the individual selections. Argh, I don't really like these last screen-layouts. But you may get the idea. The lowest level of detail (this way we can handle pre-defined setups): ############################################################################### dselect - Debian package selection at highest level (lowest detail) <X> Workstation setup < > most complete system possible (size: 2 GB) < > everything one normally needs (size: 1 GB) < > smallest system possible (size: 5 MB) < > get most stuff via NFS (size: 20 MB) <X> individual selection of packages by the user (default) < > Firewall setup (size: 20 MB) < > WWW-Server setup (size: 20 MB) =============================================================================== Workstation setup: Most flexible setup, your machine is not used for one specific purpose only. blah-blah-blah ###############################################################################