aboutsummaryrefslogtreecommitdiff
path: root/util
AgeCommit message (Collapse)AuthorFilesLines
2016-04-25fix fbsetbg in combination with picky shellsMathias Gumz2-10/+36
in *BSD, /bin/sh is Almquist Shell(ash). the 'hash' built-in command of ash returns 0, always. 'hash' is not usable for find_it() function in util/fbsetbg and util/fluxbox-generate_menu.in. this patch changes the behavior of find_it(): when 'hash' is detected to not work correctly, switch back to 'which'. this patch is the work of Yamashiro, Jun and appeared first as patch-160 on sourceforge: https://sourceforge.net/p/fluxbox/patches/160/. i submit it on behalf of the author.
2016-04-25Allow to preselect preset textThomas Lübking1-0/+6
2016-01-09fixes bug #1138John Sennesael1-1/+1
2015-08-10fbsetbg: Report wallpaper directory path when invalidOliver Gondža1-1/+1
2015-01-31Improve I18n supportMathias Gumz2-2/+2
Among the first steps to produce better i18n support is to test the created translations adhoc without running "make install". To achieve this, fluxbox now honors several environment variables: - NLSPATH: fluxbox won't create the absolute path to the catalog and thus catopen() is free to use NLSPATH as described in the manpage. Example given: "/tmp/%N" will pick "/tmp/fluxbox.cat". %N refers to FLUXBOX_CATFILE. - FLUXBOX_CATFILE: By setting FLUXBOX_CATFILE the users can make fluxbox to use a different name for the catalog file. Default: "fluxbox.cat" - FLUXBOX_CATDIR: Per default fluxbox tries to find FLUXBOX_CATFILE at several places. Setting this environment variable allows to point fluxbox to a different search path for the catalog files. Then, fluxbox tries catopen() first without changing the deduced catalog file name. After that it applies some heuristics to get a good catalog file name.
2015-01-31Clean up FbTk::I18n APIMathias Gumz2-17/+5
Move private stuff into FbTk/I18n.cc.
2015-01-29Add chrome* to fluxbox-generate_menuMathias Gumz1-2/+4
2015-01-25Fix printf bug in fluxbox-generate_menuDaniel Campbell1-4/+4
2015-01-24Add 'lxterminal' and 'geany' to fbgmMathias Gumz1-2/+2
Implements #305 (feature request "Recognize lxterminal and geany (fluxbox-generate_menu)"
2015-01-16Make coverity happyMathias Gumz1-8/+3
Coverity complaints about 'isdigit(whole_keyfile[pos])' is changing the validity of 'keyfile' (which itself is just a copy of whole_keyfile.c_str()). This might be a valid claim, it might be not. By using the 'keyfile' variable we make Coverity happy and achieve the same behavior.
2015-01-05Fix build-system: install data files (keys, apps, menu ...)Mathias Gumz1-5/+2
* Correctly build data files when operate outside of the $(srcdir) * Actually install data files * Use pkg-config to detect X11, works better on MacOSX. We used pkg-config already anyway, double checking for X11 does not yield better results. * Replace EXEEXT in some files while before installing them
2015-01-04Fix build-system: use xxx_LDADD instead of xxx_LDFLAGSMathias Gumz2-16/+14
xxx_LDFLAGS place the libraries like '-lX11' or '-lXft' at the beginning of the linker command. Some systems were not able to handle the situation and this lead to a lot of unresolved symbols. Reading the documentation of automake: ... you can use LDADD to do so. This variable is used to specify additional objects or libraries to link with; it is inappropriate for specifying specific linker flags, you should use AM_LDFLAGS for this purpose. In addition we link against -lm in order to satisfy symbols refering to 'cos' and 'sin'.
2015-01-03Clean unused variablesMathias Gumz1-1/+0
2015-01-03Remove various unused variablesMathias Gumz1-2/+0
Clang and Gcc-4.9 complaint about some unused variables here and there. And who are we to not make a compiler happy :)
2015-01-03Remove unused code / option from FbRunMathias Gumz1-5/+1
2015-01-03Update release versionMathias Gumz2-2/+2
2015-01-02Fix corruption of fbrun-historyMathias Gumz1-42/+20
This commit fixes issues #72 (brought up + different solution by Mattias Guns; I received a similar patch by 'Nable 80' via ML and discussed the issue in #fluxbox with 'Nable 80'), patch #73 (Mattias Guns) and finally patch #162 (Ulrich Eckhardt; this commit is heavily based upon Ulrich's work). The original code was overly complex. It tried to avoid writing bytes to the disk at the expense of comprehensibility and as a result it was buggy. I looked at both patches from Mattias and 'Nable 80' which address the bug with skipping entries in the history-file (my fault: incorrect use of outfile.ignore(1, '\n')): They provided a proper fix for the problem but I decided to use Ulrich's code since it improves the whole code by making it a lot simpler. So, kudos to all of you.
2015-01-02Fix loading fbrun-historyMathias Gumz1-5/+3
Previous code add one additional entry on loading the history. This commit is one part of the patch #162 (see [1] and [2]), written by Ulrich Eckhardt <doomster@knuut.de>. [1]: https://sourceforge.net/p/fluxbox/patches/162/ [2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=fbrun-bug636632.patch;att=1;bug=636632
2014-04-11merge Sami Kerola's new build-systemMathias Gumz7-84/+80
2014-02-17update of copyright infoMathias Gumz2-2/+2
2013-06-29fix detection of $HOME folderMathias Gumz1-2/+1
usually $HOME is set when fluxbox runs. in some rare scenarios (eg., fuzzying binaries to detect bugs) one could launch fluxbox by using 'env -i' and thus eliminating $HOME from the environment. to prevent crashes fluxbox uses now 'getpwuid()' when $HOME is not set to detect the home folder.
2013-06-18Returning EXIT_FAILURE on exit in fluxbox-remote.Paul Tagliamonte1-0/+1
2013-05-26build-sys: move to non-recursive buildSami Kerola4-86/+80
This rather large change will attempts to make 'make' to work better. See excellent paper 'Recursive Make Considered Harmful' by Peter Miller for further explanation why several make files is worse than one for whole project. Note. The tests are build with 'make check' rather than defining TEST. Reference: http://miller.emu.id.au/pmiller/books/rmch/ Reference: http://karelzak.blogspot.co.uk/2013/02/non-recursive-automake.html
2013-05-26build-sys: use pkg-config to locate dependenciesSami Kerola2-0/+19
This commit alters XRANDR (X Resize And Rotate) extension dependency, which is expected to have at least version 1.4. Earlier old versions of xrandr were supported, at least to some extent.
2013-05-26build-sys: use AC_USE_SYSTEM_EXTENSIONSSami Kerola1-5/+0
The earlier _GNU_SOURCE definitions possibly did not take effect everywhere where it was intended.
2013-05-26build-sys: include config.h to all files using automakeSami Kerola5-16/+4
Do not try to be too smart which compilations need config.h, as most of them will simply because of the config.h has information about system capabilities.
2013-02-14Updates copyright date information in some binariesMathias Gumz1-1/+1
2013-01-31Adds 'ClientPatternTest' commandMathias Gumz1-17/+44
ClientPatterns might be tricky to get right. Instead of fiddling around in either the keys-file or the apps-file and restarting fluxbox to see if the changes had any effect / matched the right windows, 'ClientPatternTest' and the fluxbox-remote should make this easier: $> fluxbox-remote "clientpatterntest (title=.*vim*)" This causes fluxbox to store the list of matched windows in the _FLUXBOX_ACTION_RESULT property onto the rootwindow. This property might then be read by: $> xprop -root _FLUXBOX_ACTION_RESULT or $> fluxbox-remote result The format of the list is: win_id \t title_of_window \n win_id is '-1' when fluxbox wasn't able to parse the given ClientPattern. win_id is '0' when there are no windows matching the given ClientPattern.
2013-01-03automake: use AM_CPPFLAGS rather than INCLUDESSami Kerola2-3/+3
The INCLUDES macro deprecated in favour of AM_CPPFLAGS. References: http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html
2013-01-02util/fluxbox-generate_menu: default browswer variable can be emptySami Kerola1-1/+5
Noticed when debugging in mac.
2013-01-02utils: remove bashismsSami Kerola2-3/+7
fbsetbg: The random number generation used 'time' shell internal, which does not exist in all shells. Allowing 'ps' output to be part of cksum input will increase entropy and enhance quality of the randomness. fbsetbg: The second fix is more important. In posix shell there is no '==' comparision operator. fluxbox-generate_menu: There are no quarantees about echo accepting options, so use 'printf' for more advanced outputing.
2012-12-30Store XClassHint on stack, not in dynamic memoryVladimir A. Pavlov1-8/+5
2012-01-04Check .empty() instead of .size() == 0Ryan Pavlik1-3/+3
Found with cppcheck.
2012-01-04Exceptions should be caught by reference.Ryan Pavlik2-2/+2
Found using cppcheck.
2011-10-31util/Makefile.am,fluxbox-generate_menu.in: use EXEEXTRyan Pavlik2-7/+9
Needed to allow mingw-cross-env cross build
2011-10-31fluxbox-update_configs.cc: Fix on windows - no kill or sigusr2Ryan Pavlik1-2/+2
2011-10-31FbRun.cc: Fix on windows where there is no forkRyan Pavlik1-0/+25
2011-10-21cosmeticsMathias Gumz1-6/+9
2011-10-21bugfix: fbsetroot needs to use 24bit visuals as wellMathias Gumz1-4/+9
12f44680dfefde602f3387c6d385f4c5e68990e4 introduced ARGB visuals. if fluxbox creates 32bit visuals for the container window or the root window: does not work.
2011-05-08fluxbox-remote now properly returns exit statusnacitar sevaht1-5/+20
The previous check relied upon the (undocumented) return value of XChangeProperty to determine the exit status; at least, on my gentoo system, the function seems to return 1 even when it fails to change the property due to contrived, and invalid, parameters. However, setting an error handler allows proper detection of this case. So, now the return status properly indicates whether or not the property was changed (but not whether fluxbox liked the command!).
2011-05-04Fix "comparison between signed and unsigned" warningPavel Labath1-2/+1
2011-04-18Fix VPATH buildsPavel Labath1-1/+1
2011-04-11Changed fbsetbg's tips to the new behaviour.skizzhg1-3/+3
2011-03-29make XMESSAGE a variable and use it consistentlyslakmagik1-6/+10
Previously, gxmessage was getting substituted in one place and not another.
2011-03-29avoid trailing spaces between app and closing }slakmagik1-3/+15
Add a few lines of code to prevent a few spaces in some menu output. '{$app $options}' would expand to '{app }' if no options were set. Also, while scattered throughout, in this particular spot the unnecessary braces around some of the variables (and not around some others) and inside flux's braces could be very visually confusing and lead to editing errors, so removed those.
2011-03-29separate functions and main codeslakmagik1-44/+46
Transpose one function from main to the rest of the functions and one block from the top of the script to the top of main. Add an 'End functions' comment.
2011-03-29add the configuration file equivalent of '-in'slakmagik1-0/+3
2011-03-29silence cmpslakmagik1-1/+1
cmp's '-s' flag is POSIX - if it's as portable as that's supposed to mean, that might be used instead.
2011-02-21fbsetbg: improved aspect-ratio-filling for feh (thanks Jeremiah Mahler ↵Jeremiah Mahler1-1/+1
<jmmahler at gmail com> Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583704
2010-09-18changed the way we create the '~/.fluxbox' directory to avoid race conditionsMathias Gumz1-1/+1
before bringing up the first instance of Fluxbox we prepare the directory and the files it needs. if the config version of exiting files is lower than what we expect, we upgrade the config files. after that we bring up Fluxbox. the old way was problematic because setupConfigFiles() calls 'fluxbox-update_configs' which does its job in the background while fluxbox continues to boot. 'fluxbox-update_configs' sends a USR2 signal to the booting fluxbox (it might even be finished, no one knows) which triggers 'load_rc()' which triggered 'setupConfigFiles()' again which might trigger 'fluxbox-update_configs' again (on my machine 'fluxbox-update_configs' was called 3 times and left a pretty crippled 'keys' file when it was done). bootstrapping before bringing up fluxbox resolves the issue. as a bonus: no need to send USR2 to fluxbox to reload the config file because fluxbox has not even tried to read it yet.