Age | Commit message (Collapse) | Author | Files | Lines |
|
for a std::string::size_type, the right value to use is not "-1", but
std::string::npos.
|
|
uninitialized variables cause all kind of problems.
|
|
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.
|
|
Fixes menus more than 1 column wide (such as the Placement menus for
the Toolbar/Slit/Tabs) which stopped working with commit 3e4570b.
|
|
FbTk::TextBox now acts like any contemporary input field ;-)
|
|
so far, transients are simply unplaced, resulting in a static
0,0 position.
|
|
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>
|
|
|
|
|
|
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
|
|
|
|
Skip any windows which are not in the same layer as the window to be placed.
|
|
Skip any window that is not in the same layer as the window to be placed.
|
|
Skip any window that does not exist in the same layer as the window to be placed.
|
|
|
|
* assume 'pattern' to always be lowercase
* rename some variables
|
|
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).
|
|
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.
|
|
(bw) from (frame.height))/2 they were multiplied causing wrong placement for this case.
|
|
looks better this way.
|
|
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'.
|
|
m_index was removed in 03ce82a.
|
|
|
|
|
|
|
|
|
|
|
|
reference.
|
|
copying m_parent->clientList() and use a const reference instead.
|
|
copying.
|
|
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.
|
|
Commit 63d9d69 introduced a bug, which has manifested itself by setting
window transparent state to the fully opaque (255).
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note to myself: less gitting at late hours.
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
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.
|