Commit graph

91 commits

Author SHA1 Message Date
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