Commit graph

243 commits

Author SHA1 Message Date
Hugo Pereira Da Costa
c955d16574 added smooth transition for title bar text color when switching between active and inactive state (previously available for 'outline' mode only)
svn path=/trunk/KDE/kdebase/workspace/; revision=1025447
2009-09-18 19:47:53 +00:00
Hugo Pereira Da Costa
40ab147f81 moved more functions inline and use reference to pass configuration around.
svn path=/trunk/KDE/kdebase/workspace/; revision=1025142
2009-09-18 06:54:42 +00:00
Hugo Pereira Da Costa
635c93bc5b Added smooth transition between active and inactive state. This affects (when enabled) the window shadow,
the horizontal separator line, the titlebar text color and the title+border window outline. 


svn path=/trunk/KDE/kdebase/workspace/; revision=1025111
2009-09-18 01:32:27 +00:00
Hugo Pereira Da Costa
9eec5543bf Moved all shadow handling into global cache oxygenShadowCache. This allows to share same
shadow tilesets between clients, thus reducing the memory usage; to simplify the oxygenclient
class; and leave room for optimizing active/inactive shadow transitions. The global class is
declared using K_GLOBAL_STATIC_WITH_ARGS.

Also cleaned-up unnecessary headers.


svn path=/trunk/KDE/kdebase/workspace/; revision=1025063
2009-09-17 22:40:06 +00:00
Hugo Pereira Da Costa
d58e7b7812 fixed (again) issue with shadow and mask for 'no-border' shaded windows, to cope with commit r1023615
svn path=/trunk/KDE/kdebase/workspace/; revision=1024918
2009-09-17 15:24:44 +00:00
Hugo Pereira Da Costa
c5c7cd79d6 used OxygenShadowConfigration rather than shadowTileOption to detect if shadowTiles are to be recreated, because the latter was both incomplete and redundant with the former.
svn path=/trunk/KDE/kdebase/workspace/; revision=1024657
2009-09-17 05:07:43 +00:00
Hugo Pereira Da Costa
363986a030 fixed Krazy stuff (headers, K classes in place of Q classes, and use of pointers to modal dialogs)
svn path=/trunk/KDE/kdebase/workspace/; revision=1024127
2009-09-16 06:09:31 +00:00
Hugo Pereira Da Costa
1a0eb644f1 Fixed shadow description to 1/ better match old oxygen and ozone default shadow (when using default settings) 2/ avoid 'transparent' line around window when shadow is too small 3/ avoid flatness of inner shadow when shadow is too large. Also made vertical (and horizontal) offsets scale with shadow size, to keep top over bottom shadow size ratio constant.
svn path=/trunk/KDE/kdebase/workspace/; revision=1024115
2009-09-16 03:19:36 +00:00
Hugo Pereira Da Costa
8244e7644f Changed nitrogen class names and file names into oxygen; adding Oxygen namespace where missing; updated CMakeFiles.txt accordingly
svn path=/trunk/KDE/kdebase/workspace/; revision=1023654
2009-09-15 07:12:54 +00:00
Hugo Pereira Da Costa
c7f4edf5e1 Removed oxygen decoration
svn path=/trunk/KDE/kdebase/workspace/; revision=1023633
2009-09-15 05:36:30 +00:00
Huynh Huu Long
cf86b3fc65 Revert r1009021 and r1009001 (which extend the clickable area of the
window borders), because they interfere with window snapping.

svn path=/trunk/KDE/kdebase/workspace/; revision=1016482
2009-08-27 21:46:51 +00:00
Huynh Huu Long
1457d3ba32 Don't enlarge the clickable area in non-composited environments with no shadows
svn path=/trunk/KDE/kdebase/workspace/; revision=1009021
2009-08-08 22:49:31 +00:00
Huynh Huu Long
345d6f7a7c Increase the clickable area without changing the visible border
(which essentially means that the shadow can be used to resize the window)

