all repos — fluxbox @ main

custom fork of the fluxbox windowmanager

c93515c4
dont show titlebar if window is maximized

for keyboard-driven workflows with top-panels; also set tabs to the bottom of a window for best effect
Iris Lightshard nilix@nilfm.cc
b584834b
add colorspace fix for window borders with transparency
Iris Lightshard nilix@nilfm.cc
1d19662c
Add RelativeSmart documentation to the asciidoc source. Thanks to
Alexey Ugnichev for pointing out its disappearance.
Mark Tiefenbruck mark@fluxbox.org
5f3cb410
Patch from Thomas Luebking

Documents Opaque Resizing and adds a fancy config menu item
Mark Tiefenbruck mark@fluxbox.org
8bc11006
Patch from Glen Whitney

A priori, there is no reason why the workspace warping functionality should
treat the horizontal and vertical directions at all differently. Even if
traditionally horizontal warping was more common, for some in recent times
as aspect ratios tend to become larger, stacking virtual workspaces
vertically may make more sense. Similarly, some might want to traverse
an array of workspaces in column-major, rather than row-major, order.

Prior to this commit, there were extra parameters for vertical warping (a
controlling flag and an offset for how many workspaces to jump) as opposed
to horizontal warping. Also it was impossible to allow vertical warping while
disallowing vertical warping.

This commit makes all of the parameters and behavior for horizontal and
vertical warping equivalent. For backwards compatibility, there is an
overarching flag controlling whether warping occurs at all, as well as a
separate control flag and offset for each of horizontal and vertical warping.

The relevant init file resources and default values are:

session.screen0.workspaceWarping: true
session.screen0.workspaceWarpingHorizontal: true
session.screen0.workspaceWarpingVertical: true
session.screen0.workspaceWarpingHorizontalOffset: 1
session.screen0.workspaceWarpingVerticalOffset: 1
Mark Tiefenbruck mark@fluxbox.org
0279936d
Patch from Thomas Luebking

Adds (secret) opaque resize mode. It sure would be nice if it was documented....

The relevant init file resources and their default values are:

session.screen0.opaqueResize: False
session.screen0.opaqueResizeDelay: 40
Mark Tiefenbruck mark@fluxbox.org
43ae3286
Patch from Denis Gantsev

Fluxbox would segfault when no fonts were available. Now it just exits with an error.
Mark Tiefenbruck mark@fluxbox.org
ee9c0a34
Patch from Dmytro Bagrii

Fix fbrun completion search for last directory in PATH
Mark Tiefenbruck mark@fluxbox.org
dd238f9d
Patch from Bo Simonsen.

Improve switching between 12H and 24H in Clock Tool
 configuration

Having:

    session.screen0.strftimeFormat:	%d-%m-%y %02k:%M

The switch[1] between 12H and 24H did not work due to the digits (02).
Mark Tiefenbruck mark@fluxbox.org
b0663bc1
Patch from Bo Simonsen.

Max size per client (setMaxSizePerClient) was computed for
iconbar.alignment = Relative not taking into account that a fixed size
can be given when iconbar.alignment = Left/Right.

In a "recent" change, relative alignment was changed, to better handle
items with long titles. This is breaking existing behavior, the new
behavior is (with this commit) now denoted RelativeSmart.
Mark Tiefenbruck mark@fluxbox.org
f76720d9
nls/fr_FR: Fix encoding

The encoding of nls/fr_FR/Translation.m is UTF-8 (see 96c52db). This
commit puts the correct "codeset" into place.
Sébastien Ballet phenixia2003@users.sourceforge.net
cbdb3bee
Move the systray ordering documentation to the asciidoc file

The .in file is generated from the .txt file.
Jan Sucan jan@jansucan.com
41917066
Handle sizehint base_width / base_height being less than 0

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.
Bo Simonsen bo@geekworld.dk
f48237e3
Synchronize manpages .in files with their .txt files

The .in files are generated from the .txt files.
Jan Sucan jan@jansucan.com
7559d60e
Reformat a paragraph in doc/asciidoc/README.txt
Jan Sucan jan@jansucan.com
33860a4d
Update xmlto URL

fedorahosted.org was retired on March 1st, 2017.
Jan Sucan jan@jansucan.com
96190276
Add description of the system tray ordering to the fluxbox(1) manpage
Jan Sucan jan@jansucan.com
625a6900
Add missing scope to a method definition
Jan Sucan jan@jansucan.com
d679deeb
Remove branch readme (easier merging).
Gregor Bollerhey gbsoftware@arcor.de
114d261c
Corrected typo in github-readme.
Gregor Bollerhey gbsoftware@arcor.de
d5902f17
Const ref instead of const for string vector.
Gregor Bollerhey gbsoftware@arcor.de
d07ee244
Ignore case when matching window classnames.
Gregor Bollerhey gbsoftware@arcor.de
89dec4ff
Corrected comment (now member and returns nothing).
Gregor Bollerhey gbsoftware@arcor.de
f833ff71
Use FbTk::StringUtils instead of own tokenizer.
Gregor Bollerhey gbsoftware@arcor.de
47474be4
Sort on remove isn't needed.
Gregor Bollerhey gbsoftware@arcor.de
b23aba18
Icon order now is property of the SystemTray.

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.
Gregor Bollerhey gbsoftware@arcor.de
bb0790d7
XFree must not be called with 0.
Gregor Bollerhey gbsoftware@arcor.de
173a6634
Thought BadWindow was a return status on failure.

In fact its 0, thats why fluxbox sometimes crashes when freeing the
malformed structure.
Gregor Bollerhey gbsoftware@arcor.de
35ce8b31
Branch specific readme.
Gregor Bollerhey gbsoftware@arcor.de
07d21370
Store order in TrayWindow instead of using expensive comperator.
Gregor Bollerhey gbsoftware@arcor.de
c65f2ec6
Use XFree to free memory (not the default "delete").
Gregor Bollerhey gbsoftware@arcor.de
7e762f0a
Make systray icon pinning available.

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.
Gregor Bollerhey gbsoftware@arcor.de
53fa0d6a
explicitly expect unsigned int

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)’
Christian Hesse mail@eworm.de
02cc0c6f
vim syntax: Add ftdetect to Vimball creation in Makefile
boweevil argonaut.linux@gmail.com
38307ebf
added 3rd/vim/syntax/fluxstyle.vim
boweevil argonaut.linux@gmail.com
368e2935
zero check now uses std::max()
ryluchs17 ryluchs17@saintjosephhs.com
ad410a5c
removed potential division by zero with size zero fonts
Ryan Luchs rluchs107@gmail.comclear
e792fff3
Fix menu docs, esp. items allowed in window menu
Glen Whitney gwhitney@post.harvard.edu
a46e5b83
Update Vietnamese translation
Nguyễn Thái Ngọc Duy pclouds@gmail.com
248b15c2
fbrun, add horizontal padding option
Pete Beardmore pete.beardmore@msn.com
ed7ea141
fbtk, textbox, support horizontal padding

-add 'setPadding' function
Pete Beardmore pete.beardmore@msn.com
ca0995bd
fbtk, textbox, overflow selection deselection

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
Pete Beardmore pete.beardmore@msn.com
f19bb578
fbtk, textbox, fix selection release on click
Pete Beardmore pete.beardmore@msn.com
3ae7b81a
fbtk, textbox, limit selection height to font size
Pete Beardmore pete.beardmore@msn.com
375e41bb
fbtk, textbox, fix cursor position and size

-use font height for cursor
-prefer 'descent to ascent' coverage as opposed to 'baseline plus
way too high'!
Pete Beardmore pete.beardmore@msn.com
79ce3ef4
fbtk, textbox, fix text vertical centering
Pete Beardmore pete.beardmore@msn.com
0df41cf8
Fix evaluating variables in ExportCmd

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.
Maik Broemme mbroemme@libmpq.org
05d860ed
rm not needed newlines
kottroll kot.troll@ya.ru
6e8bf37c
Rotate toolbar button on rotated toolbar

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
Lajos Koszti ajnasz@ajnasz.hu
7cb7bfaa
Support 'vertical' Workspace warping

'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
Mark Murawski markm@intellasoft.net
0090dc8a
Merge documentation
Mathias Gumz akira@fluxbox.org
5adf3100
vim syntax: Recognize fluxbox files
Lajos Koszti ajnasz@ajnasz.hu
bdfaaa0e
slit: Add missing header

Signed-off-by: Petr Vorel <pvorel@suse.cz>
Petr Vorel petr.vorel@gmail.com
ce7a04a9
update da_DK translations

https://sourceforge.net/p/fluxbox/patches/215/
scootergrinsen scooootergrisen@users.sf.net
26c1cfcc
stop focus cycling on explicit workspace changes

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
Thomas Lübking thomas.luebking@gmail.com
3d7b466e
delay repositioning of labels

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()
Thomas Lübking thomas.luebking@gmail.com
e480255a
remove dead switch from help
Thomas Lübking thomas.luebking@gmail.com
61e95161
add automake helpers to enforce --std=cxx11

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.
Mathias Gumz akira@fluxbox.org
4bab7afa
prevent range overflow

whenever dealing with unsigned, there's better no "-" in the line ...
Thomas Lübking thomas.luebking@gmail.com
3301e993
Make preferredWidth max from un- and focused width

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)
Thomas Lübking thomas.luebking@gmail.com
a375fdb1
attempt a more fair container item squeezing

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.
Thomas Lübking thomas.luebking@gmail.com
93a91904
compress resize signals

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
Thomas Lübking thomas.luebking@gmail.com
7d30d000
"the least oversight", part #2

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.
Thomas Lübking thomas.luebking@gmail.com
507782e5
escape special chars in filenames

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.
Thomas Lübking thomas.luebking@gmail.com
39b34a91
fix segfault when completing ~ or .

ie. w/o any / in the given path we'll get an irregular split point and
thus out of bounds array access
Thomas Lübking thomas.luebking@gmail.com
facb42fc
document generic toolbar buttons
Thomas Lübking thomas.luebking@gmail.com
c69d5afb
show tooltips for tabs

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.
Thomas Lübking thomas.luebking@gmail.com
bc1ad61a
allow to drag tabs to other workspaces

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
Thomas Lübking thomas.luebking@gmail.com
2678060e
implement ON_SLIT actions

On the run, make it raise on left-clicks (like the toolbar)

The enum already existed ;-)

REQUEST: 113
Thomas Lübking thomas.luebking@gmail.com
4545f4da
support OnWinButton, OnMinButton & OnMaxButton

... 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.
Thomas Lübking thomas.luebking@gmail.com
7fd13aca
button: export pressed state and assigned commands

latter protected only.
Thomas Lübking thomas.luebking@gmail.com
1fc26024
"the least oversight" #1

The fixes a permanent (sync) button grab.

Well, oversaw global buttonpresses.
Let's wait for more to come ;-)
Thomas Lübking thomas.luebking@gmail.com
53bb2407
only call applySizeHints when desired

passing the "make_fit" parameter isn't sufficient to ignore constraints
Thomas Lübking thomas.luebking@gmail.com
0c13ddc0
resolve handle/grip context conflict
Thomas Lübking thomas.luebking@gmail.com
7ec5c581
fix window placement documentation
Thomas Lübking thomas.luebking@gmail.com
ea466fa9
introduce autotabplacement
Thomas Lübking thomas.luebking@gmail.com
4be68df4
Do not break server grabs

We have a nifty counter-based grab, so use it
Thomas Lübking thomas.luebking@gmail.com
52c9f625
std::auto_ptr to std::unique_ptr
Mathias Gumz akira@fluxbox.org
5fc00dee
Improve utf-8 support

Operate on inverse iscntrl check which allows us to avoid wide character
conversions.
Thomas Lübking thomas.luebking@gmail.com
5869f391
support ctrl+a for selecting all
Thomas Lübking thomas.luebking@gmail.com
cdd6861a
Support editing utf-8 text in TextBox

aka "Flüxbøx"

βµγ, pardon,
BUG: 720
Thomas Lübking thomas.luebking@gmail.com
2047b1a2
document iconified title deco
Thomas Lübking thomas.luebking@gmail.com
a2fc845d
Next|PrevWorkspace 0 toggles former Workspace

REQUEST: 185
also PATCH 92
Thomas Lübking thomas.luebking@gmail.com
36993a80
hide menus when clicking title or toolbar

BUG: 1149
Thomas Lübking thomas.luebking@gmail.com
6c264140
allow 4px deadzone for clicks

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
Thomas Lübking thomas.luebking@gmail.com
b93010c5
remove tabs
Mathias Gumz akira@fluxbox.org
c3314bd2
translation:fr_FR adding -no-slit, -no-toolbar and minor fixes
gaspard gaspard@gmail.com
9f599a11
apply  back the copyright to Fluxbox Team
these are changes from commit bf3714e12456c2dd361ded47854546d2a0606403
gaspard gaspard@gmail.com
96c52db6
translation:fr_FR updating $ set 9 #keys

based on C, de_DE and es_ES
gasp gaspard@gmail.com
31e758f1
fix display $WPSETTER

BUG: 1031
Thomas Lübking thomas.luebking@gmail.com
e8021e36
handle DISPLAY :x and :x.0 idem

Patch originally provided by Francesco Poli to Debian

BUG: 1052
Thomas Lübking thomas.luebking@gmail.com
2cfffee1
handle subdirs and symlinks in $wallpaperdir

Thanks for the base patch, kindly provided by some Anonymous coward
on the bugtracker ;-)

BUG: 1065
Thomas Lübking thomas.luebking@gmail.com
db97f28e
Update Translation.m
GreenLunar genghiskhan@gmx.ca
3058861f
indicate iconified windows in iconbar
Thomas Lübking thomas.luebking@gmail.com
e99d940f
do not confine transients to desktop layer

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.
Thomas Lübking thomas.luebking@gmail.com
14e25f4a
delay mouse driven tab focus by autoraise interval

REQUEST: 190
Thomas Lübking thomas.luebking@gmail.com
3254816b
expose and fix ActivateTabCmd

The function failed if the last event window was actually the tab.
Thomas Lübking thomas.luebking@gmail.com
0d1b2041
re-use position sanitization for modal placement
Thomas Lübking thomas.luebking@gmail.com
6ca64223
introduce a 5s timeout for emacs shortcuts

The user needs to enter his chain within 5 seconds
Otherwise the chain is reset.

REQUEST: 291
Thomas Lübking thomas.luebking@gmail.com
6c4d1123
Relative aligmment when changing window head

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)
Thomas Lübking thomas.luebking@gmail.com
a5b5be5e
Add "Unclutter" command

Unclutter the desktop by using the MinOverlapPlacement
for all matching windows.

REQUEST: 248
Thomas Lübking thomas.luebking@gmail.com
8a662304
Don't replay presses which are required f/ motions

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.
Thomas Lübking thomas.luebking@gmail.com
bb013f5c
fix compiler warning about std::auto_ptr

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.
Mathias Gumz akira@fluxbox.org
1e235e3f
Grab keyboard synchronouosly to allow replays

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
Thomas Lübking thomas.luebking@gmail.com
2c664711
Replay toolbar button events

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.
Thomas Lübking thomas.luebking@gmail.com
ecdaab5e
fix titlebar ClickN handling

the tabcontainer is usually true and the releases were only
handled for the WINDOW context.

This relies on the patch to control OnTitlebar ./. OnWindow !

BUG: 1073
Thomas Lübking thomas.luebking@gmail.com
08ea27de
Control OnTitlebar ./. OnWindow

On concurrent shortcuts OnTitlebar implies OnWindow and was so
far resolved to OnWindow while OnTitlebar is the more precise
condition.

This also requires to exclude buttons from the titlebar context,
ie. pass the position to the getContext function on press events

BUG: 1035

The patch depends on the patch to correctly resolve the tab under the
mouse since we're now passing the actual subwindows around
Thomas Lübking thomas.luebking@gmail.com
a1d30659
Search actual tab under mouse

The feature suggests to behave like this bug actually only supported
mouse clicks (because the latest event window needed to be the tab)
This condition will break with two future patches (OnTitlebar context
selection and Sync Pointer grabbing) so the code to determine the tab
client needs to be a bit more sophisticated and, as a bonus, keyboard
shortcuts to activate the tab under the pointer will work as well =)
Thomas Lübking thomas.luebking@gmail.com
8d88d9be
add apps key to ignore XSizeHints

BUG: 1075
Thomas Lübking thomas.luebking@gmail.com
3df681da
apply size hints when applying the state

There's a setting about maximization which allows to control whether the
resize increments should be honored when maximizing windows.
This is currently used to control whether maximized windows may resize
themselves via (rare) configure events, but not when maximizing windows
- what's somehow not what the config item sells.

BUG: 914
Thomas Lübking thomas.luebking@gmail.com
299e098f
handle oversized windows

Clients can still be stupid (feh constrains itself to the root window
...) or lazy (llpp uses the last size - if that was in pivot mode ...)
and create windows which exceed the workspace dimensions, resulting in
both opposing edges being off-screen (for all tested placements)

This applies partial maximization instead and resizes the (restored)
window to soem sane size (size constraints applied)

CCBUG: 688
CCBUG: 984
Thomas Lübking thomas.luebking@gmail.com
4304e667
catch absurd but possible div-by-zero
Thomas Lübking thomas.luebking@gmail.com
d4e9bb76
emit resize signal when altering the iconbar mode

Otherwise the iconbar would be capped when showing more (eg. all instead
of iconified) windows
Thomas Lübking thomas.luebking@gmail.com
f176c108
Grab Server when showing or switching desktop

Should reduce exposure events, notably since the
windows are not in stack order.
Thomas Lübking thomas.luebking@gmail.com
9613d2cd
XAllowEvent's for CurrentTime

ML confirms that be.time seems to be dated or junk and
causes permanent freezes. Seen such myself but couldn't
sufficiently reproduce to pin a culprit.
Thomas Lübking thomas.luebking@gmail.com
fbb2d166
allow to alter button labels via fluxbox-remote

Command is "RelabelButton button.foo $LABEL"

This is useful to eg. hint the amount of unread mails in a
button to start your MUA, reflect the $USER in a session menu button
etc.
Thomas Lübking thomas.luebking@gmail.com
393ba45f
toolbar: allow labeled general action buttons

With this patch you can add buttons like
*.toolbar.button.foo.label: F
*.toolbar.button.foo.commands: RootMenu:Exec foo
*.toolbar.tools: button.foo, iconbar, ...

button.*.label is mandatory
button.*.commands suppots 5 mouse buttons, but the way
stringtok works, it's required to add a blank
(or some junk) between to colons to skip a button
Thomas Lübking thomas.luebking@gmail.com
5c1bb0a2
support FbTk::TextButton's in ButtonTool

required to allow labeled general action
buttons in the toolbar
Thomas Lübking thomas.luebking@gmail.com
1473bcf6
add functions to toggle slit/toolbar hidden
Thomas Lübking thomas.luebking@gmail.com
10a95747
Fix autohiding/raising timer logics

Trying to control a timer bound to an unconditional toggle, caused by
opposing events does not work. <- That's a period.
The toolbar implementation would act too seldom, the slit to often.

Instead, fire the timer whenever the state does not match the event and
bind it to a function that queries the pointer position and acts
accordingly.
Thomas Lübking thomas.luebking@gmail.com
fe8ff872
add autoraising to toolbar and slit
Thomas Lübking thomas.luebking@gmail.com
6c0565c4
add commands to toggle toolbar and slit layer

toggle(Toolbar|Slit)Above toggles the resp. item between its
regular and the AboveDock layer (ie. above everything, even visible on
active fullscreen windows)

Also required step for autoraising.

REQUEST: 222
Thomas Lübking thomas.luebking@gmail.com
f22435d6
add support for artificial struts (per head)

Allows to maintain access to desktop fractions etc. against
maximized windows. Also permits to OnToolbar clicks in this case, eg. to
raise it.

REQUEST: 150
Thomas Lübking thomas.luebking@gmail.com
3bde5c8a
Improve stretching (RELATIVE) toolbar items

The available space is distributed reg. the preferred width
of items (spacers and the iconbar ;-) instead of evenly.

The preferred width of the iconbar is calculated from its buttons.

This allows to align the iconbar using spacers and makes better use of
the available space
Thomas Lübking thomas.luebking@gmail.com
10e3f10b
Adjust RELATIVE ::repositionItems (more relative)

The evenly distributed space causes a lot of whitespace and otoh. cut
items, so we use the items internal size as indicator IF the item is a
textbutton (the regular usecase in fluxbox)

Also publish the function to be triggered from outside (because the
caller can, in theory, much better compress several text changes)
Thomas Lübking thomas.luebking@gmail.com
cc80230b
expose a preferredWidth of *Button's
Thomas Lübking thomas.luebking@gmail.com
59d9b070
delay title updates

Notably shells will cause brief interim titles when calling
short-lived commands (try "ls"...)
This covers such by waiting 100ms after every title update before
reacting (the title will have returned in the mentioned cases, the UI
remains steady)
Thomas Lübking thomas.luebking@gmail.com
a8b0b363
signal title changes

so that interested parties (the iconbar ;-) can use/forward them
Thomas Lübking thomas.luebking@gmail.com
f6e1f555
Add SpacerTool

This allows to add random spacers, fixed size or stretching, to the toolbar.

CCBUG: 1141
Thomas Lübking thomas.luebking@gmail.com
50b6102b
flag slit for reconfiguration and act on show

According to Peter Ganzhorn, there's a transparency issue when using an
autohiding slit, but I don't use a slit at all.
However, the explanations in the bug do make sense and this is just an
alternative approach on the problem (that does not require interim
showing)

BUG: 1132
Thomas Lübking thomas.luebking@gmail.com
dc226902
fix transient dialog placement

dialogs can be bigger than the mainwindow and the unsigned dimensions
then overflow in the subtraction (the window would still be moved into
screen bounds but appear on ugly 0,0)
Thomas Lübking thomas.luebking@gmail.com
58491165
hide window before restoring the client on unmaps

otherwise compositors will update the texture and operate on (fade) the
frame instead of the client.
Didn't test why this only happens on ARGBs, but could be the colormap
installation.

BUG: 1110
Thomas Lübking thomas.luebking@gmail.com
5e08a23f
reposition visible submenus when changing style

a fixed position of the style menu won't help (the menu geometry changes
*because* the item geometries do) - warping the pointer would likely be
possible, but warping the pointer is cc. "evil"

BUG: 715
Thomas Lübking thomas.luebking@gmail.com
bccb185c
reconfigTheme's on loading a new style

Also reconfigure menus (recursively) on style load
The most critical call is the shape update - the menus often become
cut-off, preventing mouse interaction with lower items, but also colors
are not applied correctly to menus w/o updating them.

BUG 1022 is most likely this and only a misinterpretation (for the
mentioned items are those with lacking color updates on style updates)

BUG: 1146
BUG: 1017
CCBUG: 1022
Thomas Lübking thomas.luebking@gmail.com
6defd939
handle both Focusable's as m_cycling_next

m_cycling_next can either be WinClient or a FluxboxWindow
In case of the latter, client->fbwindow() needs to be matched in
setFocusedWindow when protecting against client side focus juggling.

BUG: 1148
Thomas Lübking thomas.luebking@gmail.com
f6132b76
explicitly set s_focusedWindow for cycle protection
Thomas Lübking thomas.luebking@gmail.com
87c0182e
Do not reset cycle focus when unsetting focus only
Thomas Lübking thomas.luebking@gmail.com
635f14e5
Do not protect focus while cycling

We've better things to do and the focus is moving around anyway
BUG: 1048
Thomas Lübking thomas.luebking@gmail.com
2758485d
do not lock focus against unfocusing.

Latter happens when eg. closing windows, including such with
locked focus
Thomas Lübking thomas.luebking@gmail.com
34bf7d31
prefer m_cycling_next over s_focused_window

as cycle start (former is where we wanted to go and X11 is still async)
Thomas Lübking thomas.luebking@gmail.com
4bc08709
allow to force moveResize and use on applyState

applyState also requires some updates implied by moveResize, notably the
reconfigure, the setBackground on the window etcetc.
Instead of testing what'd be missing from a moveResize, we just force
the latter to apply even when seeming unrequired.

This has notable impact when switching fullscreen state for a window
with fullscreen dimensions.

BUG: 992
Thomas Lübking thomas.luebking@gmail.com
baaf477d
add support for dedicated completion data

This allows to complete random things, useful along the -print flag but
also to limit the commands to those found my menumaker etc.
Thomas Lübking thomas.luebking@gmail.com
8094f4d1
Allow to center fbrun

While any window can be centered using the apps file, fbrun can serve many
purposes and sometimes (runner) makes sense being centered, sometimes
(button/menu triggered input) near the mouse, sometimes ("application")
regularily placed.

REQUEST: 282
Thomas Lübking thomas.luebking@gmail.com
0ca5daf9
limit fbrun history size

the default is 1024-1025, values are read from the FBRUN_HISTORY_SIZE
environment variable
NOTICE: the limit isn't hard, but will typically be n+1 and only n if
the new entry is already present in the last n entries

REQUEST: 202
Thomas Lübking thomas.luebking@gmail.com
e85dc01d
add autocompletion support to fbrun
Thomas Lübking thomas.luebking@gmail.com
d741b6fe
improve fbrun completion

- streamline code
- indicate completion by making use of selection
- fix buggy behavior (notably subsequent completions and FS path
  following)
- support "~" in paths
- support chunk completion
  (ie. "mp[layer] ~/vid[eos/favporn.mp4]" can be completed in both
   tokens; buggy with paths including spaces in non-leafs)

REQUEST: 223
Thomas Lübking thomas.luebking@gmail.com
ed75e883
clear selection on text input

Entering upcase chars would auto-select them
Seems I don't need upcase chars very often ;-)
Thomas Lübking thomas.luebking@gmail.com
69756527
list strict mouse focus in FOCUS POLICY section

of man 1 fluxbox.

BUG: 950
Thomas Lübking thomas.luebking@gmail.com
7525226f
less bashisms in fluxbox-generate_menu

still works with bash or zsh, but fish (now) complains about "cat << EOF" ...

no "grep -q"
BUG: 961

echo is troublesome
POSIX doesn't know a "local" keyword
BUG: 975

seems double comments ## aren't supported everywhere
BUG: 1057
Thomas Lübking thomas.luebking@gmail.com
abd5c9e4
smart handling of NotifyUngrab crossing events

closing a keyboard driven popup had the sideeffect to return the focus
where the pointer is, regardless of whether that window had the focus
before (due to a NotifyUngrab crossing event), bug #597
This was resolved by simply ignoring NotifyUngrab mode crossings, but
that had the unfortunate sideeffects to break focus passing when the
mouse was actually moved (in a DnD operation, 730) or the focus shall be
passed on for strict mouse focus and a mouse triggered lower action (1012)

So instead we record the window that was last entered by a *real*
crossing and only ignore the NotifyUngrab event if this window didn't
change.

BUG: 1012
BUG: 730
CCBUG: 597
Thomas Lübking thomas.luebking@gmail.com
848875eb
Revert "bugfix: fbsetroot needs to use 24bit visuals as well"

This reverts commit 4f4d5e25d9a0cf1fc4c0d1a8b7777a560494b7a4.

The patch resolved a problem introduced by the ::setDepth abuse in
FbRootWindow, but this fails if the root window is *really* 32bit
With commit dcdde4d, the broken workaround depth selection is no longer
required.

BUG: 1093
Thomas Lübking thomas.luebking@gmail.com
b6f62059
document "transient" section

BUG: 1092
Thomas Lübking thomas.luebking@gmail.com
ca452a58
ignore font for empty title height calculation

and align calculation on init and reconfigure

As a result, if a menu has no label, the title height is determined
only by menu.titleHeight (and the border sizes), not by the unused font.
Thomas Lübking thomas.luebking@gmail.com
ea306493
re-fix alt+tab'bing through tabbed windows

commit 98313bf broke (i'm terribly sorry) this because m_cycling_last stores
the first client in a tabgroup, thus cannot be abused for this purpose.
So we explicitly store a value and btw. do it before sending the focus,
ie. "in time" for sure instead of "for sure™"
Thomas Lübking thomas.luebking@gmail.com
e85cf490
fix tabbing of unfocusable clients

this affects all java clients, because java uses the retarded
WM_TAKE_FOCUS protocol, but also very important clients like xeyes ;-)

BUG: 1055
Thomas Lübking thomas.luebking@gmail.com
2aba567e
do not leave stale oplock behind

deiconify'ing a client on a different workspace left an oplock by a
shortcut return, turning the client semi- to inaccessible

BUG: 1010
Thomas Lübking thomas.luebking@gmail.com
9d34cdbf
avoid calling into XLib

Testing one bug, the function seems usually be called with the root
window as parameter, so we can save a pointless lookup for the root of
the root by testing against window before testing against window_root.

Elegantly, this will "fix" the bug where XGetGeometry of the second
heads root will either report the first heads root or some junk (xephyr
case?)

BUG: 1128
Thomas Lübking thomas.luebking@gmail.com
9dccccb8
ensure to update the current client tab from menu

the menu focuses which tries to set the current tab, but fails because
the iconified client won't have the input focus (yet), so we pass it a
dedicated "set this client and do not try to set input because we're
going to do next anyway explicitly" call =)

BUG: 997
Thomas Lübking thomas.luebking@gmail.com
0951134c
do not move unfocused windows to the desktop layer

While usually™ the window is just reset to its original layer, ensuring
to show the active window is certainly a good idea, but it's not
required to lower the fullscreen window to the desktop layer, the other
windows layer + an extra raise is entirely sufficient and it's rather
odd to see conky when activating a utility window to a video player ;-)

CCBUG: 894
Thomas Lübking thomas.luebking@gmail.com
666e7b03
add _NET_WM_NAME to FbWindow::setName

since fluxbox is a f**** WM it should be able to use f**** NETWM hints
in its toolkit ;-)

CCBUG: 702
(does not fix input)
Thomas Lübking thomas.luebking@gmail.com
475e966f
fix tab selection by mousepress

Tabs outside the titlebar are not selectable by mouseclicks (ie. the
feature does not work)
The patch clones the enterNotifyEvent code and ignores (for now) the
actual button (no idea whether it makes any sense to restrict it the
left button?)

BUG: 1103
Thomas Lübking thomas.luebking@gmail.com
6907dc2c
document FocusProtection feature
Thomas Lübking thomas.luebking@gmail.com
07d8fbfb
merge remember focusnew into focusprotection

The FocusNewWindow key is still read, but not written and OVERRIDDEN in
case of conflict with the FocusProtection key
Thomas Lübking thomas.luebking@gmail.com
1a61881e
Add FocusProtection features

The apps file gets a new key
FocusProtection
supporting a comma separated list.
* None : regular behavior
* Lock : If this window has the focus, no other may claim it
* Deny : This window is not allowed to focus itself

I addition there's preparation for a follow-up patch to incorporate and
substitute the present FocusNewWindow feature:
* Gain : Pass focus to new window
* Refuse : Do not pass focus to new window

rationale:
clients stealing the focus sucks badly and while there's an input driven
timeout, that only protects actual typing flow, but if eg. vlc proceeds on
the playlist, you'll suddenly control vlc instead of your browser
(ie. typing ctrl+w doesn't close the tab, but the playlist ...)
Thomas Lübking thomas.luebking@gmail.com
69b0f0fa
remove strut when property is withdrawn

CCBUG: 1133
Thomas Lübking thomas.luebking@gmail.com
bfe47374
fix tracking of MWM hints in case of removal
Thomas Lübking thomas.luebking@gmail.com
dcdde4d3
replace FbRootWindow::depth with maxDepth

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
Thomas Lübking thomas.luebking@gmail.com
484c33bf
prevent clients from positioning out of workspace

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.
Thomas Lübking thomas.luebking@gmail.com
6201286c
keep cmd menus off struts when the mouse is in it

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.
Thomas Lübking thomas.luebking@gmail.com
b9ed1c16
improve consistency

for a std::string::size_type, the right value to use is not "-1", but
std::string::npos.
Mathias Gumz akira@fluxbox.org
a9e17d40
fix broken text selection for FbTk::TextBox

uninitialized variables cause all kind of problems.
Mathias Gumz akira@fluxbox.org
98313bfb
harden focus cycling against client focussing

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.
Thomas Lübking thomas.luebking@gmail.com
cb1a82ba
document -preselect in fbrun manpage
Thomas Lübking thomas.luebking@gmail.com
a1103544
fix fbsetbg in combination with picky shells

in *BSD, /bin/sh is Almquist Shell(ash). the 'hash' built-in command of ash
returns 0, always. 'hash' is not usable for find_it() function in
util/fbsetbg and util/fluxbox-generate_menu.in.

this patch changes the behavior of find_it(): when 'hash' is detected to
not work correctly, switch back to 'which'.


this patch is the work of Yamashiro, Jun and appeared first as patch-160
on sourceforge: https://sourceforge.net/p/fluxbox/patches/160/. i submit
it on behalf of the author.
Mathias Gumz akira@fluxbox.org
5d90b798
Fix menus over a single column wide

Fixes menus more than 1 column wide (such as the Placement menus for
the Toolbar/Slit/Tabs) which stopped working with commit 3e4570b.
Juan Gonzalez Lopez j.gonzalez@nubalia.com
7b8e4413
Allow to preselect preset text
Thomas Lübking thomas.luebking@gmail.com
58b50fb7
Allow text selection

FbTk::TextBox now acts like any contemporary input field ;-)
Thomas Lübking thomas.luebking@gmail.com
2e876617
place transient centered on its parent

so far, transients are simply unplaced, resulting in a static
0,0 position.
Thomas Lübking thomas.luebking@gmail.com
53de8721
Mixed relative and absolute values for apps

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>
Arkadiusz Bokowy arkadiusz.bokowy@gmail.com
22866c4d
fixes bug #1138
John Sennesael john@aminking.com
3c06e9e9
minor code cosmetics
Mathias Gumz akira@fluxbox.org
6346368b
send ConfigureNotify using root coordinates
foobar0815 atalanta.bergamo@gmail.com
fa6a1e5c
Add documentation for edge snap feature when resizing.
Ulrich Eckhardt ulrich.eckhardt@base-42.de
1f1d43bd
Add Resize Snap

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
Nephiel nephiel@nephiel.net
3e4570be
merge pull-request 14
Mathias Gumz akira@fluxbox.org
c7462f09
fbsetbg: Report wallpaper directory path when invalid
Oliver Gondža ogondza@gmail.com
a1f647d0
Update MinOverlapPlacement.cc

Skip any windows which are not in the same layer as the window to be placed.
Ken Moore moorekou@gmail.com
5905c462
Update ColSmartPlacement.cc

Skip any window that is not in the same layer as the window to be placed.
Ken Moore moorekou@gmail.com
17f8a936
Update RowSmartPlacement.cc

Skip any window that does not exist in the same layer as the window to be placed.
Ken Moore moorekou@gmail.com
69d13337
Fix hidden toolbar placement
Peter Ganzhorn peter.ganzhorn@gmail.com
169d6406
Simplify code

