xfce4-mixer patchset

Guido Berhoerster 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
  (bug #8288).
- 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,
  bug #7125).
- 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
  (bug #5676).
- 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
  more meaningful.
- 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
  widgets horizontally.
- Reduce the distance between faders in track widgets and ensure it is always
  the same.
- 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
Guido Berhoerster

More information about the Xfce4-dev mailing list