svn path=/trunk/KDE/kdebase/workspace/; revision=1009001
2009-08-08 21:53:34 +00:00
Andrew Lake
eb7566eeb7 Reduce minimum bottom border size to look proportional to sides when size >= Normal. Bottom corner rounding is unaffected.
svn path=/trunk/KDE/kdebase/workspace/; revision=1008893
2009-08-08 15:36:40 +00:00
Martin Gräßlin
dc702e2e3c Delete the old tileset whenever a new one is created. That prevents that kwin eats more and more pixmaps.
svn path=/trunk/KDE/kdebase/workspace/; revision=995379
2009-07-12 15:20:07 +00:00
Hugo Pereira Da Costa
dbb4b8ffca FEATURE: added option to enable/disable the horizontal bar between decoration title bar
and window contents.


svn path=/trunk/KDE/kdebase/workspace/; revision=987096
2009-06-25 15:14:11 +00:00
Huynh Huu Long
c054eac3f7 Prevent shadows from being drawn when windows are maximized which causes some visual problems on multi monitor settings.
Also clean up some code duplication.

svn path=/trunk/KDE/kdebase/workspace/; revision=984209
2009-06-20 13:28:55 +00:00
Huynh Huu Long
dcb3f28590 Also clear the window mask if compositing is activated
svn path=/trunk/KDE/kdebase/workspace/; revision=982638
2009-06-16 14:06:41 +00:00
Huynh Huu Long
f9cbed1c1a Ensure that the TileSet gets initialized (thanks to mgraesslin for pointing this out)
CCBUG: 196124

svn path=/trunk/KDE/kdebase/workspace/; revision=982620
2009-06-16 13:19:03 +00:00
Huynh Huu Long
18660b90eb Update shadow/glow tiles when any option changes
Fix window mask for non-composited windows

svn path=/trunk/KDE/kdebase/workspace/; revision=980471
2009-06-11 20:09:36 +00:00
Martin Gräßlin
e3f3b0386f Invalidate the shadow cache when active client changes.
svn path=/trunk/KDE/kdebase/workspace/; revision=980341
2009-06-11 14:27:28 +00:00
Huynh Huu Long
74cb4ddd81 Update the decoration to use KWin´s new API
Things to take care of:
* the shadow caching code has to be revised
* shadows sometimes don´t redraw correctly
* error messages like: Couldn't resolve property: linearGradient4203


svn path=/trunk/KDE/kdebase/workspace/; revision=979988
2009-06-10 21:02:50 +00:00
Fredrik Höglund
9ed7360157 Don't call updateButtons() from paintEvent().
svn path=/trunk/KDE/kdebase/workspace/; revision=957684
2009-04-22 17:33:26 +00:00
Huynh Huu Long
e1870fd8bb Rename scratch to stripes which is also used for the config dialog
Prevent stripes to go beyond the title area. We might need a replacement
for these cases
BUG: 182832

svn path=/trunk/KDE/kdebase/workspace/; revision=937674
2009-03-10 10:46:02 +00:00
Huynh Huu Long
62f7201f41 Use the stardard method to adjust the border width
svn path=/trunk/KDE/kdebase/workspace/; revision=937562
2009-03-09 22:36:39 +00:00
Huynh Huu Long
b49c213e59 Add option "Use thin borders"
svn path=/trunk/KDE/kdebase/workspace/; revision=926623
2009-02-15 21:16:10 +00:00
Huynh Huu Long
37f938b841 Reduce border thickness
svn path=/trunk/KDE/kdebase/workspace/; revision=926586
2009-02-15 19:14:44 +00:00
Lucas Murray
d8f46c3974 Add 4px padding between the title text and the stripes so that it
doesn't look so cramped.

svn path=/trunk/KDE/kdebase/workspace/; revision=911207
2009-01-15 02:03:50 +00:00
Huynh Huu Long
22cb8f8764 Adjust the window mask so that the window can actually touch the screen edge.
BUG: 178466

svn path=/trunk/KDE/kdebase/workspace/; revision=900436
2008-12-22 21:13:49 +00:00
Casper Boemann
d2fd031544 Try to do the same fix for kwin
Please svn up and test this out

CCBUG:163538

