Age | Commit message (Collapse) | Author | Files | Lines |
|
Some applications supply -1 in base_width / base_height. One example is
the Preferences dialog of pcmanfm-qt:
WM_NORMAL_HINTS(WM_SIZE_HINTS):
...
program specified base size: -1 by -1
Without this commit the program will crash due to overflow of unsigned int.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This way it is only parsed once in the constructor. Updating the
TrayWindow order is now a method which is called once when the icon is
created.
sortClients/rearrange is now only called on adding and removing icons.
|
|
|
|
In fact its 0, thats why fluxbox sometimes crashes when freeing the
malformed structure.
|
|
|
|
|
|
The user options screenname.systray.pinLeft and
screenname.systray.pinRight in .fluxbox/init are read as comma sperated
list of window classnames.
While preserving the order of the lists, systray icons are sorted so
that pinLeft'ed classnames appear left and vice versa.
|
|
This fixes:
src/FbTk/XftFontImp.cc: In member function ‘virtual bool FbTk::XftFontImp::load(const string&)’:
src/FbTk/XftFontImp.cc:81:53: error: no matching function for call to ‘max(unsigned int, int)’
|
|
|
|
|
|
-add 'setPadding' function
|
|
changes the selection's deselection mechanism for oversized (e.g
larger than window width) text
new behaviour ensures the maximum selection width remains whilst
the selection length is 'oversized'. only when the selection length
has a width less than the window width will the selection (i.e. the
highlight / inverted colours) reduce in size
this is in contrast to the existing approach which would immediately
decrease an oversized selection down to nothing visually, leaving
the remainder of the selection 'off screen'. this 'looks like nothing
is selected' when in fact it is, gives a poor UX
|
|
|
|
|
|
-use font height for cursor
-prefer 'descent to ascent' coverage as opposed to 'baseline plus
way too high'!
|
|
|
|
Don't evaluate trusted variables in *ExportCmd::parse as they will be
always false for SetEnv, Export and SetResourceValue and never executed
via fluxbox-remote.
|
|
In 393ba45f91480bb10f510248837c6051b7ff6a03 added the possibility to
add custom buttons to the toolbar. However, if the toolbar is rotated
the buttons stays horizontal.
Update the button to rotate the text and update the width/height of the
button if rotated
|
|
'Vertical' Workspace warping is a variant of the existing Workspace
warping feature: When a user drags a window to the edge of the Screen,
the window is warped to the next / previous workspace.
'Vertical' Workspace warping detects a drag towards the upper / lower
border of the screen and warps the current workspace about an 'offset'.
Example given, lets say the user has 9 workspaces and considers them to
form a 3x3 grid:
+-+-+-+
|1|2|3|
+-+-+-+
|4|5|6|
+-+-+-+
|7|8|9|
+-+-+-+
An 'offset' of 3 warps from workspaces 2 to workspace 5 (or 8), when a
window is dragged to the bottom / top border.
New configuration ressources:
session.screenN.workspacewarpingvertical: true
session.screenN.workspacewarpingverticaloffset: X
|
|
Signed-off-by: Petr Vorel <pvorel@suse.cz>
|
|
Otherwise implicit focus changes by the workspace change would be
perceived as focus stealing and the focus restored to the last window on
the original desktop
|
|
The iconbuttons delay their update to cover multiple changes, so if the
labels are repositioned early, they'll operate on dated titles
BUG: 1155
On the run, centralize the delay value in IconButton::updateLaziness()
|
|
whenever dealing with unsigned, there's better no "-" in the line ...
|
|
This is notably an issue if the focused font differs from the unfocused
font (eg. is bold or bigger)
Updating the value with the state leads to ugly judder (nasty when minimizing
a window through the iconbar) and not handling this causes random button
widths (depending on whether the button was focused when checking the value)
|
|
Ein Schrumpffreibetrag, faktisch schon Kommunismus ;-)
When short on space, items would be squeezed evenly, but this can turn
"a" and "a very long item with useless information text" into
"a very long item" and "", so in a pre-pass we check whether some very
large items cause the shortage and preferably squeeze them.
|
|
typically buttons will call for this quite some, eg. when switching
workspace or (now) when altering the focused window. This compresses
various changes happening at the same time and re-layout the toolbar
only once for them
|
|
playing with the side borders I figured that clicking them
(after ading them ;-) would freeze the pointer.
In addition harden the menu-triggering paths for slit and toolbar.
The menu will implicitly grba/release stuff, but in case it fails to
show up .... better safe than sorry.
|
|
on the run (yes sucks, sorry) fixes a bug where windows were not
activated on hovering the tab (for focus-follows-mouse policies)
REQUEST: 95
The iconbar already shows tooltips and I doubt the claim that (untabbed)
titlebars are "often" too short for the window title.
|
|
We simply re-use the move code.
The major pitfall is that we must not unmap the dragged window, since it
holds a pointer grab (which will break by unmapping it, so we fail to
continue or finish the tab drag)
Instead, the window is always send to the current workspace and if
detached, all other clients in the group are send back to their original
desktop.
REQUEST: 234
|
|
On the run, make it raise on left-clicks (like the toolbar)
The enum already existed ;-)
REQUEST: 113
|
|
... actions in keys.
This allows to override the default behavior as well as adding actions
for the mouse wheel.
Special casing of the two "geometry" related buttons (eg. to perform
smart maximization, reverse the partial maximzation, add shading to the
min button or whatnot)
All other buttons have a rather dedicated meaning and are only really
interesting for adding mouse wheels or eg. the window menu on rmb
clicks.
Needs docu.
|
|
latter protected only.
|
|
The fixes a permanent (sync) button grab.
Well, oversaw global buttonpresses.
Let's wait for more to come ;-)
|
|
passing the "make_fit" parameter isn't sufficient to ignore constraints
|
|
|
|
|
|
We have a nifty counter-based grab, so use it
|
|
|
|
Operate on inverse iscntrl check which allows us to avoid wide character
conversions.
|
|
|
|
aka "Flüxbøx"
βµγ, pardon,
BUG: 720
|
|
REQUEST: 185
also PATCH 92
|
|
BUG: 1149
|
|
For the shaky ones.
Since this introduces a visible gap between trigger and move event, we
temporarily manipulate the coordinates in the global last event what
covers the outdated patch #134
REQUEST: 178
|