Commit graph

112 commits

Author SHA1 Message Date
Luboš Luňák
854e9cc05a With windows that have are listed for the focus stealing prevention
workaround, don't make their user timestamp newer than the active window's
one (unless a real user activity takes place in them).
As they are belong to the active application and just fail to say so,
this makes sure they won't prevent that application from getting focus
by having newer timestamp. E.g. Alt+F2, typing URL, kio_uiserver dialog
shows (has workaround), SSL certificate dialog shows (shown by kdesktop),
and it wouldn't get focus, because kio_uiserver's timestamp would be later.

svn path=/trunk/kdebase/kwin/; revision=298357
2004-03-24 19:05:49 +00:00
Luboš Luňák
92390e6d86 These options are not used anymore.
svn path=/trunk/kdebase/kwin/; revision=273142
2003-12-15 14:43:44 +00:00
Luboš Luňák
f4b4647fc3 kwinrc option for listing applications for which focus stealing prevention
should not be used. I have a strange feeling it will come handy :-/.

svn path=/trunk/kdebase/kwin/; revision=273127
2003-12-15 13:33:29 +00:00
Luboš Luňák
1d71c9839b Reserve space for topmenus, so there's no flicker, and the space is taken
even with no topmenu shown. Support topmenus only when enabled in kdeglobals.

svn path=/trunk/kdebase/kwin/; revision=266531
2003-11-12 09:47:13 +00:00
Luboš Luňák
6f272da774 Revert special dialog placement policies. I don't think I need to go
that far with overconfigurability.

svn path=/trunk/kdebase/kwin/; revision=255440
2003-10-01 16:51:19 +00:00
Luboš Luňák
720b988790 Configurable focus stealing prevention aggressivity.
svn path=/trunk/kdebase/kwin/; revision=254817
2003-09-29 11:23:14 +00:00
Luboš Luňák
10f405c73d Merging kwin core from kwin_iii back to HEAD.
svn path=/trunk/kdebase/kwin/; revision=251608
2003-09-16 19:28:03 +00:00
Dirk Mueller
6bbbe69c0e unbreak compilation (gcc 3.4+)
svn path=/trunk/kdebase/kcontrol/; revision=239225
2003-07-26 10:41:28 +00:00
Karol Szwed
4577f0f474 Add a checkbox to enable/disable the geometry tip, making it _OFF_ by default,
as was planned. Also, it should never crash now.

Hopefully this will make pmax a bit happier ;-)

svn path=/trunk/kdebase/kwin/; revision=198711
2003-01-10 10:54:57 +00:00
Karol Szwed
a33f4313ab - Removing patch by Diego Iastrubini that attempted to fix the bidi issues in
clients by adding an unnecessary 'enable-bidi' checkbox which was never agreed
  upon on the kwin mailing list.

  The use of --reverse is sufficient without needing this checkbox.
  Please discuss largish patches like these first, especially during a feature
  freeze!

  (Everyone also seems to forget the kwin-styles in kdeartwork)

- Make clients look the same with --reverse instead of the broken state they
  were in previously. If the button ordering is not to your liking in reverse
  mode, just change the button positions. (Or send patches for those clients
  that have not got these features yet).

- Clean up popupMenu handling somewhat.

- Remove a global static object in keramik.

svn path=/trunk/kdebase/kwin/; revision=174079
2002-08-27 15:12:14 +00:00
Diego Iastrubni
27998b71ac dded a new checkbox to kcontrol-> wm -> decorations ->general. By defaut this checkbox is on.
if it's on, kwin clients will reverse thire display when the desktop is reversed (arabic, hebrew etc).

Clinets updated to use this options, and options.h has a few more lines :)
see clients for the changes.

svn path=/trunk/kdebase/kwin/; revision=173581
2002-08-24 12:02:26 +00:00
Luboš Luňák
78a7c08049 Since some of the .h files are installed ...
Prefix all the #ifndef #define ... #endif symbols with KWIN_ , just in case
somebody uses CLIENT_H or so too.
And don't include config.h .

svn path=/trunk/kdebase/kwin/; revision=168940
2002-07-26 20:30:36 +00:00
Cristian Tibirna
e2ffbc884c CT: commit an older patch which loses "stupidly".
svn path=/trunk/kdebase/kwin/; revision=166870
2002-07-15 20:28:55 +00:00
Cristian Tibirna
9b03ba50c2 CT: two new non-placement policies. No GUI config.
Edit kwinrc and use either of:

Placement=StupidlyCentered
Placement=StupidlyZeroCornered

and then, at a prompt:

dcop kwin KWinInterface reconfigure

svn path=/trunk/kdebase/kwin/; revision=163755
2002-06-29 06:31:33 +00:00
Karol Szwed
e9b984e3f8 - Make KApp's "appearanceChanged()" signal properly reconfigure the window
decoration's colors by calling the reset() cdecl.
- Change the options::reload() slot into a public method, as the slot is no
  longer required.

Reviewed by Matthias Elter

svn path=/trunk/kdebase/kwin/; revision=143232
2002-03-16 09:26:49 +00:00
Karol Szwed
bf079b4498 - Add the resetClients() signal again for backwards compatility, and mark it
as obsolete.

svn path=/trunk/kdebase/kwin/; revision=141463
2002-03-07 03:19:57 +00:00
Matthias Ettrich
e264ffa6bb removed unused signal. We can always add it later if we need it. Avoids
qWarning message

svn path=/trunk/kdebase/kwin/; revision=140746
2002-03-03 23:19:56 +00:00
Cristian Tibirna
e0a42fc063 CT: fix the move with keyboard with Ctrl (smaller steps).
Add the missing signal in KWinInterface (to be used in the redesigned client notification)

svn path=/trunk/kdebase/kwin/; revision=140436
2002-03-03 03:31:52 +00:00
Matthias Ettrich
dd29e3723c faster configuration changes. No crashes when reconfiguring kwin
several times with invalid plugin strings (happens when running
today's kpersonalizer)

svn path=/trunk/kdebase/kwin/; revision=139725
2002-03-01 01:34:54 +00:00
Cristian Tibirna
51268a6d18 CT: make it possible to stop desktop switching when the edge of the desktops group is reached.
Just add RollOverDesktops=false to your kwinrc/[Windows] config file and restart your kwin.
	Thanks to Carsten Pfeiffer for the suggestion

svn path=/trunk/kdebase/kwin/; revision=139620
2002-02-28 21:04:36 +00:00
Waldo Bastian
8c5a34d322 Take into account a wide range of pager-layouts, the pager can set the
required layout via DCOP. Used for desktop left/right/up/down.

svn path=/trunk/kdebase/kwin/; revision=124773
2001-11-29 23:59:54 +00:00
Waldo Bastian
2076b00f61 Make active borders working when moving a window.
Make it configurable (disabled, only when moving, always enabled)

svn path=/trunk/kdebase/kwin/; revision=120497
2001-11-03 00:05:33 +00:00
Waldo Bastian
7d5e50bab8 Tune electric borders...
svn path=/trunk/kdebase/kwin/; revision=113523
2001-09-06 19:44:06 +00:00
Waldo Bastian
aedc59bde7 Ported from KDE 1.1.2: Electric Borders are back!
svn path=/trunk/kdebase/kwin/; revision=112025
2001-08-27 05:42:32 +00:00
Karol Szwed
697d289c70 Tooltip fix to make window button tooltips follow the selected tooltip
effect chosen in the look-and-feel->style module.

svn path=/trunk/kdebase/kwin/; revision=104712
2001-07-02 12:40:14 +00:00
Ralf Nolden
278c511d4f this is the actual bugfix from Gallium for the window decorations. This is
his part of the patch, works fine but there's just the re-check needed to
be added so when the effect for tooltips changes, the deco's tooltips take
this as well. There are no new strings except the Un-Sticky tooltip, all
others are translated. thd@kde.org agreed on the strings.

svn path=/trunk/kdebase/kwin/; revision=104585
2001-07-01 10:10:17 +00:00
Luboš Luňák
0827825fcb Use debug area for the debug info.
Explicitly note in the headers that the classes have to keep BC ( after KDE2.2 ).
Fixed index in walking through desktops.

svn path=/trunk/kdebase/kwin/; revision=101972
2001-06-13 15:47:54 +00:00
Ellis Whitehead
a9c55776ae KAccel: allow for 4-modifier setup defaults, check whether Qt supports the
Meta key.

KGlobalAccel: improve X key ungrabbing for key map changes.

KKeyDialog: Allow caller to specify whether normal keys (i.e., 'A', 'B') can
be used as shortcuts and whether the Meta key can be used in a shortcut.

KeyConfog: Add support for a second default configuration. Add support for a
user with a Meta key not to default to 4-modifier setup (not yet working
completely).

Workspace: Added 'Window iconify all'.  Still speed work -- best might be to
merge this with 'Show Desktop'

kcontrol/keys/main.cpp: a bit of capitalization

kcontrol/kwm/mouse, kwin/client, kwin/options: Let user use Meta key for
window resizing/moving/etc

*bindings.cpp: add 4-modifier setup defaults

svn path=/trunk/kdebase/kcontrol/; revision=100877
2001-06-07 18:17:24 +00:00
Dirk Mueller
8e8dce5e64 Xinerama support, patch by Balaji Ramani <balaji@spinnakernet.com>
svn path=/trunk/kdebase/kwin/; revision=100136
2001-06-03 09:04:03 +00:00
Luboš Luňák
f84c7a340a Move the configuration options for custom button positions to kwin from
the plugins. And I even resisted to break BC in kwin again even though
I could :).

