aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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-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.
2015-02-01Fix regression: use proper texture for the gripsMathias Gumz1-10/+8
2015-02-01CosmeticMathias Gumz4-23/+24
2015-01-31Improve I18n supportMathias Gumz4-66/+132
Among the first steps to produce better i18n support is to test the created translations adhoc without running "make install". To achieve this, fluxbox now honors several environment variables: - NLSPATH: fluxbox won't create the absolute path to the catalog and thus catopen() is free to use NLSPATH as described in the manpage. Example given: "/tmp/%N" will pick "/tmp/fluxbox.cat". %N refers to FLUXBOX_CATFILE. - FLUXBOX_CATFILE: By setting FLUXBOX_CATFILE the users can make fluxbox to use a different name for the catalog file. Default: "fluxbox.cat" - FLUXBOX_CATDIR: Per default fluxbox tries to find FLUXBOX_CATFILE at several places. Setting this environment variable allows to point fluxbox to a different search path for the catalog files. Then, fluxbox tries catopen() first without changing the deduced catalog file name. After that it applies some heuristics to get a good catalog file name.
2015-01-31Clean up FbTk::I18n APIMathias Gumz3-119/+103
Move private stuff into FbTk/I18n.cc.
2015-01-30Fix sometimes missing windowmenuMathias Gumz1-0/+1
When the windowmenu file is empty in ~/.fluxbox/init the code falls back to the default. In ab2eef4 I forgot to set the rc_path which caused this bug to happen.
2015-01-29Use strncpy() instead of strcpy()Mathias Gumz1-1/+1
2015-01-29Use strncpy() instead of strcpy()Mathias Gumz1-1/+1
2015-01-29Make fluxbox strcat() freeMathias Gumz1-39/+41
Again, gcc-4.2.1 of OpenBSD-5.6 pointed out the use of strcat(). I took the chance to explain the reasons for the code a little bit.
2015-01-29Simpler code to set _NET_DESKTOP_NAMESMathias Gumz1-9/+3
gcc-4.2.1 on OpenBSD-5.6 hinted that strcpy() is not the safest function on earth. While seeing the code I wondered why it we first create copies of the names at all (let alone using memset() and then strcpy() after it).
2015-01-28Compiler boyscouting: init orderMathias Gumz1-4/+4
2015-01-28Fix correctness of string searchMathias Gumz1-1/+1
The lookup for the skip value needs to be based upon the lowercase version of the current byte.
2015-01-28Fix mishandled [maxmized] statement in apps fileMathias Gumz2-246/+248
In f64727ca I removed one 'else' too much. As a result all [maximized] lines were mapped to MAX_NONE. Fixed. The rest of the commit is just some cosmetic to reduce indentation and shorten function names, easier to read.
2015-01-28Feature: typeahead in menu matches text anywhereMathias Gumz10-552/+384
This commit implements a tweak to the typeahead feature already existent in fluxbox: If the user opens up a menu and starts typing, fluxbox tries to detect matching menu items and makes them available for quick selection. The typed pattern is now search also in the middle of the text. I opted to strip down the code quite a bit and remove complexity by throwing out FbTk::TypeAhead and FbTk::SearchResult because I do not see the need for a general solution when the only use case for such a feature is in fluxbox' menus. FbTk::ITypeAheadable shrunk down to 2 functions; the whole file might be combined with the code that implements FbTk::Menu::TypeSearch. FbTk::Menu::setIndex() and related code is also gone: the position of each menu item is defined by it's position in the items container. This reduces the mount of book keeping fluxbox has to do. Fewer moving parts is a good thing. It's possible that users start to complaint because they expect their typed pattern to match only at the beginning of the text OR that some demand other tweaks. We will see. This commit also fixes a regression introduced by 8387742c. The bug made the menu vanish.
2015-01-24CleanupMathias Gumz2-60/+62
2015-01-24Improve code documentationMathias Gumz2-16/+24
'width' might imply something 'aligned horizontally'. The first parameter of maxTextLength() is given in pixels. To avoid confusion, the name of the parameter is changed. The comment before the binary search reflects better why and what we need to do.
2015-01-24Fix text rendering in rotated TextButtonsMathias Gumz1-5/+12
A vertically rotated text should be checked against the height of the button, not the width of it. Fixes #1119 ("Toolbar cannot display full text of workspace/​clock/​window title.")
2015-01-23Refactor Toolbar.cc, less noiseMathias Gumz1-148/+80
2015-01-23Refactor FbWinFrameMathias Gumz2-519/+321
FbWinFrame is now simpler to read due to less overall noise.
2015-01-23CosmeticMathias Gumz3-12/+5