
XFWM KDE4.8 Oxygen theme
Source (link to git-repo or to original if based on someone elses unmodified work):
It is intended to look as close to kwin Oxygen as possible, still not requiring any part of KDE.
NEW: experimental (likely buggy and glitchy) support for blurring bg of transparent windows.
If you want to test it, add -DENABLE_BLUR=1 to CFLAGS.
NOTE:
1. It will likely will be very slow on much of HW because XFWM uses pure XRender to do compositing, it isn't yet optimized in any way, but still it works with usable speed on my GeForce GTX460.
2. You can't toggle it without recompilation - that'll be possible when this feature loses experimental status
This theme consists of two parts (screenshots show result of using both parts together):
1. Basic theme - usual XFWM4 pixmap-based theme, with lots of limitations.
2. Hack patch for XFWM4 to work around its limitations.
NOTE: without patch this theme has lots of limitations, here's the list of them (☑ - solved by patch, ☒ - not yet solved):
☑ fixed colors (because xfwm4 themes are pixmap-based)
☑ no radial gradient
☑ no active window glow (shadows can be enabled in compositor, but they are only grayscale)
☒ no animations
☑ no change width resize grips
☑ too large window icons on menu button
How to use theme with patch:
1. Get latest oxygen-gtk master branch with this command:
git clone git://anongit.kde.org/oxygen-gtk
2. Compile, install it (see INSTALL file for details).
3. Download the patch, apply it to xfwm4, build & install.
4. Download and install kde44-oxygen theme from this page
5. Select kde44-oxygen in xfwm4-settings (don't rename it - patch is disabled for themes other than "kde44-oxygen" to prevent it from interfering with other themes).
6. For best results use oxygen-gtk as GTK+ theme (it's used in the screenshots).
Example of how to patch&build xfwm4.6.2:
# NOTE: you'll likely have to install some dev packages to build it.
# NOTE: you might have to set CFLAGS="-ldl" env var before running configure to make xfwm4.10 work
wget http://archive.xfce.org/src/xfce/xfwm4/4.6/xfwm4-4.6.2.tar.bz2 &&
tar xvf xfwm4-4.6.2.tar.bz2 &&
cd xfwm4-4.6.2 &&
patch -Np1 -i /path/to/patch-you-downloaded.patch &&
./configure --prefix=/usr &&
cd src &&
make &&
cp xfwm4 /usr/bin/xfwm4-hacked
# Hacked XFWM4 should now be run using this command: xfwm4-hacked --replace
Features:
• Current color scheme and other oxygen settings set in kde (or in ~/.config/oxygen-gtk) are used.
• Background gradient is disabled based on _KDE_OXYGEN_BACKGROUND_GRADIENT X11 window property for such apps as libreoffice, mozilla and non-oxygen apps.
• The patch also provides an analogue of kwin's "Resize Window" effect. It stretches window image instead of doing repaints on every resize action, until resize is finished. This should make resizing faster on some systems. To enable it in patched XFWM4, select xfwm4-settings -> Advanced -> "Hide content of windows when resizing".
Warnings:
• Some oxygen settings are not yet implemented in oxygen-gtk, e.g. per-window exceptions, outlining active window title, drawing separator between title and window contents, ...
• Current version of xfwm4 hack doesn't support changing sizes of decorations and buttons - selecting something other than 'Normal' in oxygen-settings for them will result in incorrect windeco rendering
• Windeco fonts set in xfwm4-settings are not honored when hack is in use - kdeglobals are used to set fonts
• If you don't apply patch or use too old oxygen-gtk, you'll not get any improvements - xfwm4 will still work with basic theme part (with all its limitations listed above). Check xfwm4 terminal output in this case for more details.
Known bugs:
• Sometimes, when there are windows with gradient and without it open, there appear some artifacts, like corners appearing flat-colored. This mainly happens when compositing is disabled. I do know what causes this problem, but currently don't have enough time to fix this.
Sep 16 2012 Fixed some of blur artifacts
Sep 15 2012 Added experimental blur implementation
Sep 14 2012 Added shadows for tooltips
Apr 6 2012 Updated basic theme to make close buttons equal to others in width and spacing
Apr 5 2012 Updated buttons to match KDE 4.8
Jan 6 2012 Some minor changes
Nov 16 2011 Fixed installation instructions
Sep 11 2011 Fixed artifacts (shadow not fully disappearing) on closing WM menu with oxygen-gtk style
Sep 10 2011 All frames are now redrawn on composited/non-composited transitions. This fixes some artifacts.
       ╠Fixed bottom corner rendering with unexpected pixmap heights.
Aug 26 2011 ┤ Changed bottom corners to be of better shape to get resize events more properly
       ╰ Added README to theme directory
Mar 4 2011 Now using _KDE_OXYGEN_BACKGROUND_GRADIENT window property
Feb 27 2011 Implement "Resize Window" effect.
Feb 17 2011 Patch to work around XFWM4 limitations is released, and minor changes are done to theme itself to work better with the patch
Apr 24 2010 First release of pixmap-based theme
Ratings & Comments
9 Comments
Thanks for sharing .i like it . ok to Debian Stretch x64 .
yes i've already done that. the same output these are the commands i used cd xfwm4-4.6.2/src patch -Np1 -i /mypath/patch-you-downloaded.patch
Yes, my fault. I forgot that the patch is now relative to root dir, not src. So, don't cd to src - patch from xfwm4-4.6.2 directory, like this: cd xfwm4-4.6.2/ patch -Np1 -i /home/ruslan/Downloads/kde47-oxygen-xfwm4.patch Please let me know if this helps.
thank you for your help
after I typed the patch command you put above I got this can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/src/compositor.c b/src/compositor.c |index 301de23..6a7b97f 100644 |--- a/src/compositor.c |+++ b/src/compositor.c -------------------------- File to patch:
Are you issuing patch command from xfwm4/src directory? Make sure you have 'cd'ed into src.
Does it works with Xfwm 4.8.1?
I haven't tried, but if the patch applies cleanly, it'll most likely work. Please notify me of your experience if you try.
OK, just checked - it works for me.