svn path=/trunk/KDE/kdebase/workspace/; revision=899162
2008-12-20 04:39:14 +00:00
Huynh Huu Long
ab49ed37e6 Improve the windowshape for antialiased window corners. This prevents accidently clicking the "Destroy my harddrive" button below them.
svn path=/trunk/KDE/kdebase/workspace/; revision=875191
2008-10-23 15:42:44 +00:00
Lucas Murray
154c19b0e7 Make the client shadowOpacity() return a relative opacity instead of absolute.
svn path=/trunk/KDE/kdebase/workspace/; revision=873440
2008-10-19 13:43:16 +00:00
Casper Boemann
48c1eee79a Improved Oxygen window decoration
- in composite it takes advantage of the new shadow api in kwin
 - in non-composite a thin colored frame is added to active window

For both the intention is that inactive windows have shadow and active window have 
a glow. Naturally this looks much more realistic  with composite


svn path=/trunk/KDE/kdebase/workspace/; revision=873293
2008-10-19 10:31:32 +00:00
Lucas Murray
af1b639a9d Rename the new decoration API and mark it as unstable. Supporting a hacked API is suicide.
Will correctly handle this in KDE 4.3 by using ARGB decorations, even if it's not pretty.

svn path=/trunk/KDE/kdebase/workspace/; revision=872795
2008-10-18 08:10:37 +00:00
Lucas Murray
899d578c49 Merge Libkdecoration2 Git branch.
WARNING: Breaks shadow effect. I don't think it causes anything to crash anymore but it is VERY ugly visually.

Contains:
 - New decoration API that allows decorations to change the way shadows look.
 - Shadows now wobble.
 - API example code in the Oxygen decoration.
 - Added buildQuads() effect plugin hook.
 - Work on the shadow effect to use the new decoration shadow API as well.
 - Added IDs to WindowQuads.
 - Added public accessors to texture coords in WindowVertex.

Would like all this to be reviewed.

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=872473
2008-10-17 10:30:43 +00:00
Huynh Huu Long
844f815ff8 Add shade and unshade buttons
BUG: 166887

svn path=/trunk/KDE/kdebase/workspace/; revision=872210
2008-10-16 16:13:18 +00:00
Huynh Huu Long
5b9067fb84 Add an option to change the alignment of the window title
BUG: 172076

svn path=/trunk/KDE/kdebase/workspace/; revision=869205
2008-10-08 13:42:24 +00:00
Huynh Huu Long
cbc55bf9a1 Draw the same separator in the windeco as in the rest of oxygen. This also adds more contrast.
svn path=/trunk/KDE/kdebase/workspace/; revision=865738
2008-09-28 20:30:19 +00:00
Huynh Huu Long
bba38cb5e9 Redraw buttons when redrawing the whole decoration
svn path=/trunk/KDE/kdebase/workspace/; revision=835483
2008-07-20 17:15:48 +00:00
Huynh Huu Long
8fa675350b Rrevert quick solution r831040 again
Fix gradiented background and draw a separator line onto each button

svn path=/trunk/KDE/kdebase/workspace/; revision=832778
2008-07-15 13:21:15 +00:00
Huynh Huu Long
20ee14550f revert 803670, because a polished look is prioritized
svn path=/trunk/KDE/kdebase/workspace/; revision=831040
2008-07-11 18:42:15 +00:00
Stefan Monov
42af09e89f use the proper color for the deco scratches. maybe will use a "detail
color" in the future.

svn path=/trunk/KDE/kdebase/workspace/; revision=822883
2008-06-21 20:53:52 +00:00
Huynh Huu Long
ecfa8aa80f add configuration option for stripes
svn path=/trunk/KDE/kdebase/workspace/; revision=818156
2008-06-07 23:06:31 +00:00
Huynh Huu Long
e3721c8751 Enable the on-all-desktops button
svn path=/trunk/KDE/kdebase/workspace/; revision=815426
2008-06-01 19:03:09 +00:00
Lukas Kropatschek
8eeddd6c55 some krazy include issue fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=814568
2008-05-30 17:47:24 +00:00
Huynh Huu Long
d0d1369a1a adjust the scratches for maximized windows
svn path=/trunk/KDE/kdebase/workspace/; revision=812950
2008-05-26 18:01:53 +00:00
Huynh Huu Long
7d0bd3567a colored lines added to improve visibility of active windows
svn path=/trunk/KDE/kdebase/workspace/; revision=812922
2008-05-26 16:21:49 +00:00
Casper Boemann
9e6e735c86 save memery by drawing directly onto screen
and use the helper routine to correctly draw gradient behind buttons