svn path=/trunk/kdebase/kwin/; revision=94905
2001-05-03 08:06:28 +00:00
Waldo Bastian
57f4808d0f Make resource management in clients easier with these three functions:
init() called after client got loaded
deinit() called when client is about to get unloaded
reset() called once before Options::resetClients() is emitted

svn path=/trunk/kdebase/kwin/; revision=93372
2001-04-22 05:39:17 +00:00
Luboš Luňák
b6c55170ed Breaking BC in KWin again in order to keep BC for plugins. I forgot
a few private pointers *slap self*.

svn path=/trunk/kdebase/kwin/; revision=92998
2001-04-20 07:19:03 +00:00
Adriaan de Groot
b90a69abc9 Add support for [MR]MB-n-titlebar windowshade
svn path=/trunk/kdebase/kcontrol/; revision=89895
2001-04-02 08:31:58 +00:00
Luboš Luňák
944967a8e1 Made Alt+Tab , Ctrl+Tab configurable. Also added in kcontrol module missing option
to make Alt+Tab to go either through all windows or only the ones on the current
desktop. If you get keyboard lock-ups because of this, yell.
I wonder how many bugreports I will be able to close because of this :).

svn path=/trunk/kdebase/kwin/; revision=87801
2001-03-19 20:05:36 +00:00
Waldo Bastian
d577f604e2 It's slashdot feature request time!
+       HMaximizeOp,
+       VMaximizeOp,
+       LowerOp,

svn path=/trunk/kdebase/kwin/; revision=84551
2001-02-27 07:19:52 +00:00
Matthias Ettrich
e9d30a20d7 Balaji Ramani <balaji@spinnakernet.com>: shadeHover support
GUI: new operation popup item: "Store Settings"

svn path=/trunk/kdebase/kwin/; revision=78043
2001-01-14 20:16:04 +00:00
Matthias Ettrich
33f78a855b some more keybindings
less race conditions with map/unmap thanks to BlackboxTechnology(tm)

svn path=/trunk/kdebase/kwin/; revision=77544
2001-01-11 23:41:07 +00:00
Alexander Neundorf
285841c790 some minor changes in adjustClientPos(), so that the flag set via the
new checkbox in the control center is honored

alex

svn path=/trunk/kdebase/kwin/; revision=69737
2000-11-02 18:15:39 +00:00
Alexander Neundorf
ac87507e17 And here we go, now we have to snapping styles in kwin, the classic
"magnetic" style and the new "barrier" style.
To enable the new style insert MagneticBorders=off in your kwinrc.
The gui for the control center will follow the next days.
Anybody a good idea how to call it ?
Two radiobuttons, one "Magnetic borders", the other one "Barrier Borders" ?

Alex

