Baghira
=======
For all you Apple Junkies out there... (like me) ;-)
Bases upon mosfet-liquid0.9.6pre4... the last heir of mosfet.
Suggestions welcomed.

Installation
-----------------
tar -xjf baghira.tar.bz2
cd baghira/baghira
./configure --prefix=<your prefix> --disable-debug [--enable-final]
make
and finally as root:
make install

Changes
-------------
- New BigBlackCat styled Buttons (also affects comboboxes a.s.o.) Progressbars and Tabs (also tabs now can be of any height!)
- Highlighted active Editboxes
- Nice 3D effect for GroupBoxes
- Checkboxes with "checks" rather than crosses ("got checked...?!") ;-)))
- Also incorporates a button size patch by Cdric Pasteur you can get from kde-look.org

Changelog
----------------
0.3q
- new arrows on scrollbars + combos (thanks to Narcis Tesa for providing the pix)
- added option to fade in / scroll  popup menus (works with translucency)
- Tabbar Bases will follow tabs colors :)
- bugfixed popupshadow code
- redesigned skinboxes

0.3p
- redesigned groupboxes (twice as fast :)
- corrected wrongly shadowed widgets (flat groupboxes)
- redesigned scrollbars

0.3o
- IMPROVED MEMORY MANAGEMENT - menus won't eat your memory anymore
- fixed bugs that may have caused crashes on some systems
- thanks to "mbllos" for some code optimization and a bugfix in the button coloring function
- slight changes to the toolbuttons (especially the round version)
- pressed sliders aren't animated, better slider hover behaviour at all, "hand" cursor on sliders
- included throbber for konqueror - copy to your icon folder (global is $KDEPREFIX/share/icons/default.kde)
- fixed nasty bug when trying to remove nonexistent popupmenushadows (crashed tear off menus)


