Commit graph

237 commits

Author SHA1 Message Date
Mathias Gumz
1ec4fb6b6c Cosmetic 2015-01-22 09:45:35 +01:00
Michael Abbott
391712b980 Add support for nearest corner or edge resizing 2012-10-04 09:36:23 +02:00
Mathias Gumz
541c8c407b changed timing functions to use a monotonic increasing clock
gettimeofday() is subject to be changed on daylight-saving or to ntp-related
(think leap-seconds). even worse, it is subject to be changed BACK in time. this
is hard to fix correctly (see commit 45726d3016 and bug #3560509). it is
irrelevant for timers to know the nano-seconds since the epoch anyways.
2012-08-28 10:51:55 +02:00
Mark Tiefenbruck
9eecd58bf3 make alt-tab skip modal windows 2012-07-06 19:30:39 -07:00
Lajos Koszti
7b6dc2ad72 Allow percentage values for some Window commands 2012-04-06 14:11:16 +02:00
Pavel Labath
7525ca9f77 Remove all trace of Observers and Subjects
this marks the completion of the transition to FbTk::Signal
2011-05-10 13:00:46 +02:00
Pavel Labath
2073ae12a4 Convert FbWinFrame::frameExtentSig to FbTk::Signal
Also, I spotted a potential bug in the code. I marked the place with XXX. Someone should take a
look at that.
2011-05-10 13:00:46 +02:00
Pavel Labath
ff49160b12 Convert FluxboxWindow::hintSig to FbTk::Signal 2011-05-10 13:00:46 +02:00
Pavel Labath
6a0280aa4d Convert FluxboxWindow::layerSig to FbTk::Signal 2011-05-10 13:00:46 +02:00
Pavel Labath
e53d14e910 Convert FluxboxWindow::stateSig to FbTk::Signal 2011-05-10 13:00:46 +02:00
Pavel Labath
4f89009c9e Convert FluxboxWindow::workspaceSig to FbTk::Signal 2011-05-10 13:00:45 +02:00
Pavel Labath
f7d7dfd2a8 Convert FbTk::Theme::reconfigSig and friends to the new Signal system
I removed the const versions of reconfigSig() in the process since FbTk::Signal has no const
methods anyway.
2011-05-10 13:00:45 +02:00
nacitar sevaht
1dacf57d20 Can check CARDINAL properties in CLIENT PATTERNS
Introduces a new member function, FbWindow::cardinalProperty()

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

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

This change also adds an optional (default=NULL) boolean to
FbWindow::textProperty and friends that allows the caller to determine
whether or not a value was actually retrieved.  This was necessary for
integrating FbWindow::cardinalProperty with the codebase, and it seemed
to fit with FbWindow::textProperty as well.  Prior to this change, if
you got a return value of "", you wouldn't know if you successfully
retrieved the value which happened to be blank, or if you failed to
retrieve the value.  Now, you can pass the address of a boolean if you
so choose in order to differentiate these situations; the same applies
to the new FbWindow::cardinalProperty().
2011-05-08 07:48:03 +02:00
Mathias Gumz
e850b01919 compile fix: sunCC 5.11 (sunstudio 12) compiles and links again
biggest change: renaming of 'class Layer' to 'class ResourceLayer' in
Layer.hh to handle complaints about 'ambiguous Layer: Layer or FbTk::Layer'.
'ResourceLayer' sounds crappy, but that was the best I could come
up with right now.
2011-03-23 12:02:15 +01:00
Mathias Gumz
81b240e976 compile fix for clang, forward declaration of FocusControl was not enough 2011-03-18 11:01:08 +01:00
Mathias Gumz
9616a676d8 renamed FbTk::XLayer to FbTk::Layer and FbTk::XLayerItem to FbTk::LayerItem 2011-02-23 22:49:27 +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
Peter Hercek
fc192b1161 allow to override 'FocusNewWindow' via .fluxbox/apps 2011-02-03 18:51:10 +01: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
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
bc2b21547b implemented 'ActivateTab' action to (re)allow activation of tabs via mouse 2010-08-20 19:01:25 +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
Henrik Kinnunen
dd8fcc8b7b Changed title signal in Focusable to new signal system 2010-03-26 18:15: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
Mark Tiefenbruck
5f9f2475b7 make Raise/LowerLayer accept integer argument for number of layers, default 2 2009-06-28 10:15:06 -07: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
f3bd8e7565 don't show window on new workspace when warping with outline moving 2008-10-08 17:15:53 -07:00
Henrik Kinnunen
2fcc0fd9e7 Changed workspace area signal to use the new signal system 2008-09-28 16:00:48 +02:00
Henrik Kinnunen
bcf37890b6 Change focused signal to use the new signal system 2008-09-28 10:46:49 +02:00
Mark Tiefenbruck
f9ed11a351 resize fullscreen windows when resolution changes 2008-09-02 11:41:55 -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
55fd49614b move FbWinFrame::State class to a new file 2008-08-27 13:05:49 -04:00
Mark Tiefenbruck
c37a91e150 be a little smarter about size hints in tabbed windows 2008-08-22 10:16:33 -07:00
Mark Tiefenbruck
0ae3ca9e8a move fullscreen and maximization handling to FbWinFrame 2008-08-22 05:52:23 -07:00
Mark Tiefenbruck
99eaded40e make Swing apps only somewhat horribly broken again 2008-08-21 10:17:21 -07:00
Mark Tiefenbruck
533c70cb57 some cleanup 2008-08-21 07:05:44 -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
Mathias Gumz
1d8dfcdf9a cosmetic api change 2008-08-15 19:38:41 +02: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
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
Mathias Gumz
31b47e7814 cleanup of some files 2008-08-14 07:53:38 +02:00
Mark Tiefenbruck
1a54fbc67d move default window menu to ~/.fluxbox/windowmenu 2008-06-19 20:48:26 -07:00
Mark Tiefenbruck
46bca62a9c move FluxboxWindow::applyDecorations() to FbWinFrame 2008-05-24 01:03:59 -07: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
Thomas Orgis
1e2ab2f3ed some fixes for gcc 3.4 2008-04-21 15:43:10 -07: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