wmix: call `XSetCommand()`.
[dockapps.git] / wmix / NEWS
blobde4325ef16779ee0efb2fa42514d062490201878
1 3.3 NEWS:
2 Remove trailing whitespace.
3 Fix a buffer overflow (how did this ever work?)
4 Add native ALSA mixer support
5 Improve the osd update code
6     - More logical relationship between volume level and bar length
7     - No unnecessary drawing
8     - Volume bar shrinks properly even when volume is lowered very quickly
9 Draw osd only on the primary monitor if randr extensions are available
10 Add a command line option for choosing a monitor for osd display
11 Improve monitor selection code
12     - Default to monitor 0 instead of failing if a crazy number is given
13     - Allow monitor to be specified by osdmonitor in the config file
14 Better handling of configuration defaults for the new settings
15 Allow sound api to be specified in the config file
16 Use autotools for build.
17 Add desktop entry file.
19 3.2 NEWS:
20 Added support for volume control keys found on all modern keyboards.
21 Added plenty of information to the man page on invocation and configuration.
22 Made wmix more verbose when something is not right in the configuration.
24 3.1 NEWS:
25 Fixed a 3 years old bug about volume level showing up as "0" when it's
26 actually set to 10. Thank to all 20 or so people who e-mailed me about this.
27 Changed struct mixer_info name to allow compiling wmix under 2.6.1+ kernels.
28 Thanks Neil Burch <burch@cs.ualberta.ca> for the patch.
29 Added a patch to enable exclusion of channels from display - allows you to
30 remove mixer channels you never use. adds '-e <channame>' command line option
31 which can be repeated any number of times. Thanks to Nicolas Descomps <nico_206@noos.fr>.
32 Added #include <string.h> since glibc finally fixed most of the includes since 2001.
34 3.0 NEWS:
35 Major code rewrite. Now uses much better mixer library. New knob drawing code.
36 New config parsing code - no more segfaults. New mouse control code for knob
37 and slider dragging - more intuitive. Documentation updates. Removed runtime
38 config parsing, only reading config file once on startup. New command line
39 options to specify X display, config file, and mixer device. Removed "mixermax"
40 code until someone complains. Current channel title scrolling is now
41 configurable.
43 2.2 NEWS:
44 This is a bugfix release.  On-Screen-Display code now looks for some common
45 large bitmap font.  Check that $HOME is set before trying to write a config
46 file.  Wmix makes a pid file for use with signal changing volume up/down.
47 Minor code reorganization.
49 2.11 NEWS:
50 Mostly bugfixes and other random stuff.  OSD now really stays on top provided
51 you run a GNOME-compliant window manager (wmaker/E/saw-what-ever,etc)
53 2.1 NEWS:
54 Configuration file implemented.  Mousewheel functionality, OSD display,
55 OSD color, main mixer device, and OSS bug work-around can now be selected
56 through WMixer rc file, by default placed in ~/.wmixrc
57 Changes to the rc file are loaded dynamically, while the mixer is running -
58 you can change the OSD color, for example, and see the results right away.
60 2.04 NEWS:
61 New feature: Volume of the current channel can be controlled using signals.
62 Sending SIGUSR1 will increase the volume by 1 step, and SIGUSR2 will decrase
63 the volume by 1 step.  This could be useful if you have a newer style keyboard
64 with volume buttons and all the other extra shit.  You can tell your favorite
65 window manager to run a program on keypress, and that program could be
66 something like "killall -USR1 wmix" for volume up key, and "killall -USR2 wmix"
67 for volume down.  How to assign programs to specific keys is up to you.  I know
68 Blackbox and WindowMaker can both do it.  Keep in mind most X-servers don't
69 automatically support those extra keys, so some hacking might be required.
70 Usually they are sent as a Win95 key scancode plus another scancode.  I don't
71 have one of these keyboards so I don't know.  If enough people ask for it
72 I will add 2 more signal handlers to switch the current "channel" back and
73 forth.
75 2.02 NEWS:
76 Version 2.02 adds mouse wheel support to adjust volume, thanks to the
77 patch from Gilles QUERRET <gilles.querret@free.fr>.  Now instead of
78 dragging the knob, you can use your mouse wheel to adjust the current channel
79 volume.  Position the cursor anywhere on the dockapp, and move the wheel.
80 This behaviour is off by default, but you can compile wmix with -DMOUSEWHEEL
81 in the Makefile to enable this feature.  Incase your mouse has more than 2
82 buttons and a wheel, you can set which button signals the wheel generates as
83 "up" and "down" in mix.c, lines 45 and 46.  The default is for a standard
84 mouse with 2 buttons and a wheel.  WHEEL_STEP is the amount to adjust the knob.
85 The default of 3 should be good for everyone.  Changing the volume using the
86 wheel also brings up OSD for the current channel following same rules as if the
87 knob was used directly.
89 2.01 NEWS:
90 New feature, which isn't really new, but a feature move from WMixer 1.5, is the
91 On-Screen-Display (OSD), just like the one you probably have on your TV.  The
92 concept was the only thing copied from Wmixer 1.5 though, the code has been
93 rewritten to use a modeless window instead of drawing on the root window,
94 and draw code has been optimized not to draw any unnecessary stuff. The OSD
95 only comes up when the Knob is turned, i.e. during manual adjustment.  OSD stays
96 hidden during automatic updates due to mixer reads or changing rec/balance etc.
97 However, due to the way the OSD timer is done, as long as you are moving inside
98 the dockapp (adjusting balance, or just generally moving the mouse inside the
99 dockapp window, the OSD will stay lit.  After all movement is gone, and in
100 approximately 1.5 seconds, the OSD fades out.  If some Xlib programmer knows
101 a /NON GAY/ way to handle always-on-top, feel free to mail me a diff that makes
102 the OSD continuously on top while being displayed.  Right now, it comes up
103 on top, but if you move a window over it or something, it gets hidden.  Not
104 too much of a loss, but still could be improved.  OSD follows the same low-CPU
105 use guidelines as the rest of the code.  No updates happen unless something
106 changes that requires an update.  Also, expose events after uncovering the OSD
107 window are not handled - if you can manage to obscure it in 1.5 seconds and
108 want to see it again after that, you can always go back and twiddle the knob
109 or something.