Development/Docs/drakxtools dev
From Mandriva Community Wiki
[edit] Development
- Development/Howto/WritingWizard - People can write Perl wizard, and add them to drakwizard interface easily. This page will show you how to create a simple wizard, and some technique used to do so.
- Policies/DrakXGui This topic describes some GUI tools, such as ugtk2 and mygtk2.
[edit] Human interface Guidelines and articles about GUI
[edit] Improvements for the Mandriva Tools
[edit] Generic cleanups
[edit] Add default icon to windows
rationale: when iconized or when browsing windows list, tools should be obvious to locate
We just have to reuse the icon from menu entry...
[edit] use perl-Libconf
- better respect for altered config files
- better data abstraction
[edit] package gi/doc from cvs as drakxtools-doc
Explain:
- ugtk2,
- embedding in mcc,
- need for HIG,
- how to do proper patches & cvs logs
- how to add entries in mcc
- how to use perl_checker (perl-MDK-Common-devel)
[edit] Mandriva Linux Control Center (drakconf):
- keyboard navigation
- intercept style_set signal to not be messed up
- better bidi support on left icons (use std widgets ?)
- better accessibility => need to use std wizards rather than our own DrawingArea
- pack Image + Label into an EventBox rather than drawing our own DrawingArea (pb: how to get the same background as current)
- try to display tabs and pack images+text on tabs (pb: how to meask notebook content and not its tabs ?)
- forbid embedding for cjk?
- fix transcientness for embedding tool (gtk+ bug) or use XSetTransientFor() for modal subwindows: http://bugzilla.gnome.org/show_bug.cgi?id=105972
- replace "monitor configuration" button by a non kde one
- move tool names from description to tips
- small screen: disallow embedding for small screens, be wider for big screens
- mcc: add support for 3rd party softwares
foreach (glob("$mcc_dir/pkgs/*.cfg")) { eval { my $entry = do $_; } }
[edit] clock.pl:
- use GnomeDateEdit widget rather than ours; see /contrib/SRPMS/gnome-system-tools-0.26.1-2mdk.src.rpm
- move it back to drakxtools, share more code with ntp settings and the like
- console:
- get a perl binding for the vte widget to get rid of the rxvt dependancy (and to get better cjk support)
- konsole under kde and gnome-terminal under gnome
[edit] DiskDrake: Spiffy new diskdrake
- Create the ultimate partition/disk manager including:
- a Partition Magic(R) like GUI, with console and X11 support (QT/GTK), using qtparted (http://qtparted.sourceforge.net/) and/or PartGUI (http://part-gui.sourceforge.net/),
- an "hdparm wizard" GUI for easy disk performance tuning, using DriveTweak (http://drivetweak.sourceforge.net/)
- A partition ghoster, using PartImage (http://www.partimage.org/)
- "normal <-> expert mode" button => "advanced" button like other tools
- make selected partition visible (which one is the currently selected partition?) => use ToggleButton
- handle new winxp partition scheme (Logical Disk Manager / DynamicDisks)
- support for striped LVM volumes/ snapshots ? (asking for the first since mdk8.0 pre)
- LVM2 support
- EVMS support ?
- Use a better set of mount options for VFAT partitions:
Bug #3779
- Show labels that identify physical drives when partitioning during install:
Bug #3219
[edit] DrakAuth
(BuchanMilne on cooker 29 March 2003)
Design for more complex settings than are currently handled in Drakx:
- setting up pam_smbpass so when you change your unix password, your samba password is changed also
- pam_mount support
- Multiple authentication mechanisms (RH has this)
- Don't overwrite config file changes (RH doesn't have this)
[edit] DrakBoot
- fix default window width
- need to read current state of "empty /tmp on boot" option on load
- need tooltips explaining boot loader configuration options
- compact : you have the explanation during install ( some scsi disk bla bla bla ) but afterwards if you want to activate it you may not remember its meaning.
- boot device : explain what does this mean, talking about MBR and what is hda/hdb/hdc/hdd . A tooltip may be too short
- acpi & apic : not explain what is it, but maybe why we may want to enable/disable it.
- call draksplash in background
- merge drakedm into drakboot (OptionMenu): add the "no dm" opt checkbox into it alter bottom frame title => "Display manager / autologin"
- swtich two radios top/bottom
- direct use of gtk needed for:
- enable to sort kernels
- larger kernel config window
When Mandrake starts up it paints a very pretty progress bar and the words "Press Esc for verbose output" in english.
But after a few start-ups the thrill wears thin. Why paint the text? its just one more translation task to maintain and possibly mess up due to internationalization. And the big fat progress bar does not help or prove anything. It is very obvious to everyone the computer is starting up - really! Most people just want to know that its progressing and not hung.
Take a cue from Apple and Suse -- just paint a wordless little whirly-gig and somewhere in fine print, paint F1 [help] F2 [view console]
[edit] DrakFloppy
- be able to remove several modules at once (multiple selection)
- be able to remove all modules
[edit] DrakFont: Spiffy new fontdrake.
Instead of hidding/adding widgets to main window, use modal dialogs
(AustinActon 18 March 2003 on cooker)
It's looking a bit dated; it's not all that easy to use; it would be cool to have more features. I'm sure someone can think of something to do to it.
[edit] DrakSound: Spiffy new sounddrake.
- morph troubleshooting window into a problem solver wizard
- tell the user whether ALSA or OSS is default for his card and offer the alternative
- fix hotplug so audio.o loads AFTER snd-usb-audio.o otherwise USB midi gets screwed up
- qjackconnect, qjackctl, and alsa-patch-bay (or aconnectgui, uglier) should go to main
- make alsa-patch-bay (or aconnectgui, uglier, but lighter) popup on USB-midi hotplug?
- UsbMidiPciAudio
[edit] Problems with USB MIDI: Midiman Midisport Uno
From AleksanderAdamowski:
- It seems USB MIDI can be detected and configured by hotplug when it is on before booting
- sounddrake currently handles it in such a way, that USB MIDI and PCI Audio are mutually exclusive, while in fact they can work together.
- I've opened a bug on this in bugzilla. It's
Bug #5599.
Ideas from AustinActon:
- try Mandrake 9.2, as the alsa usb midi module has been renamed
- bug the perl gurus to write a better sounddrake
- try adding your midi interface to /etc/modules.conf as snd-slot-1 and make sure draksound doesn't remove it
[edit] Create the Mandrake Personal Configuration Center.
(Narfi Stefansson on cooker 19 March 2003)
Good old MCC is a great collection of configuration tools for the super user. It shows off the good tools that Mandrake has created. However, we are missing such a collection of configuration tools for the non-privileged user.
Basically, we need to group together all the Mdk tools that can be run in a meaningful manner to setup the user accounts. Furthermore, when they are run from the Personal Configuration Center, they should not prompt for the root password.
- screen resolution for the user account
- picture in kdm/mdkkdm (GNOME/gdm configuration tool supports this already, is it just a shortcoming of KDM -- BuchanMilne - 27 May 2003)
- menus
- fonts [go into ~/.fonts]
- drakcronat
- samba setup for the user account (KDE should assume current username, what remains is workgroup - which KDE should take from samba config anyway, and password. Maybe config tool for pam_mount would be better, especially if when run as root it supports wildcard support -- BuchanMilne - 27 May 2003)
- localedrake
- draksync (IMHO, this needs to be intgrated into X startup before desktop loads, either with rsync - which could overwrite by mistake - or unison which is currently in contrib. This would give us a "profile"-type functionality which Windows has had since WinNT -- BuchanMilne - 27 May 2003)
- first time wizard
- System-wide first time wizard might not be a bad idea, to set the system defaults for things like mp3 player, mail reader, news browser, and word processor
- Per-user first time wizard for customizing the environment
- For systems that go through regular upgrades, love to see it automatically detect that the system has upgraded packages, and re-run the first time wizard and say something like, "Hey, these were your settings before. These things have been added/removed/upgraded on the system. Would you like to update your settings?" Once the user has said yes/no, the first time wizard resets itself so it won't run again until more upgrades are installed.
[edit] USB/FireWire Setup
We can't expect to let the hotplug always do the right thing for all users and we will always miss some device IDs in our lists. Therefore, I would like the hotplug actions to be configurable. I have 4 USB drives, all of which are detected.
- 1 is setup correctly.
- 1 is mounted incorrectly [incorrect fs type].
- 2 are not mounted.
I would like to be able to specify the actions when these drives are connected to the usb port
- confirm that this is a usb-storage device
- what partitions to mount and their mountpoints
- file system type(s)
- applications to launch, e.g. konqueror.
- whether to show an icon on the desktop or not.
- and I would like these settings to be saved in my user account and used the next time I connect a drive with that ID anywhere on the usb bus.
Same for firewire. When a DV camcorder is connected, a program should be launched (e.g. kino), and this should be user configurable. The 1394 mailing list has just started discussing the changes necessary for the super-user to decide these actions.
In all cases, I want the super-user to be able to specify and modify the default actions when devices are connected to the usb/firewiredrakcronat ports and the non-privileged users to be able to modify that setup according to their own wishes.
[edit] Remove/insert Super-user Menu Items and Icons
Do your spouses/kids ever run MCC? Do they have the root password? If not, then why do they get the icon for the MCC on the task bar, menu items for konsole in super-user mode, etc? When I install Mandrake, I want to be able to check a box when I create new users that says something like:
- Should this user account have icons and menu items for program requiring the super-user passwords? Yes/No
- this user should be working for you Mandrake don`t ignore him he has my vote -- guy.forssmanpandora.be - 13 Mar 2004
[edit] HardDrake
- add general tweaking using PowerTweak (http://powertweak.sourceforge.net/)
[edit] KeyboardDrake
- enhance it to add advanced keyboard (with extended keys, like logiinetnav) types for X11, KDE, ... selection (autodetection?)
[edit] InputDrake
- merge MouseDrake and KeyboardDrake,
- add RemoteDrake (or lircDrake), and JoyDrake
- configure kernel serial port support as module to avoid LIRC warning or setserial calls
- compile several lirc packages to support all remote types (serial driver don't embed all at a time!)
[edit] PrinterDrake
- get rid of 100 000 "wait for" windows upon startup
[edit] PowerDrake
- Create a tool to manage energy, with
- ACPIDrake to manage ACPI, for laptop and desktop
- UPSDrake to manage UPSs using Network UPS Tools (nut is already present in Mdk, but should be updated, http://www.exploits.org/nut/)
[edit] RpmDrake
- merge all rpmDrake functions (ie GUIs add/del, update and sources), within a unique tool, embedded in MCC, like Debian's Synaptic: http://www.nongnu.org/synaptic/action.html
- progress bar on startup
- MandrakeUpdate program: it would be nice to have a button there to select all necessary updates rather than having to tick them manually
- allow users of the "rpm" group to install packages without being asked for root password
- allow users to install rpm in their home directory, using relocation, without being asked for root password
- misc suggestions: Have the security updates/bugfix updates/the other thing be trees in the file box like Addable and Upgradable are in rpmdrake-All packages by upgrade availability.
This would make it more consistent, also make it possible to quickly do a select all, which is currently not possible in MU.
In some offices like the one i work you have to use a proxy protected by a couple user, password to go out of intranet. Now our policy is to change the password about any 30 days. It would be nice to have the availability to insert proxy user and password any time rpmdrake updates the fonts or installs/updates rpms. edit-urpm-media could have a check-field that enable this feature and /etc/urpmi/proxy.cfg could contains an entry like "ask" to understand what to do before using urpmi. (AngeloNaselli - 30 Mar 2005)
[edit] Complete UI-review of all Mandrake tools including accessibility support
(Reinout van Schouwen on cooker, 30 March 2003)
http://www.phatvibez.net/files/mandrake/draketools.html
- renew clock.pl, diskdrake, drakconnect, drakfloppy & drakfont guies
- rewrite/clean up draksplash and drakcronat
- use standard gtk+ dialogs
- make all dialogs be modal & transient for their own main windows
[edit] Toolkits
- fix qt & gtk+ for XEmbed madness (eg gtk+'s Plug widget should pass modal, transient, ... hints to its embedding Window)
- gtk+ :
- got Label rewrap text when expanded
- monitor new gtk+-2.4 widgets: new font/color pickers, toolbar, GtkExpander, combo box, wizard widget
[edit] XFdrake
- as widescreen laptops are the new hot thing you should at least be able to choose a *1440 x 900* resolution. I run Mandrake this way but it`s a hasle to manually edit the /etc/X11/XF86Config-4 file.
- as with network you should be able to check the performance for X from here. Is 3D acceleration on? What refresh framerate does it have -- guy.forssmanpandora.be -13 Mar 2004
[edit] A new tool : TGZDrake/InstallDrake/CompileDrake ?
(VincentPanel 09/07/04)
- This tool helps installing a package from sources
- First, package gets selected
- The tool extracts the package in a user configurable directory (by default, ~/src/<package_name>)
- Then, the tool displays INSTALL, README and LICENSE files
- Then, the tool asks for options to ./configure and runs it
- Then, the tool runs make
- Then, the tool asks for root pwd, and runs make install
- Of course, before running and displaying anything, everything is checked (presence of files and success of the previous step)
- May be improved : when ./configure fails, complaining about a missing file, urpmf looks for this file and installs the necessary rpm package.
I think this could have checkinstall as a dependency: make install is weak practice on an RPM-based system. liberforce