Commit graph

4467 commits

Author SHA1 Message Date
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
Tomas Janousek
5119ded374 Fix focused/unfocused border color of the tab container.
(it was broken since 46bca62a9c)
2008-05-28 15:43:07 +02:00
Mark Tiefenbruck
467fefaae4 more more fun with the window menu 2008-05-28 02:32:57 -07:00
Mark Tiefenbruck
130012c010 simplify gravity calculations 2008-05-25 16:08:40 -07:00
Mark Tiefenbruck
c1d400b436 another fix for saving and restoring window dimensions 2008-05-25 15:14:03 -07:00
Mark Tiefenbruck
46bca62a9c move FluxboxWindow::applyDecorations() to FbWinFrame 2008-05-24 01:03:59 -07:00
Mark Tiefenbruck
5ecb192a9c c++ != perl 2008-05-20 23:30:23 -07:00
Mark Tiefenbruck
c7ddf2e4e5 fix negative arguments to :GoToWindow 2008-05-20 20:48:58 -07:00
Mark Tiefenbruck
079b1b13a0 if argument to :GoToWindow is too large, select the last window 2008-05-20 18:55:32 -07:00
Mark Tiefenbruck
855ff278af move some code around 2008-05-16 01:13:45 -07:00
Mark Tiefenbruck
2815393751 minor changes for frame extent calculations 2008-05-15 18:48:35 -07:00
Mark Tiefenbruck
4f8aa2519e fix updating struts when not using xinerama 2008-05-15 17:49:19 -07:00
Mark Tiefenbruck
61b04e3366 need to reset keybindings when keymap changes 2008-05-15 12:30:11 -07:00
Mark Tiefenbruck
398b63c7c5 fix resizing from apps file with defaultDeco != NORMAL 2008-05-14 22:34:51 -07:00
Matteo Galiazzo
af0f241954 don't save rc in SetStyle command if loading the style fails 2008-05-14 01:40:53 -07:00
Henrik Kinnunen
7f45bae462 Merge branch 'master' of fluxbox@git.fluxbox.org:fluxbox 2008-05-13 17:07:30 +02:00
Henrik Kinnunen
5ecebae477 Fixed startup bug for window menu in iconbar.
The window menu in the iconbutton was not updated properly
the first time it was used ( before right clicking in the real
window titlebar).
2008-05-13 17:06:26 +02:00
Mark Tiefenbruck
d7aa526d92 change default edge snap threshold to 10 pixels 2008-05-13 01:43:51 -07:00
Mark Tiefenbruck
68cf309220 implement smarter reloading for custom menus 2008-05-12 18:13:56 -07:00
Mark Tiefenbruck
dcdc783324 only reload the keys file if the contents have changed 2008-05-12 12:16:37 -07:00
Mark Tiefenbruck
a56492c0d5 some minor changes 2008-05-12 09:30:13 -07:00
Mark Tiefenbruck
0b2e002d4f use AutoReloadHelper in apps file, check for changes automatically 2008-05-12 09:00:02 -07:00
Mark Tiefenbruck
93b0c5322a refactor menu reloading, added FbTk::AutoReloadHelper 2008-05-11 17:22:40 -07:00
Mark Tiefenbruck
72a45fae3c reuse some menu pointers instead of using delete/new 2008-05-11 10:17:21 -07:00
Mark Tiefenbruck
85d8ac7549 more useless code 2008-05-11 09:08:14 -07:00
Mark Tiefenbruck
a9fd0f5b26 remove some more useless code 2008-05-11 08:54:18 -07:00
Mark Tiefenbruck
518af23488 remove some unnecessary code 2008-05-10 15:42:35 -07:00
Henrik Kinnunen
c31638038a Fixed so tooltip window in the iconbar when the title changes. 2008-05-09 19:39:02 +02:00
Mark Tiefenbruck
05fa2be096 adjust coordinates for window border in synthetic ConfigureNotify events 2008-05-07 11:35:28 -07:00
Mark Tiefenbruck
969133c067 fix tooltip windows for xinerama 2008-05-05 06:37:35 -07:00
Mark Tiefenbruck
8f0b031aa3 change default menu delays 2008-05-05 06:12:59 -07:00
Matteo Galiazzo
4a3be045b2 add tooltips for iconbar buttons when title is too long to fit 2008-05-05 05:05:52 -07:00
Mark Tiefenbruck
ba604ac821 little hack to allow arbitrary commands in the toolbar 2008-05-02 05:47:30 -07:00
Mark Tiefenbruck
d7afd7b39e remove some unnecessary arguments 2008-05-02 03:44:27 -07:00
Mark Tiefenbruck
50024d32bc save timestamp for non-existent menu file, in case user creates one 2008-05-01 01:22:16 -07:00
Mark Tiefenbruck
2c3f266c74 add reconfigure to default menu 2008-04-30 08:34:59 -07:00
Mark Tiefenbruck
92c4489a7b workaround for keys files broken by fluxconf 2008-04-30 08:31:04 -07:00
Mark Tiefenbruck
92d1e5fcfb don't allow empty root menu 2008-04-30 03:06:31 -07:00
Mark Tiefenbruck
6cb26c97a9 don't add program icons to tabs for previous users, for backwards compatibility, but leave it as default for new users 2008-04-29 05:51:43 -07:00
Henrik Kinnunen
80b10f7772 Added SimpleObserver class.
This class works in the same way as the SimpleCommand class.
Use it with the makeObserver function.
It calls the receiver's member function when the subject sends
a signal.
2008-04-27 21:22:18 +02:00
Mark Tiefenbruck
40e17b4d0e some updates for the startup file in modern times 2008-04-25 17:56:51 -07:00
Mark Tiefenbruck
c13bd3164e we don't need to tell this to everyone 2008-04-25 06:01:43 -07:00
Mark Tiefenbruck
2301968bd9 add fbrun to default apps file 2008-04-25 01:36:26 -07:00
Thomas Orgis
1e2ab2f3ed some fixes for gcc 3.4 2008-04-21 15:43:10 -07:00
Matteo Galiazzo
e048bdfd7a system tray border patch from matteo 2008-04-15 01:55:14 -07:00
Mathias Gumz
2cac7ddf6f fixed a small issue with autohidden toolbar
the toolbar was not going to hidden state when the slit
covered the toolbar and the mouse was still in the toolbar
area. now we check event.subwindow to decide if it was a
"valid" leaveNotifyEvent.
2008-03-29 17:15:37 +01:00
Bernhard Walle
d300c62ba0 Fix build with g++ 4.3
This change fixes the build for g++ 4.3. Build verified on openSUSE Factory.
Only missing includes and using directives are added.
2008-03-25 20:59:52 +01:00
Jim Ramsay
173682f8de The unfocused/pressed pixmaps for the 'stick' button were ignored.
This fixes a bug in commit 1f01d84c08 (split
WinButtonTheme into multiple themes), where every other theme except for
m_stick_pm was changed.
2008-03-19 21:02:47 +01:00
Mathias Gumz
1b1262e01b transform _NET_WM_ICON data to correct depth 2008-03-05 09:24:40 +01:00
Mathias Gumz
60a44e573e feed the right git revision used to build fluxbox into defaults.hh 2008-02-24 22:22:13 +01:00
Mathias Gumz
46fdf4d1b4 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
2008-02-24 21:58:24 +01:00
Mark Tiefenbruck
611b6aa57e more fun with the window menu 2008-02-11 10:17:45 -08:00
Henrik Kinnunen
cd128d7a3e removed goto 2008-02-10 18:16:50 +01:00
Mark Tiefenbruck
26dafdafbe fix highlighted menu item on mouse out 2008-02-08 18:36:06 -08:00
Tomas Janousek
3a8ec6512b 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>
2008-02-06 16:40:46 +01:00
Tomas Janousek
1534c8d728 Consistency: alpha submenu of WindowMenu should not have title.
Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-02-06 16:36:23 +01:00
Tomas Janousek
b61502ffbc 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>
2008-02-04 18:46:24 +01:00
Tomas Janousek
9671b2f99c Fix crash with apps reloading.
Yeah, we shouldn't delete pointers that are mentioned elsewhere...

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-02-04 18:46:22 +01:00
Mark Tiefenbruck
38f84c3932 fix window menu again 2008-02-04 06:00:33 -08:00
Mark Tiefenbruck
f3e3bb5273 check pointer, even though it shouldn't be necessary 2008-02-03 12:17:42 -08:00
Mark Tiefenbruck
b7eee2350d fix rotation 2008-02-03 07:37:01 -08:00
Mark Tiefenbruck
39d4d0a010 fix focus revert when closing menu 2008-01-31 06:37:52 -08:00
Mark Tiefenbruck
24dc811fda fix warning 2008-01-28 01:46:05 -08:00
Tomas Janousek
880209a438 Merge branch 'xinerama_randr' 2008-01-28 09:58:23 +01:00
Mathias Gumz
a61b37da70 minor correction of include names 2008-01-28 09:30:31 +01:00
Mathias Gumz
9cb78eaa3b reordering 2008-01-28 08:41:42 +01:00
Tomas Janousek
f605312c48 Move dockapps to (-100,-100) instead of (screenw + 10, screenh + 10).
The windows used to appear when one xrandr'ed to a bigger resolution.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Tomas Janousek
4faf1bf5c3 "On head" menu -- reloading and refreshing bugfix.
We should reload the contents of this menu on Xinerama layout change.

