Mathias Gumz
6fb2960756
moved rarely used 'cpccpc' out of class declaration
2011-02-22 22:33:56 +01:00
Mathias Gumz
4f921f77f4
don't use hardcoded references to positions in the menu
2011-02-22 22:17:11 +01:00
Mathias Gumz
d11aa42ace
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'.
2011-02-22 22:07:39 +01:00
Mathias Gumz
b7e84104a6
bugfix: render 'sunken' gradients correctly
2011-02-22 15:53:18 +01:00
Mathias Gumz
3c7407beb4
use FbTk::StringUtil API
2011-02-22 15:18:53 +01:00
Mathias Gumz
84a81a1ac1
renamed Texture:DEFAULT_BEVEL to Texture::DEFAULT_LEVEL
2011-02-22 15:18:20 +01:00
Mathias Gumz
0569849c6d
cosmetics
2011-02-22 15:17:15 +01:00
Mathias Gumz
78adeb2919
Bugfix: don't render textures with dimension of 0
...
At least 'invertRGB()' does not like 'width' or 'height' being 0.
341b2f43e5
was triggered by this problem as well.
2011-02-22 12:32:16 +01:00
Mathias Gumz
92deeba2a0
Render rectangles instead of squares to test TextureRender.cc
2011-02-21 20:49:10 +01:00
Mathias Gumz
341b2f43e5
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.
2011-02-21 19:21:38 +01:00
Henrik Kinnunen
34bf3b4833
Fixed a possible crash when using a slot m_holder = 0
2011-02-20 15:48:42 +01:00
Peter Hercek
fc192b1161
allow to override 'FocusNewWindow' via .fluxbox/apps
2011-02-03 18:51:10 +01:00
Peter Hercek
5f6694ca14
bug fix: semantic differences between WinState::Decoration and Remember::save()
2011-02-03 08:43:47 +01:00
Mathias Gumz
e868ff5928
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.
2011-01-18 21:43:41 +01:00
Mathias Gumz
7f6d03e7bf
compile fix, new name of setMinimumSublevels() is setMinimumColumns()
2011-01-16 08:27:25 +01:00
Mathias Gumz
cc2774871a
removed useless include statements
...
'typeinfo' was needed for RTTI in isItemSelectable() (see last commit)
'algorithm' is already included some lines above
2011-01-15 21:49:37 +01:00
Mathias Gumz
1f0adef4da
better use of API, no need for 'timeval' in Menu
2011-01-15 21:38:56 +01:00
Mathias Gumz
05a52116df
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.
2011-01-15 21:37:45 +01:00
Mathias Gumz
bb480030f5
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'
2011-01-15 21:31:37 +01:00
Mathias Gumz
accb8c3fa3
compile fix: missing symbol (SystemTray::getNetSystemTray()) when configured --disable-toolbar
2011-01-13 16:27:53 +01:00
Mathias Gumz
e8ce9ed3a3
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.
2011-01-06 08:33:34 +01:00
Mathias Gumz
e2d52a3948
bugfix: std::string() does not like NULL on construction
...
not having DISPLAY set (eg: on a headless system) caused fluxbox to crash.
2010-10-13 15:48:29 +02:00
Mathias Gumz
650b6f842b
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.
2010-09-21 00:08:16 +02:00
Mathias Gumz
78b09ee932
updated 'texturetest.cc' to work with current API
2010-09-21 00:05:15 +02:00
Mathias Gumz
ae7a54a4b6
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.
2010-09-21 00:04:46 +02:00
Mathias Gumz
e0c440f599
pushed to early ...
2010-09-19 08:48:35 +02:00
Mathias Gumz
0ef76292c5
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.
2010-09-18 17:51:30 +02:00
Mathias Gumz
c9c741c88d
cosmetic
2010-09-18 17:27:28 +02:00
Mathias Gumz
9cf312fc9d
recovered lost change from 041d586972
...
got lost in d3eabeb805
somehow
2010-09-18 09:26:05 +02:00
Mathias Gumz
87b45bd0d1
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.
2010-09-17 23:43:24 +02:00
Mathias Gumz
f3ad09c4ce
missing initializations
...
'valgrind' reported a lot of code branches based upon uninitialized
variables. some are not identified yet.
2010-09-17 23:34:03 +02:00
Mathias Gumz
87cffef7f5
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.
2010-09-17 23:32:02 +02:00
Mathias Gumz
786eef6e39
bugfix: forgot to resize 'pixels' before putting values into it (facepalm)
2010-09-17 23:26:56 +02:00
John K Pate
f1f7bebf37
added 'ArrangeWindowsVertical' to actions
2010-09-17 16:22:33 +02:00
Mathias Gumz
d3eabeb805
moved commandline parsing to its own function
2010-09-17 15:51:16 +02:00
Mathias Gumz
e84c64f7be
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
2010-09-17 15:34:12 +02:00
Mathias Gumz
603b36a2cc
use FbTk::API to reduce code duplication
2010-09-17 14:46:01 +02:00
Mathias Gumz
041d586972
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.
2010-09-17 14:44:58 +02:00
Mathias Gumz
0b1f160830
use hardcoded array for hardcoded placement menu defaults
2010-09-15 13:01:46 +02:00
Mathias Gumz
61bf564718
removed useless code
...
'tools' is transformed to lower case some lines above,
'm_tools_ is a copy of the lower cased 'tools'.
2010-09-15 12:44:14 +02:00
Mathias Gumz
0beda162d4
code deduplication by using <algorithm> and FbTk/STLUtil.hh
2010-09-15 12:43:30 +02:00
Mathias Gumz
12e1ef7826
code deduplication by using <algorithm> and FbTk/STLUtil.hh
2010-09-15 02:07:09 +02:00
Mathias Gumz
ba316aa18a
code cleanup, missing commit for 2b62cf9733
2010-09-15 01:27:27 +02:00
Mathias Gumz
52f614b598
bugfix: 'reset' nr_shapes to '0' after last instance of 'Shape'
2010-09-15 01:23:56 +02:00
Mathias Gumz
2b62cf9733
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
2010-09-15 01:22:01 +02:00
Mathias Gumz
c6047e9eba
use one array instead of two to hold both 'names' and 'atoms' for the rootwindow
2010-09-14 16:59:05 +02:00
Mathias Gumz
f39bcbd93c
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.
2010-09-14 16:58:08 +02:00
Mathias Gumz
75b9a4ed72
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.
2010-09-14 16:54:08 +02:00
Mathias Gumz
36893ac7f9
bugfix: small typo in last cleanup prevented loading workspace names
2010-09-14 12:24:20 +02:00
Mathias Gumz
b10d58588a
cosmetic code cleaning
...
* use FbTk::StringUtil::number2String() to avoid 'sprintf'
* use FbTk::Util::clamp()
* use FbTk::STLUtil::destroyAndClear()
* whitespaces
2010-09-13 22:07:10 +02:00
Mathias Gumz
deb6a1ebf4
code simplification
...
we do not need a std::map just to store an attribute on an AtomHandler,
it makes housekeeping just more annoying.
2010-09-13 22:04:24 +02:00
Mathias Gumz
f6af17aa58
code simplification
2010-09-13 21:59:09 +02:00
Mathias Gumz
24e4e98dbe
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
2010-09-11 22:04:15 +02:00
Mathias Gumz
51f054e777
added '(workspace=[current])' to our default keys
...
commit 882a50fe1d
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.
2010-09-11 21:53:55 +02:00
Mathias Gumz
faa4c97888
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.
2010-09-11 17:09:07 +02:00
Mathias Gumz
4e2c7e2167
moved helper struct TextPropPtr into anonymous namespace
2010-09-10 16:36:17 +02:00
Mathias Gumz
a6ed9498cc
code cleanup
...
* moved code from public API to internals
* avoid code duplication ( while(!m_terms.empty()) ...)
* cosmetic '(*it)->' vs 'term.'
2010-09-10 16:35:49 +02:00
Mathias Gumz
882a50fe1d
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
2010-09-10 13:32:47 +02:00
Mathias Gumz
8a7c117153
disabled potentially dead code
2010-09-09 23:24:47 +02:00
Mathias Gumz
ecdaba2874
simpler code
2010-09-09 23:24:27 +02:00
Mathias Gumz
ffd5f28072
removed dead code
2010-09-09 23:23:52 +02:00
Mathias Gumz
7fdb0676a7
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.
2010-09-09 23:23:33 +02:00
Mathias Gumz
2b9a38cba5
minor cleanup
2010-09-09 15:33:34 +02:00
Mathias Gumz
534db1d409
reduced 'switch/case' and 'else if' hell a little bit
2010-09-09 15:33:12 +02:00
Mathias Gumz
77f39235cf
added FbTk::Util::clamp() and simplified related code
2010-09-09 15:31:54 +02:00
Mathias Gumz
1657374940
use FbTk apis instead of raw xlib calls
2010-09-09 12:48:19 +02:00
Mathias Gumz
e685117941
simpler to use FbTk/Timer api
2010-09-09 12:47:38 +02:00
Mathias Gumz
82d0de9ef4
cosmetic
2010-09-08 22:31:41 +02:00
Mathias Gumz
8a08110f19
simpler way of expressing 'Singleton' for 'FbAtoms'
2010-09-08 22:09:06 +02:00
Mathias Gumz
dc5a105c3e
fixed code duplication
2010-09-08 21:52:13 +02:00
Mathias Gumz
7a149626e6
improved 'escapeRememberChars()' routine by traversing the string only once
...
removed obsolete 'getuint()' function
2010-09-08 21:45:33 +02:00
Mathias Gumz
48cc67965b
avoid code duplication
2010-09-08 21:43:38 +02:00
Mathias Gumz
b76be98227
improved extract*Number functions from FbTk/StringUtil.cc
2010-09-08 21:42:48 +02:00
Mathias Gumz
6ecfa0ef3e
cosmetic fix: looks like a copyNpaste issue
2010-09-08 20:48:37 +02:00
Mathias Gumz
26c1cd0cee
code simplification
2010-09-08 20:48:01 +02:00
Mathias Gumz
f4fab105ff
avoid code duplication
2010-09-08 20:18:28 +02:00
Mathias Gumz
64afa48bb3
removed unused code
2010-09-08 20:17:36 +02:00
Mathias Gumz
690d926ac4
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).
2010-09-08 20:17:21 +02:00
Mathias Gumz
1e8fe2bc14
removed redundant if-statement
2010-09-08 11:19:49 +02:00
Mathias Gumz
8feb0b8c83
avoid constructing new strings implicit
2010-09-05 10:49:05 +02:00
Mathias Gumz
83656fc0e8
cosmetic
2010-09-05 10:47:12 +02:00
Mathias Gumz
63f9c8c1a2
reuse temporary memory for reencoding / reordering fribidi-strings
2010-09-05 10:47:01 +02:00
Mathias Gumz
60c92b96f2
added info about 'BIDI' support to 'fluxbox -info'
2010-09-05 08:49:13 +02:00
Ken Bloom
ea98db4140
added support for bidirectional text
2010-09-04 15:01:33 +02:00
Mathias Gumz
b1b2f47e7d
minor code simplification
2010-09-04 14:41:39 +02:00
Mathias Gumz
1e9dafdc67
fixed the default 'OnTitlebar Mouse1' actions
2010-09-04 14:41:11 +02:00
Mathias Gumz
b8987fc623
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
2010-08-24 17:30:24 +02:00
Mathias Gumz
874eb67297
moved knowledge about '_NET_SYSTEM_TRAY_S' into the 'SystemTray' class
2010-08-23 19:49:47 +02:00
Mathias Gumz
a1385e4018
fixed compiler warning 'comparison between signed and unsigned integer expressions'
2010-08-23 19:44:21 +02:00
Mathias Gumz
e23c2c4d1b
reenable clickRaise(), but on any button press if no key-action was found
2010-08-23 10:54:49 +02:00
Mathias Gumz
23f56d108f
bugfix: compiler warning
2010-08-22 20:11:59 +02:00
Mathias Gumz
442c651d64
fixed compiler warnings regarding signed/unsigned and () around expressions
2010-08-22 14:44:31 +02:00
Mathias Gumz
bc2b21547b
implemented 'ActivateTab' action to (re)allow activation of tabs via mouse
2010-08-20 19:01:25 +02:00
Mathias Gumz
b4e65724ef
fixed typo
2010-08-16 18:27:00 +02:00
Jim Ramsay
a3b063292c
bugfix: another crash when cleaning up signals
...
While 769130f51a
did fix one issue, it introduced another by changing the
logic related to the new SignalTracker. The original logic (introduced in
9ad388c5bf
) was:
-> in 'leave(Signal)', only call 'disconnect'
-> in 'leaveAll()', call 'disconnect' and 'disconnectTracker'
But 769130f51a
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'.
2010-07-14 11:36:00 -04:00
Jim Ramsay
37a24132b5
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)
2010-05-28 15:50:15 -04:00
Jim Ramsay
cdbaf5c04d
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)
2010-05-28 15:10:28 -04:00
Mathias Gumz
769130f51a
bugfix: do not use invalid iterators while looping thru a container which gets destroyed
2010-05-23 15:58:35 +02:00
Mathias Gumz
fbcdd34b22
mostly cosmetic fixes, mainly discovered by 'clang --analyze'
...
reordering of Resource-related stuff was because of
"error: explicit specialization of 'getString' after instantiation"
complaints.
2010-05-23 12:25:47 +02:00
Mathias Gumz
ff9c68e247
fixed potential memory leak
2010-05-16 14:25:59 +02:00
Mathias Gumz
17b21635a2
cleanup created corner pixmaps, moved the initCorners() function out of the class
2010-05-16 14:25:36 +02:00
Mathias Gumz
04739b2d1f
initialize all member variables, otherwise unclean state in some circumstances
...
(valgrind complained a lot about ::updateGeometry() accessing uninitialized variables)
2010-05-16 14:24:34 +02:00
Mathias Gumz
b8f9ac6d69
prevent crash if m_keylist is 0
...
again, i do not know yet, why this could happen.
2010-05-08 19:04:44 +02:00
Mathias Gumz
24cfd54eae
cleanup: missing initialization
...
i ran across problems on a freshly installed ubuntu without
any config files, m_keylist was not initialized, yet unsure why.
2010-05-08 19:03:57 +02:00
Mathias Gumz
bca59851f3
bugfix: crash when cleaning up signals
...
22fa5f544b
was not fixing anything, the real cause is that the
SignalHolder still has a reference to a not existing Tracker.
2010-05-07 09:36:30 +02:00
Mathias Gumz
615e9cec32
compile fix: FD_ZERO (sys/select.h) on solaris wants to use memset(); closes #2997117
2010-05-06 21:19:31 +02:00
Mathias Gumz
5be5edc1e5
bugfix: when maximizing a shaded window, unshade it before
2010-05-06 20:54:44 +02:00
Mathias Gumz
22fa5f544b
bugfix: added missing 'virtual' keyword, otherwise fluxbox crashes with 'pure virtual method called'
2010-05-06 20:25:47 +02:00
Mathias Gumz
a443d46117
bugfix: resizing/moving a maximized window via keys do not end maximization state ( #2980313 )
2010-05-06 20:09:59 +02:00
Mathias Gumz
a2f809f8f2
added little helper function to disable the maximization state of a window while keeping its current position / size
2010-05-06 20:07:56 +02:00
Mathias Gumz
d2a7cc60a2
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
2010-05-05 22:30:42 +02:00
Mathias Gumz
b43be7144f
upgrade CONFIG_VERSION to 11
2010-05-05 22:05:28 +02:00
Mathias Gumz
2c66828341
cosmetic
2010-05-05 08:42:37 +02:00
Mathias Gumz
fbcb0cd7e1
use maximize options for fullscreen as well
2010-05-05 08:42:28 +02:00
Mathias Gumz
a10bab0f7c
added OnLeftGrip, OnRightGrip, OnWindowBorder modifiers for keys file
...
this allows to move some hardcoded keysbindings into the keys file and
makes the code simpler
2010-05-05 08:41:03 +02:00
Mathias Gumz
35f17d22b5
cosmetic
2010-05-01 14:29:41 +02:00
Mathias Gumz
b3361eae02
use new closest head calculation code to place windows when clearing up heads
2010-05-01 14:29:31 +02:00
Mathias Gumz
d6bc8d753e
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
2010-05-01 14:27:45 +02:00
Mathias Gumz
583398e491
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.
2010-04-30 09:03:57 +02:00
Henrik Kinnunen
dd8fcc8b7b
Changed title signal in Focusable to new signal system
2010-03-26 18:15:45 +01:00
Henrik Kinnunen
9ad388c5bf
Added Tracker interface for SignalHolder.
...
This is used by SignalTracker so Signals can disconnect from it when
they die.
2010-03-26 18:04:58 +01:00
Henrik Kinnunen
1cae9f22f8
Minor fix for argument reference in MemFunSelectArgImpl
2010-03-26 18:00:23 +01:00
Henrik Kinnunen
5bc782561b
Initialize all variables in FbWindow
2010-03-26 17:28:18 +01:00
Henrik Kinnunen
43837f82e1
Added simple stress test in python
2010-03-20 00:29:39 +01:00
Henrik Kinnunen
f150f727b2
Added SelectArg.hh to Makefile.am
2010-03-19 02:32:17 +01:00
Henrik Kinnunen
ceff86b794
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) {
...
}
2010-03-19 02:23:41 +01:00
Henrik Kinnunen
68e90ab84f
Added missing RelaySignal.hh to Makefile.am
2010-03-18 19:47:14 +01:00
Henrik Kinnunen
6ed8369d57
Changed Focusable::focusSig() to new signal system.
...
The focus signal emits the window that had the focus status changed.
2010-03-18 19:41:35 +01:00
Henrik Kinnunen
02bb93590c
Added FbTk::relaySignal, which relays new signals to old Subject type signals.
2010-03-18 19:35:19 +01:00
Henrik Kinnunen
31a458f365
Fixed so testDemandAttention compiles
2010-03-18 12:08:03 +01:00
Henrik Kinnunen
18570d83a2
minor cleaning in MemFun.hh
2010-03-18 10:56:15 +01:00
Henrik Kinnunen
0504de454a
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));
2010-03-18 10:45:33 +01:00
Henrik Kinnunen
ce0b41c847
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.
2010-03-17 16:35:07 +01:00
Mathias Gumz
254bc96daf
fixed little preprocessor error
2010-02-27 10:33:06 +01:00
Mathias Gumz
c65dc30fc2
improved documentation of the code
2010-01-19 20:20:13 +01:00
Mathias Gumz
a2f673ccaf
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.
2010-01-19 20:19:45 +01:00
Mathias Gumz
46261a8284
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
2009-12-18 08:05:07 +01:00
Michal Zime
69d80c5905
Keep 'maximum/fullscreen' when moving a window between different heads
2009-11-23 21:11:04 +01:00
Mark Tiefenbruck
8def80cec3
reportedly fix compiling on gcc 4.4 on Solaris
2009-10-08 00:18:43 -07:00
Mathias Gumz
6645688880
definition should match declaration
2009-10-03 13:53:13 +02:00
Mathias Gumz
69bf3965b7
compile fixes for sun compiler 5.10: class Layer conflicts with class FbTk/Layer .. so just a little renaming
2009-10-03 13:53:00 +02:00
Mathias Gumz
a973154c66
compile fixes for sun compiler 5.10: 'i want an extern C function ptr'
2009-10-03 13:40:32 +02:00
Mathias Gumz
f2ea245f1d
compile fixes for sun compiler 5.10: complains about 'not beeing able to initialize this from that'
2009-10-03 13:38:41 +02:00
Mathias Gumz
54c58bba21
cosmetic: use FbTk::StringUtil::number2String()
2009-10-03 09:06:34 +02:00
Mathias Gumz
80e8cd071e
just use the FbTk API
2009-10-02 08:38:24 +02:00
Mathias Gumz
261ba26d27
another little helper for FbTk::StringUtil: extractNumber()
2009-10-01 21:16:46 +02:00
Mathias Gumz
4eeac74a3d
removed unused code
2009-10-01 08:58:56 +02:00
Mathias Gumz
65a45dc65f
compile fix: missing include guards
2009-10-01 08:57:46 +02:00
Mathias Gumz
c4c96ec830
simpler code
2009-10-01 08:57:31 +02:00
Mathias Gumz
710ad1d456
compile fix: taken 'FbTk' out of includepath, Layer.hh and FbTk/Layer.hh confused the sun compiler
2009-10-01 08:42:00 +02:00
Mathias Gumz
078438e993
compile fix: missing headers (sun compiler complained about)
2009-10-01 08:41:04 +02:00
Mathias Gumz
6c0739e889
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
2009-10-01 07:34:37 +02:00
Mathias Gumz
38ef6e5155
made code simpler
2009-10-01 07:07:07 +02:00
Mathias Gumz
69de5b5a00
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
2009-09-30 21:08:55 +02:00
Mathias Gumz
9cd953b2e1
compile fix: ISO C++ forbids variable length array 'names'
2009-09-30 21:05:42 +02:00
Mathias Gumz
f8c61a1ba2
compile fix: use the correct format string to parse the number
2009-09-30 21:05:02 +02:00
Mathias Gumz
e8c2690bfc
cosmetic: slightly less code to do the same
2009-09-30 21:03:59 +02:00
Mathias Gumz
12fe9ca7a8
compile fix: sun compiler complains about missing std::mem_fun_t<>
2009-09-30 21:03:25 +02:00
Mathias Gumz
884db973bb
cosmetic fixes: removed redundant ';' + some whitespaces
2009-09-30 21:02:24 +02:00
Mathias Gumz
4663a9591e
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
2009-09-23 22:21:13 +02:00
Mark Tiefenbruck
cfd055064a
mwm hints can't control the close button
2009-09-14 02:13:33 -07:00
Mathias Gumz
5a3f25cda1
implemented visibility of titlebar buttons via the apps file
2009-09-12 16:19:46 +02:00
Mathias Gumz
5f958b3bd5
check for errno while parsing the deco mask
2009-09-12 16:03:42 +02:00
Mark Tiefenbruck
ca9e2e0d15
allow navigating multi-column menus with left and right arrows
2009-08-08 10:20:45 -07:00
Mark Tiefenbruck
07da360b2b
more fixes for fluxconf mangling the keys file
2009-08-08 09:14:39 -07:00
Mark Tiefenbruck
9dcbff31b4
make autohide only show the border or 1 pixel if borderless
2009-07-24 00:56:04 -07:00
Mark Tiefenbruck
589125672b
allow matching screen number in ClientPattern
2009-06-28 13:10:58 -07:00
Mark Tiefenbruck
27d181f490
hide the menu when you click on a window
2009-06-28 12:34:34 -07:00
Mark Tiefenbruck
9f59ce18a2
change default toolbar tools to:
...
prevworkspace, workspacename, nextworkspace, iconbar, systemtray, clock
2009-06-28 10:54:55 -07:00
Mark Tiefenbruck
5f9f2475b7
make Raise/LowerLayer accept integer argument for number of layers, default 2
2009-06-28 10:15:06 -07:00
Mark Tiefenbruck
c1d9ae5068
fix changing iconbar alignment and button width from init file
2009-06-28 09:39:28 -07:00
Mark Tiefenbruck
659af0eb75
allow 'Ctrl' and 'Alt' as modifiers in keys file
2009-06-28 09:12:02 -07:00
Mark Tiefenbruck
8addc54e7e
allow "lower" as a reference point for MoveTo, etc.
2009-06-28 09:04:46 -07:00
Mark Tiefenbruck
4e586cc172
previous fix for reverting iconbar to relative broke external tabs
2009-06-28 08:22:51 -07:00
Mark Tiefenbruck
f3d61235f3
change default toolbar head from 0 to 1
2009-06-28 04:11:49 -07:00
Mark Tiefenbruck
f2c0175a72
add window menu and alt-tab to error case for keys file
2009-06-28 03:55:21 -07:00
Mark Tiefenbruck
fe92b6b39b
revert to relative iconbar alignment when too many windows are open
2009-06-28 03:40:50 -07:00
Mark Tiefenbruck
02e0f9321c
use current workspace in ClientPattern when client has no FbWindow
2009-06-25 03:18:27 -07:00
Jim Ramsay
54b49c63a6
Merge branch 'mousefocus'
2009-05-26 16:45:05 -04:00
Jim Ramsay
edffe9c93f
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.
2009-05-26 16:36:13 -04:00
Jim Ramsay
ff6a46391f
Error on incomplete MacroCmd key command
2009-05-26 16:27:31 -04:00
Jim Ramsay
a56e409b1f
Exit loop for unterminated { } pair
2009-05-26 16:27:31 -04:00
Mathias Gumz
761c841171
minor cosmetics
2009-05-25 06:47:15 +02:00
Jim Ramsay
c1dee4a405
Ignore EnterNotify on workspace change
...
Changing workspaces also reveals other windows, which causes unexpected focus
changes.
2009-03-09 14:05:41 -04:00
Slava Semushin
dfa360e890
src/TextDialog.cc: removed useless stdexcept header inclusion.
...
No functional change.
Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
2009-03-04 21:52:28 +01:00
Slava Semushin
5532aca916
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>
2009-03-04 21:45:52 +01:00
Slava Semushin
efea05e85c
Renamed function svnversion() to gitrevision() because now we uses GIT.
...
No functional change.
Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
2009-03-04 21:41:39 +01:00
Mathias Gumz
c4d8e9c8e1
buildfix: fluxbox didnt link when configured with --disable-remember
2009-03-04 20:12:25 +01:00
Jim Ramsay
54c1ac8704
Ignore EnterNotify on Move or Resize
...
Moving and Resizing windows can reveal other windows, which of course can change
unexpected focus changes in focus-follows-mouse.
2009-02-27 15:18:08 -05:00
Jim Ramsay
8a7879913b
Ignore EnterNotify on Lower
...
Lower is one of the actions which may reveal a window under the current mouse
pointer which would unexpectedly change focus under focus-folows-mouse.
2009-02-27 15:18:08 -05:00
Jim Ramsay
76ea1d9bbe
Ignore EnterNotify on Unmap
...
This is the basic condition that was first noticed because of the effect of the
ClientMenu window unmapping and the resulting EnterNotify event stealing focus
from the window selected in that menu. But to be complete, any window unmapping
should cause focus to move to the next in the last-recently-focused window list,
not the one that happens to be beneath the mouse cursor.
2009-02-27 15:18:07 -05:00
Jim Ramsay
5c7784affe
Added facility to selectively ignore EnterNotify events
...
This will be used to avoid some situations where an EnterNotify event should not
focus the window beneath the mouse cursor. For example, when a menu (or any
window for that matter) is unmapped, focus should not pass to whatever window is
beneath the current location of the mouse cursor, but to the previous window in
the focus list.
This was first noticed when using the ClientMenu feature with
focus-follows-mouse on -> The focus would always end up on the window beneath
the mouse pointer, not the window selected in the menu.
2009-02-27 15:18:07 -05:00
Mark Tiefenbruck
e770016660
remove unnecessary xpm.h include in imlib code
2009-02-24 14:22:18 -08:00
Peter Hercek
4e831484d5
fixed resize bug (caused by typo, see #2498507 )
2009-01-11 14:23:08 +01:00
Mark Tiefenbruck
f5fdbab98c
don't reload keys file on modifier map events, just re-grab keys
2008-11-01 17:03:32 -07:00
Mark Tiefenbruck
3b9611b61d
increase default size of toolbar and icon buttons
2008-10-18 21:40:32 -07:00
Mark Tiefenbruck
f92fd6ca05
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.
2008-10-15 16:20:30 -07:00
Mathias Gumz
6642792f68
additional fix for the resize bug
2008-10-15 23:31:37 +02:00
Mathias Gumz
ccf096f771
reverted 1fdef35e51
, added more info about that feature
2008-10-15 23:07:14 +02:00
Mathias Gumz
3441261346
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.
2008-10-15 08:31:10 +02:00
Mark Tiefenbruck
9bd6401013
ignore XRandr events that don't actually change the screen size
2008-10-14 19:40:33 -07:00
Mark Tiefenbruck
5b07791ed4
merge menuDelay and menuDelayClose options
2008-10-12 21:55:03 -07:00
Mark Tiefenbruck
e5fd401f4e
focus window when done dragging to a new workspace with outline moving
2008-10-12 09:54:35 -07:00
Mathias Gumz
93924af160
using namespace instead of a useless class
2008-10-09 09:38:42 +02:00
Mark Tiefenbruck
f3bd8e7565
don't show window on new workspace when warping with outline moving
2008-10-08 17:15:53 -07:00
Mark Tiefenbruck
706ec5c262
show/hide tooltip if title length changes enough while mouse is over the iconbutton
2008-10-07 14:32:42 -07:00
Mark Tiefenbruck
a97ba40053
fix windows mapping into IconicState again
2008-10-07 00:59:05 -07:00
Mark Tiefenbruck
1fdef35e51
remove some unneeded code
2008-10-07 00:49:45 -07:00
Mark Tiefenbruck
dda95bf106
allow relative path for background images in style files
2008-10-06 18:16:26 -07:00
Mark Tiefenbruck
c033c201c4
remove menu modes
2008-10-04 19:49:28 -07:00
Mark Tiefenbruck
86a072e7fd
remove follow models
2008-10-04 19:30:19 -07:00
Mark Tiefenbruck
e1eb5e225b
remove line style resources from init file
2008-10-04 19:08:50 -07:00
Mark Tiefenbruck
ab25696328
remove rootcommand from init file
2008-10-04 18:49:00 -07:00
Mark Tiefenbruck
aee9889a27
recognize --option in addition to -option for most things
2008-10-04 14:32:20 -07:00
Mark Tiefenbruck
4b5c00b764
in ClickFocus, replay pointer before focusing window
2008-10-03 23:16:37 -07:00
Mark Tiefenbruck
b265d0d870
fix CustomMenu and ClientMenu commands from fluxbox-remote
2008-10-03 23:09:11 -07:00
Mark Tiefenbruck
22f3df9aa8
break keychains after an invalid key is pressed (which unfortunately will be swallowed)
2008-10-03 22:59:14 -07:00
Mark Tiefenbruck
c91926cf71
fix flickering of shaped windows on focus changes
2008-10-03 20:48:38 -07:00
Mark Tiefenbruck
9df75ed7a6
fix restacking
2008-10-01 02:29:59 -07:00
Mark Tiefenbruck
269459e1aa
don't flash original window in the middle of cycling focus
2008-10-01 01:38:56 -07:00
Mark Tiefenbruck
b3da022ee2
reset background on resolution change
2008-09-30 21:04:28 -07:00
Mark Tiefenbruck
6e9d8e2dc6
restore missing config files on reconfigure
2008-09-30 20:49:04 -07:00
Henrik Kinnunen
9aee5b80cb
Changed resize signal in BScreen to use the new signal system
2008-09-28 18:13:30 +02:00
Henrik Kinnunen
2fcc0fd9e7
Changed workspace area signal to use the new signal system
2008-09-28 16:00:48 +02:00
Henrik Kinnunen
f2c8868724
Merge branch 'master' of fluxbox@git.fluxbox.org:fluxbox
...
Conflicts:
ChangeLog
2008-09-28 10:53:16 +02:00
Henrik Kinnunen
bcf37890b6
Change focused signal to use the new signal system
2008-09-28 10:46:49 +02:00
Mark Tiefenbruck
04a1d2a83b
don't let KeyRelease events propagate to windows
2008-09-28 01:26:21 -07:00
Mark Tiefenbruck
c8022b3bdb
turn off size/position display by default, move click raises to focus model menu
2008-09-27 13:37:04 -07:00
Mark Tiefenbruck
01aa0b6f8f
fix some goofy code
2008-09-27 00:59:12 -07:00
Mark Tiefenbruck
bb70b14432
fix rounded corners on restart
2008-09-25 20:51:37 -07:00
Mathias Gumz
acd690ff65
fixed detection of bad values in the _NET_WM_ICON property. eg, tvtime.sf.net
...
is not aware of how to correctly feed icon data into the property on 64bit architecture
which caused the dimensions of the icon beeing corrupt and due to overflow arithmetics
fluxbox crashed.
2008-09-23 09:13:53 +02:00
Mathias Gumz
769ca8f1c8
Merge branch 'master' of fluxbox@dev:fluxbox
2008-09-22 07:44:50 +02:00
Mathias Gumz
984fb5bef2
cosmetics
2008-09-22 07:44:40 +02:00
Mark Tiefenbruck
3f33657fb7
fix active menu item when inserting or removing other items
2008-09-21 22:32:02 -07:00
Henrik Kinnunen
ed53f3c623
Changed icon list signal in BScreen to use the new signal system
2008-09-21 20:45:01 +02:00
Henrik Kinnunen
52e22a0304
Changed client list signal in BScreen to use the new signal system
2008-09-21 19:32:40 +02:00
Henrik Kinnunen
d05804e666
Changed background changed signal in BScreen to use the new signal system
2008-09-21 16:12:36 +02:00
Henrik Kinnunen
71674739ec
Changed workspace names signal in BScreen to use the new signal system
2008-09-21 15:25:47 +02:00
Henrik Kinnunen
86819abab9
Changed current workspace signal in BScreen to use the new signal system
2008-09-21 13:44:48 +02:00
Henrik Kinnunen
f5113e2ec1
no virtuals needed Signals, added leaveAll for SignalTracker which must be used before all screens dies.
2008-09-21 12:02:49 +02:00
Mark Tiefenbruck
75cf24da28
re-fix maximizing problem with non-northwest gravity windows
2008-09-21 00:07:40 -07:00
Mark Tiefenbruck
93ccd39a48
fix placement of windows with non-default decorations
2008-09-21 00:04:01 -07:00
Mark Tiefenbruck
4c11204716
fix a few things with new signal code
2008-09-20 23:46:23 -07:00
Henrik Kinnunen
ab8b21d18c
Merge branch 'master' of fluxbox@git.fluxbox.org:fluxbox
...
Conflicts:
ChangeLog
2008-09-18 22:31:00 +02:00
Henrik Kinnunen
2f4db57898
Changed workspace count signal in BScreen to use the new signal system.
2008-09-18 22:27:16 +02:00
Henrik Kinnunen
e4d4717703
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.
2008-09-18 22:24:35 +02:00
Mark Tiefenbruck
ea9f80399b
fix crash when trying to set the title on a window that's already closed
2008-09-18 11:15:15 -07:00
Henrik Kinnunen
a4feddcbd6
added RectangleUtil.hh to build
2008-09-14 21:46:36 +02:00
Henrik Kinnunen
91408776f0
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.
2008-09-14 21:36:16 +02:00
Henrik Kinnunen
9f519ec0fc
some minor code cleaning.
2008-09-14 20:06:28 +02:00
Mark Tiefenbruck
de8275f688
fix some default values
2008-09-11 15:48:46 -07:00
Mark Tiefenbruck
3ac1ab023e
try to fix some weird focus issues
2008-09-11 14:01:36 -07:00
Mark Tiefenbruck
bf620f96df
fix program crashes caused by unshading
2008-09-11 13:01:11 -07:00
Mathias Gumz
8d0fb85bbc
be aware of badly specified _NET_WM_ICONS
2008-09-11 16:21:51 +02:00
Mark Tiefenbruck
6b391c3bea
update workspace names atoms/resources when adding a new workspace
...
also removed unnecessary items from default init file
2008-09-08 18:50:25 -04:00
Mark Tiefenbruck
39e0bdcbcc
remove unnecessary signals causing toolbar renders on workspace change
2008-09-08 13:52:38 -04:00
Mark Tiefenbruck
b288fc1401
turn on opaque window moving by default
2008-09-04 14:27:21 -04:00
Mark Tiefenbruck
27dc136121
add check to configure script to detect old versions of Xrandr
2008-09-03 14:00:40 -04:00
Mark Tiefenbruck
ba03aaaa33
fix maximize/fullscreen for windows with non-Northwest gravity
2008-09-03 10:41:05 -04:00
Mark Tiefenbruck
60a4c7d9f6
remove tooltip when IconButton is destroyed
2008-09-03 09:53:30 -04:00
Mark Tiefenbruck
f9ed11a351
resize fullscreen windows when resolution changes
2008-09-02 11:41:55 -04:00
Mark Tiefenbruck
2151e73dac
update window's size hints when client updates size hints
2008-09-01 20:53:53 -04:00
Henrik Kinnunen
8fb1722389
included some missing files in distribution
2008-09-01 20:18:59 +02:00
Henrik Kinnunen
696f63fd64
removed ObjectResource.hh and CompareWindow.hh
2008-09-01 18:50:40 +02:00
Mark Tiefenbruck
13a73a78f6
highlight the nearest menu item when the current one is disabled, and add separators to focus model menu
2008-09-01 11:00:04 -04:00
Mark Tiefenbruck
79eadb258f
fix focus after tabbing
2008-08-31 10:30:05 -04:00
Mark Tiefenbruck
6a72474185
missed one
2008-08-30 18:45:15 -04:00
Mark Tiefenbruck
41b2e0ced4
use FbMenu::window instead of WindowCmd<>::window for displaying items in the window menu
2008-08-30 18:36:53 -04:00
Mark Tiefenbruck
fd0389d2e1
more fun with global variables
2008-08-30 15:24:14 -04:00
Mark Tiefenbruck
920cb81caf
don't change a fullscreen window's layer when its transient takes the focus
2008-08-27 18:57:35 -04:00
Mark Tiefenbruck
82047e6a39
move some things from FluxboxWindow to WindowState
2008-08-27 18:29:33 -04:00
Mark Tiefenbruck
a2ec0c9bdd
make FbWinFrame and FluxboxWindow share a WindowState object
2008-08-27 16:29:35 -04:00
Mark Tiefenbruck
84c87a86f9
remove option to disable decorations on transient windows
2008-08-27 13:59:24 -04:00
Mark Tiefenbruck
cbc1075dde
move decoration handling for non-resizable windows to SizeHint class
2008-08-27 13:47:16 -04:00
Mark Tiefenbruck
55fd49614b
move FbWinFrame::State class to a new file
2008-08-27 13:05:49 -04:00
Mark Tiefenbruck
7d2240e2ce
toolbar placement menu wasn't updating
2008-08-23 17:36:55 -07:00
Mark Tiefenbruck
65c5fb3237
make clicking on the border of the toolbar activate toolbar buttons
2008-08-23 17:14:31 -07:00
Mark Tiefenbruck
36d1edfbf6
fix for restoring horizontally or vertically resized windows
2008-08-23 15:50:09 -07:00
Mark Tiefenbruck
37a602899d
fix reading iconbar border from theme
2008-08-23 12:46:36 -07:00
Mark Tiefenbruck
e6b11e06c6
resize maximized windows when the toolbar or slit changes size
2008-08-23 07:46:16 -07:00
Mark Tiefenbruck
10f769f7fc
when a transient dies, revert focus to its parent
2008-08-23 06:34:06 -07:00
Mark Tiefenbruck
6875a611dc
make ShowDesktop and Deiconify commands maintain focus order
2008-08-23 05:44:11 -07:00
Mark Tiefenbruck
e3fb16c993
allow various combinations of shaded, maximized, and fullscreen states
2008-08-22 16:29:09 -07:00
Mark Tiefenbruck
c37a91e150
be a little smarter about size hints in tabbed windows
2008-08-22 10:16:33 -07:00
Mark Tiefenbruck
feac120f4a
don't let MWM hints override defaultDeco
2008-08-22 07:57:41 -07:00
Mark Tiefenbruck
9170de1831
another parsing fix
2008-08-22 07:14:56 -07:00
Mark Tiefenbruck
72a9dc9c30
remove borders from maximized windows
2008-08-22 06:28:12 -07:00
Mark Tiefenbruck
f1ff5ff3b2
add -sync command line option for debugging X issues
2008-08-22 06:12:01 -07:00
Mark Tiefenbruck
5a877163c7
accidentally left this on
2008-08-22 06:00:42 -07:00
Mark Tiefenbruck
0ae3ca9e8a
move fullscreen and maximization handling to FbWinFrame
2008-08-22 05:52:23 -07:00
Mark Tiefenbruck
8681220f53
don't apply rounded corners to windows without decorations
2008-08-22 03:36:26 -07:00
Mark Tiefenbruck
2f3a48f17f
apply patch to fix memory leak that shouldn't exist
2008-08-22 02:23:29 -07:00
Mark Tiefenbruck
73f38a0ebb
fix cycling with minimized windows
2008-08-21 14:26:03 -07:00
Mark Tiefenbruck
1fe1da5ca0
fix parsing of Delay command
2008-08-21 12:53:32 -07:00
Mark Tiefenbruck
99eaded40e
make Swing apps only somewhat horribly broken again
2008-08-21 10:17:21 -07:00
Mark Tiefenbruck
42895e115b
;
2008-08-21 07:07:47 -07:00
Mark Tiefenbruck
533c70cb57
some cleanup
2008-08-21 07:05:44 -07:00
Mark Tiefenbruck
0116a83aa6
add SendToNextHead/SendToPrevHead commands, plus some cleanup in CurrentWindowCmd
2008-08-21 03:22:57 -07:00
Mark Tiefenbruck
4bf00f6857
fix match limits in apps file, plus some documentation
2008-08-20 05:26:12 -07:00
Mark Tiefenbruck
0fea3e3c86
ShowDesktop should ignore everything on the desktop layer, not just windows of type Desktop
2008-08-20 04:06:48 -07:00
Mark Tiefenbruck
74df0fcda9
add SetDecor key command
2008-08-20 03:22:51 -07:00
Mark Tiefenbruck
75850d8b60
shift+enter wasn't sending right click if the menu item had a submenu
2008-08-19 09:36:08 -07:00
Mark Tiefenbruck
4e64d45e16
add [transient] tag to apps file to match transient windows
2008-08-19 09:18:32 -07:00
Mark Tiefenbruck
e5d43edb8e
update keys file for changes to NextWindow syntax
2008-08-19 05:48:16 -07:00
Mark Tiefenbruck
18ae02875f
fix :Focus <pattern> when all windows are minimized
2008-08-18 15:20:16 -07:00
Mark Tiefenbruck
ccba298cb5
fix a bug with Some and Every commands and the stupid global current window variable
2008-08-18 08:09:59 -07:00
Mark Tiefenbruck
37b18a9694
combined code for saved window positions and MoveTo key command
...
added left, right, top, and bottom center reference points
2008-08-18 05:12:30 -07:00
Mark Tiefenbruck
2ab539073b
fix some defaults
2008-08-18 02:06:46 -07:00
Mark Tiefenbruck
a30a14ef36
add top, left, right, and bottom center tab placement options
2008-08-18 01:45:44 -07:00
Mark Tiefenbruck
a23778a44d
add SetTitle and SetTitleDialog key commands
2008-08-17 04:10:17 -07:00
Mark Tiefenbruck
72fd5e03a4
revert focus when closing dialogs
2008-08-16 06:30:09 -07:00
Mark Tiefenbruck
38654bae45
some cleanup
2008-08-16 05:54:07 -07:00
Mark Tiefenbruck
06837ba864
cosmetic changes
2008-08-16 04:36:08 -07:00
Mark Tiefenbruck
fe412dbeef
move interpretation of normal hints to size hint class
2008-08-16 00:22:12 -07:00
Mathias Gumz
1d8dfcdf9a
cosmetic api change
2008-08-15 19:38:41 +02:00
Mark Tiefenbruck
1056474e1d
fix compilation
2008-08-15 05:19:40 -07:00
Mark Tiefenbruck
215939d6ed
let FbWinFrame handle decorations in fullscreen state
2008-08-15 04:46:06 -07:00
Mark Tiefenbruck
0689a0a4a8
move getDecoMaskFromString to FbWinFrame
2008-08-15 04:42:13 -07:00
Mark Tiefenbruck
06d696f99b
fix some consts and private functions
2008-08-15 04:39:24 -07:00
Mark Tiefenbruck
4093d2641f
group some window properties into a new class FbWinFrame::State
2008-08-15 04:36:02 -07:00
Mark Tiefenbruck
f32fdc29d2
have fullscreen and maximization code call applySizeHints directly
2008-08-15 04:30:57 -07:00
Mark Tiefenbruck
e5c61a7279
move some frame size calculations to FbWinFrame
2008-08-15 04:24:03 -07:00
Mark Tiefenbruck
1dab657708
aspect ratios should take base size into account, fix size hint initialization
2008-08-15 04:16:30 -07:00
Mark Tiefenbruck
6053ecc1b5
move size hint code to methods in size hint struct, restructure them a little
2008-08-15 04:09:15 -07:00
Mark Tiefenbruck
4fa3773267
move size hint code to FbWinFrame
2008-08-15 04:04:56 -07:00
Mark Tiefenbruck
80059c6dae
move size hints to a struct
2008-08-15 04:02:14 -07:00
Mathias Gumz
31b47e7814
cleanup of some files
2008-08-14 07:53:38 +02:00
Mark Tiefenbruck
91ca3bc5c8
make sure apps, overlay, and windowmenu get copied on new installations
2008-08-13 02:05:31 -07:00
Mark Tiefenbruck
c52a84a170
make wallpapers do The Right Thing (tm)
2008-08-05 23:40:18 -07:00
Mark Tiefenbruck
2df84f6687
use the same options in Slit and Toolbar placement menus
2008-08-05 17:11:55 -07:00
Mark Tiefenbruck
22aa93c56d
fix the Focus key command
2008-08-05 05:00:48 -07:00
Mark Tiefenbruck
24bea22035
add SetLayer key command
2008-08-05 00:05:21 -07:00
Mark Tiefenbruck
9d71ad9c14
make ShowDesktop command toggle between showing desktop and windows
2008-08-04 22:51:08 -07:00
Dmitry E. Oboukhov
a2cd78563f
make resize cursors consistent
2008-08-04 18:39:57 -07:00
Mark Tiefenbruck
7970388238
add selection box to various "choose one of these" menu items
2008-08-03 21:59:14 -07:00
Mark Tiefenbruck
0688816d11
add window pattern argument to ArrangeWindows
2008-08-03 18:18:04 -07:00
Mark Tiefenbruck
c492daf2d9
remove dithering code
2008-06-26 12:41:43 -07:00
Mark Tiefenbruck
0d6edbdd38
don't send stuck windows to other workspaces
2008-06-23 13:12:41 -07:00
Mark Tiefenbruck
1a54fbc67d
move default window menu to ~/.fluxbox/windowmenu
2008-06-19 20:48:26 -07:00
Mark Tiefenbruck
e71892d99c
allow restart with no argument from fluxbox-remote
2008-06-19 18:58:34 -07:00
Mark Tiefenbruck
68d8aa60b6
fix crashes from dangling pointer
2008-06-17 09:21:41 -07:00
skiidoo
be3ac3723d
updated the copyright where it's easily visible: fluxbox -v
and COPYRIGHT.
...
nls/translators: typo, plus Translation.m.desc never existed. Never.
more consistent keys file comments in fluxbox-update_config.
2008-06-11 07:47:02 +02:00
Mark Tiefenbruck
a84fe20c49
add (urgent=yes|no) options to ClientPattern
2008-06-08 11:29:47 -07:00
Matthias S. Benkmann
6509fe0cac
fix some memory leaks and uninitialized values
2008-06-07 06:14:23 -07:00
Mark Tiefenbruck
ac9c672a1e
allow window menu items in ordinary menus
2008-06-06 06:58:20 -07:00
Mark Tiefenbruck
11a066ec13
some fixes for borderless windows
2008-06-05 04:04:43 -07:00
Mark Tiefenbruck
a39e3e33b5
only remove outside border when disabled by decoration mask
2008-06-04 08:48:43 -07:00
Mark Tiefenbruck
ad6a7e48f4
add new command line option -list-commands
2008-06-03 01:07:14 -07:00
Mark Tiefenbruck
bfaec62d79
remove some unnecessary architecture
2008-06-03 00:15:37 -07:00
Mark Tiefenbruck
85a44db6c6
reset typeahead when adding/removing items in the menu
2008-05-30 02:02:41 -07:00