svn path=/trunk/KDE/kdebase/workspace/; revision=803670
2008-05-03 19:41:10 +00:00
Luboš Luňák
21bedeeadc Make the decoration double-buffered again to avoid drawing problems,
until a better solution for the wasted memory is found.


svn path=/trunk/KDE/kdebase/workspace/; revision=800572
2008-04-24 12:16:40 +00:00
Luboš Luňák
0256c3bc14 Not using WA_PaintOnScreen leads to double-buffering whole decorations,
wasting a large amount of pixmap memory for almost nothing. Please
double-buffer manually in paintEvent() if the flicker is serious.
CCMAIL: cbr@boemann.dk


svn path=/trunk/KDE/kdebase/workspace/; revision=793641
2008-04-04 17:43:46 +00:00
Luboš Luňák
eb5672ed3b Why should one enable in sources something that apparently works just fine?
CCMAIL: tpr@d5k.net


svn path=/trunk/KDE/kdebase/workspace/; revision=787165
2008-03-18 17:50:07 +00:00
Luboš Luňák
9fcd3ad674 Fix shaping - KCommonDecoration has a function where to do it,
and I don't see the point in resetting the shape every time in paintEvent().
Partially fixes resizing problems with Qt4.4.


svn path=/trunk/KDE/kdebase/workspace/; revision=782673
2008-03-05 17:48:45 +00:00
Adriaan de Groot
214d575aa3 Qt3 -> Qt4 style includes.
qdrawutil.h doesn't seem to have a purely Qt4-style equivalent, so including the directory there disambiguates it from the Qt3 header.

svn path=/trunk/KDE/kdebase/workspace/; revision=770116
2008-02-02 20:54:19 +00:00
Teemu Rytilahti
eefef6df1c Add ability to add keep above/keep below buttons to the titlebar. To enable, you need to modify oxygenclient.cpp yourself for now.
svn path=/trunk/KDE/kdebase/workspace/; revision=759107
2008-01-10 01:09:02 +00:00
Casper Boemann
8e3446f89e Remove David Johnson from the copyright list as there isn't a single
line of code left from his original skeleton, and the copyright only 
requires the copyright to be maintained when substantial parts are 
copied - which is no longer the case

svn path=/trunk/KDE/kdebase/workspace/; revision=753433
2007-12-27 13:10:14 +00:00
Casper Boemann
040550d293 Use helper version of frame drawing (shared code with the style)
svn path=/trunk/KDE/kdebase/workspace/; revision=753431
2007-12-27 13:07:12 +00:00
Casper Boemann
1b6df67bcc Fix the problem of the window bg being drawn wrongly until the window is
redrawn.
Also fix that the background was drawn wrongly at small widths

svn path=/trunk/KDE/kdebase/runtime/kstyles/; revision=750240
2007-12-18 23:44:43 +00:00
Marijn Kruisselbrink
e185ec3c8b fixes for platforms where qreal is not a double
btw, wouldn't it be cleaner if all those qMin(0.0, qMax(1.0, foo)) calls are calls to qBound instead?

svn path=/trunk/KDE/kdebase/workspace/; revision=748283
2007-12-14 01:38:32 +00:00
Casper Boemann
b09357e1b0 Don't draw resize handles on windows that aren't resizable
svn path=/trunk/KDE/kdebase/workspace/; revision=744065
2007-12-02 16:38:38 +00:00
Luboš Luňák
59e845e4e6 Make width of titlebar spacers default to half width of normal buttons,
not some random tiny sizes or even zero. Maybe could need small tweaking
here or there, but a spacer is supposed to make at least some space.


