aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-06-26replace FbRootWindow::depth with maxDepthThomas Lübking4-6/+9
The depth member of FbWindow was abused to store the maximum depth but that gets overridden with geometry changes of the root window (screen layout changes) so we store and read the value explicitly while ::depth() maintains the actual depth of the root window The result of this is that frames for ARGB windows were created with a wrong depth and failed to reparent the client window. BUG: 1102 BUG: 1058
2016-06-26prevent clients from positioning out of workspaceThomas Lübking1-6/+35
Still enough stupid ones around which ask for 0,0 (despite there's a panel ...) or restore a position on a VGA screen which they stored while being on a 4k screen. Otoh, do not forcefully position the window just because the topleft position is outside any head, this can still be desired and isn't a problem. Actually, the corner could be covered by the close button and if *only* it is onscreen the window can hardly by used or seen.
2016-06-26keep cmd menus off struts when the mouse is in itThomas Lübking1-2/+7
the mouse is likely the trigger, so the popup would cover the trigger item. The present behavior of the iconbar suggests such behavior is desired.
2016-05-28improve consistencyMathias Gumz2-9/+10
for a std::string::size_type, the right value to use is not "-1", but std::string::npos.
2016-05-28fix broken text selection for FbTk::TextBoxMathias Gumz1-1/+2
uninitialized variables cause all kind of problems.
2016-05-28harden focus cycling against client focussingThomas Lübking1-1/+15
Clients which implement a client-side modality might cause livelocks by reverting the focus to the transient (after the WM tried to put it on the leader as the transient's modality is unknown) So while cycling we revert the focus whenever it moves somewhere where we don't expect it. When done, we also focus the window that should have the focus anyway to allow the client to redistribute the focus (as we prevented it during cycling) Hall of Shame: Softmaker Freeoffice uses (only) client side modality.
2016-04-25Fix menus over a single column wideJuan Gonzalez Lopez1-3/+4
Fixes menus more than 1 column wide (such as the Placement menus for the Toolbar/Slit/Tabs) which stopped working with commit 3e4570b.
2016-04-25Allow text selectionThomas Lübking2-62/+151
FbTk::TextBox now acts like any contemporary input field ;-)
2016-04-06place transient centered on its parentThomas Lübking1-6/+9
so far, transients are simply unplaced, resulting in a static 0,0 position.
2016-02-28Mixed relative and absolute values for appsArkadiusz Bokowy3-84/+98
Allow setting relative value for x and y or width and height separately in the apps configuration file. This makes these settings compatible with ones available in the keys file. Previous buggy behavior: If someone has specified, e.g. "[Dimensions] {50% 100}" it was parsed as "{50% 100%}" not as "{50% 100px}" which was inconsistent with the "keys" configuration file. From now on it is possible to write something like this: [app] [Position] (RIGHT) {50% 0} [Dimensions] {300 100%} [end] Signed-off-by: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
2016-01-09minor code cosmeticsMathias Gumz2-18/+27
2016-01-09send ConfigureNotify using root coordinatesfoobar08151-1/+27
2016-01-04Add Resize SnapNephiel5-18/+114
Make windows snap to edges when resizing them, as well as when moving. From http://darkshed.net/files/patches/fluxbox/fluxbox-resize-snap-try2.diff
2016-01-04merge pull-request 14Mathias Gumz1-0/+2
2015-07-29Update MinOverlapPlacement.ccKen Moore1-1/+2
Skip any windows which are not in the same layer as the window to be placed.
2015-07-29Update ColSmartPlacement.ccKen Moore1-0/+2
Skip any window that is not in the same layer as the window to be placed.
2015-07-29Update RowSmartPlacement.ccKen Moore1-0/+1
Skip any window that does not exist in the same layer as the window to be placed.
2015-05-14Fix hidden toolbar placementPeter Ganzhorn1-3/+11
2015-05-02Simplify codeMathias Gumz2-20/+22
* assume 'pattern' to always be lowercase * rename some variables
2015-05-02Fix bug in detecting text in MenuSearchMathias Gumz1-1/+1
A bug sneaked into my implementation of Boyer-Moore-Horspool. This lead to not finding certain patterns. Given the text 'abcdde' and the pattern 'dd', the faulty implementation would not find 'dd': 1. 'ab' does not match, skip 2 (length of pattern) 2. 'cd' does not match, skip 2 (length of pattern) <- the bug. 3. 'de' does not match, end of string The bug in step 2 is to not use 'd' to detect how far to skip but to use 'c' (which is not in the skip-table) and thus 2 bytes are skipped).
2015-05-01Make sure render new styles into full menuLajos Koszti1-0/+2
Different styles makes the menu width different. When the original menu width is bigger than the newly selected style's width, the rendering produces pretty strange effects: The old style's frame not cleared, so it was rendered and visible next to the new style edge. With this change, the menu width will be as wide as the widest menu item. Style switching still not perfect, because the height of a menu item is from the "first" selected menu, also font color are not updated.
2015-05-01Fix RIGHTCENTER placement of the toolbar. Instead of subtracting borderwidth ↵Peter Ganzhorn1-1/+1
(bw) from (frame.height))/2 they were multiplied causing wrong placement for this case.
2015-05-01Shape only toolbar corners not touching any edges of the screen. It just ↵Peter Ganzhorn1-12/+12
looks better this way.
2015-05-01Fix shaped toolbar being drawn incorrectly at TOPCENTER Fix round corners ↵Peter Ganzhorn1-10/+10
being drawn incorrectly on the TOP instead BOTTOM of the toolbar when toolbar placement is TOPCENTER. Also align the _values[] table a bit more nicely to make it easier to spot bugs like this. The bug was introduced in commit 67c31b49bdeab40fea37719cd6cfa06b37507e3e 'Refactor Toolbar.cc, less noise'.
2015-05-01roll back 7e17056: m_index does not exist anymoreMathias Gumz1-6/+1
m_index was removed in 03ce82a.
2015-05-01TextBox::textStartPos can be const.Mario J. Rugiero1-1/+1
2015-05-01ButtonTheme::name can be const.Mario J. Rugiero1-1/+1
2015-05-01Make Layer::getLayerNum() const.Mario J. Rugiero1-1/+1
2015-05-01Initialize m_index in MenuItem's constructors.Mario J. Rugiero1-1/+6
2015-05-01Reduce the scope of the variable err in stringTokensBetween.Mario J. Rugiero1-2/+2
2015-05-01doSubmenu function in menutest.cc avoids copying labelstr by using a const ↵Mario J. Rugiero1-1/+1
reference.
2015-05-01addMatching and insertFromParent functions from FocusableList now avoid ↵Mario J. Rugiero1-2/+2
copying m_parent->clientList() and use a const reference instead.
2015-05-01Pass pre_command to CommandDialog as const reference to avoid unnecessary ↵Mario J. Rugiero2-2/+2
copying.
2015-04-11Don't assume ICONV_NULL = 0Casey Dahlin1-5/+9
We define the value ICONV_NULL = -1, but when we attempt to set the s_iconv_convs array to all NULL values, we zero the array instead of setting its entries to -1. This patch properly initializes and wipes s_iconv_convs.
2015-02-08Fix: typo during refactoringArkadiusz Bokowy1-2/+2
Commit 63d9d69 introduced a bug, which has manifested itself by setting window transparent state to the fully opaque (255).
2015-02-08Move internal code to internal side of FbTk::TransparentMathias Gumz2-20/+23
2015-02-07MinorMathias Gumz1-2/+2
2015-02-07Create buttons for titlebar with proper sizesMathias Gumz1-147/+118
Instead of creating the titlebar buttons with a size of 10x10 pixels and rely on resizing later on we now pick the correct dimensions right on. This fixes also bug #1125 ("Detaching a window from a tab-group renders app-icon to 1/2"); the problem also occurred on restart. I took the chance to refactor a little bit.
2015-02-07Fix glitch of TabOptions menuMathias Gumz1-0/+1
2015-02-07Show toggleitems in menuMathias Gumz1-5/+7
2015-02-07CosmeticMathias Gumz1-27/+36
2015-02-07BoyscoutingMathias Gumz2-4/+0
2015-02-07Fix cleaning exposed menu itemsMathias Gumz1-30/+24
2015-02-07Avoid signed/unsigned woes; minor cleanupMathias Gumz1-80/+64
2015-02-06Add uncommited #include "MenuSearch.hh"Mathias Gumz1-0/+1
Note to myself: less gitting at late hours.
2015-02-05Cleanup; Remove unused functionMathias Gumz3-9/+1
2015-02-05Feature: different MenuSearch modesMathias Gumz8-149/+298
Fluxbox now supports three MenuSearch modes: * NoWhere - essentially "disabling" the menu search. * Somewhere - the search string matches somewhere. * ItemStart - the search string matches at the start of a menu item. The default value is "ItemStart", just in the good old times. As long as this feature is not configurable via the menu it would irritate users with distinct muscle memory who type without thinking OR checking the visual feedback: they would trigger items they did not intent to trigger after years of the old behavior. Once this feature get's an entry in the config menu the default value might change.
2015-02-04Fix problem with too small WinButtonsMathias Gumz1-53/+71
Under some circumstances a WinButton might be tiny (1x1 pixel). Substracting values > 1 yields either 0 or something reaaaaly big (UINT_MAX). This will make fluxbox either crash or make it act weird. We don't want this.
2015-02-04Move nls globals into #ifdef NLSMathias Gumz1-3/+8
2015-02-01Fix crash: click the Remember-menu works againMathias Gumz1-1/+1
This commit fixes a subtle regression introduced by myself in f64727ca: WinClient wc = FbMenu::window()->winclient() creates a copy and this copy gets cleaned up at the end of the scope. What I really wanted was a reference.