svn path=/trunk/kdebase/kwin/; revision=69692
2000-11-02 08:33:00 +00:00
Matthias Ettrich
7d5ac3a25e more configurability - thanks to David Pittman
svn path=/trunk/kdebase/kwin/; revision=68922
2000-10-26 09:38:09 +00:00
Nikita V. Youshchenko
c88fc0bc77 Added "IgnorePositionClasses" configuration option to set X classes of windows for which PPosition hint should be ignored. This should lastly solve the invalid Motif windows placement problem
svn path=/trunk/kdebase/kwin/; revision=68724
2000-10-23 18:27:23 +00:00
Matthias Ettrich
6dacbd0112 tool window handling for the default style
visible dialogs for stays-on-top fullscreen windows (helps with Konqueror's dialogs)
Fixed lock with Alt-Tab box plus accelerator

svn path=/trunk/kdebase/kwin/; revision=65241
2000-09-25 15:30:51 +00:00
Matthias Ettrich
4f4c4cca8d MoveResizeMaximizedWindows option. Default is 'false'
svn path=/trunk/kdebase/kwin/; revision=61666
2000-08-22 10:35:22 +00:00
Matthias Ettrich
d226e9cd0e sexy toolwindows (at least in standard style)
svn path=/trunk/kdebase/kwin/; revision=56329
2000-07-12 12:46:58 +00:00
Matthias Ettrich
3156291b39 autoraise and clickraise
svn path=/trunk/kdebase/kcontrol/; revision=55877
2000-07-09 20:29:53 +00:00
Matthias Ettrich
f5226e0281 staysOnTop support.
Fixed titlebar-dblclick-commands (Shade instead of winShade )

svn path=/trunk/kdebase/kwin/; revision=54719
2000-06-28 13:20:42 +00:00
Matthias Ettrich
6655d0207d focus policies and alt-tab style:
/*!
      Different focus policies:
      <ul>

      <li>ClickToFocus - Clicking into a window activates it. This is
      also the default.

      <li>FocusFollowsMouse - Moving the mouse pointer actively onto a
      normal window activates it. For convenience, the desktop and
      windows on the dock are excluded. They require clicking.

      <li>FocusUnderMouse - The window that happens to be under the
      mouse pointer becomes active. The invariant is: no window can
      have focus that is not under the mouse. This also means that
      Alt-Tab won't work properly and popup dialogs are usually
      unsable with the keyboard. Note that the desktop and windows on
      the dock are excluded for convenience. They get focus only when
      clicking on it.

      <li>FocusStrictlyUnderMouse - this is even worse than
      FocusUnderMouse. Only the window under the mouse pointer is
      active. If the mouse points nowhere, nothing has the focus. If
      the mouse points onto the desktop, the desktop has focus. The
      same holds for windows on the dock.

      Note that FocusUnderMouse and FocusStrictlyUnderMouse are not
      particulary useful. They are only provided for old-fashined
      die-hard UNIX people ;-)

      </ul>
     */
FocusPolicy=ClickToFocus | FocusFollowsMouse | FocusUnderMouse | FocusStrictlyUnderMouse


    /**
       Different Alt-Tab-Styles:
       <ul>

       <li> KDE - the recommended KDE style. Alt-Tab opens a nice icon
       box that makes it easy to select the window you want to tab
       to. The order automatically adjusts to the most recently used
       windows. Note that KDE style does not work with the
       FocusUnderMouse and FocusStrictlyUnderMouse focus
       policies. Choose ClickToFocus or FocusFollowsMouse instead.

       <li> CDE - the old-fashion CDE style. Alt-Tab cycles between
       the windows in static order. The current window gets raised,
       the previous window gets lowered.

       </ul>
     */
AltTabStyle=KDE | CDE

svn path=/trunk/kdebase/kwin/; revision=54010
2000-06-22 18:08:35 +00:00
Daniel M. Duley
b58843030c Final updates for the new button color implementation. The options class
now only has one button entry, "ButtonBg", instead of 3. It's up to the client
what to do with it. All the clients are updated except mwm. As the
author noted in his README, mwm isn't Motif window manager at all but KStep ;-)
I disabled it for now until there is new drawing code in there, it would
confuse users anyways since were about to release another Krash and it is
identical to KStep.

Also, I removed the Groove and GrooveText color entries. We now use the
normal TitleBar and Font entries. Hence system will probably look funny until
you adjust the colors since it draws text on the frame and not the titlebar
bg. All the rest look much better by default.

To configure button colors set the active/inactive button background color
in KControl. I'll remove the other entries ASAP. You'll also note that the
active/inactive colors are now actually what you would expect.

svn path=/trunk/kdebase/kwin/; revision=47753
2000-04-28 15:53:00 +00:00
Matthias Ettrich
b49151074f Session management for KDE-2.x : say hello to the ksmserver
svn path=/trunk/kdebase/kwin/; revision=44552
2000-03-24 22:23:02 +00:00
Daniel M. Duley
49aba34b01 My weekly big ass style commit ;-) This implements what I discussed earlier
today.

First: All decoration pixmaps are now regenerated when the palette color scheme
changes. There is no longer any need to apply color schemes *before* switching
styles or reload the plugin. The schemes can change any time and be handled
correctly by styles that generate their pixmaps based on the color scheme.

