Browse Source

Initial import of baghira 0.8

Slávek Banko 2 years ago
commit
066aaaeb73
100 changed files with 18213 additions and 0 deletions
  1. 1
    0
      AUTHORS
  2. 280
    0
      COPYING
  3. 1
    0
      ChangeLog
  4. 167
    0
      INSTALL
  5. 31
    0
      Makefile.am
  6. 1
    0
      NEWS
  7. 707
    0
      README
  8. 1
    0
      TODO
  9. 22
    0
      bab/Makefile.am
  10. 15
    0
      bab/Themes/Brushed
  11. 14
    0
      bab/Themes/Jaguar
  12. 3
    0
      bab/Themes/Makefile.am
  13. 15
    0
      bab/Themes/Milk
  14. 14
    0
      bab/Themes/Panther
  15. 14
    0
      bab/Themes/Tiger
  16. 10
    0
      bab/bab.desktop
  17. 108
    0
      bab/bab.h
  18. 16
    0
      bab/bab.lsm
  19. 41
    0
      bab/bab_iface.h
  20. 615
    0
      bab/main.cpp
  21. 63
    0
      bab/styleconfdialog.cpp
  22. 53
    0
      bab/styleconfdialog.h
  23. 26
    0
      colorscheme/AquaBlue.kcsrc
  24. 26
    0
      colorscheme/AquaGraphite.kcsrc
  25. 3
    0
      colorscheme/Makefile.am
  26. 253
    0
      config.h.in
  27. 21
    0
      config/Makefile.am
  28. 705
    0
      config/about.ui
  29. 300
    0
      config/colordialog.cpp
  30. 90
    0
      config/colordialog.h
  31. 81
    0
      config/colorpicker.cpp
  32. 39
    0
      config/colorpicker.h
  33. 3039
    0
      config/configdialog.ui
  34. 13
    0
      config/generatePixmaps.sh
  35. 305
    0
      config/help.ui
  36. 1243
    0
      config/kstyle_baghira_config.cpp
  37. 163
    0
      config/kstyle_baghira_config.h
  38. 5
    0
      configure.files
  39. 6
    0
      configure.in.in
  40. 247
    0
      deco/Doxyfile
  41. 28
    0
      deco/Makefile.am
  42. 5
    0
      deco/baghira.desktop
  43. 2636
    0
      deco/baghiraclient.cc
  44. 445
    0
      deco/baghiraclient.h
  45. 23
    0
      deco/config/Makefile.am
  46. 162
    0
      deco/config/aquariusbutton.cc
  47. 37
    0
      deco/config/aquariusbutton.h
  48. 729
    0
      deco/config/baghiraconfig.cc
  49. 730
    0
      deco/config/baghiraconfig.cc.new
  50. 145
    0
      deco/config/baghiraconfig.h
  51. 149
    0
      deco/config/baghiraconfig.h.new
  52. 124
    0
      deco/config/colorpicker.cc
  53. 44
    0
      deco/config/colorpicker.h
  54. 3088
    0
      deco/config/configdialog.ui
  55. 398
    0
      deco/config/configdialog.ui.new
  56. 586
    0
      deco/config/customdecosettings.ui
  57. 10
    0
      deco/config/generatePixmaps.sh
  58. 28
    0
      deco/generatePixmaps.sh
  59. 81
    0
      deco/masks.h
  60. 1
    0
      icons/Makefile.am
  61. BIN
      icons/cr128-app-baghira.png
  62. BIN
      icons/cr128-app-baghira_blue.png
  63. BIN
      icons/cr128-app-baghira_grey.png
  64. BIN
      icons/cr128-app-baghira_white.png
  65. BIN
      icons/cr128-app-baghira_yellow.png
  66. BIN
      icons/cr16-app-baghira.png
  67. BIN
      icons/cr16-app-baghira_blue.png
  68. BIN
      icons/cr16-app-baghira_grey.png
  69. BIN
      icons/cr16-app-baghira_white.png
  70. BIN
      icons/cr16-app-baghira_yellow.png
  71. BIN
      icons/cr22-action-bab_itunes.png
  72. BIN
      icons/cr22-action-bab_jaguar.png
  73. BIN
      icons/cr22-action-bab_milk.png
  74. BIN
      icons/cr22-action-bab_panther.png
  75. BIN
      icons/cr22-action-bab_tiger.png
  76. BIN
      icons/cr22-app-baghira.png
  77. BIN
      icons/cr22-app-baghira_blue.png
  78. BIN
      icons/cr22-app-baghira_grey.png
  79. BIN
      icons/cr22-app-baghira_white.png
  80. BIN
      icons/cr22-app-baghira_yellow.png
  81. BIN
      icons/cr32-app-baghira.png
  82. BIN
      icons/cr32-app-baghira_blue.png
  83. BIN
      icons/cr32-app-baghira_grey.png
  84. BIN
      icons/cr32-app-baghira_white.png
  85. BIN
      icons/cr32-app-baghira_yellow.png
  86. BIN
      icons/cr48-app-baghira.png
  87. BIN
      icons/cr48-app-baghira_blue.png
  88. BIN
      icons/cr48-app-baghira_grey.png
  89. BIN
      icons/cr48-app-baghira_white.png
  90. BIN
      icons/cr48-app-baghira_yellow.png
  91. BIN
      icons/cr64-app-baghira.png
  92. BIN
      icons/cr64-app-baghira_blue.png
  93. BIN
      icons/cr64-app-baghira_grey.png
  94. BIN
      icons/cr64-app-baghira_white.png
  95. BIN
      icons/cr64-app-baghira_yellow.png
  96. 7
    0
      icons/readme
  97. BIN
      icons/svgs.tar.bz2
  98. BIN
      imagebase/AboutBaghira
  99. BIN
      imagebase/brush-me
  100. 0
    0
      imagebase/brushed-gradient

+ 1
- 0
AUTHORS View File

@@ -0,0 +1 @@
1
+Thomas Lübking <thomas.luebking@web.de>

+ 280
- 0
COPYING View File

@@ -0,0 +1,280 @@
1
+		    GNU GENERAL PUBLIC LICENSE
2
+		       Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5
+               59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+			    Preamble
10
+
11
+  The licenses for most software are designed to take away your
12
+freedom to share and change it.  By contrast, the GNU General Public
13
+License is intended to guarantee your freedom to share and change free
14
+software--to make sure the software is free for all its users.  This
15
+General Public License applies to most of the Free Software
16
+Foundation's software and to any other program whose authors commit to
17
+using it.  (Some other Free Software Foundation software is covered by
18
+the GNU Library General Public License instead.)  You can apply it to
19
+your programs, too.
20
+
21
+  When we speak of free software, we are referring to freedom, not
22
+price.  Our General Public Licenses are designed to make sure that you
23
+have the freedom to distribute copies of free software (and charge for
24
+this service if you wish), that you receive source code or can get it
25
+if you want it, that you can change the software or use pieces of it
26
+in new free programs; and that you know you can do these things.
27
+
28
+  To protect your rights, we need to make restrictions that forbid
29
+anyone to deny you these rights or to ask you to surrender the rights.
30
+These restrictions translate to certain responsibilities for you if you
31
+distribute copies of the software, or if you modify it.
32
+
33
+  For example, if you distribute copies of such a program, whether
34
+gratis or for a fee, you must give the recipients all the rights that
35
+you have.  You must make sure that they, too, receive or can get the
36
+source code.  And you must show them these terms so they know their
37
+rights.
38
+
39
+  We protect your rights with two steps: (1) copyright the software, and
40
+(2) offer you this license which gives you legal permission to copy,
41
+distribute and/or modify the software.
42
+
43
+  Also, for each author's protection and ours, we want to make certain
44
+that everyone understands that there is no warranty for this free
45
+software.  If the software is modified by someone else and passed on, we
46
+want its recipients to know that what they have is not the original, so
47
+that any problems introduced by others will not reflect on the original
48
+authors' reputations.
49
+
50
+  Finally, any free program is threatened constantly by software
51
+patents.  We wish to avoid the danger that redistributors of a free
52
+program will individually obtain patent licenses, in effect making the
53
+program proprietary.  To prevent this, we have made it clear that any
54
+patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+  The precise terms and conditions for copying, distribution and
57
+modification follow.
58
+
59
+		    GNU GENERAL PUBLIC LICENSE
60
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+  0. This License applies to any program or other work which contains
63
+a notice placed by the copyright holder saying it may be distributed
64
+under the terms of this General Public License.  The "Program", below,
65
+refers to any such program or work, and a "work based on the Program"
66
+means either the Program or any derivative work under copyright law:
67
+that is to say, a work containing the Program or a portion of it,
68
+either verbatim or with modifications and/or translated into another
69
+language.  (Hereinafter, translation is included without limitation in
70
+the term "modification".)  Each licensee is addressed as "you".
71
+
72
+Activities other than copying, distribution and modification are not
73
+covered by this License; they are outside its scope.  The act of
74
+running the Program is not restricted, and the output from the Program
75
+is covered only if its contents constitute a work based on the
76
+Program (independent of having been made by running the Program).
77
+Whether that is true depends on what the Program does.
78
+
79
+  1. You may copy and distribute verbatim copies of the Program's
80
+source code as you receive it, in any medium, provided that you
81
+conspicuously and appropriately publish on each copy an appropriate
82
+copyright notice and disclaimer of warranty; keep intact all the
83
+notices that refer to this License and to the absence of any warranty;
84
+and give any other recipients of the Program a copy of this License
85
+along with the Program.
86
+
87
+You may charge a fee for the physical act of transferring a copy, and
88
+you may at your option offer warranty protection in exchange for a fee.
89
+
90
+  2. You may modify your copy or copies of the Program or any portion
91
+of it, thus forming a work based on the Program, and copy and
92
+distribute such modifications or work under the terms of Section 1
93
+above, provided that you also meet all of these conditions:
94
+
95
+    a) You must cause the modified files to carry prominent notices
96
+    stating that you changed the files and the date of any change.
97
+
98
+    b) You must cause any work that you distribute or publish, that in
99
+    whole or in part contains or is derived from the Program or any
100
+    part thereof, to be licensed as a whole at no charge to all third
101
+    parties under the terms of this License.
102
+
103
+    c) If the modified program normally reads commands interactively
104
+    when run, you must cause it, when started running for such
105
+    interactive use in the most ordinary way, to print or display an
106
+    announcement including an appropriate copyright notice and a
107
+    notice that there is no warranty (or else, saying that you provide
108
+    a warranty) and that users may redistribute the program under
109
+    these conditions, and telling the user how to view a copy of this
110
+    License.  (Exception: if the Program itself is interactive but
111
+    does not normally print such an announcement, your work based on
112
+    the Program is not required to print an announcement.)
113
+
114
+These requirements apply to the modified work as a whole.  If
115
+identifiable sections of that work are not derived from the Program,
116
+and can be reasonably considered independent and separate works in
117
+themselves, then this License, and its terms, do not apply to those
118
+sections when you distribute them as separate works.  But when you
119
+distribute the same sections as part of a whole which is a work based
120
+on the Program, the distribution of the whole must be on the terms of
121
+this License, whose permissions for other licensees extend to the
122
+entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+Thus, it is not the intent of this section to claim rights or contest
125
+your rights to work written entirely by you; rather, the intent is to
126
+exercise the right to control the distribution of derivative or
127
+collective works based on the Program.
128
+
129
+In addition, mere aggregation of another work not based on the Program
130
+with the Program (or with a work based on the Program) on a volume of
131
+a storage or distribution medium does not bring the other work under
132
+the scope of this License.
133
+
134
+  3. You may copy and distribute the Program (or a work based on it,
135
+under Section 2) in object code or executable form under the terms of
136
+Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+    a) Accompany it with the complete corresponding machine-readable
139
+    source code, which must be distributed under the terms of Sections
140
+    1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+    b) Accompany it with a written offer, valid for at least three
143
+    years, to give any third party, for a charge no more than your
144
+    cost of physically performing source distribution, a complete
145
+    machine-readable copy of the corresponding source code, to be
146
+    distributed under the terms of Sections 1 and 2 above on a medium
147
+    customarily used for software interchange; or,
148
+
149
+    c) Accompany it with the information you received as to the offer
150
+    to distribute corresponding source code.  (This alternative is
151
+    allowed only for noncommercial distribution and only if you
152
+    received the program in object code or executable form with such
153
+    an offer, in accord with Subsection b above.)
154
+
155
+The source code for a work means the preferred form of the work for
156
+making modifications to it.  For an executable work, complete source
157
+code means all the source code for all modules it contains, plus any
158
+associated interface definition files, plus the scripts used to
159
+control compilation and installation of the executable.  However, as a
160
+special exception, the source code distributed need not include
161
+anything that is normally distributed (in either source or binary
162
+form) with the major components (compiler, kernel, and so on) of the
163
+operating system on which the executable runs, unless that component
164
+itself accompanies the executable.
165
+
166
+If distribution of executable or object code is made by offering
167
+access to copy from a designated place, then offering equivalent
168
+access to copy the source code from the same place counts as
169
+distribution of the source code, even though third parties are not
170
+compelled to copy the source along with the object code.
171
+
172
+  4. You may not copy, modify, sublicense, or distribute the Program
173
+except as expressly provided under this License.  Any attempt
174
+otherwise to copy, modify, sublicense or distribute the Program is
175
+void, and will automatically terminate your rights under this License.
176
+However, parties who have received copies, or rights, from you under
177
+this License will not have their licenses terminated so long as such
178
+parties remain in full compliance.
179
+
180
+  5. You are not required to accept this License, since you have not
181
+signed it.  However, nothing else grants you permission to modify or
182
+distribute the Program or its derivative works.  These actions are
183
+prohibited by law if you do not accept this License.  Therefore, by
184
+modifying or distributing the Program (or any work based on the
185
+Program), you indicate your acceptance of this License to do so, and
186
+all its terms and conditions for copying, distributing or modifying
187
+the Program or works based on it.
188
+
189
+  6. Each time you redistribute the Program (or any work based on the
190
+Program), the recipient automatically receives a license from the
191
+original licensor to copy, distribute or modify the Program subject to
192
+these terms and conditions.  You may not impose any further
193
+restrictions on the recipients' exercise of the rights granted herein.
194
+You are not responsible for enforcing compliance by third parties to
195
+this License.
196
+
197
+  7. If, as a consequence of a court judgment or allegation of patent
198
+infringement or for any other reason (not limited to patent issues),
199
+conditions are imposed on you (whether by court order, agreement or
200
+otherwise) that contradict the conditions of this License, they do not
201
+excuse you from the conditions of this License.  If you cannot
202
+distribute so as to satisfy simultaneously your obligations under this
203
+License and any other pertinent obligations, then as a consequence you
204
+may not distribute the Program at all.  For example, if a patent
205
+license would not permit royalty-free redistribution of the Program by
206
+all those who receive copies directly or indirectly through you, then
207
+the only way you could satisfy both it and this License would be to
208
+refrain entirely from distribution of the Program.
209
+
210
+If any portion of this section is held invalid or unenforceable under
211
+any particular circumstance, the balance of the section is intended to
212
+apply and the section as a whole is intended to apply in other
213
+circumstances.
214
+
215
+It is not the purpose of this section to induce you to infringe any
216
+patents or other property right claims or to contest validity of any
217
+such claims; this section has the sole purpose of protecting the
218
+integrity of the free software distribution system, which is
219
+implemented by public license practices.  Many people have made
220
+generous contributions to the wide range of software distributed
221
+through that system in reliance on consistent application of that
222
+system; it is up to the author/donor to decide if he or she is willing
223
+to distribute software through any other system and a licensee cannot
224
+impose that choice.
225
+
226
+This section is intended to make thoroughly clear what is believed to
227
+be a consequence of the rest of this License.
228
+
229
+  8. If the distribution and/or use of the Program is restricted in
230
+certain countries either by patents or by copyrighted interfaces, the
231
+original copyright holder who places the Program under this License
232
+may add an explicit geographical distribution limitation excluding
233
+those countries, so that distribution is permitted only in or among
234
+countries not thus excluded.  In such case, this License incorporates
235
+the limitation as if written in the body of this License.
236
+
237
+  9. The Free Software Foundation may publish revised and/or new versions
238
+of the General Public License from time to time.  Such new versions will
239
+be similar in spirit to the present version, but may differ in detail to
240
+address new problems or concerns.
241
+
242
+Each version is given a distinguishing version number.  If the Program
243
+specifies a version number of this License which applies to it and "any
244
+later version", you have the option of following the terms and conditions
245
+either of that version or of any later version published by the Free
246
+Software Foundation.  If the Program does not specify a version number of
247
+this License, you may choose any version ever published by the Free Software
248
+Foundation.
249
+
250
+  10. If you wish to incorporate parts of the Program into other free
251
+programs whose distribution conditions are different, write to the author
252
+to ask for permission.  For software which is copyrighted by the Free
253
+Software Foundation, write to the Free Software Foundation; we sometimes
254
+make exceptions for this.  Our decision will be guided by the two goals
255
+of preserving the free status of all derivatives of our free software and
256
+of promoting the sharing and reuse of software generally.
257
+
258
+			    NO WARRANTY
259
+
260
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
262
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
266
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
267
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+REPAIR OR CORRECTION.
269
+
270
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+POSSIBILITY OF SUCH DAMAGES.
279
+
280
+		     END OF TERMS AND CONDITIONS