0.3n
- fixed error that lead korganizer to crash (well, it's rather a workaround - as the KOAgenda class doesn't like foreign eventhandlers, i removed my - on cost of slider behaviour)
- fixed graphical error on some scrollbars
- fixed qtoolbutton error (some non stippled and miscolored buttonbackgrounds in toolbars)
- fixed error on some scrollviews (that didn't highlight the scrollers)
- fixed graphical problem with stipple unalignment on toolbars
- better support for toolbuttons besides toolbars (e.g. k3b)
- some further (minor) graphical improvements
- better menu-indicator/shadow related behaviour... yes, i said this wouldn't be possible, but it annoyed me too much, so i did it. (anyone here may thank RenderMan for this, he asked and this followed me so i really had to fix this :)

0.3m
- speedUps, speedUps anywhere... ;-)
  1. by avoiding permanent repaint (update) of animated widgets (scrollers/progressbar)) - nice sideeffect: scrollers are back on wished behaviour again ;-)
  2. by avoiding useless searching the dictionaries (restructured popup code - allmost feared it'd never compile anymore...) and some calculations ;-)
- especially for jos added a new option for even smoother taskbar butoons ;-)
- fixed miinor error in kcmbaghira (you couldn't set opacity in gradient mode / stuck to custom opacity)
- removed annoying progress percent display

0.3l
- modified dropshadow behaviour (menus < shadowoffset won't draw any shadow at the too small side)
- slightly changed sublying pixmap for scrollbar sliders
- new progressbar for "apple" style
- new progressbar behaviour ;-) (try apple or liquid - i'm sorry i denied this was possible... i'm just a little fool):\
- also new Scrollbar bahaviour (side effect: if there are more scrollable areas in an app, all scrollers will be paint active if you enter one.
- slightly rounded the rect toolbuttons
- more apple like shadows - i hope to soon provide fast blurring AND I DO NOT LIKE THE MS STYLE!!! (yes, this means you, RenderMan! ;-)
  (notice that 1. the current implementation is subefficient - i'll enhace that for next release; 2. this totally messed up my translucency code - so if you notice any artefacts, fractions or shifts: please drop me a mail ;-)
0.3k (serious bugfix release, recommanded over 0.3j)
- better support for groupboxes of kicker apps (e.g. button background)
- fixed error on small popupmenus (thanks to RenderMan for the hint!)
- (rough) support for bottom Tabs (cause konsole will use them in 3.2)
- included math.h - i still do not understand, why some compilers (gcc versions!!!) do not suppport exp and pow internal? %)
0.3j
- corrected slider geometrics (won't slide out of sliderarea, you can grip the whole slider)
- corrected highlighted menutext color when using custom menu colors
- set the very small pushbuttons to new gradient style
- set minimum tab height to 27 pixels (regarding to tabs on apples homepage)
- reordered dropshadow calling process
- changed behaviour of kicker headers (task buttons - to say it the ms way...:) - highlightning/coloring assumes them to be NOT button colored (rather background)
- corrected slider color on groupboxes also for my friends, who don't like stipples... ignoramuses ;-)
- added gradient translucency (but please don't expect this to be a speed wonder - the gradient has to be rendered for every menu (as they can be of different width) and then blended to the background completely (different from common translucency, where i can often take parts out of the buffer)
However: it's at least ghost free and not rendered twice - if you close and then reopen a submenu (e.g. from a menubar)
- added buffer to provide ghost free shadows (this leads to double buffering for translucency, well - gradients are and keep doublebuffered anyway)
- added free sizable menu drop shadows (w/o kde bug on shadows that run out of screen) / the shadows could need a gaussian blur (otherwise big shadows look too sharp) - we'll hopefullly see that next time... (for the moment, i suggest to use bright shadows (1 - not 0) to lower this effect)
- disaligned menuchecks should no be (vertically) aligned
- hopefully fixed a polishment bug about combos on toolbars (?!)
=====================================================
AND: IMPORTANT TO ANYONE!!! DEACTIVATE KDE DROPSHADOWS!!!
(as they'll produce artefacts in traslucent menus
 + artefacts within themselves
 + artefacts in my shadows
 + unnecessary slow down menus)
=====================================================

0.3i
- fixed drawing error on horizontal splitters
- added new sliderarrow (thanks to Narcis Tesa for the picture)
!!! NOTICE: The new Image is (allthough applelike) very big and vertical asymmetrical displayed - this can lead to inadequate look if i can't change its size - e.g. if it settles on a toolbar (open juk to see what i mean) the only way to handle this, is resetting the toolbarsize to at least 24 pixels. As e.g. only provides a maximum of 22 pixels, you have to edit its config file by hand: open ~/.kde/share/config/jukrc, look for the [MainWindow Toolbar playToolBar] section and set "IconSize=24". - sorry for this.
- slightly changed the tabbarbase on icy buttons (by user request and because it was necessary:)
- scroller activation now also works with kwrite and dependent apps (gideon, etc)
- improved support for custom menu colors (child menu triangles, checkmarks, splitters)
- improved (generalized) toolbar color handling (background seperators leaded to uncolored konqueror completition box - this shouldn't happen to any widget anymore)
============================================================================
=== R E A D   T H I S ! ! ! =============================================================
============================================================================
I stole the whole menudropshadow stuff from kstyle (thanks to the developers) to call them at the moment I (yes: ME:-) want!
PLEASE TEST THEM EXCESSIVLY and tell me, if you notice any ghosts from them by doing anything. thanks.
I WON'T MODIFY FOREIGN APPS SETTINGS! therefore you have to DEACTIVATE KDE MENU DROPSHADOWS yourself! - sorry for the inconvenience.
as they're active by default it's a good idea to deactivate menudropshadows in kde's style settings
( i know that they're still ghost effects in the shadow itself - i'll try to fix that soon )
============================================================================
- stole kstyle function for double buffered sliders and adjusted it for use with shadowed groupboxes (allows slider moving without artefacts) - you can read it. i'm a thief. i stole it - their precious - and THEY WANTS IT! ;-)

0.3h (for massive (!) but unserious bugfix)
- added smooth toolbuttons option
- hacked around smudge error on automoving sliders (does NOT hold for sliders on groupboxes, if shadows activated)
- you now can choose between liquid, old and newstyle baghira progress bar (honestly i prefer the original baghira style, too - well, apple's not always perfect ;-)
...
HOLY SH**, i can't believe, nobody mentioned that before: did you never try to change to a custom menu style (color, unstippled translucency???) didn't you see there was something terribly wrong??? e.g.: IT JUST DIDN'T WORK?
- fixed that, so menu styling now behaves as it should. (hell on earth, i've to do everything myself - even kickin' my butt... ;-)
(head over to resexcellence and look at the milk screenshot, if you want to know why - black translucent menus look really cool (imho), allthough qt seems to have problems displaying bright text on a dark background)
- kde's menu dropshadows sometimes still mess up with my code (and theirs, too) the reason is that I (and they) have to sync qt with xfree before i can take a screenshot - the result is that the menushadow can appear during this time and then is also captured (if i don't capture it, it will leave a white ghost instead of a black one).
for the moment i have to suggest to deactivate menu dropshadows to get better translucency results - i'll try to write my own dropshadows for a future release.
- fixed minor unpolishment bug (accidently removed moustracking for all scrollviews - bad on combos, if not reactivated by new style..., well, i guess you didn't do that anyway ;))
- slightly changed colortheme
- made the splitter more decent

0.3g (dedicated to howard shores score of "the return of the king", which kept me awake tonight =)
- corrected position of new triangles on srollbars etc. a bit
- found (tricky) solution for Toolbar Separators (please consult README about this!!! - especially if toolbuttons seem to misbehave):
[well, seems you did :)
OK, the following Part is a bit tricky!
QT uses the Button Color to draw seperators on Toolbars.
Unfortunately we cannot change this directly, so we have to set the button color of Toolbar Widgets to the background color.
Unhappy Effect: Toolbuttons will lose the ability to highlight, as their Buttoncolor now changed to Background mode. (f***!)
Solution: We reset the the Buttoncolor of Toolbuttons to Buttoncolor right after that.
Unhappy Effect: Toolbuttons loose the ability to use redefined colors.
Solution: Check, if button uses backgroud for color: then reset it to button
Unhappy effect: An application cannot be redefine a Toolbutton color to background color.
(The alternative would be to exclude apps like korn, that are known to redefine toolbutton color, but i think, this is the MUCH better way!)]
- ...well now korn (and other apps) now also can have redefined toolbutton colors if you enable "draw toolbutton frames" (tststs..., sometimes i wonder if i can code anyway... :)
- added an option to remove bevel around kicker (user request)
- changed look of progressbar to fit apple's bevel rather than liquids
- added an option to user liquid's progressbar (user request, as an offer, on the new progress bar groove - tell me your opinion)

0.3f
- menu translucency should now be PERFECT (i really like the word - howerver: never say never again... :)
  this means: there won't be any ghostshadows anymore - no matter what you do. also no menu will be calculated twice if not nessecary (but don't forget: this is only pseudo translucency, this means, you won't capture background changes (animations aso.) as long as you don't close the menu)
  Also menu dropshadows are supported
- scrollbars now change to active (with visual notification, what means they're colored) when you enter a scrollable area. (unfortunately currently doesn't work with some apps that don't inherit QScrollview - e.g. kwrite, so ill try to catch that)
- Kicker now draws (improved) smooth headers
- fixed rect buttons stucked to non stipple background (thanks to RenderMan for the notice)
- further minor graphical improvements...
- i hate the groupshadows...  :) anyway, i found a rather simple solution to put a proper background to the buttons and sliders... (i could also apply this to the combos, but as they are almost rectangular, it wouldn't make much a difference. anyway: if someone is annoyed cause he runs a 320x240 ressolution, i'll improve that by request)
- removed any (virtual) support for kde menutranslucency, as it's really not a good idea to have both enabled at the same time...
- fixed an error to LVH triangles (thanks to Narcis Tesa for the hint)
- changed triangles on scrollbars and menus to fit listview expander look
- removed bevel around kicker for user request. i'll make that configurable with the next release.
- improved header hover behaviour after scrolling (on slight speed loss) - however it's still not perfect. (header hovering is a bit a hack and qt seems to have a problem with updating the header position...)
===========================================
+++ you can download the new enchicked wallpaper from here:
http://stud.uni-karlsruhe.de/~uhvh/panther-jolene.png.bz2

0.3e
- added a slider to configure degree of saturation for icy buttons
- forcing rect buttons now also affects combos - for a more consistent look...
- menutranslucency improvement (1):
  submenus won't be creatd multiple times, as long as lowest level menu is shown
  this also holds (in most cases) for menubar-popups (e.g. when flying through your menus)
- menutranslucency improvement (2):
  BE BANISHED TO WHERE THOU CAMEST FROM, HELLISH GHASTLY GRIM GHOSTSHADOWS ON POPUPMENUS !!! :)
  (also improves menu buildup speed, as they are partially taken out of memory. btw, how's kde 3.2 state on this? - still nice ghosts?:)
  (notice: the function isn't perfect, yet: menus are not overcaptured, therefore menushadows will still draw (slim white) artefacts. Also, you can trick it if you don't move left - right, but follow a bow above the menubar, as then the pixmapbuffer probably will be deleted - i'll try to fix this in the next release. for the moment, need you for beta-testing. so please tell me, if you find more drawing errors!)

0.3d
- added more saturation to the icy buttons (icy buttons are now active by default - i think :)
- again brighter shadows for buttons and combos
- minor graphical changes (e.g. a toolbutton frame)
- option to force rectangular buttons (sorry 'eggnogg' - combos as buttons looked really crap, especially when buttons and combos appear at the same time)
- sunken button effect now wanted - therefore constant behaviour (they sometimes did funny things before)
- some codeimprovements...
- header + kicker (was there?) flicker resettled to nirvana
- solved renderman's problem with disaligned submenu triangles (with massive help of renderman, to state this)
- toolbuttons now also can have individual colors (affects e.g. korn)

0.3c
- changed look of smooth LVH (hope RenderMan can live with that now...) ;-)
- no smooth LVH for kicker (looked crap because of the shadow)
- new Images for the buttons (but of same style)
- slightly reworked comboboxes (smoother shape, lighter shadow)
- set toolbuttons back to iTunes style - independent of the smooth LVH (thanks to Ercin Eker for the hint)
- added new widget coloring function (it's slower at app startup, but you'll need a profiler to notice that on a current computer)
- new button pressing effect (to be honest, this happened due an accident - originally i wanted to use the outline as an alternative hover but set a wrong if check..., however it now looks like glow effect - tell me your opinion)

for multiple request:
============
1. you can download binaries (NO WARRANTY they will work) from here:
http://stud.uni-karlsruhe.de/~uhvh/baghira-binary.tar.bz2
2. you can download the enchicked version of the wallpaper from here:
http://stud.uni-karlsruhe.de/~uhvh/panther-padma.png.bz2

0.3b
- fixed menu translucency behaviour (veeeeeery stupid bug...)
- flattened the menu indicator + use of highlightened text (blame or thank RenderMan...) :)
- changed listheader indicator arrow
- stipples aligned by default - also, removed brute force alignment (leads to some very unhappy errors) - if you seea widget, that is disharmonic stippled: just drop me a mail! (groupboxes work... partially) - therefore "Align Stipples" option is (currently) useless...
- made and fixed a stupid bug tthat allmost costed my brain... ;-) (sometimes i'm really so stupid...)
- rectangular combos (e.g. html) are now rather combos - not complete highlighted buttons
- combos however are reworked and base upon their own pixmaps - not perfect at all... need better submittal?!
- you (RenderMan) can activate smoother ListViewHeaders - basing upon the new combos...
- fixed some minor bugs
==================
= REQUEST !!! =========
==================
Apple seems to use a nonlinear coloring process for buttons and stuff (e.g. light parts tend to be yellow).
Mosfet's linear coloring function results in quite flat Buttons.
If anyone can recommand good literature about coloring precesses - thanks ;-)
=================================================================
=================================================================

0.3a
heyheyhey... consistent source (./configure;make;make install from topdir)... finally. YEAHHH BABY!
ok, now the important stuff:
- tabs now also follow inactive button style
- fixed a popupmenu bug (for aligned stipples)
- reworked the polishment process -> should be much faster now, also lost some errors (e.g. open juk with 0.3, did nobody see this??? )
- added icons for the kcmdialog - just copy the iconfolders in "icons" to your icon-directory
- new "iTunes" styled rect buttons

0.3
- configdialog of course!
- new centerd tabs (thanks to shm for the patch)
- faster html (and other stuff?) scrolling
- fixed color error to the toolbar
- fixed major (but uncritical) bug to kicker (and child process) groupboxes
- other stuff i forgot...
================================================================================
NOTES to configuration
----------------------------------
- usually inactive buttons follow the background: therefore they can appear flat to very bright backgrounds (on black backgrounds on the other hand you won't see them anymore)... try to set them to "original"
- custom translucency doesn't work as it should (inverse behaviour, may overrun the defined area what leads to funny colors...)
- stipple alignement is only partially implemented - therefore it's not really slow (but won't work on groupboxes)
- centertabs should work on qt 3.1.2 and above. below this it's not tested (but may work anyway)
- "fasten the filebrowser" will lead to a stippled background (if you use stipples) and will remove the possibility to choose custom backgrounds
====================================================================================

0.2b
- Better Support for unstippled Background
- No more flicker ?!
- New Button behaviour (to hopefully get some feedback)
- more graphical stuff corrected (eg line near groupboxes)
- you now can configure the first items (kcm will follow soon, probably next few days)
to ~/.qt/qtrc add and modify:

[Baghira]
drawDotlines=true
drawGroupBoxShadow=true
plusMinus=false
squeezeSbSlider=true
shadowSbSlider=false

... not colors so far, as you would have to set hexdecimals...

0.2a
- Fixed some graphical... insufficiencies (thanks, craigD)
- redid lines for listview so that Marcel can handle his massive email traffic again ;-)
  (this will be choosable when the confdialog...)
- also triangles should look a bit cleaner now
- feedback for checkboxes and radiobuttons
- shadowed groups now won't fall to button color if you use the button color for menus
- about menu effects: fade in and animation happily works, as long as you don't use transparent menus
  if you use transp menus, always the button color will be used for the effect. I *can* fix that - on a little speed loss.
  However I do suggest to NOT use transparent menus with menu effects, as the menu will become more solid everytime you open it.
  (Maybe I will support qt transparency for the unstippled menu in the future)



0.2
- new icons in listview (nice triangles instead of windows like '+' & '-', no lines)
- 3d effect for editlines
- removed shadows and annoying triangle from active button text
- changed scrollbar -> hover effect (sunken when pushed), more grippy

Todos
---------
- Hack qt for rounded selections?! (no way. need to patch kdeiconview for this)
- make compatible to kde menu translucency (dropped, using xRender just for stripes is much too slow!)
- find a solution to apply 3d effect on all groupboxes (currently only frameshape == groupboxpanel affectet (most groupboxes...)) ??? (not sure if there is a way to do without rewriting bigger parts of qt)
- About tabs: I know that Apple now has some pretty buttoned centered tabs. Allthough QT seems to support centered tabs, it's not an option in QT Designer (at least not in 3.1.2) and so no one uses them (maybe the QT function is buggy). However left aligned Panther tabs just look crap and might cause strange effects if tabs run out of the window (as in konqueror)

To the people who sign responsable for mosfet's parting:
------------------------------------------------------------------------------------
After working on mosfet's code for some days now, i think i'm really competent to say this.
I do not know, what you did or said or just why - but hey: you stole us a really great coder... shame on you.


mailto:baghira-style@gmx.net
