Commit graph

278 commits

Author SHA1 Message Date
Christophe CURIS d37962fd46 wmix: do not count space padding in channel short name when comparing names for exclusion
The names for channels provided by <sys/soundcard.h> have a padding with
space when their name is shorter than 6 characters, and this cause
excluding them difficult.
The new comparison code makes sure this padding is properly handled during
the match search.

Took the opportunity to bring light changes to try to improve the
readability of the channel listing code.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS ccff1cf409 wmix: allow to choose device and exclude channels from the config file
Because that's the kind of option that could deserve to be saved in the
file. A device specified on the command line will take precedence; the
list of channel to exclude will be merged.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 67548f3b6a wmix: added an option to disable grabbing the volume control keys
There may be some case where user would like to fall back to the original
behaviour, for example if grabbing these keys could get in conflict with
other applications.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS d83b160217 wmix: added error catch for XGrabKey on multimedia keys
If another application has already set a grab on these keys then the call
would fail (BadAccess) and wmix stop. With the X error handler, we can
display a warning to user and continue anyway.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 4379368290 wmix: added function to handle Multimedia keys related to volume
We can handle the keys AudioRaiseVolume, AudioLowerVolume and AudioMute,
so we ask the X server to send the key press event for them to us and
update the volume appropriately.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 3e2d8a730a wmix: always display the version information when verbose is asked
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS d7add56750 wmix: release memory for startup-only configuration stuff after startup
A number of configuration options are useful only during the startup, so it
is possible to free them when ready.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS b1fcdb1552 wmix: added appropriate message and fall back if user's color for OSD failed
It is generally not considered a good behaviour to leave user puzzled on
non-working request. With a little message at least he will know where to
look at.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>

Conflicts:
	wmix/config.c
2014-06-07 21:27:27 +01:00
Christophe CURIS 546bc1e49b wmix: rewrote parser of config file to report problems to user
The original parser would not say anything if the user had misspelled
something in the file which can be annoying. Now the parser will report
warnings for everything not understood with a message trying to be more
helpful to debug and fix.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 5b46b380e6 wmix: changed command line parsing code to report properly incorrect options
The original code did not abort when an invalid option was provided
or if there was non-options arguments on the command line.
The new code will report all problems found and stop to have the user
fix his command. It also remove some unnecessary pointer checks.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 676fc13cb2 wmix: be more verbose about the configuration file in use
If the config file was set by user with '-f', it would be a good idea to
report him if we're not able to load it.
Took opportunity to report to user that the config file is loaded if he
asked for verbose operations, so he can see if the default file loaded
is the one he expected.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS b394e0bdba wmix: moved the initialisation of the config to the related file
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS eb8be92aa8 wmix: moved parsing of Command-Line options to the config handling file
Took opportunity to re-order them alphabetically so they are easier to
work with, both for devs and for users.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 4c1bae53c4 wmix: created new file config.c to contain configuration related stuff
Management of the configuration is split in many places, the goal is to
regroup stuff together, starting with the loading from file stuff.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS e2dc01bdc0 wmix: create the PID file only after successful initialisation
The PID file was created at the early beginning, but wmix can abort later
if something is not ok. It is better to create it at the end, so it will
be created only if wmix will actually be running.

Took the opportunity to move the code to a dedicated function to keep main
simple, and added a check to fix possible crash on startup if environment
variable $HOME does not exist.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 8eae1880b9 wmix: removed unused variable because a pixmap's mask is not used
The bitmap mask associated to the Led image on the knob was not used,
probably because the visual gain is negligible compared to the added
complexity to handle it.
So, as compiler warned about it, remove the variable.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 2d191d0e6c wmix: do not risk a crash (null-pointer-dereference) if $DISPLAY is not set
The original code merely assumed that an XOpenDisplay failure was caused
only by incapacity to connect to the X server, but if $DISPLAY was not set
then the fprintf would be given a NULL pointer which it may not appreciate
(depending on the libc in use).
Let's avoid that case and try to provide more info to help the user.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 4be6166084 wmix: fixed makefile to use PREFIX in a standard way (and with the standard default path)
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS f5e5d2ffcb wmix: changed the makefile to use the standard practice LIBS variable for libraries
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 65f5baad33 wmix: install the man page at the same time as the program 2014-06-07 21:27:27 +01:00
Christophe CURIS 0243a0b9ed wmix: added description of channel naming in the man page
It may not be easy to understand how channels are names, particularly
when user wants to use a name to exclude a channel from the GUI. This
new sections answers all those questions.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 8833ff91d3 wmix: added new BUGS section in the man page
This is handy to let the user know about the possible strange behaviour he
may encounter and some limitations.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS f18ecf27e9 wmix: more small improvements to the man page
This includes detailing more files of interest to user, spell-checking and
appearance, and few other things.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 46199b9170 wmix: added description of the syntax of the config file in the man page
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 8e7c63282c wmix: added missing command line options to the man page
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS f41464febc wmix: fixed syntax of groff macros in the man page
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Christophe CURIS 501620e06d wmix: replaced man page with uncompressed version
This allows easier review/fix/patches. Furthermore, not all man tools
support compression and some distribution may use other compression
algorithm (bzip2, ...), so this should be handled at install time.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2014-06-07 21:27:27 +01:00
Weland Treebark 9f5ea8c8d7 wmbutton: fail early on missing config
wmbutton will happily start and display what otherwise looks like a
functioning display even if none of the possible configuration files
exist. However, the application promptly exits as soon as it has to show
a tooltip. This isn't nice. It looks like a crash to an unsuspecting
user. Terminal output is shown, of course, leading to a decently quick
diagnostic, but the fail isn't early enough to be useable.