I switched it from FbMenu to ToggleMenu, because the selected head wasn't
being updated properly.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Tomas Janousek
b405d36151 Move windows out of inactive heads upon layout change.
Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Tomas Janousek
8c3f2a8e03 Deal with XineramaQueryScreens failure.
The call to XineramaQueryScreens may return NULL in some cases. This patch
tries to deal with that somehow.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Tomas Janousek
c702d683e0 Call XRRUpdateConfiguration before querying Xinerama
As the manpage says:
Clients must call back into Xlib using XRRUpdateConfiguration when screen
configuration change notify events are generated (or root window configuration
changes occur, to update Xlib's view of the resolution, size, rotation,
reflection or subpixel order.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Tomas Janousek
041eacdfd5 Reload the Xinerama layout on RandR signal.
The m_head_areas became a vector, because we need to dynamically change its
size. The functions manipulating struts (which refer to a particular head)
now check whether the head still exists.

Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-01-27 15:01:14 +01:00
Mathias Gumz
6717a1c805 cosmetics 2008-01-25 08:21:55 +01:00
Mathias Gumz
65df54d635 std::string.c_str() is never NULL 2008-01-25 08:21:35 +01:00
Mark Tiefenbruck
70a24b992c don't require final {} on :If 2008-01-24 04:03:04 -08:00
Mark Tiefenbruck
4bd62b771c fix some potential bugs with window menus 2008-01-23 00:27:53 -08:00
Mark Tiefenbruck
d03edf2964 fix potential infinite loop in transient windows 2008-01-23 00:20:07 -08:00
Mark Tiefenbruck
f0e60d0865 fix some issues with window menus 2008-01-22 01:34:02 -08:00
Mark Tiefenbruck
38a01a71b4 fix some updates on style change 2008-01-21 09:00:00 -08:00
Mark Tiefenbruck
db4ec8cf20 move position and geometry windows into their own class 2008-01-19 04:00:46 -08:00
Simon Bowden
7b055cc54a Fix missing destructor warning 2008-01-18 20:29:09 +11:00
Mark Tiefenbruck
1d4bea8a2d Merge branch 'master' of fluxbox@gitfbox:fluxbox 2008-01-18 00:33:47 -08:00
Mark Tiefenbruck
3a5fd7342d use function pointer for CommandParser::Command 2008-01-17 14:16:58 -08:00
Henrik Kinnunen
8c2cee577a must initialize toolbar before the windows 2008-01-15 10:56:25 +01:00
Mathias Gumz
f6c292a406 split Text.hh into Orientation.hh and TextUtils.{cc,hh} 2008-01-15 08:45:57 +01:00
Mathias Gumz
e1db89e2d7 moved code a bit around, cleaned up some classes 2008-01-14 23:27:00 +01:00
Mark Tiefenbruck
c6099d777d fix crashes on restart 2008-01-12 17:49:50 -08:00
Mark Tiefenbruck
5b7bde2ffb fix initialization of WorkspaceNameTheme 2008-01-12 17:42:52 -08:00
Mark Tiefenbruck
b302dab2f1 fix some issues with reverting focus 2008-01-12 16:47:40 -08:00
Mark Tiefenbruck
f66d446a94 move some stuff from Fluxbox to BScreen 2008-01-11 22:36:38 -08:00
Mark Tiefenbruck
5b0806f1cb forgot to add this 2008-01-11 02:46:06 -08:00
Mark Tiefenbruck
9f2f65a698 make FbTk::Command a template class, split parsing information out of ObjectRegistry 2008-01-10 23:41:22 -08:00
Mark Tiefenbruck
1f01d84c08 split WinButtonTheme into multiple themes 2008-01-08 00:50:58 -08:00
Mark Tiefenbruck
ec3125aeb9 switch FbWinFrameTheme to use FocusableTheme 2008-01-07 12:08:56 -08:00
Mark Tiefenbruck
dbfddf8e0b added new ThemeProxy for automatically handling focused vs. unfocused ThemeItems 2008-01-07 02:26:32 -08:00
Mark Tiefenbruck
ac1bd7e098 update code to use ThemeProxy 2008-01-04 17:39:19 -08:00
Mark Tiefenbruck
60ba709c2f add a level of indirection to themes 2008-01-04 01:06:38 -08:00
Mark Tiefenbruck
b20b243b48 remove some unnecessary code 2008-01-03 19:37:21 -08:00
Mark Tiefenbruck
9c105111d2 remove old svn $Id$ tags 2008-01-03 17:34:12 -08:00
Mathias Gumz
bf15250292 merged 2008-01-03 07:56:59 +01:00
Mathias Gumz
b73411a95f moved seldom used code to where it is actually used, no need to include code into compilation when its not needed 2008-01-02 22:44:16 +01:00
Mathias Gumz
d24e2aae6e more encapsulation for Ewmh 2008-01-02 22:41:50 +01:00
Mark Tiefenbruck
903349f47a Merge branch 'master' of fluxbox@gitfbox:fluxbox 2008-01-02 13:38:09 -08:00
Mathias Gumz
222128c236 more header 'correctness' 2008-01-02 09:31:18 +01:00
Mathias Gumz
ec13263a18 decoupling, moved private datastructures to Keys.cc 2008-01-02 09:28:00 +01:00
Mark Tiefenbruck
6ea1ed8cfa fix border width on synthetic ConfigureNotify events 2008-01-01 19:10:38 -08:00
Mark Tiefenbruck
2f9f29df22 make reported frame extents include border width 2008-01-01 17:32:10 -08:00
Mark Tiefenbruck
7588fc10a6 fix some flickering on focus change 2008-01-01 10:29:36 -08:00
Mark Tiefenbruck
72d2f0e481 fix compatibility with older gcc versions 2007-12-30 14:58:41 -08:00
Tomas Janousek
f4ee09779b Fix minimize regression caused by b5c354b9. 2007-12-30 23:31:40 +01:00
Mark Tiefenbruck
2590d207e0 this really needs to be fixed 2007-12-30 14:16:58 -08:00
Tomas Janousek
0c1380128d Fix freeze with actions on external tab. 2007-12-30 22:51:20 +01:00
Mathias Gumz
04cd2fd14c removed some unneeded headers 2007-12-30 16:32:53 +01:00
Mark Tiefenbruck
4cc810b0d3 remove some (hopefully) unneeded header includes 2007-12-29 22:44:11 -08:00
Mathias Gumz
de6d340ba3 forgotten inlines from previous round 2007-12-30 01:36:37 +01:00
Mathias Gumz
e1f362ae76 'inline' in class declaration is implicitly inline 2007-12-29 22:38:53 +01:00
Mark Tiefenbruck
8e96ffb74b moved DelayedCmd from Screen.cc to FbTk/Timer.cc, added it to the keys file 2007-12-28 01:19:33 -08:00
Mark Tiefenbruck
0f6b73f36a move shape handling from FbMenu to FbTk::Menu 2007-12-28 01:14:19 -08:00
Mark Tiefenbruck
2940869cd7 merge MenuTheme with FbTk::MenuTheme 2007-12-27 23:16:17 -08:00
Mark Tiefenbruck
62bcfaf0e4 move Shape to FbTk 2007-12-27 22:52:48 -08:00
Mark Tiefenbruck
0ec165e85b move STLUtil to FbTk 2007-12-27 22:22:38 -08:00
Mark Tiefenbruck
32eb2a148e move RegExp to FbTk 2007-12-27 22:15:06 -08:00
Mark Tiefenbruck
39224b0142 move Parser to FbTk 2007-12-27 21:52:00 -08:00
Mark Tiefenbruck
e8a2f155e8 moved Container to FbTk 2007-12-27 21:47:55 -08:00
Mark Tiefenbruck
00ceefd884 moved BorderTheme and TextTheme to FbTk 2007-12-27 20:39:31 -08:00
Mark Tiefenbruck
b5c354b994 architecture astronomy 2007-12-27 13:55:24 -08:00
Mark Tiefenbruck
1f5cd12fac simplify the window transparency menu and handling a bit 2007-12-26 20:42:10 -08:00
Mark Tiefenbruck
f5024351e7 stupid & 2007-12-26 13:50:44 -08:00
Mark Tiefenbruck
f3790fb3e4 revert previous patch until it can be fixed 2007-12-26 13:44:55 -08:00
Mark Tiefenbruck
b2546389a5 changing focusnew/mousefocus should affect windows that are already open 2007-12-26 13:31:55 -08:00
Mark Tiefenbruck
0113ca6b5e implement some focus policies for splash, dock, and desktop windows 2007-12-25 13:05:07 -08:00
Mark Tiefenbruck
7ace5e80be don't add new windows to front of focus list if they don't acquire the focus 2007-12-25 09:14:20 -08:00
Mark Tiefenbruck
35d1017959 removed KDE configure option 2007-12-24 22:49:46 -08:00
Mark Tiefenbruck
1bcc966153 added resource session.screen<N>.slit.acceptKdeDockapps 2007-12-24 22:36:22 -08:00
Mark Tiefenbruck
9daf464b28 fix showing program icons with depth=1 in menus 2007-12-24 21:58:50 -08:00
Mark Tiefenbruck
eaabe0321d make bit depth accessible from an FbDrawable 2007-12-24 21:15:17 -08:00
Mark Tiefenbruck
552d9a70bd minor fixes for handling ConfigureRequest events 2007-12-23 20:28:24 -08:00
Mark Tiefenbruck
fbc305ca80 added focused/unfocused borders to styles 2007-12-23 13:33:10 -08:00
Mark Tiefenbruck
1b48b749b9 make FbWinFrame aware of the decoration state 2007-12-23 13:28:08 -08:00
Mark Tiefenbruck
0676161673 if a window is prevented from stealing the focus, don't put it on top 2007-12-21 22:44:14 -08:00
Mark Tiefenbruck
84e5586ca1 don't allow clients to move or resize fullscreen/maximized windows 2007-12-21 21:55:00 -08:00
Mark Tiefenbruck
0a67bdce41 make better decisions about when to allow stealing the focus 2007-12-21 21:24:13 -08:00
Mark Tiefenbruck
0906477984 leave fullscreen windows on top, even without the focus, as long as focused window is on another head 2007-12-21 18:35:05 -08:00
Mark Tiefenbruck
f6ee704a1d remove 'friend' declaration in Window.hh 2007-12-21 16:48:11 -08:00
Mark Tiefenbruck
a10b308b4e little cleanup 2007-12-20 23:35:36 -08:00
Mark Tiefenbruck
0a14d911c6 added key command StartTabbing 2007-12-20 23:07:46 -08:00
Mark Tiefenbruck
a8d9f4fc45 fixed backwards compatibility for toolbar/tab styles 2007-12-20 19:34:22 -08:00
Mark Tiefenbruck
54eda44f85 fix menuitem height on startup 2007-12-20 18:25:50 -08:00
Mark Tiefenbruck
aef3155784 convert macro command parsing to use new StringUtil function 2007-12-20 12:52:20 -08:00
Mark Tiefenbruck
03dce043b7 added ForEach key command 2007-12-20 12:23:56 -08:00
Mark Tiefenbruck
b90a7e21a9 replace svn stuff with git 2007-12-19 16:51:15 -08:00