Second: The color scheme has been extended to allow separate entries for
different visual styles. For example there are now entries for both titlebar
rectangle fills like those used in the standard KDE style and KStep vs.
titlebar grooves like those used in System. The same thing applies to
foreground colors for buttons that follow the button background settings like
KStep and System vs. those that don't like the standard style.

Right now none of the color schemes have the new entries so defaults are
calculated, usually by judging the intensity of what the decoration is
drawn on and contrasted with that. To check things out look at the standard,
KStep, and System styles under color schemes like default, CDE, and Digital
CDE.

The Be style is not updated because I have a cooler one on my HD ;-)

I hope this makes David happier <grin> :)

svn path=/trunk/kdebase/kwin/; revision=39126
2000-01-23 23:33:29 +00:00
Cristian Tibirna
f9c7091e05 CT: Scott Lamb <slamb@oh.yeah.org> corrected the spelling of
Strickly and wanted to implement
    focus configurability. Here is the (for now) "politically correct" version.

svn path=/trunk/kdebase/kwin/; revision=37123
1999-12-22 04:49:43 +00:00
Matthias Ettrich
b441f40a7e configurable mouse bindings (see README)
svn path=/trunk/kdebase/kwin/; revision=35388
1999-11-29 02:06:41 +00:00
Cristian Tibirna
9c2fd4530e CT: snap. Thanks to Matthias for the adjustClientPosition(). Clean
svn path=/trunk/kdebase/kwin/; revision=35049
1999-11-25 23:12:32 +00:00
Matthias Ettrich
a12ab5338d better min/max handling, should be able to manage kfind now
svn path=/trunk/kdebase/kwin/; revision=35029
1999-11-25 16:05:27 +00:00
Matthias Ettrich
bad93649e3 fixed min/max handling, handle palette changes properly
svn path=/trunk/kdebase/kwin/; revision=35018
1999-11-25 12:53:17 +00:00
Cristian Tibirna
52d957df8e CT: cascading placement. I feel it as a bit of an overkill for what it does
compared to smart placement. Whatever. Some people want it

    smart placement made smarter (just a bit) and faster (just a bit)

Qt is a marvel. kwin is even better than kwm. KDE is amazing :-) You know
	who I am now, even if I don't sign.

svn path=/trunk/kdebase/kwin/; revision=34452
1999-11-20 06:27:07 +00:00
Cristian Tibirna
f49c7be018 CT: smart placement code. No! It isn't tested and isn't supposed to work.
One 'if' gets a bad turn. But commit it 'cause I'm reknown for doing stupid
things with unbacked-up code. Matthias, I managed to reduce all from
175 to 125 lines and from 4740 chars to 3260. This is what you wanted?

Don't worry, kwin compiles and works as before.

If somebody finds a way to teleport my office in some other dimension, I
finish this tomorrow (that is, today + a couple of sleep hours). If not ...

svn path=/trunk/kdebase/kwin/; revision=34034
1999-11-16 08:53:02 +00:00
Matthias Ettrich
cb82f77388 run, not crash
svn path=/trunk/kdebase/kwin/; revision=32543
1999-11-01 23:41:44 +00:00
Daniel M. Duley
37b09be6f3 A few fixes, moved colorgroups to the Options class (much nicer there), and
started on a fixed system style. If you try it out make sure to read the new
README, as it requires some gradient settings.

svn path=/trunk/kdebase/kwin/; revision=30585
1999-10-11 02:00:06 +00:00
Daniel M. Duley
92e1e869b1 Since Matthias commited something I felt bad for not doing any work on this
like I said I would and only working on style stuff ;-)

I added basic color scheme handling to the Options class. All styles should
use this for color values. Supported are titlebars, titleblends, fonts,
button foreground and background, button blend, frames and handles for both
active and inactive states. Also added active and inactive fonts.

Not all clients have to use all the values, but for the values they do use
they should get them from here.

I also ported StdClient and Beos to the new scheme. I will do a kcm module once
I do the System decoration style ;-)

svn path=/trunk/kdebase/kwin/; revision=30497
1999-10-10 03:22:21 +00:00
Matthias Ettrich
75f321c4c0 more experimental stuff
svn path=/trunk/kdebase/kwin/; revision=29737
1999-09-27 16:02:44 +00:00
Matthias Ettrich
311db796c6 Say hello to kwin. WARNING: NOT USABLE YET. See README.
svn path=/trunk/kdebase/kwin/; revision=27871
1999-08-19 23:26:42 +00:00