aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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) { ... }
2010-03-18Added missing RelaySignal.hh to Makefile.amHenrik Kinnunen1-1/+1
2010-03-18Changed Focusable::focusSig() to new signal system.Henrik Kinnunen9-29/+69
The focus signal emits the window that had the focus status changed.
2010-03-18Added FbTk::relaySignal, which relays new signals to old Subject type signals.Henrik Kinnunen3-3/+87
2010-03-18Fixed so testDemandAttention compilesHenrik Kinnunen1-3/+5
2010-03-18minor cleaning in MemFun.hhHenrik Kinnunen1-6/+4
2010-03-18Added MemFunIgnoreArgs which ignores aditional arguments.Henrik Kinnunen2-2/+111
For example connecting a function that takes two arguments to a signal that emits three arguments: struct Functor { void show(int a, int b); }; Functor f; Signal<void, int, int, int> s3; s3.connect(MemFunIgnoreArgs(f, &Functor::show));
2010-03-17Changed #ifdef DEBUG ... cerr << to using fbdbg.Henrik Kinnunen17-347/+235
This will reduce the number of #ifdef DEBUG for simple debug messages. include "Debug.hh" and use fbdbg instead of cerr for debug.
2010-02-27fixed little preprocessor errorMathias Gumz1-1/+1
2010-01-19improved documentation of the codeMathias Gumz1-5/+8
2010-01-19optimization of how often fluxbox checks for the system time to display it ↵Mathias Gumz1-4/+46
in the clocktool the idea (as a first patch) for this change was provided by Thomas Habets (thomas at habets pp se). instead of having a fixed interval each second, we now calculate the next point in time based upon the format string used by the clocktool to render the time. as long as no seconds are shown fluxbox now wakes up once every minute.
2009-12-18implemented 'MoveN' and 'ClickN' support in keys file.Mathias Gumz5-85/+172
the hardcoded 'OnTitlebar Mouse1 :Raise' (see Window.cc, FluxboxWindow::buttonPressEvent()) is disabled for now, should be added to fluxbox-update_configs
2009-11-23Keep 'maximum/fullscreen' when moving a window between different headsMichal Zime1-0/+14
2009-10-08reportedly fix compiling on gcc 4.4 on SolarisMark Tiefenbruck1-0/+2
2009-10-03definition should match declarationMathias Gumz1-1/+1
2009-10-03compile fixes for sun compiler 5.10: class Layer conflicts with class ↵Mathias Gumz2-8/+8
FbTk/Layer .. so just a little renaming
2009-10-03compile fixes for sun compiler 5.10: 'i want an extern C function ptr'Mathias Gumz1-1/+1
2009-10-03compile fixes for sun compiler 5.10: complains about 'not beeing able to ↵Mathias Gumz4-7/+9
initialize this from that'
2009-10-03cosmetic: use FbTk::StringUtil::number2String()Mathias Gumz1-3/+3