gber at opensuse.org
Fri Sep 21 12:30:31 CEST 2012
a while ago I've done a bit on xfce4-mixer aiming at fixing some
long-standing bugs, modernizing the code, improving usability and
adding a couple of features. Unfortunately Jannis hasn't been able
to find time reviewing the patchset so I'd appreciate it if someone
could help out with reviewing the code.
The patchset is available as a MQ repo at
and for convenience also as a git repo at
git at bitbucket.org:gber/xfce4-mixer-for-review-only.git
The changes in detail are:
- Handle a negative minimal volume correctly.
- Fix a potential NULL pointer dereference.
- Do not try to destroy the mixer window twice after a delete-event
- Modernize build system and build panel plugin as a module.
- Use standard icons where possible.
- Update the icons on theme change (bug #3498).
- Support xfce4-panel 4.10 with its deskbar mode (bug #8350).
- Use xfconf for the panel plugin configuration.
- Make the panel plugin use sensible default settings (first card, master
track) in the absence of an existing configuration (bug #5716, bug #6624,
- Clearly indicate in the plugin when there is no valid card and/or element
and ignore mouse wheel and mute toggle events (bug #6625, bug #7630).
- Avoid the deprecated GtkTooltips API and let XfceVolumeButton handle
- Indicate in the plugin tooltip whether the track is muted.
- Mute a track when the volume is set to 0% and unmute when set to a higher
value (bug #8291).
- Add an item to the panel plugin context menu for muting (bug #7944).
- Make name and description more meaningful (bug #5817).
- Do not use deprecated APIs and adjust requirements to Xfce 4.10.
- Add global keyboard shortcuts for raising and lowering the volume as well as
muting (bug #5314).
- Set the main window to normal rather than dialog type (bug #7623).
- Keep the sound card and controls in sync between the mixer and xfconf.
- Populate the mixer with whitelisted controls in the absence of an existing
configuration (bug #4945).
- Add a popup with a scale for setting the volume to the panel plugin which is
opened on left click, allow running the uder-defined command previously bound
to left click from the panel plugin context menu instead.
- Make xfce4-mixer a singleton application, executing xfce4-mixer while another
instance is already running brings the running instance to the foreground
- Remove UI for configuring the mixer command from the panel plugin and assume
xfce4-mixer, make the panel plugin context menu entry for running the mixer
- Add tooltips to scale widgets in the mixer.
- Add runtime debugging mode to both the mixer and the panel plugin.
- Add man page for xfce4-mixer.
- Handle identically named tracks by making use of the track index property.
- Handle tracks which are marked read-only by GStreamer or which have no mute
or record functionality by making the corresponding widgets insensitive.
Prevent read-only tracks from being selected in the panel-plugin.
- Handle mixer changed messages which indicate that the tracks of a mixer have
- Handle options list changed messages which indicate that the available
options of a track have changed.
- Separate labels from track and option widgets and align labels and option
- Reduce the distance between faders in track widgets and ensure it is always
- Put the chain buttons above the mute and record buttons and add lines to the
left and right of them.
- Default to unlocked state if the volume differs between the channels of a
- Add mnemonics for all tabs and the soud card combob box of the mixer main
- Add labels with mnemonics for the soud card and track combo boxes of the
plugin configuration dialog.
- Improve the wording of the message shown when no controls are visible and
visually follow the layout of an alert popup.
The following bugs are addressed:
bug #8288 Mixer Gtk-CRITICAL on close
bug #3498 Volume control applet does not change icon until restart
bug #8350 Set "small" property to match the icon size to other panel plugins in 4.9+
bug #5716 Mixer Panel icon does not reflect volume changes
bug #6624 no default device/track
bug #7125 xfce4-mixer doesn't work properly on Xfce4.8
bug #6625 disable volume button when no device/track
bug #7630 xfce4-mixer-plugin crashes on mousewheel --disable-debug set
bug #8291 Request: xfce-mixer-plugin mutes/unmutes on scroll to/from 0%
bug #7944 Mute option
bug #5817 The mixer menu entry could be more explicit
bug #5314 XF86audio events are not interpreted by mixer-applet anymore since 4.6.0
bug #7623 no minimize button on 4.8
bug #4945 No controls on first launch
bug #5676 keeps opening a new property window
More information about the Xfce4-dev