+ 1
- 0
ChangeLog View File

@@ -0,0 +1 @@
1
+see readme

+ 167
- 0
INSTALL View File

@@ -0,0 +1,167 @@
1
+Basic Installation
2
+==================
3
+
4
+   These are generic installation instructions.
5
+
6
+   The `configure' shell script attempts to guess correct values for
7
+various system-dependent variables used during compilation.  It uses
8
+those values to create a `Makefile' in each directory of the package.
9
+It may also create one or more `.h' files containing system-dependent
10
+definitions.  Finally, it creates a shell script `config.status' that
11
+you can run in the future to recreate the current configuration, a file
12
+`config.cache' that saves the results of its tests to speed up
13
+reconfiguring, and a file `config.log' containing compiler output
14
+(useful mainly for debugging `configure').
15
+
16
+   If you need to do unusual things to compile the package, please try
17
+to figure out how `configure' could check whether to do them, and mail
18
+diffs or instructions to the address given in the `README' so they can
19
+be considered for the next release.  If at some point `config.cache'
20
+contains results you don't want to keep, you may remove or edit it.
21
+
22
+   The file `configure.in' is used to create `configure' by a program
23
+called `autoconf'.  You only need `configure.in' if you want to change
24
+it or regenerate `configure' using a newer version of `autoconf'.
25
+
26
+The simplest way to compile this package is:
27
+
28
+  1. `cd' to the directory containing the package's source code and type
29
+     `./configure' to configure the package for your system.  If you're
30
+     using `csh' on an old version of System V, you might need to type
31
+     `sh ./configure' instead to prevent `csh' from trying to execute
32
+     `configure' itself.
33
+
34
+     Running `configure' takes a while.  While running, it prints some
35
+     messages telling which features it is checking for.
36
+
37
+  2. Type `make' to compile the package.
38
+
39
+  3. Type `make install' to install the programs and any data files and
40
+     documentation.
41
+
42
+  4. You can remove the program binaries and object files from the
43
+     source code directory by typing `make clean'.  
44
+
45
+Compilers and Options
46
+=====================
47
+
48
+   Some systems require unusual options for compilation or linking that
49
+the `configure' script does not know about.  You can give `configure'
50
+initial values for variables by setting them in the environment.  Using
51
+a Bourne-compatible shell, you can do that on the command line like
52
+this:
53
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
54
+
55
+Or on systems that have the `env' program, you can do it like this:
56
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
57
+
58
+Compiling For Multiple Architectures
59
+====================================
60
+
61
+   You can compile the package for more than one kind of computer at the
62
+same time, by placing the object files for each architecture in their
63
+own directory.  To do this, you must use a version of `make' that
64
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
65
+directory where you want the object files and executables to go and run
66
+the `configure' script.  `configure' automatically checks for the
67
+source code in the directory that `configure' is in and in `..'.
68
+
69
+   If you have to use a `make' that does not supports the `VPATH'
70
+variable, you have to compile the package for one architecture at a time
71
+in the source code directory.  After you have installed the package for
72
+one architecture, use `make distclean' before reconfiguring for another
73
+architecture.
74
+
75
+Installation Names
76
+==================
77
+
78
+   By default, `make install' will install the package's files in
79
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
80
+installation prefix other than `/usr/local' by giving `configure' the
81
+option `--prefix=PATH'.
82
+
83
+   You can specify separate installation prefixes for
84
+architecture-specific files and architecture-independent files.  If you
85
+give `configure' the option `--exec-prefix=PATH', the package will use
86
+PATH as the prefix for installing programs and libraries.
87
+Documentation and other data files will still use the regular prefix.
88
+
89
+   If the package supports it, you can cause programs to be installed
90
+with an extra prefix or suffix on their names by giving `configure' the
91
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
92
+
93
+Optional Features
94
+=================
95
+
96
+   Some packages pay attention to `--enable-FEATURE' options to
97
+`configure', where FEATURE indicates an optional part of the package.
98
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
99
+is something like `gnu-as' or `x' (for the X Window System).  The
100
+`README' should mention any `--enable-' and `--with-' options that the
101
+package recognizes.
102
+
103
+   For packages that use the X Window System, `configure' can usually
104
+find the X include and library files automatically, but if it doesn't,
105
+you can use the `configure' options `--x-includes=DIR' and
106
+`--x-libraries=DIR' to specify their locations.
107
+
108
+Specifying the System Type
109
+==========================
110
+
111
+   There may be some features `configure' can not figure out
112
+automatically, but needs to determine by the type of host the package
113
+will run on.  Usually `configure' can figure that out, but if it prints
114
+a message saying it can not guess the host type, give it the
115
+`--host=TYPE' option.  TYPE can either be a short name for the system
116
+type, such as `sun4', or a canonical name with three fields:
117
+     CPU-COMPANY-SYSTEM
118
+
119
+See the file `config.sub' for the possible values of each field.  If
120
+`config.sub' isn't included in this package, then this package doesn't
121
+need to know the host type.
122
+
123
+   If you are building compiler tools for cross-compiling, you can also
124
+use the `--target=TYPE' option to select the type of system they will
125
+produce code for and the `--build=TYPE' option to select the type of
126
+system on which you are compiling the package.
127
+
128
+Sharing Defaults
129
+================
130
+
131
+   If you want to set default values for `configure' scripts to share,
132
+you can create a site shell script called `config.site' that gives
133
+default values for variables like `CC', `cache_file', and `prefix'.
134
+`configure' looks for `PREFIX/share/config.site' if it exists, then
135
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
136
+`CONFIG_SITE' environment variable to the location of the site script.
137
+A warning: not all `configure' scripts look for a site script.
138
+
139
+Operation Controls
140
+==================
141
+
142
+   `configure' recognizes the following options to control how it
143
+operates.
144
+
145
+`--cache-file=FILE'
146
+     Use and save the results of the tests in FILE instead of
147
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
148
+     debugging `configure'.
149
+
150
+`--help'
151
+     Print a summary of the options to `configure', and exit.
152
+
153
+`--quiet'
154
+`--silent'
155
+`-q'
156
+     Do not print messages saying which checks are being made.
157
+
158
+`--srcdir=DIR'
159
+     Look for the package's source code in directory DIR.  Usually
160
+     `configure' can determine that directory automatically.
161
+
162
+`--version'
163
+     Print the version of Autoconf used to generate the `configure'
164
+     script, and exit.
165
+
166
+`configure' also accepts some other, not widely useful, options.
167
+

+ 31
- 0
Makefile.am View File

@@ -0,0 +1,31 @@
1
+
2
+if HAVE_3_4
3
+KICKERMENUDIR=kickermenu
4
+SIDEBARDIR=sidebar
5
+else
6
+KICKERMENUDIR=kickermenu-3.3
7
+SIDEBARDIR=
8
+endif
9
+
10
+SUBDIRS = bab colorscheme config deco icons sessionapplet starter style $(KICKERMENUDIR) $(SIDEBARDIR)
11
+
12
+$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
13
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
14
+
15
+$(top_srcdir)/subdirs:
16
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
17
+
18
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
19
+	@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
20
+
21
+MAINTAINERCLEANFILES = configure.in acinclude.m4 configure.files 
22
+
23
+package-messages:
24
+	$(MAKE) -f admin/Makefile.common package-messages
25
+	$(MAKE) -C po merge
26
+
27
+EXTRA_DIST = admin COPYING configure.in.in
28
+
29
+dist-hook:
30
+	cd $(top_distdir) && perl admin/am_edit -padmin
31
+	cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs

+ 1
- 0
NEWS View File

@@ -0,0 +1 @@
1
+see README 

+ 707
- 0
README View File

@@ -0,0 +1,707 @@
1
+Baghira
2
+=======
3
+For all you Apple Junkies out there... (like me) ;-)
4
+Bases upon mosfet-liquid0.9.6pre4... the last heir of mosfet.
5
+Suggestions welcomed.
6
+
7
+Installation
8
+-----------------
9
+tar -xjf baghira.tar.bz2
10
+cd baghira/baghira
11
+either try ./install.sh or
12
+./configure --prefix=`kde-config --prefix` --disable-debug [--enable-final]
13
+(!!!BEGINNERS: the direction of the accents is _important_ (top-left to bottom-right), the rectangular brackets mean "this is optional" - don't type them!!!)
14
+make
15
+and finally as root:
16
+make install
17
+
18
+Changelog
19
+----------------
20
+*** IF YOU HAVE A 64 BIT MACHINE, UPDATE TO QT 3.3.3 ***
21
+will fix the horizontal slider problem, rotating pixmaps in general
22
+
23
+0.8
24
+----
25
+after a long time, this is a snapshot of the current cvs version and probably the last baghira for Qt3 ever.
26
+there won't be Baghira for Qt4, don't ask.
27
+- several bugfixes, minor changes, whatever.
28
+
29
+0.7a
30
+----
31
+- [style] Reincluded workaround for kpdf < 3.4.3
32
+- [style] added Milk style
33
+- [style] some code enhancements/cleanups
34
+- [bab] removed "start QString name int deco" dcop interface (useless anyway)
35
+- [bab] added "start QString name QString settings" dcop interface to allow starting a program with the rules set for another one (or a general rule like "Milk" ;)
36
+- [menubar applet] size fix (using an own settings value ;)
37
+
38
+0.7
39
+----
40
+Many? - see cvs log...
41
+- New Konqueror Sidebar (Hardware access + Drag 'n Drop link list)
42
+- New search oriented Application Launcher
43
+- More speed and less bugs in the style and the deco
44
+- New look on the brushed metal design
45
+- New Tiger design
46
+- New management to the menubar applet (in matters of size)
47
+.... and much more i forgot over the time ;)
48
+
49
+0.6e
50
+----
51
+Maintainance release (mainly)
52
+- Fixed compile error on kde3.3
53
+- Made resize grip optionally (off by default, disable if you get querky problems with the deco)
54
+- starter applet will auto correct size
55
+- added new widget color "Smoke" by Anton
56
+
57
+0.6d
58
+----
59
+==========================
60
+BECAUSE OF COLOR PREFIXES:
61
+If you think you've got an interesting colorset, that should be part of further releases, please drop me a mail.
62
+-----
63
+widget colors must include:
64
+- a name ("my colorset")
65
+- {R,G,B}, where R,G,B must be [0-255],[0-255],[0-255]
66
+-----
67
+deco colors must include:
68
+- a name ("my colorset")
69
+- {{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B},{R,G,B}} in order:
70
+inactiveColor, closeColor, minColor, maxColor, menuColor, helpColor, stickyColor, aboveColor, behindColor, shadeColor
71
+(10 values)
72
+-----
73
+inclusion depends on my arbitrariness ;)
74
+==============================
75
+* (style) update: slightly changed the appereance of the scrollbar sliders (on DementedPixel note)
76
+* (style) update: appereance of groupboxes w/o title (improved the code resulting in more speed as well)
77
+* (config) feature: added color presets for the widget colors
78
+* (config) update: reorganized appereance a bit - NO changes on the config protocol though
79
+* (deco) feature: added a resize handle drag - this will probaby be optional on future releases, but currently im interested in FEEDBACK
80
+* (deco) update: corrected the button spacing (on DementedPixel note)
81
+* (deco) feature: added color presets for the buttons
82
+* (deco) feature: added option to remove captions as i saw some ppl interested on this.
83
+however in general i do not suggest this, as apps often use the title to indicate states (like e.g. unsaved)
84
+* (bab) bugfix: misbehaviour on dcop bab default start <appname> x command (start <app> x y was ok)
85
+* (starter) bugfix: compile error on non final compilations
86
+* (menuapplet) bugfix: compile error because of gcc/kde_export misbehaviour (3.3 problem?)
87
+  baghira will compile a 3.3 or 3.4 version depending on the current running system
88
+  (binary packagers should note this)
89
+* (menuapplet) update: improved Indicator title calculation
90
+* (menuapplet) update: ported modal window handling (0.6b) to 3.4 version
91
+* (icons) update: dfsw compliant license
92
+
93
+0.6c
94
+----
95
+* (overall) feature: if you compile yourself, you may try the ./install.sh script, being a GUI wizzard leading you through the installation (especially if you're unexperienced - everyone else: this was just for some lazy hour and playing around with kdialog, i'd personally never click through dialogs instead of ./configure; make; make install ;)
96
+* (overall) bugfix: included 0.6b fixes
97
+* (style) feature: because i was in some kind of nostalgic mood, i added jaguar (liquidlike) buttons. also as jaguar used darker stipples if and only if you use the bab dcop starter or predefinitions, using jaguar will lead to darker stipples (+4 to your default)
98
+* (style) note: this leads to new (consistent) settings: "0" is jaguar in style and deco, so calling
99
+dcop bab default start kcalc 0 0
100
+will bring you a jaguar kcalc
101
+dcop bab default start kcalc 1 2
102
+will instead bring you panther kcakc with a b/m deco
103
+THIS HAS ALSO IMPACT ON THE PREDEFINITIONS!
104
+You can either update them by hand or ONCE(!) call ./updatePredefs from the baghira topsrc dir
105
+* (style) update: better handling for icons on buttons
106
+* (style) update: improved editlines (thanks to Gav Wood for suggestion)
107
+* (config) bugfix: writing valid value for visible toolbuttons
108
+* (config) update: added option to replace kickers menu applet
109
+* (deco) update: removed left/right side lines if not using comicframe (looked as if the deco was smaller than the window)
110
+* (deco) update: corrected appereance of the left/right b/m resize handles
111
+* (kickermenu) bugfix: kde3.4 support - i don't know if it will still work correctly with kde3.3
112
+* (starter) new: i was sucked by kickers startbutton displaying the tooltip on hover, so i wrote a kickerapplet as startmenubutton replacement. you can use any png as button.
113
+name them bStarter.png, bStarter_hover.png, bStarter_down.png, and settle them in 22x22/action - defaults are included
114
+as i don't have such nice access on the startmenu as the button has, its not possible to close the menu by clicking again _AFFTER_ you left the button once, also the default KDE binding to the startmenu (alt+f1, windows key) will display the menu in the screen center instead below the (nonexistent) button
115
+
116
+0.6b
117
+----
118
+* (style) feature: animated pushbuttons
119
+* (style) bugfix: konqueror crashes on repolishes
120
+* (style) update: improved the look of (colored) iTunes (rectangular) buttons
121
+* (configuration) feature: look predefinition for each application (deco needs kde 3.4b1 and up to work)
122
+* (configuration) bugfix: skipped various unnecessary repolishes
123
+* (bab) update: rewrote the way design switching stuff according to kde 3.4, removed all imperfect workaround stuff -> works much better, but needs kde 3.4 to work properly
124
+* (kickermenu) update: using XClassHint to display the appname (better than relying on the netwm info)
125
+* (kickermenu) update: using app menu instead of desktop menu for modal dialogs
126
+* (kickermenu) note: kicker from kde 3.4 has a special menupanel that autoloads the kicker menuapplet to display the menu. you can remove this menu and readd the baghiramenu, but you'll have to do that after every kde start. -> open [kdeprefix  - e.g. usr]/share/apps/kicker/applets/menuapplet.desktop, change "X-KDE-Library=menu_panelapplet" to "X-KDE-Library=b_menu_panelapplet" or (as root) run the following script (simply using sed to update the file):
127
+--------------------start---------------
128
+#!/bin/sh
129
+sed s/"X-KDE-Library=menu_panelapplet"/"X-KDE-Library=b_menu_panelapplet"/g $(kde-config --prefix)/share/apps/kicker/applets/menuapplet.desktop > _baghirabuffer_
130
+rm -f $(kde-config --prefix)/share/apps/kicker/applets/menuapplet.desktop
131
+mv _baghirabuffer_ $(kde-config --prefix)/share/apps/kicker/applets/menuapplet.desktop
132
+---------------------end----------------
133
+
134
+0.6a
135
+----
136
+* (style) serious bugfix: drawing groupbox frames on non groupboxes
137
+* (style) bugfix: popup menu painting
138
+* (style) bugfix: handles ksplash and kontact splash problem
139
+* (configuration) bugfix: resetting settings
140
+* (configuration) feature: save/restore settings to/from file
141
+* (icons) update: copyright notice
142
+* (general) bugfix: big endian (ppc/sparc) architecture support
143
+* (general) bugfix: openBSD support (thanks to Damir Naden)
144
+
145
+
146
+0.6
147
+---
148
+* stripped all fake translucency/shadows code, honoring the fact x.org 6.8 now supports true alpha handling
149
+* fixed OOo error (stupid one, btw. - only had to see it :)
150
+* tricked OOo to get background colored menubar/menus and keep nice button colors
151
+* better support for OOo scrollbars (allways displayd as active, as OOo does not support the MousOver effect)
152
+* better animation code - cpu hunger of some apps should be gone
153
+* completely new settings handling to avoid conflicts of concurring file accesses - unfortunately you'll have to recreate all your settings :(
154
+
155
+
156
+0.5f
157
+----
158
+bugfix release only
159
+bab started apps shouldn't hang
160
+konqueror shouldn't crash, NOTICE:
161
+the error occured, when updating the palette (applying a new background) to the toolbuttons (seems to be some very specific ones),
162
+please don't ask me why this worked before - i don't know (but i think it's related to the redesign of the eventhandler which now responds much faster)
163
+so the only solution i found was to disable the palette update for the toolbuttons, therefore you should display the inactive toolbuttons for b/m (e.g. by applying "brushed metal" or "both" in the last bab setting)
164
+
165
+0.5e
166
+----
167
+style:
168
+- fixed the "kde toolbar widget" thing (location bar/juk slider etc.)
169
+- worked around brushed metal kicker translucency support
170
+- changed the appereance of the kicker executor (like konqueror combobox)
171
+- worked around konqueror statusbar offset
172
+- flattened statusbars in genereal
173
+bab:
174
+- most important change:
175
+  bab supports a new dcop command to start applications with individual style settings, so
176
+  dcop bab babInterface start konqueror 1 2
177
+  will open konqueror b/m
178
+  the first argument is the command you want to execute.
179
+  if you want to use switches, use "" to combine them, i.e.
180
+  dcop bab babInterface start "konqueror --profile webbrowsing --caption Safari" 1 2
181
+  will start konqueror, b/m mode, show the about screen and renames the title to "Safari"
182
+  unfortunately the command may not contain a '"' or blanks, so if your app is named "kde application" you will not be able to pass it to bab, maybe i'll implement support for escape chars (\) if there's demand in the future.
183
+  the first digit addresses the style (so '0' means aqua, '1' means b/m) the second one the deco (predefined deco 0/1/2)
184
+  in addition there's a second command
185
+  dcop bab babInterface start xterm 0
186
+  only differing by the fact it only changes the deco design.
187
+  USE THIS ONE FOR NONE KDE APPS (i.e. everything that doesn't get styled by baghira) as the other function won't be able to reset the settings for style and deco.
188
+  The good thing about this:
189
+  1. You don't have to run complex scripts (maybe just check if dcop is running), bab does all for you
190
+  2. bab does not reset the settings until the app read them - so you will get style and deco you wanted
191
+  The "bad" thing:
192
+  Though much better than the solution before, this is not process relative, i.e.:
193
+  - start an app with long startup time (e.g. juk)
194
+  - start another app with short startup time directly after starting juk
195
+  the startups will interfere (i.e. the fast app will change the settings and the slow app will get uncertain settings)
196
+- just for cute... bab now "shapes" the upper corners of your screen (so any kickerbar there will be rounded as well:), but don't ask me about the perverse way i found to do so... ;)
197
+
198
+0.5d
199
+----
200
+- completely remodeled the eventfilter -> faster! (reload the library)
201
+- added some colored throbbers and an xcf so you can create your own colors
202
+- sorting headers appear colored
203
+- put the menuapplet into its own library, so it won't conflict with the kde one and is installed by default
204
+- corrected kwin (stippled) frame to align the style
205
+- corercted brushed toolbars (disalignment)
206
+
207
+0.5c
208
+----
209
+Added a patched version of the kicker menu applet, main difference:
210
+shows current window name left of the menu (you can also click this indicator to get a windowlist, as the menu takes space that's usually used for the taskbar)
211
+*** THIS MENU APPLET WOULD REPLACE THE ORIGINAL ONE, THEREFORE IT'S NOT AUTOINSTALLED ***
212
+to install it with baghira, edit the "subdirs" file and remove the "#" in front of "kickermenu" _before_ (!!!) ./configure
213
+
214
+*** KAnimWidget (Throbbers) now usefully support translucent pixmaps, so the throbber is now translucent (and i removed the ugly frame :) ***
215
+anyway, i don't know since which version this holds, therefore maybe you want to keep the old throbber to prevent uncleaned repaints
216
+(if someone wants to create the nice iTunes throbber - hey thanks, i don't have iTunes)
217
+
218
+Mainly kde3.3 alignments
219
+- fixed juk toolbar stuff (and any other)
220
+- fixed new kwin buttons
221
+- toplevelmenubars are not set to stipples anymore, honoring the fact, that the kicker menuapplet recolors them itself to kicker background
222
+- arrows will are dark grey rather than black - makes them appear more smooth
223
+
224
+- remodelled the include structure
225
+- fixed repolishment errors
226
+- fixed taskbar
227
+- deco can be set to have a frame in maximized mode as well
228
+- toolbuttons are not connected, if inactive toolbuttons are not shown
229
+
230
+0.5b
231
+----
232
+Style:
233
+- code improvements: should give some overall speed, closed a slight memory leak (lists of pointers in b/m mode)
234
+- rewrote the groupbox code -> 1. faster, 2. aligned stipples
235
+- combos on toolbars (konqueror :) look like the safari combo
236
+- changed the appereance of inactive sliders (no bubbles)
237
+- did anyone notice, i changed the stiopples again (figured out that apple uses bright-mid-dark-mid, while mosfet's stipple were dark-dark-bright-bright)
238
+  imho this leads to better readable text
239
+- corrected alignment of left side tile in b/m mode
240
+- handled amaroK in b/m mode
241
+
242
+Deco:
243
+- added option to auto add spycing between buttons (making use of the kde spacing leads to unhappy effects, i the window misses a button (e.g. minimize in baghira help))
244
+- corrected alignment of left side tile in b/m mode
245
+
246
+Bab:
247
+- fixed some saving issues
248
+
249
+Goodies:
250
+The stuff in this folder is not autoinstalled.
251
+Look into it and use whatever you want, however you want (except claiming cr and suing me for nonliterally copying ;)
252
+- added new stuff: bootsplash, konqui tile, kdm picture, lilo-bootscreen
253
+*** read the readme! ***
254
+
255
+0.5a
256
+----
257
+- BUGFIX (style): konqueror address label
258
+- BUGFIX (style): tab  hovering for b/m
259
+- WORKAROUND (style) kiconedit crashes on startup (notice that this error lies in kiconedit and the workaround will be removed as soon as kiconedit is fixed)
260
+- (style) corrected size of the add/remove tab buttons (prevetning from overlaying the tabs)
261
+- (deco): slightly modified coloring function (light dots on button top)
262
+
263
+
264
+0.5
265
+---
266
+STYLE
267
+=====
268
+- well, light gradient, right ;)
269
+- highlight color appears as gradient
270
+- TOPLEVEL (mac like) MENUABRS (read this):
271
+  The light gradient causes (of course) some trouble on the top level menubars, as the gradient is arranged to the corresponding application window - not to kicker.
272
+  As there was interference with the stipples, when using e.g. toplevel brushed metal menus embedded into aqua style kicker, i decided to force toplevel menubars appearing in aqua mode (stippled) assuming you're using an aqua like kicker. this will cause problems if you're using b/m kicker. in this case, i suggest to avoid toplevel menus to get a consistent look (while using auqa mode kicker is preferred)
273
+
274
+DECO
275
+====
276
+- new brushed style/removed flat brushed
277
+- BUGFIX: bottombar draws void
278
+- some graphical adjustments, corresponding to the brushed metal stuff
279
+- buttons masked on brushed metal design
280
+
281
+ICONS
282
+=====
283
+- new license, read "readme.copyright"
284
+
285
+
286
+0.4d
287
+----
288
+- several bugfixes, notable:
289
+  1. kicker children appear brushed metaled (if wished), thanks to A. Quincey
290
+  2. that bookmark button thing...
291
+     please notice, that this could not really be fixed (the kbookmarkbar somehow accesses the toolbar iterator while i'm using it to check the toolbar layout - what confuses both of us) but i excluded the bookmarkbar by it's name (that could easily differ in other kde versions) and assume it's structure (bunch of combined buttons - no breaks / spacers)
292
+  3. Corrected listviewheader hovering behaviour (wasn't that hard, after all...)
293
+- highlights of this version (gee... what a shameless self promotion :)
294
+  1. configurable deco button colors (added support for kde 3.3 buttons, well - hopefully, as i couldn't test yet)
295
+  2. tabs hover on mouseover
296
+  3. (round) iTunes like rectangular buttons
297
+
298
+0.4c
299
+----
300
+- (hopefully) fixed compiler stuff - code cleanup: later
301
+- redesigned the dialogs for the windeco 1024x768 compatible now (allmost 800x600 :)
302
+- fixed the toolbutton stuff
303
+- removed any listviewheader correction as this caused more problems that it could ever solve (if you worry about listviews, having too short headers and therefore paint void areas - complain to the appropriate author)
304
+
305
+0.4b
306
+-----
307
+code should be more iso-cpp compatible (especially the preprocessor stuff (#include/#define))
308
+it compiles nice on gcc-3.4.1, i have no idea about gcc-3.4.0
309
+
310
+STYLE
311
+=====
312
+- (initial support) of conjuncted toolbuttons (use smooth tool for best effect)
313
+  restrictions:
314
+  o only works with kde toolbars (not on toolbars in plain qt applications, e.g. qt-designer)
315
+  o only works when the kde toolbar uses kde toolbarbuttons (rather than qt toolbuttons) - most kde applications do, well - some do not (you'll see)
316
+  
317
+DECO
318
+====
319
+- includes version that was meant for 0.4a (see changelog for this version)
320
+- addidionally you can choose individual decos (_not_ buttons) for active and inactive windows
321
+
322
+
323
+0.4a
324
+-----
325
+fixed the and cleant up the makefiles - maybe you've got some useless stuff (menuentries, icons) in your system due to old releases
326
+call ./cleanMySystem /<prefix> from the baghira topdir if you wish to delete them (if you're paraniod, you can use this script as help for deleting them by hand as well)
327
+where <prefix> is the prefix you gave when configuring baghira
328
+
329
+STYLE
330
+=====
331
+- fixed some graphical errors (toolbar stuff etc)
332
+- it's now possible to tint the brushed metal style (autoapplied to the the deco as well)
333
+- tricked back the konqueror statusbar (gee.., we don't like to be recolored, right?)
334
+- found a (hopefully) better solution for the listviewheaders (setting only too small ones to be expanded)
335
+
336
+DECO
337
+====
338
+- fixed (and improved :) frame painting
339
+- new deco "glossy" using the aquarius coloring function
340
+
341
+CONFIG
342
+======
343
+- added color picker for the aquarius function
344
+  *notice* this is only a _color picker_
345
+  to not mess up with your color scheme arrangement, it will not touch the current color settings
346
+
347
+0.4 (finally :)
348
+----------------
349
+YOU WILL NEED KDE 3.2 TO SUCCESSFULLY COMPILE THIS PACKAGE !
350
+Though i applied all kindly provided gcc-3.4 patches, i yet did not install this compiler, so i don't guarantee it will work, patched versions of gcc-3.3 (gcc-3.3-x) may also fail
351
+
352
+STYLE
353
+=====
354
+- new coloring function "Aquarius" - replacing the "icy" style. 
355
+  as the two functions are incompatible on pixmap layer, there's no way back - sorry
356
+- ended the stipple experiment
357
+- fixed some stuff (missing pixel on tabs, tabclosebutton position, ... whatever (more stuff i forgot - test if your main issue is fixed and complain if not :P ))
358
+- improved scrollbar animation code, fixed the juk problem as side effect. the deactivation is yet not functional (forgot to implement) expect for 0.4a
359
+- improved the popuptranslucency for menubars - as a sideefeect, the dynamic offscreen buffer (to prevent artefacts) now works on toplevel menus (macstyle menus)
360
+
361
+DECO
362
+====
363
+- now shipped with package :P
364
+- better 3D effect for the title (dark/bright offset like Apple does, to provide distinction from any background)
365
+- comic frame in titleblend color (right, resp. bottom color)
366
+- complete change of big bottom bar - change to 6px thick bar to only provide shaped framing
367
+- fixed several issues with the frame size (eg. width on maximized windows)
368
+
369
+BAB
370
+===
371
+- bab now also provides dcop acces to the windeco style
372
+
373
+CONFIG DIALOG
374
+=============
375
+- completely new, though tested, some settings could have unexpected results (i couldn't really test everything), please notice if you find something (besides deactivation of scrollbar animation - see above)
376
+- attaches to the style dialog
377
+- the old dialog remains in system unless you remove it by hand (look for "kcm_kcmbaghira.la", "kcm_kcmbaghira.so" in $(PREFIX)/lib/kde3/ and "kcmbaghira.desktop" in $(PREFIX)/share/applnk/Settings/LookNFeel)
378
+- test the about dialog =)
379
+- click help
380
+- more intuitive interface with a later release (setting dependend deactivation of widgets, etc.)
381
+
382
+COLORSCHEMES
383
+============
384
+Christian Lehmann provided two new Colorschemes for the new function, AquaBlue and AquaGraphite - they're auto installed
385
+as starting point, you could try rgb = 84,140,242 for the button - avoid very low or very high saturated color (result is uncolored/flat colored)
386
+
387
+ICONS
388
+=====
389
+Due to massive request (protest?) the icons for bab and the black and blue paw are installed to your system... NO COMPLAINTS ABOUT THAT, PLEASE...
390
+The throbber is _not_ installed (sorry, but this would be much too invasive) - if you want it, copy it by hand
391
+
392
+SCRIPTS
393
+=======
394
+- added a script terminal to roughly show bab/dcop/windeco functionality (the script uses sleep - if it does not work on your system, use kstart similar to the other sripts and remove the sleep call)
395
+- scripts are not installed, as they're just examples
396
+
397
+FINAL WORDS
398
+===========
399
+haha...! i even had some letters left ;)
400
+
401
+-----------------------------------------------------------------------------------
402
+===================================================================================
403
+-----------------------------------------------------------------------------------
404
+
405
+0.3s
406
+- tweaked several graphics
407
+  o i was annoyed by the raised panels in knetscan, so i forced panels to appear sunken, similar to the editframes
408
+  o changed appereance of the toolbarhandlers (the old where too loud)
409
+  o fixed bug on splitters (well, somehow - obviously noone cares about the direction flag)
410
+  o fixed "bug" that lead to black frames under combos in some apps (e.g. amaroK)
411
+- bugfixed the setting stuff (misdisplayd groupboxes, ability to unset shadows under popups...)
412
+- Tab vs. Chooser is now optional
413
+  o the default setting is somewhat clever, i.e. if the toplevel widget is a dialog, tabs appear as choosers, as oldstyle tabs elsewise
414
+    -> result: apps like konqueror, kdevelop, quanta, konsole... will show tabs, dialogs will show choosers
415
+  o you can define the tab behaviour for aqua and brushed metal individually in the bab menu
416
+- fixed menu animation stuff
417
+- fixed bookmark menu behaviour (so could have told me...)
418
+- fixed toolbutton repolishment
419
+- "--enable-final" should work again
420
+- bab:
421
+  o added a dropdownmenu (rightclick), currently mainly to allow you to set a default style (so you don't have to care about the setting when shutting down kde)
422
+- lightweightened the stipples (more aqua like) and improved alignment (!you do not need to set the align stipples checkbox - it's useless!)
423
+- new icons, created by timur ((c) 2004 TKdesign-studio.com. All rights reserved.)
424
+
425
+- ppc users: i added an endian definition to baghira.h - try to set it to big endian (but i don't know if it'll help)
426
+
427
+0.3r
428
+- scrollbars:
429
+  o no useless sliders are drawn
430
+  o code should be faster now
431
+- changed the tabbars to look like apples chooser widgets (button tabs)
432
+  this is a bit hackish, as qt doesn't know choosers
433
+  i don't knwow if i can easily make this optional, so i'll probably rely on reactions...
434
+- went through the polishment code, uhmmm... that was really necessary
435
+- option to brush me...
436
+
437
+0.3q
438
+- new arrows on scrollbars + combos (thanks to Narcis Tesa for providing the pix)
439
+- added option to fade in popup menus (works with translucency)
440
+- Tabbar Bases will follow tabs colors :)
441
+
442
+0.3p
443
+- redesigned groupboxes (twice as fast :)
444
+- corrected wrongly shadowed widgets (flat groupboxes)
445
+- redesigned scrollbars
446
+
447
+0.3o
448
+- IMPROVED MEMORY MANAGEMENT - menus won't eat your memory anymore
449
+- fixed bugs that may have caused crashes on some systems
450
+- thanks to "mbllos" for some code optimization and a bugfix in the button coloring function
451
+- slight changes to the toolbuttons (especially the round version)
452
+- pressed sliders aren't animated, better slider hover behaviour at all, "hand" cursor on sliders
453
+- included throbber for konqueror - copy to your icon folder (global is $KDEPREFIX/share/icons/default.kde)
454
+- fixed nasty bug when trying to remove nonexistent popupmenushadows (crashed tear off menus)
455
+
456
+
457
+0.3n
458
+- 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)
459
+- fixed graphical error on some scrollbars
460
+- fixed qtoolbutton error (some non stippled and miscolored buttonbackgrounds in toolbars)
461
+- fixed error on some scrollviews (that didn't highlight the scrollers)
462
+- fixed graphical problem with stipple unalignment on toolbars
463
+- better support for toolbuttons besides toolbars (e.g. k3b)
464
+- some further (minor) graphical improvements
465
+- 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 :)
466
+
467
+0.3m
468
+- speedUps, speedUps anywhere... ;-)
469
+  1. by avoiding permanent repaint (update) of animated widgets (scrollers/progressbar)) - nice sideeffect: scrollers are back on wished behaviour again ;-)
470
+  2. by avoiding useless searching the dictionaries (restructured popup code - allmost feared it'd never compile anymore...) and some calculations ;-)
471
+- especially for jos added a new option for even smoother taskbar butoons ;-)
472
+- fixed miinor error in kcmbaghira (you couldn't set opacity in gradient mode / stuck to custom opacity)
473
+- removed annoying progress percent display
474
+
475
+0.3l
476
+- modified dropshadow behaviour (menus < shadowoffset won't draw any shadow at the too small side)
477
+- slightly changed sublying pixmap for scrollbar sliders
478
+- new progressbar for "apple" style
479
+- new progressbar behaviour ;-) (try apple or liquid - i'm sorry i denied this was possible... i'm just a little fool):\
480
+- 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.
481
+- slightly rounded the rect toolbuttons
482
+- more apple like shadows - i hope to soon provide fast blurring AND I DO NOT LIKE THE MS STYLE!!! (yes, this means you, RenderMan! ;-)
483
+  (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 ;-)
484
+0.3k (serious bugfix release, recommanded over 0.3j)
485
+- better support for groupboxes of kicker apps (e.g. button background)
486
+- fixed error on small popupmenus (thanks to RenderMan for the hint!)
487
+- (rough) support for bottom Tabs (cause konsole will use them in 3.2)
488
+- included math.h - i still do not understand, why some compilers (gcc versions!!!) do not suppport exp and pow internal? %)
489
+0.3j
490
+- corrected slider geometrics (won't slide out of sliderarea, you can grip the whole slider)
491
+- corrected highlighted menutext color when using custom menu colors
492
+- set the very small pushbuttons to new gradient style
493
+- set minimum tab height to 27 pixels (regarding to tabs on apples homepage)
494
+- reordered dropshadow calling process
495
+- changed behaviour of kicker headers (task buttons - to say it the ms way...:) - highlightning/coloring assumes them to be NOT button colored (rather background)
496
+- corrected slider color on groupboxes also for my friends, who don't like stipples... ignoramuses ;-)
497
+- 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)
498
+However: it's at least ghost free and not rendered twice - if you close and then reopen a submenu (e.g. from a menubar)
499
+- added buffer to provide ghost free shadows (this leads to double buffering for translucency, well - gradients are and keep doublebuffered anyway)
500
+- 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)
501
+- disaligned menuchecks should no be (vertically) aligned
502
+- hopefully fixed a polishment bug about combos on toolbars (?!)
503
+=====================================================
504
+AND: IMPORTANT TO ANYONE!!! DEACTIVATE KDE DROPSHADOWS!!!
505
+(as they'll produce artefacts in traslucent menus
506
+ + artefacts within themselves
507
+ + artefacts in my shadows
508
+ + unnecessary slow down menus)
509
+=====================================================
510
+
511
+0.3i
512
+- fixed drawing error on horizontal splitters
513
+- added new sliderarrow (thanks to Narcis Tesa for the picture)
514
+!!! 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.
515
+- slightly changed the tabbarbase on icy buttons (by user request and because it was necessary:)
516
+- scroller activation now also works with kwrite and dependent apps (gideon, etc)
517
+- improved support for custom menu colors (child menu triangles, checkmarks, splitters)
518
+- improved (generalized) toolbar color handling (background seperators leaded to uncolored konqueror completition box - this shouldn't happen to any widget anymore)
519
+============================================================================
520
+=== R E A D   T H I S ! ! ! =============================================================
521
+============================================================================
522
+I stole the whole menudropshadow stuff from kstyle (thanks to the developers) to call them at the moment I (yes: ME:-) want!
523
+PLEASE TEST THEM EXCESSIVLY and tell me, if you notice any ghosts from them by doing anything. thanks.
524
+I WON'T MODIFY FOREIGN APPS SETTINGS! therefore you have to DEACTIVATE KDE MENU DROPSHADOWS yourself! - sorry for the inconvenience.
525
+as they're active by default it's a good idea to deactivate menudropshadows in kde's style settings
526
+( i know that they're still ghost effects in the shadow itself - i'll try to fix that soon )
527
+============================================================================
528
+- 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! ;-)
529
+
530
+0.3h (for massive (!) but unserious bugfix)
531
+- added smooth toolbuttons option
532
+- hacked around smudge error on automoving sliders (does NOT hold for sliders on groupboxes, if shadows activated)
533
+- 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 ;-)
534
+...
535
+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?
536
+- fixed that, so menu styling now behaves as it should. (hell on earth, i've to do everything myself - even kickin' my butt... ;-)
537
+(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)
538
+- 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).
539
+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.
540
+- 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 ;))
541
+- slightly changed colortheme
542
+- made the splitter more decent
543
+
544
+0.3g (dedicated to howard shores score of "the return of the king", which kept me awake tonight =)
545
+- corrected position of new triangles on srollbars etc. a bit
546
+- found (tricky) solution for Toolbar Separators (please consult README about this!!! - especially if toolbuttons seem to misbehave):
547
+[well, seems you did :)
548
+OK, the following Part is a bit tricky!
549
+QT uses the Button Color to draw seperators on Toolbars.
550
+Unfortunately we cannot change this directly, so we have to set the button color of Toolbar Widgets to the background color.
551
+Unhappy Effect: Toolbuttons will lose the ability to highlight, as their Buttoncolor now changed to Background mode. (f***!)
552
+Solution: We reset the the Buttoncolor of Toolbuttons to Buttoncolor right after that.
553
+Unhappy Effect: Toolbuttons loose the ability to use redefined colors.
554
+Solution: Check, if button uses backgroud for color: then reset it to button
555
+Unhappy effect: An application cannot be redefine a Toolbutton color to background color.
556
+(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!)]
557
+- ...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... :)
558
+- added an option to remove bevel around kicker (user request)
559
+- changed look of progressbar to fit apple's bevel rather than liquids
560
+- added an option to user liquid's progressbar (user request, as an offer, on the new progress bar groove - tell me your opinion)
561
+
562
+0.3f
563
+- menu translucency should now be PERFECT (i really like the word - howerver: never say never again... :)
564
+  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)
565
+  Also menu dropshadows are supported
566
+- 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)
567
+- Kicker now draws (improved) smooth headers
568
+- fixed rect buttons stucked to non stipple background (thanks to RenderMan for the notice)
569
+- further minor graphical improvements...
570
+- 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)
571
+- removed any (virtual) support for kde menutranslucency, as it's really not a good idea to have both enabled at the same time...
572
+- fixed an error to LVH triangles (thanks to Narcis Tesa for the hint)
573
+- changed triangles on scrollbars and menus to fit listview expander look
574
+- removed bevel around kicker for user request. i'll make that configurable with the next release.
575
+- 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...)
576
+===========================================
577
++++ you can download the new enchicked wallpaper from here:
578
+http://stud.uni-karlsruhe.de/~uhvh/panther-jolene.png.bz2
579
+
580
+0.3e
581
+- added a slider to configure degree of saturation for icy buttons
582
+- forcing rect buttons now also affects combos - for a more consistent look...
583
+- menutranslucency improvement (1):
584
+  submenus won't be creatd multiple times, as long as lowest level menu is shown
585
+  this also holds (in most cases) for menubar-popups (e.g. when flying through your menus)
586
+- menutranslucency improvement (2):
587
+  BE BANISHED TO WHERE THOU CAMEST FROM, HELLISH GHASTLY GRIM GHOSTSHADOWS ON POPUPMENUS !!! :)
588
+  (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?:)
589
+  (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!)
590
+
591
+0.3d
592
+- added more saturation to the icy buttons (icy buttons are now active by default - i think :)
593
+- again brighter shadows for buttons and combos
594
+- minor graphical changes (e.g. a toolbutton frame)
595
+- option to force rectangular buttons (sorry 'eggnogg' - combos as buttons looked really crap, especially when buttons and combos appear at the same time)
596
+- sunken button effect now wanted - therefore constant behaviour (they sometimes did funny things before)
597
+- some codeimprovements...
598
+- header + kicker (was there?) flicker resettled to nirvana
599
+- solved renderman's problem with disaligned submenu triangles (with massive help of renderman, to state this)
600
+- toolbuttons now also can have individual colors (affects e.g. korn)
601
+
602
+0.3c
603
+- changed look of smooth LVH (hope RenderMan can live with that now...) ;-)
604
+- no smooth LVH for kicker (looked crap because of the shadow)
605
+- new Images for the buttons (but of same style)
606
+- slightly reworked comboboxes (smoother shape, lighter shadow)
607
+- set toolbuttons back to iTunes style - independent of the smooth LVH (thanks to Ercin Eker for the hint)
608
+- added new widget coloring function (it's slower at app startup, but you'll need a profiler to notice that on a current computer)
609
+- 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)
610
+
611
+for multiple request:
612
+============
613
+1. you can download binaries (NO WARRANTY they will work) from here:
614
+http://stud.uni-karlsruhe.de/~uhvh/baghira-binary.tar.bz2
615
+2. you can download the enchicked version of the wallpaper from here:
616
+http://stud.uni-karlsruhe.de/~uhvh/panther-padma.png.bz2
617
+
618
+0.3b
619
+- fixed menu translucency behaviour (veeeeeery stupid bug...)
620
+- flattened the menu indicator + use of highlightened text (blame or thank RenderMan...) :)
621
+- changed listheader indicator arrow
622
+- 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...
623
+- made and fixed a stupid bug tthat allmost costed my brain... ;-) (sometimes i'm really so stupid...)
624
+- rectangular combos (e.g. html) are now rather combos - not complete highlighted buttons
625
+- combos however are reworked and base upon their own pixmaps - not perfect at all... need better submittal?!
626
+- you (RenderMan) can activate smoother ListViewHeaders - basing upon the new combos...
627
+- fixed some minor bugs
628
+==================
629
+= REQUEST !!! =========
630
+==================
631
+Apple seems to use a nonlinear coloring process for buttons and stuff (e.g. light parts tend to be yellow).
632
+Mosfet's linear coloring function results in quite flat Buttons.
633
+If anyone can recommand good literature about coloring precesses - thanks ;-)
634
+=================================================================
635
+=================================================================
636
+
637
+0.3a
638
+heyheyhey... consistent source (./configure;make;make install from topdir)... finally. YEAHHH BABY!
639
+ok, now the important stuff:
640
+- tabs now also follow inactive button style
641
+- fixed a popupmenu bug (for aligned stipples)
642
+- reworked the polishment process -> should be much faster now, also lost some errors (e.g. open juk with 0.3, did nobody see this??? )
643
+- added icons for the kcmdialog - just copy the iconfolders in "icons" to your icon-directory
644
+- new "iTunes" styled rect buttons
645
+
646
+0.3
647
+- configdialog of course!
648
+- new centerd tabs (thanks to shm for the patch)
649
+- faster html (and other stuff?) scrolling
650
+- fixed color error to the toolbar
651
+- fixed major (but uncritical) bug to kicker (and child process) groupboxes
652
+- other stuff i forgot...
653
+================================================================================
654
+NOTES to configuration
655
+----------------------------------
656
+- 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"
657
+- custom translucency doesn't work as it should (inverse behaviour, may overrun the defined area what leads to funny colors...)
658
+- stipple alignement is only partially implemented - therefore it's not really slow (but won't work on groupboxes)
659
+- centertabs should work on qt 3.1.2 and above. below this it's not tested (but may work anyway)
660
+- "fasten the filebrowser" will lead to a stippled background (if you use stipples) and will remove the possibility to choose custom backgrounds
661
+====================================================================================
662
+
663
+0.2b
664
+- Better Support for unstippled Background
665
+- No more flicker ?!
666
+- New Button behaviour (to hopefully get some feedback)
667
+- more graphical stuff corrected (eg line near groupboxes)
668
+- you now can configure the first items (kcm will follow soon, probably next few days)
669
+to ~/.qt/qtrc add and modify:
670
+
671
+[Baghira]
672
+drawDotlines=true
673
+drawGroupBoxShadow=true
674
+plusMinus=false
675
+squeezeSbSlider=true
676
+shadowSbSlider=false
677
+
678
+... not colors so far, as you would have to set hexdecimals...
679
+
680
+0.2a
681
+- Fixed some graphical... insufficiencies (thanks, craigD)
682
+- redid lines for listview so that Marcel can handle his massive email traffic again ;-)
683
+  (this will be choosable when the confdialog...)
684
+- also triangles should look a bit cleaner now
685
+- feedback for checkboxes and radiobuttons
686
+- shadowed groups now won't fall to button color if you use the button color for menus
687
+- about menu effects: fade in and animation happily works, as long as you don't use transparent menus
688
+  if you use transp menus, always the button color will be used for the effect. I *can* fix that - on a little speed loss.
689
+  However I do suggest to NOT use transparent menus with menu effects, as the menu will become more solid everytime you open it.
690
+  (Maybe I will support qt transparency for the unstippled menu in the future)
691
+
692
+
693
+
694
+0.2
695
+- new icons in listview (nice triangles instead of windows like '+' & '-', no lines)
696
+- 3d effect for editlines
697
+- removed shadows and annoying triangle from active button text
698
+- changed scrollbar -> hover effect (sunken when pushed), more grippy
699
+
700
+
701
+To the people who sign responsable for mosfet's parting:
702
+------------------------------------------------------------------------------------
703
+After working on mosfet's code for some days now, i think i'm really competent to say this.
704
+I do not know, what you did or said or just why - but hey: you stole us a really great coder... shame on you.
705
+
706
+
707
+mailto:baghira-style@gmx.net

+ 1
- 0
TODO View File

@@ -0,0 +1 @@
1
+

+ 22
- 0
bab/Makefile.am View File

@@ -0,0 +1,22 @@
1
+## Makefile.am for bab
2
+
3
+# set the include path for X, qt and KDE
4
+INCLUDES = $(all_includes)
5
+
6
+# these are the headers for your project
7
+noinst_HEADERS = bab.h bab_iface.h styleconfdialog.h
8
+
9
+# let automoc handle all of the meta source files (moc)
10
+METASOURCES = AUTO
11
+
12
+messages: rc.cpp
13
+	$(XGETTEXT) *.cpp -o $(podir)/kdedcoptest.pot
14
+
15
+# this is the program that gets installed.  it's name is used for all
16
+# of the other Makefile.am variables
17
+bin_PROGRAMS = bab
18
+
19
+# the application source, library search path, and link libraries
20
+bab_SOURCES = main.cpp styleconfdialog.cpp bab_iface.skel
21
+bab_LDFLAGS = $(KDE_RPATH) $(all_libraries)
22
+bab_LDADD = $(LIB_KDEUI)

+ 15
- 0
bab/Themes/Brushed View File

@@ -0,0 +1,15 @@
1
+2
2
+2
3
+1
4
+2
5
+1
6
+1
7
+-1
8
+-1
9
+-1
10
+-1
11
+-1
12
+-1
13
+-1
14
+-1
15
+0

+ 14
- 0
bab/Themes/Jaguar View File

@@ -0,0 +1,14 @@
1
+0
2
+0
3
+0
4
+0
5
+0
6
+1
7
+-1
8
+-1
9
+-1
10
+-1
11
+-1
12
+-1
13
+-1
14
+-1

+ 3
- 0
bab/Themes/Makefile.am View File

@@ -0,0 +1,3 @@
1
+lnkdir = $HOME/.baghira
2
+lnk_DATA = Brushed Milk Jaguar Tiger Panther
3
+EXTRA_DIST = $(lnk_DATA)

+ 15
- 0
bab/Themes/Milk View File

@@ -0,0 +1,15 @@
1
+4
2
+4
3
+4
4
+4
5
+1
6
+0
7
+-592138
8
+-4930834
9
+-1
10
+-16777216
11
+-13009982
12
+-1
13
+-16777216
14
+-1116417
15
+1

+ 14
- 0
bab/Themes/Panther View File

@@ -0,0 +1,14 @@
1
+1
2
+1
3
+1
4
+1
5
+1
6
+1
7
+-1
8
+-1
9
+-1
10
+-1
11
+-1
12
+-1
13
+-1
14
+-1

+ 14
- 0
bab/Themes/Tiger View File

@@ -0,0 +1,14 @@
1
+3
2
+3
3
+1
4
+1
5
+1
6
+1
7
+-1
8
+-1
9
+-1
10
+-1
11
+-1
12
+-1
13
+-1
14
+-1

+ 10
- 0
bab/bab.desktop View File

@@ -0,0 +1,10 @@
1
+[Desktop Entry]
2
+Encoding=UTF-8
3
+Name=bab
4
+Name[xx]=xxbabxx
5
+Exec=bab %i %m -caption "%c"
6
+Icon=baghira
7
+Type=Application
8
+DocPath=
9
+Comment=Access to the big black cat
10
+Terminal=0

+ 108
- 0
bab/bab.h View File

@@ -0,0 +1,108 @@
1
+/***************************************************************************
2
+ *   Copyright (C) 2004 by Thomas Lübking                                  *
3
+ *   thomas@home                                                           *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ *   This program is distributed in the hope that it will be useful,       *
11
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
+ *   GNU General Public License for more details.                          *
14
+ *                                                                         *
15
+ *   You should have received a copy of the GNU General Public License     *
16
+ *   along with this program; if not, write to the                         *
17
+ *   Free Software Foundation, Inc.,                                       *
18
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
+ ***************************************************************************/
20
+
21
+#ifndef _BAB_H_
22
+#define _BAB_H_
23
+
24
+#ifdef HAVE_CONFIG_H
25
+#include <config.h>
26
+#endif
27
+//#include <dcopclient.h>
28
+#include "bab_iface.h"
29
+#include <qwidget.h>
30
+#include <qpixmap.h>
31
+#include <qsettings.h>
32
+#include <kmainwindow.h>
33
+#include <ksystemtray.h>
34
+
35
+class bab;
36
+
37
+class BabSwitcher : public KSystemTray , public babInterface{
38
+   Q_OBJECT
39
+public: 
40
+   
41
+   enum State {Jaguar = 0, Panther, iTunes, Tiger, Milk};
42
+
43
+   BabSwitcher(bab *parent=0, const char *name=0);
44
+   ~BabSwitcher();
45
+
46
+   void toggle();
47
+   void setStyle(QString);
48
+   QString style();
49
+   void setDeco(QString);
50
+   QString deco();
51
+   void start(QString name, QString settings);
52
+   void emitStyleChanged();
53
+   static QPoint *globalPos;
54
+   
55
+protected:
56
+   void mousePressEvent(QMouseEvent *e);
57
+   void paintEvent(QPaintEvent *ev);
58
+
59
+private:
60
+
61
+   int state_;
62
+   int decoState_;
63
+   QPixmap JaguarIcon;
64
+   QPixmap PantherIcon;
65
+   QPixmap iTunesIcon;
66
+   QPixmap TigerIcon;
67
+   QPixmap MilkIcon;
68
+};
69
+
70
+
71
+class QComboBox;
72
+class QCheckBox;
73
+/**
74
+ * @short Application Main Window
75
+ * @author Thomas Lübking <baghira-style@gmx.net>
76
+ * @version 0.1
77
+ */
78
+class bab : public KMainWindow
79
+{
80
+    Q_OBJECT
81
+public:
82
+    
83
+    enum TabState {Tab = 0, Clever, Chooser};
84
+    bab();
85
+    void showEvent(QShowEvent *e);
86
+   QCheckBox *cornerCheck;
87
+    virtual ~bab();
88
+private:
89
+    BabSwitcher* bSwitcher;
90
+    QComboBox *DefStyle;
91
+
92
+private slots:
93
+   void saveSettings();
94
+   void configureBaghira();
95
+
96
+};
97
+
98
+class Corner : public QWidget
99
+{
100
+    Q_OBJECT
101
+    public:
102
+        enum Side {left = 0, right};
103
+        Corner(Side side);
104
+public slots:
105
+    void toggle(bool);
106
+};
107
+
108
+#endif // _BAB_H_

+ 16
- 0
bab/bab.lsm View File

@@ -0,0 +1,16 @@
1
+Begin3
2
+Title:          bab -- Some description
3
+Version:        0.1
4
+Entered-date:   
5
+Description:    
6
+Keywords:       KDE Qt
7
+Author:         Thomas Lübking <thomas@home>
8
+Maintained-by:  Thomas Lübking <thomas@home>
9
+Home-page:      
10
+Alternate-site: 
11
+Primary-site:   ftp://ftp.kde.org/pub/kde/unstable/apps/utils
12
+                xxxxxx  bab-0.1.tar.gz
13
+                xxx     bab-0.1.lsm
14
+Platform:       Linux. Needs KDE
15
+Copying-policy: GPL
16
+End

+ 41
- 0
bab/bab_iface.h View File

@@ -0,0 +1,41 @@
1
+/***************************************************************************
2
+ *   Copyright (C) 2004 by Thomas Lübking                                  *
3
+ *   thomas@home                                                           *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ *   This program is distributed in the hope that it will be useful,       *
11
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
+ *   GNU General Public License for more details.                          *
14
+ *                                                                         *
15
+ *   You should have received a copy of the GNU General Public License     *
16
+ *   along with this program; if not, write to the                         *
17
+ *   Free Software Foundation, Inc.,                                       *
18
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
+ ***************************************************************************/
20
+
21
+#ifndef _BAB_INTERFACE_H_
22
+#define _BAB_INTERFACE_H_
23
+ 
24
+#include <dcopobject.h>
25
+
26
+class babInterface : virtual public DCOPObject
27
+{
28
+   K_DCOP
29
+   k_dcop:
30
+
31
+   virtual void toggle() = 0;
32
+   virtual QString style() = 0;
33
+   virtual void setStyle(QString state) = 0;
34
+   virtual QString deco() = 0;
35
+   virtual void setDeco(QString state) = 0;
36
+   virtual void start(QString name, QString settings) = 0;
37
+   virtual void emitStyleChanged() = 0;
38
+
39
+};
40
+
41
+#endif

+ 615
- 0
bab/main.cpp View File

@@ -0,0 +1,615 @@
1
+/***************************************************************************
2
+ *   Copyright (C) 2004 by Thomas Lübking                                  *
3
+ *   thomas@home                                                           *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ *   This program is distributed in the hope that it will be useful,       *
11
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
+ *   GNU General Public License for more details.                          *
14
+ *                                                                         *
15
+ *   You should have received a copy of the GNU General Public License     *
16
+ *   along with this program; if not, write to the                         *
17
+ *   Free Software Foundation, Inc.,                                       *
18
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
+ ***************************************************************************/
20
+
21
+#include "bab.h"
22
+#include <qpushbutton.h>
23
+#include <qcheckbox.h>
24
+#include <qcombobox.h>
25
+#include <qdir.h>
26
+#include <qlayout.h>
27
+#include <qsettings.h>
28
+#include <qtabwidget.h>
29
+#include <qtooltip.h>
30
+#include <qtimer.h>
31
+#include <qvbox.h> 
32
+#include <qpainter.h>
33
+#include <dcopclient.h>
34
+#include <kapplication.h>
35
+// #include <kconfig.h>
36
+#include <kiconloader.h>
37
+#include <kaboutdata.h>
38
+#include <kcmdlineargs.h>
39
+#include <kipc.h>
40
+#include <klibloader.h>
41
+#include <klocale.h>
42
+#include <kprocess.h>
43
+#if KDE_IS_VERSION(3,4,0)
44
+#include <kwin.h>
45
+#endif
46
+#include <stdio.h>
47
+#include <X11/Xlib.h>
48
+#include <X11/extensions/shape.h>
49
+
50
+#include "styleconfdialog.h"
51
+
52
+static const char description[] =
53
+    I18N_NOOP("Baghira Aqua/Brushed");
54
+
55
+static const char version[] = "cvs";
56
+
57
+static KCmdLineOptions options[] =
58
+{
59
+//    { "+[URL]", I18N_NOOP( "Document to open." ), 0 },
60
+    KCmdLineLastOption
61
+};
62
+
63
+int main(int argc, char **argv)
64
+{
65
+   KAboutData about("bab", I18N_NOOP("BAB - Baghira Aqua/Brushed Switcher"), version, description,
66
+                  KAboutData::License_GPL, "(C) 2004/2005 Thomas Lübking", 0, 0, "baghira-style@gmx.net");
67
+   about.addAuthor( "Thomas Lübking", 0, "baghira-style@gmx.net" );
68
+   KCmdLineArgs::init(argc, argv, &about);
69
+   KCmdLineArgs::addCmdLineOptions( options );
70
+   KApplication app;
71
+   DCOPClient* client = app.dcopClient();
72
+   client->registerAs( "bab", false);
73
+   client->setDefaultObject( "babInterface" );
74
+   bab* mainBAB = 0;
75
+   mainBAB = new bab;
76
+   app.setMainWidget(mainBAB);
77
+   Corner leftCorner(Corner::left);
78
+   Corner rightCorner(Corner::right);
79
+#if KDE_IS_VERSION(3,4,0)
80
+   KWin::setShadowSize(leftCorner.winId(), 0);
81
+   KWin::setShadowSize(rightCorner.winId(), 0);
82
+#endif
83
+   if (!mainBAB->cornerCheck->isChecked())
84
+   {
85
+      leftCorner.hide();
86
+      rightCorner.hide();
87
+   }
88
+   leftCorner.connect( mainBAB->cornerCheck, SIGNAL(toggled(bool)), SLOT(toggle(bool)) );
89
+   rightCorner.connect( mainBAB->cornerCheck, SIGNAL(toggled(bool)), SLOT(toggle(bool)) );
90
+
91
+   int ret = app.exec();
92
+   if (mainBAB) delete mainBAB;
93
+   return ret;
94
+}
95
+
96
+
97
+bab::bab() : KMainWindow(0,"bab",Qt::WStyle_StaysOnTop | Qt::WX11BypassWM ){
98
+   bSwitcher = new BabSwitcher(this,"switcher");
99
+   QToolTip::add(bSwitcher, i18n("leftclick toggles state<br>rightclick toggles setupmenu"));
100
+   bSwitcher->show();
101
+    
102
+   QDir d( QDir::homeDirPath() + "/.baghira");
103
+   if (!d.exists())
104
+       d.mkdir(QDir::homeDirPath() + "/.baghira");
105
+   d = QDir( QDir::homeDirPath() + "/.baghira/.bab");
106
+   if (!d.exists())
107
+       d.mkdir(QDir::homeDirPath() + "/.baghira/.bab");
108
+   FILE *file = NULL;
109
+   QString tmpString = QDir::homeDirPath() + "/.baghira/Jaguar";
110
+   if (!QFile::exists(tmpString))
111
+   {
112
+      if( (file = fopen(tmpString.latin1(), "w")) != NULL )
113
+      {
114
+         fprintf(file,"0\n0\n0\n0\n0\n1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n1\n");
115
+         fclose(file);
116
+      }
117
+   }
118
+   tmpString = QDir::homeDirPath() + "/.baghira/Panther";
119
+   if (!QFile::exists(tmpString))
120
+   {
121
+      if( (file = fopen(tmpString.latin1(), "w")) != NULL )
122
+      {
123
+         fprintf(file,"1\n1\n1\n1\n1\n1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n1\n");
124
+         fclose(file);
125
+      }
126
+   }
127
+   tmpString = QDir::homeDirPath() + "/.baghira/Brushed";
128
+   if (!QFile::exists(tmpString))
129
+   {
130
+      if( (file = fopen(tmpString.latin1(), "w")) != NULL )
131
+      {
132
+         fprintf(file,"2\n2\n1\n2\n1\n1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n0\n");
133
+         fclose(file);
134
+      }
135
+   }
136
+   tmpString = QDir::homeDirPath() + "/.baghira/Tiger";
137
+   if (!QFile::exists(tmpString))
138
+   {
139
+      if( (file = fopen(tmpString.latin1(), "w")) != NULL )
140
+      {
141
+         fprintf(file,"3\n3\n1\n1\n0\n1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n1\n");
142
+         fclose(file);
143
+      }
144
+   }
145
+   tmpString = QDir::homeDirPath() + "/.baghira/Milk";
146
+   if (!QFile::exists(tmpString))
147
+   {
148
+      if( (file = fopen(tmpString.latin1(), "w")) != NULL )
149
+      {
150
+         fprintf(file,"4\n4\n4\n4\n1\n0\n-592138\n-4930834\n-1\n-16777216\n-13009982\n-1\n-16777216\n-1116417\n1\n");
151
+         fclose(file);
152
+      }
153
+   }
154
+   
155
+   QVBox *vb = new QVBox(this);
156
+   vb->setLineWidth(2);
157
+   vb->setMargin(2);
158
+//    vb->setFrameStyle(QFrame::Panel | QFrame::Plain );
159
+   
160
+   QLabel *DefStyleLabel = new QLabel("Default Style is", vb);
161
+   DefStyle = new QComboBox(vb);
162
+   DefStyle->insertItem ( "Jaguar" );
163
+   DefStyle->insertItem ( "Panther" );
164
+   DefStyle->insertItem ( "Brushed" );
165
+   DefStyle->insertItem ( "Tiger" );
166
+   DefStyle->insertItem ( "Milk" );
167
+   cornerCheck = new QCheckBox("Round upper screen corners", vb);
168
+   QSettings config;
169
+   config.beginGroup("/baghira/BAB");
170
+   DefStyle->setCurrentItem(config.readNumEntry("defaultState", BabSwitcher::Panther ));
171
+   cornerCheck->setChecked( config.readBoolEntry("roundCorners", true ) );
172
+   config.endGroup();
173
+   QPushButton *configBaghira = new QPushButton("Configure Baghira", vb);
174
+   QPushButton *Quit = new QPushButton("Quit BAB", vb);
175
+   QPushButton *Close = new QPushButton("Close Menu", vb);
176
+   vb->adjustSize();
177
+   bSwitcher->setStyle(DefStyle->currentText());
178
+   bSwitcher->setDeco(DefStyle->currentText());
179
+   
180
+   connect(DefStyle, SIGNAL(activated(int)), this, SLOT(saveSettings()));
181
+   connect(cornerCheck, SIGNAL(toggled(bool)), this, SLOT(saveSettings()));
182
+   connect(configBaghira, SIGNAL(clicked()), this, SLOT(configureBaghira()));
183
+   connect(Close, SIGNAL(clicked()), this, SLOT(hide()));
184
+   connect(Quit, SIGNAL(clicked()), this, SLOT(close()));
185
+   
186
+   resize(vb->width(),vb->height());
187
+   
188
+//   show();
189
+}
190
+
191
+bab::~ bab()
192
+{
193
+   bSwitcher->setStyle(DefStyle->currentText());
194
+   bSwitcher->setDeco(DefStyle->currentText());
195
+   if (bSwitcher) delete bSwitcher;
196
+}
197
+
198
+/*Taken from kcontrol, kcmshell style*/
199
+void bab::configureBaghira()
200
+{
201
+
202
+   
203
+   // Use KLibLoader to get the library, handling
204
+   // any errors that arise
205
+   KLibLoader* loader = KLibLoader::self();
206
+   
207
+   KLibrary* library = loader->library( QFile::encodeName("kstyle_baghira_config") );
208
+   if (!library)
209
+   {
210
+      qWarning("There was an error loading the configuration dialog for this style.");
211
+      return;
212
+   }
213
+   
214
+   void* allocPtr = library->symbol("allocate_kstyle_config");
215
+   
216
+   if (!allocPtr)
217
+   {
218
+      qWarning("There was an error loading the configuration dialog for this style.");
219
+      return;
220
+   }
221
+   
222
+	//Create the container dialog
223
+   StyleConfigDialog* dial = new StyleConfigDialog(this, "Baghira Configuration");
224
+   dial->enableButtonSeparator(true);
225
+   
226
+   typedef QWidget*(* factoryRoutine)( QWidget* parent );
227
+   
228
+	//Get the factory, and make the widget.
229
+   factoryRoutine factory      = (factoryRoutine)(allocPtr);
230
+   QWidget*  styleConfig = factory( dial );
231
+   
232
+   QTabWidget* tw = (QTabWidget*)styleConfig->child("tabWidget");
233
+   
234
+   QWidget*  decoConfig = 0;
235
+   QObject *decoObject = 0;
236
+   if (tw)
237
+   {
238
+      KLibrary* library2 = loader->library( QFile::encodeName("kwin_baghira_config") );
239
+      if (!library2)
240
+      {
241
+         qWarning("There was an error loading the configuration dialog for the deco.");
242
+         return;
243
+      }
244
+      void* allocPtr2 = library2->symbol("allocate_config");
245
+      if (!allocPtr2)
246
+      {
247
+         qWarning("There was an error loading the configuration dialog for this style.");
248
+         return;
249
+      }
250
+      typedef QObject*(* factoryRoutine2)( KConfig* conf, QWidget* parent );
251
+      factoryRoutine2 factory2 = (factoryRoutine2)(allocPtr2);
252
+      decoObject = factory2( 0, tw );
253
+      decoConfig = (QWidget*)tw->child("ConfigDialog");
254
+      tw->addTab(decoConfig, "Decoration");
255
+   }
256
+   
257
+	//Insert it in...
258
+   dial->setMainWidget( styleConfig );
259
+   
260
+   QWidget *desktop = QApplication::desktop();
261
+   QPoint nPos((desktop->width() - dial->width())/2, (desktop->height() - dial->height() - 100)/2);
262
+   dial->move(nPos);
263
+	//..and connect it to the wrapper
264
+   connect(styleConfig, SIGNAL(changed(bool)), dial, SLOT(setStyleDirty(bool)));
265
+   connect(decoObject, SIGNAL(changed()), dial, SLOT(setDecoDirty()));
266
+   connect(dial, SIGNAL(defaults()), styleConfig, SLOT(defaults()));
267
+   connect(dial, SIGNAL(save()), styleConfig, SLOT(save()));
268
+   connect(dial, SIGNAL(defaults()), decoObject, SLOT(defaults()));
269
+   connect(dial, SIGNAL(save(KConfig*)), decoObject, SLOT(save(KConfig*)));
270
+   
271
+   if (dial->exec() == QDialog::Accepted)
272
+   {
273
+      //For now, ask all KDE apps to recreate their styles to apply the setitngs
274
+      if (dial->isStyleDirty())
275
+      {
276
+         KIPC::sendMessageAll(KIPC::StyleChanged);
277
+         KIPC::sendMessageAll(KIPC::ToolbarStyleChanged);
278
+      }
279
+      if (dial->isDecoDirty())
280
+         kapp->dcopClient()->send("kwin", "KWinInterface", "reconfigure()", QByteArray());
281
+   }
282
+   tw->removeChild( decoObject );
283
+   dial->insertChild( decoObject );
284
+   decoConfig->reparent(dial, QPoint(0,0));
285
+   delete dial;
286
+}
287
+
288
+/* overwrite the show event for repositioning the window on top
289
+ of the icon, adapted from kkeyled */
290
+void bab::showEvent(QShowEvent *e){
291
+    if ( bSwitcher->globalPos->x() >= 0) {
292
+       QWidget *desktop = QApplication::desktop();
293
+       int w = desktop->width();
294
+       QPoint nPos;
295
+       if (bSwitcher->globalPos->y() - height() >= 0 )
296
+       { // it's not on top
297
+          nPos.setY(bSwitcher->globalPos->y() -height());
298
+          nPos.setX(bSwitcher->globalPos->x() - (width() / 2));
299
+       }
300
+       else if ( bSwitcher->globalPos->y() >= 0 )
301
+       {
302
+          nPos.setY(bSwitcher->globalPos->y() + bSwitcher->height() );
303
+          nPos.setX(bSwitcher->globalPos->x() - (width() / 2));
304
+       }
305
+       if ( nPos.x() < 0 )
306
+       {
307
+          nPos.setX(bSwitcher->globalPos->x() + bSwitcher->width());
308
+       }
309
+       else if ( bSwitcher->globalPos->x() + (width() / 2)  > w )
310
+       {
311
+          nPos.setX(bSwitcher->globalPos->x() - width());
312
+       }
313
+       move(nPos);
314
+    }
315
+    
316
+   // If it was set by the normal sessionmanagement it needs
317
+   // to set the Flags again
318
+   setWFlags(Qt::WStyle_StaysOnTop | Qt::WX11BypassWM); 
319
+   QWidget::showEvent(e); // execute the normal showevent
320
+   raise();
321
+}
322
+
323
+void bab::saveSettings(){
324
+   QSettings *config = new QSettings();
325
+//    KConfig *config = new KConfig("baghirarc");
326
+   config->beginGroup("/baghira/BAB");
327
+   config->writeEntry("defaultState", DefStyle->currentItem());
328
+   config->writeEntry("roundCorners", cornerCheck->isChecked());
329
+   config->endGroup();
330
+   delete config;
331
+}
332
+
333
+QPoint *BabSwitcher::globalPos = new QPoint::QPoint(0,0);
334
+
335
+BabSwitcher::BabSwitcher(bab *parent, const char *name) 
336
+                                          : KSystemTray(parent,name), DCOPObject("babInterface") {
337
+   KIconLoader* iLoader = KGlobal::iconLoader();
338
+   JaguarIcon = iLoader->loadIcon("bab_jaguar", KIcon::Small, 22);
339
+   PantherIcon = iLoader->loadIcon("bab_panther", KIcon::Small, 22);
340
+   iTunesIcon = iLoader->loadIcon("bab_itunes", KIcon::Small, 22);
341
+   TigerIcon = iLoader->loadIcon("bab_tiger", KIcon::Small, 22);
342
+   MilkIcon = iLoader->loadIcon("bab_milk", KIcon::Small, 22);
343
+   installEventFilter(this);
344
+}
345
+
346
+BabSwitcher::~BabSwitcher(){
347
+}
348
+
349
+void BabSwitcher::toggle()
350
+{
351
+   if ( state_ < Milk )
352
+      state_++;
353
+   else
354
+      state_ = Jaguar;
355
+   decoState_ = state_;
356
+   QString nameString;
357
+   switch (state_)
358
+   {
359
+   case Jaguar:
360
+      nameString = "Jaguar";
361
+      break;
362
+   case Panther:
363
+      nameString = "Panther";
364
+      break;
365
+   case iTunes:
366
+      nameString = "Brushed";
367
+      break;
368
+   case Tiger:
369
+      nameString = "Tiger";
370
+      break;
371
+   case Milk:
372
+      nameString = "Milk";
373
+   }
374
+   QString tmpString = QDir::homeDirPath() + "/.baghira/" + nameString;
375
+   QString tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/.style";
376
+   remove(tmpString2.latin1());
377
+   symlink (tmpString.latin1(), tmpString2.latin1());
378
+   tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/.deco";
379
+   remove(tmpString2.latin1());
380
+   symlink (tmpString.latin1(), tmpString2.latin1());
381
+   repaint();
382
+}
383
+
384
+void BabSwitcher::setStyle(QString style)
385
+{
386
+   if (style == "Jaguar")
387
+      state_ = Jaguar;
388
+   else if (style == "Brushed")
389
+      state_ = iTunes;
390
+   else if (style == "Tiger")
391
+      state_ = Tiger;
392
+   else if (style == "Milk")
393
+      state_ = Milk;
394
+   else
395
+   {
396
+      if (style != "Panther")
397
+         style = "Panther";
398
+      state_ = Panther;
399
+   }
400
+   QString tmpString = QDir::homeDirPath() + "/.baghira/" + style;
401
+   QString tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/.style";
402
+   remove(tmpString2.latin1());
403
+   symlink (tmpString.latin1(), tmpString2.latin1());
404
+   repaint();
405
+}
406
+
407
+void BabSwitcher::setDeco(QString deco)
408
+{
409
+   if (deco == "Jaguar")
410
+      decoState_ = Jaguar;
411
+   else if (deco == "Brushed")
412
+      decoState_ = iTunes;
413
+   else if (deco == "Tiger")
414
+      decoState_ = Tiger;
415
+   else if (deco == "Milk")
416
+      decoState_ = Milk;
417
+   else
418
+   {
419
+      if (deco != "Panther")
420
+         deco = "Panther";
421
+      decoState_ = Panther;
422
+   }
423
+   QString tmpString = QDir::homeDirPath() + "/.baghira/" + deco;
424
+   QString tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/.deco";
425
+   remove(tmpString2.latin1());
426
+   symlink (tmpString.latin1(), tmpString2.latin1());
427
+}
428
+
429
+QString BabSwitcher::style()
430
+{
431
+   switch (state_)
432
+   {
433
+   case Jaguar:
434
+      return "Jaguar";
435
+   case Panther:
436
+      return "Panther";
437
+   case iTunes:
438
+      return "Brushed";
439
+   case Tiger:
440
+      return "Tiger";
441
+   case Milk:
442
+      return "Milk";
443
+   }
444
+}
445
+
446
+QString BabSwitcher::deco()
447
+{
448
+   switch (decoState_)
449
+   {
450
+   case Jaguar:
451
+      return "Jaguar";
452
+   case Panther:
453
+      return "Panther";
454
+   case iTunes:
455
+      return "Brushed";
456
+   case Tiger:
457
+      return "Tiger";
458
+   case Milk:
459
+      return "Milk";
460
+   }
461
+}
462
+
463
+void BabSwitcher::start(QString name, QString settings)
464
+{
465
+   KProcess proc;
466
+   QString section; int i = 0; bool done = false;
467
+   if (name.contains(' '))
468
+   {
469
+      while (!done)
470
+      {
471
+         section = name.section(' ',i,i);
472
+         if (i == 0)
473
+         {
474
+            QString tmpString = QDir::homeDirPath() + "/.baghira/" + settings;
475
+            QString tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/" + section;
476
+            remove(tmpString2.latin1());
477
+            symlink (tmpString.latin1(), tmpString2.latin1());
478
+         }
479
+         if (!section.isEmpty())
480
+            proc << section;
481
+         else
482
+            done = true;
483
+         i++;
484
+      }
485
+   }
486
+   else
487
+   {
488
+      QString tmpString = QDir::homeDirPath() + "/.baghira/" + settings;
489
+      QString tmpString2 = QDir::homeDirPath() + "/.baghira/.bab/" + name;
490
+      remove(tmpString2.latin1());
491
+      symlink (tmpString.latin1(), tmpString2.latin1());
492
+      proc << name;
493
+   }
494
+   proc.start(KProcess::DontCare);
495
+   proc.detach();
496
+}
497
+
498
+void BabSwitcher::emitStyleChanged()
499
+{
500
+   KIPC::sendMessageAll(KIPC::StyleChanged);
501
+   KIPC::sendMessageAll(KIPC::ToolbarStyleChanged);
502
+}
503
+
504
+void BabSwitcher::mousePressEvent(QMouseEvent *e){
505
+
506
+  QWidget *daddy = parentWidget();
507
+
508
+  globalPos->setX(e->globalX() - e->x());
509
+  globalPos->setY(e->globalY() - e->y());
510
+
511
+   switch ( e->button() ) 
512
+   {
513
+   case LeftButton:
514
+   {
515
+      toggle();
516
+      break;
517
+   }
518
+   case RightButton:
519
+   default:
520
+   {
521
+      if ( daddy->isVisible() )
522
+         daddy->hide();
523
+      else
524
+         daddy->show();
525
+   }
526
+   }
527
+}
528
+
529
+void BabSwitcher::paintEvent(QPaintEvent *ev){
530
+   KSystemTray::paintEvent(ev);
531
+   QPainter icyApainter(this);
532
+   switch (state_)
533
+   {
534
+   case Jaguar:
535
+      JaguarIcon.isNull() ? icyApainter.fillRect(rect(), Qt::blue) : icyApainter.drawPixmap(0, 0, JaguarIcon);
536
+      break;
537
+   case Panther:
538
+      PantherIcon.isNull() ? icyApainter.fillRect(rect(), Qt::black) : icyApainter.drawPixmap(0, 0, PantherIcon);
539
+      break;
540
+   case iTunes:
541
+      iTunesIcon.isNull() ? icyApainter.fillRect(rect(), Qt::gray) : icyApainter.drawPixmap(0, 0, iTunesIcon);
542
+      break;
543
+   case Tiger:
544
+      TigerIcon.isNull() ? icyApainter.fillRect(rect(), Qt::yellow) : icyApainter.drawPixmap(0, 0, TigerIcon);
545
+      break;
546
+   case Milk:
547
+      MilkIcon.isNull() ? icyApainter.fillRect(rect(), Qt::white) : icyApainter.drawPixmap(0, 0, MilkIcon);
548
+   default:
549
+      break;
550
+   }
551
+   icyApainter.end();
552
+}
553
+
554
+Corner::Corner(Side side) : QWidget(0, (side == left)?"left_corner":"right_corner", Qt::WType_TopLevel | Qt::WStyle_NoBorder | Qt::WStyle_StaysOnTop | Qt::WX11BypassWM )
555
+{
556
+    if (side == left) {
557
+        setFixedSize(5,4);
558
+        move(0,0);
559
+        show();
560
+        setPaletteBackgroundColor(Qt::black);
561
+        XRectangle* xrects = new XRectangle[4];
562
+        xrects[ 0 ].x = 0;
563
+        xrects[ 0 ].y = 0;
564
+        xrects[ 0 ].width = 5;
565
+        xrects[ 0 ].height = 1;
566
+        xrects[ 1 ].x = 0;
567
+        xrects[ 1 ].y = 1;
568
+        xrects[ 1 ].width = 3;
569
+        xrects[ 1 ].height = 1;
570
+        xrects[ 2 ].x = 0;
571
+        xrects[ 2 ].y = 2;
572
+        xrects[ 2 ].width = 2;
573
+        xrects[ 2 ].height = 1;
574
+        xrects[ 3 ].x = 0;
575
+        xrects[ 3 ].y = 3;
576
+        xrects[ 3 ].width = 1;
577
+        xrects[ 3 ].height = 2;
578
+        XShapeCombineRectangles( qt_xdisplay(), winId(), ShapeBounding, 0, 0,
579
+                                 xrects, 4, ShapeSet, 0 );
580
+        delete[] xrects;
581
+    }
582
+    else {
583
+        setFixedSize(5,4);
584
+        move(QApplication::desktop()->width()-5,0);
585
+        show();
586
+        setPaletteBackgroundColor(Qt::black);
587
+        XRectangle* xrects = new XRectangle[4];
588
+        xrects[ 0 ].x = 0;
589
+        xrects[ 0 ].y = 0;
590
+        xrects[ 0 ].width = 5;
591
+        xrects[ 0 ].height = 1;
592
+        xrects[ 1 ].x = 2;
593
+        xrects[ 1 ].y = 1;
594
+        xrects[ 1 ].width = 3;
595
+        xrects[ 1 ].height = 1;
596
+        xrects[ 2 ].x = 3;
597
+        xrects[ 2 ].y = 2;
598
+        xrects[ 2 ].width = 2;
599
+        xrects[ 2 ].height = 1;
600
+        xrects[ 3 ].x = 4;
601
+        xrects[ 3 ].y = 3;
602
+        xrects[ 3 ].width = 1;
603
+        xrects[ 3 ].height = 2;
604
+        XShapeCombineRectangles( qt_xdisplay(), winId(), ShapeBounding, 0, 0,
605
+                                 xrects, 4, ShapeSet, 0 );
606
+        delete[] xrects;
607
+    }
608
+}
609
+
610
+void Corner::toggle(bool b)
611
+{
612
+   b?show():hide();
613
+}
614
+
615
+#include "bab.moc"

+ 63
- 0
bab/styleconfdialog.cpp View File

@@ -0,0 +1,63 @@
1
+/*
2
+ * KCMStyle's container dialog for custom style setup dialogs
3
+ *
4
+ * (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net>
5
+ *
6
+ * This program is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU General Public
8
+ * License version 2 as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
+ * General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; see the file COPYING.  If not, write to
17
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
+ * Boston, MA 02111-1307, USA.
19
+ */
20
+
21
+#include "styleconfdialog.h"
22
+#include <klocale.h>
23
+
24
+StyleConfigDialog::StyleConfigDialog(QWidget* parent, QString styleName):
25
+  KDialogBase(parent, "StyleConfigDialog",
26
+           true, /*modal*/
27
+           styleName,
28
+           KDialogBase::Default | KDialogBase::Ok | KDialogBase::Cancel,
29
+           KDialogBase::Cancel)
30
+{
31
+  m_styleDirty = false;
32
+  m_decoDirty = false;
33
+  connect( this, SIGNAL( defaultClicked() ), this, SIGNAL( defaults() ));
34
+  connect( this, SIGNAL( okClicked() ), this, SIGNAL( save() ));
35
+  connect( this, SIGNAL( okClicked() ), this, SLOT( saveDeco() ));
36
+}
37
+
38
+void StyleConfigDialog::saveDeco()
39
+{
40
+   emit save(0);
41
+}
42
+
43
+bool StyleConfigDialog::isStyleDirty() const
44
+{
45
+  return m_styleDirty;
46
+}
47
+
48
+void StyleConfigDialog::setStyleDirty(bool dirty)
49
+{
50
+  m_styleDirty = dirty;
51
+}
52
+
53
+bool StyleConfigDialog::isDecoDirty() const
54
+{
55
+   return m_decoDirty;
56
+}
57
+
58
+void StyleConfigDialog::setDecoDirty()
59
+{
60
+   m_decoDirty = TRUE;
61
+}
62
+
63
+#include <styleconfdialog.moc>

+ 53
- 0
bab/styleconfdialog.h View File

@@ -0,0 +1,53 @@
1
+/*
2
+ * KCMStyle's container dialog for custom style setup dialogs
3
+ *
4
+ * (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net>
5
+ *
6
+ * This program is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU General Public
8
+ * License version 2 as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
+ * General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; see the file COPYING.  If not, write to
17
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
+ * Boston, MA 02111-1307, USA.
19
+ */
20
+
21
+#ifndef STYLE_CONF_DIALOG
22
+#define STYLE_CONF_DIALOG
23
+
24
+#include <kdialogbase.h>
25
+
26
+class KConfig;
27
+class StyleConfigDialog: public KDialogBase
28
+{
29
+  Q_OBJECT
30
+public:
31
+  StyleConfigDialog(QWidget* parent, QString styleName);
32
+
33
+  bool isStyleDirty() const;
34
+  bool isDecoDirty() const;
35
+
36
+public slots:
37
+  void setStyleDirty(bool dirty);
38
+  void setDecoDirty();
39
+   
40
+private slots:
41
+   void saveDeco();
42
+
43
+signals:
44
+  void defaults();
45
+  void save();
46
+  void save(KConfig*);
47
+
48
+private:
49
+  bool m_styleDirty;
50
+  bool m_decoDirty;
51
+};
52
+
53
+#endif

+ 26
- 0
colorscheme/AquaBlue.kcsrc View File

@@ -0,0 +1,26 @@
1
+[Color Scheme]
2
+Name=Aqua Blue
3
+activeBackground=255,255,255
4
+activeBlend=225,225,225
5
+activeForeground=0,0,0
6
+activeTitleBtnBg=80,132,185
7
+alternateBackground=238,246,255
8
+background=250,250,250
9
+buttonBackground=97,136,215
10
+buttonForeground=0,0,0
11
+contrast=0
12
+foreground=0,0,0
13
+frame=255,255,255
14
+handle=255,255,255
15
+inactiveBackground=225,225,225
16
+inactiveBlend=225,225,225
17
+inactiveForeground=35,35,35
18
+inactiveFrame=255,255,255
19
+inactiveHandle=255,255,255
20
+inactiveTitleBtnBg=218,238,255
21
+linkColor=0,0,192
22
+selectBackground=57,109,181
23
+selectForeground=255,255,255
24
+visitedLinkColor=128,0,128
25
+windowBackground=255,255,255
26
+windowForeground=0,0,0

+ 26
- 0
colorscheme/AquaGraphite.kcsrc View File

@@ -0,0 +1,26 @@
1
+[Color Scheme]
2
+Name=Aqua Graphite
3
+activeBackground=255,255,255
4
+activeBlend=225,225,225
5
+activeForeground=0,0,0
6
+activeTitleBtnBg=131,142,155
7
+alternateBackground=238,246,255
8
+background=255,255,255
9
+buttonBackground=137,145,155
10
+buttonForeground=0,0,0
11
+contrast=0
12
+foreground=0,0,0
13
+frame=255,255,255
14
+handle=255,255,255
15
+inactiveBackground=225,225,225
16
+inactiveBlend=225,225,225
17
+inactiveForeground=35,35,35
18
+inactiveFrame=255,255,255
19
+inactiveHandle=255,255,255
20
+inactiveTitleBtnBg=218,238,255
21
+linkColor=0,0,192
22
+selectBackground=104,121,140
23
+selectForeground=255,255,255
24
+visitedLinkColor=128,0,128
25
+windowBackground=255,255,255
26
+windowForeground=0,0,0

+ 3
- 0
colorscheme/Makefile.am View File

@@ -0,0 +1,3 @@
1
+lnkdir = $(kde_datadir)/kdisplay/color-schemes
2
+lnk_DATA = AquaBlue.kcsrc AquaGraphite.kcsrc
3
+EXTRA_DIST = $(lnk_DATA)

+ 253
- 0
config.h.in View File

@@ -0,0 +1,253 @@
1
+/* config.h.in.  Generated from configure.in by autoheader.  */
2
+
3
+/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
4
+#undef HAVE_CARBON_CARBON_H
5
+
6
+/* Define if you have the CoreAudio API */
7
+#undef HAVE_COREAUDIO
8
+
9
+/* Define to 1 if you have the <crt_externs.h> header file. */
10
+#undef HAVE_CRT_EXTERNS_H
11
+
12
+/* Defines if your system has the crypt function */
13
+#undef HAVE_CRYPT
14
+
15
+/* Define to 1 if you have the <dlfcn.h> header file. */
16
+#undef HAVE_DLFCN_H
17
+
18
+/* Define to 1 if you have the <inttypes.h> header file. */
19
+#undef HAVE_INTTYPES_H
20
+
21
+/* Define if you have libjpeg */
22
+#undef HAVE_LIBJPEG
23
+
24
+/* Define if you have libpng */
25
+#undef HAVE_LIBPNG
26
+
27
+/* Define if you have a working libpthread (will enable threaded code) */
28
+#undef HAVE_LIBPTHREAD
29
+
30
+/* Define if you have libz */
31
+#undef HAVE_LIBZ
32
+
33
+/* Define to 1 if you have the <memory.h> header file. */
34
+#undef HAVE_MEMORY_H
35
+
36
+/* Define if your system needs _NSGetEnviron to set up the environment */
37
+#undef HAVE_NSGETENVIRON
38
+
39
+/* Define if you have res_init */
40
+#undef HAVE_RES_INIT
41
+
42
+/* Define if you have the res_init prototype */
43
+#undef HAVE_RES_INIT_PROTO
44
+
45
+/* Define if you have a STL implementation by SGI */
46
+#undef HAVE_SGI_STL
47
+
48
+/* Define to 1 if you have the `snprintf' function. */
49
+#undef HAVE_SNPRINTF
50
+
51
+/* Define to 1 if you have the <stdint.h> header file. */
52
+#undef HAVE_STDINT_H
53
+
54
+/* Define to 1 if you have the <stdlib.h> header file. */
55
+#undef HAVE_STDLIB_H
56
+
57
+/* Define to 1 if you have the <strings.h> header file. */
58
+#undef HAVE_STRINGS_H
59
+
60
+/* Define to 1 if you have the <string.h> header file. */
61
+#undef HAVE_STRING_H
62
+
63
+/* Define if you have strlcat */
64
+#undef HAVE_STRLCAT
65
+
66
+/* Define if you have the strlcat prototype */
67
+#undef HAVE_STRLCAT_PROTO
68
+
69
+/* Define if you have strlcpy */
70
+#undef HAVE_STRLCPY
71
+
72
+/* Define if you have the strlcpy prototype */
73
+#undef HAVE_STRLCPY_PROTO
74
+
75
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
76
+#undef HAVE_SYS_BITYPES_H
77
+
78
+/* Define to 1 if you have the <sys/stat.h> header file. */
79
+#undef HAVE_SYS_STAT_H
80
+
81
+/* Define to 1 if you have the <sys/types.h> header file. */
82
+#undef HAVE_SYS_TYPES_H
83
+
84
+/* Define to 1 if you have the <unistd.h> header file. */
85
+#undef HAVE_UNISTD_H
86
+
87
+/* Define to 1 if you have the `vsnprintf' function. */
88
+#undef HAVE_VSNPRINTF
89
+
90
+/* Define to 1 if you have the <X11/extensions/Xcomposite.h> header file. */
91
+#undef HAVE_X11_EXTENSIONS_XCOMPOSITE_H
92
+
93
+/* Define to 1 if you have the <X11/extensions/Xdamage.h> header file. */
94
+#undef HAVE_X11_EXTENSIONS_XDAMAGE_H
95
+
96
+/* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
97
+#undef HAVE_X11_EXTENSIONS_XRENDER_H
98
+
99
+/* Suffix for lib directories */
100
+#undef KDELIBSUFF
101
+
102
+/* Define a safe value for MAXPATHLEN */
103
+#undef KDEMAXPATHLEN
104
+
105
+/* Name of package */
106
+#undef PACKAGE
107
+
108
+/* Define to the address where bug reports for this package should be sent. */
109
+#undef PACKAGE_BUGREPORT
110
+
111
+/* Define to the full name of this package. */
112
+#undef PACKAGE_NAME
113
+
114
+/* Define to the full name and version of this package. */
115
+#undef PACKAGE_STRING
116
+
117
+/* Define to the one symbol short name of this package. */
118
+#undef PACKAGE_TARNAME
119
+
120
+/* Define to the version of this package. */
121
+#undef PACKAGE_VERSION
122
+
123
+/* The size of a `char *', as computed by sizeof. */
124
+#undef SIZEOF_CHAR_P
125
+
126
+/* The size of a `int', as computed by sizeof. */
127
+#undef SIZEOF_INT
128
+
129
+/* The size of a `long', as computed by sizeof. */
130
+#undef SIZEOF_LONG
131
+
132
+/* The size of a `short', as computed by sizeof. */
133
+#undef SIZEOF_SHORT
134
+
135
+/* The size of a `size_t', as computed by sizeof. */
136
+#undef SIZEOF_SIZE_T
137
+
138
+/* The size of a `unsigned long', as computed by sizeof. */
139
+#undef SIZEOF_UNSIGNED_LONG
140
+
141
+/* Define to 1 if you have the ANSI C header files. */
142
+#undef STDC_HEADERS
143
+
144
+/* Version number of package */
145
+#undef VERSION
146
+
147
+/* Defined if compiling without arts */
148
+#undef WITHOUT_ARTS
149
+
150
+/* Define to 1 if your processor stores words with the most significant byte
151
+   first (like Motorola and SPARC, unlike Intel and VAX). */
152
+#undef WORDS_BIGENDIAN
153
+
154
+/*
155
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
156
+ * headers and I'm too lazy to write a configure test as long as only
157
+ * unixware is related
158
+ */
159
+#ifdef _UNIXWARE
160
+#define HAVE_BOOLEAN
161
+#endif
162
+
163
+
164
+
165
+/*
166
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
167
+ * that defines bzero.
168
+ */
169
+
170
+#if defined(_AIX)