aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-11-20delay repositioning of labelsThomas Lübking5-2/+15
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()
2016-11-20remove dead switch from helpThomas Lübking1-1/+0
2016-11-05add automake helpers to enforce --std=cxx11Mathias Gumz3-0/+602
switching to std::unique_ptr<> in 52c9f62 caused some trouble for users of "older" compilers: they needed to add the --std=cxx11 flag by hand. to make life more convenient, m4/ax_cxx_compile_stdcxx.m4 and m4/ax_cxx_compile_stdcxx_11.m4 are added to do the right thing. in my tests, the last "good" compiler is gcc-4.8, gcc-4.7 does not support the required c++11 standard. clang++-3.5 also works.
2016-10-09prevent range overflowThomas Lübking1-1/+1
whenever dealing with unsigned, there's better no "-" in the line ...
2016-10-02Make preferredWidth max from un- and focused widthThomas Lübking1-0/+6
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)
2016-10-02attempt a more fair container item squeezingThomas Lübking1-0/+29
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.
2016-10-02compress resize signalsThomas Lübking2-3/+17
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
2016-09-22"the least oversight", part #2Thomas Lübking3-0/+4
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.
2016-09-22escape special chars in filenamesThomas Lübking1-0/+7
This follows the escaped chars in bash completion and allows to pass filenames with spaces etc. Using quotes would be another option but requires special handling of "~" and, what's worse, either hand-correcting the cursor position (into the quoted area) or more completion mumbo-jumbo to handle the quotes.
2016-09-22fix segfault when completing ~ or .Thomas Lübking1-0/+4
ie. w/o any / in the given path we'll get an irregular split point and thus out of bounds array access
2016-09-21document generic toolbar buttonsThomas Lübking1-1/+18
2016-09-21show tooltips for tabsThomas Lübking3-5/+14
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.
2016-09-21allow to drag tabs to other workspacesThomas Lübking1-32/+16
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
2016-09-21implement ON_SLIT actionsThomas Lübking3-9/+35
On the run, make it raise on left-clicks (like the toolbar) The enum already existed ;-) REQUEST: 113
2016-09-21support OnWinButton, OnMinButton & OnMaxButtonThomas Lübking3-5/+40
... 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.
2016-09-21button: export pressed state and assigned commandsThomas Lübking1-0/+7
latter protected only.
2016-09-21"the least oversight" #1Thomas Lübking1-2/+6
The fixes a permanent (sync) button grab. Well, oversaw global buttonpresses. Let's wait for more to come ;-)
2016-09-21only call applySizeHints when desiredThomas Lübking1-3/+2
passing the "make_fit" parameter isn't sufficient to ignore constraints
2016-09-11resolve handle/grip context conflictThomas Lübking1-1/+6
2016-09-11fix window placement documentationThomas Lübking1-0/+3
2016-09-11introduce autotabplacementThomas Lübking3-9/+21
2016-09-11Do not break server grabsThomas Lübking1-2/+2
We have a nifty counter-based grab, so use it
2016-09-11std::auto_ptr to std::unique_ptrMathias Gumz2-5/+3
2016-09-11Improve utf-8 supportThomas Lübking1-44/+41
Operate on inverse iscntrl check which allows us to avoid wide character conversions.
2016-09-11support ctrl+a for selecting allThomas Lübking1-0/+5
2016-09-11Support editing utf-8 text in TextBoxThomas Lübking5-23/+113
aka "Flüxbøx" βµγ, pardon, BUG: 720
2016-09-03document iconified title decoThomas Lübking1-0/+6
2016-09-03Next|PrevWorkspace 0 toggles former WorkspaceThomas Lübking4-8/+20
REQUEST: 185 also PATCH 92
2016-09-03hide menus when clicking title or toolbarThomas Lübking3-1/+8
BUG: 1149
2016-09-03allow 4px deadzone for clicksThomas Lübking1-2/+11
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
2016-09-03remove tabsMathias Gumz1-5/+5
2016-09-03translation:fr_FR adding -no-slit, -no-toolbar and minor fixesgaspard1-9/+9
2016-09-03apply back the copyright to Fluxbox Teamgaspard1-3/+5
these are changes from commit bf3714e12456c2dd361ded47854546d2a0606403
2016-09-03translation:fr_FR updating $ set 9 #keysgasp1-85/+86
based on C, de_DE and es_ES
2016-09-03fix display $WPSETTERThomas Lübking1-3/+4
BUG: 1031
2016-09-03handle DISPLAY :x and :x.0 idemThomas Lübking1-1/+2
Patch originally provided by Francesco Poli to Debian BUG: 1052
2016-09-03handle subdirs and symlinks in $wallpaperdirThomas Lübking1-2/+4
Thanks for the base patch, kindly provided by some Anonymous coward on the bugtracker ;-) BUG: 1065
2016-09-03Update Translation.mGreenLunar1-10/+10
2016-09-03indicate iconified windows in iconbarThomas Lübking3-1/+33
2016-09-01do not confine transients to desktop layerThomas Lübking1-2/+4
Originally patch #170 by gregor_b Desktop stype windows will typically have their config dialogs as transients. If those are confined to the desktop layer, they're stashed behind everything else, so we don't force them there. If the transient already is in the desktop layer otherwise it's a(nother) desktop, not a dialog, and belongs to that layer, there's no need to artificially raise it. It's entirely sufficient to leave these windows untouched.
2016-09-01delay mouse driven tab focus by autoraise intervalThomas Lübking2-1/+10
REQUEST: 190
2016-09-01expose and fix ActivateTabCmdThomas Lübking2-24/+24
The function failed if the last event window was actually the tab.
2016-08-31re-use position sanitization for modal placementThomas Lübking1-5/+9
2016-08-31introduce a 5s timeout for emacs shortcutsThomas Lübking2-7/+18
The user needs to enter his chain within 5 seconds Otherwise the chain is reset. REQUEST: 291
2016-08-30Relative aligmment when changing window headThomas Lübking1-2/+15
So far, altering the head would potentially move the window out of the workspace area (by moving a far right/bottom window from a HUUUUUGE to a small screen) This preserves edge alignments (w/ topleft preference), otherwise moves the window to it's relative topleft position on the new head (ie. if it was 10% left and 3% top into the screen, it will still be)
2016-08-30Add "Unclutter" commandThomas Lübking3-0/+52
Unclutter the desktop by using the MinOverlapPlacement for all matching windows. REQUEST: 248
2016-08-30Don't replay presses which are required f/ motionsThomas Lübking1-0/+4
When trying to doAction(ButtonPress, ...), we check whether the action would hit for type==MotionNotify. In this case we do nothing but return "true" to tell the caller that this event is "for us". Otherwise the event would be replayed to the client and there'd go out MotionNotify grabs. tl;du: This fixes MoveX actions.
2016-08-28fix compiler warning about std::auto_ptrMathias Gumz26-51/+45
fluxbox uses std::unique_ptr<> where it previously used std::auto_ptr<>. C++0X was approved in 2011. among other things, it deprecates std::auto_ptr. 5 years is long enough for compilers to catch up the standard.
2016-08-27Grab keyboard synchronouosly to allow replaysThomas Lübking2-2/+5
This allows to catch if a grabbed key (combo) is actually w/o effect (because eg. the OnDesktop condition does not match) and then replay the event ungrabbed to pass it to the focused client. Just like mouse grabbing, this BEARS THE POTENTIAL TO LOCK INPUT, thus needs AS MUCH TESTING AS POSSIBLE BUG: 1137
2016-08-27Replay toolbar button eventsThomas Lübking4-3/+44
NOTICE!!!! THIS IS HIGHLY EXPERIMENTAL! The patch alters the button grab mode to GrabSync in order to ReplayPointer the event. THIS CAN FREEZE ANY INPUT TO FLUXBOX!!! The toolbar (and other things?) grab buttons in order to handle MouseN events for the entire bar, INCLUDING all child windows. This causes two problems: 1. The bar handles events which are not meant for fluxbox at all (but the systray icons) BUG: 940 2. The bar will intercept (and suck) *every* press, even if only doubleclicks are desired BUG: 949 The problem with this patch is that an oversight here has the potential to completely freeze input event processing in fluxbox (ie. the process needs to be killed from outside), SO IT NEEDS TESTING! As much as possible.