svn path=/trunk/KDE/kdebase/workspace/; revision=743034
2007-11-29 18:37:52 +00:00
Luboš Luňák
9621df24f5 Add missing license headers.
CCMAIL:Casper Boemann <cbr@boemann.dk>
CCMAIL:Riccardo Iaconelli <riccardo@kde.org>


svn path=/trunk/KDE/kdebase/workspace/; revision=742988
2007-11-29 15:22:10 +00:00
Matthew Woehlke
650f963bb0 --hardcoded colors in oxygen windeco, now the 'faux-shadow' border is actually darker than the window instead of hard-coded medium gray (which made it appear bright in e.g. Wonton Soup). Also add some 'if (0)' code for a different color choice that can hopefully be made available as an option in the future (I like it better anyway, but for now use boemann's gray).
svn path=/trunk/KDE/kdebase/workspace/; revision=742324
2007-11-27 20:49:03 +00:00
Matthew Woehlke
9c6358396e SVN_SILENT: '.color()' -> get QColor not QBrush (Qt seems to do this implicitly, but let's be explicit), also use stored color instead of doing palette.window().color() many times, especially as we already stored it
svn path=/trunk/KDE/kdebase/workspace/; revision=742003
2007-11-26 22:06:07 +00:00
Casper Boemann
2f0c893194 Add a more distinctive outline to windows, making it easier to tell two
overlaping windows apart.

svn path=/trunk/KDE/kdebase/workspace/; revision=740761
2007-11-24 03:49:12 +00:00
Aaron J. Seigo
9048abe173 take advantage of KDecorationOptions::defaultTitleButtons[Left|Right]
svn path=/trunk/KDE/kdebase/workspace/; revision=737210
2007-11-15 20:14:41 +00:00
Luboš Luňák
222d60acf8 Put in changes reverted by r732026 again.
svn path=/trunk/KDE/kdebase/workspace/; revision=733454
2007-11-06 11:13:09 +00:00
Matthew Woehlke
b60d4e187a SVN_SILENT: comment update, since I convinced Lubos kwin should nicely set palette group, but haven't gotten around to fixing kwin yet :-(
Bah, should've done at least this a long time ago, sorry Lubos.

svn path=/trunk/KDE/kdebase/workspace/; revision=733209
2007-11-05 21:10:59 +00:00
Riccardo Iaconelli
843839c21d SVN_SILENT
Changing email address from ruphy@fsfe.org to riccardo@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=732026
2007-11-02 15:30:53 +00:00
Luboš Luňák
f55b1056a2 Make KDecorationFactory::supports() const, and also pure virtual to force
changing this signature in reimplementations, as -Woverloaded-virtual is
not in default flags :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=731695
2007-11-01 16:07:38 +00:00
Casper Boemann
0e65033534 Add hover effect to win deco buttons
svn path=/trunk/KDE/kdebase/workspace/; revision=727100
2007-10-19 19:56:50 +00:00
Casper Boemann
759cbbb8ff Add dividing line below titlebar
Fiddle with metrics of buttons ad text a bit
We are mostly done with win dec now - Only hover on buttons missing

svn path=/trunk/KDE/kdebase/workspace/; revision=726799
2007-10-18 23:56:46 +00:00
Casper Boemann
a454357d4e Paint buttons of inactive windows different too
Prepare for caching of those colors - doesn't connect to actual KGS
signal yet - so are never invalidated


svn path=/trunk/KDE/kdebase/workspace/; revision=726729
2007-10-18 19:09:41 +00:00
Matthew Woehlke
1bd2d4c10f enforce minimum contrast for titlebar fade effect
svn path=/trunk/KDE/kdebase/workspace/; revision=726726
2007-10-18 18:40:06 +00:00
Matthew Woehlke
c8c7e6e04b SVN_SILENT: debug--
svn path=/trunk/KDE/kdebase/workspace/; revision=726719
2007-10-18 18:12:08 +00:00
Matthew Woehlke
3aa0759a24 first crack at intelligently fading out inactive text
svn path=/trunk/KDE/kdebase/workspace/; revision=726717
2007-10-18 18:09:31 +00:00
Casper Boemann
3180c8c0b6 Fix closebutton not being clickable by moving the mouse to the corner in
maximized mode.

svn path=/trunk/KDE/kdebase/workspace/; revision=726270
2007-10-17 11:50:34 +00:00
Matthew Woehlke
dbb842f9aa use deco gradient from helper for consistency, also add palette state hack to buttons which need it also
svn path=/trunk/KDE/kdebase/workspace/; revision=723561
2007-10-10 00:25:48 +00:00
Matthew Woehlke
cb8d764ba1 Keep around the helper as a reference member of OxygenClient and OxygenButton, instead of having two global statics. Also refer to the client (from the button) as a reference to ensure that it exists (namely, so that we can grab our own reference to its helper).
svn path=/trunk/KDE/kdebase/workspace/; revision=723558
2007-10-10 00:05:24 +00:00
Casper Boemann
42ecf61546 Better rounded corners of our windows
svn path=/trunk/KDE/kdebase/workspace/; revision=723510
2007-10-09 21:01:18 +00:00
Matthew Woehlke
2b6691ce0f make titlebars big enough for buttons
boemann: feel free to revert if you have a better idea

svn path=/trunk/KDE/kdebase/workspace/; revision=721747
2007-10-06 00:39:16 +00:00
Casper Boemann
d9557f50d1 make the resize dots smaller
svn path=/trunk/KDE/kdebase/workspace/; revision=717923
2007-09-27 18:30:17 +00:00
Casper Boemann
a717c047a3 respect colorsetting for window title
svn path=/trunk/KDE/kdebase/workspace/; revision=715938
2007-09-23 14:30:37 +00:00
Casper Boemann
f5c53e76d6 change windec to inherit kcommondecoration, which brings us several
pleasenties

svn path=/trunk/KDE/kdebase/workspace/; revision=713524
2007-09-17 18:16:26 +00:00
Matthew Woehlke
9fc9231483 Set palette's currentColorGroup since apparently kwin doesn't give us one with the right color group. This fixes the bug where the oxygen windeco always uses the inactive colors.
Is this something that can be fixed in kwin?

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=710741
2007-09-10 19:09:39 +00:00
Luciano Montanaro
a1e92ce714 Make the titlebar height depend on the title font -- like all other shipped
decorations

svn path=/trunk/KDE/kdebase/workspace/; revision=708669
2007-09-05 10:55:05 +00:00
Pino Toscano
44bab7a4eb set the autoFillBackground for the preview widget, so it's painted correctly clearing the garbage below
svn path=/trunk/KDE/kdebase/workspace/; revision=707412
2007-09-01 20:04:10 +00:00
Matthew Woehlke
1cfffc602e move oxygen code that will be shared by the style into its own .cpp/.h
svn path=/trunk/KDE/kdebase/workspace/; revision=689747
2007-07-19 01:32:16 +00:00
Matthew Woehlke
ca0838643d fix lower color, thanks for keeping me honest boemann :-)
svn path=/trunk/KDE/kdebase/workspace/; revision=689245
2007-07-17 23:50:33 +00:00
Matthew Woehlke
1768ac296c fix windeco to use KColorScheme also, see r689219
TODO: share this code so it doesn't need to be fixed twice :-)

svn path=/trunk/KDE/kdebase/workspace/; revision=689244
2007-07-17 23:35:44 +00:00
Casper Boemann
3e024ce5e6 fix small visual error in upper right corner
svn path=/trunk/KDE/kdebase/workspace/; revision=688743
2007-07-16 18:52:40 +00:00
Casper Boemann
f153aad996 change the background as nuno wants
svn path=/trunk/KDE/kdebase/workspace/; revision=688728
2007-07-16 18:01:27 +00:00
Casper Boemann
fb78c8f6ad update windec to have same background as new style
get rid of xrender stuff
did this to get smooth painting:
    widget()->setAttribute( Qt::WA_PaintOnScreen, false);



svn path=/trunk/KDE/kdebase/workspace/; revision=688425
2007-07-16 02:12:45 +00:00
Casper Boemann
994a11916c Move it correctly this time
svn path=/trunk/KDE/kdebase/workspace/; revision=676058
2007-06-15 20:48:52 +00:00