kwin/clients/riscos
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
..
Button.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
Button.h
CloseButton.cpp
CloseButton.h
DBWidget.cpp
DBWidget.h
IconifyButton.cpp
IconifyButton.h
LowerButton.cpp Colour change 2000-04-16 08:56:32 +00:00
LowerButton.h
Makefile.am Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
Manager.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
Manager.h
MaximiseButton.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
MaximiseButton.h
Palette.h
Pixmaps.h
README
ResizeBar.cpp
ResizeBar.h
ResizeLeft.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
ResizeLeft.h
ResizeMid.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
ResizeMid.h
ResizeRight.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
ResizeRight.h
ResizeSide.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
ResizeSide.h
riscos.desktop
Static.cpp Final updates for the new button color implementation. The options class 2000-04-28 15:53:00 +00:00
Static.h Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
TitleBar.cpp
TitleBar.h
TitleText.cpp Code from Utils.* moved into Static.* 2000-04-12 00:13:14 +00:00
TitleText.h

This theme emulates the look and feel of the RISC OS 'window manager'.
Actually, RISC OS doesn't have a window manager in the same way X
does, but if you imagine it does, this is an emulation of that ;)

I've optimised it for speed, so you should find it quite nippy.
Particularly the fact that the left and right borders are single-pixel
gives a large speedup on my Matrox card when dragging windows.

I've requested save-under in the window decorations for that extra
speed kick, plus double-buffered the title bar and resize bar.

Functions that will be implemented but are currently missing:
  Transparent resize.
  Shading.
  Backward-resize.
  NOTE: Backward-resize is an interesting feature and quite useful.
        If you resize a window such that you hit the screen edge
        in the process, the window resizes 'backwards' (i.e.
        moves in the opposite direction to your drag and at the
        same time continues increasing in size). So instead
        of having to let go of the resize handle, move the window
        and resize again, it just does what you want it to do.

Button functions: (Missing functionality is marked with TODO)

Button One:

  Left button: TODO
               Lower window and drop focus. This is currently unimplemented
               in kwin itself.

Button Two:

  Left button: Close window.

  Right button: TODO, if I can be bothered.
                Close window.
                If window is filer window, open another filer window
                in parent dir.
                If window is document window, open a filer window in
                dir containing document.
                If you hold Shift, the window doesn't close.
                NOTE:
                This requires app support.
                If I were to implement this, I would do it in konqy
                and probably not bother for other apps.

Titlebar:

  Left button: Raise, focus and move window

  Middle button: Menu

  Right button: Move window

Button Three:

  Left button: Iconify window.

Button Four:

  Left button: Maximise or restore window plus raise and focus.

  Middle button: Maximise vertically or restore window plus raise and focus.

  Right button: Maximise or restore window.

Resize bar left/right:

  Left button: Move that corner (resizes window) and raise

  Other buttons: Same without raising

Resize bar centre:

  Left button: Move that edge (resizes window) and raise

  Other buttons: Same without raising

The lower bar is used for resizing. It works in the NeXT style.
This doesn't exist on RISC OS. In RISC OS, there is a 'resize handle'
in the lower right corner of the window (actually inside the window).

To emulate this would mean covering part of the window with the decorations,
which is not acceptable. RISC OS gets away with it by making sure that
there is a vertical scrollbar visible at all times, which is just stupid.