The trivial fix is to check if the local configuration file (specified
as a command line argument or defaulting to ~/.wmbutton) or the global
configuration file can be open. If neither can be open, we bail out
early.

This *still* has the problem of only really being functional in a
terminal. A graphical error box would definitely be preferable and is a
possible improvement.

Signed-off-by: Weland Treebark <weland@blinkenshell.org>
2014-05-28 21:20:02 +01:00
Len Trigg 145662ff35 Fix two bugs related to command execution:
- When executing a command, control flow would fall through to the
  display cycle code, changing the display.

- When display cycling was prevented by the user (via -l), command
  execution was also disabled.
2013-12-05 10:00:25 +00:00
Doug Torrance 2ca71dc449 wmtime - increase version number to 1.1
Enough patches have been made over the years to the wmtime Debian
package that I have decided to incorporate these changes into
an official upstream release.

Some updates to the documentation have been made to reflect the
changes.
2013-10-13 22:49:38 +01:00
Doug Torrance 32ffb9e740 wmtime - update localization
When non-Latin alphabet characters are encountered in weekday and month names, the English defaults are used.  This closes Debian bug #726125.

Also, numbers are now printed when encountered in weekday and month names (e.g., Swahili).
2013-10-13 19:19:45 +01:00
Doug Torrance 400eb8b426 wmtime - Removed debian directory.
As per the policy of the dockapp git repository, the debian directory of wmtime has been removed.
2013-09-23 09:21:47 +01:00
Doug Torrance c80c917d37 wmtime - Fix compiler and linker flags in Makefile.
The Makefile of wmtime had to be patched in order for CFLAGS
not to be redefined by the Makefile but to use the CFLAGS
passed by debhelper and add additional flags through
string concatenation. LDFLAGS and CPPFLAGS weren't passed
at all and have been added to the linker command line.

Patch by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
from Debian package.
2013-09-22 20:23:14 +01:00
Gabriel VLASIU 96fe4bccb0 Enable classic mode. 2013-04-08 18:04:30 +01:00
Gabriel VLASIU 4e9e018b22 Update gnutls code (require at least 2.2.0). 2013-04-08 18:03:34 +01:00
Gabriel VLASIU b00adb9607 Remove gnomeicu from wmbif's manual. 2013-04-08 18:02:06 +01:00
Gabriel VLASIU 8d972d5f44 wmbiff: Fix segfault when -display or -geometry argument is missing. 2013-04-04 18:11:13 +01:00
Gabriel VLASIU 3849e598ac wmbiff: Free memory when using a custom skin. 2013-04-04 18:11:13 +01:00
Gabriel VLASIU 75ad28585c wmbiff: Fix wmbiff restart. 2013-04-04 18:11:13 +01:00
Gabriel VLASIU ef01fb39db wmbiff: More gnutls casts. 2013-04-04 18:11:13 +01:00
Gabriel VLASIU 55ae2b61fe wmbiff: Fix memory leaks pointed out by valgrind. 2013-04-04 18:11:13 +01:00
Gabriel VLASIU 8b1a26f4ba wmbiff: Remove unused files. 2013-04-04 18:11:12 +01:00
Gabriel VLASIU 6962c80435 wmbiff: XKeycodeToKeysym is deprecated. 2013-04-03 18:34:44 +01:00
Gabriel VLASIU ffd089ef58 wmbiff: Remove unused variable. 2013-04-03 18:33:54 +01:00
Gabriel VLASIU 7b53eab0b4 wmbiff: Fix signedness and/or cast. 2013-04-03 18:33:23 +01:00
Gabriel VLASIU fddfe9c2ec wmbiff: comparison between pointer and integer. 2013-04-03 18:32:04 +01:00
Gabriel VLASIU edfe4555cb wmbiff: Add missing include. 2013-04-03 18:31:07 +01:00
Gabriel VLASIU db976f0a51 Update manual for wmbiff and wmbiffrc. 2013-04-03 17:57:22 +01:00
Alexey I. Froloff 759322d4ea wmpager: add missing Makefile.am 2013-04-01 11:31:17 +01:00
Milan Čermák d914561f0c wmSMPmon: Code formating cleanup 2013-01-19 10:03:19 +00:00