aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-01-10Fix bug: integer underflow in startup phaseMathias Gumz1-1/+7
When fluxbox comes up some of it's drawables span a 1x1 area. Subtracting from such small numbers bigger ones always lead to massive problems when 'unsigned int' are involved: 'button_width' is an unsigned int of '1' (this might be caused by another issue or on purpose, anyway), subtracting -10 or any other number should result in something < 0 when in reality an integer underflow happen: max_width is now MAX_INT-something big. This makes fluxbox crash under certain circumstances. This fixes bug #1116.
2015-01-05Fix 'make check'Release-1_3_6Mathias Gumz1-21/+10
2015-01-05Documentation: white-spaces and minor formattingMathias Gumz11-350/+345
2015-01-05Add ArrangeWindowsStack* actions to vim-keysMathias Gumz1-0/+2
2015-01-05Fix build-system: link against libiconvMathias Gumz1-0/+1
Some systems (BSD, MacOSX) need explicit linkage against -liconv.
2015-01-05Fix build-system: install data files (keys, apps, menu ...)Mathias Gumz5-33/+38
* 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 Gumz4-20/+24
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-03Fix to make clang happyNable 801-3/+5
POSIX states that 'd_name' in 'struct dirent' is char[], so it cannot be NULL. This will result in the compiler complainting about an expression which always evaluates to true ... for this compiler (clang). But in some implementations 'd_name' is a 'char*' that's why it's better to keep the check for possible NULL.
2015-01-03Minor API change for OSDWindowMathias Gumz4-10/+9
OSDWindow::resize(const FbTk::BiDiString&) shadowed FbWindow::resize(x, y). To fix this I renamed the function to OSDWindow::resizeForText() to make the intention clear.
2015-01-03Fix signature ITypeAheadable::isEnabled()Mathias Gumz1-1/+1
2015-01-03Fix signature FbTk::FontImp::rotate()Mathias Gumz1-1/+1
2015-01-03Clean unused variablesMathias Gumz7-10/+1
2015-01-03Fix clang warning 'expression with side effects'Mathias Gumz2-9/+14
2015-01-03Fix number2*() functionsMathias Gumz1-7/+7
As correctly pointed out by 'Nable80': "%llx" does not create the 0x prefix for the hex-string. In addition to that: snprintf() adds a terminating \0.
2015-01-03Update ChangeLogMathias Gumz1-33/+36
2015-01-03Remove dead / unused codeMathias Gumz2-78/+5
Again: Compiler happy, we are happy.
2015-01-03Fix typo / editor bug or something like that.Mathias Gumz1-1/+1
While running code analysis tools this issue popped up. As it is written it is clearly a NOP, but the reason for why it is written that way remains unknown. I suspect that it was a textfragment introduced by some repeat-function of the used editor (think '.' in VIM). The code was introduced by commit a932a7a801 and looked like this in the original form: if(!XQueryTree(FbTk::App::instance()->display(), window().window(), &root_return, &parent_return, &children_return, &nchildren_return)) parent_return=parent_return;//return; Look at the outcommented return statement. I decided to return from that function instead of the NOP.
2015-01-03Remove various unused variablesMathias Gumz8-30/+21
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-03Update copyright infoMathias Gumz1-1/+1
2015-01-03Remove unused code / option from FbRunMathias Gumz2-8/+1
2015-01-03Use correct buffer size for number2*()Mathias Gumz1-3/+6
2015-01-03Identify clang compilerMathias Gumz1-1/+3
2015-01-03Preparation of release 1.3.6Mathias Gumz3-4/+94
2015-01-03Fix build issueMathias Gumz1-1/+1
2015-01-03Remove reference to src/tests/testSignalMathias Gumz1-13/+0
2015-01-03Recreate man-pagesMathias Gumz8-133/+60
2015-01-03Update release versionMathias Gumz12-11/+15
2015-01-03Fix build issue with out-of-src-buildsMathias Gumz1-1/+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-10-27make use of FbTk-apiMathias Gumz1-27/+26
2014-09-29treat windows having WM_CLASS == "DockApp" like DockAppsMathias Gumz2-5/+13
this commit implements feature-request #317: "Add support for GTK dockapps.": "Back in 2010, WindowMaker implemented a system where windows with WM_CLASS res_class = DockApp would be treated as if they had initial_state = WithdrawnState, since GTK refuses to allow this."
2014-09-29Corrections for border width for relative resizeArkadiusz Bokowy1-0/+2
2014-09-14Code cleanupArkadiusz Bokowy1-3/+1
File name expansion is done internally by the Slit::loadClientList, so there is no need to duplicate the code.
2014-09-14fix: check the correct XClassHint propertyMathias Gumz1-8/+3
kudos to Arkadiusz Bokowy (this commit is a slightly changed version of a patch sent to the devel-ml): when retrieving the '.res_name' of a XClassHint we should check '.res_name' and not '.res_class'. the other changes only reduce the code.
2014-07-22fix uninitialized variablesMathias Gumz2-4/+2
2014-07-22fix _NET_MOVERESIZE_WINDOW resize issue (#1108)Mathias Gumz1-6/+6
handing over the dimensions of a WinClient client must not contain properties of the FbWinFrame, otherwise they get added twice in FbWinFrame::moveResizeForClient() and thus result in a resizes when no resize is wanted. other changes: it's easier for me to detect the nth bit when the value looks like (1 << 8) instead of 0x0100 (for the 8th bit). that is why i changed 0x0100, 0x0200 etc. in the nearby code.
2014-05-12allow a timeout of a full 'unit'Mathias Gumz1-1/+1
the -1 in the FbTk::FbTimer::remainingNext() function was pointless in the first place anyway: reducing the timeout by just 1 microsecond improves nothing (in this case). if the timer triggers exactly at a full unit (second) then it's correct to wait for the full next unit.
2014-05-12cosmetic, less codeMathias Gumz1-9/+10
2014-05-12detect minute-based strftime-formats (again)Mathias Gumz3-6/+14
the lag / skipping of the clock was not caused by faulty timer code on fluxbox's side but by the behavior and inner workings of time(). since this is fixed now (913244789f) we can now rollback ec7fe513c8 and detect strftime-formats which need intervals of seconds or minutes. minor: the small change to FbTk::Timer::setTimeout() reduces one start() / stop() cycle for a running timer.
2014-05-12fix clocktool lagging behind and skipping secondsMathias Gumz1-2/+13
from time to time (...) time() might be off to gettimeofday() by a second. the reason for this is that time() is usually implemented by just returning the field 'second' of the struct that represents the clock inside the kernel. gettimeofday() on the other hand also takes the 'fraction' field (mostly 'nanoseconds') into account and thus is closer to the current time than time(). the result of using time() was a perceived 'lag', sometimes the clocktool even skipped a second. by using FbTk::FbTime()::system() instead fixes the issue.
2014-04-11removed reference to 'defaults.hh'Mathias Gumz1-2/+0
2014-04-11merge Sami Kerola's new build-systemMathias Gumz107-2062/+3447
2014-04-09use function fluxbox::findScreen()Mathias Gumz1-9/+1
2014-04-09fix excessive loading of keys file caused by xmodmapMathias Gumz2-11/+43
xmodmap (and other tools) trigger MappingNotify events. a single xmodmap expression such as "keycode comma = comma semicolon" might trigger 4 or 5 MappingNotify events. loading the keys file on each of them is quite unefficient. fluxbox now uses a (250ms) timer which is reset upon further events.
2014-02-19move shared build instructions for nls into a common fileMathias Gumz34-1320/+73
2014-02-19make sure that result of division is signed intAmadeusz Sławiński1-4/+6
there is problem that x/y ended with unsigned int value due to width()/height() and negative result of division ended up being big it causes Focus to move window due to screen boundary checks fixes annoying behaviour of window moving few pixels with Mod4 KP_8 :MacroCmd {ResizeTo 100% 50%} {MoveTo 0 0 Top} {Raise} {Focus}
2014-02-19Fix the Bulgarian translation's codeset.Peter Pentchev2-3/+3
The codeset of the Bulgarian translation was incorrectly specified as ISO-8859-1 instead of CP1251. This led to incorrect transcoding to UTF-8 and the display of wrong characters in the Fluxbox menu.
2014-02-18Fix race condition on shutdownMathias Gumz17-874/+701
This commit fixes primarily a race condition that occurs when xinit(1) shuts down: by not acting properly fluxbox gets caught in an infinite loop. It caused bug #1100. xinit(1) sends a SIGHUP signal to all processes. fluxbox tries to shutdown itself properly by shutting down workspaces and screens. While doing that, the Xserver might be gone already. Additionally, fluxbox used to restart() itself on SIGHUP, which is clearly not the right thing to do when xinit(1) is about to end the session. So, fluxbox does this: * handling SIGHUP now shuts down fluxbox without clearing workspaces and screens. * A 2 second alarm() is triggered in Fluxbox::shutdown() as a last resort * XSetIOErrorHandler() is used to recognize the disconnect from the xserver. * SIGUSR1 is for restarting fluxbox, SIGUSR2 for reloading the config * FbTk/SignalHandler.cc/hh is gone; this unused abstraction served currently no real purpose. Signal handling is now done in main.cc * Unrelated to the issue itself src/main.cc was trimmed down quite a bit and the code (responsible for handling the command line interface) was moved to src/cli*
2014-02-17update of copyright infoMathias Gumz3-3/+3