aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-05-23fix head detection for adjacent heads of too different sizes and window ↵Peter Hercek1-11/+14
placement based on apps file * if you have e.g a 1920x1200 monitor and a small 800x600 monitor to the right of the bigger one and a small window at the right side of the big monitor (but still the whole window area at the big monitor) then the original head detection would claim the window is on the small monitor because (800/2+windowWidth/2 < 1920/2+windowWidth/2) is true for small windows; but that is obviously wrong, the window is entirely on the big monitor * these incorrect head detections did lead to incorrect window placements as they were required in the apps file
2013-05-16Fix regression in rendering the Window-Motion-OutlineMathias Gumz1-4/+6
Commit 79fe2fca1de5140f538e68f6981b27cf7f917e7a checks for pending motion events and drops out of the FluxboxWindow::motionNotifyEvent() function early if so. When the user does not use the opaque window movement method an outline will be drawn to the screen. That outline was not cleaned correctly with commit 79..
2013-02-27minor code simplificationsMathias Gumz2-18/+7
2013-02-27Workspace switching on the toolbar via the mouse buttonsSoeren Beye3-6/+12
2013-02-14Trigger ClockTool every second, independent of the format stringMathias Gumz2-63/+44
It's hard to hit right moment to update the clock correctly: Either we are a bit too early and the 'old time' is the same as the 'new time' and the clock looks 'a bit off' or we are too late and the clock is 'a bit off'. This is especially the case for format strings which do not show the second and thus are updated only at the full minute (see bug #1082): if fluxbox does not update the clock 'now' it would do it one minute later and thus the clock might show the wrong time for roughly 1 minute. Instead of coming up with something immensely clever we just trigger the ClockTool every second. If no update of the shown time is needed fluxbox won't do anything. Some minor code reordering as byproduct.
2013-02-14Updates copyright date information in some binariesMathias Gumz2-2/+2
2013-02-13mpfMathias Gumz1-1/+1
2013-02-13Updated Changelog, NEWS, man-pages for 1.3.5Release-1_3_5Mathias Gumz22-49/+44
2013-02-13Fix missing LogicCommandsMathias Gumz1-0/+6
By removing FbTk/LogicCommands.o from LDADD in src/Makefile.am (commit 06655f6) I prevented the linker to pick up FbTk/LogicCommands.o and thus rendered all logic-commands useless. Using a small helper object to pull in the dependency fixes this problem without relying on manually tweaking the build system.
2013-02-13Initialize FbTk::Timer.m_timeout correctlyMathias Gumz1-2/+4
2013-02-10Updated Changelog, NEWS, man-pages for 1.3.4Release-1_3_4Mathias Gumz23-120/+190
2013-02-10Remove unused variables, cosmeticsMathias Gumz1-16/+16
2013-02-10FbTk::FbTime::mono() yields microseconds since fluxbox startedMathias Gumz1-3/+2
2013-02-10CleanupMathias Gumz2-31/+31
2013-02-10More subtle brightening of texturesMathias Gumz1-5/+5
2013-02-06Feature #3602124: 'LHalf' and 'RHalf' buttons to the titlebarMathias Gumz6-19/+85
First draft of feature request of #3602124: Having 2 buttons in the titlebar which allow quick positioning of a Window into the left or right half of the current monitor.
2013-02-06Fix bug in renderEllipticGradient()Mathias Gumz1-17/+20
For odd 'widths' and 'heigths' the texture would not be filled completely: Given a 'width' of 5 we would render only 4 instances of x (-2, 1, 0, 1) instead of the needed 5. This results in a texture which looks a bit cut off to the bottom right side.
2013-02-06Minor cosmeticsMathias Gumz1-38/+41
2013-02-06Fix integer overflowMathias Gumz1-1/+1
I forgot this piece in 779618e45d4571bb6a4866aa2e398780f4b4da5d.
2013-02-06Reduces memory footprintMathias Gumz1-7/+5
The buffer for some gradients does not have to be width * height big when two lines are sufficient.
2013-02-06Branchless code for interlacing a textureMathias Gumz1-25/+15
2013-02-06Fix integer overflow for bigger texturesMathias Gumz1-2/+6
2013-02-01Fix regression regarding timers with equal end-timeMathias Gumz1-2/+6
std::set<Key, Comp> stores Key only if Comp(Key) yields a unique result (My mistake: I was under the impression Comp is only used for the ordering). This prevents FbTk::Timers with equal end-times from actually being started. Escpecially in situation with multiple ClockTools this lead to stopped timers (see bug #3600694). Kudos to Adam Majer for enlightening discussions.
2013-01-31Adds 'ClientPatternTest' commandMathias Gumz7-53/+177
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-26Calculates timeouts of ClockTool based upon System ClockMathias Gumz5-26/+36
Users expect time switches to happen upon system clock times. Calculating the timeout for the next refresh of the shown time via the monotonic clock is wrong: The monotonic clock yields values based upon some arbitrary point in time which might be off a little bit to the system clock, a 'full' minute of the monotonic clock might be in the midst of a system clock minute.
2013-01-23Improve calculation of brighter colorsMathias Gumz4-22/+209
The old code did not brighten up "pure" colors like "red", "green" and "blue" at all. The new code use a different precomputed LUT which is based upon simplified vector math, see the comments in FbTk/ColorLUT.cc
2013-01-20Adds 'he_IL' translations (provided by Genghis Khan)Mathias Gumz5-2/+333
2013-01-17Fix bug: actually invert a given TextureMathias Gumz1-1/+1
Stupid typo.
2013-01-17build-sys: clean up .gitignore fileSami Kerola2-62/+41
2013-01-15Simplifies and fix bugs in FbTk::TimerMathias Gumz2-41/+36
* Calling Timer::setTimeout() from within Timer::start() might lead to ugly behavior (as experienced in bugs #3590078, #3600143, etc; see commit 4d307dcd10af9d817ff5c05fc40ae7487564cb31, fixes the problem partially). * Stop a timer first, then call the handler (via Timer::fireTimeout()). A given handler might call Timer::start() again, which (re)adds the Timer to the control list .. the following Timer::stop() would remove it again. * Use 'm_start' as indicator if timer is running. * Move the (now quite short) code of ::addTimer / ::removeTimer into the Timer::start() and Timer::stop() functions.
2013-01-13Ensure textures have the correct size bevor applying 'bevel'Mathias Gumz1-7/+8
2013-01-13Optimize inner loop of pixel transfer in TrueColorMathias Gumz1-65/+61
Testing bits-per-pixel in the inner loop is suboptimal, especially since that value does not change. A little helper macro helps to keep the code readable, also improves the situation for StaticGray and PseudoColor.
2013-01-13Use the same lookup-tables for solid and gradient texturesMathias Gumz5-164/+237
2013-01-13improved code documentationMathias Gumz2-14/+3
2013-01-13Minor optimization of handling the timersMathias Gumz1-15/+15
2013-01-12Fix bug: handle the list of Timers not in-placeMathias Gumz1-14/+18
With commit 541c8c4 we switched from an (manually) ordered list to a std::set<> to handle the active timers. The code which checks for overdue timers now traverses and modifies the std::set<> in place. This might lead to an infinite loop. Examples of such bad behavior are "flickering of the tooltip" (bug #3590078) or crashes (bug #3600143) or just insanely high cpu load when autoraising windows or submenus. We now make a copy of the std::set<> traverse this instead of the original.
2013-01-10Optional removal of SystemTray toolMathias Gumz5-5/+31
Added the option to remove the SystemTray tool completely from fluxbox.
2013-01-10Reduced lagging begind of windows on slower displaysAymeric Vincent1-1/+7
In certain situations a speedy mouse might generate more move-events than fluxbox can handle: The event queue will fill up faster than the repositioning of the window is finished. The user will experience a window which lags behind the mouse cursor, aka the window-dance. We now check the next event in the queue and postpone the move a little bit so the queue does not fill up that fast.
2013-01-08refer to the correct autoconf file in nls/translators.txtMathias Gumz1-2/+1
2013-01-08fix little autoconf regressionMathias Gumz1-1/+1
2013-01-03automake: use AM_CPPFLAGS rather than INCLUDESSami Kerola3-4/+4
The INCLUDES macro deprecated in favour of AM_CPPFLAGS. References: http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html
2013-01-03automake: fix initializationSami Kerola2-3/+7
Reference: http://www.gnu.org/software/automake/manual/automake.html#Public-Macros
2013-01-02do not try to reach $(top_srcdir)/.git directory contents when building a ↵Sami Kerola1-1/+5
release tar ball
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.
2013-01-02fix 'make distcheck' which had out-of-tree build issueSami Kerola36-36/+36
2013-01-02rename configure.in to configure.acSami Kerola1-142/+142
It seems autoheader version 2.69 does not work with configure.in file, and AM_CONFIG_HEADER macro. aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' configure.in:585: warning: macro 'AM_CONFIG_HEADER' not found in library Executing: autoheader autoheader: error: AC_CONFIG_HEADERS not found in configure.in
2013-01-02Compile fix: forgotten parentheses around valueMathias Gumz1-1/+1
2012-12-30updated ChangeLog and NEWSRelease-1_3_3Mathias Gumz2-3/+6
2012-12-30replace XKeycodeToKeysym() with XkbKeycodeToKeysym()Sami Kerola1-2/+3
The XKeycodeToKeysym() is deprecated. References: http://comments.gmane.org/gmane.comp.misc.suckless/9403