aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2010-09-08removed unused codeMathias Gumz1-1/+0
2010-09-08introduced FbTk::BidiStringMathias Gumz54-427/+438
a 'BidiString' holds both the logical content and the visual reordered version of the content of a string. this helps to reduce the number of calls to reorder the string before drawing it (as introduced in the patch from Ken Bloom) and to be more consistent in menus and textboxes (drawing cursors and underlining text).
2010-09-08removed redundant if-statementMathias Gumz1-7/+5
2010-09-05avoid constructing new strings implicitMathias Gumz4-7/+7
2010-09-05cosmeticMathias Gumz1-2/+6
2010-09-05reuse temporary memory for reencoding / reordering fribidi-stringsMathias Gumz1-17/+25
2010-09-05added info about 'BIDI' support to 'fluxbox -info'Mathias Gumz1-1/+5
2010-09-04added support for bidirectional textKen Bloom3-22/+69
2010-09-04minor code simplificationMathias Gumz1-13/+13
2010-09-04fixed the default 'OnTitlebar Mouse1' actionsMathias Gumz1-2/+2
2010-08-24code simplification / deduplicationMathias Gumz3-54/+64
* parse the string only once for a bunch of chars to check instead of starting over again and again from the beginning, created a helper function to do this (FbTk::StringUtil::findCharFromAlphabetAfterTrigger) * put same code into a function (setClockModeLabel()) * use much simpler code to switch between 12h and 24h mode and replace the fmt-switches
2010-08-23moved knowledge about '_NET_SYSTEM_TRAY_S' into the 'SystemTray' classMathias Gumz3-13/+17
2010-08-23fixed compiler warning 'comparison between signed and unsigned integer ↵Mathias Gumz1-7/+7
expressions'
2010-08-23reenable clickRaise(), but on any button press if no key-action was foundMathias Gumz1-1/+17
2010-08-22bugfix: compiler warningMathias Gumz1-1/+1
2010-08-22fixed compiler warnings regarding signed/unsigned and () around expressionsMathias Gumz1-7/+14
2010-08-20implemented 'ActivateTab' action to (re)allow activation of tabs via mouseMathias Gumz5-72/+56
2010-08-16fixed typoMathias Gumz1-1/+1
2010-07-14bugfix: another crash when cleaning up signalsJim Ramsay1-4/+4
While 769130f51a8f did fix one issue, it introduced another by changing the logic related to the new SignalTracker. The original logic (introduced in 9ad388c5bf16) was: -> in 'leave(Signal)', only call 'disconnect' -> in 'leaveAll()', call 'disconnect' and 'disconnectTracker' But 769130f51a8f inverted this, calling 'disconnectTracker' in both cases but only 'disconnect' in the 'leaveAll()' case, which would leave unattached signals around after calling 'leave(Signal)'. This fix not only repairs the logic, but renames the ambiguous 'disconnect' boolean to something more explicit: 'withTracker'.
2010-05-28Implement StrictMouseFocusJim Ramsay3-8/+28
As noted in the previous commit, StrictMouseFocus now works as advertised: Focus follows mouse on every EnterNotify event (except when the "ClientMenu" closes or during alt+tab window cycling)
2010-05-28Add new focus model: StrictMouseFocusJim Ramsay3-4/+15
This is not actually implemented yet, but from now on, "MouseFocus" means: Focus follows mouse only when you are moving the mouse, any EnterNotify events caused by non-mouse operations (window closing, keycommands, changing desktops) will *not* shift focus And once fully-implemented, "StrictMouseFocus" will mean: Focus follows mouse on every EnterNotify event (except when the "ClientMenu" closes or during alt+tab window cycling)
2010-05-23bugfix: do not use invalid iterators while looping thru a container which ↵Mathias Gumz1-3/+2
gets destroyed
2010-05-23mostly cosmetic fixes, mainly discovered by 'clang --analyze'Mathias Gumz9-202/+208
reordering of Resource-related stuff was because of "error: explicit specialization of 'getString' after instantiation" complaints.
2010-05-16fixed potential memory leakMathias Gumz1-1/+3
2010-05-16cleanup created corner pixmaps, moved the initCorners() function out of the ↵Mathias Gumz2-23/+33
class
2010-05-16initialize all member variables, otherwise unclean state in some circumstancesMathias Gumz1-1/+6
(valgrind complained a lot about ::updateGeometry() accessing uninitialized variables)
2010-05-08prevent crash if m_keylist is 0Mathias Gumz1-0/+3
again, i do not know yet, why this could happen.
2010-05-08cleanup: missing initializationMathias Gumz1-0/+2
i ran across problems on a freshly installed ubuntu without any config files, m_keylist was not initialized, yet unsure why.
2010-05-07bugfix: crash when cleaning up signalsMathias Gumz1-10/+9
22fa5f544b35 was not fixing anything, the real cause is that the SignalHolder still has a reference to a not existing Tracker.
2010-05-06compile fix: FD_ZERO (sys/select.h) on solaris wants to use memset(); closes ↵Mathias Gumz2-5/+10
#2997117
2010-05-06bugfix: when maximizing a shaded window, unshade it beforeMathias Gumz1-0/+6
2010-05-06bugfix: added missing 'virtual' keyword, otherwise fluxbox crashes with ↵Mathias Gumz1-1/+1
'pure virtual method called'
2010-05-06bugfix: resizing/moving a maximized window via keys do not end maximization ↵Mathias Gumz1-3/+49
state (#2980313)
2010-05-06added little helper function to disable the maximization state of a window ↵Mathias Gumz2-5/+17
while keeping its current position / size
2010-05-05bugfix: resizing stops _NET_WM_STATE_MAXIMIZED*, so trigger signal to set ↵Mathias Gumz1-0/+2
the properties correct fixes partly #2980313, resize with keys still does not trigger _NET_WM props to be correct
2010-05-05upgrade CONFIG_VERSION to 11Mathias Gumz1-1/+1
2010-05-05cosmeticMathias Gumz1-1/+1
2010-05-05use maximize options for fullscreen as wellMathias Gumz1-2/+2
2010-05-05added OnLeftGrip, OnRightGrip, OnWindowBorder modifiers for keys fileMathias Gumz3-169/+170
this allows to move some hardcoded keysbindings into the keys file and makes the code simpler
2010-05-01cosmeticMathias Gumz1-11/+13
2010-05-01use new closest head calculation code to place windows when clearing up headsMathias Gumz1-7/+9
2010-05-01bugfix: moving (the center of) a maximized window out of a xinerama head ↵Mathias Gumz1-4/+33
could result in maximizing it over all heads the old way of deciding which head to (re)maximize the current window was to just test if the center of the window is INSIDE which head. now we calculate the closest head which fixes the problem
2010-04-30bugfix: using 'int' on 64bit systems while setting window properties is wrongMathias Gumz1-1/+1
using a smaller type ('long' on 64bit is 8 byte, 'int' is 4) results in strange properties, eg: _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, undefined atom # 0x2726130 (when xpropping a maximized xterm). this might cause misbehavior in apps.
2010-03-26Changed title signal in Focusable to new signal systemHenrik Kinnunen13-75/+156
2010-03-26Added Tracker interface for SignalHolder.Henrik Kinnunen1-3/+40
This is used by SignalTracker so Signals can disconnect from it when they die.
2010-03-26Minor fix for argument reference in MemFunSelectArgImplHenrik Kinnunen1-3/+3
2010-03-26Initialize all variables in FbWindowHenrik Kinnunen1-0/+4
2010-03-19Added simple stress test in pythonHenrik Kinnunen1-0/+87
2010-03-19Added SelectArg.hh to Makefile.amHenrik Kinnunen1-1/+1
2010-03-19Added SelectArg and MemFunSelectArg*Henrik Kinnunen4-1/+181
The MemFunSelectArg* functions can be used to select a specific argument from a signal. For example this would select the string argument as argument to the callback: Signal<void, int, float, string> signal; signal.connect(MemFunSelectArg2(obj, &Object::takesOneStringArg)); signal.emit(10, 3.14, "hello"); ... void Object::takesOneStringArg(const string& value) { ... }