* assume 'pattern' to always be lowercase
* rename some variables
Mathias Gumz akira@fluxbox.org
533c9a2a
Fix bug in detecting text in MenuSearch

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).
Mathias Gumz akira@fluxbox.org
e117f5ac
Fix RIGHTCENTER placement of the toolbar. Instead of subtracting borderwidth (bw) from (frame.height))/2 they were multiplied causing wrong placement for this case.
Peter Ganzhorn peter.ganzhorn@gmail.com
949e973d
Shape only toolbar corners not touching any edges of the screen. It just looks better this way.
Peter Ganzhorn peter.ganzhorn@gmail.com
95b7c774
Fix shaped toolbar being drawn incorrectly at TOPCENTER Fix round corners 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'.
Peter Ganzhorn peter.ganzhorn@gmail.com
5b6fe352
roll back 7e17056: m_index does not exist anymore

m_index was removed in 03ce82a.
Mathias Gumz akira@fluxbox.org
dce4721c
TextBox::textStartPos can be const.
Mario J. Rugiero mrugiero@gmail.com
6aff2f7c
ButtonTheme::name can be const.
Mario J. Rugiero mrugiero@gmail.com
9667d538
Make Layer::getLayerNum() const.
Mario J. Rugiero mrugiero@gmail.com
7e17056c
Initialize m_index in MenuItem's constructors.
Mario J. Rugiero mrugiero@gmail.com
2238c004
Reduce the scope of the variable err in stringTokensBetween.
Mario J. Rugiero mrugiero@gmail.com
2275e1e6
doSubmenu function in menutest.cc avoids copying labelstr by using a const reference.
Mario J. Rugiero mrugiero@gmail.com
bf607341
addMatching and insertFromParent functions from FocusableList now avoid copying m_parent->clientList() and use a const reference instead.
Mario J. Rugiero mrugiero@gmail.com
63f89cb4
Pass pre_command to CommandDialog as const reference to avoid unnecessary copying.
Mario J. Rugiero mrugiero@gmail.com
79a35834
Don't assume ICONV_NULL = 0

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.
Casey Dahlin casey.dahlin@toshibagcs.com
88a74ff1
Final notes
Mathias Gumz akira@fluxbox.org
7c3b9a34
Prepare manpages for 1.3.7
Mathias Gumz akira@fluxbox.org
e3300411
Fix: typo during refactoring

Commit 63d9d69 introduced a bug, which has manifested itself by setting
window transparent state to the fully opaque (255).
Arkadiusz Bokowy arkadiusz.bokowy@gmail.com
9f824b89
Move internal code to internal side of FbTk::Transparent
Mathias Gumz akira@fluxbox.org
495846f1
Add .mailmap file
Mathias Gumz akira@fluxbox.org
140b9717
Update Turkish translation

This adds missing strings as well as fixes the typos and grammar issues.
Volkan Gezer wakeup@users.noreply.github.com
09abda14
Update ChangeLog and NEWS
Mathias Gumz akira@fluxbox.org
f84671ef
Minor
Mathias Gumz akira@fluxbox.org
bd983fab
Create buttons for titlebar with proper sizes

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.
Mathias Gumz akira@fluxbox.org
c30b7509
Fix glitch of TabOptions menu
Mathias Gumz akira@fluxbox.org
9814549f
Show toggleitems in menu
Mathias Gumz akira@fluxbox.org
17bd8063
Cosmetic
Mathias Gumz akira@fluxbox.org
1bacaa7e
Boyscouting
Mathias Gumz akira@fluxbox.org
046092d1
Fix cleaning exposed menu items
Mathias Gumz akira@fluxbox.org
8834435b
Avoid signed/unsigned woes; minor cleanup
Mathias Gumz akira@fluxbox.org
a649a45e
Add uncommited #include "MenuSearch.hh"

Note to myself: less gitting at late hours.
Mathias Gumz akira@fluxbox.org
896b8df8
Update documentation to reflect menu search options
Mathias Gumz akira@fluxbox.org
92940571
Cleanup; Remove unused function
Mathias Gumz akira@fluxbox.org
0da4be2a
Feature: different MenuSearch modes

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.
Mathias Gumz akira@fluxbox.org
e79228cc
Fix problem with too small WinButtons

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.
Mathias Gumz akira@fluxbox.org
53b3120b
Move nls globals into #ifdef NLS
Mathias Gumz akira@fluxbox.org
461d4b7d
Fix crash: click the Remember-menu works again

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.
Mathias Gumz akira@fluxbox.org
c207226a
Fix regression: use proper texture for the grips
Mathias Gumz akira@fluxbox.org
e1359adf
Cosmetic
Mathias Gumz akira@fluxbox.org
017de68d
Close to 1.3.7
Mathias Gumz akira@fluxbox.org
fff0abad
Improve I18n support

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.
Mathias Gumz akira@fluxbox.org
57f21b64
Update translations: add CommonDefaultWindowMenuFile
Mathias Gumz akira@fluxbox.org
0a876320
Clean up FbTk::I18n API

Move private stuff into FbTk/I18n.cc.
Mathias Gumz akira@fluxbox.org
f8b9c9a2
Fix sometimes missing windowmenu

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.
Mathias Gumz akira@fluxbox.org
da285bcb
Add chrome* to fluxbox-generate_menu
Mathias Gumz akira@fluxbox.org
bf43ba16
Use strncpy() instead of strcpy()
Mathias Gumz akira@fluxbox.org
37e8c1e9
Use strncpy() instead of strcpy()
Mathias Gumz akira@fluxbox.org
129d0ac3
Make fluxbox strcat() free

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.
Mathias Gumz akira@fluxbox.org
8b44c7a1
Simpler code to set _NET_DESKTOP_NAMES

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).
Mathias Gumz akira@fluxbox.org
8e5a10ea
Compiler boyscouting: init order
Mathias Gumz akira@fluxbox.org
876500a2
Fix correctness of string search

The lookup for the skip value needs to be based upon the lowercase version of
the current byte.
Mathias Gumz akira@fluxbox.org
77f0963d
Increase verbosity of 'configure' summary

After 'configure' finishes it states just CXXFLAGS and LIBS. But these are
actually not complete, the build system will use much more later on. Problems
with the build system are easier to address if 'configure' is a little bit
more verbose.
Mathias Gumz akira@fluxbox.org
aa39a1a6
Fix mishandled [maxmized] statement in apps file

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.
Mathias Gumz akira@fluxbox.org
03ce82a4
Feature: typeahead in menu matches text anywhere

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.
Mathias Gumz akira@fluxbox.org
fc245408
Fix printf bug in fluxbox-generate_menu
Daniel Campbell dlcampbell@gmx.com
6721c7c7
Add 'lxterminal' and 'geany' to fbgm

Implements #305 (feature request "Recognize lxterminal and geany
(fluxbox-generate_menu)"
Mathias Gumz akira@fluxbox.org
e650b34d
Update Changelog; prepare 1.3.7
Mathias Gumz akira@fluxbox.org
75cf246d
Cleanup
Mathias Gumz akira@fluxbox.org
e0c5436f
Improve code documentation

'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.
Mathias Gumz akira@fluxbox.org
00cca128
Fix text rendering in rotated TextButtons

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.")
Mathias Gumz akira@fluxbox.org
67c31b49
Refactor Toolbar.cc, less noise
Mathias Gumz akira@fluxbox.org
63d9d695
Refactor FbWinFrame

FbWinFrame is now simpler to read due to less overall noise.
Mathias Gumz akira@fluxbox.org
0d8a3dfb
Cosmetic
Mathias Gumz akira@fluxbox.org
73858632
Update manpage to reflect -no-slit and -no-toolbar
Mathias Gumz akira@fluxbox.org
bf3714e1
Update translations to reflect new flags via -h
Mathias Gumz akira@fluxbox.org
ab2eef49
Add -no-slit and -no-toolbar flags

Sometimes fluxbox is used as a component of a desktop environment (
e.g., the "Lumina Desktop"). It's easier and more stable for this kind
of "users" to disable the toolbar or the slit alltogether. Why not
configure these features out? Because then they would need 2 installations
of fluxbox: One without the slit and the toolbar (and perhaps other
components) and one with them.

This implements feature request #314, at least partially.

This commit also looks bigger than it actually is: I refactored and cleaned
up classes Fluxbox and BScreen.
Mathias Gumz akira@fluxbox.org
3cda1099
Prepare 1.3.7
Mathias Gumz akira@fluxbox.org
6fc392fb
Remove 'always true' condition
Mathias Gumz akira@fluxbox.org
c0e5d1c7
Fix broken _NET_REQUEST_FRAME_EXTENTS support

There was a subtle flaw in the way fluxbox detects to which BScreen a
given Window belongs: We have to compare the RootWindow of the given
Window against the RootWindow of each BScreen.

That underlying flaw made _NET_REQUEST_FRAME_EXTENTS fail: the code path
needs a valid BScreen for the given window, otherwise we return early.

Closes #1121.
Mathias Gumz akira@fluxbox.org
5428edf3
Fix removing windows from icon list

std::remove_if() removes an item from a container and returns a
past-the-end iterator ... which equals m_icon_list.end(). As a result
the check

    if (erase_it != m_icon_list.end()) {
        iconList().erase(erase_it);
        iconListSig().emit(*this);
    }

will never succeed and thus the iconListSig() will never be emitted.
Mathias Gumz akira@fluxbox.org
1ec4fb6b
Cosmetic
Mathias Gumz akira@fluxbox.org
6d749d6f
Cosmetic
Mathias Gumz akira@fluxbox.org
e2dbdeeb
Fix segfault on shutdown

There was a problem deep within how the menus were connected and when and
what gets deleted. It was clearly related to a menu which was kind of
global. In order to better understand the code flow I eliminated the
ExtraMenu code: it was used only to get the Remember-Menu into the
Window-Menu. Instead of having a singleton of the Remember-Menu and fight
against the shaky interconnections we just create a new one on demand
and delete when the menu gets deleted. Looks like this fixes the problem.

The menu code needs more love anyway.

Closes #1118
Mathias Gumz akira@fluxbox.org
145cf94e
Refactor: bundle related members together

Also: try to avoid unsigned/signed problems in drawing code.
Mathias Gumz akira@fluxbox.org
f64727ca
Cosmetic: less code bloat
Mathias Gumz akira@fluxbox.org
dae7fca7
Fix potential memory leak

If allocation of I2 does not succeed, we need to free I1.

Closes #1120
Mathias Gumz akira@fluxbox.org
980ab5e3
Fix behavior for autorepeat keys

This reverts 58e09b719077605efadac9b712acb8f5e752f732 after having regressions
and bug reports in regards to autorepeated key events are not working anymore.

So, the problem with the lost keypress after the workspace change is still
open but at least the behavior for other folks is as it was. Since 58e09b7190
seems to be corelated to "auto repeat" keys it might indicate the problem
which 58e09b7190 "fixed". We will see.

Fixes #1115.
Mathias Gumz akira@fluxbox.org
8e92ad53
Minor cosmetics
Mathias Gumz akira@fluxbox.org
2b70480b
Fix compile errors with clang
Mathias Gumz akira@fluxbox.org
d3c960da
Remove unused variable
Mathias Gumz akira@fluxbox.org
382d7be6
Fix compile error: old g++ does not like c-like struct initialization
Mathias Gumz akira@fluxbox.org
11566bbb
Fix uncommited change (see 8387742c8...)
Mathias Gumz akira@fluxbox.org
5ede399d
Fix casting issues
Mathias Gumz akira@fluxbox.org
772ec145
Fix uninitialized variables; cosmetics

Note: I expect only modern compilers will hit the source of fluxbox. It
seems futile to guard stdlib headers while demanding <algorithm> etc. This
should trim down the noise in the source quite a bit.
Mathias Gumz akira@fluxbox.org
e37cad71
Avoid modulo 0

Coverity pointed out that 'size' might be 0 (even if the 'find()' would
detect this). This commit fixes this and avoids entering 'find()' at
all.
Mathias Gumz akira@fluxbox.org
ad8e6da8
Make coverity happy

Coverity complaints about 'isdigit(whole_keyfile[pos])' is changing the
validity of 'keyfile' (which itself is just a copy of whole_keyfile.c_str()).

This might be a valid claim, it might be not. By using the 'keyfile'
variable we make Coverity happy and achieve the same behavior.
Mathias Gumz akira@fluxbox.org
a65e9c68
Fix semantic errors (wrong variable names etc)

Uncovered by coverity-scan.
Mathias Gumz akira@fluxbox.org
df996370
Fix leak in ClientPatternTestCmd

Coverity-scan points to the leaking ClientPattern. The rest is just
cosmetics.
Mathias Gumz akira@fluxbox.org
b30438c3
Refactor: bundle xinerama-info together, simpler code

Part of this massive looking but simple rather simple change is a the way we
check for active Xinerama: XineramaIsActive() was used before. The docs for
XineramaQueryScreens() state that

    XineramaQueryScreens() returns NULL and sets number to
    0 if Xinerama is not active.

Sold.
Mathias Gumz akira@fluxbox.org
6d5781ce
Refactor: move some menu-creation functions to MenuCreator

Another patch to trim down the code that needs to be part of BScreen
Mathias Gumz akira@fluxbox.org
b4958780
Reduce number of allocations for menu creation

Every time either the Slit menu or the Toolbar menu were added to the
root menu, the whole root menu was (re)created from scratch. Now we
create and remove only the menus needed.

Side effect: the position of these menus is now at the end of the root
menu and not somewhere in between. If users complaint, I' ll think about
it.
Mathias Gumz akira@fluxbox.org
bd9afcaf
Refactor: split out menu generation from BScreen

Again, it's easier to read the code when the whole menu-generation is out of
the way.
Mathias Gumz akira@fluxbox.org
8387742c
Refactor menu code: be more explicit and compact

This commit is a preparation step for some menu cleanup ahead. To make it
easier to understand which types of MenuItems are added where and when, I
converted the overloaded FbTk::Menu::insert() functions into explicit ones
(Menu::insertSubmenu(), Menu::insertItem(), etc. ). This makes it possible
to just grep for 'insertSubmenu()'.

Side effect this commit: it trims down the very verbose creation of menu items
in regards to how the labels are created.

Minor: FbTk::Menu::shown and FbTk::Menu::s_focused are moved out of the class.
Mathias Gumz akira@fluxbox.org
b4cd4554
Fix broken formatting
Mathias Gumz akira@fluxbox.org
0ff9c835
Fix 'configure --help' to match actual default value
Mathias Gumz akira@fluxbox.org
dc9793c9
Code cleanup

Reorder some includes; remove unused includes
Mathias Gumz akira@fluxbox.org
b16528de
Make use of API instead of hardcoded default font
Mathias Gumz akira@fluxbox.org
c4728023
Fix order of reconfigure the theme of an IconButton

The font might have an impact to the result of width() and height(). In order
to render the new pixmap correctly fluxbox now first sets the font and the
width of the border and after that it recreates the pixmap.
Mathias Gumz akira@fluxbox.org
09da97e6
Remove dead code
Mathias Gumz akira@fluxbox.org
7b8fd2d8
Fix bug: integer underflow in startup phase

When fluxbox comes up some of it's drawables span a 1x1 area. Subtracting from
such small numbers bigger ones always lead to massive problems when 'unsigned
int' are involved:

'button_width' is an unsigned int of '1' (this might be caused by another
issue or on purpose, anyway), subtracting -10 or any other number should
result in something < 0 when in reality an integer underflow happen: max_width
is now MAX_INT-something big. This makes fluxbox crash under certain
circumstances.

This fixes bug #1116.
Mathias Gumz akira@fluxbox.org
d8c11d08
Fix 'make check'
Mathias Gumz akira@fluxbox.org
a46a4aef
Documentation: white-spaces and minor formatting
Mathias Gumz akira@fluxbox.org
3d6d7f81
Add ArrangeWindowsStack* actions to vim-keys
Mathias Gumz akira@fluxbox.org
d9f3a73b
Fix build-system: link against libiconv

Some systems (BSD, MacOSX) need explicit linkage against -liconv.
Mathias Gumz akira@fluxbox.org
f8d0bd4c
Fix build-system: install data files (keys, apps, menu ...)

* Correctly build data files when operate outside of the $(srcdir)
* Actually install data files
* Use pkg-config to detect X11, works better on MacOSX. We used pkg-config
  already anyway, double checking for X11 does not yield better results.
* Replace EXEEXT in some files while before installing them
Mathias Gumz akira@fluxbox.org
0820bcb6
Fix build-system: use xxx_LDADD instead of xxx_LDFLAGS

xxx_LDFLAGS place the libraries like '-lX11' or '-lXft' at the beginning of
the linker command. Some systems were not able to handle the situation and
this lead to a lot of unresolved symbols. Reading the documentation of
automake:

    ... you can use LDADD to do so. This variable is used to specify
    additional objects or libraries to link with; it is inappropriate for
    specifying specific linker flags, you should use AM_LDFLAGS for this
    purpose.

In addition we link against -lm in order to satisfy symbols refering to 'cos'
and 'sin'.
Mathias Gumz akira@fluxbox.org
ad968e32
Fix to make clang happy

POSIX states that 'd_name' in 'struct dirent' is char[], so it cannot be NULL.
This will result in the compiler complainting about an expression which always
evaluates to true ... for this compiler (clang). But in some implementations
'd_name' is a 'char*' that's why it's better to keep the check for possible
NULL.
Nable 80 nable.maininbox@googlemail.com
90f2fcf0
Minor API change for OSDWindow

OSDWindow::resize(const FbTk::BiDiString&) shadowed FbWindow::resize(x, y). To
fix this I renamed the function to OSDWindow::resizeForText() to make the
intention clear.
Mathias Gumz akira@fluxbox.org
3c85ace9
Fix signature ITypeAheadable::isEnabled()
Mathias Gumz akira@fluxbox.org
ccd86cfe
Fix signature FbTk::FontImp::rotate()
Mathias Gumz akira@fluxbox.org
63f9a163
Clean unused variables
Mathias Gumz akira@fluxbox.org
60e97b96
Fix clang warning 'expression with side effects'
Mathias Gumz akira@fluxbox.org
fb7bc738
Fix number2*() functions

As correctly pointed out by 'Nable80': "%llx" does not create the 0x prefix
for the hex-string. In addition to that: snprintf() adds a terminating \0.
Mathias Gumz akira@fluxbox.org
6a9c14e6
Update ChangeLog
Mathias Gumz akira@fluxbox.org
6fe7fbdc
Remove dead / unused code

Again: Compiler happy, we are happy.
Mathias Gumz akira@fluxbox.org
65e06542
Fix typo / editor bug or something like that.

While running code analysis tools this issue popped up. As it is written it is
clearly a NOP, but the reason for why it is written that way remains unknown.
I suspect that it was a textfragment introduced by some repeat-function of the
used editor (think '.' in VIM). The code was introduced by commit a932a7a801
and looked like this in the original form:

   if(!XQueryTree(FbTk::App::instance()->display(), window().window(),
                  &root_return, &parent_return,
                  &children_return, &nchildren_return))
       parent_return=parent_return;//return;

Look at the outcommented return statement. I decided to return from that
function instead of the NOP.
Mathias Gumz akira@fluxbox.org
bd519dd9
Remove various unused variables

Clang and Gcc-4.9 complaint about some unused variables here
and there. And who are we to not make a compiler happy :)
Mathias Gumz akira@fluxbox.org
11974fa4
Update copyright info
Mathias Gumz akira@fluxbox.org
74df62b0
Remove unused code / option from FbRun
Mathias Gumz akira@fluxbox.org
3e76d439
Use correct buffer size for number2*()
Mathias Gumz akira@fluxbox.org
362b5c19
Identify clang compiler
Mathias Gumz akira@fluxbox.org
1a5d5248
Preparation of release 1.3.6
Mathias Gumz akira@fluxbox.org
49527185
Fix build issue
Mathias Gumz akira@fluxbox.org
a8dfb567
Remove reference to src/tests/testSignal
Mathias Gumz akira@fluxbox.org
f5934de6
Recreate man-pages
Mathias Gumz akira@fluxbox.org
376ed523
Update release version
Mathias Gumz akira@fluxbox.org
354e59f5
Fix build issue with out-of-src-builds
Mathias Gumz akira@fluxbox.org
a3c0b049
Fix corruption of fbrun-history

This commit fixes issues #72 (brought up + different solution by Mattias
Guns; I received a similar patch by 'Nable 80' via ML and discussed the
issue in #fluxbox with 'Nable 80'), patch #73 (Mattias Guns) and finally
patch #162 (Ulrich Eckhardt; this commit is heavily based upon Ulrich's
work).

The original code was overly complex. It tried to avoid writing
bytes to the disk at the expense of comprehensibility and as a result it
was buggy. I looked at both patches from Mattias and 'Nable 80' which address
the bug with skipping entries in the history-file (my fault: incorrect use
of outfile.ignore(1, '\n')): They provided a proper fix for the problem
but I decided to use Ulrich's code since it improves the whole code by making
it a lot simpler.

So, kudos to all of you.
Mathias Gumz akira@fluxbox.org
0e8a27e9
Fix loading fbrun-history

Previous code add one additional entry on loading the history. This
commit is one part of the patch #162 (see [1] and [2]), written
by Ulrich Eckhardt <doomster@knuut.de>.

