aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2010-09-13code simplificationMathias Gumz1-56/+28
2010-09-11updated config version to '13' and adjusted 'fluxbox-update_configs' accordinglyMathias Gumz1-1/+1
our users should migrate seamlessly to our new windows-cycling behaviour without losing their current way of doing things. so, 'fluxbox-update_configs' tries its best to add '(workspace=[current])' wherever it looks like a valid place for it. such changed lines are marked by '!! FBCV13' at the end and can be easily spotted in case the updater got it wrong. addtional changes: * added '-check' to 'fluxbox-update_configs' to check the version number in '~/.fluxbox/init' vs. the version number of 'fluxbox-update_configs' * moved the update-code for each version into its own function, easier housekeeping
2010-09-11added '(workspace=[current])' to our default keysMathias Gumz1-2/+2
commit 882a50fe1d4930b156965c54d9b66ecb27b4c9b2 removed the hardcoded limit to cycle to windows on other workspaces, though it was and IS a good default behaviour. if users do not want this (they want to cycle to windows on other workspaces), they should explicitly avoid '(workspace=[current])' in their keysfile.
2010-09-11added 'SetXProp' action and (@PROP=foo) clientpatternMathias Gumz7-83/+189
these two allow 'tagging' of arbitrary windows with 'tags' (or 'labels'). such 'tagged' windows can then be used in ':NextWindow (@PROP=foo)' commands to quickly cycle through a subset of available windows. since the 'tags' are applied as real xproperties to a window they survive a restart of fluxbox or even another windowmanager. the user can also set the tags by using xprop(1). the next step regarding the UI should be to visualize the tags of a window.
2010-09-10moved helper struct TextPropPtr into anonymous namespaceMathias Gumz1-0/+4
2010-09-10code cleanupMathias Gumz2-55/+57
* moved code from public API to internals * avoid code duplication ( while(!m_terms.empty()) ...) * cosmetic '(*it)->' vs 'term.'
2010-09-10removed hardcoded limitation to cycle/focus windows on all workspacesMathias Gumz1-3/+1
reasons: * fixes #1732115, allows to have chatwindows on another workspaces and reach them via :NextWindow (urgent=yes) * old behavior can be achieve by using the (workspace=[current]) pattern
2010-09-09disabled potentially dead codeMathias Gumz1-0/+3
2010-09-09simpler codeMathias Gumz1-4/+1
2010-09-09removed dead codeMathias Gumz1-3/+0
2010-09-09bugfix: initialize the Shape of a menu AFTER we created the window for the menuMathias Gumz1-1/+4
on startup a lot of 'Fluxbox: X Error: BadDrawable (invalid Pixmap ...)' occured. this was caused by using an empty 'Window' to create the shape.
2010-09-09minor cleanupMathias Gumz3-6/+7
2010-09-09reduced 'switch/case' and 'else if' hell a little bitMathias Gumz2-93/+82
2010-09-09added FbTk::Util::clamp() and simplified related codeMathias Gumz10-92/+92
2010-09-09use FbTk apis instead of raw xlib callsMathias Gumz1-6/+5
2010-09-09simpler to use FbTk/Timer apiMathias Gumz3-5/+8
2010-09-08cosmeticMathias Gumz1-6/+5
2010-09-08simpler way of expressing 'Singleton' for 'FbAtoms'Mathias Gumz3-35/+28
2010-09-08fixed code duplicationMathias Gumz1-5/+1
2010-09-08improved 'escapeRememberChars()' routine by traversing the string only onceMathias Gumz1-9/+14
removed obsolete 'getuint()' function
2010-09-08avoid code duplicationMathias Gumz1-3/+3
2010-09-08improved extract*Number functions from FbTk/StringUtil.ccMathias Gumz1-6/+22
2010-09-08cosmetic fix: looks like a copyNpaste issueMathias Gumz1-7/+0
2010-09-08code simplificationMathias Gumz3-18/+11
2010-09-08avoid code duplicationMathias Gumz1-21/+2
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