[1]: https://sourceforge.net/p/fluxbox/patches/162/
[2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=fbrun-bug636632.patch;att=1;bug=636632
Mathias Gumz akira@fluxbox.org
23097511
make use of FbTk-api
Mathias Gumz akira at fluxbox dot org
c5fd69cc
treat windows having WM_CLASS == "DockApp" like DockApps

this commit implements feature-request #317: "Add support for GTK dockapps.":

"Back in 2010, WindowMaker implemented a system where windows with WM_CLASS
res_class = DockApp would be treated as if they had initial_state =
WithdrawnState, since GTK refuses to allow this."
Mathias Gumz akira at fluxbox dot org
ed7bcc5d
Corrections for border width for relative resize
Arkadiusz Bokowy arkadiusz.bokowy@gmail.com
786d8bac
Code cleanup

File name expansion is done internally by the Slit::loadClientList, so there
is no need to duplicate the code.
Arkadiusz Bokowy arkadiusz.bokowy@gmail.com
f0a178f5
fix: check the correct XClassHint property

kudos to Arkadiusz Bokowy (this commit is a slightly changed version
of a patch sent to the devel-ml): when retrieving the '.res_name' of
a XClassHint we should check '.res_name' and not '.res_class'.

the other changes only reduce the code.
Mathias Gumz akira at fluxbox dot org
026343b6
fix uninitialized variables
Mathias Gumz akira at fluxbox dot org
5f455242
fix _NET_MOVERESIZE_WINDOW resize issue (#1108)

handing over the dimensions of a WinClient client must not contain properties
of the FbWinFrame, otherwise they get added twice in
FbWinFrame::moveResizeForClient() and thus result in a resizes when no resize
is wanted.

other changes: it's easier for me to detect the nth bit when the value looks
like (1 << 8) instead of 0x0100 (for the 8th bit). that is why i changed
0x0100, 0x0200 etc. in the nearby code.
Mathias Gumz akira at fluxbox dot org
f3e82cae
allow a timeout of a full 'unit'

the -1 in the FbTk::FbTimer::remainingNext() function was pointless in the
first place anyway: reducing the timeout by just 1 microsecond improves
nothing (in this case). if the timer triggers exactly at a full unit (second)
then it's correct to wait for the full next unit.
Mathias Gumz akira at fluxbox dot org
6700eb35
cosmetic, less code
Mathias Gumz akira at fluxbox dot org
948e63eb
detect minute-based strftime-formats (again)

the lag / skipping of the clock was not caused by faulty timer code
on fluxbox's side but by the behavior and inner workings of time().
since this is fixed now (913244789f) we can now rollback ec7fe513c8
and detect strftime-formats which need intervals of seconds or minutes.

minor: the small change to FbTk::Timer::setTimeout() reduces one
start() / stop() cycle for a running timer.
Mathias Gumz akira at fluxbox dot org
91324478
fix clocktool lagging behind and skipping seconds

from time to time (...) time() might be off to gettimeofday() by a
second. the reason for this is that time() is usually implemented
by just returning the field 'second' of the struct that represents
the clock inside the kernel. gettimeofday() on the other hand also
takes the 'fraction' field (mostly 'nanoseconds') into account and
thus is closer to the current time than time().

the result of using time() was a perceived 'lag', sometimes the
clocktool even skipped a second. by using FbTk::FbTime()::system()
instead fixes the issue.
Mathias Gumz akira at fluxbox dot org
9b40943d
removed reference to 'defaults.hh'
Mathias Gumz akira at fluxbox dot org
e105de7d
merge Sami Kerola's new build-system
Mathias Gumz mathias gumz at gmail com
bc272ba4
use function fluxbox::findScreen()
Mathias Gumz akira at fluxbox dot org
617635f8
fix excessive loading of keys file caused by xmodmap

xmodmap (and other tools) trigger MappingNotify events. a single xmodmap
expression such as "keycode comma = comma semicolon" might trigger 4 or 5
MappingNotify events. loading the keys file on each of them is quite
unefficient.

fluxbox now uses a (250ms) timer which is reset upon further events.
Mathias Gumz akira at fluxbox dot org
121bd238
move shared build instructions for nls into a common file
Mathias Gumz akira at fluxbox dot org
55994718
make sure that result of division is signed int

there is problem that x/y ended with unsigned int value due to
width()/height() and negative result of division ended up being big
it causes Focus to move window due to screen boundary checks

fixes annoying behaviour of window moving few pixels with
Mod4 KP_8 :MacroCmd {ResizeTo 100% 50%} {MoveTo 0 0 Top} {Raise} {Focus}
Amadeusz Sławiński amade@asmblr.net
58472fea
Fix the Bulgarian translation's codeset.

The codeset of the Bulgarian translation was incorrectly specified as
ISO-8859-1 instead of CP1251.  This led to incorrect transcoding to
UTF-8 and the display of wrong characters in the Fluxbox menu.
Peter Pentchev roam@ringlet.net
43bdf499
Fix race condition on shutdown

This commit fixes primarily a race condition that occurs when xinit(1) shuts
down: by not acting properly fluxbox gets caught in an infinite loop. It
caused bug #1100.

xinit(1) sends a SIGHUP signal to all processes. fluxbox tries to shutdown
itself properly by shutting down workspaces and screens. While doing that, the
Xserver might be gone already. Additionally, fluxbox used to restart() itself
on SIGHUP, which is clearly not the right thing to do when xinit(1) is about
to end the session.

So, fluxbox does this:

* handling SIGHUP now shuts down fluxbox without clearing workspaces and
  screens.

* A 2 second alarm() is triggered in Fluxbox::shutdown() as a last resort

* XSetIOErrorHandler() is used to recognize the disconnect from the xserver.

* SIGUSR1 is for restarting fluxbox, SIGUSR2 for reloading the config

* FbTk/SignalHandler.cc/hh is gone; this unused abstraction served currently
  no real purpose. Signal handling is now done in main.cc

* Unrelated to the issue itself src/main.cc was trimmed down quite a bit and
  the code (responsible for handling the command line interface) was moved to
  src/cli*
Mathias Gumz akira at fluxbox dot org
3696562a
update of copyright info
Mathias Gumz akira at fluxbox dot org
ff3635ad
Fix ArrangeWindowsStack* for multi-head displays

* Fix integer wrap around for some situations (resulting in a very wide
  window):

      w = max_width - x_offs - (*closest)->widthOffset()

  If the given window is on the right most display and thus 'x_offs' is
  bigger than 'max_width' (half of the display width), the resulting 'w' wraps
  around and becomes very large.

* Place a single window via ArrangeWindowsStack* as well
* Some minor code styling / reordering along the way
Mathias Gumz akira at fluxbox dot org
57ec44e9
Add support for stacked tiling via ArrangeWindows*
John Sennesael john@adminking.com
58e09b71
Fix lost keypresses after workspace change (#1067)

Do not Ungrab the keyboard for a KeyPress event, this causes us to lose the
KeyRelease event which is needed to ungrab the keyboard after the event
happened.
Ed Martin edman007@edman007.com
3ad6e299
update hebrew translation
Isratine Citizen genghiskhan@gmx.ca
99a8ebbf
Updated Japanese Translation
Takeshi Hamasaki hmatrjp@users.sourceforge.jp
0084149c
Constify the type passed to std::equal_to.

std::bind2nd() has problems with the existing call because it uses the
argument type passed to std::equal_to() in std::binder2nd()'s constructor,
but WinClient* does not have the const specifier that `client' does.

The call works fine with libstdc++ because of the way it implements
std::bind2nd(), but fails with libc++ and possibly with other STL
implementations as well.
Raphael Kubo da Costa rakuco@FreeBSD.org
f464f24e
fix detection of $HOME folder

usually $HOME is set when fluxbox runs. in some rare scenarios (eg., fuzzying
binaries to detect bugs) one could launch fluxbox by using 'env -i' and thus
eliminating $HOME from the environment. to prevent crashes fluxbox uses now
'getpwuid()' when $HOME is not set to detect the home folder.
Mathias Gumz akira at fluxbox dot org
2efd4b82
cosmetics
Mathias Gumz akira at fluxbox dot org
34656ac6
Returning EXIT_FAILURE on exit in fluxbox-remote.
Paul Tagliamonte paultag@fluxbox.org
118ea25f
Speedup overlong text detection

Detecting very long window titles is done via FbTk::TextUtils::doAlignment().
Instead of removing one char from the title at a time to see if it fits into a
given 'max_width', we now use a binary-search like approach to get faster to
the right value. This massively improves the speed for windows with
(arbitrary) long window titles (see bug #1090, javascript

    document.title = new Array(4999).join(".");

leads to massive waiting for fluxbox to detect that this window has a very
long title).

In addition to that Xft returns 'wrapped' shorts ('integer overflows') for
long texts: XGlpyhInfo.xOff is declared as signed short, it's able to hold
~32k pixels. A monospace font with font-size 10 produces an integer
overflow after 3276 chars / glyphs, thus rendering the check

    if (text_width < max_width) { /* ... */ }

pointless and leading rendering the whole title. By calculating some kind of
upper limit for a pseudo-wide glyph ("WW") and strictly cutting off the input
string at that limit prevents this issue.
Mathias Gumz akira at fluxbox dot org
1f24e6de
Removing a blank line in nls/it_IT/Translation.m that breaks the -help output.
skizzhg skizzhg@gmx.com
c6489ab1
more compact code
Mathias Gumz akira at fluxbox dot org
2da80866
Use shared code, minor code simplification
Mathias Gumz akira at fluxbox dot org
9b0cedf9
minor
Mathias Gumz akira at fluxbox dot org
e00c2b78
fix initial window placement to allow proper head detection and window placement based on apps file

* a reasonable initial placement is important for later movements to
  different heads and correct head detection (required by apps file)
* it did not work well in case when (0,0) was not near any head
Peter Hercek hercek@users.sourceforge.net
5e321744
fix head detection for adjacent heads of too different sizes and window placement based on apps file

* if you have e.g a 1920x1200 monitor and a small 800x600 monitor to the
  right of the bigger one and a small window at the right side of the
  big monitor (but still the whole window area at the big monitor) then
  the original head detection would claim the window is on the small
  monitor because (800/2+windowWidth/2 < 1920/2+windowWidth/2) is true
  for small windows; but that is obviously wrong, the window is entirely
  on the big monitor
* these incorrect head detections did lead to incorrect window
  placements as they were required in the apps file
Peter Hercek hercek@users.sourceforge.net
6dca40aa
Fix regression in rendering the Window-Motion-Outline

Commit 79fe2fca1de5140f538e68f6981b27cf7f917e7a checks for pending
motion events and drops out of the FluxboxWindow::motionNotifyEvent() function
early if so. When the user does not use the opaque window movement method an
outline will be drawn to the screen. That outline was not cleaned correctly
with commit 79..
Mathias Gumz akira at fluxbox dot org
52c37457
minor code simplifications
Mathias Gumz akira at fluxbox dot org
0810d7db
Workspace switching on the toolbar via the mouse buttons
Soeren Beye soeren at soerenbeye dot de
ec7fe513
Trigger ClockTool every second, independent of the format string

It's hard to hit right moment to update the clock correctly: Either we are a
bit too early and the 'old time' is the same as the 'new time' and the clock
looks 'a bit off' or we are too late and the clock is 'a bit off'. This is
especially the case for format strings which do not show the second and thus
are updated only at the full minute (see bug #1082): if fluxbox does not
update the clock 'now' it would do it one minute later and thus the clock
might show the wrong time for roughly 1 minute.

Instead of coming up with something immensely clever we just trigger the
ClockTool every second. If no update of the shown time is needed fluxbox won't
do anything.

Some minor code reordering as byproduct.
Mathias Gumz akira at fluxbox dot org
ac27c8cb
Updates copyright date information in some binaries
Mathias Gumz akira at fluxbox dot org
20c46d94
mpf
Mathias Gumz akira at fluxbox dot org
b023c124
Updated Changelog, NEWS, man-pages for 1.3.5
Mathias Gumz akira at fluxbox dot org
59f59801
Fix missing LogicCommands

By removing FbTk/LogicCommands.o from LDADD in src/Makefile.am (commit
06655f6) I prevented the linker to pick up FbTk/LogicCommands.o and thus
rendered all logic-commands useless.

Using a small helper object to pull in the dependency fixes this problem
without relying on manually tweaking the build system.
Mathias Gumz akira at fluxbox dot org
7c261568
Initialize FbTk::Timer.m_timeout correctly
Mathias Gumz akira at fluxbox dot org
fe2d9476
Updated Changelog, NEWS, man-pages for 1.3.4
Mathias Gumz akira at fluxbox dot org
cf56f32b
Remove unused variables, cosmetics
Mathias Gumz akira at fluxbox dot org
b0391221
FbTk::FbTime::mono() yields microseconds since fluxbox started
Mathias Gumz akira at fluxbox dot org
34744f50
Cleanup
Mathias Gumz akira at fluxbox dot org
2e98d9ed
More subtle brightening of textures
Mathias Gumz akira at fluxbox dot org
34343bb2
Feature #3602124: 'LHalf' and 'RHalf' buttons to the titlebar

First draft of feature request of #3602124: Having 2 buttons in the titlebar
which allow quick positioning of a Window into the left or right half of the
current monitor.
Mathias Gumz akira at fluxbox dot org
94fddc09
Fix bug in renderEllipticGradient()

For odd 'widths' and 'heigths' the texture would not be filled completely:
Given a 'width' of 5 we would render only 4 instances of x (-2, 1, 0, 1)
instead of the needed 5. This results in a texture which looks a bit cut off
to the bottom right side.
Mathias Gumz akira at fluxbox dot org
0b41d0b9
Minor cosmetics
Mathias Gumz akira at fluxbox dot org
41a20607
Fix integer overflow

I forgot this piece in 779618e45d4571bb6a4866aa2e398780f4b4da5d.
Mathias Gumz akira at fluxbox dot org
a4a4bca7
Reduces memory footprint

The buffer for some gradients does not have to be width * height big when two
lines are sufficient.
Mathias Gumz akira at fluxbox dot org
6514398b
Branchless code for interlacing a texture
Mathias Gumz akira at fluxbox dot org
779618e4
Fix integer overflow for bigger textures
Mathias Gumz akira at fluxbox dot org
3e4ee48b
Fix regression regarding timers with equal end-time

std::set<Key, Comp> stores Key only if Comp(Key) yields a unique result (My
mistake: I was under the impression Comp is only used for the ordering). This
prevents FbTk::Timers with equal end-times from actually being started.
Escpecially in situation with multiple ClockTools this lead to stopped timers
(see bug #3600694).

Kudos to Adam Majer for enlightening discussions.
Mathias Gumz akira at fluxbox dot org
dc474915
Adds 'ClientPatternTest' command

ClientPatterns might be tricky to get right. Instead of fiddling around in
either the keys-file or the apps-file and restarting fluxbox to see if the
changes had any effect / matched the right windows, 'ClientPatternTest' and
the fluxbox-remote should make this easier:

    $> fluxbox-remote "clientpatterntest (title=.*vim*)"

This causes fluxbox to store the list of matched windows in the
_FLUXBOX_ACTION_RESULT property onto the rootwindow. This property might
then be read by:

    $> xprop -root _FLUXBOX_ACTION_RESULT

or

    $> fluxbox-remote result

The format of the list is:

    win_id \t title_of_window \n

win_id is '-1' when fluxbox wasn't able to parse the given ClientPattern.
win_id is '0' when there are no windows matching the given ClientPattern.
Mathias Gumz akira at fluxbox dot org
716532dd
Calculates timeouts of ClockTool based upon System Clock

Users expect time switches to happen upon system clock times. Calculating the
timeout for the next refresh of the shown time via the monotonic clock is
wrong: The monotonic clock yields values based upon some arbitrary point in
time which might be off a little bit to the system clock, a 'full' minute of
the monotonic clock might be in the midst of a system clock minute.
Mathias Gumz akira at fluxbox dot org
e7bfc639
Improve calculation of brighter colors

The old code did not brighten up "pure" colors like "red", "green" and "blue"
at all. The new code use a different precomputed LUT which is based upon
simplified vector math, see the comments in FbTk/ColorLUT.cc
Mathias Gumz akira at fluxbox dot org
c67743d0
Adds 'he_IL' translations (provided by Genghis Khan)
Mathias Gumz akira at fluxbox dot org
bf5da7f1
Fix bug: actually invert a given Texture

Stupid typo.
Mathias Gumz akira at fluxbox dot org
4eeb8937
build-sys: clean up .gitignore file
Sami Kerola kerolasa@iki.fi
33161595
Simplifies and fix bugs in FbTk::Timer

* Calling Timer::setTimeout() from within Timer::start() might lead to ugly
  behavior (as experienced in bugs #3590078, #3600143, etc; see commit
  4d307dcd10af9d817ff5c05fc40ae7487564cb31, fixes the problem partially).

* Stop a timer first, then call the handler (via Timer::fireTimeout()). A
  given handler might call Timer::start() again, which (re)adds the Timer
  to the control list .. the following Timer::stop() would remove it again.

* Use 'm_start' as indicator if timer is running.

* Move the (now quite short) code of ::addTimer / ::removeTimer
  into the Timer::start() and Timer::stop() functions.
Mathias Gumz akira at fluxbox dot org
239e8958
Ensure textures have the correct size bevor applying 'bevel'
Mathias Gumz akira at fluxbox dot org
5f7acf3f
Optimize inner loop of pixel transfer in TrueColor

Testing bits-per-pixel in the inner loop is suboptimal, especially since
that value does not change. A little helper macro helps to keep the code
readable, also improves the situation for StaticGray and PseudoColor.
Mathias Gumz akira at fluxbox dot org
eb725c5c
Use the same lookup-tables for solid and gradient textures
Mathias Gumz akira at fluxbox dot org
8143b86f
improved code documentation
Mathias Gumz akira at fluxbox dot org
13b9ee09
Minor optimization of handling the timers
Mathias Gumz akira at fluxbox dot org
4d307dcd
Fix bug: handle the list of Timers not in-place

With commit 541c8c4 we switched from an (manually) ordered list to a
std::set<> to handle the active timers. The code which checks for overdue
timers now traverses and modifies the std::set<> in place. This might
lead to an infinite loop. Examples of such bad behavior are "flickering of
the tooltip" (bug #3590078) or crashes (bug #3600143) or just insanely high
cpu load when autoraising windows or submenus.

We now make a copy of the std::set<> traverse this instead of the original.
Mathias Gumz akira at fluxbox dot org
06655f6d
Optional removal of SystemTray tool

Added the option to remove the SystemTray tool completely from
fluxbox.
Mathias Gumz akira at fluxbox dot org
79fe2fca
Reduced lagging begind of windows on slower displays

In certain situations a speedy mouse might generate more move-events
than fluxbox can handle: The event queue will fill up faster than the
repositioning of the window is finished. The user will experience a
window which lags behind the mouse cursor, aka the window-dance.

We now check the next event in the queue and postpone the move a little
bit so the queue does not fill up that fast.
Aymeric Vincent vaymeric@users.sf.net
cfe4a80f
refer to the correct autoconf file in nls/translators.txt
Mathias Gumz akira at fluxbox dot org
fdb9c92f
fix little autoconf regression
Mathias Gumz akira at fluxbox dot org
f12e149b
automake: use AM_CPPFLAGS rather than INCLUDES

The INCLUDES macro deprecated in favour of AM_CPPFLAGS.

References: http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html
Sami Kerola kerolasa@iki.fi
ea2464a9
automake: fix initialization

Reference: http://www.gnu.org/software/automake/manual/automake.html#Public-Macros
Sami Kerola kerolasa@iki.fi
b825874d
do not try to reach $(top_srcdir)/.git directory contents when building a release tar ball
Sami Kerola kerolasa@iki.fi
be2c52a1
util/fluxbox-generate_menu: default browswer variable can be empty

Noticed when debugging in mac.
Sami Kerola kerolasa@iki.fi
dcdfdfd5
utils: remove bashisms

fbsetbg: The random number generation used 'time' shell internal, which
does not exist in all shells.  Allowing 'ps' output to be part of cksum
input will increase entropy and enhance quality of the randomness.

fbsetbg: The second fix is more important.  In posix shell there is no
'==' comparision operator.

fluxbox-generate_menu: There are no quarantees about echo accepting
options, so use 'printf' for more advanced outputing.
Sami Kerola kerolasa@iki.fi
e15dfaf4
fix 'make distcheck' which had out-of-tree build issue
Sami Kerola kerolasa@iki.fi
23602ef2
rename configure.in to configure.ac

It seems autoheader version 2.69 does not work with configure.in file,
and AM_CONFIG_HEADER macro.

aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:585: warning: macro 'AM_CONFIG_HEADER' not found in library
Executing:  autoheader

autoheader: error: AC_CONFIG_HEADERS not found in configure.in
Sami Kerola kerolasa@iki.fi
f587cc9e
Compile fix: forgotten parentheses around value
Mathias Gumz akira at fluxbox dot org
2294b165
updated ChangeLog and NEWS
Mathias Gumz akira at fluxbox dot org
1f89a19c
replace XKeycodeToKeysym() with XkbKeycodeToKeysym()

The XKeycodeToKeysym() is deprecated.

References: http://comments.gmane.org/gmane.comp.misc.suckless/9403
Sami Kerola kerolasa@iki.fi
1804678c
prepared manpages for new release
Mathias Gumz akira at fluxbox dot org
0eec277c
updated Changelog
Mathias Gumz akira at fluxbox dot org
5efef22c
Fix double text rendering if using parentRelative
Vladimir A. Pavlov pv4@bk.ru
edcb6d57
src/WinButton.{cc,hh}: cosmetic
Vladimir A. Pavlov pv4@bk.ru
c8d0945a
Make use of window.stuck.pressed.pixmap
Vladimir A. Pavlov pv4@bk.ru
36489e4a
Set WM_WINDOW_ROLE for fluxbox windows
Vladimir A. Pavlov pv4@bk.ru
7a404e7f
Store XClassHint on stack, not in dynamic memory
Vladimir A. Pavlov pv4@bk.ru
9f995b7f
preparation of fluxbox 1.3.3
Mathias Gumz akira at fluxbox dot org
0f7b083e
Increased verbosity of 'configure'
Mathias Gumz akira at fluxbox dot org
95f8f33c
Minor cleaning of 'class Fluxbox'
Mathias Gumz akira at fluxbox dot org
4191cbf2
Fix build regression: enable XRANDR support by default

The changes made in b178bed60b5bd8b2c9ed0cbc67fd729ff3820589 used the wrong
variable to set the default state of '--enable-randr' in configure.in, that is fixed now. I
also removed '--enable-randr12': If support for the Xrandr-extension is
available at compile time we set HAVE_RANDR; if there is also support for
Xrandr-1.2 (or higher), we also set HAVE_RANDR1_2 automatically.

Other changes:

* cleaned out public interface of 'class Fluxbox'
* added 'RANDR' to output of 'fluxbox -info'
Mathias Gumz akira at fluxbox dot org
d8cd6a92
Fixed bug: use expanded style/theme filename

'filename' might contain a '~' which has to be expanded to work for
regular system calls. We expanded 'filename' already but then did not use
it. Fixes bug #3576586.
Mathias Gumz akira at fluxbox dot org
637381dd
Updated Changelog

I removed references to file changes as well, 'git log' works pretty well for
people who want to find out more about the history of files.

I also formatted old entries to have a consistent style all over the file.
Mathias Gumz akira at fluxbox dot org
b178bed6
Simplified 'configure' / build system

* reduced duplicated auto-code
* renamed '--enable-newwmspec' to '--enable-ewmh'
* don't compile 'Slit'-code when '--disable-slit'
* use AS_IF() in configure.in
* use AS_HELP_STRING() instead of obsolete AC_HELP_STRING in configure.in
* removed redundant calls to 'imlib2-config' to fill in $IMLIB2_CFLAGS
  and $IMLIB2_LIBS, AC_PATH_GENERIC() does that out of the box already
Mathias Gumz akira at fluxbox dot org
7e374fce
removed empty file
Mathias Gumz akira at fluxbox dot org
24541caf
Fixed lost focus glitch on multihead-ws-warping
Hendrik Iben mikro@zvxeb.de
e65a966d
Added option for focus revert to stay on current head
Hendrik Iben mikro@zvxeb.de
b4534e0f
Rewrite of FbTk::TextureRender

* much more readable and easier to read code
* smaller code
* reduced binary size due to removed big lookup-table for square root
* simple 'optimizations (lookup tables, packing of data), nothing too fancy
Mathias Gumz akira at fluxbox dot org
2e663cb7
Added 'OnTab' highlighting in vim
Mathias Gumz akira at fluxbox dot org
acd5e07c
Added documentation for 'OnTab'
Mathias Gumz akira at fluxbox dot org
5c5ad628
Adds the OnTab keyword for the keys file

Adding the following lines to the keys file restore the old behaviour to
use Mouse2 on tabs to start tabbing, and keep OnTitlebar Mouse2 to lower
the window.

OnTab Mouse2 :StartTabbing
OnTab Move1 :StartMoving

Note: Internal tabs are triggering both OnTab and OnTitlebar events.
Julien Viard de Galbert julien@vdg.blogsite.org
e8f2e964
minor cosmetic
Mathias Gumz akira at fluxbox dot org
391712b9
Add support for nearest corner or edge resizing
Michael Abbott michael@araneidae.co.uk
7b6ab828
Improved vertical alignment of text in FbTk::TextButton

The old formula for vertical align text inside FbTk::TextButton ('height/2 +
font_ascent/2 - 1') produced not always good looking results, escpecially
when different fonts are involved (eg, ClockTool and WorkspaceName have
different fonts and font-sizes).

'(height - font_ascent) / 2 - 1' produces better results.

Additional changes:

* added ASCII-Art to document the involved entities when calculating the
  baseline
* rewritten tests/testFont.cc to accept multiples texts and multiple
  fonts
* removed some internal parts of FbTk::Font from the public interface
Mathias Gumz akira at fluxbox dot org
032a23d1
removed duplicate function signature for FbTk::StringUtil::extractNumber()
Mathias Gumz akira at fluxbox dot org
e512c1be
minor cosmetic
Mathias Gumz akira at fluxbox dot org
2f279e96
Fix regression: switch back to microseconds for DelayCmd
Mathias Gumz akira at fluxbox dot org
59d097bc
Fix bug: (re)setting timeouts on a running FbTk::Timer might lead to broken timer list

Setting a new timeout on a running FbTk::Timer must remove it from the timerlist,
otherwise the list is not ordered correctly anymore. So, we stop the running
FbTk::Timer, set the new timeout and restart it.
Mathias Gumz akira at fluxbox dot org
541c8c40
changed timing functions to use a monotonic increasing clock

gettimeofday() is subject to be changed on daylight-saving or to ntp-related
(think leap-seconds). even worse, it is subject to be changed BACK in time. this
is hard to fix correctly (see commit 45726d3016e and bug #3560509). it is
irrelevant for timers to know the nano-seconds since the epoch anyways.
Mathias Gumz akira at fluxbox dot org
60a53113
fix sanity check for transient and explicitly placed windows

When a screen has more heads and some part of the screen is not on any
head and some window is placed into this invisible area then the window
is invisible which sucks. This patch repositions such windows so that
they are visible.
Example:
* head 1 is at (0,120) (size 640x480)
* head 2 is at (480,0) (size 800x600)
* whole screen virtual size is 1440x600
* that means rectangle from (0,0) to (640,120) is not visible on any head
  and any windows placed there would not be visible; for example wireshark
  likes to place dialog boxes at (0,0)
Peter Hercek hercek@users.sourceforge.net
71f75c70
Add menu.hilite.font and menu.hilite.justify style resources
Vladimir A. Pavlov pv4@bk.ru
9d25ea54
FbTk/ThemeItems.cc: move loading additional font resources to load()

The same logic had been already implemented for texture resources.
Vladimir A. Pavlov pv4@bk.ru
8c50e81e
FbTk/ThemeItems.cc: don't use style resources in ThemeItem<Font>::setDefaultValue()
Vladimir A. Pavlov pv4@bk.ru
a076bdcb
merge
Mathias Gumz akira at fluxbox dot org
9a28a8bf
rephrased documentation about font effects
Mathias Gumz akira at fluxbox dot org
940fbca3
removed 'always-true' expression
Paul Tagliamonte paultag@fluxbox.org
e6a01dca
use the 'z' modifier for printing 'size_t' like variables
Paul Tagliamonte paultag@fluxbox.org
56af5a16
Bugfix: Don't draw the interlace lines 1px too far
Mathias Gumz akira at fluxbox dot org
7b6dc2ad
Allow percentage values for some Window commands
Lajos Koszti ajnasz@ajnasz.hu
5d56046b
FocusableList.cc,.hh: Pass string arguments by const reference.

Found by cppcheck
Ryan Pavlik rpavlik@iastate.edu
85596c1e
FbTk/XrmDatabaseHelper.hh: operator== can be const.

Found with cppcheck.
Ryan Pavlik rpavlik@iastate.edu
d70bdbe6
Check .empty() instead of .size() == 0

Found with cppcheck.
Ryan Pavlik rpavlik@iastate.edu
5ae8bdf4
Pre-increment non-primitive types.

Found with cppcheck:
"Prefix ++/-- operators should be preferred for non-primitive
types. Pre-increment/decrement can be more efficient than
post-increment/decrement. Post-increment/decrement usually
involves keeping a copy of the previous value around and adds
a little extra code."
Ryan Pavlik rpavlik@iastate.edu
f859e78c
Exceptions should be caught by reference.

Found using cppcheck.
Ryan Pavlik rpavlik@iastate.edu
db08329d
Add mwm _MOTIF_WM_INFO atom to advertise mwm hints capability

Applications like urxvt look for the _MOTIF_WM_INFO atom in order
 to know if the window manager implements mwm hints. If this atom
 is not found, then urxvt sets override_redirect when started with
 the borderless option and falls out of the control of Fluxbox.
Daniel Diaz dydyman@gmail.com
0f994dbb
No need to check if a pointer is null before de-allocating it.

  5.3.5/2 of the C++ standard:

  "In either alternative, if the value of the operand of delete is the null
   pointer the operation has no effect."
Paul Tagliamonte paultag@fluxbox.org
a2cf6fff
changed encoding of nls/it_IT/Translation.m to latin1
skizzhg skizzhg@gmx.com
2223c879
moved meta-information around a little bit
Mathias Gumz akira at fluxbox dot org
aabf32a1
README: Add information on cross-compiling for Windows
Ryan Pavlik rpavlik@iastate.edu
ea5f7b56
src/Makefile.am,FbTk/StringUtil.cc: Search relative to the executable.

On Windows, prepend /DUMMYPREFIX to default paths, and replace it at
runtime with the prefix relative to the exe directory.
Ryan Pavlik rpavlik@iastate.edu
65cb53b6
FbTk/StringUtil.cc: Don't return mid-routine.

Prep for Windows dummy prefix code.
Ryan Pavlik rpavlik@iastate.edu
25d04827
main.cc,FbTk/StringUtil.cc: On windows, use USERPROFILE instead of HOME
Ryan Pavlik rpavlik@iastate.edu
f77f5d46
util/Makefile.am,fluxbox-generate_menu.in: use EXEEXT

Needed to allow mingw-cross-env cross build
Ryan Pavlik rpavlik@iastate.edu
5cb7326d
fluxbox-update_configs.cc: Fix on windows - no kill or sigusr2
Ryan Pavlik rpavlik@iastate.edu
3ca61475
FbRun.cc: Fix on windows where there is no fork
Ryan Pavlik rpavlik@iastate.edu
b82999c1
FbTk/FbString.cc,Font.cc: Windows doesn't have nl_langinfo
Ryan Pavlik rpavlik@iastate.edu
d4f682c7
FbCommands.cc: Implement ExecuteCmd for Windows
Ryan Pavlik rpavlik@iastate.edu
4ded38f4
configure.in: Windows requires a library to link for catgets
Ryan Pavlik rpavlik@iastate.edu
f922d2d8
main.cc: Add a wrapper for two-argument mkdir on Windows
Ryan Pavlik rpavlik@iastate.edu
42f64755
fluxbox.cc: ifdef the signals windows doesn't have.
Ryan Pavlik rpavlik@iastate.edu
b0779c41
FbTk/Timer.cc: Check HAVE_SYS_SELECT_H, add alternate for windows
Ryan Pavlik rpavlik@iastate.edu
5bf23bb0
Merge branches 'fix-out-of-range-memory', 'obey-configure' and 'other-improvements' into windows-mingw
Ryan Pavlik rpavlik@iastate.edu
757f7803
FbTk/StringUtil.cc: Fix out-of-range memory access.

if pos is not npos, it will always be less than filename.size().
However, the access later is only safe if there is a character
after pos, which would require pos + 1 to be less than filename.size.
Ryan Pavlik rpavlik@iastate.edu
1ba4fbe8
Prepare 1.3.2 release
Mathias Gumz akira at fluxbox dot org
05d3c557
Proofreading nls/it_IT/Translation.m and added_myself to translators.txt
skizzhg skizzhg@gmx.com
fe0eda27
bugfix: use the imlib cache for every imlib context used

calling imlib_set_cache_size() before a context is created by fluxbox creates
an 'unknown' context. that one is never freed at shutdown.
Mathias Gumz akira at fluxbox dot org
a545ddef
clean up imlib2 loaders at shutdown
Mathias Gumz akira at fluxbox dot org
2628a0a4
clean up resources on shutdown
Mathias Gumz akira at fluxbox dot org
3fa30a4c
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
dc18666e
small code simplification
Mathias Gumz akira at fluxbox dot org
ee34b376
Bugfix: clean up static resources correctly

93924af160ea303c94a2576b0e57a04e94c9228c might corrupt memory with gcc-4.6.1 when
finishing fluxbox (clicking 'exit', sending it a SIGINT). Allthough the order, in which static / global
objects are initialized is undefined (at least between separate compilation units), the order in
which they are destroyed is well defined: in reverse order of initialization.

this means, that if 'ScreenImlibContextContainer contexts' (of ImageImlib2.cc)
gets initialized AFTER 'ImageImlib2 imlib2_loader' of Image.cc, it gets destroyed before
imlib2_loader. When that happens, ~ImageImlib2() works on a destroyed object.

(That lead to '* glibc detected * fluxbox: corrupted double-linked list: 0x0000000000dd2710 ***'
later on in 'iconv_close')
Mathias Gumz akira at fluxbox dot org
3f76e117
refactored MenuCreator

make public only what needs to be public
Mathias Gumz akira at fluxbox dot org
8dd11efc
cosmetics
Mathias Gumz akira at fluxbox dot org
4f4d5e25
bugfix: fbsetroot needs to use 24bit visuals as well

12f44680dfefde602f3387c6d385f4c5e68990e4 introduced ARGB visuals. if fluxbox
creates 32bit visuals for the container window or the root window: does not work.
Mathias Gumz akira at fluxbox dot org
12f44680
Added support for ARGB visual, patch #3284774

fluxbox now properly displays windows that require ARGB visuals when
an external compositor is running. This was done by creating the
container window with the correct visual and colormap when needed.

Closes #2874629
Gediminas Liktaras gliktaras@gmail.com
b2b65dea
fixed typo in startfluxbox manpage
Mathias Gumz akira at fluxbox dot org
6601d9e5
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
a2558a2b
removed obsolete handler for the gnome-window manager hints

nowadays every app should use the extended window manager hints exclusively.
Mathias Gumz akira at fluxbox dot org
dc6c9c4e
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
2ebb3e88
ignore .build* directories
Mathias Gumz akira at fluxbox dot org
06c0d484
updated it_IT translations
skizzhg skizzhg@gmx.com
52e4dc32
cleaned up master translation file

Mark unused entries with '_OBSOLETE' to help other translators remove
unused entries from 'their' language.

Removed some pure technical translations meant for (copy and paste) error reporting
to developers or to the irc channel anyway. Since english is the common denominator
in bug reporting anyway, having the translated message to retranslate again is pointless.
skizzhg skizzhg@gmx.com
0e1ee496
Fix compilation with intel's compiler

the deleted function was never used, otherwise it would generate an error with other compilers as
well. icc noticed that it was nonsensical even when it wasn't used and complained.
Pavel Labath pavelo@centrum.sk
755787c4
Documentation: fix default values of a couple more resources
Pavel Labath pavelo@centrum.sk
bc667ced
Documentation fix: default value of slit.placement resource was wrong
Pavel Labath pavelo@centrum.sk
2d3c4b38
Documentation mentions nonexisting resource: session.numLayers

so I removed the obsolete line.
Pavel Labath pavelo@centrum.sk
e54bca68
Make sure FocusableList disconnects from signals when it is destroyed
Pavel Labath pavelo@centrum.sk
aa84c952
Enable connecting to const Signals

The idea is that connecting to a signal doesn't change it's state or the state of the object
owning the signal (even though it needs to add the functor to the list for later reference).
Emitting, on the other hand, is usually done as a result of a state change and therefore remains
non-const.

Additional benefit of this arrangement is that objects can export const references to signals to
allow connecting, while keeping the ability to emit to themselves.
Pavel Labath pavelo@centrum.sk
0a42e6ca
Fix VPATH builds with --enable-nls

I needed to add explicit $(srcdir) in Makefiles when referencing to Translation.m.
I also removed generated-*.m files from the tree since they can be easily regenerated (and they
were confusing VPATH logic). They can be added to the distribution tarball later if needed (but
hopefully everyone has iconv).
Pavel Labath pavelo@centrum.sk
3c050c3d
Add explicit ReturnType cast to operator() of FbTk::Slots

without this it wasn't possible to construct a Slot returning void from functors returning some
real value because the compiler would complain about "return statement with a value in a function
returning void".

Theoretically, this may produce some unexpected type conversions, because static_cast is slightly
stronger than implicit cast, but I judge the risk to be negligable (the alternative would be to
provide explicit specializations for slots returning void - too much typing)
Pavel Labath pavelo@centrum.sk
e67b9a6f
Upgrade FbTk::Timer so it can take an arbitrary functor as a parameter
Pavel Labath pavelo@centrum.sk
ae252c62
Rename Signal::connect function taking an already-constructed slot to connectSlot

I do this to avoid compiler ambiguity between the two versions of connect()
Pavel Labath pavelo@centrum.sk
05b5974e
Add comparison operators to FbTk::RefCount

without them, gcc would compare them by converting them to bool first, which is not exactly what
one would expect. Frankly, I'm surprised it even worked without this.
Pavel Labath pavelo@centrum.sk
536a16e6
Use RefCount to store keybindings

I'm doing this because I want to have access to keybindings from lua and for that I need more
flexible ownership semantics.
Pavel Labath pavelo@centrum.sk
d21ceb4a
Remove the assignment operator from a regular pointer to a RefCount

it is too easy too shoot yourself in the foot with it, other smart pointers also don't allow such
assignments. If you do want to assign to a RefCount pointer, use reset().
ps: assignment between two RefCounts remains possible, of course.
Pavel Labath pavelo@centrum.sk
1f34dee9
Remove obsolete code

ps: it was already commented out, I'm just deleting it
Pavel Labath pavelo@centrum.sk
2e75d238
add FbTk::makeRef function, for easier construction of RefCount pointers
Pavel Labath pavelo@centrum.sk
cfcc4d44
FbTk::Timer accepts Slots instead of Commands as the former are more general
Pavel Labath pavelo@centrum.sk
d338e6c0
Signal::connect now also accepts an already-constructed Slot

This way we can use Commands as signal handlers out-of-the-box.
Pavel Labath pavelo@centrum.sk
bca20c5d
Make FbTk::Command inherit from FbTk::Slot

Command offers a subset of functionality and could be completely removed at some point.
Pavel Labath pavelo@centrum.sk
3ad61192
Fix a small bug in BScreen constructor

it was testing for FbWindow.property() == Success, where it should've tested for == true.
Pavel Labath pavelo@centrum.sk
e4157821
Add a reset() function to FbTk::RefCount

to make it's interface more compatible with other smart pointers.
Pavel Labath pavelo@centrum.sk
0f85ade9
Mark FbTk::StringConvertor as NotCopyable
Pavel Labath pavelo@centrum.sk
7bca8445
Prepare the Slot classes to be used independently of Signals

Added some polish around them and, to mark this special occasion, moved them out of the SigImpl
namespace.

PS: This partially reverts commit 0775350fee345e37fb59835dda4d85664346b606, since I had to
reintroduce ReturnType template parameter, because it will be used in other places. But Signal classes
remain without the ReturnType, because I still cannot imagine how would it be used.
Pavel Labath pavelo@centrum.sk
0a40d1ca
Add template copy constructor to FbTk::Refcount

and remove a an "almost" copy constructor (almost, because it takes a non-const reference
parameter) which was useless.
Pavel Labath pavelo@centrum.sk
b9e9eb4e
FbString: fix build without iconv

Commit 690d926 (introduced FbTk::BidiString) broke building without
HAVE_ICONV, because of wrong variable name and use of iconv_t type.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard jacmet@sunsite.dk
f9df3ffe
sync the copied config files to disk before continuing

otherwise a race condition might appear between copying the default
config files to .fluxbox/ and executing 'fluxbox-update_configs'. under
macosx this lead to 'fluxbox hangs'.
Mathias Gumz akira at fluxbox dot org
b104d9e4
Rebuilding the fluxbox docs to change fix a small grammer mistake

 Fluxbox's man page had "allows to", which should actually be something like
 "allows one to".

 The rest of the .ins were rebuilt as a result. No changes otherwise.
Paul Tagliamonte paultag@ubuntu.com
631fd588
Re-licensing the ostrich theme due to issues regarding it's distribution

 CC-BY-NC 3.0 is a great license, but it limits how well we can redistribute
 the theme it's self. This change allows distros (such as Debian) to keep this
 theme in the source.
Sven Michel tenner@fluxbox.org
6c82cd5f
bugfix: do not change workspaces when using NextWindow / PrevWindow buttons in toolbar
Mathias Gumz akira at fluxbox dot org
0708d1e0
regrab ButtonMotionMask as well (needed for 'Move' events in keysfile)
Mathias Gumz akira at fluxbox dot org
ec6df5c3
bugfix: remap keysyms to keycodes after 'MappingNotify', fix #3386257

setxkbmap and xmodmap both might change the keycodes. thus fluxbox needs
to remap the keysyms from the currently loaded keytree to new keycodes
after it received a 'MappingNotify' event.

we do not reload() the keys file because:

* the user might work on it right now
* remap only needed symbols is cheaper than parsing the keysfile anyway
Mathias Gumz akira at fluxbox dot org
7b10649e
Updated styles 'bloe' and 'arch' to look better without xpm-support
Sven Michel tenner@fluxbox.org
1da473ba
Use _NET_WM_ICON from 32bit apps (xfce4-terminal) correctly

The icons coming from _NET_WM_ICON are argb32. fluxbox uses such icons
in entities such as 'clientmenu', 'iconbar', 'titlebar'. These entities
are not related to the depth of the winclient but to fluxbox's default
depth. Using 'winclient.depth()' is a mistake, since fluxbox is unable
to copy pixmaps from 32bit to 24/16/15bit.

It is not necessary either, because fluxbox should extract the argb32 icon
data directly into the pixmap with the correct depth in the first place.

This fixes (reopened) bug #1852693.

Note: The whole icon code in fluxbox is quite messy, lots of copying and
scaling. It might be simpler and fater to just extract the icon when needed
, in just the size that is needed.
Mathias Gumz akira at fluxbox dot org
822c02e9
TextDialog now handles parentrelative labels

Prior to this patch, TextDialog did not handle parentrelative labels;
borrowing code from OSDWindow, now TextDialog properly handles this.

Eventually, I plan to combine the good parts of TextDialog and OSDWindow
into OSDWindow, and then let TextDialog derive from OSDWindow... but for
now, here's the band-aid fix for the issue without the refactorization.
nacitar sevaht nacitar@ubercpp.com
fd6fbb80
TextDialog and ToolTipWindow style rendering bugs fixed

TextDialog windows (such as 'set title', or 'edit clock format') now
properly render their titlebar to match the current style.  Previously,
the titlebar font settings were controlled by window.font.*, and this
became apparent because window.font.effect needed to be set to put
'halo' on the titlebar of these TextDialogs.  However,
window.font.effect controls the effect on the text within the editbox on
these as well, having these set in the same location is far from
desirable.  Specifically because the TextDialog essentially emulates the
titlebar of other windows.  So, after this change, window.font.effect
still controls the text in the editbox, but the titlebar area is themed
as the titlebars of other windows.

Text justification of titlebar and border width, is now respected in
TextDialog.  Also, previously the edit box was sized in an odd way; one
which left part of the window actually undrawn (so you'd get artifacts
from whatever happened to be on the screen in that position when it
opened); this has been addressed.

TextDialogs, rather than going to the center of the entire desktop, now
center on the _current head_, which prevents the awful positioning where
half of the window is on one screen and half is on another.

Lastly, when hovering your mouse over the iconbar button for a window
with a title that's too wide to fit on the button, a tooltip is
displayed.  This tooltip themes itself to match the button, however it
wasn't using the theme properly (similarly to how TextDialog was)... and
as such, also wasn't using the proper font effects.  This has been
addressed just as it was for the TextDialog.
nacitar sevaht nacitar@ubercpp.com
16c90dc1
Make SignalTracker always disconnect itself from Signals

previously, the tracker disconnected itself only when the caller passed withTracker = true to the
leave() function. However, the default value was for the parameter was false.

Non disconnecting from signal when stopping tracking creates very dangerous situation because the
signal still holds a pointer to the tracker. This resulted in a segfault when exiting fluxbox,
because the tracker (FluxboxWindow) got destroyed before the signal (BScreen::focusedWindowSig),
and the signal was using an invalid pointer when it tried to disconnect itself from the tracker.

Instead of setting withTracker to true by default or changing all invocations of leave(), I
decided to make the tracker disconnect itself unconditionally because I could not find a use case
for the opposite behaviour.

PS: This message is in fact longer than the actual commit.
Pavel Labath pavelo@centrum.sk
7525ca9f
Remove all trace of Observers and Subjects

this marks the completion of the transition to FbTk::Signal
Pavel Labath pavelo@centrum.sk
57acca0b
Convert ToolbarItem::resizeSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
79d526b9
Convert Screen::reconfigureSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
e1b0decf
Convert Focusable::attentionSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
2073ae12
Convert FbWinFrame::frameExtentSig to FbTk::Signal

Also, I spotted a potential bug in the code. I marked the place with XXX. Someone should take a
look at that.
Pavel Labath pavelo@centrum.sk
ff49160b
Convert FluxboxWindow::hintSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
6a0280aa
Convert FluxboxWindow::layerSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
e53d14e9
Convert FluxboxWindow::stateSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
ad0951ca
Remove Observers from testSignal.cc
Pavel Labath pavelo@centrum.sk
4f89009c
Convert FluxboxWindow::workspaceSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
ae68b7f7
Convert Focusable::orderSig,addSig,removeSig,resetSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
19ac8e40
Added FbTk::MemFunBind - a functor which binds all arguments of a function
Pavel Labath pavelo@centrum.sk
6cfa0875
Make FbTk::MemFun[12] inherit from std::unary/binary_function

this way, they can be used as inputs to std::bind1st and friends
Pavel Labath pavelo@centrum.sk
2024f258
Make FbTk::MemFun[0-3] use their ResultType parameter

previously they declared the parameter, but ignored the return value of the member function. I've
changed it so they pass the return value, if it is not void. MemFunSelectArg didn't have the
ReturnType template parameter, so I added it for consistency. Since I was already editing the, I
made all the operator()s const.
Pavel Labath pavelo@centrum.sk
129bac1e
Convert Focusable::dieSig to FbTk::Signal
Pavel Labath pavelo@centrum.sk
0775350f
Last round of simplification of Signal/Slot classes

- merged all the common stuff from 0,1,2,3 argument versions into one common base class
- removed ReturnType template parameter as it was instantiated with "void" everywhere and the
  current ignores the return value of the callbacks anyway
Pavel Labath pavelo@centrum.sk
bef2039d
Don't crash when a slot is deregistered in the middle of signal processing

this was possible (and used) with FbTk::Subject, but the implemetation of FbTk::Signal didn't
support it, which made it impossible to continue with conversion.
Pavel Labath pavelo@centrum.sk
144d716a
Simplify Slot.hh

Replace CallbackHolder, FunctorHolder and SlotHolder with a (smaller) set of polymorphic classes.
SignalHolder now stores a (smart) pointer to the class.
Pavel Labath pavelo@centrum.sk
4b476754
Make RefCount<> more sensible

the previous version of operator*() made no sense. E.g., it violated the invariant
(*ptr).foo <=> ptr->foo. The dereferencing operator now returns a reference to the pointed-to
object, rather than a pointer to it.

I also added a bool conversion operator, which can be used in testing the NULL-ness of the
pointer. Anyone wondering if that could be done in a simpler way is encouraged to read
<http://www.artima.com/cppsource/safebool.html>.

And, finally, I removed the mutable flag from the m_data member, since it does not need it.
Pavel Labath pavelo@centrum.sk
fa15400c
Remove the Observer dependency from FbTk::Menu
Pavel Labath pavelo@centrum.sk
f7d7dfd2
Convert FbTk::Theme::reconfigSig and friends to the new Signal system

I removed the const versions of reconfigSig() in the process since FbTk::Signal has no const
methods anyway.
Pavel Labath pavelo@centrum.sk
54230c9a
Simplify FbTk::Signal template classes a bit

basically, i just got rid of Signal[0-3] classes and moved their contents to the appropriate
specialization of FbTk::Signal

also, this fixes the
no matching function for call to 'MemFunIgnoreArgs(FbTk::Signal<void, FbTk::SigImpl::EmptyArg,
FbTk::SigImpl::EmptyArg, FbTk::SigImpl::EmptyArg>&, void (FbTk::SigImpl::Signal0<void>::*)())'
error i had in the following commit.
Pavel Labath pavelo@centrum.sk
d5bd23e4
Fix make install failure with some autotools versions

apparently, some versions of autotools don't know about $(builddir) variable. I replaced it with
".".
Pavel Labath pavelo@centrum.sk
1dacf57d
Can check CARDINAL properties in CLIENT PATTERNS

Introduces a new member function, FbWindow::cardinalProperty()

This change also changes other code that previously used
FbWindow::property() to do the same thing as the new function; this
reduces code duplication.

There are still some bits of code (Ewmh.cc, extractNetWmIcon()) that use
FbWindow::property() to retrieve XA_CARDINAL values, but as the new
method is designed for getting a _single_ property, and that code uses
FbWindow::property() to retrieve the number of values present, and then
grab all of them; it's a different use case.  I opted to not try to make
cardinalProperty() into some monolithic all-purpose cardinal method;
FbWindow::property() works just fine for that.

This change also adds an optional (default=NULL) boolean to
FbWindow::textProperty and friends that allows the caller to determine
whether or not a value was actually retrieved.  This was necessary for
integrating FbWindow::cardinalProperty with the codebase, and it seemed
to fit with FbWindow::textProperty as well.  Prior to this change, if
you got a return value of "", you wouldn't know if you successfully
retrieved the value which happened to be blank, or if you failed to
retrieve the value.  Now, you can pass the address of a boolean if you
so choose in order to differentiate these situations; the same applies
to the new FbWindow::cardinalProperty().
nacitar sevaht nacitar@ubercpp.com
2f166eb4
fluxbox-remote now properly returns exit status

The previous check relied upon the (undocumented) return value of
XChangeProperty to determine the exit status; at least, on my gentoo system,
the function seems to return 1 even when it fails to change the property
due to contrived, and invalid, parameters.  However, setting an error
handler allows proper detection of this case.  So, now the return status
properly indicates whether or not the property was changed (but not
whether fluxbox liked the command!).
nacitar sevaht nacitar@ubercpp.com
de2cca89
Include src/tests in the distribution tarball

and add a configure option for building them (default: off).
This patch fixes an error when configuring the tarball, where configure complained it cannot find
src/tests/Makefile.in.
Pavel Labath pavelo@centrum.sk
127ec08a
Fix "comparison between signed and unsigned" warning
Pavel Labath pavelo@centrum.sk
76184943
Add backup and vim swap files to .gitignore
Pavel Labath pavelo@centrum.sk
55ee0b72
Woops, forgot to add the file.
Pavel Labath pavelo@centrum.sk
38b678e4
Make sure `make distcheck' is successful

- added rmdir commands to uninstall rules of all Makefiles under data/styles
- added \n at the end of files which had none
Pavel Labath pavelo@centrum.sk
be901452
bugfix: do not warp workspaces with only one workspace
Mathias Gumz akira at fluxbox dot org
86c9b100
Fix VPATH builds
Pavel Labath pavelo@centrum.sk
8b6943ab
Fix a couple of "comparison between signed and unsigned" warnings
Pavel Labath pavelo@centrum.sk
1237f832
fixed typo in 'MerleyKay' style, closes #3286430
David Coppa dcoppa@gmail.com
870d4d02
bugfix: use 'unsigned long' to feed XChangeProperty, closes #3285968

old code crashed on sparc64, pid_t seems to be 32bit on that platform.
David Coppa dcoppa@gmail.com
fbf5ce8b
Changed fbsetbg's tips to the new behaviour.
skizzhg skizzhg@gmx.com
a83cedf3
Fix a pair of warnings reported by clang
Pavel Labath pavelo@centrum.sk
91958279
Menu.cc: send debug output to cerr, make the output more sensible
Pavel Labath pavelo@centrum.sk
b1d70e2c
bugfix: return 'height' if container is rotated vertically, closes #3195728

iconbar.iconWidth property was ignored due this bug.
Gediminas Liktaras gliktaras at gmail com
40f8c350
Fix assorted typos in manpages
Pavel Labath pavelo@centrum.sk
906166f4
make XMESSAGE a variable and use it consistently

Previously, gxmessage was getting substituted in one place and not
another.
slakmagik slakmagik@gmail.com
a8583b79
avoid trailing spaces between app and closing }

Add a few lines of code to prevent a few spaces in some menu output.
'{$app $options}' would expand to '{app }' if no options were set.

Also, while scattered throughout, in this particular spot the
unnecessary braces around some of the variables (and not around some
others) and inside flux's braces could be very visually confusing and
lead to editing errors, so removed those.
slakmagik slakmagik@gmail.com
0fbb2cb7
separate functions and main code

Transpose one function from main to the rest of the functions and one
block from the top of the script to the top of main. Add an 'End
functions' comment.
slakmagik slakmagik@gmail.com
2034e5ef
add the configuration file equivalent of '-in'
slakmagik slakmagik@gmail.com
e312f35d
silence cmp

cmp's '-s' flag is POSIX - if it's as portable as that's supposed to
mean, that might be used instead.
slakmagik slakmagik@gmail.com
2790b996
updated turkish translations
Mesutcan Kurt mesutcank at gmail dot com
d28e1050
compile fix: added <cstdlib> to provide declaration for 'size_t' (gcc-4.6.x likes it that way)
Daniel Diaz dydyam at gmail dot com
d4f7f173
compile fix: arguments must match declaration

Sun CC++ 5.11 complaint on linking about missing symbols 'nextWorkspace()',
'prevWorkspace()' etc.
Mathias Gumz akira at fluxbox dot org
745fb8e7
removed useless code
Mathias Gumz akira at fluxbox dot org
010ff6b7
configure fix: sstream test needs math.h, thus we should test math.h before

bubbled up on solaris10, had to install 'math-header'.
Mathias Gumz akira at fluxbox dot org
21022a19
cosmetics
Mathias Gumz akira at fluxbox dot org
9086ccaf
compile fix: sunCC again, wants a compile time constant for arrays
Mathias Gumz akira at fluxbox dot org
e850b019
compile fix: sunCC 5.11 (sunstudio 12) compiles and links again

biggest change: renaming of 'class Layer' to 'class ResourceLayer' in
Layer.hh to handle complaints about 'ambiguous Layer: Layer or FbTk::Layer'.
'ResourceLayer' sounds crappy, but that was the best I could come
up with right now.
Mathias Gumz akira at fluxbox dot org
7ece90ad
merge
Mathias Gumz akira at fluxbox dot org
9f2c3734
code cleanup: moved code from public API to implementation

renamed 'Region' to 'Area' to avoid conflicts with 'Region' from Xlib.
Mathias Gumz akira at fluxbox dot org
97e08c38
bugfix: reposition windows only if they are invisible

changing the layout or the number of the attached monitors
might lead to invisible windows. only those windows should be
positioned to the closest monitor, if they are not visible
already.
Mathias Gumz akira at fluxbox dot org
c200045e
code deduplication: use RectangleUtil::insideBorder()
Mathias Gumz akira at fluxbox dot org
767afd32
prepare BScreen::XineramaHeadInfo to be 'RectangleLike'
Mathias Gumz akira at fluxbox dot org
a798e0e0
added RectangleUtil::overlapRectangles() + test cases
Mathias Gumz akira at fluxbox dot org
cea6887f
updated date of manpages
Mathias Gumz akira at fluxbox dot org
bcae4e25
added tests/testRectangleUtil.cc
Mathias Gumz akira at fluxbox dot org
7658d2c5
fix some escaping problems in the man pages
Mathias Gumz akira at fluxbox dot org
253f13d4
some love to src/tests, use automake to use the same build environment as the rest of fluxbox
Mathias Gumz akira at fluxbox dot org
81b240e9
compile fix for clang, forward declaration of FocusControl was not enough
Mathias Gumz akira at fluxbox dot org
3a3df518
compiler cosmetic: changed return type of ScreenPlacement::placeAndShowMenu() to void, closes #3204402
Mathias Gumz akira at fluxbox dot org
a53017cc
bugfix: do not use anything from the current ClientMenuItem after m_client.focus(), closes #3210493

m_client.focus() might call ~ClientMenuItem(), thus m_client is not available anymore. the crash was triggered by trying to deiconify a client via the clientmenu. this triggers a signal to remove and destroy the current ClientMenuItem.
Mathias Gumz akira at fluxbox dot org
bb2ce5df
fix misordered Toolbar::Placement strings, closes 3195721
Mathias Gumz akira at fluxbox dot org
cd74184e
remove doc/ru reference in configure.in
Mathias Gumz akira at fluxbox dot org
0b3e6a0b
Removed Russian translation of fluxbox(1).

Translation is out of date and may puzzles users.
Slava Semushin php-coder@altlinux.ru
3618a8de
Removed ONLINE DOCUMENTATION section from man pages.

Because link in this section not available now.
Slava Semushin php-coder@altlinux.ru
f44856d9
updated NEWS for 1.3.1, increased version number
Mathias Gumz akira at fluxbox dot org
3eea2760
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
1fe7245f
created manpages
Mathias Gumz akira at fluxbox dot org
0d116b3a
cosmetics
Mathias Gumz akira at fluxbox dot org
d2e7feaa
bugfix: submenus didn't hide if a delay was set

use the FbTk::Timer API correctly, bug(s) introduced by

   1f0adef4daa2da5b08ed7f41e7a0ce1e3f71e46f
   e68511794130388ab9668fdef0dcf48dbbf002fd
Mathias Gumz akira at fluxbox dot org
798ecb88
cache result of getWorkspace()
Mathias Gumz akira at fluxbox dot org
4a161132
better solution for warping transient windows

see #3088856 / 09f99a4674a75a201effdc912d79a28c2dad4225.

at the moment this fix looks side-effect free, time will tell.
Mathias Gumz akira at fluxbox dot org
09f99a46
intermediate fix for segfault when warping transient windows to different workspace, see #3088856

warping a transient window to the next workspace creates a cycle between
BScreen::changeWorkspaceID(), BScreen::reassociateWindow(), Workspace::removeWindow(),
FocusControl::unfocusWindow(), FluxboxWindow::setCurrentClient(), FluxboxWindow::focus()
and so on.

for now we just stop allowing transient windows to be warped, it is most
likely a bad idea anyway having the modal dialog on one workspace and the
(dead) main window on another one.

this issue must be analyzed further, since there might be a deeper problem
with the way the focus code works.
Mathias Gumz akira at fluxbox dot org
35753c7c
fix calculating the width / height of SystemTray (closes #3150939)
Mathias Gumz akira at fluxbox dot org
39871695
SystemTray tool should use the right fallback resource
Mathias Gumz akira at fluxbox dot org
51a64587
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
3c924a25
removed unused headers
Mathias Gumz akira at fluxbox dot org
f0ffaf89
moved Menu placement into ScreenPlacement::placeAndShowMenu()
Mathias Gumz akira at fluxbox dot org
49623390
little helper function 'isTitleVisible()' for FbTk::Menu
Mathias Gumz akira at fluxbox dot org
1bb30855
code deduplication
Mathias Gumz akira at fluxbox dot org
6febc40c
bugfix: place WindowMenu correctly upon first call (closes #2731524)

FbTk::Menu::updateMenu() recalculates the width() and height() of the
window. this must be done before the menu is moved to fit completely
onto the screen.

the 'menu().raise()' command is not needed, that is done inside
'menu().show()' already.
Mathias Gumz akira at fluxbox dot org
9616a676
renamed FbTk::XLayer to FbTk::Layer and FbTk::XLayerItem to FbTk::LayerItem
Mathias Gumz akira at fluxbox dot org
813e6c44
disabled overhead base classes 'FbTk::Layer' and 'FbTk::LayerItem'

had to add <algorithm> at various other files as a result of this change.
Mathias Gumz akira at fluxbox dot org
c859ae39
irrelevant 'virtual' destructor
Mathias Gumz akira at fluxbox dot org
32cc4ba6
code deduplication
Mathias Gumz akira at fluxbox dot org
504fd5c4
updated year and copyright info
Mathias Gumz akira at fluxbox dot org
1797d689
almost 10 years of fluxbox
Mathias Gumz akira at fluxbox dot org
23d67b7f
merged crash fix
Henrik Kinnunen fluxgen at fluxbox dot org
6fb29607
moved rarely used 'cpccpc' out of class declaration
Mathias Gumz akira at fluxbox dot org
4f921f77
don't use hardcoded references to positions in the menu
Mathias Gumz akira at fluxbox dot org
d11aa42a
bugfix: consistent use of 'int' for alpha values (#3187373)

WindowMenuAccessor returned strange alpha values if compiled
with 'g++ -Os'; unholy black magic happens if template<int> faces
functions returning only 'usigned char'.
Mathias Gumz akira at fluxbox dot org
b7e84104
bugfix: render 'sunken' gradients correctly
Mathias Gumz akira at fluxbox dot org
3c7407be
use FbTk::StringUtil API
Mathias Gumz akira at fluxbox dot org
84a81a1a
renamed Texture:DEFAULT_BEVEL to Texture::DEFAULT_LEVEL
Mathias Gumz akira at fluxbox dot org
0569849c
cosmetics
Mathias Gumz akira at fluxbox dot org
78adeb29
Bugfix: don't render textures with dimension of 0

At least 'invertRGB()' does not like 'width' or 'height' being 0.
341b2f43e511e39dd was triggered by this problem as well.
Mathias Gumz akira at fluxbox dot org
92deeba2
Render rectangles instead of squares to test TextureRender.cc
Mathias Gumz akira at fluxbox dot org
3f30cbb2
cosmetic fix in fluxbox-keys
Mathias Gumz akira at fluxbox dot org
14a8a2b4
fbsetbg: improved aspect-ratio-filling for feh (thanks Jeremiah Mahler <jmmahler at gmail com>

Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583704
Jeremiah Mahler jmmahler at gmail com
341b2f43
Fix bug: 'src_image' might be NULL if width||height are 0 (#3188223)

With ROT90-SystemTray fluxbox crashed. It is a bit unclear of where
to catch pixmaps / windows with either width or height equal to 0; IMHO
this needs more investigation.
Mathias Gumz akira at fluxbox dot org
ccb5ef66
fix grammar
Mathias Gumz akira at fluxbox dot org
bf9fb893
Merge branch 'master' of ssh://git.fluxbox.org/fluxbox
Henrik Kinnunen fluxgen at fluxbox dot org
34bf3b48
Fixed a possible crash when using a slot m_holder = 0
Henrik Kinnunen fluxgen at fluxbox dot org
05e64be3
1.3.0 version for configure
Henrik Kinnunen fluxgen at fluxbox dot org
25a39585
readded default style path to init.in
Henrik Kinnunen fluxgen at fluxbox dot org
5dd0faed
updated documentation
Henrik Kinnunen fluxgen at fluxbox dot org
e186c9a4
Updated NEWS
Henrik Kinnunen fluxgen at fluxbox dot org
6deada27
Added 3rd to extra dist
Henrik Kinnunen fluxgen at fluxbox dot org
4614c186
updated pt_BR translations, closes #2940952
Sergio Cipolla secipolla at gmail.com
b6347f4c
added documentation about the 'screen' client-pattern
Mathias Gumz akira at fluxbox dot org
73eda9d3
merge ChangeLog
Mathias Gumz akira at fluxbox dot org
df4c3532
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
fc192b11
allow to override 'FocusNewWindow' via .fluxbox/apps
Peter Hercek hercek@users.sourceforge.net
5f6694ca
bug fix: semantic differences between WinState::Decoration and Remember::save()
Peter Hercek hercek@users.sourceforge.net
83f8f595
build fix: revert e38994ae727a3bc7fa77f45d5bdbb97dffcbd1e5

'xft-config' is deprecated (http://lists.freedesktop.org/archives/xorg-devel/2010-March/006750.html)
and does not exist anymore on 'bleeding edge' versions (gentoo). 'pkg-config'
is the new way of doing things. 'pkg-config --libs xft' does only report
the libs needed and the linker finds out other dependencies on its own. currently,
'pkg-config' (version 0.25) reports only '-lXft'.

if the user wants for example LDFLAGS="-fuse-ld=gold --no-add-needed" then
all the needed libs must be produced, otherwise linkage fails. at the moment
it seems that fluxbox calls 'XftMatrixRotate()' and 'XftPatternAddMatrix()'
which both seems to trigger the need for 'fontconfig':

   undefined reference to 'FcMatrixRotate'
   undefined reference to 'FcPatternAddMatrix'

is 'pkg-config --libs xft' reporting to few libs? in comparison to
'xft-config --libs' for sure. bug? feature? i am not sure. there are
several ways to address this issue:

* append the needed libs manually via LIBS or LDFLAGS

  env LIBS="-lfontconfig" ./configure

* change build-system of fluxbox to do something like

   pkg-config --print-requires-private 'xft' 2> /dev/null || echo xft)`

(pkg-config version < 0.2x does not have --print-requires-private, which
 then leads to not print out all libs needed, which would then require
 a fallback to xft-config since an older system anyways, evidence is
 old pkg-config)

* changing build-system of fluxbox to use something like:

  pkg-config --static --libs xft

(which reports really all libs, even more than actually needed, check out
  http://osdir.com/ml/debian-bugs-closed/2011-01/msg01112.html)

* fix 'pkg-config' (or the related xft.pc) to report '-lXft -lfontconfig'
(not our code, but preferable)

* use 'pkg-config --libs xft fontconfig' since we know that calling the
xft functions requires linking against 'fontconfig' as well:

  pkg-config --libs xft fontconfig

which is what we use to get rid of the build-errors
Mathias Gumz akira at fluxbox dot org
dd601410
fix missing ')' introduced by e38994ae, the rest is cosmetical
Mathias Gumz akira at fluxbox dot org
ae3652eb
updated 3rd/vim/fluxkeys.vim
Mathias Gumz akira at fluxbox dot org
301a5bcd
added little helper to create vimballs
Mathias Gumz akira at fluxbox dot org
f3822047
added 'ArrangeWindowsHorizontal' 'ArrangeWindowsVertical' to 3rd/vim/syntax/fluxkeys.vim
Mathias Gumz akira at fluxbox dot org
bb94b3e9
updated the AUTHOR file
Mathias Gumz akira at fluxbox dot org
8662da17
added 3rd/ party stuff, vim related files for now
Mathias Gumz akira at fluxbox dot org
e38994ae
build fix: use 'xft-config' instead of 'pkg-config' to use the right libs

when linking with binutils-gold and --no-add-needed it is not enough to
just use -lXft but it must be -lXft -fontconfig (and some more). since we
use 'pkg-config --libs' to find out about the needed flags and 'pkg-config'
only returns -lXft (except by using

   pkg-config --libs `pkg-config --print-requires-private xft`

) we switched to 'xft-config --libs' which gives us the complete list of
all needed libs.

the issue was brought to attention by

   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=554386

but the proposed fix was just quick and dirty.
Mathias Gumz akira at fluxbox dot org
e868ff59
bug fix: make fluxbox work under nxserver, closes #2813828

nxserver-3.x creates a XExposeEvent for the unmapped FbTk::Menu(), which is
not configured completely yet (hence unmapped). this causes a call to
FbTk::Menu::clearItem() which then uses a value of 0 for m_rows_per_column
to divide the current index which triggers a SIGFPE.

it is still unclear, why nxserver-3.x creates the XExposeEvent for the
unmapped (menu) window. doing nothing if the menu is unmapped 'fixes'
the problem for now.

many thanks to Lars Engels (bsd-geek.de) to assist me in debugging this
issue.
Mathias Gumz akira at fluxbox dot org
7f6d03e7
compile fix, new name of setMinimumSublevels() is setMinimumColumns()
Mathias Gumz akira at fluxbox dot org
cc277487
removed useless include statements

'typeinfo' was needed for RTTI in isItemSelectable() (see last commit)
'algorithm' is already included some lines above
Mathias Gumz akira at fluxbox dot org
1f0adef4
better use of API, no need for 'timeval' in Menu
Mathias Gumz akira at fluxbox dot org
05a52116
MenuItem::isEnabled() is sufficient to decide Menu::isItemSelectable()

MenuSeparator is never enabled since it returns always 'false' in its
implementation of isEnabled(). no need to use RTTI imho.
Mathias Gumz akira at fluxbox dot org
bb480030
small refactoring of FbTk/Menu code

* removed useless struct _menu
* code deduplication via renderMenuPixmap()
* improved documentation:
   - 'sublevel' actually means 'column'
   - 'persub' means 'row_per_column'
Mathias Gumz akira at fluxbox dot org
accb8c3f
compile fix: missing symbol (SystemTray::getNetSystemTray()) when configured --disable-toolbar
Mathias Gumz akira at fluxbox dot org
9e17a0d6
updated Changelog
Mathias Gumz akira at fluxbox dot org
e8ce9ed3
bugfix: do not assume ':number.screen' as the result of 'DisplayString()'

a newer xlib recently changed the result of 'DisplayString()' a little bit:
instead of returning ':0.0' or ':1.0' it yields ':0' or ':1'. our code to
transform this string into something that includes the currently used
Screen worked only on something like ':0.0'.

we now find the '.' after the ':' and strip that part away.
Mathias Gumz akira at fluxbox dot org
e2d52a39
bugfix: std::string() does not like NULL on construction

not having DISPLAY set (eg: on a headless system) caused fluxbox to crash.
Mathias Gumz akira at fluxbox dot org
650b6f84
use 'system()' to run 'fluxbox-update_configs'

by using FbCommands::ExecureCmd() we run 'fluxbox-update_configs' in
the bacground while booting a new fluxbox instance already. 'system()'
waits until 'fluxbox-update_configs' is done and then gives the control
back to fluxbox.
Mathias Gumz akira at fluxbox dot org
78b09ee9
updated 'texturetest.cc' to work with current API
Mathias Gumz akira at fluxbox dot org
ae7a54a4
bugfix: ' floating point exception' due wrongly placed code

while integrating the old 'getSqrt()' function into the 'bsqrt()'
function i misplaced some code. this lead to 'r' being 0 on the
first run. doh.
Mathias Gumz akira at fluxbox dot org
b530c140
upgrade default 'init' file to reflect current configVersion
Mathias Gumz akira at fluxbox dot org
ac4e11fe
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
375c9324
merged conflicts
Mathias Gumz akira at fluxbox dot org
e0c440f5
pushed to early ...
Mathias Gumz akira at fluxbox dot org
0ef76292
changed the way we create the '~/.fluxbox' directory to avoid race conditions

before bringing up the first instance of Fluxbox we prepare the directory
and the files it needs. if the config version of exiting files is lower
than what we expect, we upgrade the config files. after that we bring
up Fluxbox.

the old way was problematic because setupConfigFiles() calls
'fluxbox-update_configs' which does its job in the background while
fluxbox continues to boot. 'fluxbox-update_configs' sends a USR2 signal
to the booting fluxbox (it might even be finished, no one knows) which
triggers 'load_rc()' which triggered 'setupConfigFiles()' again which
might trigger 'fluxbox-update_configs' again (on my machine
'fluxbox-update_configs' was called 3 times and left a pretty crippled
'keys' file when it was done).

bootstrapping before bringing up fluxbox resolves the issue. as a bonus:
no need to send USR2 to fluxbox to reload the config file because fluxbox
has not even tried to read it yet.
Mathias Gumz akira at fluxbox dot org
c9c741c8
cosmetic
Mathias Gumz akira at fluxbox dot org
9cf312fc
recovered lost change from 041d586972db4da170123f5468d7b11d4eda8ae5

got lost in d3eabeb805fdbd162c0743ed86a67e014e37c097 somehow
Mathias Gumz akira at fluxbox dot org
87b45bd0
bugfix: avoid naive use of 'putenv' by providing 'FbTk::App::setenv()'

to quote from 'man putenv':

   The string pointed to by string becomes part of the environment,
   so altering the string changes the environment.

so, using putenv like

   {
      std::string foo("FOO=bar");
      putenv(foo.c_str());
   }

is wrong and leads to a potentially corrupted environment. valgrind
complaint correctly.

FbTk::App seems to be the appropriate place to hold '::seten()'
because it alters the environment of the application.
Mathias Gumz akira at fluxbox dot org
f3ad09c4
missing initializations

'valgrind' reported a lot of code branches based upon uninitialized
variables. some are not identified yet.
Mathias Gumz akira at fluxbox dot org
87cffef7
request explicitly as many elements for the gradient tables as we need

the next step is to not use 'unsigned int' and then only store 'chars'
in it, maybe even using RGBA data instead of separated arrays for
r, g and b.
Mathias Gumz akira at fluxbox dot org
786eef6e
bugfix: forgot to resize 'pixels' before putting values into it (facepalm)
Mathias Gumz akira at fluxbox dot org
f1f7bebf
added 'ArrangeWindowsVertical' to actions
John K Pate j.k.pate at sms.ed.ac.uk
d3eabeb8
moved commandline parsing to its own function
Mathias Gumz akira at fluxbox dot org
e84c64f7
lots of code cleanup, reordering, trimming public API, bugfixes

## FbTk/ImageControl.hh:

* moved 'getSqrt()' over to TextureRender.cc because it is used only there
* removed unused members m_root_window
* use std::vector<> for colors and for the gradient buffers.

## FbTk/ImageControl.cc:

* fixed memory leak in '~ImageControl', 'pixels' where not deleted[]
  at all. switched to std::vector, non-issue anymore.
* moved identical code into functions 'allocateUnallocatedColors', 'initColortables'

## FbTk/TextureRenderer:

* removed 'from', 'to', 'interlaced' from class, only used in
  'renderGradient()' and are actually part of the given
  texture.
* removed 'xtable', 'ytable' from class, only used in
  'renderGradient()'
* removed 'colors' from the class, is part of 'control'
* moved render actions (invert, bevel1, bevel2, *gradient), they need more
  love but for now this is sufficient
Mathias Gumz akira at fluxbox dot org
603b36a2
use FbTk::API to reduce code duplication
Mathias Gumz akira at fluxbox dot org
041d5869
code simplification by reducing if-else hell

a lot of the parsing-related and menu-building stuff is just plain
stupid boiler plate code. putting the data into a const array
separates the boiler plate data from the actual code.
Mathias Gumz akira at fluxbox dot org
0b1f1608
use hardcoded array for hardcoded placement menu defaults
Mathias Gumz akira at fluxbox dot org
61bf5647
removed useless code

'tools' is transformed to lower case some lines above,
'm_tools_ is a copy of the lower cased 'tools'.
Mathias Gumz akira at fluxbox dot org
0beda162
code deduplication by using <algorithm> and FbTk/STLUtil.hh
Mathias Gumz akira at fluxbox dot org
12e1ef78
code deduplication by using <algorithm> and FbTk/STLUtil.hh
Mathias Gumz akira at fluxbox dot org
ba316aa1
code cleanup, missing commit for 2b62cf973318978bc222db7719552148275887db
Mathias Gumz akira at fluxbox dot org
52f614b5
bugfix: 'reset' nr_shapes to '0' after last instance of 'Shape'
Mathias Gumz akira at fluxbox dot org
2b62cf97
cleanup and code deduplication

* ClientPattern.cc: make compiler happy (complaints about XPROP not handled in switch)
* FbTk/FbPixmap.cc FbTk/StringUtil.cc: signed vs unsigned
* FbTk/FbString.cc: missing return
* WinClient.cc: create atoms only once; use helper function
* Window.cc: use a helper function
Mathias Gumz akira at fluxbox dot org
c6047e9e
use one array instead of two to hold both 'names' and 'atoms' for the rootwindow
Mathias Gumz akira at fluxbox dot org
f39bcbd9
bugfix: create the corner pixmaps only once per screen

for each window (windows, menue etc) the initCorners() function of
FbTk/Shape.cc was called (which is ok). On each call the corner pixmaps
(of the Screen the window belongs to) were created and destroyed the
formerly created pixmaps. this is not needed.
Mathias Gumz akira at fluxbox dot org
75b9a4ed
bugfix: free the shape-corners on the last used 'Shape'

the global 's_corners' vector was still used on an application shutdown
(including ctrl-c SIGINT). depending on when 's_corners' was created on
the stack this could lead to an exception ('pure virtual called') while
trying to free the 'FbPixmaps' without having a valid
'FbTk::Application::instance()' left.
Mathias Gumz akira at fluxbox dot org
36893ac7
bugfix: small typo in last cleanup prevented loading workspace names
Mathias Gumz akira at fluxbox dot org
b10d5858
cosmetic code cleaning

* use FbTk::StringUtil::number2String() to avoid 'sprintf'
* use FbTk::Util::clamp()
* use FbTk::STLUtil::destroyAndClear()
* whitespaces
Mathias Gumz akira at fluxbox dot org
deb6a1eb
code simplification

we do not need a std::map just to store an attribute on an AtomHandler,
it makes housekeeping just more annoying.
Mathias Gumz akira at fluxbox dot org
f6af17aa
code simplification
Mathias Gumz akira at fluxbox dot org
24e4e98d
updated config version to '13' and adjusted 'fluxbox-update_configs' accordingly

our users should migrate seamlessly to our new windows-cycling behaviour
without losing their current way of doing things. so, 'fluxbox-update_configs'
tries its best to add '(workspace=[current])' wherever it looks like a valid
place for it. such changed lines are marked by '!! FBCV13' at the end and can
be easily spotted in case the updater got it wrong.

addtional changes:

* added '-check' to 'fluxbox-update_configs' to check the version number in
  '~/.fluxbox/init' vs. the version number of 'fluxbox-update_configs'

* moved the update-code for each version into its own function, easier
  housekeeping
Mathias Gumz akira at fluxbox dot org
51f054e7
added '(workspace=[current])' to our default keys

commit 882a50fe1d4930b156965c54d9b66ecb27b4c9b2 removed the hardcoded limit to
cycle to windows on other workspaces, though it was and IS a good default
behaviour. if users do not want this (they want to cycle to windows on other
workspaces), they should explicitly avoid '(workspace=[current])' in their
keysfile.
Mathias Gumz akira at fluxbox dot org
faa4c978
added 'SetXProp' action and (@PROP=foo) clientpattern

these two allow 'tagging' of arbitrary windows with 'tags' (or 'labels'). such 'tagged' windows can then be used in ':NextWindow (@PROP=foo)' commands to quickly cycle through a subset of available windows.
since the 'tags' are applied as real xproperties to a window they survive a restart of fluxbox or even another windowmanager. the user can also set the tags by using xprop(1).

the next step regarding the UI should be to visualize the tags of a window.
Mathias Gumz akira at fluxbox dot org
4e2c7e21
moved helper struct TextPropPtr into anonymous namespace
Mathias Gumz akira at fluxbox dot org
a6ed9498
code cleanup

* moved code from public API to internals
* avoid code duplication ( while(!m_terms.empty()) ...)
* cosmetic '(*it)->' vs 'term.'
Mathias Gumz akira at fluxbox dot org
882a50fe
removed hardcoded limitation to cycle/focus windows on all workspaces

reasons:

* fixes #1732115, allows to have chatwindows on another workspaces and reach them via :NextWindow (urgent=yes)
* old behavior can be achieve by using the (workspace=[current]) pattern
Mathias Gumz akira at fluxbox dot org
8a7c1171
disabled potentially dead code
Mathias Gumz akira at fluxbox dot org
ecdaba28
simpler code
Mathias Gumz akira at fluxbox dot org
ffd5f280
removed dead code
Mathias Gumz akira at fluxbox dot org
7fdb0676
bugfix: initialize the Shape of a menu AFTER we created the window for the menu

on startup a lot of 'Fluxbox: X Error: BadDrawable (invalid Pixmap ...)' occured.
this was caused by using an empty 'Window' to create the shape.
Mathias Gumz akira at fluxbox dot org
2b9a38cb
minor cleanup
Mathias Gumz akira at fluxbox dot org
534db1d4
reduced 'switch/case' and 'else if' hell a little bit
Mathias Gumz akira at fluxbox dot org
77f39235
added FbTk::Util::clamp() and simplified related code
Mathias Gumz akira at fluxbox dot org
16573749
use FbTk apis instead of raw xlib calls
Mathias Gumz akira at fluxbox dot org
e6851179
simpler to use FbTk/Timer api
Mathias Gumz akira at fluxbox dot org
82d0de9e
cosmetic
Mathias Gumz akira at fluxbox dot org
8a08110f
simpler way of expressing 'Singleton' for 'FbAtoms'
Mathias Gumz akira at fluxbox dot org
dc5a105c
fixed code duplication
Mathias Gumz akira at fluxbox dot org
7a149626
improved 'escapeRememberChars()' routine by traversing the string only once

removed obsolete 'getuint()' function
Mathias Gumz akira at fluxbox dot org
48cc6796
avoid code duplication
Mathias Gumz akira at fluxbox dot org
b76be982
improved extract*Number functions from FbTk/StringUtil.cc
Mathias Gumz akira at fluxbox dot org
6ecfa0ef
cosmetic fix: looks like a copyNpaste issue
Mathias Gumz akira at fluxbox dot org
26c1cd0c
code simplification
Mathias Gumz akira at fluxbox dot org
08bd29d0
updated ChangeLog
Mathias Gumz akira at fluxbox dot org
f4fab105
avoid code duplication
Mathias Gumz akira at fluxbox dot org
64afa48b
removed unused code
Mathias Gumz akira at fluxbox dot org
690d926a
introduced FbTk::BidiString

a 'BidiString' holds both the logical content and the visual reordered
version of the content of a string. this helps to reduce the number of
calls to reorder the string before drawing it (as introduced in the patch
from Ken Bloom) and to be more consistent in menus and textboxes (drawing
cursors and underlining text).
Mathias Gumz akira at fluxbox dot org
1e8fe2bc
removed redundant if-statement
Mathias Gumz akira at fluxbox dot org
df2f51b7
updated 'Changelog'
Mathias Gumz akira at fluxbox dot org
8feb0b8c
avoid constructing new strings implicit
Mathias Gumz akira at fluxbox dot org
83656fc0
cosmetic
Mathias Gumz akira at fluxbox dot org
63f9c8c1
reuse temporary memory for reencoding / reordering fribidi-strings
Mathias Gumz akira at fluxbox dot org
60c92b96
added info about 'BIDI' support to 'fluxbox -info'
Mathias Gumz akira at fluxbox dot org
ea98db41
added support for bidirectional text
Ken Bloom kbloom at gmail com
b1b2f47e
minor code simplification
Mathias Gumz akira at fluxbox dot org
1e9dafdc
fixed the default 'OnTitlebar Mouse1' actions
Mathias Gumz akira at fluxbox dot org
b8987fc6
code simplification / deduplication

* parse the string only once for a bunch of chars to check instead of
  starting over again and again from the beginning, created a helper
  function to do this (FbTk::StringUtil::findCharFromAlphabetAfterTrigger)

* put same code into a function (setClockModeLabel())

* use much simpler code to switch between 12h and 24h mode and replace
  the fmt-switches
Mathias Gumz akira at fluxbox dot org
874eb672
moved knowledge about '_NET_SYSTEM_TRAY_S' into the 'SystemTray' class
Mathias Gumz akira at fluxbox dot org
a1385e40
fixed compiler warning 'comparison between signed and unsigned integer expressions'
Mathias Gumz akira at fluxbox dot org
e23c2c4d
reenable clickRaise(), but on any button press if no key-action was found
Mathias Gumz akira at fluxbox dot org
33dea858
fixed spelling
Mathias Gumz akira at fluxbox dot org
23f56d10
bugfix: compiler warning
Mathias Gumz akira at fluxbox dot org
442c651d
fixed compiler warnings regarding signed/unsigned and () around expressions
Mathias Gumz akira at fluxbox dot org
81d9a28b
updated Changelog
Mathias Gumz akira at fluxbox dot org
bc2b2154
implemented 'ActivateTab' action to (re)allow activation of tabs via mouse
Mathias Gumz akira at fluxbox dot org
b4e65724
fixed typo
Mathias Gumz akira at fluxbox dot org
baef39e6
added more needed bindings to the default 'keys' file to mimic old behavior
Mathias Gumz akira at fluxbox dot org
75851ace
Restoring our own custom INSTALL file

While automake *can* generate a generic version of this file for us, we don't
want it!
Jim Ramsay i.am@jimramsay.com
bf0d2565
Removing more autoconf-generated files

There is no need to keep INSTALL, install-sh, ltconfig, mkinstalldirs in git, as
they can be created by 'automake -a -c' as needed.

In fact, it turns out ltconfig and mkinstalldirs are not needed at all any more.
Jim Ramsay i.am@jimramsay.com
0cc08f90
Merging from upstream tar bzip
Paul Tagliamonte paultag@ubuntu.com
f58e8226
Moving themes in the git branch from 2.5 to 3 to match tenr's site.
Paul Tagliamonte paultag@ubuntu.com
a3b06329
bugfix: another crash when cleaning up signals

While 769130f51a8f did fix one issue, it introduced another by changing the
logic related to the new SignalTracker.  The original logic (introduced in
9ad388c5bf16) was:
  -> in 'leave(Signal)', only call 'disconnect'
  -> in 'leaveAll()', call 'disconnect' and 'disconnectTracker'
But 769130f51a8f inverted this, calling 'disconnectTracker' in both cases but
only 'disconnect' in the 'leaveAll()' case, which would leave unattached signals
around after calling 'leave(Signal)'.

This fix not only repairs the logic, but renames the ambiguous 'disconnect'
boolean to something more explicit: 'withTracker'.
Jim Ramsay i.am@jimramsay.com
3578d147
Updating ChangeLog for StrictMouseFocus change
Jim Ramsay jim.ramsay@motorola.com
37a24132
Implement StrictMouseFocus

As noted in the previous commit, StrictMouseFocus now works as advertised:
  Focus follows mouse on every EnterNotify event (except when the "ClientMenu"
  closes or during alt+tab window cycling)
Jim Ramsay jim.ramsay@motorola.com
cdbaf5c0
Add new focus model: StrictMouseFocus

This is not actually implemented yet, but from now on, "MouseFocus" means:
  Focus follows mouse only when you are moving the mouse, any EnterNotify events
  caused by non-mouse operations (window closing, keycommands, changing
  desktops) will *not* shift focus

And once fully-implemented, "StrictMouseFocus" will mean:
  Focus follows mouse on every EnterNotify event (except when the "ClientMenu"
  closes or during alt+tab window cycling)
Jim Ramsay jim.ramsay@motorola.com
769130f5
bugfix: do not use invalid iterators while looping thru a container which gets destroyed
Mathias Gumz akira at fluxbox dot org
fbcdd34b
mostly cosmetic fixes, mainly discovered by 'clang --analyze'

reordering of Resource-related stuff was because of

   "error: explicit specialization of 'getString' after instantiation"

complaints.
Mathias Gumz akira at fluxbox dot org
ff9c68e2
fixed potential memory leak
Mathias Gumz akira at fluxbox dot org
17b21635
cleanup created corner pixmaps, moved the initCorners() function out of the class
Mathias Gumz akira at fluxbox dot org
04739b2d
initialize all member variables, otherwise unclean state in some circumstances

(valgrind complained a lot about ::updateGeometry() accessing uninitialized variables)
Mathias Gumz akira at fluxbox dot org
b8f9ac6d
prevent crash if m_keylist is 0

again, i do not know yet, why this could happen.
Mathias Gumz akira at fluxbox dot org
24cfd54e
cleanup: missing initialization

i ran across problems on a freshly installed ubuntu without
any config files, m_keylist was not initialized, yet unsure why.
Mathias Gumz akira at fluxbox dot org
bca59851
bugfix: crash when cleaning up signals

22fa5f544b35 was not fixing anything, the real cause is that the
SignalHolder still has a reference to a not existing Tracker.
Mathias Gumz akira at fluxbox dot org
615e9cec
compile fix: FD_ZERO (sys/select.h) on solaris wants to use memset(); closes #2997117
Mathias Gumz akira at fluxbox dot org
5be5edc1
bugfix: when maximizing a shaded window, unshade it before
Mathias Gumz akira at fluxbox dot org
22fa5f54
bugfix: added missing 'virtual' keyword, otherwise fluxbox crashes with 'pure virtual method called'
Mathias Gumz akira at fluxbox dot org
a443d461
bugfix: resizing/moving a maximized window via keys do not end maximization state (#2980313)
Mathias Gumz akira at fluxbox dot org
a2f809f8
added little helper function to disable the maximization state of a window while keeping its current position / size
Mathias Gumz akira at fluxbox dot org
d2a7cc60
bugfix: resizing stops _NET_WM_STATE_MAXIMIZED*, so trigger signal to set the properties correct

fixes partly #2980313, resize with keys still does not trigger _NET_WM props to be correct
Mathias Gumz akira at fluxbox dot org
b43be714
upgrade CONFIG_VERSION to 11
Mathias Gumz akira at fluxbox dot org
2c668283
cosmetic
Mathias Gumz akira at fluxbox dot org
fbcb0cd7
use maximize options for fullscreen as well
Mathias Gumz akira at fluxbox dot org
e05230ea
deploy new key-bindings to old keys-files via fluxbox-update_configs
Mathias Gumz akira at fluxbox dot org
a10bab0f
added OnLeftGrip, OnRightGrip, OnWindowBorder modifiers for keys file

this allows to move some hardcoded keysbindings into the keys file and
makes the code simpler
Mathias Gumz akira at fluxbox dot org
c1ed8919
updated Changelog
Mathias Gumz akira at fluxbox dot org
35f17d22
cosmetic
Mathias Gumz akira at fluxbox dot org
b3361eae
use new closest head calculation code to place windows when clearing up heads
Mathias Gumz akira at fluxbox dot org
d6bc8d75
bugfix: moving (the center of) a maximized window out of a xinerama head could result in maximizing it over all heads

the old way of deciding which head to (re)maximize the current window
was to just test if the center of the window is INSIDE which head.

now we calculate the closest head which fixes the problem
Mathias Gumz akira at fluxbox dot org
9b98102c
updated changelog
Mathias Gumz akira at fluxbox dot org
583398e4
bugfix: using 'int' on 64bit systems while setting window properties is wrong

using a smaller type ('long' on 64bit is 8 byte, 'int' is 4) results in
strange properties, eg:

  _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, undefined atom # 0x2726130

(when xpropping a maximized xterm). this might cause misbehavior in apps.
Mathias Gumz akira at fluxbox dot org
fd430583
Updated changelog
Henrik Kinnunen fluxgen@fluxbox.org
dd8fcc8b
Changed title signal in Focusable to new signal system
Henrik Kinnunen fluxgen@fluxbox.org
9ad388c5
Added Tracker interface for SignalHolder.

This is used by SignalTracker so Signals can disconnect from it when
they die.
Henrik Kinnunen fluxgen@fluxbox.org
1cae9f22
Minor fix for argument reference in MemFunSelectArgImpl
Henrik Kinnunen fluxgen@fluxbox.org
5bc78256
Initialize all variables in FbWindow
Henrik Kinnunen fluxgen@fluxbox.org
43837f82
Added simple stress test in python
Henrik Kinnunen fluxgen@fluxbox.org
f150f727
Added SelectArg.hh to Makefile.am
Henrik Kinnunen fluxgen@fluxbox.org
ceff86b7
Added SelectArg and MemFunSelectArg*

The MemFunSelectArg* functions can be used to select
a specific argument from a signal. For example this would
select the string argument as argument to the callback:

Signal<void, int, float, string> signal;
signal.connect(MemFunSelectArg2(obj, &Object::takesOneStringArg));
signal.emit(10, 3.14, "hello");

...

void Object::takesOneStringArg(const string& value) {
...
}
Henrik Kinnunen fluxgen@fluxbox.org
68e90ab8
Added missing RelaySignal.hh to Makefile.am
Henrik Kinnunen fluxgen@fluxbox.org
6ed8369d
Changed Focusable::focusSig() to new signal system.

The focus signal emits the window that had the focus status changed.
Henrik Kinnunen fluxgen@fluxbox.org
02bb9359
Added FbTk::relaySignal, which relays new signals to old Subject type signals.
Henrik Kinnunen fluxgen@fluxbox.org
31a458f3
Fixed so testDemandAttention compiles
Henrik Kinnunen fluxgen@fluxbox.org
18570d83
minor cleaning in MemFun.hh
Henrik Kinnunen fluxgen@fluxbox.org
0504de45
Added MemFunIgnoreArgs which ignores aditional arguments.

For example connecting a function that takes two arguments
to a signal that emits three arguments:
struct Functor {
    void show(int a, int b);
};
Functor f;
Signal<void, int, int, int> s3;
s3.connect(MemFunIgnoreArgs(f, &Functor::show));
Henrik Kinnunen fluxgen@fluxbox.org
5a91ada3
updated changelog
Henrik Kinnunen fluxgen@fluxbox.org
ce0b41c8
Changed #ifdef DEBUG ... cerr << to using fbdbg.

This will reduce the number of #ifdef DEBUG for
simple debug messages.
include "Debug.hh" and use fbdbg instead of cerr for debug.
Henrik Kinnunen fluxgen@fluxbox.org
7a86dad2
bugfix: do not create the temporary menufile 'somewhere' in the filesystem but next to the final one
Mathias Gumz akira at fluxbox dot org
254bc96d
fixed little preprocessor error
Mathias Gumz akira at fluxbox dot org
ce1aca9b
updated ChangeLog entries
Mathias Gumz akira at fluxbox dot org
c65dc30f
improved documentation of the code
Mathias Gumz akira at fluxbox dot org
a2f673cc
optimization of how often fluxbox checks for the system time to display it in the clocktool

the idea (as a first patch) for this change was provided by
Thomas Habets (thomas at habets pp se). instead of having a
fixed interval each second, we now calculate the next point in
time based upon the format string used by the clocktool to render
the time. as long as no seconds are shown fluxbox now wakes up
once every minute.
Mathias Gumz akira at fluxbox dot org
e102544c
updated changelog
Mathias Gumz akira at fluxbox dot org
b690fba3
recreated the generated manpages
Mathias Gumz akira at fluxbox dot org
3f15907b
fixed spelling
Paul Tagliamonte paultag at ubuntu com
46261a82
implemented 'MoveN' and 'ClickN' support in keys file.

the hardcoded 'OnTitlebar Mouse1 :Raise' (see Window.cc, FluxboxWindow::buttonPressEvent())
is disabled for now, should be added to fluxbox-update_configs
Mathias Gumz akira at fluxbox dot org
79859c94
updated fluxbox-keys documentation, added 'Fullscreen'
Paul Tagliamonte paultag at ubuntu com
ca3453fe
cosmetic
Mathias Gumz akira at fluxbox dot org
69d80c59
Keep 'maximum/fullscreen' when moving a window between different heads
Michal Zime michal dot zimen at gmail dot com
8def80ce
reportedly fix compiling on gcc 4.4 on Solaris
Mark Tiefenbruck mark@fluxbox.org
66456888
definition should match declaration
Mathias Gumz akira at fluxbox dot org
69bf3965
compile fixes for sun compiler 5.10: class Layer conflicts with class FbTk/Layer .. so just a little renaming
Mathias Gumz akira at fluxbox dot org
a973154c
compile fixes for sun compiler 5.10: 'i want an extern C function ptr'
Mathias Gumz akira at fluxbox dot org
f2ea245f
compile fixes for sun compiler 5.10: complains about 'not beeing able to initialize this from that'
Mathias Gumz akira at fluxbox dot org
0f299cee
minor typo
Mathias Gumz akira at fluxbox dot org
5db3166d
updated changelog
Mathias Gumz akira at fluxbox dot org
54c58bba
cosmetic: use FbTk::StringUtil::number2String()
Mathias Gumz akira at fluxbox dot org
2a858042
build system: checking to link against extensions (Xinerama, Randr, Shape) is not enough, we have to check the headers as well
Mathias Gumz akira at fluxbox dot org
8e893982
build system: moved some things around, 'finished configuring' message now at the end
Mathias Gumz akira at fluxbox dot org
3b362ab8
build system: autocreate the 'missing' file, fixes the 'unknown --run option for missing' issue
Mathias Gumz akira at fluxbox dot org
60722e4d
updated changelog
Mathias Gumz akira at fluxbox dot org
80e8cd07
just use the FbTk API
Mathias Gumz akira at fluxbox dot org
1b4596ee
bugfix: stop wiping out ~/.fluxbox/keys
Mathias Gumz akira at fluxbox dot org
261ba26d
another little helper for FbTk::StringUtil: extractNumber()
Mathias Gumz akira at fluxbox dot org
57b6e5a7
updated changelog
Mathias Gumz akira at fluxbox dot org
4eeac74a
removed unused code
Mathias Gumz akira at fluxbox dot org
65a45dc6
compile fix: missing include guards
Mathias Gumz akira at fluxbox dot org
c4c96ec8
simpler code
Mathias Gumz akira at fluxbox dot org
710ad1d4
compile fix: taken 'FbTk' out of includepath, Layer.hh and FbTk/Layer.hh confused the sun compiler
Mathias Gumz akira at fluxbox dot org
078438e9
compile fix: missing headers (sun compiler complained about)
Mathias Gumz akira at fluxbox dot org
6c0739e8
compile fix: using correct forward declaration for template classes

we got this 'Warning (Anachronism): Old syntax for explicit specialization or
 instantiation ignored.' with the solaris compiler
Mathias Gumz akira at fluxbox dot org
38ef6e51
made code simpler
Mathias Gumz akira at fluxbox dot org
69de5b5a
cosmetic fix: removed warning about double ';' after command

static xyz inside a anonymous namespace is not really needed, so i removed the namespace
to get rid of the compiler warning. it's more convinient for the developer
to put ';' after that REGISTER_COMMAND_PARSER
Mathias Gumz akira at fluxbox dot org
9cd953b2
compile fix: ISO C++ forbids variable length array 'names'
Mathias Gumz akira at fluxbox dot org
f8c61a1b
compile fix: use the correct format string to parse the number
Mathias Gumz akira at fluxbox dot org
e8c2690b
cosmetic: slightly less code to do the same
Mathias Gumz akira at fluxbox dot org
12fe9ca7
compile fix: sun compiler complains about missing std::mem_fun_t<>
Mathias Gumz akira at fluxbox dot org
884db973
cosmetic fixes: removed redundant ';' + some whitespaces
Mathias Gumz akira at fluxbox dot org
4663a959
bugfix: 'HideMenus' command did not work if the user 'opened' an empty submenu.
'openeing' such an empty submenu lead to an already hidden menu referenced by
the 'shown' pointer
Mathias Gumz akira at fluxbox dot org
cfd05506
mwm hints can't control the close button
Mark Tiefenbruck mark@fluxbox.org
5a3f25cd
implemented visibility of titlebar buttons via the apps file
Mathias Gumz akira at fluxbox dot org
5f958b3b
check for errno while parsing the deco mask
Mathias Gumz akira at fluxbox dot org
6a37a047
add some generated files to .gitignore
Mark Tiefenbruck mark@fluxbox.org
ca9e2e0d
allow navigating multi-column menus with left and right arrows
Mark Tiefenbruck mark@fluxbox.org
07da360b
more fixes for fluxconf mangling the keys file
Mark Tiefenbruck mark@fluxbox.org
9dcbff31
make autohide only show the border or 1 pixel if borderless
Mark Tiefenbruck mark@fluxbox.org
58912567
allow matching screen number in ClientPattern
Mark Tiefenbruck mark@fluxbox.org
bb054947
add a few items to fbgm
Mark Tiefenbruck mark@fluxbox.org
27d181f4
hide the menu when you click on a window
Mark Tiefenbruck mark@fluxbox.org
9f59ce18
change default toolbar tools to:
prevworkspace, workspacename, nextworkspace, iconbar, systemtray, clock
Mark Tiefenbruck mark@fluxbox.org
5f9f2475
make Raise/LowerLayer accept integer argument for number of layers, default 2
Mark Tiefenbruck mark@fluxbox.org
c1d9ae50
fix changing iconbar alignment and button width from init file
Mark Tiefenbruck mark@fluxbox.org
659af0eb
allow 'Ctrl' and 'Alt' as modifiers in keys file
Mark Tiefenbruck mark@fluxbox.org
8addc54e
allow "lower" as a reference point for MoveTo, etc.
Mark Tiefenbruck mark@fluxbox.org
4e586cc1
previous fix for reverting iconbar to relative broke external tabs
Mark Tiefenbruck mark@fluxbox.org
f3d61235
change default toolbar head from 0 to 1
Mark Tiefenbruck mark@fluxbox.org
f2c0175a
add window menu and alt-tab to error case for keys file
Mark Tiefenbruck mark@fluxbox.org
fe92b6b3
revert to relative iconbar alignment when too many windows are open
Mark Tiefenbruck mark@fluxbox.org
02e0f932
use current workspace in ClientPattern when client has no FbWindow
Mark Tiefenbruck mark@fluxbox.org
ed28c69b
Cleaned up 'fbsetbg -h' output

Reordered the "Options" section and made it more clear that for setting solid,
gradient, or pattern textures, one should also refer to fbsetroot(1).
Jim Ramsay i.am@jimramsay.com
5d183bf0
Updated ChangeLog
Jim Ramsay i.am@jimramsay.com
71b63993
Added warning for "ChangeWorkspace" event
Jim Ramsay i.am@jimramsay.com
54b49c63
Merge branch 'mousefocus'
Jim Ramsay i.am@jimramsay.com
04538cba
Removing improperly-added man pages.

These were leftovers from a marginally-botched rebase of my docs branch before
pushing to the main tree.
Jim Ramsay i.am@jimramsay.com
ae2d4b6b
Don't complain on '-z' if there's no lastwallpaper

This hides the odd cornercase of users with no lastwallpaper file and no
background set in their style or overlay.

Adapted from the patch at
http://sourceforge.net/tracker/?func=detail&aid=2389567&group_id=35398&atid=413962
Jim Ramsay i.am@jimramsay.com
edffe9c9
Allow 'background: unset'

When a user sets 'background: none' it really means "Do not let themes touch the
background I have already set with fbsetbg" -> It does still actually call
fbsetbeg to re-assert the proper background.

This new value 'unset' is for users who will use an alternate method to set
their background (root-tail, xscreensaver, or whatever).  It instructs fluxbox
to *never* run fbsetbg.
Jim Ramsay i.am@jimramsay.com
ff6a4639
Error on incomplete MacroCmd key command
Jim Ramsay i.am@jimramsay.com
a56e409b
Exit loop for unterminated { } pair
Jim Ramsay i.am@jimramsay.com
ba5d30f4
Added note about cancelling key chains
Jim Ramsay i.am@jimramsay.com
42f2b03f
Updated formatting for RESOURCES and ENVIRONMENT
Jim Ramsay i.am@jimramsay.com
ce1fb1cf
Added note on ChangeWorkspace
Jim Ramsay i.am@jimramsay.com
f68ff84b
Small edits for consistency
Jim Ramsay i.am@jimramsay.com
54ee631c
Added new 'make dist' target for ease in updating the manuals
Jim Ramsay i.am@jimramsay.com
e1018645
Converted startfluxbox(1) to asciidoc format
Jim Ramsay i.am@jimramsay.com
437ec3bf
Converted fbsetroot(1) to asciidoc format
Jim Ramsay i.am@jimramsay.com
4b4fa5bd
Moved fbsetbg(1) to asciidoc format
Jim Ramsay i.am@jimramsay.com
0ac042c1
Moved fbrun(1) to asciidoc format
Jim Ramsay i.am@jimramsay.com
a8586617
Created fluxbox-menu(5)

This separates the menu-syntax portions of fluxbox.txt out into its own man
page, and includes a rather large rewrite of much of fluxbox.txt, as well as
small improvements in other pages.
Jim Ramsay i.am@jimramsay.com
6beb1f96
Process all asciidoc-generated man pages with sed

This makes things a bit simpler and more generic.
Jim Ramsay i.am@jimramsay.com
bd8275b3
Renamed fluxstyle(1) to fluxbox-style(5)
Jim Ramsay i.am@jimramsay.com
6a818df3
Added missing asciidoc manual attributes

Added :man source:, :man revision:, and :man manual: attributes to all remaining
asciidoc manpages, and regenerated them with asciidoc-8.2.7
Jim Ramsay i.am@jimramsay.com
a69c429e
Removed APPLICATIONS section from fluxbox(1)

This is now in its own man page, fluxbox-apps(5).
Jim Ramsay i.am@jimramsay.com
56e393a7
Added fluxbox-apps(5) manpage

This now shares the CLIENT PATTERNS section in common with fluxbox-keys(5), so I
split this out into a client-patterns.txt which is included by both
fluxbox-apps.txt and fluxbox-keys.txt.
Jim Ramsay i.am@jimramsay.com
49ec7744
don't try to install fbrun.1 twice.
Slava Semushin php-coder@altlinux.ru
df81e1f7
minor cosmetics
Mathias Gumz akira at fluxbox dot org
761c8411
minor cosmetics
Mathias Gumz akira at fluxbox dot org
dfa360e8
src/TextDialog.cc: removed useless stdexcept header inclusion.

No functional change.

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
5532aca9
src/Keys.cc(deleteTree): use FbTk::STLUtil::destroyAndClearSecond() instead of self-written code.

No functional change.

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
a144008c
doc/ru/fluxbox.1.in: fixed typo (s/Remeber/Remember/).

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
efea05e8
Renamed function svnversion() to gitrevision() because now we uses GIT.

No functional change.

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
925fb177
.gitignore: added more files.

Also sort file.

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
2103c48f
Renamed .cvsignore to .gitignore

Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
Slava Semushin php-coder@altlinux.ru
2f9cce36
compilefix
Mathias Gumz akira at fluxbox dot org
c4d8e9c8
buildfix: fluxbox didnt link when configured with --disable-remember
Mathias Gumz akira at fluxbox dot org
f3bd0455
removed autogenerated file
Slava Semushin php-coder@altlinux.ru
014ff1f7
dont try to read file when they are actually a directory
Mathias Gumz akira at fluxbox dot org
e7700166
remove unnecessary xpm.h include in imlib code
Mark Tiefenbruck mark@fluxbox.org
4e831484
fixed resize bug (caused by typo, see #2498507)
Peter Hercek hercek at sf dot net
f5fdbab9
don't reload keys file on modifier map events, just re-grab keys
Mark Tiefenbruck mark@fluxbox.org
3b9611b6
increase default size of toolbar and icon buttons
Mark Tiefenbruck mark@fluxbox.org
f92fd6ca
unrevert 1fdef35e51
										x
Mathias should listen to me when I say "by the way, I know you liked the code I
just removed; you should change your keys file to use
:MacroCmd {Focus} {Raise} {StartMoving}". Behavior in 1.0.0 and previous was
that alt+click would focus and raise, regardless of whether the window was moved
or not. If mathias really wants his alt+drag to preserve stacking order, he
should add Mouse<N>Move events to the keys file to distinguish moving from
clicking. I've been planning on doing it anyway.
Mark Tiefenbruck mark@fluxbox.org
6642792f
additional fix for the resize bug
Mathias Gumz akira at fluxbox dot org
ccf096f7
reverted 1fdef35e51, added more info about that feature
Mathias Gumz akira at fluxbox dot org
34412613
don't allow resizing to negative dimensions

this fixes a problem when the user resizes a window over the opposite border.
as a result a signed overflow occured which lead to quite huge windows.
Mathias Gumz akira at fluxbox dot org
9bd64010
ignore XRandr events that don't actually change the screen size
Mark Tiefenbruck mark@fluxbox.org
7380a1f8
remove doc/asciidoc/fluxbox.1 from index
Mark Tiefenbruck mark@fluxbox.org
5b07791e
merge menuDelay and menuDelayClose options
Mark Tiefenbruck mark@fluxbox.org
e5fd401f
focus window when done dragging to a new workspace with outline moving
Mark Tiefenbruck mark@fluxbox.org
93924af1
using namespace instead of a useless class
Mathias Gumz akira at fluxbox dot org
f3bd8e75
don't show window on new workspace when warping with outline moving
Mark Tiefenbruck mark@fluxbox.org
706ec5c2
show/hide tooltip if title length changes enough while mouse is over the iconbutton
Mark Tiefenbruck mark@fluxbox.org
a97ba400
fix windows mapping into IconicState again
Mark Tiefenbruck mark@fluxbox.org
1fdef35e
remove some unneeded code
Mark Tiefenbruck mark@fluxbox.org
dda95bf1
allow relative path for background images in style files
Mark Tiefenbruck mark@fluxbox.org
c033c201
remove menu modes
Mark Tiefenbruck mark@fluxbox.org
86a072e7
remove follow models
Mark Tiefenbruck mark@fluxbox.org
e1eb5e22
remove line style resources from init file
Mark Tiefenbruck mark@fluxbox.org
ab256963
remove rootcommand from init file
Mark Tiefenbruck mark@fluxbox.org
073beb9d
add a message to default init file explaining why there aren't any options there
Mark Tiefenbruck mark@fluxbox.org
aee9889a
recognize --option in addition to -option for most things
Mark Tiefenbruck mark@fluxbox.org
e6570b61
add -print option to fbrun to return result to stdout instead of executing it
Mark Tiefenbruck mark@fluxbox.org
4b5c00b7
in ClickFocus, replay pointer before focusing window
Mark Tiefenbruck mark@fluxbox.org
b265d0d8
fix CustomMenu and ClientMenu commands from fluxbox-remote
Mark Tiefenbruck mark@fluxbox.org
22f3df9a
break keychains after an invalid key is pressed (which unfortunately will be swallowed)
Mark Tiefenbruck mark@fluxbox.org
c91926cf
fix flickering of shaped windows on focus changes
Mark Tiefenbruck mark@fluxbox.org
9df75ed7
fix restacking
Mark Tiefenbruck mark@fluxbox.org
269459e1
don't flash original window in the middle of cycling focus
Mark Tiefenbruck mark@fluxbox.org
b3da022e
reset background on resolution change
Mark Tiefenbruck mark@fluxbox.org
6e9d8e2d
restore missing config files on reconfigure
Mark Tiefenbruck mark@fluxbox.org
9aee5b80
Changed resize signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
2fcc0fd9
Changed workspace area signal to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
f2c88687
Merge branch 'master' of fluxbox@git.fluxbox.org:fluxbox

Conflicts:

	ChangeLog
Henrik Kinnunen fluxgen@fluxbox.org
bcf37890
Change focused signal to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
ed53f3c6
Changed icon list signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
52e22a03
Changed client list signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
d05804e6
Changed background changed signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
71674739
Changed workspace names signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
86819aba
Changed current workspace signal in BScreen to use the new signal system
Henrik Kinnunen fluxgen@fluxbox.org
f5113e2e
no virtuals needed Signals, added leaveAll for SignalTracker which must be used before all screens dies.
Henrik Kinnunen fluxgen@fluxbox.org
75cf24da
re-fix maximizing problem with non-northwest gravity windows
Mark Tiefenbruck mark@fluxbox.org
93ccd39a
fix placement of windows with non-default decorations
Mark Tiefenbruck mark@fluxbox.org
4c112047
fix a few things with new signal code
Mark Tiefenbruck mark@fluxbox.org
ab8b21d1
Merge branch 'master' of fluxbox@git.fluxbox.org:fluxbox

Conflicts:

	ChangeLog
Henrik Kinnunen fluxgen@fluxbox.org
2f4db578
Changed workspace count signal in BScreen to use the new signal system.
Henrik Kinnunen fluxgen@fluxbox.org
e4d47177
Added new Signal/Slot system in FbTk

This is suppose to replace the obsolete Subject/Observer classes.
See the src/tests/testSignals.cc for basic usage.
Henrik Kinnunen fluxgen@fluxbox.org
8e97963e
minor changes for news
Henrik Kinnunen fluxgen@fluxbox.org
c6a08ab6
new version
Henrik Kinnunen fluxgen@fluxbox.org
a4feddcb
added RectangleUtil.hh to build
Henrik Kinnunen fluxgen@fluxbox.org
91408776
Fixed a pixmap resource leak with selected pixmap in menus.

menu.hilite.selected.pixmap and menu.selected.pixmap was not
deleted while switching between non-pixmap styles and pixmap styles.
Henrik Kinnunen fluxgen@fluxbox.org
9f519ec0
some minor code cleaning.
Henrik Kinnunen fluxgen@fluxbox.org
de8275f6
fix some default values
Mark Tiefenbruck mark@fluxbox.org
3ac1ab02
try to fix some weird focus issues
Mark Tiefenbruck mark@fluxbox.org
bf620f96
fix program crashes caused by unshading
Mark Tiefenbruck mark@fluxbox.org
8d0fb85b
be aware of badly specified _NET_WM_ICONS
Mathias Gumz akira at fluxbox dot org
68bf9796
fix updating of keys file for scrolling on toolbar
Mark Tiefenbruck mark@fluxbox.org
6b391c3b
update workspace names atoms/resources when adding a new workspace
also removed unnecessary items from default init file
Mark Tiefenbruck mark@fluxbox.org
39e0bdcb
remove unnecessary signals causing toolbar renders on workspace change
Mark Tiefenbruck mark@fluxbox.org
b288fc14
turn on opaque window moving by default
Mark Tiefenbruck mark@fluxbox.org
27dc1361
add check to configure script to detect old versions of Xrandr
Mark Tiefenbruck mark@fluxbox.org
ba03aaaa
fix maximize/fullscreen for windows with non-Northwest gravity
Mark Tiefenbruck mark@fluxbox.org
60a4c7d9
remove tooltip when IconButton is destroyed
Mark Tiefenbruck mark@fluxbox.org
a72eeeb2
add windowmenu to dist package
Mark Tiefenbruck mark@fluxbox.org
8eb4637b
back to git version
Henrik Kinnunen fluxgen@fluxbox.org
f9ed11a3
resize fullscreen windows when resolution changes
Mark Tiefenbruck mark@fluxbox.org
f01e0c9c
some documentation updates
Mark Tiefenbruck mark@fluxbox.org
2151e73d
update window's size hints when client updates size hints
Mark Tiefenbruck mark@fluxbox.org
8fb17223
included some missing files in distribution
Henrik Kinnunen fluxgen@fluxbox.org
696f63fd
removed ObjectResource.hh and CompareWindow.hh
Henrik Kinnunen fluxgen@fluxbox.org
22cf8114
new version 1.1
Henrik Kinnunen fluxgen@fluxbox.org
6e9c3a4e
fixes for NEWS entry
Mark Tiefenbruck mark@fluxbox.org
ed87c4d1
updated for 1.1
Henrik Kinnunen fluxgen@fluxbox.org
13a73a78
highlight the nearest menu item when the current one is disabled, and add separators to focus model menu
Mark Tiefenbruck mark@fluxbox.org
79eadb25
fix focus after tabbing
Mark Tiefenbruck mark@fluxbox.org
6a724741
missed one
Mark Tiefenbruck mark@fluxbox.org
41b2e0ce
use FbMenu::window instead of WindowCmd<>::window for displaying items in the window menu
Mark Tiefenbruck mark@fluxbox.org
fd0389d2
more fun with global variables
Mark Tiefenbruck mark@fluxbox.org
920cb81c
don't change a fullscreen window's layer when its transient takes the focus
Mark Tiefenbruck mark@fluxbox.org
82047e6a
move some things from FluxboxWindow to WindowState
Mark Tiefenbruck mark@fluxbox.org
a2ec0c9b
make FbWinFrame and FluxboxWindow share a WindowState object
Mark Tiefenbruck mark@fluxbox.org
84c87a86
remove option to disable decorations on transient windows
Mark Tiefenbruck mark@fluxbox.org
cbc1075d
move decoration handling for non-resizable windows to SizeHint class
Mark Tiefenbruck mark@fluxbox.org
55fd4961
move FbWinFrame::State class to a new file
Mark Tiefenbruck mark@fluxbox.org
08c8c643
use old focus/raise behavior for default alt+left/right mouse bindings
Mark Tiefenbruck mark@fluxbox.org
7d2240e2
toolbar placement menu wasn't updating
Mark Tiefenbruck mark@fluxbox.org
65c5fb32
make clicking on the border of the toolbar activate toolbar buttons
Mark Tiefenbruck mark@fluxbox.org
36d1edfb
fix for restoring horizontally or vertically resized windows
Mark Tiefenbruck mark@fluxbox.org
37a60289
fix reading iconbar border from theme
Mark Tiefenbruck mark@fluxbox.org
e6b11e06
resize maximized windows when the toolbar or slit changes size
Mark Tiefenbruck mark@fluxbox.org
10f769f7
when a transient dies, revert focus to its parent
Mark Tiefenbruck mark@fluxbox.org
6875a611
make ShowDesktop and Deiconify commands maintain focus order
Mark Tiefenbruck mark@fluxbox.org
e3fb16c9
allow various combinations of shaded, maximized, and fullscreen states
Mark Tiefenbruck mark@fluxbox.org
c37a91e1
be a little smarter about size hints in tabbed windows
Mark Tiefenbruck mark@fluxbox.org
feac120f
don't let MWM hints override defaultDeco
Mark Tiefenbruck mark@fluxbox.org
9170de18
another parsing fix
Mark Tiefenbruck mark@fluxbox.org
72a9dc9c
remove borders from maximized windows
Mark Tiefenbruck mark@fluxbox.org
f1ff5ff3
add -sync command line option for debugging X issues
Mark Tiefenbruck mark@fluxbox.org
5a877163
accidentally left this on
Mark Tiefenbruck mark@fluxbox.org
0ae3ca9e
move fullscreen and maximization handling to FbWinFrame
Mark Tiefenbruck mark@fluxbox.org
8681220f
don't apply rounded corners to windows without decorations
Mark Tiefenbruck mark@fluxbox.org
2f3a48f1
apply patch to fix memory leak that shouldn't exist
Mark Tiefenbruck mark@fluxbox.org
73f38a0e
fix cycling with minimized windows
Mark Tiefenbruck mark@fluxbox.org
1fe1da5c
fix parsing of Delay command
Mark Tiefenbruck mark@fluxbox.org
99eaded4
make Swing apps only somewhat horribly broken again
Mark Tiefenbruck mark@fluxbox.org
42895e11
;
Mark Tiefenbruck mark@fluxbox.org
533c70cb
some cleanup
Mark Tiefenbruck mark@fluxbox.org
0116a83a
add SendToNextHead/SendToPrevHead commands, plus some cleanup in CurrentWindowCmd
Mark Tiefenbruck mark@fluxbox.org
9dec1761
split documenation into different directories
Mathias Gumz akira at fluxbox dot org
d287e704
create section 5 manpages as well
Mathias Gumz akira at fluxbox dot org
62ff9d70
fixed some menu documentation
Mark Tiefenbruck mark@fluxbox.org
4bf00f68
fix match limits in apps file, plus some documentation
Mark Tiefenbruck mark@fluxbox.org
0fea3e3c
ShowDesktop should ignore everything on the desktop layer, not just windows of type Desktop
Mark Tiefenbruck mark@fluxbox.org
74df0fcd
add SetDecor key command
Mark Tiefenbruck mark@fluxbox.org
2df0e67c
make creating manpages easier
Mathias Gumz akira at fluxbox dot org
75850d8b
shift+enter wasn't sending right click if the menu item had a submenu
Mark Tiefenbruck mark@fluxbox.org
4e64d45e
add [transient] tag to apps file to match transient windows
Mark Tiefenbruck mark@fluxbox.org
e5d43edb
update keys file for changes to NextWindow syntax
Mark Tiefenbruck mark@fluxbox.org
18ae0287
fix :Focus <pattern> when all windows are minimized
Mark Tiefenbruck mark@fluxbox.org
ccba298c
fix a bug with Some and Every commands and the stupid global current window variable
Mark Tiefenbruck mark@fluxbox.org
19d024cc
update the manuals for previous commit
Mark Tiefenbruck mark@fluxbox.org
37b18a96
combined code for saved window positions and MoveTo key command
added left, right, top, and bottom center reference points
Mark Tiefenbruck mark@fluxbox.org
2ab53907
fix some defaults
Mark Tiefenbruck mark@fluxbox.org
a30a14ef
add top, left, right, and bottom center tab placement options
Mark Tiefenbruck mark@fluxbox.org
a23778a4
add SetTitle and SetTitleDialog key commands
Mark Tiefenbruck mark@fluxbox.org
72fd5e03
revert focus when closing dialogs
Mark Tiefenbruck mark@fluxbox.org
38654bae
some cleanup
Mark Tiefenbruck mark@fluxbox.org
06837ba8
cosmetic changes
Mark Tiefenbruck mark@fluxbox.org
fe412dbe
move interpretation of normal hints to size hint class
Mark Tiefenbruck mark@fluxbox.org
1d8dfcdf
cosmetic api change
Mathias Gumz akira at fluxbox dot org
1056474e
fix compilation
Mark Tiefenbruck mark@fluxbox.org
215939d6
let FbWinFrame handle decorations in fullscreen state
Mark Tiefenbruck mark@fluxbox.org
0689a0a4
move getDecoMaskFromString to FbWinFrame
Mark Tiefenbruck mark@fluxbox.org
06d696f9
fix some consts and private functions
Mark Tiefenbruck mark@fluxbox.org
4093d264
group some window properties into a new class FbWinFrame::State
Mark Tiefenbruck mark@fluxbox.org
f32fdc29
have fullscreen and maximization code call applySizeHints directly
Mark Tiefenbruck mark@fluxbox.org
e5c61a72
move some frame size calculations to FbWinFrame
Mark Tiefenbruck mark@fluxbox.org
1dab6577
aspect ratios should take base size into account, fix size hint initialization
Mark Tiefenbruck mark@fluxbox.org
6053ecc1
move size hint code to methods in size hint struct, restructure them a little
Mark Tiefenbruck mark@fluxbox.org
4fa37732
move size hint code to FbWinFrame
Mark Tiefenbruck mark@fluxbox.org
80059c6d
move size hints to a struct
Mark Tiefenbruck mark@fluxbox.org
31b47e78
cleanup of some files
Mathias Gumz akira at fluxbox dot org
e169d335
Merge branch 'master' into to_push
Mathias Gumz akira at fluxbox dot org
c82e7c00
Merge branch 'makefile_correct' into to_push
Mathias Gumz akira at fluxbox dot org
60a44e57
feed the right git revision used to build fluxbox into defaults.hh
Mathias Gumz akira at fluxbox dot org
46fdf4d1
use _NET_WM_ICON property as resource for icons, fixed partly #1852693

instead of depending on proper icons in the old icccm wmhints, fluxbox now
tries to get the icon data stored in _NET_WM_ICON
Mathias Gumz akira at fluxbox dot org
611b6aa5
more fun with the window menu
Mark Tiefenbruck mark@fluxbox.org
cd128d7a
removed goto
Henrik Kinnunen fluxgen@fluxbox.org
26dafdaf
fix highlighted menu item on mouse out
Mark Tiefenbruck mark@fluxbox.org
3a8ec651
Fix a freed memory access in ~BScreen.

mit->second->parent() == 0 didn't do what it was supposed to. m_parent being
zero does not imply that no pointer points to it.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Tomas Janousek tomi@nomi.cz
1534c8d7
Consistency: alpha submenu of WindowMenu should not have title.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Tomas Janousek tomi@nomi.cz
b61502ff
Fix a freed memory access in Keys::doAction.

The thing next_key pointed to was getting freed in deleteTree.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Tomas Janousek tomi@nomi.cz
9671b2f9
Fix crash with apps reloading.

Yeah, we shouldn't delete pointers that are mentioned elsewhere...

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
Tomas Janousek tomi@nomi.cz
38f84c39
fix window menu again
Mark Tiefenbruck mark@fluxbox.org
f3e3bb52
check pointer, even though it shouldn't be necessary
Mark Tiefenbruck mark@fluxbox.org
b7eee235
fix rotation
Mark Tiefenbruck mark@fluxbox.org
39d4d0a0
fix focus revert when closing menu
Mark Tiefenbruck mark@fluxbox.org
24dc811f
fix warning
Mark Tiefenbruck mark@fluxbox.org
880209a4
Merge branch 'xinerama_randr'
Tomas Janousek tomi@nomi.cz
a61b37da
minor correction of include names
Mathias Gumz akira at fluxbox dot org
9cb78eaa
reordering
Mathias Gumz akira at fluxbox dot org
6717a1c8
cosmetics
Mathias Gumz akira at fluxbox dot org
65df54d6
std::string.c_str() is never NULL
Mathias Gumz akira at fluxbox dot org
70a24b99
don't require final {} on :If
Mark Tiefenbruck mark@fluxbox.org
f1fd7f46
fix issue with multiple spaces in filename in fbsetbg
Mark Tiefenbruck mark@fluxbox.org
97c5f126
use hash instead of which in fbsetbg
Mark Tiefenbruck mark@fluxbox.org
4bd62b77
fix some potential bugs with window menus
Mark Tiefenbruck mark@fluxbox.org
d03edf29
fix potential infinite loop in transient windows
Mark Tiefenbruck mark@fluxbox.org
f0e60d08
fix some issues with window menus
Mark Tiefenbruck mark@fluxbox.org
38a01a71
fix some updates on style change
Mark Tiefenbruck mark@fluxbox.org
db4ec8cf
move position and geometry windows into their own class
Mark Tiefenbruck mark@fluxbox.org
7b055cc5
Fix missing destructor warning
Simon Bowden rathnor@fluxbox.org
1d4bea8a
Merge branch 'master' of fluxbox@gitfbox:fluxbox
Mark Tiefenbruck mark@fluxbox.org
3a5fd734
use function pointer for CommandParser::Command
Mark Tiefenbruck mark@fluxbox.org
c6099d77
fix crashes on restart
Mark Tiefenbruck mark@fluxbox.org
5b7bde2f
fix initialization of WorkspaceNameTheme
Mark Tiefenbruck mark@fluxbox.org
b302dab2
fix some issues with reverting focus
Mark Tiefenbruck mark@fluxbox.org
f66d446a
move some stuff from Fluxbox to BScreen
Mark Tiefenbruck mark@fluxbox.org
5b0806f1
forgot to add this
Mark Tiefenbruck mark@fluxbox.org
9f2f65a6
make FbTk::Command a template class, split parsing information out of ObjectRegistry
Mark Tiefenbruck mark@fluxbox.org
1f01d84c
split WinButtonTheme into multiple themes
Mark Tiefenbruck mark@fluxbox.org
ec3125ae
switch FbWinFrameTheme to use FocusableTheme
Mark Tiefenbruck mark@fluxbox.org
dbfddf8e
added new ThemeProxy for automatically handling focused vs. unfocused ThemeItems
Mark Tiefenbruck mark@fluxbox.org
ac1bd7e0
update code to use ThemeProxy
Mark Tiefenbruck mark@fluxbox.org
60ba709c
add a level of indirection to themes
Mark Tiefenbruck mark@fluxbox.org
b20b243b
remove some unnecessary code
Mark Tiefenbruck mark@fluxbox.org
9c105111
remove old svn $Id$ tags
Mark Tiefenbruck mark@fluxbox.org
bf152502
merged
Mathias Gumz akira at fluxbox dot org
b73411a9
moved seldom used code to where it is actually used, no need to include code into compilation when its not needed
Mathias Gumz akira at fluxbox dot org
d24e2aae
more encapsulation for Ewmh
Mathias Gumz akira at fluxbox dot org
222128c2
more header 'correctness'
Mathias Gumz akira at fluxbox dot org
ec13263a
decoupling, moved private datastructures to Keys.cc
Mathias Gumz akira at fluxbox dot org
7588fc10
fix some flickering on focus change
Mark Tiefenbruck mark@fluxbox.org
72d2f0e4
fix compatibility with older gcc versions
Mark Tiefenbruck mark@fluxbox.org
f4ee0977
Fix minimize regression caused by b5c354b9.
Tomas Janousek tomi@nomi.cz
2590d207
this really needs to be fixed
Mark Tiefenbruck mark@fluxbox.org
0c138012
Fix freeze with actions on external tab.
Tomas Janousek tomi@nomi.cz
04cd2fd1
removed some unneeded headers
Mathias Gumz akira at fluxbox dot org
4cc810b0
remove some (hopefully) unneeded header includes
Mark Tiefenbruck mark@fluxbox.org
de6d340b
forgotten inlines from previous round
Mathias Gumz akira at fluxbox dot org
e1f362ae
'inline' in class declaration is implicitly inline
Mathias Gumz akira at fluxbox dot org
e90c3678
move #define SHAPE to config.h instead of -DSHAPE on command line
Mark Tiefenbruck mark@fluxbox.org
8e96ffb7
moved DelayedCmd from Screen.cc to FbTk/Timer.cc, added it to the keys file
Mark Tiefenbruck mark@fluxbox.org
0f6b73f3
move shape handling from FbMenu to FbTk::Menu
Mark Tiefenbruck mark@fluxbox.org
2940869c
merge MenuTheme with FbTk::MenuTheme
Mark Tiefenbruck mark@fluxbox.org
62bcfaf0
move Shape to FbTk
Mark Tiefenbruck mark@fluxbox.org
0ec165e8
move STLUtil to FbTk
Mark Tiefenbruck mark@fluxbox.org
32eb2a14
move RegExp to FbTk
Mark Tiefenbruck mark@fluxbox.org
39224b01
move Parser to FbTk
Mark Tiefenbruck mark@fluxbox.org
e8a2f155
moved Container to FbTk
Mark Tiefenbruck mark@fluxbox.org
00ceefd8
moved BorderTheme and TextTheme to FbTk
Mark Tiefenbruck mark@fluxbox.org
b5c354b9
architecture astronomy
Mark Tiefenbruck mark@fluxbox.org
1f5cd12f
simplify the window transparency menu and handling a bit
Mark Tiefenbruck mark@fluxbox.org
f5024351
stupid &
Mark Tiefenbruck mark@fluxbox.org
f3790fb3
revert previous patch until it can be fixed
Mark Tiefenbruck mark@fluxbox.org
b2546389
changing focusnew/mousefocus should affect windows that are already open
Mark Tiefenbruck mark@fluxbox.org
396c6fe4
updated german translations for maximization menu
Mark Tiefenbruck mark@fluxbox.org
0113ca6b
implement some focus policies for splash, dock, and desktop windows
Mark Tiefenbruck mark@fluxbox.org
7ace5e80
don't add new windows to front of focus list if they don't acquire the focus
Mark Tiefenbruck mark@fluxbox.org
35d10179
removed KDE configure option
Mark Tiefenbruck mark@fluxbox.org
1bcc9661
added resource session.screen<N>.slit.acceptKdeDockapps
Mark Tiefenbruck mark@fluxbox.org
9daf464b
fix showing program icons with depth=1 in menus
Mark Tiefenbruck mark@fluxbox.org
eaabe032
make bit depth accessible from an FbDrawable
Mark Tiefenbruck mark@fluxbox.org
934bd42a
`hash -t' seems to be bash-only
Mark Tiefenbruck mark@fluxbox.org
088f4189
replaced `which' with the bourne shell built-in `hash' and fixed some --program-prefix/suffix problems
Mark Tiefenbruck mark@fluxbox.org
d6e009af
search subdirectories when looking for icons
Mark Tiefenbruck mark@fluxbox.org
552d9a70
minor fixes for handling ConfigureRequest events
Mark Tiefenbruck mark@fluxbox.org
fbc305ca
added focused/unfocused borders to styles
Mark Tiefenbruck mark@fluxbox.org
1b48b749
make FbWinFrame aware of the decoration state
Mark Tiefenbruck mark@fluxbox.org
06761616
if a window is prevented from stealing the focus, don't put it on top
Mark Tiefenbruck mark@fluxbox.org
84e5586c
don't allow clients to move or resize fullscreen/maximized windows
Mark Tiefenbruck mark@fluxbox.org
0a67bdce
make better decisions about when to allow stealing the focus
Mark Tiefenbruck mark@fluxbox.org
09064779
leave fullscreen windows on top, even without the focus, as long as focused window is on another head
Mark Tiefenbruck mark@fluxbox.org
f6ee704a
remove 'friend' declaration in Window.hh
Mark Tiefenbruck mark@fluxbox.org
a10b308b
little cleanup
Mark Tiefenbruck mark@fluxbox.org
0a14d911
added key command StartTabbing
Mark Tiefenbruck mark@fluxbox.org
c7b69875
add some more useful keybindings to the default keys file
Mark Tiefenbruck mark@fluxbox.org
406b7e05
remove `OnTitlebar Mouse2 :Lower', as it interferes with tabbing
Mark Tiefenbruck mark@fluxbox.org
a8d9f4fc
fixed backwards compatibility for toolbar/tab styles
Mark Tiefenbruck mark@fluxbox.org
54eda44f
fix menuitem height on startup
Mark Tiefenbruck mark@fluxbox.org
aef31557
convert macro command parsing to use new StringUtil function
Mark Tiefenbruck mark@fluxbox.org
03dce043
added ForEach key command
Mark Tiefenbruck mark@fluxbox.org
b90a7e21
replace svn stuff with git
Mark Tiefenbruck mark@fluxbox.org
1cca420f
"fix" `About' item in fbgm with tcsh, #1806327
Mark Tiefenbruck mark@fluxbox.org
7f6c3267
fix a few $HOME-related issues in fbgm
Mark Tiefenbruck mark@fluxbox.org
63aaecd2
fixed "iconify" menu item
Mark Tiefenbruck mark@fluxbox.org
0d544fbe
check apps file settings after ewmh and gnome
Mark Tiefenbruck mark@fluxbox.org
176865bf
always focus a client that gets raised in the focused window
Mark Tiefenbruck mark@fluxbox.org
8f66fe37
don't minimize a window just because its transient got minimized
Mark Tiefenbruck mark@fluxbox.org
c381a130
remove reassoc argument from FluxboxWindow::deiconify
Mark Tiefenbruck mark@fluxbox.org
a21572f1
remove some unnecessary uses of FluxboxWindow::deiconify
Mark Tiefenbruck mark@fluxbox.org
a8ec9d97
don't let transient windows steal the focus from other programs
Mark Tiefenbruck mark@fluxbox.org
ce74ed1c
clicks on the handle were matching OnTitlebar
Mark Tiefenbruck mark@fluxbox.org
a2db8919
switched Mouse Tab Focus and Click Tab Focus nls entries
Mark Tiefenbruck mark@fluxbox.org
ebec8774
open transient windows on same workspace as parent
Mark Tiefenbruck mark@fluxbox.org
98c5cea5
fix torn menus
Mark Tiefenbruck mark@fluxbox.org
c01bd6e9
holding control will now keep the menu open
Mark Tiefenbruck mark@fluxbox.org
31df2d8b
make MenuItem responsible for decision to close menu when clicked
Mark Tiefenbruck mark@fluxbox.org
c39af52b
fix startup items in apps file with specified screen number
Mark Tiefenbruck mark@fluxbox.org
51377a3c
removed session.screen<N>.imageSearchPath, as it was:
1) undocumented
2) improperly implemented
3) responsible for broken pixmap loading in styles
Mark Tiefenbruck mark@fluxbox.org
0ca0aa1a
fix initialization of menu fonts
Mark Tiefenbruck mark@fluxbox.org
4a7a1437
load style before loading theme objects, remove duplicate theme load
Mark Tiefenbruck mark@fluxbox.org
8516f1e2
changed CommandRegistry to a template class, renamed to ObjectRegistry<Type>
Mark Tiefenbruck mark@fluxbox.org
90f4f1ec
fix compile issue with gcc 4.3
Mark Tiefenbruck mark@fluxbox.org
d90befb4
StringUtil::removeFirst/TrailingWhitespace didn't truncate a string that was only whitespace
markt markt
254fb289
fix --with-style configure option
markt markt
b001ea9f
close menus when they lose focus, instead of on [exec] commands
markt markt
8b746404
added FbTk::CommandRegistry, decentralized command parsing, and made them auto-register
markt markt
daca07ed
added edge resize modes
markt markt
474e2017
only allow one open menu at a time
markt markt
38877987
update default keys and init files for OnTitlebar code
markt markt
95f9c2d6
added OnTitlebar modifier to keys file
markt markt
0b416600
fixing previous commit
markt markt
f1251964
updated turkish translations
markt markt
d29a3ec5
make sure subj != 0 in IconbarTool::update()
markt markt
e30f235d
fix from NetBSD for using the home directory of the user who compiled fluxbox
also fix 'regenerate menu' code to use correct program name, rather than $0
markt markt
9ed25584
make sure window commands operate on the right window
markt markt
d482cf6a
somewhat fixed DeiconifyCmd
markt markt
bb6906fa
added special FocusIn/Out MouseOver/Out ChangeWorkspace keys
markt markt
58cd017d
applied some patches from NetBSD
markt markt
3705d46b
added translations for zh_TW
markt markt
cdfafcaa
set resize increments to 1 when set to 0 by the application
markt markt
0a7cb3db
use winclient instead of fluxboxwindow for matching, and removing old code
markt markt
675bc5d6
added conditional statements to keys file
markt markt
08ebff4b
move titlebar click handling to FluxboxWindow, fix buttons getting ungrabbed
markt markt
2e96a07c
added :Focus key command
markt markt
ea7801d1
ToggleDecor from a window with Deco=TAB should hide the tabs, rather than show titlebar
markt markt
197fefe7
fix minimization
markt markt
eada20a2
fix signaling when changing tabs
markt markt
bed4ba4d
a little fix for focusing lowered tabs on other workspaces
markt markt
5d704332
allow arbitrary window patterns in iconbar
markt markt
807a1b55
fix font updates in iconbar
markt markt
807724db
one more fix again
markt markt
8d4a6d51
one more fix
markt markt
5db87437
fix crash bug when cycling focus
markt markt
54317a01
fix problem with stuck windows from previous patch
markt markt
46c8e217
fix alt-tab
markt markt
97f7c3e1
various refactoring and minor changes
markt markt
2c4e1f9a
RevertToParent instead of RevertToPointerRoot on window close,
as sometimes keys would go to the window under the mouse before a new window was focused
markt markt
4c72b13a
update autoraise delay for open windows on reconfigure
markt markt
ab01fc56
don't set focus to globally active windows
markt markt
64813f62
a few random fixes
markt markt
88f580ec
move fullscreen windows to normal layer when they lose focus
markt markt
a092d3fc
fixed gcc 2.96 compile problem
fluxgen fluxgen
e7513df4
added focusable.hh
fluxgen fluxgen
2ef6a7af
fix _NET_CLIENT_LIST updating on window close
markt markt
f3afe787
introduced workspacename for ClientPattern, and some miscellaneous cleanup
markt markt
74eb584a
reenabled raising window if window was moved by mouse by 0 pixels
mathias mathias
b5040211
really fix placement when head is remembered but not position
markt markt
42ace977
allow changing maximization state while window is fullscreen
markt markt
ecead0f5
adding/removing workspaces wasn't updating menu
markt markt
da545ea0
we already have a subroutine for this
markt markt
1c05af43
allow remembering minimized, maximized, and fullscreen state
markt markt
c849d3c7
allow negated patterns
markt markt
c2badda5
added [mouse] pattern, matches against prop HEAD and the mouse position
fluxgen fluxgen
1748e8ec
added missing mouse3 and space before startresizing
fluxgen fluxgen
41aec985
we can be in shutdown state, which means keys can be destroyed
fluxgen fluxgen
c6a2605d
replaced ModKey with new key commands StartMoving and StartResizing
markt markt
f72633a0
allow decorations bitmask to be specified with 0x
markt markt
72299cca
some xinerama features
fluxgen fluxgen
c7d4438d
fixed bug #1809786
fluxgen fluxgen
72130f35
add OnWindow modifier to keys file
markt markt
7e4f8a38
add support for transient windows in client patterns, and merge a few more changes from pre-devel
markt markt
79cd21ce
bugfix for SendToPrevWorkspace/TakeToPrevWorkspace, destination was calculated
wrong due to (wrong) implicit casting effects
mathias mathias
a59428d6
merged changes from pre-devel
markt markt
41b5c6da
updated ru_RU (thanx Konstantin mit3z Shashkin)
mathias mathias
cfb1e06d
deiconify windows via :Deiconify in reverse order
mathias mathias
7c11e769
svn version again
fluxgen fluxgen
fee1cc1a
changed default style to bloe
fluxgen fluxgen
9091cf10
updated background options from tenner
fluxgen fluxgen
e504a4af
update from tenner
fluxgen fluxgen
799946b6
update from tenner
fluxgen fluxgen
30789c82
update from tenner
fluxgen fluxgen
4e0861de
update from tenner
fluxgen fluxgen
11d01d60
added new style bloe, thanks Sven Michel
fluxgen fluxgen
d8455124
minor addons to fbgm (patch from Patrik Wenger <paddor at gmail dot com>)
mathias mathias
e28ed27b
new version
fluxgen fluxgen
a62b70dd
forgot to add Makefiles
fluxgen fluxgen
9d3bca8e
added new styles from Sven Michel aka tenner, removed some old styles too.
fluxgen fluxgen
ac215248
load default key bindings on error
simonb simonb
143cb656
minor fix
fluxgen fluxgen
528d5969
update
fluxgen fluxgen
94594020
updated ru_RU, thanks Slava Semushin
fluxgen fluxgen
d5aa50be
move dock windows to DOCK layer and remove decorations
markt markt
a2946ae3
Added support for slovak language, thanks Martin Lukac.
fluxgen fluxgen
16218ae9
fix crash when changing toolbar visibility with empty toolbar.tools
markt markt
adddf014
dont use hardcoded Mod1Mask anymore
mathias mathias
270782c8
fix problems with focus order when changing workspaces
markt markt
6f2c707e
updated sv_SE translation
fluxgen fluxgen
fa4766ed
added pidgin
fluxgen fluxgen
ce91ab17
updated de_*
fluxgen fluxgen
55fde333
updated de_* translation, bug #1767986. Thanks Christian Loosli
fluxgen fluxgen
04f96644
updated
fluxgen fluxgen
78787fe2
updated project number
fluxgen fluxgen
8db6dc68
cleaned and updated
fluxgen fluxgen
1d8bec0a
new copyright year
fluxgen fluxgen
614a6a91
removed README, README.style and README.menu
fluxgen fluxgen
3403b148
removed obsolete docs
fluxgen fluxgen
0b2ba104
removed
fluxgen fluxgen
8ed1a4d5
clean slate
fluxgen fluxgen
577f0020
Removed section GROUPS and fixed some other minor stuff
fluxgen fluxgen
66c537e1
Changed to Fluxbox Team
fluxgen fluxgen
6610ef6f
svn version
fluxgen fluxgen
ba0677c5
clean slate for 1.0
fluxgen fluxgen
02c3749e
updated for 1.0
fluxgen fluxgen
65d249eb
updated for 1.0
fluxgen fluxgen
672d182b
updated sv_SE translation
fluxgen fluxgen
42d17b3b
updated sv_SE translation
fluxgen fluxgen
53c3c91c
update chinese translation, thanks yhlfh
simonb simonb
276c4b47
fix chinese encodings
simonb simonb
a0f44b9e
Fix handling of Shape, stage 2 (more involved/complete handling)
simonb simonb
a04eed16
fix elements of shaping, more to come
simonb simonb
8c53e886
rotate toolbar texture along with toolbar
markt markt
d77de673
fix KDE dockapps on restart
simonb simonb
538e33fe
some minor changes
markt markt
a9103a89
remember role too by default
simonb simonb
2006d20d
remember on the class AND instance name by default
simonb simonb
f46660f7
translation update from guillote_GNU
simonb simonb
1b65ec58
revert accidental change, sorry mark
simonb simonb
58e78a6c
add some bug numbers
simonb simonb
0ae1f4f5
fix encoding of [begin] label
simonb simonb
736c43f9
fix bug with --with-locale
simonb simonb
124cdb46
update generated files
simonb simonb
288dfa6e
only possible anomaly I can see here
simonb simonb
dcf5e680
thanks izhirahider, couple of missing strings
simonb simonb
119a4d0c
add some missing translation strings
simonb simonb
b2733603
Fix system tray restart issues
simonb simonb
c144b734
Add two missing strings
simonb simonb
8da54ca0
add some decorations to torn menus, and fix restart without an argument
markt markt
363764db
fix ToggleDecor for fullscreen and decorationless windows, plus some other cleanup
markt markt
9545871f
minor fix for alt-tab
fluxgen fluxgen
8de73d0f
updated behavior of alt-tab to match pre-devel, fixing bug #1755698
markt markt
5aecf58d
make sure menus close only when right clicking down and up on the titlebar
markt markt
857a6d0a
remove _NET_WM_DESKTOP, _NET_WM_STATE, and Gnome hints on client close
markt markt
135019ab
fixes for --program-prefix and --program-suffix, plus fixed overwriting init file on reconfigure
markt markt
b735d405
allow negative indices in :Workspace <int>
markt markt
18cd70f7
save workspace names, and some fixes for menu behavior
markt markt
d39a5489
we know better than MPlayer
markt markt
ae3c3042
some security fixes for fluxbox-remote, and a minor change for the gvim fix
markt markt
823ce0d0
stop gvim from repeatedly resizing tabbed windows
markt markt
24c02319
minor cosmetics to fluxbox-remote, display of usage
mathias mathias
b70f4c14
fix updating of systemtray and kde dockapps in slit on background change
added fluxbox-remote.cc
markt markt
86031f9c
don't create gigantic images when XGetGeometry fails in FbTk::FbPixmap::copy
markt markt
2ddc0290
use old size/position in apps file when the window is shaded or maximized
markt markt
b00d53eb
enable Xinerama and Imlib2 by default
markt markt
562fa264
minor usability fix for :Tab command and fixed handle rendering when switching from a style without them
markt markt
5fcb520b
fixed DOS when toolbar.button.borderWidth is large and toolbar.bevelWidth > 0
moved the transparency menu up with the rest of the submenus in the config menu
markt markt
69d63da5
added key commands :AddWorkspace and :RemoveLastWorkspace
markt markt
7783a8c8
more fixes for _NET_WM_STATE_MODAL and _NET_WM_STATE_DEMANDS_ATTENTION
markt markt
61b757d8
make internal tabs default
markt markt
0f9f1934
fixed implementation of _NET_WM_STATE_MODAL
markt markt
8e75ace9
fixed the groups file for the last time
markt markt
8fbeaf27
little hack for fixing _NET_WM_STATE_DEMANDS_ATTENTION with tabs
markt markt
329fca30
updates for compiling with gcc 4.3
markt markt
35251ef5
changed bsetroot to fbsetroot
fluxgen fluxgen
bbdc61c8
strip off extra bits set by Xorg in event state
markt markt
9522db45
added some entries to fbgm, plus some minor bug fixes
markt markt
b4b927da
moved function so fluxbox compiles with --disable-remember
markt markt
6f8a5c7a
small fix for the /bin/sh issue .. just using /bin/zsh now
mathias mathias
222d8cd7
don't tab transient windows from apps file, and change their layers when the main window does
markt markt
dff2aa33
fix for the following problem:
  on *bsd /bin/sh is not just a symlink to /bin/bash as on most linux's 
  but a real standalone shell. and it behaves differently from "bash -c"
  behavior .. it doesnt exec the command given but waits till the command
  finishes. as a result a lot of "rogue" a flying around. solution is now 

     ( $SHELL or /bin/sh ) -c exec <cmd>
mathias mathias
467cb9ac
* Fix fluxbox.1.in, and asciidoc, menu command is "wallpapers" not
  "wallpaper". asciidoc manpages are stale.
--Tis line, and those below, will be ignored--

M    ChangeLog
M    doc/fluxbox.1.in
M    doc/asciidoc/fluxbox.txt
M    doc/asciidoc/fluxbox.es.txt
M    doc/asciidoc/fluxbox.de.txt
grubert grubert
8f89c865
update menu xinerama settings after moving
markt markt
c16f838a
deiconify windows when auto-grouped with new window, when using focusnew
markt markt
678703b0
open slit menu properly wrt xinerama
markt markt
226ec5d3
send transient windows along with sendtoworkspace
markt markt
f9c5bfec
fixes bug with rox panel flickering with mousefocus
markt markt
e6e784e2
fixed infinite loop caused by removing the last workspace when it contains windows
markt markt
bbea139c
reverted deletion of generated*.m files
mathias mathias
fc0b87b2
fixed bug #1717782, Bad fullscreen in ooimpress.
fluxgen fluxgen
df022d0f
added fullscreen test
fluxgen fluxgen
b4d15cf5
deleted all generated nls files
mathias mathias
c03b240a
updated ko_KR translations (thanks Jo Hyeonseok <trand at gmail dot com>)
mathias mathias
4377bf1e
fixed bug #1718112, memory leak in FbWindow::textProperty
fluxgen fluxgen
75f8d95c
fixed bug #1718112, memory leak in FbWindow::textProperty
fluxgen fluxgen
cf9c58bb
added title test for _NET_WM_NAME and WM_NAME memory leaks
fluxgen fluxgen
0f23536e
make sure included menus get remembered, in case they're modified
markt markt
cd73887b
added include command to ITypeAheadable.hh header for tolower()
markt markt
d927862a
fixed some window placement issues
markt markt
30834f9f
added seamonkey to fbgm
markt markt
805fae93
this should be a whitespace separated list
markt markt
f1fe336c
changed interpretation of maximize horz/vert on a maximized window
markt markt
f2118643
fixed tabs disappearing on reconfigure with [Deco] {TAB} and tabs in titlebar
markt markt
b66dde6e
better check these too
markt markt
008685a9
fixing return value checks for utf8 strings
markt markt
db2904e1
fix infinite loop caused by deiconify command
markt markt
5eb658a5
fixed a bug in parsing cli, thanks to steven kah hien wong <steven at zensaki dot com>
mathias mathias
35605d9c
fix segfault on exit/restart after having opened a custommenu
markt markt
ca8c53ea
actually using now the new manpages
mathias mathias
4929bda3
use asciidoc-generated manpages from now on
mathias mathias
cd238a47
disabled resizing shaded windows
markt markt
d267acc8
fix slit onhead with BOTTOMLEFT placement, patch from Tomas Janousek <tomi at nomi dot cz>
mathias mathias
3980e3c4
fixed crash when CustomMenu doesn't point to a real file
markt markt
622d75f6
fix for fbsetbg -l when last wallpaper was using fbsetroot
markt markt
6ac57655
basicly cosmetic changes, patch by slava semushin
mathias mathias
20a339fc
small modifications
mathias mathias
118d4b14
patch from Hoeckner Bernhard (berhoeckner at gmx at) for fluxbox-generate_menu
mathias mathias
1f55dcc9
updated asciidoc docs, added german translation from Christian Loosli
mathias mathias
aff55b63
added alias "kill" for keys file
markt markt
e275433e
apparently some people prefer English to Finnish
markt markt
3b9351be
menu from workspacename tool wasn't focused, and fixed unpressed button rendering
markt markt
52a96c4e
use proper test for whether it's a number.
simonb simonb
91963544
Only replace numbers with zeros when calculating clock width.
Otherwise width of things in proportional fonts can be way out.
sf.net bug #1545066.
simonb simonb
b09aae85
changed caps lock detection to use LockMask, so the actual key can be used for Mod4, etc.
markt markt
e89d4aa2
getting rid of more useless files in the repo
markt markt
590091bc
adding and removing things from the repository
markt markt
06fb6cbd
fixed a bug, removed some unused code
markt markt
48f761f9
fixed problem with creating windows in iconic state
markt markt
c883e477
added some locales
markt markt
27bed4b2
more documentation
fluxgen fluxgen
2519e261
fixed some compiling issues
markt markt
9b84090f
added document
fluxgen fluxgen
311cb38f
Fix window menu context when opened by clicking on tab
simonb simonb
383f99d4
Default value for $LAUNCHER, plus add util and util/fbrun to the 
PATH when generating install menu so it can find fbrun.
data thus needs to come after util in toplevel subdir processing so
that fbrun is built
simonb simonb
9ce423ab
emit [encoding] tags around the menus
simonb simonb
b38f4e93
set m_icon_title to, you'll never guess, the icon title
markt markt
a492e33a
added fi_FI support, thanks Pasi Juvonen
fluxgen fluxgen
42d08221
added fi_FI support, thanks Pasi Juvonen
fluxgen fluxgen
6e143b51
startup file wasn't being run properly when first created
markt markt
fca762aa
little fix for clients in tabbed windows raising themselves
markt markt
f411fdb3
fixed french translations
markt markt
d8e66eee
updated french translations
markt markt
6b35dc92
removed warning for no background in style
markt markt
ec9a8410
minor changes
fluxgen fluxgen
9665c956
fixed the changelog
markt markt
48c3af9f
fixed a little bug in fbsetbg when DISPLAY doesn't have .0 after it
markt markt
4ac761a3
workspace menu wasn't updating when window titles changed
markt markt
9ee2ee0f
small update for the copyright date
mathias mathias
a744b152
fix a little compile error on some machines
markt markt
2b7f9a58
hidemenus hide custommenus and fix custommenu memleak
markt markt
ff3ea6f5
new release
fluxgen fluxgen
bdf2ff4e
updated docs in asciidoc-format
mathias mathias
087a1c04
added CustomMenu to the NEWS
markt markt
ec90c10e
added mouse binding news
fluxgen fluxgen
35398b91
updated
fluxgen fluxgen
86e2fb1b
update
fluxgen fluxgen
f9551529
1.0rc3
fluxgen fluxgen
d7eebb62
active menu item wasn't getting reset properly when closed from [exec] with buttonpress
markt markt
063468ea
size of relative items in toolbar wasn't being calculated properly
markt markt
b3f7488a
changed remembering of positions so it only remembers position relative to the current head
that way, the windows don't get misplaced when the window is on second head, or when not using the head anymore
markt markt
4945b88e
function to find already existing keychains wasn't working properly
markt markt
7ba4f04a
change workspace number of iconified, stuck windows when changing workspaces
markt markt
ca1ca328
maximizing window with aspect ratio caused windows to be made larger than the screen
markt markt
84e9f970
fixed a little bug with placing new menus
markt markt
74216903
added custommenu command
markt markt
d948abb8
fixed parentrelative menu highlight bug
markt markt
9db57d56
make sure autogrouped windows get added to the apps file
markt markt
1a8edfa7
changed default toolbar layer to DOCK
markt markt
f1d32546
make sure iconbar text padding gets reapplied on reconfigure
markt markt
8bda8939
make sure we don't steal focus from unmanaged windows
markt markt
61cf8277
removed some useless code
markt markt
4ed76f99
don't mark menu as focused, even if it gets a FocusIn, when it's not visible
markt markt
82f02f44
I seem to have forgotten this in the last patch
markt markt
e407bb80
fix a little issue with tempraising windows with transients
also, do a proper revert focus when closing a transient, rather than focusing transient_for
markt markt
40c0c7c3
fixed bug with keys not working when using a style background
markt markt
ed3731fa
session.screen0.defaultDeco now understands TAB, BORDER, etc.
markt markt
8c5fd07d
fixed compiling error with xft disabled
markt markt
b9e39764
more little changes to typeahead (thanks Matteo, plus changes from me)
markt markt
0d02b9bd
little bug fix for menu typeahead (thanks Matteo)
markt markt
4c1a2429
moved some code around (regarding event handling) in preparation for upcoming features
markt markt
9477af82
removed session.numLayers resource, as it was useless and caused segfaults
markt markt
d03f39f8
fixed credit for typeahead patch
markt markt
a233229b
added support for typeahead in menus
markt markt
d6a7bd78
add XK_KP_Enter to menu
markt markt
2f63ba23
changed FocusControl::cycleFocus() to take a list of windows as an argument
also fixed some latent bugs and compiler warnings
markt markt
6de34141
whoops, didn't mean to add these
markt markt
a0944a02
ignore borders when doing FocusLeft, etc.
markt markt
ec9cd21d
some code simplification and bug fixes
mainly, using a non-zero menuDelayClose allowed you to have multiple submenus open
markt markt
d07fd13f
fixed a typo
markt markt
589ecfc0
respect external tabs in ArrangeWindows, patch from Tomas Janousek <tomi@nomi.cz>
mathias mathias
3503f759
lots of unrelated fixes
markt markt
8ce203c9
this shouldn't be necessary
markt markt
78de14a9
update systemtray alpha with toolbar alpha
markt markt
68aa6be2
little sanity check
markt markt
61ed1fcf
and check for maximized state in Ewmh::updateState() while we're at it
markt markt
002e6232
send statesig when maximizing/restoring a window
markt markt
ca7b5ee4
update titlebar buttons on reconfigure
markt markt
e85569f1
added some support for XEMBED protocol in systemtray
markt markt
ed96d79a
command -v seems to cause problems for some distros, despite being POSIX and built into sh
markt markt
3d789a1e
ButtonRelease should only trigger actions if ButtonPress was on the same button
markt markt
b2957c60
when a client in a tabbed window asks to be raised, set it to the current client
markt markt
bd3d8d5c
fixed some strange behavior with tabbing a transient to its main window
markt markt
ca710b37
little cleanup
markt markt
9212e1d7
an empty slit without autoHide but with clients in the slitlist file still created a strut
markt markt
2f130ce8
update workspace names on reconfig, and don't truncate list of names when writing rc
markt markt
58eb3853
fixed some issues with creating and alt-tabbing to transients of inactive tabs
markt markt
282326a9
little cleanup
markt markt
83a7202a
forgot to revert part of my previous patch
markt markt
f42d39cc
still fixing bug with session.ignoreBorder
markt markt
62b23326
windows weren't getting set resizable when MaxSize and MinSize hints changed
markt markt
48bd3f49
changed default value for decorateTransients in the init file
 -- see sf.net bug #1604959 for explanation
markt markt
4eb87522
it was still possible to move a window by grabbing the border with session.ignoreBorder: true
markt markt
6b92622d
window was growing when we received a configurerequest that changed width but not height
markt markt
6fdda1a3
added mouse bindings to the keys file
markt markt
93d8310c
wrong client was raised when attaching an unfocused window to the focused window
markt markt
07ea9ec4
closing a window from the workspace menu should close the chosen client,
rather than the active tab in the same window
markt markt
ebd2fa9a
change defaults for fullMaximization and autoRaise
markt markt
e4488da1
some fixes for grouping with the apps file
markt markt
cf6e471f
fix remembered layer and layer menu
markt markt
07a3b393
clicking on the edge of a button didn't work
markt markt
e46f152e
updated documentation
markt markt
2f4d0f6c
revert svn 4684, transparency in window buttons
markt markt
2b25b05b
added SetAlpha key command
markt markt
de9ac128
another little fix
markt markt
bbcfc75c
minor cleaning
fluxgen fluxgen
a8003ba2
minor cleaning
fluxgen fluxgen
d446ba26
bunch of cleanup, little bug fixes
markt markt
c0bfde4a
fix some crashes with empty menus, and fixed default workspace names
markt markt
e35670d4
opening window on different workspace should put it at front of focused list with focusnew
markt markt
46fff8bf
little cleanup
markt markt
0f07f98a
don't raise windows above OverrideRedirect windows, or else they eventually get restacked on the bottom
markt markt
69bac5d5
detect shell from environment variable
markt markt
a5ee8e9d
documented scroll actions in the manual
markt markt
240ebcb3
allow transparency in window buttons
markt markt
92537091
don't move window frame when closing tab with non-northwest gravity, just the client
markt markt
feb56381
various changes to menu behavior
markt markt
5503545d
use uppercase arguments to fbsetbg from styles
markt markt
383b82bc
change rootcommand entry in docs to reflect changes from previous revision
markt markt
832dba7d
let styles override rootCommand in init, plus removing some code I accidentally left in
markt markt
9de41b30
minor changes for cascade placement
markt markt
a8e3f500
right click on iconbutton toggles menu
markt markt
4bb6a027
automatically reconfigure after changing alpha from menu, using a timer
markt markt
a2804705
prevent per-window alpha menu from scrolling past 0 or 255:
suppose your alpha was at 3 and then you double-clicked -- IntResMenuItem was
setting the alpha to -2, which in FbWinFrame::setAlpha got cast to an unsigned
char, or 254; then, IntResMenuItem would check if the value was less than 0,
which, of course, it wasn't
now, IntResMenuItem checks if the value will exceed the max/min before setting
markt markt
2a9e8e27
fix rootmenu disappearing on reconfigure -- I can't tell that the code I
removed here did anything useful; it's probably a remnant of an old menu
implementation
markt markt
db0b1fad
minor edits to manual
markt markt
e622927e
stay on same workspace after restart
markt markt
6512024f
allow windows to deiconify themselves
markt markt
fc502861
make sure we ungrab the keyboard when changing the alt-tab screen,
or else we'll lose an entire keystroke!\
markt markt
6ed9f38b
several fixes for background option in styles
markt markt
16743aad
don't change focus order unless the user specifically focuses a window
markt markt
fa251952
forgot this
markt markt
09cc0bf6
little cleanup
markt markt
9cace1f2
add feature to minimize windows in current layer
markt markt
45743c6f
fix another 64-bit window property
markt markt
4390fb34
fixed _NET_WM_DESKTOP regression
markt markt
8c98b9e9
this code accidentally went in with revision 4661
markt markt
7bac08ef
another little bug with iconbar rendering
markt markt
d2bb6023
remove race condition from workspace warping code
markt markt
186ebd58
little cleanup
markt markt
a53dabd3
fix little bug with iconbar rendering
markt markt
a1b78a1e
I overkilled RefCount. Too tired. Heres the proper fix.
simonb simonb
5385eb90
par tof per-window alpha changes
simonb simonb
dae3ecf9
part of per-window alpha changes
simonb simonb
3562ec0a
add the missed files
simonb simonb
93ec253f
forgot to svn add the files
simonb simonb
440c69af
fix intrinsic problem with refcount
adjust slit menus to deconstruct properly
simonb simonb
1cc7b60a
per-window transparency, including apps and menu support, plus some 
infrastructure and related changes. Thanks for original patch from 
Julien Trolet, dmxen at sourceforge dot net
simonb simonb
cfd33dd7
updated nb_NO translations
markt markt
4628ff76
set opacity properly
markt markt
94e2c890
make "force pseudotransparency" menu item work immediately
markt markt
8db2d4f2
little fix for previous patch to transient window raising
markt markt
590f3270
oops, didnt mean to commit this change, twas for testing, so revert it
simonb simonb
1f7b12cc
move triangle drawing into FbDrawable
Make MenuItem triangles proportional
simonb simonb
2e438fde
set active client when raising a transient window
markt markt
4ffd744f
window wasn't staying focused when dragging across workspaces with outline window moving
markt markt
dbe52875
fix window menu placement with toolbar at top of screen, and disable titlebar when doing it
markt markt
416cca0e
don't change focus to a window that doesn't accept focus, see bug #1626114
markt markt
8930a711
only grab keybindings on screens managed by fluxbox
markt markt
64fcedda
use LC_TIME for interpreting clock locale.
Fix something likely to break locales on BSDs and things without 
nl_langinfo
simonb simonb
fcc756c0
patch needed to be a bit heavier to properly separate a string for 
spacing and a string for the text...
simonb simonb
23c9ea16
properly fix the nls issue, adding a new string
simonb simonb
20cf04f9
fix nls strings to use %04d instead of %4d, as 4d doesn't pad properly 
with non-monospaced fonts
simonb simonb
ad7fd2d8
fix loading of rotated fonts on style change
simonb simonb
3a79de03
change default Xft font so that it works properly with rotation (see 
notes in ChangeLog or FbTk/Font.cc)
simonb simonb
87b86267
insignificant change to the makefile
markt markt
fdaba226
random attempt to fix an aMSN bug
markt markt
41adf369
little cleanup
markt markt
9d5e2f14
add session.screenN.defaultDeco: <bitmask> to the apps file
markt markt
6d4d17b5
little cleanup
markt markt
3bbcd354
this seems to be a change that will affect a lot of things,
so it should wait until after 1.0, even though I think it's important
markt markt
e71346bd
set IconicState on all unmapped clients, and unmap all clients when set to IconicState
also, a little bug fix for previous commit
markt markt
1dc07de3
move iconified windows to the end of the focused list for cycling/reverting
markt markt
e2e94031
don't run [startup] items on restart
markt markt
aeac1b33
scaling color values so that they have the right intensity
markt markt
590b6c93
replace `which' in fbsetbg and fbgm with `command -v'
markt markt
1cad4ca5
fix capitalization of valknut in fbgm
markt markt
85884023
don't escape regex metacharacters when writing apps file
markt markt
9910094b
don't set menuicon background to style's pixmap when the window has an icon
markt markt
d6a3af53
don't run [startup] items if fluxbox fails to load
markt markt
e9dd7670
don't run [startup] items in apps file on reconfigure when apps file has been modified
markt markt
e8a86fb9
check return code when setting utf8 workspace names
markt markt
5ee7d3e7
update window scroll action and direction on reconfigure
markt markt
9e10811c
update toolbar visibility on reconfigure
markt markt
b3a94f59
Fix _NET_FRAME_EXTENTS on 64-bit systems
simonb simonb
7a9fcd66
don't add 2 pixels to toolbar.height from init file; oh, and I named the remember menu to help debugging
markt markt
a58453fa
allow focus to revert to stuck windows, and we'll see if it still causes
problems with normal focus -- that comment is older than FocusControl.cc, and
I've made a lot of changes to focus handling since then; just disabling it
wasn't the right thing to do, anyway
markt markt
e9f7c0f2
fix some misbehaving settings in the apps file
markt markt
9d1447b0
more dead functions
markt markt
17a92c32
little fix for nls in keys
markt markt
aee80a24
_FLUXBOX_GROUP_LEFT wasn't being removed on detach, and the correct client in tabbed windows wasn't always being raised on restart
markt markt
14409199
Change to data structure for keybindings, ungrab and grab keys when switching
keymodes instead of deciding whether we need it and repeating the key.
markt markt
83b9e392
Rotate items in toolbar the same way as tabs
markt markt
2ff67d09
Stop cycling focus when another command gets run, even if modifiers are still down
markt markt
ecb0d95b
Apparently, this code did the following:
  - create an empty database
  - load the rc file into a database
  - merge the empty database into the second one
  - write the result to the rc file
  - delete both databases
markt markt
3efe68ff
removed duplicate headers, patch from Slava Semushin aka php-coder
fluxgen fluxgen
a3c5fd60
cosmetic patch from slava again
mathias mathias
e5e76e77
Cosmetic patch from Slava Semushin
mathias mathias
426c12c2
changed mode for ~/.fluxbox/startup to 644 so people on noexec-mounted
partitions dont run into problems
mathias mathias
4c637856
small changes to the asciidoc-docs
mathias mathias
10082d82
cosmetic patch from slava semushin, removes whitespaces and
uses only those things from "namespace std" what we really need.
mathias mathias
34b7f7dd
comment
fluxgen fluxgen
7875a103
initialize m_state
fluxgen fluxgen
857e9604
added CachedPixmap
fluxgen fluxgen
1928de1f
update
fluxgen fluxgen
a3b30e1c
some cleaning, using CachedPixmap
fluxgen fluxgen
9f4baeb0
cached pixmap helper, works like auto ptr for cached pixmaps
fluxgen fluxgen
0e2a8b9a
fix for the fbsetbg-fix from yesterday
mathias mathias
fa675bb3
fixed bug #1561482, crashed with toolbarmenu
fluxgen fluxgen
750caf08
fixed little issue with fbsetbg showing the warning about missing wpsetters even if the user only pipes arguments towards fbsetroot
mathias mathias
3e6bb03a
removed
fluxgen fluxgen
e27dfd97
added include path
fluxgen fluxgen
d93919e7
translations and minor updates to fbgm, patch from antonio gomes (izi)
mathias mathias
b1b8bd12
fix minor menu separator highlight issue
simonb simonb
5b502438
unused function
markt markt
db80ce64
fix restoring fullscreen windows
markt markt
f3ab9e6b
silly warnings
markt markt
1ef653cd
little hack to make sure background only loads once
symptom of a deeper problem with loading styles
markt markt
2e7fd568
portuguese updates from izhirahider
markt markt
66e738da
fix crash in ClientPattern
simonb simonb
839cc974
implement _NET_WM_WINDOW_TYPE_MENU AND _NET_WM_WINDOW_TYPE_TOOLBAR
markt markt
b6bbc37c
remove the "utf8" translation in el_GR, should be UTF-8
Thanks Slava Semushin
simonb simonb
6c4dcc67
it never existed (what never existed?)
markt markt
bd8ef1bc
remove FbTk::Menu::enter/leaveNotifyEvent -- caused problems with placing submenus
markt markt
9b9d5a96
fix some compiler warnings in gcc 4.1
markt markt
e2c31b72
updated docs
markt markt
2d14b33e
distinguish between startup and restart
markt markt
7b49c4a0
don't call placement strategy on maximized or fullscreen windows
markt markt
721c0220
a little fix for auto-grouping after restart
markt markt
c65b949f
updated man fluxstyle
markt markt
b62c3771
forgot about autogrouping
markt markt
53adbd99
allow aspect/centered/tiled options with random in fbsetbg
markt markt
1dd5e014
don't re-apply remembered settings on restart if they are set as window properties
markt markt
c2b35f06
updated spanish translations
markt markt
1cd95f5c
updated german translations
markt markt
74dbe310
add es_AR to the list
markt markt
beeb133c
updated pt_BR translations
markt markt
eba4a0e3
updated spanish translations, added es_AR
markt markt
d415ee46
who?
markt markt
bb2758f7
change the debug output in FocusControl::setFocusedWindow()
markt markt
52d3f3f6
don't raise a window after cycling if it has been minimized
markt markt
81c650c6
add support for negative arguments to :Tab
markt markt
fc400002
updated documentation
markt markt
59f150d5
check if window is stuck when using followmodel
markt markt
00d86272
rename session.screen*.iconbar.deiconifyMode to session.screen0.userFollowModel
markt markt
9053e772
update _NET_WORKAREA on screen resize
markt markt
5f4f8aa6
updated portuguese translations
markt markt
b8fe83c4
fix ClickTabFocus and MouseTabFocus in nls
markt markt
fc550ba2
whoops
markt markt
f031de3c
little cleanup, remove FluxboxWindow::isInitialized()
markt markt
e66c3dd8
list windows in iconbar in creation order
markt markt
05faf532
added missing MouseTabFocus and ClickTabFocus
mathias mathias
34543b18

        
mathias mathias
83953b8f
don't jump to rememberd apps on restart
markt markt
f66d91cf

        
markt markt
98fba4fd
little fix-up, just in case some transient windows have their own transients
markt markt
7de8cabc
don't switch windows with transients in initWindows() - just do transient later
markt markt
0954a0b6
fix torn menus on exec
markt markt
e2670640
updated pt_PT translations from Antonio Gomes)
mathias mathias
45d1e998

        
mathias mathias
24b00ec7
started to convert fluxstyle to asciidoc
mathias mathias
8757478d
typo in manual
markt markt
14efe686
added resource and menu item for maximizing over tabs
markt markt
9229f8bc
don't revert focus away from command dialogs
markt markt
887fea45
fix m_background_loaded
markt markt
538b630f
forgot about the menu
markt markt
be2f40a1
use a timer to make sure focus always reverts if possible
markt markt
b0b28c4b
also move icons when removing a workspace
markt markt
def26c19
fix restacking while cycling
markt markt
85b2664d
dead resource
markt markt
2d971ad4
ewmh compliance updates
markt markt
a72fc5e0
unfix *lock modifiers, ignore scroll lock on events
markt markt
9be679da
allow negative width and height
markt markt
7a222108
wrong bug number  8)
markt markt
25a9a315
fix _NET_WM_MOVERESIZE to interpret x_root and y_root correctly
markt markt
f9ade894
properly revert focus when two windows close at the same time
markt markt
f4d1af12
keep tabs in same order on restart (except some extremely unlikely cases)
markt markt
a736f12a
update for next generation
fluxgen fluxgen
155cf7aa
whoops
markt markt
d666bec2
preserve order of focused windows on restart
markt markt
2732e238
fixed some uninitialized variables
fluxgen fluxgen
2af3f0a6
Fixed bug #1362913, did not check format pointer.
fluxgen fluxgen
06320420
Fixed bug #1362913, did not check format pointer.
fluxgen fluxgen
fde970a2
include iconic windows when cycling
also, stop cycling on one screen when cycling begins on another
markt markt
d32a7af7
remove lock from RootTheme and redundant loadTheme from fluxbox
markt markt
e44da5f9
fix background: random so that background.pixmap allows a directory name
markt markt
a7da03c0
a little code simplification
markt markt
f8e56683
mention in the manual what head 0 means
markt markt
c929da40
replacing some instances of focusedWindow()->fbwindow() with focusedFbWindow()
markt markt
e1fdf51f
just a temporary fix
fluxgen fluxgen
349441ec
dead function
markt markt
bf3aee5f
next/prevwindow toolbar buttons break mousefocus
markt markt
7a79953f
fix detach focus again  8)
markt markt
8a640f8d
setting focus the right way
markt markt
f7574fe1
fix implementation of _NET_MOVERESIZE_WINDOW
markt markt
4e820f5b
new dead function
markt markt
5b2e9bf0
update
fluxgen fluxgen
f42c0ea0
bug number
fluxgen fluxgen
16bec1be
fixed bug in Slit
fluxgen fluxgen
202b87ae
dont use a strut if slit is empty
fluxgen fluxgen
1cfd936f
update
fluxgen fluxgen
717e207a
update shape after resize, fixes bug #1491571
fluxgen fluxgen
e4d68247
changing between internal and external tabs doesn't affect iconified windows
markt markt
2de7a0b8
use auto-raise for attached window
markt markt
84ca1f2e
re-fixing the focus after fixing the crash bug
markt markt
b407e121
fix crash on startup from iconv_close of an invalid descriptor
simonb simonb
c3846743
fix some sizing issues with gravity fixes
simonb simonb
aa589f3b
autogrouped windows from groups file didn't raise, bug #1449608
markt markt
1cc6cc4b
new windows don't steal focus from fullscreen windows
markt markt
6cd9ad46
some dead resources and the functions that go with them
markt markt
12e80f3f
fix gravity
simonb simonb
7d2f7740
LOCALE_PATH needed some extra magic to give an expanded value in the 
config.h file, but unexpanded through the make install process
simonb simonb
864ba101
make sure that PREFIX is expanded in the correct place (make stage, rather than configure stage). Affects menu, init, keys, locale and style files
simonb simonb
3213701f
recreated fluxbox.1 after mark's changes
mathias mathias
51fa4155
call waitpid until no more children to wait for (thanks Devin/dlab).
simonb simonb
4c12086c
updated documentation and another dead function
markt markt
c1898573
more dead functions
markt markt
698539d9
more dead functions
markt markt
a14c322d
more dead functions
markt markt
91ab8251
dead functions
markt markt
30166502
another dead function
markt markt
9e6c1236
Fixing my own code
markt markt
03d3c6c9
compile fix for nls enabled
simonb simonb
7d4546ba
Make fbsetroot set one screen at a time
markt markt
9be43117
minor tidy, thanks Slava Semushin
simonb simonb
1ddd177d
Fix fbsetroot segfault when DISPLAY unset
markt markt
aad6845c
Linear cycling wasn't affecting normal cycling order (Mark)
markt markt
a6625f8c
cleanup dead function Workspace::setLastFocusedWindow
markt markt
6f2a5662
more focus issues with linear cycling and tabbed windows
markt markt
c5c316e0
one more focus issue on detach
markt markt
03631ca9
Fix some focus issues on detach and restart
markt markt
5459e880
fiddle with nls news
simonb simonb
60ca2ca5
rc2
fluxgen fluxgen
ea88170f
update
fluxgen fluxgen
6dc5ca4e
some minor code cleanups thanks Slava Semushin (php-coder), who also thanks Mikhail Gusarov
simonb simonb
b79d7ee7
Fix slit menu so it closes when you press escape
markt markt
6e60c53a
fix _NET_FRAME_EXTENTS
simonb simonb
ee02bc22
Fix FocusHidden (added m_focus_hidden to FluxboxWindow)
markt markt
aedcaea0
properly protect usage of iconv_t by HAVE_ICONV
simonb simonb
b699ed4d
Fix compile error with some compilers not including iconv.h before FbString.hh
markt markt
bf9b6083
fix FbPixmap retaining pixmap (that made cache not work properly)
Also small tidy in FbWinFrame.cc
simonb simonb
131d04cf
Check for NoSymbol more explicitly - thanks Julien Trolet (dmxen at 
sourceforge)
simonb simonb
80389b5d
support encodings in menu files
simonb simonb
57785903
fix crash when unable to convert from local to utf-8
simonb simonb
87e401ed
Fix DetachClient key command so new window is visible
markt markt
a23ad671
Make Urgency Hint flash the correct WinClient's tab.
markt markt
0b730c76
fix more x errors due to using an invalid background
simonb simonb
1d0b23bd
fix disappearing menu selection boxes
simonb simonb
5fc5ec33
Make startfluxbox aware of --program-prefix and --program-suffix
markt markt
dedbd7e4
Added patch from Jim Ramsay (i dot am at jimramsay dot com) to freely
define the used modkey.

Added new action SetModKey too
mathias mathias
535a88ce
fix de_DE translation (patch from michael bueker)
mathias mathias
8b2c299d
Fix nls in fbsetroot.cc .
markt markt
acefac84
typos, clarify
simonb simonb
0789afd4
add new tab options
simonb simonb
3ada3b1f
fix nls... notably classify text on conversion whether its for X or 
console, plus handle catalogs better.
simonb simonb
62a298b0
make new nls stuff work. Was missing path update
simonb simonb
94db19c0
 Fix window placement when apps remembers size but not location
simonb simonb
d94bacca
updated
fluxgen fluxgen
20cb065c
better fix for iconbar bug
fluxgen fluxgen
dd2e6c62
add EUC-KR to ko_KR encodings
simonb simonb
aaf36518
try ignoring NotifyUngrab to fix focus revert issues when closing 
unmanaged windows that grab pointer
simonb simonb
0fbe4c72
update in line with Translation.m
simonb simonb
a6146af4
fix placement issue with xinerama (only hit if screens are vertically aligned)
simonb simonb
f6140840
fix timer issues (esp clock not updating on multiple screens)
simonb simonb
3bce4aab
update
fluxgen fluxgen
85f45be7
added support for _NET_WM_WINDOW_TYPE_DIALOG and _NET_FRAME_EXTENTS
fluxgen fluxgen
7d5f6e38
init variables
fluxgen fluxgen
36191fb0
fixed bug #1507754, windowtitle in toolbar not updated. Solution: reset m_title_override to false.
fluxgen fluxgen
22ad1c4d
ewmh support docs
fluxgen fluxgen
b7f8a2e8
updated german translation, thanks Michael Bueker m.bueker at berlin de
fluxgen fluxgen
0f5e0496

        
markt markt
ed87d9ca

        
markt markt
926260e5
Fix crash when closing a window while cycling (Mark)
markt markt
7efed1a8
update
fluxgen fluxgen
8f4c0698
update
fluxgen fluxgen
9424b8e1
minor change
fluxgen fluxgen
f23134d9
update
fluxgen fluxgen
5807c943
updated for external tabs
fluxgen fluxgen
8eb742db
update
fluxgen fluxgen
c5e97ee6
changed version number to 1.0rc
fluxgen fluxgen
331a5211
support for _NET_WM_MOVERESIZE
fluxgen fluxgen
9699cda5
support for urgency hint
fluxgen fluxgen
3aa4244a
added support for urgency hint, thanks Mark Tiefenbruck
fluxgen fluxgen
2fdc6ab8
dont free old color until we have a valid new color
fluxgen fluxgen
7906f1be
updated
fluxgen fluxgen
755369ef
update
fluxgen fluxgen
d218f02f
added new command: ToggleCmd, works like a macro but executes the commands one at the time. Thanks Mark Tiefenbruck
fluxgen fluxgen
928aa33d
user patches applied
fluxgen fluxgen
ebfb4b7b
improved the danish translation a little bit, and
added a #layers comment to set 0 in C. Thanks Jonas Koelker
fluxgen fluxgen
d7a28bb7
fixed resize box bug. The text used to determine the size used space, which could have different width than characters on certain fonts. Thanks Scott Kuhl
fluxgen fluxgen
e8f0be27
mentions the fact that if you middle-click
a workspace name in the workspace menu, you jump to
that particular workspace. Thanks Jonas Koelker
fluxgen fluxgen
e536993c
using shift while pressing enter in menu will fake a button 3 press (rmb), thanks _markt
fluxgen fluxgen
fb5ef91e
added session.titlebar.left/right doc, thanks Jonas Koelker
fluxgen fluxgen
e8a6f45c
fix compile in hosts without HAVE_ICONV
simonb simonb
b8dc9187
couple of alignment fixes, esp for external tabs
simonb simonb
891205c1
Add bullet options.
grubert grubert
ed03c8ea
* update of new manpage (thanx Guillermo Patterer)
mathias mathias
1c19a09b
thanx to Guillermo Patterer for his spanish translation of the new manpage
mathias mathias
4afe5499
fix parentrelative background, and some  tidying
simonb simonb
d508292a
fix build on cygwin (iconv constness)
simonb simonb
f564d3c4
fix external tab bg when label bg is parentrelative
simonb simonb
ff463a04
missing include (broke gcc 2.95 build)
simonb simonb
460f57a4
fix error when running with -i (or similar "don't start Fluxbox class" 
options
simonb simonb
70a834f8
fix build without nls
simonb simonb
0861f3a9
improve native language handling, move messages and menu labels to 
FbTk::FbString
simonb simonb
5ddabb0f
fix root pixmap + atoms indexes in FbPixmap
Fixes issues with transparency on multiple screens, and probably also
some alternate rootbg atoms
simonb simonb
22060cac
typo of STLutil.hh
simonb simonb
dec29787
Coding_Style was renamed
simonb simonb
8bcd03c1
issue with maximise and quadrant resize
simonb simonb
a4b05827
fixed some redraw issues with the title, thanks _markt
fluxgen fluxgen
bd1221a5
fixed some redraw issues with the title, thanks _markt
fluxgen fluxgen
e6a107e5
added comments
fluxgen fluxgen
6d2a92c0
just a minor change
fluxgen fluxgen
bce70c67
added support for _NET_WM_STATE_DEMANDS_ATTENTION
fluxgen fluxgen
004d4469
added AttentionNoticeHandler.hh AttentionNoticeHandler.cc STLUtil.h
fluxgen fluxgen
4d48f757
added one more render option for renderButton, force render of focused. Listening to attention signal from Window.
fluxgen fluxgen
35934ff2
added one more render option for renderButton, force render of focused
fluxgen fluxgen
98db6c71
added new signal, attentionSig(), will notify listeners when this window demands attention
fluxgen fluxgen
94349dda
added new signal, attentionSig(), will notify listeners when this window demands attention
fluxgen fluxgen
8776e3ca
added support for _NET_WM_STATE_DEMANDS_ATTENTION
fluxgen fluxgen
e668b693
added support for _NET_WM_STATE_DEMANDS_ATTENTION
fluxgen fluxgen
73f6e2bd
handles flashing of titlebar if the window demands attention
fluxgen fluxgen
8267672d
STL utilities
fluxgen fluxgen
806addad
moved destroyAndClearList from Screen.cc to STLUtil::destroyAndClear
fluxgen fluxgen
36f5a46f
added test program for _NET_WM_STATE_DEMANDS_ATTENTION
fluxgen fluxgen
d812faff
test program for _NET_WM_STATE_DEMANDS_ATTENTION
fluxgen fluxgen
03ca0654
added net_wm_name and net_wm_icon_name to supported atoms
fluxgen fluxgen
faf043be
more utf8 changes, notably window titles
simonb simonb
ac098b4d
removed duplicate setItemEnabled
fluxgen fluxgen
c69b4020
missed two added files, whoops
simonb simonb
520f552b
handle utf-8 strings properly.
use utf8 internally
simonb simonb
0e9fa988
make apps file keywords case insensitive, plus check it for reload before
save on close and other save events
simonb simonb
30754605
first try of converted new manpage
mathias mathias
96f47306
fixed minor bug
fluxgen fluxgen
4d6e5e3f
resize and notify client when autogrouping
simonb simonb
7d911838

        
mathias mathias
a15d9af3
Cleanup unneeded headers (thanks Slava Semushin)
mathias mathias
e2bc57bc
 Fix occasional highlighting of menu nops+separators, sf.net patch 
 #1475268 (thanks Scott Kuhl; skuhl AT cs utah edu)
simonb simonb
cb65dae9
fbrun: Move the cursor to the end when tab completing
+ thanks Jonas Koelker, sf.net rfe #1333003, patch #1475578
simonb simonb
3707b74c
fix a bunch of comments, make default textures obvious
Thanks Jonas Koelker
simonb simonb
fae88b32
Output the error message on fallback restart execs (sf.net patch 
#1475213). Thanks Jonas Koelker, jonaskoelker at users.sourceforge.net.
simonb simonb
acf4326f
Use -Wall when --enable-debug and some warning fixes 
+ thanks Jonas Koelker
simonb simonb
f6a07243
fix memory leaks in menu code
simonb simonb
731f0dea
external tabs as default
simonb simonb
68e0ef84
_NET_RESTACK_WINDOW
fluxgen fluxgen
5e598c46
removed include
fluxgen fluxgen
fa188a95
added support for _NET_RESTACK_WINDOW.
fluxgen fluxgen
60c63e8e
added support for _NET_WM_RESTACK_WINDOW.
fluxgen fluxgen
8a68aa53
maxWidth() and maxHeight()
fluxgen fluxgen
2fe2cf0c
fixed typos, patches from php-coder (slava)
mathias mathias
f25c72e7
more ewmh support
fluxgen fluxgen
75d289be
added support for _NET_WM_ALLOWED_ACTIONS and all the _NET_WM_ACTION_*. Added _NET_WM_STATE_MODAL and _NET_WM_WINDOW_TYPE_SPLASH
fluxgen fluxgen
b0d7010f
missed out clearing startups on apps reload
simonb simonb
53f869aa
reload the apps file on flux reload
simonb simonb
39cacd1d
update docs for Next/PrevWindow commands
simonb simonb
97c89e64
focus a window if it's the only one.
Thanks Jonas Koelker
simonb simonb
191acd18
tidy up window cycling
Thanks Mark Tiefenbruck, mark at tiefenbruck dot org
simonb simonb
cfd92af2
fix menu corruption when size/label changes
simonb simonb
11190682
fix crash when toolbar disabled
simonb simonb
932eebe0
couple of memory fixes from valgrind
simonb simonb
23cdfaaf
applied #1458069 and #1467926 to the new doc (fluxbox.txt)
mathias mathias
de4dfdad
fix static management of CommandParser, sf.net 1474444
simonb simonb
1028f4cb
minor cosmetic tweaks, thanks Semushin Slavak, php-coder AT ngs ru
simonb simonb
dc532830
* cosmetics to Workspace.hh CurrentWindowCmd.cc
* added first draft of new docs in asciidoc format, needs to be converted
  properly to roff-format, right now its just a temporary "home"
* rename of Coding_style to CODESTYLE
mathias mathias
edafa987
oops... didnt compile!
simonb simonb
e99c2872
minor fixes to slit transparency handling
simonb simonb
059aca46
revert previous update, php_coder says it's a bit broken
simonb simonb
67326a08
update transparent window backgrounds on bg change
simonb simonb
a8b96727
border between tabs same as window border
simonb simonb
87b69174
typos, plus get rid of error message if "icons" isn't a dir...
simonb simonb
4d536922
fbgm expansion - system utils menu
simonb simonb
e1174362
Update Norwegian Bokml translation, nb_NO, sf.net patch #1393780
Thanks Alexander N. Sornes, emptydoor at users.sourceforge.net
simonb simonb
38930709
 Update Danish translation, da_DK
 Thanks Jonas Koelker, jonaskoelker at users.sourceforge.net
simonb simonb
853b0340
mouse focus fixes - thanks Scott Kuhl:  skuhl AT cs utah edu
simonb simonb
759ca9e6
allow ~ in background pixmap path
simonb simonb
c9294227
windows keep relative positions in ArrangeWindows, based on distance to new 'cell' center
mathias mathias
38a96263
no local or globbing in pure bourne
mathias mathias
4c011a0a
don't check the clock so often...
simonb simonb
939ffc7e
fix freeze in systemtray configuring, sf.net bug #1359442
simonb simonb
b9af0266
iconbutton handling fixes
simonb simonb
3e6def97
fix transparency updates for the toolbar when autohide is on
simonb simonb
11cba508
fix some toolbar transparency
simonb simonb
dd933c09
fix label display with external tabs on some wins
simonb simonb
b2105a62
fix fbrun positioning code to use hints properly
simonb simonb
a211ca91
grow the clock if the text gets too big
simonb simonb
9ff23f01
fix some rotation issues
simonb simonb
c5b67f9a
portability fixes for couple of shell scripts
simonb simonb
9ec117da
shell portability fix
simonb simonb
78f3b0ad
fix compiler warnings in fbrun too
simonb simonb
29f975b3
add reversewheeling option 
thanks Kalle - ice_jkpg at users.sourceforge.net
simonb simonb
67b8277a
add missing space in translation
simonb simonb
a92c1317
improved defaulting of int args in commands (thanks Jonas Koelker)
simonb simonb
4d0a0c9e
add CloseAllWindows key action
thanks Adriano Dal Bosco - adbosco at users.sourceforge.net
simonb simonb
553104ee
fix all compiler warnings with -Wall
simonb simonb
02aa83a5
signedness fix
simonb simonb
7c790844
implement vertical toolbar placement options
simonb simonb
83a3429c
more button state fixing for shade, should be right now
plus noticed typo in theme for unshade
simonb simonb
3a7c01ab
fix time type affecting double click on fbwinframe
simonb simonb
0780952b
fix window button image updates
simonb simonb
33079d25
add "key modes" - thanks to Mark Tiefenbruck, mark at tiefenbruck dot org
simonb simonb
48579408
situation: a maximized xterm changes its size (coz the user changes the font).
after unmaximizing the window it snaps back to its old values .. which are not
in sync with the sizehints anymore. hence we need to apply them for maximizing
/ unmaximizing and unfullscreen to avoid ugly visual appearance.
mathias mathias
be03b0a3
cosmetic, closes #1467926
mathias mathias
a6551852
fixed size_t issue with prevWorkspace, minor cosmetic changes to Screen.hh
mathias mathias
f1a6c910
just some indent
fluxgen fluxgen
45ea259d
fix label transparent bg update with ext. tabs
simonb simonb
e337c675
fix size_t issues and other 64bit-highlighted warnings
simonb simonb
8c12c5ec
fix build error in gcc 2.95.4, missing include
simonb simonb
0497afae
fix Xmbfonts on multiple screens
and external tabs showing from different workspaces on placement change
simonb simonb
42719701
rotated Xmb Fonts, by rotating as we draw
simonb simonb
c243fa89
rotated XFonts (and minor ext tab alignment fixes)
simonb simonb
839d9c66
missing nls string id, thanks Michael 'buk' Scherer
simonb simonb
47a1f632
another build issue with size_t update, header file not updated
simonb simonb
0159f039
typo broke build
simonb simonb
7e9858aa
size_t fixes
fluxgen fluxgen
894a7148
size_t fixes, thanks Semushin Slava aka php-coder
fluxgen fluxgen
0ca3754d
removed green background
fluxgen fluxgen
6d35c17a
don't follow stuck windows in deiconify (thanks _markt)
simonb simonb
309a1aaf
fix crash when deiconfiy mode = Follow
simonb simonb
744c82cb
oops, took out an include that shouldn't have
simonb simonb
a8c95d4e
some mroe external tabs tweaking
simonb simonb
ce9a0962
forgot to update rendering when orientation changes
simonb simonb
af74a228
rotated fonts, buttons, containers. Used for tabs for now
simonb simonb
872f6a0e
fix alignment when shaded
simonb simonb
8a36df5a
Change SendToWorkspace and add TakeToWorkspace.
grubert grubert
7c4e48cc
fix compile error, include algorithm
simonb simonb
50b6883f
update
fluxgen fluxgen
01612b22
save apps file using the user's configured option rather than hardcoded...
simonb simonb
1e8f7452
update
fluxgen fluxgen
1107edf1
fixed duplicate ClickTabFocus menu item, thanks mal
fluxgen fluxgen
ffae659b
external tab fixes, plus aligning items properly
simonb simonb
15f53b55
fix minor rendering bug when growing tabs
simonb simonb
5e22dcd9
more external tab work, tidying and tab width config option
simonb simonb
fe4a7db2
external tabs features and bugfixes
simonb simonb
da365bb4
minor comment fix
fluxgen fluxgen
e89c8acf
minor type-o fix, thanks Semushin Slava
fluxgen fluxgen
e396fd42
minor type-o fix, thanks Semushin Slava
fluxgen fluxgen
8e4f538c
some small placement fixes
simonb simonb
f2d3fff4
external tabs
simonb simonb
eba00403
update
fluxgen fluxgen
e10acea3
missing file
fluxgen fluxgen
06647a68
added missing files
fluxgen fluxgen
c8ee5642
removed unused resources
fluxgen fluxgen
afa644da
update
fluxgen fluxgen
a07b5148
0.9.15 news, first revision
fluxgen fluxgen
8a787028
update, new version
fluxgen fluxgen
985d4419
removed tabs in help text
fluxgen fluxgen
c445a948
minor fix for fbsetroot nls, thanks Semushin Slava
fluxgen fluxgen
76b49f04
removed geom window nls
fluxgen fluxgen
1eda33b8
added addManagedResource, which adds a resource to BScreen and will be destroy by BScreen. + removed geom window nls
fluxgen fluxgen
716bb32e
Using WinButton enum for titlebar button type
fluxgen fluxgen
f5c2861b
no more session.titlebar.left/right. They are now screen specific and the resources are created on the fly in FluxboxWindow
fluxgen fluxgen
302c63e2
no more session.titlebar.left/right. They are now screen specific and the resources are created on the fly in FluxboxWindow
fluxgen fluxgen
4b4c4655
added addManagedResource, which adds a resource to BScreen and will be destroy by BScreen
fluxgen fluxgen
bdc74e79
We now create titlebar resource session.screen<num>.titlbar.left/right on the fly here instead of fluxbox.cc
fluxgen fluxgen
75c79654
define ostrstream and ostringstream
fluxgen fluxgen
53b92283
added Type typedef of T in Resource
fluxgen fluxgen
14befe1f
forgotten #include
mathias mathias
e957a0d2
update
fluxgen fluxgen
0530d278
fixed memory leak when XCreateImage fail, thanks php-coder
fluxgen fluxgen
ddd2233f
update copyright string
fluxgen fluxgen
c495c072
update
fluxgen fluxgen
644e706a
update from php-coder
fluxgen fluxgen
e59bfa1a
update from php-coder
fluxgen fluxgen
70bd45e8
enhanced :NextWindow / :PrevWindow to accept <delta> as parameter, patch from marcus obst
mathias mathias
918d1994
added zh_CN translations (thanx Andyliu)
fixed ko_KR translations (thanx Jo Hyunseok)
mathias mathias
1f0be0c5
applied patch from mark to fix a _net_wm_state_hidden issue
mathias mathias
2a062eaa
update
fluxgen fluxgen
3ee68615
fix for stuck icons, thanks _markt
fluxgen fluxgen
b366d9c4
update Danish Translation
Thanks to Jonas Koelker, jonaskoelker AT users.sourceforge.net
simonb simonb
a21d42da
fixed gcc4.1 problems, patch from Andreas Bierfert <andreas dot bierfert at lowlatency dot de>
mathias mathias
e742a830
fixes for translations, patch from php-coder
mathias mathias
96f8ada0
little fix
mathias mathias
e21990f8
forgotten cosmetics
mathias mathias
ec7ce1e0
cosmetic changes from php-coder (copyright, header)
mathias mathias
a4052120
update
fluxgen fluxgen
369b4e1b
moved class Layer from class Fluxbox and thus reduces some dependecies
fluxgen fluxgen
2566d845
forgotten nb_NO entry in configure.in
mathias mathias
6214a287
src dir
fluxgen fluxgen
2212667c
norska
fluxgen fluxgen
41612473
new resize mode
fluxgen fluxgen
6d42d1cf
Added center resize. Resizes all corners at the same time.
fluxgen fluxgen
98209ba7
FbWinFrame should not depend on class Fluxbox
fluxgen fluxgen
1cdeabc7
placement strategy
fluxgen fluxgen
2d0075c1
moved placement strategies to different PlacementStrategy classes
fluxgen fluxgen
acaf89bb
moved placement strategies to different PlacementStrategy classes
fluxgen fluxgen
b772fd96
moved placement strategies to different PlacementStrategy classes
fluxgen fluxgen
d099e767
forgot to delete focus control
fluxgen fluxgen
9559a087
removed some debug output
fluxgen fluxgen
f503c6cb
added safety counter for the loops in nextFocus
fluxgen fluxgen
018d248f
focus handling
fluxgen fluxgen
5ceacc65
moved all focus handling to FocusControl
fluxgen fluxgen
f53c93e5
moved all focus handling to class FocusControl
fluxgen fluxgen
330c8c0b
moved all focus handling to class FocusControl
fluxgen fluxgen
4d52797b
moved all focus handling to class FocusControl
fluxgen fluxgen
d23eeeaa
Added template getResource(string) to ResourceManager.
It finds and returns reference to resource on success,
else throws ResourceException.
fluxgen fluxgen
c21f0d4a
moved all focus handling to class FocusControl
fluxgen fluxgen
43f690ff
moved all focus handling to class FocusControl
fluxgen fluxgen
ae05ad9a
updated copyright info
mathias mathias
9b9f34d9
fix nls compilation (committed on akira's behalf)
simonb simonb
71f3b0af
update
fluxgen fluxgen
6f1c084a
fixed bug #1417688, remember apps keeps incrementing vertical dimension
fluxgen fluxgen
2d965148
minor typeo
fluxgen fluxgen
f0ad96c7
explicit constructor
fluxgen fluxgen
ab26593c
added static validColorString function, returns true if the color string is in valid color format
fluxgen fluxgen
e85b2f3f
added force_update option to force an update of the m_root_pixmaps
fluxgen fluxgen
6eae7435
added run() for ExecuteCmd, which returns pid of the child process
fluxgen fluxgen
3ceb311a
fixed root pixmap crash problem, using fbsetroot to render background
fluxgen fluxgen
97bee9f1
updated project number
fluxgen fluxgen
d753be08
nls fix from php-coder
fluxgen fluxgen
e98e5b29
update
fluxgen fluxgen
bc2de24b
update from php-coder
fluxgen fluxgen
b5f6ac24
fix for nb_NO, thanks php-coder
fluxgen fluxgen
39c238ce
added makefile, thanks php-coder
fluxgen fluxgen
fdd1fd0a
minor fix
fluxgen fluxgen
ef394fe6
error msg fix, thanks php-coder
fluxgen fluxgen
39a7483e
copyright fix, thanks php-coder
fluxgen fluxgen
9e2732b7
copyright fix, thanks php-coder
fluxgen fluxgen
2ccb6551
copyrigth fix, thanks php-coder
fluxgen fluxgen
c8885d8d
added nb_NO, Thanks Alexander Sornes
fluxgen fluxgen
76cec320
removed
fluxgen fluxgen
4c8dd9dd
update
fluxgen fluxgen
aeb15ff7
bsetroot to fbsetroot, patches from OpenBSD
fluxgen fluxgen
67a2438f
bsetroot to fbsetroot, patches from OpenBSD
fluxgen fluxgen
eda81c52
bsetroot to fbsetroot, patches from OpenBSD
fluxgen fluxgen
673c1cbc
Add norwegian bokmal (nb_NO) translation from alexander sornes.
grubert grubert
c3e6efb4
little fix for fbsetbg (patch from mark tiefenbruck)
mathias mathias
b4296561
minor stuff
fluxgen fluxgen
c974bfa5
minor stuff
fluxgen fluxgen
2918464e
minor stuff
fluxgen fluxgen
2296129a
minor stuff, thanks php-coder
fluxgen fluxgen
f803d8f2
applied patch from php-coder to fix some warnings, mostly signed vs unsigned
issues
mathias mathias
b7ddb0ca
* minor addons to fbgm, close Gentoo #74523 and #110677 (Mathias)
mathias mathias
3d012e07
unused headers
fluxgen fluxgen
50d41f6f
unused headers
fluxgen fluxgen
7f4e9112
update
fluxgen fluxgen
7be5606a
using screen based vector for theme lists
fluxgen fluxgen
56b8d729
Fix url in fbsetbg.1.
grubert grubert
ece3f294
update
fluxgen fluxgen
17c9cafd
removed unused variable
fluxgen fluxgen
5ecc2f8f
removed unused variable
fluxgen fluxgen
05ac62be
removed unused variable
fluxgen fluxgen
6e95ba9c
removed unused variable
fluxgen fluxgen
e4976c3d
removed unused variable
fluxgen fluxgen
7593eb16
removed unused variable
fluxgen fluxgen
d72ed76c
removed unused variable
fluxgen fluxgen
6a31371e
oops
fluxgen fluxgen
c803298c
not mitz
fluxgen fluxgen
44906d1a
update
fluxgen fluxgen
2e616226
added random and aspect options for background, thanks mitz
fluxgen fluxgen
7de6a40c
minor fix: forgot template above function
fluxgen fluxgen
b4acdee0
updated styles for new background item, still needs some work
fluxgen fluxgen
4d77f7fb
new background style item, making rootCommand in styles obsolete
fluxgen fluxgen
e6217691
testing replaceString
fluxgen fluxgen
1faef3ac
nls for screen argument
fluxgen fluxgen
f7cfa81b
const function Resource getString
fluxgen fluxgen
be1cbd46
public setRootPixmap
fluxgen fluxgen
b131f3a8
minor indent
fluxgen fluxgen
8e404f10
const fix
fluxgen fluxgen
8434c42a
const resourceValue function
fluxgen fluxgen
37a435f1
indentation
fluxgen fluxgen
93e30412
changelog had wrong name, default was from old patch
simonb simonb
28837ee6
introduced session.styleOverlay (~/.fluxbox/overlay), all style settings
made in that file will override/overlay the ones made in the used
style. TODO: write more specific docu about it
mathias mathias
6403deb6
just some minor cosmetic issues
mathias mathias
c429bd1a
minor typo for rootcommand
mathias mathias
28bf04cc
resolved minor for compiling under win32/cygwin, multiple symbols
mathias mathias
497ac82d
update
fluxgen fluxgen
7768406c
create .fluxbox directory and lastwallpaper file if they dont exist
fluxgen fluxgen
bf7902da
Fixed #1335255 (Gentoo #110197), fbgm had some globbing related probs
Patch from thanx t35t0r
mathias mathias
f14c73ed
Fixed #1223878, Style reloading on USR2 (patch from Zan)
cosmetic stuff in StringUtil.cc/hh
mathias mathias
254dcb1b
update
fluxgen fluxgen
88de9987
add backslash to special chars, fixes bug #1327878
fluxgen fluxgen
a9f9e6d6
added replaceString
fluxgen fluxgen
4dec832b
Fixed reordering of tabs, patch from Rob Stevens
mathias mathias
97aa10ec
added no_NO, patch from Ole Rydland Thorsen
mathias mathias
499b0655
small changes from fbsd
mathias mathias
42afb461
avoid drawing the resize outline when not really resizing, caused flickering.
mathias mathias
850d366d
forgotten entry to ChangeLog
mathias mathias
0e3c7c0b
update from php-coder
fluxgen fluxgen
8bd4ba64
update
fluxgen fluxgen
dec988d8
added nls for screen requires an argument, thanks php-coder
fluxgen fluxgen
15c21ed2
reverted last change .. the problem of the user must be handled differently... never commit after 3 hours of sleep again.
mathias mathias
3a0d8391
LeftMouseButton should always setInputFocus() to avoid focus problems
when changing the active window via NextWindow/PrevWindow and then
not beeing able to set the focus of the window underneath the mouse
with a simple click again (in MouseFocus - mode). Suggestion via
mail to devel-ml from Eike von Seggern
mathias mathias
94acb4a2
use fbsetroot in default styles
mathias mathias
4684693f
update
fluxgen fluxgen
0989e903
minor change
fluxgen fluxgen
43fc6483
moved MenuContext class
fluxgen fluxgen
8634b9b3
include memory for auto_ptr
fluxgen fluxgen
73ee2ebc
include functional for mem_fun_t
fluxgen fluxgen
d4d91d09
include memory for auto_ptr
fluxgen fluxgen
d86ed4dc
update
fluxgen fluxgen
6e42bd4d
update
fluxgen fluxgen
b8f155bf
fixes #1281708, MenuIcon doesnt scale properly, patch from sf.net
mathias mathias
219e8362
new version
fluxgen fluxgen
013b0790
tweak last patch for titlebar scroll options
simonb simonb
b01cd5a2
update
fluxgen fluxgen
fff4c906
bugfix for client menu
fluxgen fluxgen
070a216a
Add titlebar scrolling options (thanks Krzysiek Pawlik <krzysiek.pawlik__AT__people.pl>)
New init options added:
  session.screenN.windowScrollAction: Shade|NextTab
   - set the action that happens when scrolling on the titlebar
  session.screenN.windowScrollReverse: true|false
   - reverse the action direction
simonb simonb
cfb26be2
added feature request #1084510:
when mod1 + leftmouse are clicked on a window and the mouse is not
moved, the window is raised at leftmouserelease. i dont think we
need an extra option for that since its very unobtrusive but neat
to have.
mathias mathias
2b2236e9
texture limits were hardcoded to 3200 in TextureRender.cc .. this lead
to useless warnings on huge xinerama setups with those nifty 20' or bigger
lcds ... we use now screen dimensions to set a sane limit for textures
mathias mathias
02c62d04
update
fluxgen fluxgen
0009bda8
added svn revision number output, thanks php-coder
fluxgen fluxgen
204dc12e
added svn revision number output, thanks php-coder
fluxgen fluxgen
a11b6eb4
added el_GR (greek) Translation, thanx to Theofilos Intzoglou
mathias mathias
da8d2457
--disable-regexp switches from <regexp.h> to <string> in
Regexp.cc .. but it still needs to be compiled. hence the
little fix in src/Makefile.am
mathias mathias
8c3cfbef
added 'education' submenu to fbgm, patch from lam
mathias mathias
c065e038
update
fluxgen fluxgen
a8779470
added uk_UA
fluxgen fluxgen
3d91477e

        
fluxgen fluxgen
5f4f2a85
added uk_UA locales, thanks Anatoli M. Sakhnik and php-coder
fluxgen fluxgen
def41301
minor patch from php-coder
fluxgen fluxgen
7b21abc4
Fix for #1240248, Segfaults for :MoveTabLeft/Right
wrong code in Container.cc
mathias mathias
460dffdc
Changed some *Focus options, just to make some things a bit more clear.
the "Sloppy" was always a bit .. unprecise.

removed SloppyFocus, SemiSloppyFocus and ClickToFocus options
added MouseFocus, ClickFocus, MouseTabFocus, ClickTabFocus
- MouseFocus - change the focus to the window under the mouse
  (almost similar to the 'old' SloppyFocus)
- ClickFocus - change the focus to the window the user clicks
- MouseTabFocus - change active tabclient to the one under the
  mouse in titlebar, does NOT change the focus
- ClickTabFocus - change active tabclient when clicked onto a 
  tabbutton
to achieve former SemiSloppyFocus behavior one needs MouseFocus and
ClickTabFocus
mathias mathias
3e16ad8c
When the screen is filled with windows it can be pretty hard to find a "valid"
area to drop a tab button to detach the client from the group. solution is to
detach the client if the tab button is dropped onto the client area of the
same group.
mathias mathias
21e525a8
little update of current situation
mathias mathias
1fe9ef30
Renaming of 'bsetroot' to 'fbsetroot' (Mathias)
blackbox's 'bsetroot' and fluxbox's 'bsetroot' have different syntax
nowadays and collide when you install fluxbox and blackbox. hence
the renaming.
mathias mathias
95311440
update
fluxgen fluxgen
a0f6d963
info about locale path, patch from php-coder
fluxgen fluxgen
0ffbf55e
info about locale path, patch from php-coder
fluxgen fluxgen
214defb6
added more apps to fbgm
mathias mathias
56580b23
respect border size in the MoveTo action, especially at the right and lower
border of the screen.
mathias mathias
093b06ed
added kcommander, Valknut, dcgui-qt, quickdc, asami, amsn to fbgm
mathias mathias
63475f77
cleaning, change getCount to numberOfWorkspaces
fluxgen fluxgen
3626faea
cleaning, change getCount to numberOfWorkspaces
fluxgen fluxgen
1727656e
cleaning, change getCount to numberOfWorkspace
fluxgen fluxgen
9049dd33
Fix #1223780, fbgm updated
 - added gnome-alsamixer
 - use "kfmclient openProfile filemanagement" for konqueror as filebrowser
mathias mathias
66a241cc
if we check the time only ever second we can get into trouble, eg:
assume its 12:34:56.99, displaying 12:34:56 takes some time and so its already
12:34:57 when we display 12:34:56. to fix that i set the time to check the
clock to 0.01 seconds. that shouldnt hurt much since we only redraw the clock
when the string has changed.

a more complex approach would be to analyze the strftime-string and set the
timeout accordingly. but i dont know if its really worth the effort and beeing
a bit off schedule can happen too, just not as often as if you are in seconds
mode.
mathias mathias
a5310fae
Add missing ``template <>`` befor ThemeItem<Font>::setDefaultValue.
grubert grubert
a5f7e6f8
- Fix for toggling the toolbar doesnt update strut (thanx C. Monti)
- Little reordering of ToolbarMenu items, more important ones to the top and
  "edit current ws" out... maybe we should think of another way of providing
  menus for the tools .. submenus?
mathias mathias
4382b78b
minor fix for window menu
fluxgen fluxgen
a54a2b14
added forgotten _FBNLS;
mathias mathias
93af84b3
update
fluxgen fluxgen
fdaefcf7
moved window menu from FluxboxWindow to BScreen
fluxgen fluxgen
0df6609b
added showSubmenu in MenuItem
fluxgen fluxgen
5373f6d8
moved window menu from FluxboxWindow to BScreen
fluxgen fluxgen
18cf5862
new files
fluxgen fluxgen
c912f7a3
fix handling of shaded and iconic windows, particularly on restart
simonb simonb
3fd47267
revert 4055, caused crashes plus it should be done differently
simonb simonb
c2ec3065
change fbwinframe to use container
move a few frame ops to have most code in Container
simonb simonb
e0e11dd3
updated changes
mathias mathias
6c284b9c
fbgm used non-portable grep - option (-m) which is now replaced by
grep | head -n 1
mathias mathias
019da77c
Fixes #1116965, shadwd windows on restart:

shaded icons behaved badly on restart, they went into a real stupid state:
somehow shaded, but at the same time iconic, so you werent able to unshade,
resize them properly.

i fixed that by applying NormalState on shutdowntime (see
FluxboxWindow::restore(), unshading a shaded frame to get good
window dimensions and on init() i mark the window initialized and connect it
to Fluxbox::attachSignals() a bit later.
mathias mathias
a8d77528
Screen.cc: not used code
fbgm.in: added amarok
mathias mathias
3d722f24
*.font.shadow.x and *.font.shadow.x were not correctly read or better,
    misinterpreted. so the shadow'ed text was written direct underneath the
    normal text .. and hence invisible.
mathias mathias
a4a6cf90
little typo which prevented shadowcolor beeing set
mathias mathias
d69e3003
Enhanced MoveTo, fixes #1074568
  MoveTo <int|*> <int|*> <Reference Corner>
   - * means "use current value"
   - Reference Corner is one of:
     - UpperLeft, Upper, UpperRight
     - Left, Right
     - LowerLeft, Lower, Right
   examples:
     MoveTo 0 * Left       -> snap to left workspace edge
     MoveTo * 0 Lower      -> snap to lower workspace edge
     MoveTo 0 0 UpperRight -> snap to upper right workspace corner
TODO: perhaps add some "aliases" to make it more userfriendly
mathias mathias
93b295a1
fixes #1198192, added vlc to fbgm
mathias mathias
cdc4338c
Fixes #1213003, SendToWorkspace shouldnt follow
SendToWorkspace and the rest are putting the window onto the new workspace
silently, TakeToWorkspace warps to the new workspace with the window.
mathias mathias
acaa5830
Fixes #1216020, *.font.effect wont get cleared if not defined in style
mathias mathias
5324a82b
most used items should appear ontop of a menu. so i reordered the
workspacemenu a bit to fit that idea.
mathias mathias
a663db8f
Fixed justification in WorkspaceNameTool #1213262, values were set after the
render() call was made.
mathias mathias
99a7f9a1
added -screen to -help
mathias mathias
233c6a3e
Add fullscreen command.
grubert grubert
ef76b45a
- Usage of xft-fonts is prefered, except a font-description starts with '-'
- Removed "antialias"-option completly, to enable/disable "antialias"
  use either  <fontname>:antialias=<bool> in the style or use
  Xft.antialias: <bool> in your .Xdefaults
- Added new styleresources: 
    *.font.effect: <halo|shadow>
    *.font.shadow.x : <int>       - shadow x offset
    *.font.shadow.y : <int>       - shadow y offset
    *.font.shadow.color : <color> - color of shadow
    *.font.halo.color : <color>   - color of halo
- Removed 'shadow' and 'halo' options from fontdefinitions:
    !! Style authors have to update their styles !!
- Simplified XmbFontImp to not try all possible fonts to match locale
- Style authors may specify multiple fonts:
    <font1>|<font2>|<font3>
  if loading of font1 fails, fluxbox probes <font2>, etc. The last font is
  "fixed". Hints for style authors:
    - if xft tries to load a font it will _ALWAYS_ return a valid font,
      it doesnt have to look like the one you want to have, read more
      about it: http://fontconfig.org/fontconfig-user.html
    - export XFT_DEBUG=1  before running fluxbox helps to see
      which fonts are picked.
  eg:
      *.font: Verdana,Arial-12:antialias=true|-artwiz-snap-*-
      if fluxbox is compiled with xft this will NEVER try to
      load "-artwiz-snap-*-" since xft gives for sure a font,
      most likely Verdana or Arial but noone knows. So, if
      fluxbox has no xft support the first fontpattern fails
      and fluxbox tries the next one, which might be successful.
      if everything fails, it will use "fixed"
- Added caching of fonts, fonts are only loaded once.
- Fixed #1090902 (slow utf8 start)
mathias mathias
9c27e2e7
deleted the "fallback"-code, which was one of the reasons for slowing down
fluxbox in utf8-locales:

if no fontset is found up to this point its because of
  a) no such font
  b) not supported locale

if we try our best and enhance the basename-list and add some
more generic patterns the xserver will give us a valid
fontset .. which is good coz we have something to work with
but which is BAD coz we return a valid fontset as if we 
have found the font the user wants .. so, every fallback
in higher level code will fail coz we find a valid fontset by any
meaning here. if no fontset can be found, the "fixed"-fontset should
be there already.
mathias mathias
4e5c2106
updated changes
mathias mathias
5f489c23
* patch from vadim <suhanov_vadim@mail.ru>:

"_BLACKBOX_NOTIFY_WINDOW_ADD was emited before _NET_CLIENT_LIST 
 and _NET_CLIENT_LIST_STACKING lists updates."
mathias mathias
ad5eb132
* patch from vadim <suhanov_vadim@mail.ru>:

"when i iconify some window it disappears from _NET_CLIENT_LIST until 
 Ewmh::updateClientLis are been called again."
mathias mathias
3d497bb7
* _NET_WM_STATE_HIDDEN is now used correctly -> if the window goes iconic, this
  state is set... what about moving it outside of the visible area? we need to
  think about this.
* mixing _NET_WM_STATE_HIDDEN and _NET_WM_STATE_SKIP_TASKBAR is solved, we
  dont do this anymore
* we dont use _NET_WM_STATE_SKIP_PAGER .. so we shouldnt delete it, thats
  handled now correctly -> look at the *State() - functions
mathias mathias
61213bed
fix for dest dir, thanks php-coder
fluxgen fluxgen
307b3310
fix for dest dir, thanks php-coder
fluxgen fluxgen
17c3199c
be_BY translation by Kirill A. Shutemov k.shutemov at sam-solutions dot net
fluxgen fluxgen
67215acb
be_BY translation by Kirill A. Shutemov k.shutemov at sam-solutions dot net
fluxgen fluxgen
264ba413
be_BY translation by Kirill A. Shutemov k.shutemov at sam-solutions dot net
fluxgen fluxgen
c9cb0225
be_BY translation by Kirill A. Shutemov k.shutemov at sam-solutions dot net
fluxgen fluxgen
9a5f155f
update
fluxgen fluxgen
f9af363e
added the ability to use keycode in keys file
fluxgen fluxgen
3172279d
locale path
fluxgen fluxgen
6a10833f
update
fluxgen fluxgen
519c02ad
locale path
fluxgen fluxgen
c8898e20
locale path
fluxgen fluxgen
9e34722e
locale path
fluxgen fluxgen
8bbf5e6e
update
fluxgen fluxgen
e3e8d5c3
fix systemtray overlap
simonb simonb
d24c090e
updated changes
mathias mathias
33e359a0
Vadim pointed out that _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING are not updated 
when sending _BLACKBOX_NOTIFY_WINDOW_DEL

 _NET_WM_DESKTOP and _WIN_WORKSPACE had wrong initial values (-1), which lead to probems 
 with (eg) fbpager (unaware of newly created windows and such things)
mathias mathias
eddedd50
last minor issues for 0.9.13
mathias mathias
4d2f513c
new version
fluxgen fluxgen
8111089c
update
fluxgen fluxgen
b48c87ca
new version
fluxgen fluxgen
5175ac3a
fix a segfault
simonb simonb
8a249bfb
updated changes
mathias mathias
64336d4c
llittle rewrite for the FbTk_istringstream usage.. was needed coz gcc2.95.x
systems had problems before. with this change fluxbox should compile on such
old compilers.
mathias mathias
6280b9de
replaced setenv() completly by putenv(). since putenv() really puts the
*string into the environment we need to track what we putenv.
mathias mathias
c55dce44
on some systems (openbsd, solaris, freebsd) the iconv was not really well
recognized and/or added to the LIBS .. i tested this version on a lot of
different platforms and it SHOULD work propperly, even if it looks a bit
strange.
mathias mathias
87212dd2
missing #include <typeinfo>
mathias mathias
7d1d67ca
__APPLE__ doesnt have <nl_types.h>
mathias mathias
59a80679
when the app changes its pixmap we need to trigger that correctly
mathias mathias
41462f08
i was a bit unspecific about the problem
mathias mathias
44f2af5c
minor optimization
mathias mathias
f7261680
copy N paste ... icc complained slightly
mathias mathias
5fec1906
cache the root pixmap (per screen)
simonb simonb
c6c77884
fixed missing fonts
mathias mathias
b41f934a
`AM_CONFIG_HEADER'
Automake will generate rules to automatically regenerate the
config header. This obsolete macro is a synonym of
`AC_CONFIG_HEADERS' today (*note Optional::).

so we use the nonobsolete now, thanx php-coder for pointing that out.
mathias mathias
318d76b4
fix from vadim for fbrun-tabcompletion
mathias mathias
aba44f47
fix for gentoo #91955, remembering the current window-position didnt store the
reference corner to the appsfile.
mathias mathias
4ddda95f
patch from vadim to fix the issues in input-areas he introduced with his last
patch
mathias mathias
5763339f
remove default gray background on created FbWindows
(not everything should get a bg set)
simonb simonb
64eb8cd6
new code in WinButton was assuming that at ::clear() - time there is always a
valid m_listen_to.winClient() .. which is not true under some circumstance.
i guarded the code accordingly.
mathias mathias
a65511a3
fix titlebar transparency in some cases
simonb simonb
4338fbec
Added new Buttons for the Titlebar of a Window (Mathias)
- Shade - just like the "Stick"-button
  Styleresources:
    window.shade.pixmap, window.shade.unfocus.pixmap, window.shade.pressed.pixmap
    window.unshade.pixmap, window.unshade.unfocus.pixmap, window.unshade.pressed.pixmap
    etc.
- MenuIcon - click on it provides the windowmenu, if the app
  contains a pixmap (gvim, konqueror etc etc) the pixmap is displayed, a
  little menu otherwise. 
  Styleresources:
    windowmenu.pixmap, windowmenu.unfocus.pixmap windowmenu.pressed.pixmap
    etc.
Example ~/.fluxbox/init - entry:
  session.titlebar.left: MenuIcon Stick
  session.titlebar.right: Shade Minimize Maximize Close


hint: if the app HAS a pixmap i use window.title.focus.pixmap (look
WinButtonTheme for reference)in pixmap-based-styles. this looks excellent and dont need 
much extra-code to pipe that info into WinButtons.
mathias mathias
783a3903
fix wm_name for fluxbox
simonb simonb
90fcc93d
fix segfault opportunity in menu
simonb simonb
d6ee9677
more keyactions for textbox-patch from Vadim <suhanov_vadim at mail dot ru>
mathias mathias
6c057c69
Fix for #1160244, #1099704, #1094107:

if the xkb-extension is enabled and the user switches between his/her
keyboardlayouts fluxbox's keybhandling doesn't work well anymore because
xkeyevent.state contains also xkb-related flags and thus we have to handle
that with caution.

KeyUtils now contain 'isolateModifierMask()' to really work only on the
modifiers. why not as part of cleanMods() ? because the XLookupString return
false results, eg TextBox's would only print chars from the first
keyboardlayout.
mathias mathias
7d4f7112
fix some menu drawing issues
simonb simonb
575578d8
minor fix
fluxgen fluxgen
6aee5b22
update
fluxgen fluxgen
1bf17f9c
using associateClient to create new tab and map it to labelbuttons
fluxgen fluxgen
bc3b377e
code cleaning
fluxgen fluxgen
86ee497b
more compose and select2nd
fluxgen fluxgen
ab330933
Select2nd file
fluxgen fluxgen
e5d4fc12
update
fluxgen fluxgen
dce0e2e4
using Select2nd
fluxgen fluxgen
6b943ec6
select 2nd element in pair
fluxgen fluxgen
d8b89340
update
fluxgen fluxgen
d3362370
cleaning, create and delete tabs with FbWinFrame createTab/removeTab
fluxgen fluxgen
55f62bc5
Fix #1086673 ArrangeWindows on shaded aterms causes inconsistency (Mathias)
we now place shaded Windows above the normal windows. ArrangeWindows
touches only windows on the current (xinerama)-head.

there are still some open issues with this, look at my notes at the function
itself.
mathias mathias
815e0cb0
minor const fix
fluxgen fluxgen
cd306240
commited the wrong file in the last session :/
mathias mathias
7aed31fc
updated changes
mathias mathias
9214e519
added new IconbarModes:

  NoIcons          - display all noniconified windows
  WorkspaceNoIcons - display all noniconified windows on the current
                     workspace

modified the nls-files accordingly
mathias mathias
e2acd2b0
removed dead code
mathias mathias
f567d1d4
little fix for nls and  in the Makefile
mathias mathias
08601c23
enabled MenuItems / Separators are not clickable and the same logic should
apply to keys.
mathias mathias
e108c5ca
update
fluxgen fluxgen
7e11e99f
minor stuff
fluxgen fluxgen
dba0d4ff
display accessor
fluxgen fluxgen
c7eb5b03
transient window fix
fluxgen fluxgen
40d026ff
transient window fix
fluxgen fluxgen
94e3fa88
revert mathias last change, and fix it differently using info already 
there
simonb simonb
f1c5abd1
i added an attribute to FbWindow to mark windows which are only used as
"carrier" (maybe a temporarly name?) ... carriers dont need background-updates
.. ever.

this leads to a big performance"boost" over the last commits. before we
updated also the windows which are the hosts for the apps (m_window and
        m_clientarea in FbWinFrame) -> bad idea.
mathias mathias
c0f72580
fix background setting + initialisation
simonb simonb
69003044
add rough support for non-default depth pixmaps. Saves us having ghost 
holes in windows
simonb simonb
9970dd11
fix a few more bugs with recent reworking stuff
Some fixes could incidentally fix a few other bugs... the flaws were
pre-existing, I've just been weeding out a lot of duplication
simonb simonb
8a43bec0
cosmetic