summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit8b2aa1b5301ab60368a03e36df4ff5216726e87d (patch)
tree36163d4ee667c23b5cf232df2f3004cd0a76202a
downloadtdeartwork-8b2aa1b5.tar.gz
tdeartwork-8b2aa1b5.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeartwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r--COPYING-DOCS397
-rw-r--r--IconThemes/Locolor/16x16/actions/1downarrow.pngbin0 -> 188 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/1leftarrow.pngbin0 -> 195 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/1rightarrow.pngbin0 -> 194 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/1uparrow.pngbin0 -> 188 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/2downarrow.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/2leftarrow.pngbin0 -> 198 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/2rightarrow.pngbin0 -> 198 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/2uparrow.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/abs.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/airbrush.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/attach.pngbin0 -> 231 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/back.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/blend.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/bookmark.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/bookmark_add.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/bookmark_folder.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/bookmark_toolbar.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/bottom.pngbin0 -> 251 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/brace.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/brackets.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/charset.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/colorize.pngbin0 -> 344 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/colorpicker.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/completion.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/configure.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/connect_creating.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/connect_established.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/connect_no.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/contents.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/contexthelp.pngbin0 -> 230 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/crop.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/decrypted.pngbin0 -> 306 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/down.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/edit.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editclear.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editcopy.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editcut.pngbin0 -> 232 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editdelete.pngbin0 -> 294 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editpaste.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/editshred.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/edittrash.pngbin0 -> 251 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/encrypted.pngbin0 -> 293 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/eraser.pngbin0 -> 253 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/exec.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/exit.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/fileclose.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/filefind.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/filenew.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/fileopen.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/fileprint.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/filequickprint.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/filesave.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/fill.pngbin0 -> 277 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/filter.pngbin0 -> 232 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/find.pngbin0 -> 298 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/finish.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/flag.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/folder_new.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/forward.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/frac.pngbin0 -> 215 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/frameprint.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/gear.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/gohome.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/goto.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/help.pngbin0 -> 223 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/history.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/idea.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/identity.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/int.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/locationbar_erase.pngbin0 -> 210 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/lock.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/lsub.pngbin0 -> 234 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/lsup.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_forward.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_generic.pngbin0 -> 249 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_get.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_reply.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_replyall.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/mail_send.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/matrix.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/misc.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/move.pngbin0 -> 199 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/news_subscribe.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/news_unsubscribe.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/next.pngbin0 -> 235 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/ok.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/openterm.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/paintbrush.pngbin0 -> 249 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/paren.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/pencil.pngbin0 -> 257 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/player_eject.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/player_end.pngbin0 -> 195 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/player_pause.pngbin0 -> 174 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/player_start.pngbin0 -> 196 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/player_stop.pngbin0 -> 174 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/previous.pngbin0 -> 229 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/prod.pngbin0 -> 197 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/queue.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/redo.pngbin0 -> 245 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/reload.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/remove.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/revert.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/rotate.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/rotate_ccw.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/rotate_cw.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/rsub.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/rsup.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/run.pngbin0 -> 284 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/signature.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/spellcheck.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/sqrt.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/stamp.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/start.pngbin0 -> 258 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/stop.pngbin0 -> 254 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/sum.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text.pngbin0 -> 204 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_block.pngbin0 -> 175 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_bold.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_center.pngbin0 -> 178 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_italic.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_left.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_right.pngbin0 -> 178 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/text_under.pngbin0 -> 186 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/toggle_log.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/top.pngbin0 -> 251 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/transform.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/undo.pngbin0 -> 245 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/unlock.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/up.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_choose.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_detailed.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_icon.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_multicolumn.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_text.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/view_tree.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/viewmag+.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/viewmag-.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/viewmag.pngbin0 -> 277 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/window_fullscreen.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/window_new.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/window_nofullscreen.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/Locolor/16x16/actions/wizard.pngbin0 -> 262 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/abbrowser.pngbin0 -> 610 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/access.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/acroread.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/agent.pngbin0 -> 317 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/aktion.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/alevt.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/amor.pngbin0 -> 344 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/applixware.pngbin0 -> 332 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ark.pngbin0 -> 370 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/arts.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/background.pngbin0 -> 408 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/bell.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/blender.pngbin0 -> 633 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/clock.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/colors.pngbin0 -> 385 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/connectors.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/cookie.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/date.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/dlgedit.pngbin0 -> 404 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/emacs.pngbin0 -> 389 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/email.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/energy.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/enhanced_browsing.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/filetypes.pngbin0 -> 399 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/fonts.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/gimp.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/go.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/gv.pngbin0 -> 225 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/gvim.pngbin0 -> 403 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/help_index.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/hwinfo.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/icons.pngbin0 -> 491 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/iconthemes.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/input_devices_settings.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kab.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kabalone.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kalzium.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kappfinder.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/karm.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kasteroids.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kbabel.pngbin0 -> 265 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kbackgammon.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kblackbox.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcalc.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcharselect.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kchart.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmdevices.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmdf.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmdrkonqi.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmkicker.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmkwm.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmmemory.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmmidi.pngbin0 -> 217 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmpartitions.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmpci.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmprocessor.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmscsi.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmsound.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmsystem.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcmx.pngbin0 -> 298 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcontrol.pngbin0 -> 435 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kcron.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kdf.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kdisknav.pngbin0 -> 506 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kdmconfig.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kdvi.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kedit.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/keditbookmarks.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/key_bindings.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/keyboard.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/keyboard_layout.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/keystone.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfax.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfind.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfloppy.pngbin0 -> 405 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfm.pngbin0 -> 433 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfm_home.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfontinst.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kfract.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kghostview.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/khangman.pngbin0 -> 551 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/khelpcenter.pngbin0 -> 382 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/khexedit.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kicker.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kiconedit.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/killustrator.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kit.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kivio.pngbin0 -> 946 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kjots.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kjumpingcube.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/klaptopdaemon.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/klatin.pngbin0 -> 620 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kless.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/klettres.pngbin0 -> 714 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/klipper.pngbin0 -> 384 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kljettool.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/klpq.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmahjongg.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmail.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmailcvt.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmenuedit.pngbin0 -> 358 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmessedwords.pngbin0 -> 512 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmid.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmidi.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmines.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmix.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmoon.pngbin0 -> 332 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kmplot.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/knewsticker.pngbin0 -> 412 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/knode.pngbin0 -> 412 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/knotes.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/knotify.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kodo.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kompare.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/koncd.pngbin0 -> 778 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/konqueror.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/konquest.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/konsole.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/korganizer.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/korn.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpackage.pngbin0 -> 295 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpager.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpaint.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpat.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpercentage.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpixmap2bitmap.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpm.pngbin0 -> 430 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpoker.pngbin0 -> 426 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kppp.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kpresenter.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kreversi.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kruler.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksame.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kscd.pngbin0 -> 449 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kscreensaver.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kshisen.pngbin0 -> 354 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksirc.pngbin0 -> 610 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksirtet.pngbin0 -> 429 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksmiletris.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksnake.pngbin0 -> 354 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksnapshot.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksokoban.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kspaceduel.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kspread.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kspreadcalc.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kstars.pngbin0 -> 608 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksysctrl.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksysguard.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ksysv.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ktalkd.pngbin0 -> 431 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kteatime.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kthememgr.pngbin0 -> 435 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ktimemon.pngbin0 -> 306 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ktip.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ktron.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/ktux.pngbin0 -> 628 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kuser.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kview.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kwikdisk.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kwin.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kwin4.pngbin0 -> 522 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kword.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kworldwatch.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/kwrite.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/laptop_battery.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/laptop_pcmcia.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/locale.pngbin0 -> 479 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/looknfeel.pngbin0 -> 1022 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/lskat.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/lyx.pngbin0 -> 446 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/mathematica.pngbin0 -> 449 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/mouse.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/mozilla.pngbin0 -> 626 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/multimedia.pngbin0 -> 462 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/nedit.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/netscape.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/noatun.pngbin0 -> 310 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package.pngbin0 -> 361 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_applications.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_editors.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_favourite.pngbin0 -> 395 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_games.pngbin0 -> 426 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_games_arcade.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_games_board.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_games_card.pngbin0 -> 228 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_games_strategy.pngbin0 -> 217 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_graphics.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_multimedia.pngbin0 -> 433 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_network.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_settings.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_system.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/package_utilities.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/panel.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/panel_settings.pngbin0 -> 418 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/password.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/penguin.pngbin0 -> 368 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/pixie.pngbin0 -> 306 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/plan.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/proxy.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/pybliographic.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/realplayer.pngbin0 -> 304 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/remote.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/samba.pngbin0 -> 362 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/scsi.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/style.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/terminal.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/usb.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/wabi.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/window_list.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/winprops.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/wp.pngbin0 -> 536 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xapp.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xcalc.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xclipboard.pngbin0 -> 375 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xclock.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xconsole.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xedit.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xemacs.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xeyes.pngbin0 -> 298 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xfig.pngbin0 -> 382 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xfmail.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xload.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xmag.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xosview.pngbin0 -> 350 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xpaint.pngbin0 -> 445 bytes
-rw-r--r--IconThemes/Locolor/16x16/apps/xv.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/3floppy_mount.pngbin0 -> 304 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/3floppy_unmount.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/5floppy_mount.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/5floppy_unmount.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/cdrom_mount.pngbin0 -> 362 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/cdrom_unmount.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/cdwriter_mount.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/cdwriter_unmount.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/hdd_mount.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/hdd_unmount.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/memory.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/mo_mount.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/mo_unmount.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/printer1.pngbin0 -> 512 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/printer2.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/scanner.pngbin0 -> 414 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/tablet.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/zip_mount.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/Locolor/16x16/devices/zip_unmount.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/blockdevice.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/chardevice.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/desktop.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/exec.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/file_broken.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/file_locked.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_blue.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_blue_open.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_cyan.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_cyan_open.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_green.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_green_open.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_home.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_locked.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_open.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_orange.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_orange_open.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_red.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_red_open.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_yellow.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/folder_yellow_open.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/ftp.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/link.pngbin0 -> 187 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/lockoverlay.pngbin0 -> 166 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/network.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/pipe.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/shredder.pngbin0 -> 303 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/socket.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/trashcan_empty.pngbin0 -> 254 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/trashcan_full.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/www.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/Locolor/16x16/filesystems/zip.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/applix.pngbin0 -> 293 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/binary.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/binary2.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/core.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/document.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/dvi.pngbin0 -> 336 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/empty.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/font_bitmap.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/font_truetype.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/font_type1.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/gettext.pngbin0 -> 303 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/gf.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/html.pngbin0 -> 346 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/image.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/info.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/kmultiple.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/log.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/make.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/man.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/metafont.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/midi.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/netscape_doc.pngbin0 -> 321 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/news.pngbin0 -> 293 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/pdf.pngbin0 -> 324 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/pk.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/postscript.pngbin0 -> 295 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/readme.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/recycled.pngbin0 -> 323 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/resource.pngbin0 -> 324 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/rpm.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/shellscript.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/shellscript2.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/sound.pngbin0 -> 321 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_c.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_cpp.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_f.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_h.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_java.pngbin0 -> 321 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_l.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_moc.pngbin0 -> 404 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_o.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_p.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_pl.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_py.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_s.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/source_y.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/tar.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/tex.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/tgz.pngbin0 -> 337 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/txt.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/unknown.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/vcalendar.pngbin0 -> 328 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/vcard.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/Locolor/16x16/mimetypes/video.pngbin0 -> 294 bytes
-rw-r--r--IconThemes/Locolor/32x32/actions/gear.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/Locolor/32x32/actions/misc.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/access.pngbin0 -> 1065 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/acroread.pngbin0 -> 496 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/agent.pngbin0 -> 626 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/aktion.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/alevt.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/applixware.pngbin0 -> 422 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ark.pngbin0 -> 551 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/background.pngbin0 -> 1016 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/bell.pngbin0 -> 519 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/blender.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/clanbomber.pngbin0 -> 1433 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/clock.pngbin0 -> 760 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/colors.pngbin0 -> 634 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/cookie.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/date.pngbin0 -> 760 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/dlgedit.pngbin0 -> 571 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/emacs.pngbin0 -> 825 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/email.pngbin0 -> 1134 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/energy.pngbin0 -> 851 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/enhanced_browsing.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/error.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/filetypes.pngbin0 -> 1050 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/fonts.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/gimp.pngbin0 -> 893 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/go.pngbin0 -> 1024 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/gv.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/gvim.pngbin0 -> 617 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/help_index.pngbin0 -> 828 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/hwinfo.pngbin0 -> 790 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/icons.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/iconthemes.pngbin0 -> 1029 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/input_devices_settings.pngbin0 -> 760 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kab.pngbin0 -> 609 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kabalone.pngbin0 -> 612 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kalzium.pngbin0 -> 1860 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kappfinder.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/karm.pngbin0 -> 738 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kasteroids.pngbin0 -> 718 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/katomic.pngbin0 -> 340 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kbabel.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kbackgammon.pngbin0 -> 727 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kblackbox.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kbruch.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcalc.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcharselect.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kchart.pngbin0 -> 548 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmdevices.pngbin0 -> 918 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmdf.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmdrkonqi.pngbin0 -> 1359 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmkicker.pngbin0 -> 690 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmkwm.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmmemory.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmmidi.pngbin0 -> 558 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmpartitions.pngbin0 -> 654 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmpci.pngbin0 -> 729 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmprocessor.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmscsi.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmsound.pngbin0 -> 728 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmsystem.pngbin0 -> 875 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcmx.pngbin0 -> 350 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcontrol.pngbin0 -> 795 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kcron.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kdf.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kdisknav.pngbin0 -> 788 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kdmconfig.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kdvi.pngbin0 -> 688 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kedit.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/key_bindings.pngbin0 -> 733 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/keyboard.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/keyboard_layout.pngbin0 -> 824 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/keystone.pngbin0 -> 602 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfax.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfind.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfloppy.pngbin0 -> 732 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfm.pngbin0 -> 655 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfm_home.pngbin0 -> 826 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfontinst.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kfract.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kghostview.pngbin0 -> 707 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/khangman.pngbin0 -> 1072 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/khelpcenter.pngbin0 -> 618 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/khexedit.pngbin0 -> 716 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kiconedit.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/killustrator.pngbin0 -> 624 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kit.pngbin0 -> 336 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kivio.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kjots.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kjumpingcube.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/klatin.pngbin0 -> 1497 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kless.pngbin0 -> 766 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/klettres.pngbin0 -> 1735 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/klipper.pngbin0 -> 643 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kljettool.pngbin0 -> 718 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/klpq.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmahjongg.pngbin0 -> 656 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmail.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmailcvt.pngbin0 -> 1295 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmessedwords.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmid.pngbin0 -> 728 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmidi.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmines.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmix.pngbin0 -> 991 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmoon.pngbin0 -> 552 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kmplot.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/knewsticker.pngbin0 -> 1086 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/knode.pngbin0 -> 1086 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/knotes.pngbin0 -> 670 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/knotify.pngbin0 -> 430 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kodo.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kompare.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/koncd.pngbin0 -> 646 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/konqueror.pngbin0 -> 1665 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/konquest.pngbin0 -> 464 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/konsole.pngbin0 -> 966 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/korganizer.pngbin0 -> 454 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/korn.pngbin0 -> 739 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpackage.pngbin0 -> 577 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpager.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpaint.pngbin0 -> 776 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpat.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpercentage.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpixmap2bitmap.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpm.pngbin0 -> 651 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpoker.pngbin0 -> 692 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kppp.pngbin0 -> 645 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kpresenter.pngbin0 -> 744 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kreversi.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kruler.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksame.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kscd.pngbin0 -> 651 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kscreensaver.pngbin0 -> 545 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kshisen.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksirc.pngbin0 -> 604 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksirtet.pngbin0 -> 846 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksmiletris.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksnake.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksnapshot.pngbin0 -> 703 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksokoban.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kspaceduel.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kspread.pngbin0 -> 645 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kspreadcalc.pngbin0 -> 988 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kstars.pngbin0 -> 1598 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksysctrl.pngbin0 -> 828 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksysguard.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ksysv.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktalkd.pngbin0 -> 765 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kthememgr.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktimemon.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktip.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktron.pngbin0 -> 392 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktuberling.pngbin0 -> 1833 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/ktux.pngbin0 -> 1335 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kuser.pngbin0 -> 713 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kview.pngbin0 -> 1483 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kwikdisk.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kwin.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kwin4.pngbin0 -> 1360 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kword.pngbin0 -> 726 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kworldwatch.pngbin0 -> 1025 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/kwrite.pngbin0 -> 515 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/laptop_battery.pngbin0 -> 910 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/laptop_pcmcia.pngbin0 -> 533 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/locale.pngbin0 -> 1125 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/looknfeel.pngbin0 -> 1277 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/lskat.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/lyx.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/mathematica.pngbin0 -> 857 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/mouse.pngbin0 -> 579 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/multimedia.pngbin0 -> 1012 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/nedit.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/netscape.pngbin0 -> 1108 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/noatun.pngbin0 -> 543 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_applications.pngbin0 -> 649 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_editors.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_favourite.pngbin0 -> 657 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_games.pngbin0 -> 718 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_graphics.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_multimedia.pngbin0 -> 758 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_network.pngbin0 -> 721 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_settings.pngbin0 -> 783 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_system.pngbin0 -> 683 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/package_utilities.pngbin0 -> 761 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/panel_settings.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/password.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/penguin.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/pixie.pngbin0 -> 582 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/plan.pngbin0 -> 739 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/proxy.pngbin0 -> 649 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/pybliographic.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/pysol.pngbin0 -> 583 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/realplayer.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/samba.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/style.pngbin0 -> 702 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/terminal.pngbin0 -> 602 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/wabi.pngbin0 -> 681 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/window_list.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/winprops.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/wp.pngbin0 -> 1425 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xapp.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xawtv.pngbin0 -> 526 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xcalc.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xclipboard.pngbin0 -> 585 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xclock.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xconsole.pngbin0 -> 594 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xedit.pngbin0 -> 573 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xemacs.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xeyes.pngbin0 -> 389 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xfig.pngbin0 -> 650 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xfmail.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xload.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xmag.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xmms.pngbin0 -> 888 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xosview.pngbin0 -> 557 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xpaint.pngbin0 -> 884 bytes
-rw-r--r--IconThemes/Locolor/32x32/apps/xv.pngbin0 -> 510 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/3floppy_mount.pngbin0 -> 597 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/3floppy_unmount.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/5floppy_mount.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/5floppy_unmount.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/cdrom_mount.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/cdrom_unmount.pngbin0 -> 559 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/cdwriter_mount.pngbin0 -> 693 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/cdwriter_unmount.pngbin0 -> 646 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/hdd_mount.pngbin0 -> 1098 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/hdd_unmount.pngbin0 -> 1069 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/memory.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/mo_mount.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/mo_unmount.pngbin0 -> 726 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/printer1.pngbin0 -> 734 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/printer2.pngbin0 -> 1005 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/scanner.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/tablet.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/zip_mount.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/Locolor/32x32/devices/zip_unmount.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/blockdevice.pngbin0 -> 439 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/chardevice.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/desktop.pngbin0 -> 562 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/exec.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/file_broken.pngbin0 -> 490 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/file_locked.pngbin0 -> 506 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder.pngbin0 -> 366 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_blue.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_blue_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_cyan.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_cyan_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_green.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_green_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_home.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_locked.pngbin0 -> 506 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_orange.pngbin0 -> 366 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_orange_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_red.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_red_open.pngbin0 -> 386 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_yellow.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/folder_yellow_open.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/ftp.pngbin0 -> 570 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/link.pngbin0 -> 242 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/lockoverlay.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/network.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/pipe.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/shredder.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/socket.pngbin0 -> 625 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/trashcan_empty.pngbin0 -> 391 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/trashcan_full.pngbin0 -> 747 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/www.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/Locolor/32x32/filesystems/zip.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/applix.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/binary.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/binary2.pngbin0 -> 564 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/core.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/deb.pngbin0 -> 475 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/document.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/dvi.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/empty.pngbin0 -> 391 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/font_bitmap.pngbin0 -> 527 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/font_truetype.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/font_type1.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/gettext.pngbin0 -> 562 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/gf.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/html.pngbin0 -> 592 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/image.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/info.pngbin0 -> 496 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/kmultiple.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/log.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/make.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/man.pngbin0 -> 485 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/metafont.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/midi.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/netscape_doc.pngbin0 -> 592 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/news.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/pdf.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/pk.pngbin0 -> 607 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/postscript.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/readme.pngbin0 -> 496 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/recycled.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/resource.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/rpm.pngbin0 -> 525 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/shellscript.pngbin0 -> 510 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/shellscript2.pngbin0 -> 594 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/sound.pngbin0 -> 526 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_c.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_cpp.pngbin0 -> 453 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_f.pngbin0 -> 438 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_h.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_java.pngbin0 -> 522 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_l.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_moc.pngbin0 -> 687 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_o.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_p.pngbin0 -> 439 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_pl.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_py.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_s.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/source_y.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/tar.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/tex.pngbin0 -> 459 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/tgz.pngbin0 -> 525 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/txt.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/unknown.pngbin0 -> 512 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/vcalendar.pngbin0 -> 550 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/vcard.pngbin0 -> 490 bytes
-rw-r--r--IconThemes/Locolor/32x32/mimetypes/video.pngbin0 -> 565 bytes
-rw-r--r--IconThemes/Locolor/LICENSE2
-rw-r--r--IconThemes/Locolor/index.theme155
-rw-r--r--IconThemes/Makefile.am34
-rw-r--r--IconThemes/ikons/16x16/actions/1day.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/1downarrow.pngbin0 -> 304 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/1leftarrow.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/1rightarrow.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/1uparrow.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/2downarrow.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/2leftarrow.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/2rightarrow.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/2uparrow.pngbin0 -> 262 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/3downarrow.pngbin0 -> 298 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/3uparrow.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/5days.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/7days.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/appointment.pngbin0 -> 587 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/back.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/bookmark_add.pngbin0 -> 399 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/bookmark_folder.pngbin0 -> 751 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/curfiledir.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/down.pngbin0 -> 491 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/edit_add.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/edit_remove.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/editcopy.pngbin0 -> 529 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/editcut.pngbin0 -> 217 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/editdelete.pngbin0 -> 558 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/editpaste.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/filefind.pngbin0 -> 723 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/filenew.pngbin0 -> 627 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/fileopen.pngbin0 -> 724 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/fileprint.pngbin0 -> 840 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/filequickprint.pngbin0 -> 782 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/filesave.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/filesaveas.pngbin0 -> 732 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/find.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/folder_new.pngbin0 -> 779 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/forward.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/frameprint.pngbin0 -> 707 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/hotsync.pngbin0 -> 547 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/hotsync_busy.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde1.pngbin0 -> 782 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde2.pngbin0 -> 972 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde3.pngbin0 -> 981 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde4.pngbin0 -> 900 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde5.pngbin0 -> 969 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kde6.pngbin0 -> 979 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/kill.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/list.pngbin0 -> 579 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/mail_generic.pngbin0 -> 672 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/month.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunback.pngbin0 -> 514 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunforward.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunloopnone.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunpause.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunplay.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunplaylist.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/noatunstop.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/player_eject.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/player_end.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/player_pause.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/player_start.pngbin0 -> 514 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/player_stop.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/recycle.pngbin0 -> 552 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/redo.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/reload.pngbin0 -> 860 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/run.pngbin0 -> 453 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/save_all.pngbin0 -> 625 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/stop.pngbin0 -> 728 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/stop_hand.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/tandwiel_folder.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/today.pngbin0 -> 568 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/todo.pngbin0 -> 616 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/undo.pngbin0 -> 486 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/up.pngbin0 -> 536 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/view_bottom.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/view_right.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/viewmag+.pngbin0 -> 658 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/viewmag-.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/viewmag.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/whatsnext.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/window_new.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/ikons/16x16/actions/wizard.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/exec.pngbin0 -> 524 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/gimp.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/go_old.pngbin0 -> 517 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kandy.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kcontrol.pngbin0 -> 729 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kdisknav.pngbin0 -> 771 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kjobviewer.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kljettool.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/klpq.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/konqsidebar_mediaplayer.pngbin0 -> 682 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/konsole.pngbin0 -> 510 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/kpilot.pngbin0 -> 752 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/noatun.pngbin0 -> 310 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/printer1.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/printer2.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/printmgr.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/ikons/16x16/apps/wcspeedtouch.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/3floppy_mount.pngbin0 -> 480 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/3floppy_unmount.pngbin0 -> 475 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/5floppy_mount.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/5floppy_unmount.pngbin0 -> 253 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdaudio_mount.pngbin0 -> 749 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdaudio_unmount.pngbin0 -> 715 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdrom_mount.pngbin0 -> 749 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdrom_unmount.pngbin0 -> 715 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdwriter_mount.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/cdwriter_unmount.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/dvd_mount.pngbin0 -> 749 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/dvd_unmount.pngbin0 -> 715 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/mo_mount.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/mo_unmount.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/mp3_player.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/pda.pngbin0 -> 752 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/phone.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/speedtouch_ADSL_modem.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/zip_mount.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/ikons/16x16/devices/zip_unmount.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/exec.pngbin0 -> 524 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_blue.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_cyan.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_green.pngbin0 -> 850 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_grey.pngbin0 -> 824 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_grey_open.pngbin0 -> 688 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_home.pngbin0 -> 902 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_html.pngbin0 -> 729 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_image.pngbin0 -> 478 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_important.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_locked.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_man.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_open.pngbin0 -> 699 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_orange.pngbin0 -> 851 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_red.pngbin0 -> 851 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_sound.pngbin0 -> 564 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_tar.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_violet.pngbin0 -> 853 bytes
-rw-r--r--IconThemes/ikons/16x16/filesystems/folder_yellow.pngbin0 -> 859 bytes
-rw-r--r--IconThemes/ikons/16x16/mimetypes/image.pngbin0 -> 733 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/1day.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/1leftarrow.pngbin0 -> 617 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/1rightarrow.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/5days.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/7days.pngbin0 -> 695 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/alarmd.pngbin0 -> 785 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/appointment.pngbin0 -> 958 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_adddir.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_addfile.pngbin0 -> 948 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_delete.pngbin0 -> 698 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_extract.pngbin0 -> 963 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_selectall.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/ark_view.pngbin0 -> 472 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/back.pngbin0 -> 616 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/down.pngbin0 -> 565 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/edit_add.pngbin0 -> 487 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/edit_remove.pngbin0 -> 480 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/editcopy.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/editcut.pngbin0 -> 555 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/editdelete.pngbin0 -> 748 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/editpaste.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/filefind.pngbin0 -> 1252 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/filenew.pngbin0 -> 929 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/fileopen.pngbin0 -> 967 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/fileprint.pngbin0 -> 1273 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/filequickprint.pngbin0 -> 1220 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/filesave.pngbin0 -> 551 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/filesaveas.pngbin0 -> 784 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/find.pngbin0 -> 1258 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/finish.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/folder_new.pngbin0 -> 1098 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/forward.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/frameprint.pngbin0 -> 998 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/hotsync.pngbin0 -> 896 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/hotsync_busy.pngbin0 -> 901 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/kill.pngbin0 -> 710 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/list.pngbin0 -> 747 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/mail_generic.pngbin0 -> 1152 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/mail_get.pngbin0 -> 1036 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/month.pngbin0 -> 433 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/newtodo.pngbin0 -> 941 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunback.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunforward.pngbin0 -> 534 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunloopnone.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunloopplaylist.pngbin0 -> 692 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunloopsong.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunpause.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunplay.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunplaylist.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/noatunstop.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/openterm.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/player_eject.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/player_end.pngbin0 -> 534 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/player_pause.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/player_start.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/player_stop.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/recycle.pngbin0 -> 1014 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/redo.pngbin0 -> 623 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/reload.pngbin0 -> 1349 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/run.pngbin0 -> 807 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/start.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/stop.pngbin0 -> 1171 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/stop_hand.pngbin0 -> 784 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/timespan.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/today.pngbin0 -> 804 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/todo.pngbin0 -> 921 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/undo.pngbin0 -> 597 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/up.pngbin0 -> 526 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/viewmag+.pngbin0 -> 1197 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/viewmag-.pngbin0 -> 1198 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/viewmag.pngbin0 -> 1098 bytes
-rw-r--r--IconThemes/ikons/22x22/actions/whatsnext.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/ikons/22x22/apps/kpilot.pngbin0 -> 1093 bytes
-rw-r--r--IconThemes/ikons/22x22/apps/kpilot2.pngbin0 -> 996 bytes
-rw-r--r--IconThemes/ikons/22x22/apps/kpilot3.pngbin0 -> 1093 bytes
-rw-r--r--IconThemes/ikons/22x22/apps/wcspeedtouch.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/HancomOffice.pngbin0 -> 2111 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/HancomPainter.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/HancomPresenter.pngbin0 -> 1645 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/HancomSheet.pngbin0 -> 2006 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/HancomWord.pngbin0 -> 1996 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/go.pngbin0 -> 1999 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kandy.pngbin0 -> 929 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kcontrol.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kfm.pngbin0 -> 1608 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kfm_home.pngbin0 -> 2405 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kjobviewer.pngbin0 -> 1586 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kmail_tmp.pngbin0 -> 1789 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/konsole.pngbin0 -> 1450 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/kpilot.pngbin0 -> 1953 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/printmgr.pngbin0 -> 1586 bytes
-rw-r--r--IconThemes/ikons/32x32/apps/tux_config.pngbin0 -> 1226 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/3floppy_mount.pngbin0 -> 1744 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/3floppy_unmount.pngbin0 -> 1610 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/cdaudio_unmount.pngbin0 -> 2112 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/cdrom_mount.pngbin0 -> 2243 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/cdrom_unmount.pngbin0 -> 2112 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/cdwriter_mount.pngbin0 -> 2326 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/cdwriter_unmount.pngbin0 -> 2202 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/dvd_mount.pngbin0 -> 2243 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/dvd_unmount.pngbin0 -> 2112 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/hdd_mount.pngbin0 -> 1299 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/hdd_unmount.pngbin0 -> 1158 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/mp3_player.pngbin0 -> 1461 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/pda.pngbin0 -> 1953 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/phone.pngbin0 -> 929 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/print_printer.pngbin0 -> 1586 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/printer1.pngbin0 -> 1586 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/printer2.pngbin0 -> 1140 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/scanner.pngbin0 -> 1121 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/screen_black.pngbin0 -> 1333 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/screen_blue.pngbin0 -> 1660 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/screen_green.pngbin0 -> 1629 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/speedtouch_ADSL_modem.pngbin0 -> 1222 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/zip_mount.pngbin0 -> 1594 bytes
-rw-r--r--IconThemes/ikons/32x32/devices/zip_unmount.pngbin0 -> 1488 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/desktop.pngbin0 -> 1374 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/desktop_new.pngbin0 -> 1822 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/desktop_old.pngbin0 -> 1721 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/exec.pngbin0 -> 2112 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder.pngbin0 -> 2130 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_blue.pngbin0 -> 2130 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_blue_open.pngbin0 -> 1608 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_cyan.pngbin0 -> 2205 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_cyan_open.pngbin0 -> 1769 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_green.pngbin0 -> 2218 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_green_open.pngbin0 -> 1771 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_grey.pngbin0 -> 1676 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_home.pngbin0 -> 2405 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_html.pngbin0 -> 2630 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_image.pngbin0 -> 2157 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_important.pngbin0 -> 2204 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_locked.pngbin0 -> 2578 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_man.pngbin0 -> 2214 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_open.pngbin0 -> 1608 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_orange.pngbin0 -> 2208 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_orange_open.pngbin0 -> 1766 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_print2.pngbin0 -> 1742 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_red.pngbin0 -> 2226 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_red_open.pngbin0 -> 1767 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_sound.pngbin0 -> 2538 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_tar.pngbin0 -> 2352 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_txt.pngbin0 -> 2436 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_violet.pngbin0 -> 2217 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_violet_open.pngbin0 -> 1773 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_wordprocessing.pngbin0 -> 2339 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_yellow.pngbin0 -> 2226 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/folder_yellow_open.pngbin0 -> 1772 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/link.pngbin0 -> 358 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/trashcan_empty.pngbin0 -> 1668 bytes
-rw-r--r--IconThemes/ikons/32x32/filesystems/trashcan_full.pngbin0 -> 1724 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/apple_macintosh.pngbin0 -> 1342 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/configuration.pngbin0 -> 1622 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/gimp.pngbin0 -> 2189 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/hancompainter.pngbin0 -> 2129 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/hancompresnter.pngbin0 -> 2038 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/hancomsheet.pngbin0 -> 2141 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/hancomword.pngbin0 -> 2294 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/image.pngbin0 -> 1738 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/mp3.pngbin0 -> 1394 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/quicktime_movie.pngbin0 -> 1235 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/quicktime_tif.pngbin0 -> 1332 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/script.pngbin0 -> 1446 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/sql.pngbin0 -> 1597 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/wav.pngbin0 -> 1371 bytes
-rw-r--r--IconThemes/ikons/32x32/mimetypes/windows_config.pngbin0 -> 1426 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/go.pngbin0 -> 2485 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/kandy.pngbin0 -> 1650 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/kcontrol.pngbin0 -> 2967 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/kfm_home.pngbin0 -> 4143 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/klpq.pngbin0 -> 2129 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/kmail_tmp.pngbin0 -> 2430 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/konsole.pngbin0 -> 1715 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/kpilot.pngbin0 -> 3386 bytes
-rw-r--r--IconThemes/ikons/48x48/apps/tux_config.pngbin0 -> 2431 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/3floppy_mount.pngbin0 -> 3017 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/3floppy_unmount.pngbin0 -> 2836 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/5floppy_mount.pngbin0 -> 2866 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/5floppy_unmount.pngbin0 -> 2713 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/RAID.pngbin0 -> 2157 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/UPS.pngbin0 -> 1830 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdaudio_mount.pngbin0 -> 3803 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdaudio_unmount.pngbin0 -> 3620 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdrom_mount.pngbin0 -> 3748 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdrom_unmount.pngbin0 -> 3566 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdwriter_mount.pngbin0 -> 4068 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/cdwriter_unmount.pngbin0 -> 3897 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/dvd_mount.pngbin0 -> 3748 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/dvd_unmount.pngbin0 -> 3566 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/hdd_mount.pngbin0 -> 1746 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/hdd_unmount.pngbin0 -> 1548 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/mo_mount.pngbin0 -> 2801 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/mo_unmount.pngbin0 -> 2618 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/mp3_player.pngbin0 -> 2338 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/pc_box.pngbin0 -> 1922 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/pc_box2.pngbin0 -> 2050 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/pda.pngbin0 -> 3390 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/pda_black.pngbin0 -> 3233 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/pda_blue.pngbin0 -> 3458 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/phone.pngbin0 -> 1643 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/print_printer.pngbin0 -> 2129 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/printer1.pngbin0 -> 2129 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/printer2.pngbin0 -> 1819 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/scanner.pngbin0 -> 1510 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/screen_black.pngbin0 -> 1499 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/screen_blue.pngbin0 -> 2085 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/screen_green.pngbin0 -> 2175 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/speedtouch_ADSL_modem.pngbin0 -> 1919 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/zip_mount.pngbin0 -> 2428 bytes
-rw-r--r--IconThemes/ikons/48x48/devices/zip_unmount.pngbin0 -> 2248 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/desktop.pngbin0 -> 1843 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/desktop_old.pngbin0 -> 2124 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/documents.pngbin0 -> 1834 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/exec.pngbin0 -> 2910 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder.mngbin0 -> 6546 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder.pngbin0 -> 3547 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_blue.pngbin0 -> 3547 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_blue_open.pngbin0 -> 2700 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_cyan.pngbin0 -> 3709 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_cyan_open.pngbin0 -> 2893 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_favorites.pngbin0 -> 4282 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_flat.pngbin0 -> 2834 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_green.pngbin0 -> 3706 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_green_open.pngbin0 -> 2867 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_grey.pngbin0 -> 2662 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_grey_open.pngbin0 -> 2550 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_home.pngbin0 -> 4143 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_html.pngbin0 -> 4564 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_image.pngbin0 -> 3654 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_important.pngbin0 -> 3994 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_locked.pngbin0 -> 4301 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_man.pngbin0 -> 3871 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_open.pngbin0 -> 2700 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_orange.pngbin0 -> 3664 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_orange_open.pngbin0 -> 2870 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_red.pngbin0 -> 3704 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_red_open.pngbin0 -> 2889 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_sound.pngbin0 -> 4227 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_tar.pngbin0 -> 4163 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_txt.pngbin0 -> 4389 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_video.pngbin0 -> 4611 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_violet.pngbin0 -> 3712 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_violet_open.pngbin0 -> 2899 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_wordprocessing.pngbin0 -> 3544 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_yellow.pngbin0 -> 3651 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/folder_yellow_open.pngbin0 -> 2886 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/link.pngbin0 -> 378 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/trashcan_empty.pngbin0 -> 4052 bytes
-rw-r--r--IconThemes/ikons/48x48/filesystems/trashcan_full.pngbin0 -> 4194 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/apple_macintosh.pngbin0 -> 2527 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/empty.pngbin0 -> 1277 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/hancompainter.pngbin0 -> 2979 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/hancompresenter.pngbin0 -> 2981 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/hancomsheet.pngbin0 -> 3257 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/hancomword.pngbin0 -> 3223 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/image.pngbin0 -> 2230 bytes
-rw-r--r--IconThemes/ikons/48x48/mimetypes/rpm.pngbin0 -> 3110 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/Kpilot_FileInstaller.pngbin0 -> 4083 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/Kpilot_Notes.pngbin0 -> 5106 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/tux_business.pngbin0 -> 4576 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/tux_config.pngbin0 -> 3336 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/tux_diagnostic.pngbin0 -> 4719 bytes
-rw-r--r--IconThemes/ikons/64x64/apps/tux_network.pngbin0 -> 5654 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder.pngbin0 -> 4838 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_blue.pngbin0 -> 4838 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_blue_flat.pngbin0 -> 3867 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_cyan.pngbin0 -> 5108 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_green.pngbin0 -> 5140 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_grey.pngbin0 -> 3575 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_orange.pngbin0 -> 5121 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_red.pngbin0 -> 5170 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_violet.pngbin0 -> 5206 bytes
-rw-r--r--IconThemes/ikons/64x64/filesystems/folder_yellow.pngbin0 -> 5219 bytes
-rw-r--r--IconThemes/ikons/README59
-rw-r--r--IconThemes/ikons/index.theme158
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_deletelayer.pngbin0 -> 216 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_lowerlayer.pngbin0 -> 136 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_newlayer.pngbin0 -> 171 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_novisible.pngbin0 -> 310 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_raiselayer.pngbin0 -> 147 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/14_layer_visible.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/1day.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/1downarrow.pngbin0 -> 172 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/1leftarrow.pngbin0 -> 179 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/1rightarrow.pngbin0 -> 159 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/1uparrow.pngbin0 -> 172 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/2downarrow.pngbin0 -> 173 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/2leftarrow.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/2rightarrow.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/2uparrow.pngbin0 -> 173 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/3downarrow.pngbin0 -> 130 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/3uparrow.pngbin0 -> 127 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/5days.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/7days.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/abentry.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/abottom.pngbin0 -> 394 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/about_kde.pngbin0 -> 853 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/abs.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/addquestion.pngbin0 -> 666 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/adjustcol.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/adjustrow.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ahcenter.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/airbrush.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/aleft.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/apply.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/appointment.pngbin0 -> 587 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/areas.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/areas3d.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/aright.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/artsbuilderexecute.pngbin0 -> 133 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/atop.pngbin0 -> 401 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/attach.pngbin0 -> 362 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/avcenter.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/back.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/backup.pngbin0 -> 173 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bars.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bars3d.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bell.pngbin0 -> 234 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/beziertool.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/black_sum.pngbin0 -> 180 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/blend.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bookmark.pngbin0 -> 547 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bookmark_add.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bookmark_folder.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bookmark_toolbar.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_all.pngbin0 -> 179 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_bottom.pngbin0 -> 175 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_fall.pngbin0 -> 235 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_horizontal.pngbin0 -> 178 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_inside.pngbin0 -> 194 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_left.pngbin0 -> 184 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_outline.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_remove.pngbin0 -> 170 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_right.pngbin0 -> 187 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_top.pngbin0 -> 175 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_up.pngbin0 -> 231 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/border_vertical.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/bottom.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/brackets.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/busysync.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cakes.pngbin0 -> 319 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cakes3d.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/camera_test.pngbin0 -> 239 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cancel.pngbin0 -> 754 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cell_edit.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cell_layout.pngbin0 -> 336 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/charset.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/chart.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/classnew.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/clear_left.pngbin0 -> 388 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/color_fill.pngbin0 -> 490 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/color_line.pngbin0 -> 519 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/colorize.pngbin0 -> 973 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/colorman.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/colorpicker.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/comment.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/completion.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/configure.pngbin0 -> 889 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/configure_shortcuts.pngbin0 -> 808 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/configure_toolbars.pngbin0 -> 810 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/connect_creating.pngbin0 -> 538 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/connect_established.pngbin0 -> 538 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/connect_no.pngbin0 -> 491 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/contents.pngbin0 -> 640 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/contents2.pngbin0 -> 615 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/contexthelp.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/control.pngbin0 -> 390 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/crop.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/cssvalidator.pngbin0 -> 558 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/curfiledir.pngbin0 -> 656 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/data.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dayview.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dbgwatchvar.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dbottom.pngbin0 -> 349 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/decrypted.pngbin0 -> 709 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/define_clip.pngbin0 -> 781 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/deleteNode.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/delete_table.pngbin0 -> 304 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/delete_table_col.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/delete_table_row.pngbin0 -> 232 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/deletecell.pngbin0 -> 326 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/deletelayer.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/delquestion.pngbin0 -> 653 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dhcenter.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dhdist.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dissociatecell.pngbin0 -> 201 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dleft.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/documentinfo.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/domtreeviewer.pngbin0 -> 945 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/down.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dright.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dtop.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dvcenter.pngbin0 -> 392 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/dvdist.pngbin0 -> 336 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/edit.pngbin0 -> 696 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editclear.pngbin0 -> 277 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editcopy.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editcut.pngbin0 -> 744 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editdelete.pngbin0 -> 623 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editpaste.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editquestion.pngbin0 -> 765 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/editshred.pngbin0 -> 556 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/edittrash.pngbin0 -> 458 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/effect.pngbin0 -> 1280 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ellipse1.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ellipse2.pngbin0 -> 386 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ellipse3.pngbin0 -> 389 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ellipsetool.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/encrypted.pngbin0 -> 683 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/endturn.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/enum_list.pngbin0 -> 145 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/eraser.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/eventdelete.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/eventnew.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/exec.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/exit.pngbin0 -> 882 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/eye.pngbin0 -> 410 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fastsync.pngbin0 -> 170 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/file.pngbin0 -> 605 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fileclose.pngbin0 -> 754 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fileexport.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filefind.pngbin0 -> 1117 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fileimport.pngbin0 -> 729 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filenew.pngbin0 -> 704 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fileopen.pngbin0 -> 724 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fileprint.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filequickprint.pngbin0 -> 757 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filesave.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filesaveas.pngbin0 -> 732 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fill.pngbin0 -> 417 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filter.pngbin0 -> 899 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/filterstop.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/find.pngbin0 -> 1287 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/findf.pngbin0 -> 231 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/finish.pngbin0 -> 596 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/first_letter_upper.pngbin0 -> 217 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/flag.pngbin0 -> 384 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/folder_new.pngbin0 -> 779 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fontsizedown.pngbin0 -> 222 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fontsizeup.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/fork.pngbin0 -> 814 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/format_decreaseindent.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/format_increaseindent.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/forward.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frac.pngbin0 -> 215 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_edit.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_formula.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_image.pngbin0 -> 662 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_query.pngbin0 -> 408 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_spreadsheet.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frame_text.pngbin0 -> 328 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/frameprint.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/freehandtool.pngbin0 -> 349 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/funct.pngbin0 -> 240 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ganttSelect.pngbin0 -> 154 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ganttSelecttask.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ganttUnselecttask.pngbin0 -> 181 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/gear.pngbin0 -> 1033 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/gohome.pngbin0 -> 792 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/goto.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/group.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/groupevent.pngbin0 -> 837 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/halfencrypted.pngbin0 -> 638 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/help.pngbin0 -> 510 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/helpdocker.pngbin0 -> 257 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/hide_table_column.pngbin0 -> 229 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/hide_table_row.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/highlighting.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/highscore.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/hilo.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/history.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/history_clear.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/historydocker.pngbin0 -> 242 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/hmirror.pngbin0 -> 470 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/hotsync.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/htmlvalidator.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/idea.pngbin0 -> 463 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/identity.pngbin0 -> 889 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/imagegallery.pngbin0 -> 756 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/images_display.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/info.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/inline_image.pngbin0 -> 1138 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/inline_table.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/insert_table_col.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/insert_table_row.pngbin0 -> 210 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/insertcell.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/insertcellcopy.pngbin0 -> 254 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/insertclipart.pngbin0 -> 378 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/inserttable.pngbin0 -> 185 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/int.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/inverse_recur.pngbin0 -> 149 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/item_add.pngbin0 -> 676 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/item_remove.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/item_rename.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/jail_pay.pngbin0 -> 1025 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/joinNodes.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kaboodleloop.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kalarm.pngbin0 -> 497 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kanjidic.pngbin0 -> 170 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kdb_form.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kdb_table.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde1.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde2.pngbin0 -> 859 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde3.pngbin0 -> 860 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde4.pngbin0 -> 859 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde5.pngbin0 -> 865 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kde6.pngbin0 -> 840 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kdeprint_restartsrv.pngbin0 -> 943 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kdeprint_uploadsmb.pngbin0 -> 985 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/key_enter.pngbin0 -> 408 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_anonwarning.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_away.pngbin0 -> 242 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_bold.pngbin0 -> 176 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_group.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_info.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_logging.pngbin0 -> 419 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_offline.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_online.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_sound.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_status.pngbin0 -> 388 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_timestamping.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/kit_warning.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/krec_record.pngbin0 -> 525 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ktip.pngbin0 -> 463 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/laptop_charge.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/laptop_nobattery.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/laptop_nocharge.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/launch.pngbin0 -> 814 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/layersman.pngbin0 -> 252 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ldap_lookup.pngbin0 -> 678 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lines.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lines3d.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/linetool.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/linewidth.pngbin0 -> 154 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/list.pngbin0 -> 579 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/locationbar_erase.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lock.pngbin0 -> 825 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lower.pngbin0 -> 194 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lowerlayer.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lsub.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/lsup.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_find.pngbin0 -> 935 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_forward.pngbin0 -> 939 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_generic.pngbin0 -> 692 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_get.pngbin0 -> 795 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_new.pngbin0 -> 726 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_post_to.pngbin0 -> 704 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_reply.pngbin0 -> 937 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_replyall.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_replylist.pngbin0 -> 806 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mail_send.pngbin0 -> 925 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mailappt.pngbin0 -> 173 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/make_kdevelop.pngbin0 -> 454 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_abs.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_brace.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_brackets.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_frac.pngbin0 -> 215 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_int.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_lsub.pngbin0 -> 234 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_lsup.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_matrix.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_onetwomatrix.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_paren.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_prod.pngbin0 -> 197 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_rsub.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_rsup.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_sqrt.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/math_sum.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/matrix.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/mergecell.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/message_reply.pngbin0 -> 677 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/methodnew.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/middle.pngbin0 -> 158 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/misc.pngbin0 -> 1033 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/money.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/month.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/move.pngbin0 -> 216 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/moveNode.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/multirow.pngbin0 -> 193 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_32ndnote.pngbin0 -> 140 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_cleficon.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_cross.pngbin0 -> 196 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_dottednote.pngbin0 -> 190 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_eightnote.pngbin0 -> 134 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_fermatenote.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_flat.pngbin0 -> 198 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_fullnote.pngbin0 -> 145 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_halfnote.pngbin0 -> 148 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_natur.pngbin0 -> 196 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_quarternote.pngbin0 -> 138 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/music_sixteenthnote.pngbin0 -> 140 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/newNode.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/newlayer.pngbin0 -> 354 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/news_subscribe.pngbin0 -> 469 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/news_unsubscribe.pngbin0 -> 470 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/newwidget.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/next.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunback.pngbin0 -> 140 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunforward.pngbin0 -> 139 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunpause.pngbin0 -> 116 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunplay.pngbin0 -> 133 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunplaylist.pngbin0 -> 145 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatunstop.pngbin0 -> 117 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatuntray.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatuntraypause.pngbin0 -> 431 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatuntrayplay.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/noatuntraystop.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/nomailappt.pngbin0 -> 245 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/null.pngbin0 -> 85 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ok.pngbin0 -> 224 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/onetwomatrix.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/openterm.pngbin0 -> 570 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/opentermred.pngbin0 -> 475 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/options.pngbin0 -> 519 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/organizer.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/oscilloscope.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/over.pngbin0 -> 303 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/paintbrush.pngbin0 -> 401 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/palette_color.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/palette_gray.pngbin0 -> 176 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/palette_halftone.pngbin0 -> 131 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/palette_lineart.pngbin0 -> 131 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/paren.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pencil.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/percent.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/piano.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_end.pngbin0 -> 203 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_fwd.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_pause.pngbin0 -> 164 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_play.pngbin0 -> 159 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_rew.pngbin0 -> 201 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_start.pngbin0 -> 205 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/player_stop.pngbin0 -> 162 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/plugin.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmaddpoint.pngbin0 -> 262 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmaddsubprism.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmbicubicpatch.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmblendmapmodifiers.pngbin0 -> 608 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmblob.pngbin0 -> 514 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmblobcylinder.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmblobsphere.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmboundedby.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmbox.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmbumpmap.pngbin0 -> 681 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcamera.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmclippedby.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcolorlist.pngbin0 -> 169 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcolormap.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcolormapdeclare.pngbin0 -> 350 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcomment.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcone.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmcylinder.pngbin0 -> 337 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdeclare.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdensity.pngbin0 -> 530 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdensitydeclare.pngbin0 -> 485 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdensitylist.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdensitymap.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdensitymapdeclare.pngbin0 -> 519 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdialogview.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdifference.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdisc.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmdrag.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmfinish.pngbin0 -> 240 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmfinishdeclare.pngbin0 -> 265 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmfog.pngbin0 -> 524 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmfogdeclare.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmglobalsettings.pngbin0 -> 736 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmglview.pngbin0 -> 549 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmheightfield.pngbin0 -> 385 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmimagemap.pngbin0 -> 758 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminserterrors.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminsertfirstchild.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminsertlastchild.pngbin0 -> 229 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminsertsibling.pngbin0 -> 233 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminterior.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pminteriordeclare.pngbin0 -> 253 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmintersection.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmjuliafractal.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmlathe.pngbin0 -> 445 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmlight.pngbin0 -> 419 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmlistpattern.pngbin0 -> 405 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmlookslike.pngbin0 -> 385 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmaterial.pngbin0 -> 461 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmaterialdeclare.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmaterialmap.pngbin0 -> 699 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmatrix.pngbin0 -> 565 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmedia.pngbin0 -> 388 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmediadeclare.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmmerge.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmnormal.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmnormaldeclare.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmnormallist.pngbin0 -> 556 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmnormalmap.pngbin0 -> 516 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmnormalmapdeclare.pngbin0 -> 456 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmobjectdeclare.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmobjectlink.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpattern.pngbin0 -> 710 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpigment.pngbin0 -> 334 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpigmentdeclare.pngbin0 -> 361 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpigmentlist.pngbin0 -> 442 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpigmentmap.pngbin0 -> 487 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpigmentmapdeclare.pngbin0 -> 454 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmplane.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmpolynom.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmprism.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmquickcolor.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrainbow.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrainbowdeclare.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmraw.pngbin0 -> 193 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmremovepoint.pngbin0 -> 170 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrender.pngbin0 -> 442 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrenderpreview.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrendersettings.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmrotate.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmscale.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmscene.pngbin0 -> 725 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmskysphere.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmskyspheredeclare.pngbin0 -> 560 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmslope.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmslopemap.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmslopemapdeclare.pngbin0 -> 342 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmsolidcolor.pngbin0 -> 178 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmsor.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmsphere.pngbin0 -> 467 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmsqe.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtext.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtexture.pngbin0 -> 610 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtexturedeclare.pngbin0 -> 544 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtexturelist.pngbin0 -> 617 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtexturemap.pngbin0 -> 603 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtexturemapdeclare.pngbin0 -> 546 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtorus.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtranslate.pngbin0 -> 231 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtreeview.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmtriangle.pngbin0 -> 252 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmunion.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pmwarp.pngbin0 -> 686 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/pointtool.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/polygontool.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/power.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/precminus.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/precplus.pngbin0 -> 255 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/previous.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/prod.pngbin0 -> 197 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/project_open.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/qmake_scope.pngbin0 -> 310 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/qmake_scopenew.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/qmakerun.pngbin0 -> 961 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/query_erase.pngbin0 -> 194 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/queue.pngbin0 -> 342 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/quiz.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/raiselayer.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/readonlyevent.pngbin0 -> 214 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rebuild.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/recttool.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/recur.pngbin0 -> 141 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/redo.pngbin0 -> 728 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/reload.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/reload_page.pngbin0 -> 715 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/remove.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/removecell.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/removecomment.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/resizecol.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/resizerow.pngbin0 -> 217 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/restore.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/revert.pngbin0 -> 649 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ring.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/roll.pngbin0 -> 988 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rotate.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rotate_ccw.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rotate_cw.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rsub.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/rsup.pngbin0 -> 229 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/run.pngbin0 -> 449 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/runprog.pngbin0 -> 156 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/save_all.pngbin0 -> 625 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/series.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/servicenew_kdevelop.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/share.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/shear.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/show_side_panel.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/show_table_column.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/show_table_row.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/signature.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/smallclock.pngbin0 -> 235 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/snap_to_grid.pngbin0 -> 385 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/sort_decrease.pngbin0 -> 223 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/sort_incr.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/special_paste.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/spellcheck.pngbin0 -> 259 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/split.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/spnewgame.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/spnewround.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/sppausegame.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/sqrt.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/stamp.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/start.pngbin0 -> 812 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/stop.pngbin0 -> 751 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/strokedocker.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/sum.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_breakoff.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_duplicate.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_first.pngbin0 -> 122 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_last.pngbin0 -> 126 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_left.pngbin0 -> 119 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_move_left.pngbin0 -> 295 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_move_right.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_new.pngbin0 -> 350 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_new_bg.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_remove.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_remove_other.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tab_right.pngbin0 -> 124 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/targetnew_kdevelop.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tcenteralign.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_block.pngbin0 -> 159 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_bold.pngbin0 -> 176 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_bottom.pngbin0 -> 157 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_center.pngbin0 -> 162 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_italic.pngbin0 -> 173 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_left.pngbin0 -> 161 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_right.pngbin0 -> 162 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_strike.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_sub.pngbin0 -> 195 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_super.pngbin0 -> 186 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_top.pngbin0 -> 156 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/text_under.pngbin0 -> 170 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/textcolor.pngbin0 -> 190 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/texttool.pngbin0 -> 319 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/thumbnail.pngbin0 -> 768 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tleftalign.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/today.pngbin0 -> 568 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/todo.pngbin0 -> 616 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/toggle_log.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/tooloptions.pngbin0 -> 242 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/top.pngbin0 -> 657 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/transform.pngbin0 -> 410 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/translate.pngbin0 -> 844 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/trightalign.pngbin0 -> 315 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/under.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/undo.pngbin0 -> 733 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/ungroup.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/unlock.pngbin0 -> 709 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/unsorted_list.pngbin0 -> 160 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/up.pngbin0 -> 562 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/upper.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/validators.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/variablenew.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/vertical_text.pngbin0 -> 202 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_bottom.pngbin0 -> 610 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_choose.pngbin0 -> 225 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_detailed.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_fit_height.pngbin0 -> 439 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_fit_width.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_fit_window.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_icon.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_left_right.pngbin0 -> 370 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_multicolumn.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_orientation.pngbin0 -> 497 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_remove.pngbin0 -> 486 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_right.pngbin0 -> 582 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_sidetree.pngbin0 -> 517 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_split.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_text.pngbin0 -> 174 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_top_bottom.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/view_tree.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/viewmag+.pngbin0 -> 1061 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/viewmag-.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/viewmag.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/viewmag1.pngbin0 -> 1069 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/viewmagfit.pngbin0 -> 1065 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/vmirror.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/volume.pngbin0 -> 180 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/webarchiver.pngbin0 -> 825 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/webexport.pngbin0 -> 954 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/whatsnext.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/window_fullscreen.pngbin0 -> 472 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/window_new.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/window_nofullscreen.pngbin0 -> 457 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/actions/wizard.pngbin0 -> 410 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/access.pngbin0 -> 796 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/acroread.pngbin0 -> 207 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/agent.pngbin0 -> 317 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/aktion.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/alevt.pngbin0 -> 265 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/amor.pngbin0 -> 344 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/applixware.pngbin0 -> 222 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ark.pngbin0 -> 370 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/arts.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/artsbuilder.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/artscontrol.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/atlantik.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/atlantikdesigner.pngbin0 -> 785 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/background.pngbin0 -> 727 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/bell.pngbin0 -> 535 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/blender.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/cache.pngbin0 -> 1022 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/camera.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/clock.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/colors.pngbin0 -> 385 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/cookie.pngbin0 -> 776 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/date.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/designer.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/dlgedit.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/dolphin.pngbin0 -> 570 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/edu_languages.pngbin0 -> 823 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/edu_mathematics.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/edu_miscellanous.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/edu_science.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/emacs.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/email.pngbin0 -> 616 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/energy.pngbin0 -> 840 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/energy_star.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/enhanced_browsing.pngbin0 -> 893 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/filetypes.pngbin0 -> 848 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/flashkard.pngbin0 -> 150 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/fonts.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/gimp.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/gv.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/gvim.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/help_index.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/hwinfo.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/icons.pngbin0 -> 491 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/iconthemes.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/input_devices_settings.pngbin0 -> 780 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kaboodle.pngbin0 -> 865 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kaddressbook.pngbin0 -> 299 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kalarm.pngbin0 -> 497 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kalzium.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kaphorism.pngbin0 -> 671 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kappfinder.pngbin0 -> 813 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/karbon.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/karm.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kasteroids.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kate.pngbin0 -> 790 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kaudiocreator.pngbin0 -> 807 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kbackgammon.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kbackgammon_engine.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kbattleship.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kblackbox.pngbin0 -> 466 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kbounce.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kbruch.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcalc.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcharselect.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kchart.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmdevices.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmdf.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmkicker.pngbin0 -> 379 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmkwm.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmmemory.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmmidi.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmpartitions.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmpci.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmprocessor.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmscsi.pngbin0 -> 976 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmsound.pngbin0 -> 792 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmsystem.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcmx.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcoloredit.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcontrol.pngbin0 -> 690 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kcron.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat.pngbin0 -> 334 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_archive.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_backup.pngbin0 -> 525 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_eject.pngbin0 -> 373 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_mounted.pngbin0 -> 319 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_restore.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_select_all.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_select_none.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_select_some.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_unmounted.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdat_verify.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_computer.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job_cancelled.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job_completed.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job_error.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job_process.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_job_stopped.pngbin0 -> 395 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class.pngbin0 -> 461 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_process.pngbin0 -> 454 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_stopped.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_defect.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_process.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote.pngbin0 -> 464 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_process.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_stopped.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprint_printer_stopped.pngbin0 -> 462 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdeprintfax.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdevelop.pngbin0 -> 773 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdf.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdict.pngbin0 -> 678 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdisknav.pngbin0 -> 803 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdmconfig.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kdvi.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kedit.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/keditbookmarks.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/keduca.pngbin0 -> 395 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kenolaba.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/keyboard.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/keyboard_layout.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kfax.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kfind.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kfloppy.pngbin0 -> 405 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kfm.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kfm_home.pngbin0 -> 704 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kformula.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kghostview.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/khangman.pngbin0 -> 551 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/khelpcenter.pngbin0 -> 792 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/khexedit.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kicker.pngbin0 -> 238 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kiconedit.pngbin0 -> 406 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kig.pngbin0 -> 334 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kio_uiserver.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kit.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kiten.pngbin0 -> 401 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kivio.pngbin0 -> 1327 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kjobviewer.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kjots.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kjumpingcube.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/klaptopdaemon.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/klatin.pngbin0 -> 620 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/klettres.pngbin0 -> 714 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/klines.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/klipper.pngbin0 -> 674 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmahjongg.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmail.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmailcvt.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmathtool.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmenu.pngbin0 -> 881 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmenuedit.pngbin0 -> 289 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmessedwords.pngbin0 -> 512 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmid.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmidi.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmines.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmix.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmoon.pngbin0 -> 332 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kmplot.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/knewsticker.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/knode.pngbin0 -> 909 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/knotes.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/knotify.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kodo.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kolf.pngbin0 -> 405 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/konqsidebar_mediaplayer.pngbin0 -> 310 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/konqueror.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/konquest.pngbin0 -> 360 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/konsole.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kontour.pngbin0 -> 380 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/korganizer.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/korn.pngbin0 -> 424 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpackage.pngbin0 -> 318 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpager.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpaint.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpat.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpercentage.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpersonalizer.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpf.pngbin0 -> 570 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpilot.pngbin0 -> 752 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpilotDaemon.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpoker.pngbin0 -> 426 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpovmodeler.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kppp.pngbin0 -> 743 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kpresenter.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kreversi.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/krita.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kruler.pngbin0 -> 391 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksame.pngbin0 -> 376 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kscd.pngbin0 -> 449 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kscreensaver.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kshisen.pngbin0 -> 354 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksim.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksirc.pngbin0 -> 610 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksirtet.pngbin0 -> 429 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksmiletris.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksnake.pngbin0 -> 354 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksnapshot.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksokoban.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kspaceduel.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kspread.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kstars.pngbin0 -> 701 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksysguard.pngbin0 -> 914 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ksysv.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ktalkd.pngbin0 -> 431 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kteatime.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kthememgr.pngbin0 -> 435 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ktimemon.pngbin0 -> 306 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ktip.pngbin0 -> 496 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ktouch.pngbin0 -> 757 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/ktron.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kudesigner.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kugar.pngbin0 -> 777 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kuickshow.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kuser.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kverbos.pngbin0 -> 98 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kview.pngbin0 -> 460 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kviewshell.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kvoctrain.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kwikdisk.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kwin.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kwin4.pngbin0 -> 522 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kword.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kworldclock.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kwrite.pngbin0 -> 790 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/kxkb.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/laptop_battery.pngbin0 -> 355 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/laptop_pcmcia.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/licq.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/locale.pngbin0 -> 625 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/looknfeel.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/lyx.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/mac.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/mathematica.pngbin0 -> 315 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/mouse.pngbin0 -> 471 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/mozilla.pngbin0 -> 626 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/multimedia.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/nedit.pngbin0 -> 1056 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/netscape.pngbin0 -> 915 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/noatun.pngbin0 -> 294 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/opera.pngbin0 -> 651 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_applications.pngbin0 -> 695 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_development.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_editors.pngbin0 -> 693 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_edutainment.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_favourite.pngbin0 -> 285 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_games.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_games_arcade.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_games_board.pngbin0 -> 824 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_games_card.pngbin0 -> 634 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_games_strategy.pngbin0 -> 359 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_graphics.pngbin0 -> 806 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_multimedia.pngbin0 -> 935 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_network.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_settings.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_system.pngbin0 -> 904 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_toys.pngbin0 -> 992 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_utilities.pngbin0 -> 889 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/package_wordprocessing.pngbin0 -> 680 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/panel.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/panel_settings.pngbin0 -> 418 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/password.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/penguin.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/personal.pngbin0 -> 728 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/photobook.pngbin0 -> 522 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/plan.pngbin0 -> 294 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/printmgr.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/proxy.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/pybliographic.pngbin0 -> 545 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/realplayer.pngbin0 -> 710 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/remote.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/samba.pngbin0 -> 626 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/stylesheet.pngbin0 -> 663 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/terminal.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/usb.pngbin0 -> 695 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/wabi.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/window_list.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/winprops.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/wp.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xapp.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xcalc.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xclipboard.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xclock.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xconsole.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xedit.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xemacs.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xeyes.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xfig.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xfmail.pngbin0 -> 243 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xload.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xmag.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xmms.pngbin0 -> 858 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xosview.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xpaint.pngbin0 -> 315 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/apps/xv.pngbin0 -> 245 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/3floppy_mount.pngbin0 -> 587 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/3floppy_unmount.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/5floppy_mount.pngbin0 -> 450 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/5floppy_unmount.pngbin0 -> 386 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/camera.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdaudio_mount.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdaudio_unmount.pngbin0 -> 817 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdrom_mount.pngbin0 -> 835 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdrom_unmount.pngbin0 -> 796 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdwriter_mount.pngbin0 -> 696 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/cdwriter_unmount.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/dvd_mount.pngbin0 -> 835 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/dvd_unmount.pngbin0 -> 796 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/hdd_mount.pngbin0 -> 754 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/hdd_unmount.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/ksim_cpu.pngbin0 -> 249 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/memory.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/mo_mount.pngbin0 -> 457 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/mo_unmount.pngbin0 -> 408 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/nfs_mount.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/nfs_unmount.pngbin0 -> 467 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/print_class.pngbin0 -> 461 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/print_printer.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/printer1.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/printer2.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/scanner.pngbin0 -> 438 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/tablet.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/zip_mount.pngbin0 -> 461 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/devices/zip_unmount.pngbin0 -> 438 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/blockdevice.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/chardevice.pngbin0 -> 562 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/desktop.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/exec.pngbin0 -> 857 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/file_broken.pngbin0 -> 871 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/file_important.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/file_locked.pngbin0 -> 730 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder.pngbin0 -> 773 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_blue.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_blue_open.pngbin0 -> 774 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_cyan.pngbin0 -> 753 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_cyan_open.pngbin0 -> 781 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_green.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_green_open.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_grey.pngbin0 -> 716 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_grey_open.pngbin0 -> 771 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_home.pngbin0 -> 803 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_html.pngbin0 -> 887 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_image.pngbin0 -> 883 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_important.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_inbox.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_locked.pngbin0 -> 783 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_man.pngbin0 -> 842 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_open.pngbin0 -> 774 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_orange.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_orange_open.pngbin0 -> 780 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_outbox.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_print2.pngbin0 -> 876 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_red.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_red_open.pngbin0 -> 782 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_sent_mail.pngbin0 -> 423 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_sound.pngbin0 -> 858 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_tar.pngbin0 -> 843 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_txt.pngbin0 -> 844 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_video.pngbin0 -> 941 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_violet.pngbin0 -> 758 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_violet_open.pngbin0 -> 785 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_wordprocessing.pngbin0 -> 813 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_yellow.pngbin0 -> 754 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/folder_yellow_open.pngbin0 -> 787 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/ftp.pngbin0 -> 869 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/link.pngbin0 -> 213 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/lockoverlay.pngbin0 -> 166 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/network.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/network_local.pngbin0 -> 538 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/pipe.pngbin0 -> 370 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/services.pngbin0 -> 843 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/shredder.pngbin0 -> 458 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/socket.pngbin0 -> 480 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/trashcan_empty.pngbin0 -> 448 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/trashcan_full.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/www.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/filesystems/zip.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/applix.pngbin0 -> 758 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/binary.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/binary2.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/cdtrack.pngbin0 -> 857 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/colorscm.pngbin0 -> 893 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/core.pngbin0 -> 863 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/deb.pngbin0 -> 766 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/debfile.pngbin0 -> 509 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/document.pngbin0 -> 647 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/document2.pngbin0 -> 565 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/dvi.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/empty.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/font_bitmap.pngbin0 -> 739 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/font_truetype.pngbin0 -> 783 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/font_type1.pngbin0 -> 795 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/gf.pngbin0 -> 698 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/html.pngbin0 -> 935 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/image.pngbin0 -> 856 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/info.pngbin0 -> 885 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/karbon_karbon.pngbin0 -> 700 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kchart_chrt.pngbin0 -> 788 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kformula_kfo.pngbin0 -> 761 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kivio_flw.pngbin0 -> 872 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kmultiple.pngbin0 -> 497 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kpovmodeler_doc.pngbin0 -> 666 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kpresenter_kpr.pngbin0 -> 844 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/krita_kra.pngbin0 -> 879 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kspread_ksp.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kugar_kud.pngbin0 -> 864 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kugardata.pngbin0 -> 1316 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/kword_kwd.pngbin0 -> 869 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/log.pngbin0 -> 826 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/make.pngbin0 -> 914 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/man.pngbin0 -> 736 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/message.pngbin0 -> 794 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/metafont.pngbin0 -> 852 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/midi.pngbin0 -> 618 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/misc_doc.pngbin0 -> 731 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/netscape_doc.pngbin0 -> 893 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/news.pngbin0 -> 527 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/pdf.pngbin0 -> 843 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/pk.pngbin0 -> 623 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/postscript.pngbin0 -> 787 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/readme.pngbin0 -> 885 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/recycled.pngbin0 -> 888 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/resource.pngbin0 -> 731 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/rpm.pngbin0 -> 793 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/rpmfile.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/shellscript.pngbin0 -> 739 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/shellscript2.pngbin0 -> 866 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/sound.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_c.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_cpp.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_f.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_h.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_java.pngbin0 -> 830 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_l.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_moc.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_o.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_pl.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_py.pngbin0 -> 824 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_s.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/source_y.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/tar.pngbin0 -> 821 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/tgz.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/txt.pngbin0 -> 849 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/unknown.pngbin0 -> 764 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/vcalendar.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/vcard.pngbin0 -> 628 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/vectorgfx.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/video.pngbin0 -> 936 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/widget_doc.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/kdeclassic/16x16/mimetypes/wordprocessing.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_ellipse.pngbin0 -> 751 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_gradient.pngbin0 -> 371 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_group.pngbin0 -> 348 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_polygon.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_polyline.pngbin0 -> 776 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_rectangle.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_rotate.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_roundrect.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_select.pngbin0 -> 550 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_selectnodes.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_shear.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_sinus.pngbin0 -> 718 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_spiral.pngbin0 -> 847 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_star.pngbin0 -> 792 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_text.pngbin0 -> 846 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/14_ungroup.pngbin0 -> 375 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/1day.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/1downarrow.pngbin0 -> 736 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/1leftarrow.pngbin0 -> 1652 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/1rightarrow.pngbin0 -> 1605 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/1uparrow.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/2downarrow.pngbin0 -> 897 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/2leftarrow.pngbin0 -> 768 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/2rightarrow.pngbin0 -> 490 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/2uparrow.pngbin0 -> 442 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/3leftarrow.pngbin0 -> 144 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/3rightarrow.pngbin0 -> 142 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/5days.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/7days.pngbin0 -> 695 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/abort.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/about_kde.pngbin0 -> 1359 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/abs.pngbin0 -> 712 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/add_group.pngbin0 -> 533 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/add_user.pngbin0 -> 467 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/addquestion.pngbin0 -> 509 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/adjustcol.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/adjustrow.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/agenda.pngbin0 -> 199 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/airbrush.pngbin0 -> 404 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/alignobjs.pngbin0 -> 382 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aobottom.pngbin0 -> 328 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aocenterh.pngbin0 -> 364 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aocenterv.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aoleft.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aoright.pngbin0 -> 362 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/aotop.pngbin0 -> 332 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/appearance.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/appointment.pngbin0 -> 958 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/areas3d.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_adddir.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_addfile.pngbin0 -> 374 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_delete.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_extract.pngbin0 -> 342 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_help.pngbin0 -> 417 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_new.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_open.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_options.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_selectall.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ark_view.pngbin0 -> 472 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/arrange.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/artsbuilderexecute.pngbin0 -> 184 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/atlantik_buy_estate.pngbin0 -> 883 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/attach.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/autoform.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/babelfish.pngbin0 -> 1244 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/back.pngbin0 -> 1713 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bars.pngbin0 -> 277 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bars3d.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/black_sum.pngbin0 -> 186 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/blend.pngbin0 -> 293 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bookmark.pngbin0 -> 777 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bookmark_add.pngbin0 -> 788 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bookmark_folder.pngbin0 -> 1178 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_all.pngbin0 -> 190 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_bottom.pngbin0 -> 184 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_fall.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_horizontal.pngbin0 -> 193 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_inside.pngbin0 -> 193 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_left.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_outline.pngbin0 -> 213 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_remove.pngbin0 -> 184 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_right.pngbin0 -> 204 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_top.pngbin0 -> 194 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_up.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/border_vertical.pngbin0 -> 193 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/borderbottom.pngbin0 -> 255 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/borderleft.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/borderoutline.pngbin0 -> 128 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/borderright.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bordertop.pngbin0 -> 256 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bottom.pngbin0 -> 648 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/brackets.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/bring_forward.pngbin0 -> 203 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/button_cancel.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/button_ok.pngbin0 -> 693 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cakes.pngbin0 -> 331 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cakes3d.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cancel.pngbin0 -> 346 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cell_layout.pngbin0 -> 484 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/centrejust.pngbin0 -> 157 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/char.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/charset.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/checkedbox-mask.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/checkedbox.pngbin0 -> 172 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/checkedclipboard.pngbin0 -> 245 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/checkmark.pngbin0 -> 153 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/circle.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/classwiz.pngbin0 -> 334 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/clear_left.pngbin0 -> 235 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/clipart.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/clipart_from_file.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/closed_cubicbeziercurve.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/closed_freehand.pngbin0 -> 165 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/closed_polyline.pngbin0 -> 255 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/closed_quadricbeziercurve.pngbin0 -> 197 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/color_fill.pngbin0 -> 571 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/color_line.pngbin0 -> 689 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/colorize.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/colorman.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/colorpicker.pngbin0 -> 317 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/colout.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/comment.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/configure.pngbin0 -> 1356 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/configure_file.pngbin0 -> 1353 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/connect_creating.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/connect_established.pngbin0 -> 488 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/connect_no.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/contents.pngbin0 -> 1014 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/contents2.pngbin0 -> 858 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/contexthelp.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/control.pngbin0 -> 410 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/crop.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cssvalidator.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/cubicbeziercurve.pngbin0 -> 228 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/data.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgmemview.pngbin0 -> 154 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgnext.pngbin0 -> 187 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgnextinst.pngbin0 -> 207 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgparam.pngbin0 -> 154 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgrestart.pngbin0 -> 222 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgrun.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgrunto.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgstep.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgstepinst.pngbin0 -> 202 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgstepout.pngbin0 -> 204 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dbgvar.pngbin0 -> 141 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/debugger.pngbin0 -> 1216 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/decrypted.pngbin0 -> 873 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/define_clip.pngbin0 -> 1366 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete.pngbin0 -> 211 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete_group.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete_table.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete_table_col.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete_table_row.pngbin0 -> 519 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delete_user.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/deletecell.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delquestion.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/delslide.pngbin0 -> 378 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/depth-.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/dissociatecell.pngbin0 -> 199 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/domtreeviewer.pngbin0 -> 1458 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/done.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/down.pngbin0 -> 1641 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit.pngbin0 -> 959 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_add.pngbin0 -> 820 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_group.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_picture.pngbin0 -> 931 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_pie.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_polygon.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_remove.pngbin0 -> 713 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edit_user.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editclear.pngbin0 -> 203 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editcopy.pngbin0 -> 1360 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editcut.pngbin0 -> 916 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editdelete.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editpaste.pngbin0 -> 1338 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editquestion.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/editshred.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edittool.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/edittrash.pngbin0 -> 561 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/effect.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/emptybox-mask.pngbin0 -> 121 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/emptybox.pngbin0 -> 114 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/encrypted.pngbin0 -> 868 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/enumList.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/eraser.pngbin0 -> 339 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/exec.pngbin0 -> 1151 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/exit.pngbin0 -> 1398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fileclose.pngbin0 -> 921 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fileexport.pngbin0 -> 1336 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filefind.pngbin0 -> 1357 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fileimport.pngbin0 -> 1368 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filenew.pngbin0 -> 1316 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fileopen.pngbin0 -> 1295 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fileprint.pngbin0 -> 1404 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filequickprint.pngbin0 -> 1218 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filesave.pngbin0 -> 593 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filesaveas.pngbin0 -> 836 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fill.pngbin0 -> 413 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/filter.pngbin0 -> 989 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/find.pngbin0 -> 1494 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/finish.pngbin0 -> 666 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/first_letter_upper.pngbin0 -> 234 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/folder.pngbin0 -> 1335 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/folder_new.pngbin0 -> 1098 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fontsizedown.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fontsizeup.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/fork.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/format_decreaseindent.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/format_increaseindent.pngbin0 -> 314 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/forward.pngbin0 -> 1636 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frac.pngbin0 -> 492 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_chart.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_edit.pngbin0 -> 717 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_field.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_formula.pngbin0 -> 428 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_image.pngbin0 -> 922 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_query.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_spreadsheet.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frame_text.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/frameprint.pngbin0 -> 1240 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/freehand.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/funct.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ganttSelect.pngbin0 -> 178 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ganttSelecttask.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ganttUnselecttask.pngbin0 -> 208 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/gear.pngbin0 -> 1583 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/gohome.pngbin0 -> 1162 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/goto.pngbin0 -> 847 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/gradientdlg.pngbin0 -> 223 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/grep.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/group.pngbin0 -> 348 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/halfencrypted.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/help.pngbin0 -> 726 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/hide_table_column.pngbin0 -> 253 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/hide_table_row.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/higher.pngbin0 -> 334 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/hilo.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/history.pngbin0 -> 1640 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/htmlvalidator.pngbin0 -> 999 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/id.pngbin0 -> 1092 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/idf.pngbin0 -> 1425 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/idh.pngbin0 -> 1362 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/imagegallery.pngbin0 -> 1203 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/images_display.pngbin0 -> 1270 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/inline_image.pngbin0 -> 909 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/inline_table.pngbin0 -> 529 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/inscol.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/insert_table_col.pngbin0 -> 478 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/insert_table_row.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/insertcell.pngbin0 -> 349 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/insertcellcopy.pngbin0 -> 470 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/inserttable.pngbin0 -> 195 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/insrow.pngbin0 -> 288 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/int.pngbin0 -> 709 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ipf.pngbin0 -> 1400 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/iph.pngbin0 -> 1316 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/irf.pngbin0 -> 1050 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/irh.pngbin0 -> 1063 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/jail_pay.pngbin0 -> 1616 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kaboodleloop.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kalarm.pngbin0 -> 831 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kalarm_disabled.pngbin0 -> 816 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kalarmdgui.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kalarmdgui_disabled.pngbin0 -> 378 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kanjidic.pngbin0 -> 207 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kde.pngbin0 -> 54973 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_addprinter.pngbin0 -> 1547 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_addpseudo.pngbin0 -> 1259 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_configmgr.pngbin0 -> 1713 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_configsrv.pngbin0 -> 1504 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_defaulthard.pngbin0 -> 1239 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_defaultsoft.pngbin0 -> 1199 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_enableprinter.pngbin0 -> 1731 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_printer.pngbin0 -> 415 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_printer_infos.pngbin0 -> 1195 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_printstate.pngbin0 -> 1264 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_queuestate.pngbin0 -> 1484 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_report.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_restartsrv.pngbin0 -> 1399 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_stopprinter.pngbin0 -> 1656 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_testprinter.pngbin0 -> 1711 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kdeprint_uploadsmb.pngbin0 -> 1566 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/key_enter.pngbin0 -> 485 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/khtml_kget.pngbin0 -> 1160 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/klipper.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/krec_record.pngbin0 -> 834 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/kwsearch.pngbin0 -> 328 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/launch.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/leftjust.pngbin0 -> 149 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line.pngbin0 -> 261 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_arrow_begin.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_arrow_end.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_begin.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_circle_begin.pngbin0 -> 274 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_circle_end.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_dimension_line_begin.pngbin0 -> 120 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_dimension_line_end.pngbin0 -> 120 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_double_arrow_begin.pngbin0 -> 142 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_double_arrow_end.pngbin0 -> 139 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_begin.pngbin0 -> 150 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_end.pngbin0 -> 145 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_end.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_line_arrow_begin.pngbin0 -> 136 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_line_arrow_end.pngbin0 -> 136 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_normal_begin.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_normal_end.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_rect_begin.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/line_rect_end.pngbin0 -> 268 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lined1.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lined2.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lineh.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lines3d.pngbin0 -> 430 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/linev.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/list.pngbin0 -> 747 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/locationbar_erase.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lock.pngbin0 -> 1242 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lsub.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/lsup.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_find.pngbin0 -> 1468 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_forward.pngbin0 -> 1202 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_generic.pngbin0 -> 1095 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_get.pngbin0 -> 1232 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_new.pngbin0 -> 1197 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_post_to.pngbin0 -> 1316 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_reply.pngbin0 -> 1243 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_replyall.pngbin0 -> 1422 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_replylist.pngbin0 -> 1173 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mail_send.pngbin0 -> 1255 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/make_kdevelop.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_abs.pngbin0 -> 712 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_brace.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_brackets.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_frac.pngbin0 -> 492 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_int.pngbin0 -> 709 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_lsub.pngbin0 -> 560 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_lsup.pngbin0 -> 532 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_matrix.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_onetwomatrix.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_paren.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_prod.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_rsub.pngbin0 -> 549 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_rsup.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_sqrt.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/math_sum.pngbin0 -> 765 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/matrix.pngbin0 -> 177 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/menu_new.pngbin0 -> 841 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mergecell.pngbin0 -> 211 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/message_reply.pngbin0 -> 1052 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/middle.pngbin0 -> 210 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_autoform.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_circle.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_clipart.pngbin0 -> 337 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_line.pngbin0 -> 241 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_pie.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_polygon.pngbin0 -> 139 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/mini_rect.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/misc.pngbin0 -> 1426 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/money.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/month.pngbin0 -> 433 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/move.pngbin0 -> 235 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/multirow.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_32ndnote.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_cleficon.pngbin0 -> 323 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_cross.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_dottednote.pngbin0 -> 223 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_eightnote.pngbin0 -> 251 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_fermatenote.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_flat.pngbin0 -> 230 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_fullnote.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_halfnote.pngbin0 -> 216 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_natur.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_quarternote.pngbin0 -> 201 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/music_sixteenthnote.pngbin0 -> 246 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/newPoint.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/newrecurevent.pngbin0 -> 260 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/news_subscribe.pngbin0 -> 938 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/newslide.pngbin0 -> 395 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/newtodo.pngbin0 -> 916 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/newwidget.pngbin0 -> 525 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/next.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunback.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunfback.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunfforward.pngbin0 -> 188 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunforward.pngbin0 -> 210 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunloopnone.pngbin0 -> 233 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunloopplaylist.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunlooprandom.pngbin0 -> 244 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunloopsong.pngbin0 -> 266 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunpause.pngbin0 -> 201 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunplay.pngbin0 -> 184 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunplaylist.pngbin0 -> 234 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunshuffle.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatunstop.pngbin0 -> 140 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/noatuntiny.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ok.pngbin0 -> 335 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/onetwomatrix.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/openterm.pngbin0 -> 1126 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/options.pngbin0 -> 341 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/oscilloscope.pngbin0 -> 648 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/outlinedlg.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/output_win.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/over.pngbin0 -> 738 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/package_utilities.pngbin0 -> 1197 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pagesetup.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/paintbrush.pngbin0 -> 340 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/paren.pngbin0 -> 745 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/part-killustrator.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/part-kword.pngbin0 -> 436 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen.pngbin0 -> 358 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_dash.pngbin0 -> 108 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_dashdot.pngbin0 -> 116 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_dashdotdot.pngbin0 -> 111 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_dot.pngbin0 -> 102 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_nopen.pngbin0 -> 89 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_style_solid.pngbin0 -> 107 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width.pngbin0 -> 165 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width1.pngbin0 -> 107 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width10.pngbin0 -> 109 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width2.pngbin0 -> 109 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width3.pngbin0 -> 108 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width4.pngbin0 -> 111 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width5.pngbin0 -> 110 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width6.pngbin0 -> 109 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width7.pngbin0 -> 109 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width8.pngbin0 -> 110 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pen_width9.pngbin0 -> 109 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/penbrush.pngbin0 -> 414 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pencil.pngbin0 -> 361 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/percent.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pgnum.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/piano.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pie.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_eject.pngbin0 -> 713 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_end.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_fwd.pngbin0 -> 490 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_pause.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_play.pngbin0 -> 1605 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_rew.pngbin0 -> 768 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_start.pngbin0 -> 908 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/player_stop.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/plugin.pngbin0 -> 1151 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmbicubicpatch.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmblendmapmodifiers.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmblob.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmblobcylinder.pngbin0 -> 796 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmblobsphere.pngbin0 -> 617 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmboundedby.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmbox.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmbumpmap.pngbin0 -> 1206 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmclippedby.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmcolormap.pngbin0 -> 573 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmcolormapdeclare.pngbin0 -> 518 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmcomment.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmcone.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmcylinder.pngbin0 -> 384 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdeclare.pngbin0 -> 702 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdensity.pngbin0 -> 1147 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdensitydeclare.pngbin0 -> 683 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdensitylist.pngbin0 -> 809 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdensitymap.pngbin0 -> 900 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdensitymapdeclare.pngbin0 -> 764 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdifference.pngbin0 -> 430 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdisc.pngbin0 -> 527 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmdrag.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmfinishdeclare.pngbin0 -> 338 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmfog.pngbin0 -> 827 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmfogdeclare.pngbin0 -> 725 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmglobalsettings.pngbin0 -> 904 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmheightfield.pngbin0 -> 487 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmimagemap.pngbin0 -> 1344 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pminserterrors.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pminteriordeclare.pngbin0 -> 255 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmintersection.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmjuliafractal.pngbin0 -> 718 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmlathe.pngbin0 -> 654 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmlistpattern.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmlookslike.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmaterial.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmaterialdeclare.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmaterialmap.pngbin0 -> 1243 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmatrix.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmedia.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmediadeclare.pngbin0 -> 405 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmmerge.pngbin0 -> 489 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmnormal.pngbin0 -> 844 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmnormaldeclare.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmnormallist.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmnormalmap.pngbin0 -> 804 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmnormalmapdeclare.pngbin0 -> 700 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmobjectdeclare.pngbin0 -> 643 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmobjectlink.pngbin0 -> 806 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpattern.pngbin0 -> 1246 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpigmentdeclare.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpigmentlist.pngbin0 -> 492 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpigmentmap.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpigmentmapdeclare.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmpolynom.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmprism.pngbin0 -> 423 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmquickcolor.pngbin0 -> 225 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmrainbow.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmrainbowdeclare.pngbin0 -> 558 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmraw.pngbin0 -> 271 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmrenderpreview.pngbin0 -> 648 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmrendersettings.pngbin0 -> 693 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmrotate.pngbin0 -> 272 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmscale.pngbin0 -> 383 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmscene.pngbin0 -> 791 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmskysphere.pngbin0 -> 914 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmskyspheredeclare.pngbin0 -> 768 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmslope.pngbin0 -> 312 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmslopemap.pngbin0 -> 555 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmslopemapdeclare.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmsor.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmsqe.pngbin0 -> 713 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtext.pngbin0 -> 284 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtexture.pngbin0 -> 977 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtexturedeclare.pngbin0 -> 852 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtexturelist.pngbin0 -> 960 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtexturemap.pngbin0 -> 939 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtexturemapdeclare.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtorus.pngbin0 -> 677 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtranslate.pngbin0 -> 463 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmtriangle.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmunion.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/pmwarp.pngbin0 -> 1011 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/polar.pngbin0 -> 508 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/polygon.pngbin0 -> 180 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/polyline.pngbin0 -> 189 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/prec_minus.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/prec_plus.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/previous.pngbin0 -> 601 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/prod.pngbin0 -> 381 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/project_open.pngbin0 -> 814 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/qmake_scopenew.pngbin0 -> 821 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/qmakerun.pngbin0 -> 1553 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/quadricbeziercurve.pngbin0 -> 202 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/queue.pngbin0 -> 1030 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/quiz.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rebuild.pngbin0 -> 851 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rectangle.pngbin0 -> 276 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rectangle2.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rectangleRound.pngbin0 -> 269 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/redo.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/reload.pngbin0 -> 1570 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/reload_page.pngbin0 -> 1260 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/remcol.pngbin0 -> 327 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/removecell.pngbin0 -> 329 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/removecomment.pngbin0 -> 498 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/remrow.pngbin0 -> 304 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/resizecol.pngbin0 -> 303 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/resizerow.pngbin0 -> 296 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/return.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/revert.pngbin0 -> 571 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rightjust.pngbin0 -> 150 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ring.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/roll.pngbin0 -> 1284 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rotate.pngbin0 -> 695 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rotate_ccw.pngbin0 -> 628 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rotate_cw.pngbin0 -> 616 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rowout.pngbin0 -> 251 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rsub.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/rsup.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/run.pngbin0 -> 831 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/run_bounding.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/run_not.pngbin0 -> 639 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/run_skip.pngbin0 -> 602 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/screen.pngbin0 -> 352 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/search.pngbin0 -> 255 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/selecttool.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/send.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/send_backward.pngbin0 -> 202 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadow.pngbin0 -> 375 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowB.pngbin0 -> 273 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowL.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowLB.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowLU.pngbin0 -> 275 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowR.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowRB.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowRU.pngbin0 -> 278 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/shadowU.pngbin0 -> 265 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/show_side_panel.pngbin0 -> 655 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/show_table_column.pngbin0 -> 282 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/show_table_row.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/showmenu.pngbin0 -> 313 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/signature.pngbin0 -> 1117 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sl_addentry.pngbin0 -> 392 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sl_addrecord.pngbin0 -> 413 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sl_delentry.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sl_delrecord.pngbin0 -> 391 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/solidfilldlg.pngbin0 -> 209 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sort_decrease.pngbin0 -> 250 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sort_incr.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/special_paste.pngbin0 -> 502 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/spellcheck.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/spnewgame.pngbin0 -> 996 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/spnewround.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sppausegame.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sqrt.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/start.pngbin0 -> 725 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/stop.pngbin0 -> 1113 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sub.pngbin0 -> 320 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/sum.pngbin0 -> 765 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/super.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_breakoff.pngbin0 -> 358 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_duplicate.pngbin0 -> 464 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_move_left.pngbin0 -> 2786 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_move_right.pngbin0 -> 2798 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_new.pngbin0 -> 1025 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_new_bg.pngbin0 -> 1056 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_remove.pngbin0 -> 433 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tab_remove_other.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text.pngbin0 -> 350 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_block.pngbin0 -> 190 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_bold.pngbin0 -> 181 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_bottom.pngbin0 -> 264 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_center.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_italic.pngbin0 -> 158 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_left.pngbin0 -> 182 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_right.pngbin0 -> 187 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_strike.pngbin0 -> 258 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_top.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/text_under.pngbin0 -> 171 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/thumbnail.pngbin0 -> 1083 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/timespan.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/today.pngbin0 -> 804 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/todo.pngbin0 -> 921 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/toggle_docbrowser.pngbin0 -> 416 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/toggle_log.pngbin0 -> 770 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_clipboard.pngbin0 -> 253 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_delay.pngbin0 -> 195 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_delete.pngbin0 -> 1040 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_disconnect.pngbin0 -> 930 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_dock.pngbin0 -> 839 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_drop_target.pngbin0 -> 1160 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_expert.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_logwindow.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_normal.pngbin0 -> 669 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_offline_mode_off.pngbin0 -> 199 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_offline_mode_on.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_paste.pngbin0 -> 1176 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_pause.pngbin0 -> 130 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_preferences.pngbin0 -> 1465 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_queue.pngbin0 -> 1059 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_restart.pngbin0 -> 1092 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_resume.pngbin0 -> 179 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_shutdown.pngbin0 -> 543 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_timer.pngbin0 -> 1460 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tool_uselastdir.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/top.pngbin0 -> 717 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/translate.pngbin0 -> 1244 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tree_arrange.pngbin0 -> 295 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/tree_win.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/under.pngbin0 -> 729 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/undo.pngbin0 -> 1018 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/ungroup.pngbin0 -> 375 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/unlock.pngbin0 -> 894 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/unsortedList.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/up.pngbin0 -> 1740 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/upper.pngbin0 -> 294 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/validators.pngbin0 -> 999 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/vertical_text.pngbin0 -> 240 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_bottom.pngbin0 -> 671 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_choose.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_detailed.pngbin0 -> 326 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_fit_height.pngbin0 -> 549 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_fit_width.pngbin0 -> 646 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_fit_window.pngbin0 -> 694 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_icon.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_left_right.pngbin0 -> 552 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_multicolumn.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_remove.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_right.pngbin0 -> 668 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_sidetree.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_text.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_top_bottom.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/view_tree.pngbin0 -> 373 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/viewmag+.pngbin0 -> 1338 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/viewmag-.pngbin0 -> 1311 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/viewmag.pngbin0 -> 1305 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/viewmag1.pngbin0 -> 1290 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/viewmagfit.pngbin0 -> 1281 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/volume.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/webarchiver.pngbin0 -> 1313 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/webexport.pngbin0 -> 1380 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/webpres.pngbin0 -> 421 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/whatsnext.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/window_fullscreen.pngbin0 -> 534 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/window_nofullscreen.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/wizard.pngbin0 -> 443 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/actions/xdays.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/dolphin.pngbin0 -> 876 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/kaboodle.pngbin0 -> 1290 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/kivio.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/konqsidebar_mediaplayer.pngbin0 -> 1306 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/kpilot.pngbin0 -> 1093 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/kugar.pngbin0 -> 1169 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/kview.pngbin0 -> 1398 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/noatun.pngbin0 -> 1306 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/apps/photobook.pngbin0 -> 689 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/empty.pngbin0 -> 604 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/karbon_karbon.pngbin0 -> 945 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kchart_chrt.pngbin0 -> 1216 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kformula_kfo.pngbin0 -> 1059 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kivio_flw.pngbin0 -> 1173 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kpresenter_kpr.pngbin0 -> 1225 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/krita_kra.pngbin0 -> 1135 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kspread_ksp.pngbin0 -> 1288 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kugar_kud.pngbin0 -> 1258 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kugardata.pngbin0 -> 1578 bytes
-rw-r--r--IconThemes/kdeclassic/22x22/mimetypes/kword_kwd.pngbin0 -> 1276 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/1day.pngbin0 -> 875 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/1downarrow.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/1leftarrow.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/1rightarrow.pngbin0 -> 698 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/1uparrow.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/2downarrow.pngbin0 -> 565 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/2leftarrow.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/2rightarrow.pngbin0 -> 622 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/2uparrow.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/5days.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/7days.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/about_kde.pngbin0 -> 2147 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/abs.pngbin0 -> 607 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/appearance.pngbin0 -> 1917 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/appointment.pngbin0 -> 1376 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/areas.pngbin0 -> 372 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/atlantik_buy_estate.pngbin0 -> 643 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/attach.pngbin0 -> 1110 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/auction.pngbin0 -> 2459 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/back.pngbin0 -> 1107 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/blend.pngbin0 -> 454 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/bookmark.pngbin0 -> 1019 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/bookmark_add.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/bookmark_folder.pngbin0 -> 2064 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/bookmark_toolbar.pngbin0 -> 909 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_all.pngbin0 -> 204 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_bottom.pngbin0 -> 213 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_fall.pngbin0 -> 315 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_horizontal.pngbin0 -> 219 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_inside.pngbin0 -> 224 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_left.pngbin0 -> 221 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_outline.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_remove.pngbin0 -> 212 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_right.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_top.pngbin0 -> 216 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_up.pngbin0 -> 311 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/border_vertical.pngbin0 -> 218 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/bottom.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/brackets.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/button_accept.pngbin0 -> 254 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/button_cancel.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/centrejust.pngbin0 -> 169 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/charset.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/chart_bar.pngbin0 -> 361 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/chart_pie2D.pngbin0 -> 400 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/chart_pie3D.pngbin0 -> 438 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/clear_left.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/colorize.pngbin0 -> 2300 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/configure.pngbin0 -> 2192 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/connect_creating.pngbin0 -> 2088 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/connect_established.pngbin0 -> 894 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/connect_no.pngbin0 -> 1767 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/contents.pngbin0 -> 1378 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/contents2.pngbin0 -> 1234 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/contexthelp.pngbin0 -> 1420 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/decrypted.pngbin0 -> 1585 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/define_clip.pngbin0 -> 2531 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/delete_table_col.pngbin0 -> 742 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/delete_table_row.pngbin0 -> 1213 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/down.pngbin0 -> 1066 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/edit.pngbin0 -> 1810 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editclear.pngbin0 -> 205 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editcopy.pngbin0 -> 1289 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editcut.pngbin0 -> 330 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editdelete.pngbin0 -> 1784 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editpaste.pngbin0 -> 2159 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/editshred.pngbin0 -> 1143 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/edittrash.pngbin0 -> 1263 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/effect.pngbin0 -> 1937 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/encrypted.pngbin0 -> 1890 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/endturn.pngbin0 -> 751 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/exec.pngbin0 -> 1647 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/exit.pngbin0 -> 1610 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/fileclose.pngbin0 -> 1085 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/filefind.pngbin0 -> 1786 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/fileimport.pngbin0 -> 1308 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/filenew.pngbin0 -> 1279 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/fileopen.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/fileprint.pngbin0 -> 1610 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/filesave.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/filter.pngbin0 -> 971 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/find.pngbin0 -> 2618 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/finish.pngbin0 -> 1235 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/folder_new.pngbin0 -> 1393 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/fonts.pngbin0 -> 412 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/forward.pngbin0 -> 1232 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/frac.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/frameprint.pngbin0 -> 1309 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/funct.pngbin0 -> 298 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/ganttSelect.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/ganttSelecttask.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/ganttUnselecttask.pngbin0 -> 208 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/gear.pngbin0 -> 2749 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/gohome.pngbin0 -> 1183 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/goto.pngbin0 -> 964 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/halfencrypted.pngbin0 -> 1372 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/help.pngbin0 -> 953 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/highlighting.pngbin0 -> 1618 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/highscore.pngbin0 -> 2440 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/hilo.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/homepage.pngbin0 -> 2782 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/identity.pngbin0 -> 1751 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/images_display.pngbin0 -> 2191 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/indent.pngbin0 -> 840 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/insert_table_col.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/insert_table_row.pngbin0 -> 1272 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/int.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/jail_pay.pngbin0 -> 2534 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/kde.pngbin0 -> 96272 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/kdeprint_inklevel.pngbin0 -> 2209 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/krec_record.pngbin0 -> 1170 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/ktip.pngbin0 -> 1300 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/leftjust.pngbin0 -> 414 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/lines.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/list.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/locationbar_erase.pngbin0 -> 279 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/lock.pngbin0 -> 1324 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/lsub.pngbin0 -> 403 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/lsup.pngbin0 -> 403 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_find.pngbin0 -> 2103 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_forward.pngbin0 -> 1834 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_generic.pngbin0 -> 1569 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_get.pngbin0 -> 1247 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_new.pngbin0 -> 1723 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_post_to.pngbin0 -> 1279 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_reply.pngbin0 -> 1856 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_replyall.pngbin0 -> 1692 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_replylist.pngbin0 -> 1585 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mail_send.pngbin0 -> 1810 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_abs.pngbin0 -> 607 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_brace.pngbin0 -> 459 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_brackets.pngbin0 -> 476 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_frac.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_int.pngbin0 -> 437 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_lsub.pngbin0 -> 292 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_lsup.pngbin0 -> 243 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_matrix.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_onetwomatrix.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_paren.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_prod.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_rsub.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_rsup.pngbin0 -> 287 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_sqrt.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/math_sum.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/matrix.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/menu_new.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/message_reply.pngbin0 -> 1452 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/misc.pngbin0 -> 2749 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/monop_board.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/month.pngbin0 -> 1164 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/mouse.pngbin0 -> 1321 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_32ndnote.pngbin0 -> 301 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_cleficon.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_cross.pngbin0 -> 236 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_dottednote.pngbin0 -> 297 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_eightnote.pngbin0 -> 302 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_fermatenote.pngbin0 -> 232 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_flat.pngbin0 -> 293 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_fullnote.pngbin0 -> 265 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_halfnote.pngbin0 -> 259 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_natur.pngbin0 -> 215 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_quarternote.pngbin0 -> 254 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/music_sixteenthnote.pngbin0 -> 303 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/news_subscribe.pngbin0 -> 1522 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/next.pngbin0 -> 567 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/nextsection.pngbin0 -> 1167 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/onetwomatrix.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/openterm.pngbin0 -> 1823 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/opentermred.pngbin0 -> 1728 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/over.pngbin0 -> 647 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/paren.pngbin0 -> 481 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/percent.pngbin0 -> 417 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/piano.pngbin0 -> 361 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_eject.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_end.pngbin0 -> 774 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_fwd.pngbin0 -> 622 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_pause.pngbin0 -> 532 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_play.pngbin0 -> 698 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_rew.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_start.pngbin0 -> 722 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/player_stop.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/power.pngbin0 -> 421 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/prec_minus.pngbin0 -> 286 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/prec_plus.pngbin0 -> 346 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/previous.pngbin0 -> 1192 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/prevsection.pngbin0 -> 1175 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/prod.pngbin0 -> 309 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/queue.pngbin0 -> 407 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/quiz.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect1.pngbin0 -> 164 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect2.pngbin0 -> 163 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect3.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect4.pngbin0 -> 197 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect5.pngbin0 -> 158 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect6.pngbin0 -> 156 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect7.pngbin0 -> 192 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rect8.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/redo.pngbin0 -> 1751 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/reload.pngbin0 -> 1513 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/revert.pngbin0 -> 1192 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rightjust.pngbin0 -> 409 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/ring.pngbin0 -> 347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/roll.pngbin0 -> 2235 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rotate.pngbin0 -> 487 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rotate_ccw.pngbin0 -> 524 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rotate_cw.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rsub.pngbin0 -> 403 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/rsup.pngbin0 -> 390 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/run.pngbin0 -> 1577 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/share.pngbin0 -> 1266 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/show_side_panel.pngbin0 -> 691 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/signature.pngbin0 -> 1618 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/sort_az.pngbin0 -> 267 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/spellcheck.pngbin0 -> 823 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/spnewgame.pngbin0 -> 2440 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/spnewround.pngbin0 -> 2504 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/sppausegame.pngbin0 -> 323 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/sqrt.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/start.pngbin0 -> 1112 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/stop.pngbin0 -> 1335 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/sum.pngbin0 -> 325 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_breakoff.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_duplicate.pngbin0 -> 524 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_move_left.pngbin0 -> 506 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_move_right.pngbin0 -> 508 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_new.pngbin0 -> 1096 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_new_bg.pngbin0 -> 1112 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_remove.pngbin0 -> 550 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/tab_remove_other.pngbin0 -> 546 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_block.pngbin0 -> 213 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_bold.pngbin0 -> 220 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_center.pngbin0 -> 206 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_italic.pngbin0 -> 204 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_left.pngbin0 -> 214 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_right.pngbin0 -> 183 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/text_under.pngbin0 -> 200 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/today.pngbin0 -> 959 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/todo.pngbin0 -> 1251 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/toggle_log.pngbin0 -> 1383 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/top.pngbin0 -> 1102 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/under.pngbin0 -> 646 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/undo.pngbin0 -> 1210 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/unindent.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/unlock.pngbin0 -> 1585 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/up.pngbin0 -> 1093 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view.pngbin0 -> 307 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_bottom.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_choose.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_detailed.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_fit_height.pngbin0 -> 883 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_fit_width.pngbin0 -> 1204 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_fit_window.pngbin0 -> 1254 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_icon.pngbin0 -> 1237 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_left_right.pngbin0 -> 346 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_multicolumn.pngbin0 -> 358 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_remove.pngbin0 -> 707 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_right.pngbin0 -> 703 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_text.pngbin0 -> 1016 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_top_bottom.pngbin0 -> 333 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/view_tree.pngbin0 -> 820 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/viewmag+.pngbin0 -> 2521 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/viewmag-.pngbin0 -> 2513 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/viewmag.pngbin0 -> 2508 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/volume.pngbin0 -> 447 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/window_fullscreen.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/window_nofullscreen.pngbin0 -> 538 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/actions/wizard.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/access.pngbin0 -> 2015 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/acroread.pngbin0 -> 2188 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/agent.pngbin0 -> 1327 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/aktion.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/alevt.pngbin0 -> 390 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/amor.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/applixware.pngbin0 -> 270 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ark.pngbin0 -> 1135 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/atlantik.pngbin0 -> 2127 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/atlantikdesigner.pngbin0 -> 1640 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/background.pngbin0 -> 1016 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/bell.pngbin0 -> 937 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/blender.pngbin0 -> 1340 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/cache.pngbin0 -> 2980 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/clanbomber.pngbin0 -> 1433 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/clock.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/colors.pngbin0 -> 1702 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/cookie.pngbin0 -> 2189 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/date.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/designer.pngbin0 -> 324 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/dlgedit.pngbin0 -> 342 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/dolphin.pngbin0 -> 1271 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/edu_languages.pngbin0 -> 2191 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/edu_mathematics.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/edu_miscellanous.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/edu_science.pngbin0 -> 430 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/emacs.pngbin0 -> 2152 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/email.pngbin0 -> 1524 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/energy.pngbin0 -> 2549 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/energy_star.pngbin0 -> 1453 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/enhanced_browsing.pngbin0 -> 2149 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/error.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/filetypes.pngbin0 -> 2123 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/flashkard.pngbin0 -> 343 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/fonts.pngbin0 -> 412 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/gimp.pngbin0 -> 442 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/go.pngbin0 -> 2163 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/gv.pngbin0 -> 344 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/gvim.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/help_index.pngbin0 -> 1509 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/hwinfo.pngbin0 -> 1554 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/icons.pngbin0 -> 1146 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/iconthemes.pngbin0 -> 1497 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/input_devices_settings.pngbin0 -> 2157 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kaboodle.pngbin0 -> 1977 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kaddressbook.pngbin0 -> 973 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kalarm.pngbin0 -> 1516 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kalzium.pngbin0 -> 1860 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kaphorism.pngbin0 -> 1689 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kappfinder.pngbin0 -> 1812 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/karbon.pngbin0 -> 1115 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/karm.pngbin0 -> 1527 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kasteroids.pngbin0 -> 960 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kate.pngbin0 -> 1635 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/katomic.pngbin0 -> 340 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kaudiocreator.pngbin0 -> 2312 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kbackgammon.pngbin0 -> 901 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kbackgammon_engine.pngbin0 -> 1455 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kbattleship.pngbin0 -> 2361 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kblackbox.pngbin0 -> 2101 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kbounce.pngbin0 -> 863 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kbruch.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcalc.pngbin0 -> 1559 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kchart.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmdevices.pngbin0 -> 1608 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmdf.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmdrkonqi.pngbin0 -> 1834 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmfontinst.pngbin0 -> 412 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmkicker.pngbin0 -> 690 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmkwm.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmmemory.pngbin0 -> 901 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmmidi.pngbin0 -> 1168 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmpartitions.pngbin0 -> 1142 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmpci.pngbin0 -> 990 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmprocessor.pngbin0 -> 636 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmscsi.pngbin0 -> 2538 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmsound.pngbin0 -> 529 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmsystem.pngbin0 -> 2317 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcmx.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcoloredit.pngbin0 -> 547 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcontrol.pngbin0 -> 1429 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kcron.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdat.pngbin0 -> 1575 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdat_backup.pngbin0 -> 1422 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdat_restore.pngbin0 -> 1488 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdat_verify.pngbin0 -> 1484 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_process.pngbin0 -> 920 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_stopped.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_process.pngbin0 -> 905 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote.pngbin0 -> 699 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_process.pngbin0 -> 924 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_stopped.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_stopped.pngbin0 -> 615 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprint_printer_users.pngbin0 -> 1292 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdeprintfax.pngbin0 -> 1739 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdevelop.pngbin0 -> 1939 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdf.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdict.pngbin0 -> 1893 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdisknav.pngbin0 -> 1935 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdmconfig.pngbin0 -> 548 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kdvi.pngbin0 -> 2190 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kedit.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/keditbookmarks.pngbin0 -> 1019 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/keduca.pngbin0 -> 2170 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kenolaba.pngbin0 -> 2278 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/key_bindings.pngbin0 -> 2091 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/keyboard.pngbin0 -> 1862 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/keyboard_layout.pngbin0 -> 1964 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kfax.pngbin0 -> 1722 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kfind.pngbin0 -> 962 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kfloppy.pngbin0 -> 1347 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kfm.pngbin0 -> 1033 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kfm_home.pngbin0 -> 2382 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kformula.pngbin0 -> 772 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kghostview.pngbin0 -> 2173 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/khangman.pngbin0 -> 1072 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/khelpcenter.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/khexedit.pngbin0 -> 1146 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kiconedit.pngbin0 -> 853 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kig.pngbin0 -> 1682 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kit.pngbin0 -> 689 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kivio.pngbin0 -> 1350 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kjobviewer.pngbin0 -> 1406 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kjots.pngbin0 -> 1190 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kjumpingcube.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/klatin.pngbin0 -> 1497 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/klettres.pngbin0 -> 1735 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/klines.pngbin0 -> 1209 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/klipper.pngbin0 -> 1904 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmahjongg.pngbin0 -> 545 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmail.pngbin0 -> 1038 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmailcvt.pngbin0 -> 1549 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmathtool.pngbin0 -> 2191 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmenu.pngbin0 -> 2163 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmenuedit.pngbin0 -> 1294 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmessedwords.pngbin0 -> 3344 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmid.pngbin0 -> 1293 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmidi.pngbin0 -> 441 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmines.pngbin0 -> 811 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmix.pngbin0 -> 1969 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmoon.pngbin0 -> 2111 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kmplot.pngbin0 -> 308 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/knewsticker.pngbin0 -> 1724 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/knode.pngbin0 -> 1724 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/knotes.pngbin0 -> 1356 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/knotesconduit.pngbin0 -> 369 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/knotify.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kodo.pngbin0 -> 1698 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kolf.pngbin0 -> 758 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/konqsidebar_mediaplayer.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/konqueror.pngbin0 -> 2815 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/konquest.pngbin0 -> 2360 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/konsole.pngbin0 -> 2210 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kontour.pngbin0 -> 2026 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/korganizer.pngbin0 -> 1633 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/korn.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpackage.pngbin0 -> 1542 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpager.pngbin0 -> 784 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpaint.pngbin0 -> 2299 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpat.pngbin0 -> 397 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpercentage.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpersonalizer.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpf.pngbin0 -> 1915 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpilot.pngbin0 -> 1953 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpoker.pngbin0 -> 1686 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpovmodeler.pngbin0 -> 1548 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kppp.pngbin0 -> 1373 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kpresenter.pngbin0 -> 1697 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/krdc.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kreversi.pngbin0 -> 2117 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/krfb.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/krita.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kruler.pngbin0 -> 730 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksame.pngbin0 -> 1328 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kscd.pngbin0 -> 1048 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kscreensaver.pngbin0 -> 1266 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kshisen.pngbin0 -> 1119 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksim.pngbin0 -> 1378 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksirc.pngbin0 -> 1536 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksirtet.pngbin0 -> 2097 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksmiletris.pngbin0 -> 1415 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksnake.pngbin0 -> 1469 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksnapshot.pngbin0 -> 1363 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksokoban.pngbin0 -> 1159 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kspaceduel.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kspread.pngbin0 -> 1403 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kstars.pngbin0 -> 1598 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksysguard.pngbin0 -> 2238 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ksysv.pngbin0 -> 1357 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktalkd.pngbin0 -> 1490 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kthememgr.pngbin0 -> 1370 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktimemon.pngbin0 -> 345 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktip.pngbin0 -> 1300 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktouch.pngbin0 -> 2110 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktron.pngbin0 -> 392 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/ktuberling.pngbin0 -> 5916 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kudesigner.pngbin0 -> 576 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kugar.pngbin0 -> 1905 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kuickshow.pngbin0 -> 954 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kuser.pngbin0 -> 1275 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kview.pngbin0 -> 2385 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kviewshell.pngbin0 -> 2042 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kvoctrain.pngbin0 -> 1011 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kwikdisk.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kwin.pngbin0 -> 784 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kwin4.pngbin0 -> 1360 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kword.pngbin0 -> 2136 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kworldclock.pngbin0 -> 2188 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kwrite.pngbin0 -> 1635 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kxconfig.pngbin0 -> 247 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/kxkb.pngbin0 -> 1862 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/laptop_battery.pngbin0 -> 1442 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/laptop_pcmcia.pngbin0 -> 1375 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/licq.pngbin0 -> 1858 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/locale.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/looknfeel.pngbin0 -> 1925 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/lskat.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/lyx.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/mac.pngbin0 -> 1342 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/mathematica.pngbin0 -> 522 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/megami.pngbin0 -> 822 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/mouse.pngbin0 -> 1290 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/multimedia.pngbin0 -> 1969 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/nedit.pngbin0 -> 1242 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/netscape.pngbin0 -> 2694 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/noatun.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/opera.pngbin0 -> 1231 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package.pngbin0 -> 1295 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_applications.pngbin0 -> 1648 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_editors.pngbin0 -> 1757 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_edutainment.pngbin0 -> 2614 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_favourite.pngbin0 -> 1668 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_games.pngbin0 -> 1686 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_games_arcade.pngbin0 -> 1514 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_games_board.pngbin0 -> 2005 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_games_card.pngbin0 -> 1925 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_games_strategy.pngbin0 -> 1649 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_graphics.pngbin0 -> 2120 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_multimedia.pngbin0 -> 2371 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_network.pngbin0 -> 2174 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_settings.pngbin0 -> 1661 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_system.pngbin0 -> 2595 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_toys.pngbin0 -> 2707 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_utilities.pngbin0 -> 2208 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/package_wordprocessing.pngbin0 -> 1451 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/password.pngbin0 -> 2002 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/penguin.pngbin0 -> 435 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/personal.pngbin0 -> 1849 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/photobook.pngbin0 -> 1224 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/plan.pngbin0 -> 456 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/printmgr.pngbin0 -> 1406 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/proxy.pngbin0 -> 1079 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/pybliographic.pngbin0 -> 1388 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/pysol.pngbin0 -> 378 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/realplayer.pngbin0 -> 1850 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/samba.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/style.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/stylesheet.pngbin0 -> 1944 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/terminal.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/usb.pngbin0 -> 1889 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/wabi.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/window_list.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/winprops.pngbin0 -> 1244 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/wp.pngbin0 -> 582 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/x.pngbin0 -> 801 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xapp.pngbin0 -> 798 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xawtv.pngbin0 -> 526 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xcalc.pngbin0 -> 263 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xclipboard.pngbin0 -> 363 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xclock.pngbin0 -> 351 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xconsole.pngbin0 -> 357 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xedit.pngbin0 -> 1976 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xemacs.pngbin0 -> 2152 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xeyes.pngbin0 -> 291 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xfig.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xfmail.pngbin0 -> 317 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xload.pngbin0 -> 226 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xmag.pngbin0 -> 1243 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xmms.pngbin0 -> 2668 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xosview.pngbin0 -> 356 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xpaint.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/apps/xv.pngbin0 -> 875 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/3floppy_mount.pngbin0 -> 1531 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/3floppy_unmount.pngbin0 -> 1355 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/5floppy_mount.pngbin0 -> 1136 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/5floppy_unmount.pngbin0 -> 1044 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/camera.pngbin0 -> 1181 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdaudio_mount.pngbin0 -> 2315 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdaudio_unmount.pngbin0 -> 2122 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdrom_mount.pngbin0 -> 2094 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdrom_unmount.pngbin0 -> 1929 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdwriter_mount.pngbin0 -> 2752 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/cdwriter_unmount.pngbin0 -> 2551 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/dvd_mount.pngbin0 -> 2273 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/dvd_unmount.pngbin0 -> 2144 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/hdd_mount.pngbin0 -> 1785 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/hdd_unmount.pngbin0 -> 1323 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/memory.pngbin0 -> 1008 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/mo_mount.pngbin0 -> 1125 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/mo_unmount.pngbin0 -> 1025 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/nfs_mount.pngbin0 -> 1190 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/nfs_unmount.pngbin0 -> 1041 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/pda_black.pngbin0 -> 1489 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/pda_blue.pngbin0 -> 1507 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/print_class.pngbin0 -> 531 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/print_printer.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/printer1.pngbin0 -> 1140 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/printer2.pngbin0 -> 1586 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/scanner.pngbin0 -> 1519 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/tablet.pngbin0 -> 883 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/zip_mount.pngbin0 -> 984 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/devices/zip_unmount.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/blockdevice.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/camera.pngbin0 -> 1181 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/chardevice.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/desktop.pngbin0 -> 2113 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/exec.pngbin0 -> 1993 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/file_broken.pngbin0 -> 1412 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/file_important.pngbin0 -> 1785 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/file_locked.pngbin0 -> 1564 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/file_temporary.pngbin0 -> 2656 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder.pngbin0 -> 1896 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_blue.pngbin0 -> 1840 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_blue_open.pngbin0 -> 2087 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_cyan.pngbin0 -> 1814 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_cyan_open.pngbin0 -> 2088 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_green.pngbin0 -> 1832 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_green_open.pngbin0 -> 2106 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_grey.pngbin0 -> 1732 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_grey_open.pngbin0 -> 2043 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_home.pngbin0 -> 2384 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_html.pngbin0 -> 2606 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_image.pngbin0 -> 2555 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_important.pngbin0 -> 2000 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_locked.pngbin0 -> 2181 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_man.pngbin0 -> 2202 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_open.pngbin0 -> 2052 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_orange.pngbin0 -> 1824 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_orange_open.pngbin0 -> 2098 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_print2.pngbin0 -> 1742 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_red.pngbin0 -> 1829 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_red_open.pngbin0 -> 2098 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_sound.pngbin0 -> 2438 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_tar.pngbin0 -> 2460 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_txt.pngbin0 -> 2510 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_video.pngbin0 -> 2779 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_violet.pngbin0 -> 1823 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_violet_open.pngbin0 -> 2105 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_wordprocessing.pngbin0 -> 2407 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_yellow.pngbin0 -> 1801 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/folder_yellow_open.pngbin0 -> 2089 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/ftp.pngbin0 -> 2542 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/link.pngbin0 -> 290 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/lockoverlay.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/network.pngbin0 -> 3214 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/network_local.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/pipe.pngbin0 -> 1545 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/services.pngbin0 -> 1375 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/shredder.pngbin0 -> 1680 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/socket.pngbin0 -> 2043 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/trashcan_empty.pngbin0 -> 1668 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/trashcan_full.pngbin0 -> 1939 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/www.pngbin0 -> 2551 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/filesystems/zip.pngbin0 -> 398 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/applix.pngbin0 -> 1789 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/ascii.pngbin0 -> 1241 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/binary.pngbin0 -> 1294 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/binary2.pngbin0 -> 2579 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/cdtrack.pngbin0 -> 2353 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/colorscm.pngbin0 -> 2404 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/core.pngbin0 -> 2217 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/deb.pngbin0 -> 1907 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/document.pngbin0 -> 1526 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/document2.pngbin0 -> 1283 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/dvi.pngbin0 -> 2523 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/empty.pngbin0 -> 1150 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/font_bitmap.pngbin0 -> 1936 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/font_truetype.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/font_type1.pngbin0 -> 2054 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/gf.pngbin0 -> 2481 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/html.pngbin0 -> 2924 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/image.pngbin0 -> 2144 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/info.pngbin0 -> 2301 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/karbon_karbon.pngbin0 -> 1610 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kchart_chrt.pngbin0 -> 2079 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kdevelop_project.pngbin0 -> 687 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kformula_kfo.pngbin0 -> 1929 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kivio_flw.pngbin0 -> 2037 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kmultiple.pngbin0 -> 984 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kpovmodeler_doc.pngbin0 -> 1740 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kpresenter_kpr.pngbin0 -> 2256 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/krec_fileempty.pngbin0 -> 1131 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/krec_fileplay.pngbin0 -> 2032 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/krec_filerec.pngbin0 -> 1998 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/krita_kra.pngbin0 -> 2217 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kspread_ksp.pngbin0 -> 2298 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kugar_kud.pngbin0 -> 2264 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kugardata.pngbin0 -> 1964 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/kword_kwd.pngbin0 -> 2259 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/log.pngbin0 -> 2133 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/make.pngbin0 -> 2564 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/man.pngbin0 -> 1772 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/message.pngbin0 -> 2124 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/metafont.pngbin0 -> 2564 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/midi.pngbin0 -> 1808 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/misc_doc.pngbin0 -> 2049 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/netscape_doc.pngbin0 -> 2358 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/pdf.pngbin0 -> 2386 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/pk.pngbin0 -> 2615 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/postscript.pngbin0 -> 2049 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/readme.pngbin0 -> 2301 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/real_doc.pngbin0 -> 1942 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/recycled.pngbin0 -> 2399 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/resource.pngbin0 -> 2049 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/rpm.pngbin0 -> 2168 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/shellscript.pngbin0 -> 1780 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/shellscript2.pngbin0 -> 2468 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/sound.pngbin0 -> 2051 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_c.pngbin0 -> 1369 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_cpp.pngbin0 -> 1442 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_f.pngbin0 -> 1365 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_h.pngbin0 -> 1383 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_java.pngbin0 -> 2188 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_l.pngbin0 -> 1349 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_moc.pngbin0 -> 1932 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_o.pngbin0 -> 1384 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_p.pngbin0 -> 1386 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_pl.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_py.pngbin0 -> 2373 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_s.pngbin0 -> 1389 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/source_y.pngbin0 -> 1381 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/spreadsheet.pngbin0 -> 1716 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/tar.pngbin0 -> 2070 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/tex.pngbin0 -> 2103 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/tgz.pngbin0 -> 2232 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/txt.pngbin0 -> 2208 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/unknown.pngbin0 -> 2219 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/vcalendar.pngbin0 -> 2065 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/vcard.pngbin0 -> 1650 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/vectorgfx.pngbin0 -> 2199 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/video.pngbin0 -> 2705 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/widget_doc.pngbin0 -> 1420 bytes
-rw-r--r--IconThemes/kdeclassic/32x32/mimetypes/wordprocessing.pngbin0 -> 2223 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/effect.pngbin0 -> 3073 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/exit.pngbin0 -> 2238 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/fileclose.pngbin0 -> 1567 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/gear.pngbin0 -> 4800 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/indent.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/ktip.pngbin0 -> 1825 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/lock.pngbin0 -> 1968 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/misc.pngbin0 -> 4800 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/share.pngbin0 -> 2013 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/actions/unindent.pngbin0 -> 1215 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/access.pngbin0 -> 3060 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/agent.pngbin0 -> 2026 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ark.pngbin0 -> 1491 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/atlantik.pngbin0 -> 3791 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/bell.pngbin0 -> 1454 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/blender.pngbin0 -> 2135 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/clock.pngbin0 -> 1708 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/colors.pngbin0 -> 2850 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/cookie.pngbin0 -> 3736 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/date.pngbin0 -> 1708 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/designer.pngbin0 -> 1169 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/dolphin.pngbin0 -> 2064 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/edu_languages.pngbin0 -> 2046 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/emacs.pngbin0 -> 2752 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/email.pngbin0 -> 2631 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/energy.pngbin0 -> 4206 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/energy_star.pngbin0 -> 2634 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/enhanced_browsing.pngbin0 -> 3539 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/filetypes.pngbin0 -> 3355 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/flashkard.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/fonts.pngbin0 -> 628 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/gimp.pngbin0 -> 1827 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/go.pngbin0 -> 3286 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/gvim.pngbin0 -> 2234 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/help_index.pngbin0 -> 2480 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/hwinfo.pngbin0 -> 2442 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/icons.pngbin0 -> 2108 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/iconthemes.pngbin0 -> 2754 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/input_devices_settings.pngbin0 -> 3451 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kaboodle.pngbin0 -> 3339 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kaddressbook.pngbin0 -> 1300 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kalarm.pngbin0 -> 1990 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kaphorism.pngbin0 -> 2949 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kappfinder.pngbin0 -> 2899 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/karbon.pngbin0 -> 1476 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/karm.pngbin0 -> 2769 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kasteroids.pngbin0 -> 2061 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kate.pngbin0 -> 3220 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kbackgammon.pngbin0 -> 1853 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kbackgammon_engine.pngbin0 -> 2257 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kblackbox.pngbin0 -> 3091 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcalc.pngbin0 -> 2020 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcharselect.pngbin0 -> 1353 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kchart.pngbin0 -> 2617 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmdevices.pngbin0 -> 2868 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmdrkonqi.pngbin0 -> 2647 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmfontinst.pngbin0 -> 628 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmkwm.pngbin0 -> 1957 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmmemory.pngbin0 -> 1598 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmmidi.pngbin0 -> 1631 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmpartitions.pngbin0 -> 1990 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmpci.pngbin0 -> 1403 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmprocessor.pngbin0 -> 966 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmscsi.pngbin0 -> 3977 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcmsystem.pngbin0 -> 4497 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kcontrol.pngbin0 -> 2124 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdat.pngbin0 -> 1376 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdevelop.pngbin0 -> 4183 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdict.pngbin0 -> 4190 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdisknav.pngbin0 -> 2941 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdmconfig.pngbin0 -> 1737 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kdvi.pngbin0 -> 3574 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kedit.pngbin0 -> 1343 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/keduca.pngbin0 -> 4067 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kenolaba.pngbin0 -> 3755 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/keyboard.pngbin0 -> 2941 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/keyboard_layout.pngbin0 -> 3146 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kfax.pngbin0 -> 2458 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kfind.pngbin0 -> 3063 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kfloppy.pngbin0 -> 2071 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kfm.pngbin0 -> 1272 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kfm_home.pngbin0 -> 3956 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kformula.pngbin0 -> 725 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kget.pngbin0 -> 4776 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kghostview.pngbin0 -> 3633 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/khelpcenter.pngbin0 -> 4243 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/khexedit.pngbin0 -> 1878 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kiconedit.pngbin0 -> 1187 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kit.pngbin0 -> 751 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kivio.pngbin0 -> 1997 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kjots.pngbin0 -> 1472 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/klipper.pngbin0 -> 3464 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmahjongg.pngbin0 -> 3020 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmail.pngbin0 -> 1783 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmailcvt.pngbin0 -> 4271 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmenu.pngbin0 -> 3286 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmenuedit.pngbin0 -> 1963 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmid.pngbin0 -> 2019 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmidi.pngbin0 -> 839 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmines.pngbin0 -> 1328 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmix.pngbin0 -> 2916 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kmoon.pngbin0 -> 4120 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/knewsticker.pngbin0 -> 2575 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/knode.pngbin0 -> 2575 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/knotes.pngbin0 -> 2338 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/knotify.pngbin0 -> 761 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kodo.pngbin0 -> 2865 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kolf.pngbin0 -> 1329 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/konqsidebar_mediaplayer.pngbin0 -> 4277 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/konqueror.pngbin0 -> 4308 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/konquest.pngbin0 -> 2421 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/konsole.pngbin0 -> 3537 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kontour.pngbin0 -> 2593 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/korganizer.pngbin0 -> 2003 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/korn.pngbin0 -> 2560 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpackage.pngbin0 -> 1619 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpager.pngbin0 -> 1081 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpaint.pngbin0 -> 2471 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpat.pngbin0 -> 732 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpf.pngbin0 -> 3480 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpilot.pngbin0 -> 3386 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpilotDaemon.pngbin0 -> 2889 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpoker.pngbin0 -> 3470 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kppp.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kpresenter.pngbin0 -> 3026 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/krdc.pngbin0 -> 2381 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/krec.pngbin0 -> 1606 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kreversi.pngbin0 -> 3606 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/krfb.pngbin0 -> 2381 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/krita.pngbin0 -> 2369 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kruler.pngbin0 -> 932 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksame.pngbin0 -> 1168 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kscd.pngbin0 -> 2095 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kscreensaver.pngbin0 -> 2031 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kshisen.pngbin0 -> 1797 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksim.pngbin0 -> 2421 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksirc.pngbin0 -> 1557 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksirtet.pngbin0 -> 3758 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksmiletris.pngbin0 -> 2251 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksnake.pngbin0 -> 2219 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksnapshot.pngbin0 -> 1968 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksokoban.pngbin0 -> 2298 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kspread.pngbin0 -> 3148 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kstars.pngbin0 -> 2814 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksysguard.pngbin0 -> 2547 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ksysv.pngbin0 -> 1898 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ktalkd.pngbin0 -> 2267 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kthememgr.pngbin0 -> 2159 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/ktip.pngbin0 -> 1825 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kugar.pngbin0 -> 3198 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kuser.pngbin0 -> 1750 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kview.pngbin0 -> 4145 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kviewshell.pngbin0 -> 3327 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kvoctrain.pngbin0 -> 1916 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kwin.pngbin0 -> 1081 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kwin4.pngbin0 -> 2378 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kword.pngbin0 -> 3132 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kworldclock.pngbin0 -> 3345 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kwrite.pngbin0 -> 3220 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/kxkb.pngbin0 -> 2941 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/laptop_battery.pngbin0 -> 2257 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/laptop_pcmcia.pngbin0 -> 1751 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/licq.pngbin0 -> 3665 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/locale.pngbin0 -> 2402 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/looknfeel.pngbin0 -> 3572 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/lskat.pngbin0 -> 777 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/mouse.pngbin0 -> 2188 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/mozilla.pngbin0 -> 4081 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/multimedia.pngbin0 -> 2916 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/netscape.pngbin0 -> 5201 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/noatun.pngbin0 -> 4277 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/opera.pngbin0 -> 1798 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package.pngbin0 -> 2234 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_applications.pngbin0 -> 2334 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_editors.pngbin0 -> 1778 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_edutainment.pngbin0 -> 4603 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_favourite.pngbin0 -> 1876 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_games.pngbin0 -> 2275 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_games_arcade.pngbin0 -> 1907 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_games_board.pngbin0 -> 3684 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_games_card.pngbin0 -> 3487 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_games_strategy.pngbin0 -> 2996 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_graphics.pngbin0 -> 2141 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_multimedia.pngbin0 -> 2449 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_network.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_settings.pngbin0 -> 1744 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_system.pngbin0 -> 4954 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_toys.pngbin0 -> 2840 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_utilities.pngbin0 -> 2313 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/package_wordprocessing.pngbin0 -> 1546 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/password.pngbin0 -> 3024 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/personal.pngbin0 -> 2755 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/proxy.pngbin0 -> 1621 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/remote.pngbin0 -> 1921 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/samba.pngbin0 -> 4049 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/style.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/stylesheet.pngbin0 -> 3290 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/terminal.pngbin0 -> 1442 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/usb.pngbin0 -> 3134 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/window_list.pngbin0 -> 1957 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/winprops.pngbin0 -> 1504 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/xedit.pngbin0 -> 2992 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/xemacs.pngbin0 -> 2752 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/xmag.pngbin0 -> 2619 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/apps/xv.pngbin0 -> 867 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/3floppy_mount.pngbin0 -> 2542 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/3floppy_unmount.pngbin0 -> 2380 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/5floppy_mount.pngbin0 -> 2385 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/5floppy_unmount.pngbin0 -> 2141 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdaudio_mount.pngbin0 -> 3619 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdaudio_unmount.pngbin0 -> 3515 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdrom_mount.pngbin0 -> 3229 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdrom_unmount.pngbin0 -> 3113 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdwriter_mount.pngbin0 -> 4266 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/cdwriter_unmount.pngbin0 -> 4175 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/dvd_mount.pngbin0 -> 3525 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/dvd_unmount.pngbin0 -> 3521 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/hdd_mount.pngbin0 -> 2977 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/hdd_unmount.pngbin0 -> 2904 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/memory.pngbin0 -> 1711 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/mo_mount.pngbin0 -> 2288 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/mo_unmount.pngbin0 -> 2103 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/nfs_mount.pngbin0 -> 1547 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/nfs_unmount.pngbin0 -> 1394 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/printer1.pngbin0 -> 2004 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/printer2.pngbin0 -> 2129 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/scanner.pngbin0 -> 1637 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/tablet.pngbin0 -> 3058 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/zip_mount.pngbin0 -> 2309 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/devices/zip_unmount.pngbin0 -> 2135 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/blockdevice.pngbin0 -> 1699 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/chardevice.pngbin0 -> 860 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/desktop.pngbin0 -> 3437 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/exec.pngbin0 -> 3615 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/file_broken.pngbin0 -> 2099 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/file_important.pngbin0 -> 2240 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/file_locked.pngbin0 -> 2017 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder.pngbin0 -> 2712 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_blue.pngbin0 -> 2251 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_blue_open.pngbin0 -> 3610 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_cyan.pngbin0 -> 2686 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_cyan_open.pngbin0 -> 3607 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_green.pngbin0 -> 2655 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_green_open.pngbin0 -> 3625 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_grey.pngbin0 -> 2545 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_grey_open.pngbin0 -> 3398 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_home.pngbin0 -> 3956 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_html.pngbin0 -> 4406 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_image.pngbin0 -> 4229 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_important.pngbin0 -> 3250 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_locked.pngbin0 -> 3223 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_man.pngbin0 -> 3682 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_open.pngbin0 -> 3610 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_orange.pngbin0 -> 2693 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_orange_open.pngbin0 -> 3626 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_red.pngbin0 -> 2658 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_red_open.pngbin0 -> 3637 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_sound.pngbin0 -> 3878 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_tar.pngbin0 -> 4006 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_txt.pngbin0 -> 3817 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_video.pngbin0 -> 4333 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_violet.pngbin0 -> 2691 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_violet_open.pngbin0 -> 3624 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_wordprocessing.pngbin0 -> 3416 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_yellow.pngbin0 -> 2680 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/folder_yellow_open.pngbin0 -> 3597 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/ftp.pngbin0 -> 4454 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/link.pngbin0 -> 582 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/lockoverlay.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/network.pngbin0 -> 5284 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/network_local.pngbin0 -> 1910 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/services.pngbin0 -> 2011 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/shredder.pngbin0 -> 3364 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/socket.pngbin0 -> 2648 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/trashcan_empty.pngbin0 -> 2414 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/trashcan_full.pngbin0 -> 2640 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/www.pngbin0 -> 4251 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/filesystems/zip.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/applix.pngbin0 -> 2431 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/ascii.pngbin0 -> 1448 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/binary.pngbin0 -> 1754 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/binary2.pngbin0 -> 4037 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/cdtrack.pngbin0 -> 3344 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/colorscm.pngbin0 -> 3678 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/core.pngbin0 -> 3252 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/deb.pngbin0 -> 2623 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/document.pngbin0 -> 1910 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/document2.pngbin0 -> 1467 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/dvi.pngbin0 -> 4093 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/empty.pngbin0 -> 1277 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/encrypted.pngbin0 -> 2405 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/font_bitmap.pngbin0 -> 2750 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/font_truetype.pngbin0 -> 2809 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/font_type1.pngbin0 -> 2914 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/gf.pngbin0 -> 3486 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/html.pngbin0 -> 4858 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/image.pngbin0 -> 3299 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/info.pngbin0 -> 3732 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/karbon_karbon.pngbin0 -> 2170 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kchart_chrt.pngbin0 -> 2660 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kformula_kfo.pngbin0 -> 1987 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kget_list.pngbin0 -> 2685 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kivio_flw.pngbin0 -> 2526 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kmultiple.pngbin0 -> 1701 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kpresenter_kpr.pngbin0 -> 2705 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/krita_kra.pngbin0 -> 2159 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kspread_ksp.pngbin0 -> 2568 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kugar_kud.pngbin0 -> 3232 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kugardata.pngbin0 -> 2617 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/kword_kwd.pngbin0 -> 3091 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/log.pngbin0 -> 2904 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/make.pngbin0 -> 3772 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/man.pngbin0 -> 2759 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/message.pngbin0 -> 3098 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/metafont.pngbin0 -> 3549 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/midi.pngbin0 -> 2194 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/misc_doc.pngbin0 -> 4040 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/netscape_doc.pngbin0 -> 3852 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/pdf.pngbin0 -> 3655 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/pk.pngbin0 -> 3848 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/postscript.pngbin0 -> 2985 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/readme.pngbin0 -> 3732 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/real_doc.pngbin0 -> 2270 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/recycled.pngbin0 -> 3414 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/resource.pngbin0 -> 2764 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/rpm.pngbin0 -> 3110 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/shellscript.pngbin0 -> 2482 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/shellscript2.pngbin0 -> 4242 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/sound.pngbin0 -> 3023 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source.pngbin0 -> 1831 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_c.pngbin0 -> 1807 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_cpp.pngbin0 -> 1952 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_f.pngbin0 -> 1762 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_h.pngbin0 -> 1785 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_java.pngbin0 -> 3403 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_l.pngbin0 -> 1755 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_moc.pngbin0 -> 3208 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_o.pngbin0 -> 1772 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_p.pngbin0 -> 1803 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_pl.pngbin0 -> 1583 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_py.pngbin0 -> 3828 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_s.pngbin0 -> 1776 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/source_y.pngbin0 -> 1710 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/spreadsheet.pngbin0 -> 2269 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/tar.pngbin0 -> 3304 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/tex.pngbin0 -> 2849 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/tgz.pngbin0 -> 3591 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/txt.pngbin0 -> 3162 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/unknown.pngbin0 -> 3330 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/vcalendar.pngbin0 -> 2930 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/vcard.pngbin0 -> 2436 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/vectorgfx.pngbin0 -> 3018 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/video.pngbin0 -> 4188 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/widget_doc.pngbin0 -> 2006 bytes
-rw-r--r--IconThemes/kdeclassic/48x48/mimetypes/wordprocessing.pngbin0 -> 2903 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/apps/dolphin.pngbin0 -> 2954 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/filesystems/folder.pngbin0 -> 3712 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/filesystems/folder_html.pngbin0 -> 6918 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/filesystems/link.pngbin0 -> 696 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/binary2.pngbin0 -> 2871 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/cdtrack.pngbin0 -> 5881 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/core.pngbin0 -> 4541 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/document.pngbin0 -> 3280 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/document2.pngbin0 -> 2372 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/empty.pngbin0 -> 2085 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/html.pngbin0 -> 7576 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/image.pngbin0 -> 5940 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/make.pngbin0 -> 5980 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/man.pngbin0 -> 4539 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/midi.pngbin0 -> 3539 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/misc_doc.pngbin0 -> 6309 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/netscape_doc.pngbin0 -> 6702 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/postscript.pngbin0 -> 4885 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/real_doc.pngbin0 -> 4098 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/recycled.pngbin0 -> 6656 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/rpm.pngbin0 -> 4933 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/shellscript.pngbin0 -> 3474 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/shellscript2.pngbin0 -> 6956 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/sound.pngbin0 -> 5689 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source.pngbin0 -> 3126 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_c.pngbin0 -> 2997 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_cpp.pngbin0 -> 3221 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_f.pngbin0 -> 2979 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_h.pngbin0 -> 2971 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_l.pngbin0 -> 2927 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_o.pngbin0 -> 3011 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_p.pngbin0 -> 2989 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_py.pngbin0 -> 6886 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_s.pngbin0 -> 2994 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/source_y.pngbin0 -> 2981 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/tar.pngbin0 -> 4622 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/tgz.pngbin0 -> 5077 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/txt.pngbin0 -> 4791 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/unknown.pngbin0 -> 5649 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/video.pngbin0 -> 6618 bytes
-rw-r--r--IconThemes/kdeclassic/64x64/mimetypes/widget_doc.pngbin0 -> 3167 bytes
-rw-r--r--IconThemes/kdeclassic/LICENSE2
-rw-r--r--IconThemes/kdeclassic/index.theme199
-rw-r--r--IconThemes/kids/16x16/actions/Untitled.pngbin0 -> 1060 bytes
-rw-r--r--IconThemes/kids/16x16/actions/about_kde.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kids/16x16/actions/appearance.pngbin0 -> 1018 bytes
-rw-r--r--IconThemes/kids/16x16/actions/back.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kids/16x16/actions/bookmark.pngbin0 -> 734 bytes
-rw-r--r--IconThemes/kids/16x16/actions/bookmark_add.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/kids/16x16/actions/button_cance.pngbin0 -> 965 bytes
-rw-r--r--IconThemes/kids/16x16/actions/button_ok.pngbin0 -> 993 bytes
-rw-r--r--IconThemes/kids/16x16/actions/cd.pngbin0 -> 1021 bytes
-rw-r--r--IconThemes/kids/16x16/actions/colorize.pngbin0 -> 746 bytes
-rw-r--r--IconThemes/kids/16x16/actions/compfile.pngbin0 -> 1044 bytes
-rw-r--r--IconThemes/kids/16x16/actions/configure.pngbin0 -> 1046 bytes
-rw-r--r--IconThemes/kids/16x16/actions/decrypted.pngbin0 -> 984 bytes
-rw-r--r--IconThemes/kids/16x16/actions/down.pngbin0 -> 1060 bytes
-rw-r--r--IconThemes/kids/16x16/actions/edit.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/actions/editcopy.pngbin0 -> 938 bytes
-rw-r--r--IconThemes/kids/16x16/actions/editcut.pngbin0 -> 890 bytes
-rw-r--r--IconThemes/kids/16x16/actions/editdelete.pngbin0 -> 1001 bytes
-rw-r--r--IconThemes/kids/16x16/actions/editpaste.pngbin0 -> 949 bytes
-rw-r--r--IconThemes/kids/16x16/actions/edittrash.pngbin0 -> 1061 bytes
-rw-r--r--IconThemes/kids/16x16/actions/encrypted.pngbin0 -> 950 bytes
-rw-r--r--IconThemes/kids/16x16/actions/exit.pngbin0 -> 942 bytes
-rw-r--r--IconThemes/kids/16x16/actions/fileclose.pngbin0 -> 907 bytes
-rw-r--r--IconThemes/kids/16x16/actions/filefind.pngbin0 -> 1053 bytes
-rw-r--r--IconThemes/kids/16x16/actions/filenew.pngbin0 -> 953 bytes
-rw-r--r--IconThemes/kids/16x16/actions/fileopen.pngbin0 -> 919 bytes
-rw-r--r--IconThemes/kids/16x16/actions/fileprint.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/kids/16x16/actions/filequickprint.pngbin0 -> 1107 bytes
-rw-r--r--IconThemes/kids/16x16/actions/filesave.pngbin0 -> 991 bytes
-rw-r--r--IconThemes/kids/16x16/actions/filesaveas.pngbin0 -> 991 bytes
-rw-r--r--IconThemes/kids/16x16/actions/find.pngbin0 -> 1063 bytes
-rw-r--r--IconThemes/kids/16x16/actions/fonts.pngbin0 -> 702 bytes
-rw-r--r--IconThemes/kids/16x16/actions/forward.pngbin0 -> 1060 bytes
-rw-r--r--IconThemes/kids/16x16/actions/frameprint.pngbin0 -> 1037 bytes
-rw-r--r--IconThemes/kids/16x16/actions/gohome.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/kids/16x16/actions/help.pngbin0 -> 967 bytes
-rw-r--r--IconThemes/kids/16x16/actions/history.pngbin0 -> 1095 bytes
-rw-r--r--IconThemes/kids/16x16/actions/klipper_doc.pngbin0 -> 1066 bytes
-rw-r--r--IconThemes/kids/16x16/actions/launch.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/kids/16x16/actions/misc.pngbin0 -> 1115 bytes
-rw-r--r--IconThemes/kids/16x16/actions/next-sail.pngbin0 -> 655 bytes
-rw-r--r--IconThemes/kids/16x16/actions/next.pngbin0 -> 949 bytes
-rw-r--r--IconThemes/kids/16x16/actions/previos-sail.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/kids/16x16/actions/previous.pngbin0 -> 953 bytes
-rw-r--r--IconThemes/kids/16x16/actions/redo.pngbin0 -> 685 bytes
-rw-r--r--IconThemes/kids/16x16/actions/reload.pngbin0 -> 902 bytes
-rw-r--r--IconThemes/kids/16x16/actions/run.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/actions/search.pngbin0 -> 1078 bytes
-rw-r--r--IconThemes/kids/16x16/actions/stop.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/kids/16x16/actions/thumbnail.pngbin0 -> 1153 bytes
-rw-r--r--IconThemes/kids/16x16/actions/undo.pngbin0 -> 697 bytes
-rw-r--r--IconThemes/kids/16x16/actions/unlock.pngbin0 -> 993 bytes
-rw-r--r--IconThemes/kids/16x16/actions/up.pngbin0 -> 1063 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_bottom.pngbin0 -> 979 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_choose.pngbin0 -> 1090 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_detailed.pngbin0 -> 1100 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_icon.pngbin0 -> 1084 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_left_right.pngbin0 -> 903 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_multicolumn.pngbin0 -> 1109 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_remove.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_right.pngbin0 -> 979 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_sidetree.pngbin0 -> 1019 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_text.pngbin0 -> 1075 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_top_bottom.pngbin0 -> 907 bytes
-rw-r--r--IconThemes/kids/16x16/actions/view_tree.pngbin0 -> 1065 bytes
-rw-r--r--IconThemes/kids/16x16/actions/viewmag+.pngbin0 -> 954 bytes
-rw-r--r--IconThemes/kids/16x16/actions/viewmag-.pngbin0 -> 994 bytes
-rw-r--r--IconThemes/kids/16x16/actions/viewmag1.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/kids/16x16/actions/viewmagfit.pngbin0 -> 972 bytes
-rw-r--r--IconThemes/kids/16x16/actions/window_fullscreen.pngbin0 -> 1053 bytes
-rw-r--r--IconThemes/kids/16x16/actions/window_new.pngbin0 -> 949 bytes
-rw-r--r--IconThemes/kids/16x16/actions/window_nofullscreen.pngbin0 -> 1061 bytes
-rw-r--r--IconThemes/kids/16x16/apps/Untitled.pngbin0 -> 1167 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agent.pngbin0 -> 863 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_action_fail.pngbin0 -> 965 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_action_success.pngbin0 -> 1008 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_back.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_family-off.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_family.pngbin0 -> 1212 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_forward.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_login.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_print.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_reload.pngbin0 -> 902 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_resume.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_runit.pngbin0 -> 1194 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_stop.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_uninstall-product.pngbin0 -> 1151 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_update_critical.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_update_drivers.pngbin0 -> 990 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_virussafe-off.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/kids/16x16/apps/agt_virussafe.pngbin0 -> 797 bytes
-rw-r--r--IconThemes/kids/16x16/apps/aim.pngbin0 -> 886 bytes
-rw-r--r--IconThemes/kids/16x16/apps/ark.pngbin0 -> 990 bytes
-rw-r--r--IconThemes/kids/16x16/apps/babelfish.pngbin0 -> 1050 bytes
-rw-r--r--IconThemes/kids/16x16/apps/background.pngbin0 -> 958 bytes
-rw-r--r--IconThemes/kids/16x16/apps/bell.pngbin0 -> 763 bytes
-rw-r--r--IconThemes/kids/16x16/apps/browser.pngbin0 -> 956 bytes
-rw-r--r--IconThemes/kids/16x16/apps/cache.pngbin0 -> 1011 bytes
-rw-r--r--IconThemes/kids/16x16/apps/camera.pngbin0 -> 906 bytes
-rw-r--r--IconThemes/kids/16x16/apps/cd-player1.pngbin0 -> 1025 bytes
-rw-r--r--IconThemes/kids/16x16/apps/cd-player222.pngbin0 -> 1587 bytes
-rw-r--r--IconThemes/kids/16x16/apps/clicknrun.pngbin0 -> 1194 bytes
-rw-r--r--IconThemes/kids/16x16/apps/clicknrungrey.pngbin0 -> 1090 bytes
-rw-r--r--IconThemes/kids/16x16/apps/clock.pngbin0 -> 1132 bytes
-rw-r--r--IconThemes/kids/16x16/apps/colors.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/apps/cookie.pngbin0 -> 900 bytes
-rw-r--r--IconThemes/kids/16x16/apps/date.pngbin0 -> 1092 bytes
-rw-r--r--IconThemes/kids/16x16/apps/display.pngbin0 -> 1063 bytes
-rw-r--r--IconThemes/kids/16x16/apps/email.pngbin0 -> 1037 bytes
-rw-r--r--IconThemes/kids/16x16/apps/energy.pngbin0 -> 977 bytes
-rw-r--r--IconThemes/kids/16x16/apps/energy_star.pngbin0 -> 977 bytes
-rw-r--r--IconThemes/kids/16x16/apps/enhanced_browsing.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/kids/16x16/apps/file-manager.pngbin0 -> 1113 bytes
-rw-r--r--IconThemes/kids/16x16/apps/fileshare.pngbin0 -> 968 bytes
-rw-r--r--IconThemes/kids/16x16/apps/filetypes.pngbin0 -> 923 bytes
-rw-r--r--IconThemes/kids/16x16/apps/fonts.pngbin0 -> 702 bytes
-rw-r--r--IconThemes/kids/16x16/apps/galeon.pngbin0 -> 1081 bytes
-rw-r--r--IconThemes/kids/16x16/apps/gimp.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/kids/16x16/apps/go.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kids/16x16/apps/harddrive.pngbin0 -> 1047 bytes
-rw-r--r--IconThemes/kids/16x16/apps/hook.pngbin0 -> 944 bytes
-rw-r--r--IconThemes/kids/16x16/apps/hwinfo.pngbin0 -> 995 bytes
-rw-r--r--IconThemes/kids/16x16/apps/icons.pngbin0 -> 1130 bytes
-rw-r--r--IconThemes/kids/16x16/apps/iconthemes.pngbin0 -> 1086 bytes
-rw-r--r--IconThemes/kids/16x16/apps/input_devices_settings.pngbin0 -> 978 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcalc.pngbin0 -> 966 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmmemory.pngbin0 -> 925 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmpci.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmprocessor.pngbin0 -> 813 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmsound.pngbin0 -> 1167 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmsystem.pngbin0 -> 1212 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcmx.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcoloredit.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kcontrol.pngbin0 -> 1113 bytes
-rw-r--r--IconThemes/kids/16x16/apps/key_bindings.pngbin0 -> 876 bytes
-rw-r--r--IconThemes/kids/16x16/apps/keyboard.pngbin0 -> 748 bytes
-rw-r--r--IconThemes/kids/16x16/apps/keyboard_layout.pngbin0 -> 1103 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kfloppy.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kfm.pngbin0 -> 1112 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kfm_home.pngbin0 -> 1108 bytes
-rw-r--r--IconThemes/kids/16x16/apps/khelpcenter.pngbin0 -> 1082 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kicker.pngbin0 -> 1185 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kjobviewer.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/klaptopdaemon.pngbin0 -> 1036 bytes
-rw-r--r--IconThemes/kids/16x16/apps/klipper.pngbin0 -> 1057 bytes
-rw-r--r--IconThemes/kids/16x16/apps/klpq.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kmenu.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kmix.pngbin0 -> 772 bytes
-rw-r--r--IconThemes/kids/16x16/apps/knetconfig.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/apps/knotify.pngbin0 -> 811 bytes
-rw-r--r--IconThemes/kids/16x16/apps/konqueror.pngbin0 -> 1123 bytes
-rw-r--r--IconThemes/kids/16x16/apps/konsole.pngbin0 -> 986 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kppp.pngbin0 -> 1095 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kreatecd.pngbin0 -> 1040 bytes
-rw-r--r--IconThemes/kids/16x16/apps/krfb.pngbin0 -> 943 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kscd.pngbin0 -> 1102 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kscreensaver.pngbin0 -> 995 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kservices.pngbin0 -> 1212 bytes
-rw-r--r--IconThemes/kids/16x16/apps/ksmiletris.pngbin0 -> 1095 bytes
-rw-r--r--IconThemes/kids/16x16/apps/ktalkd.pngbin0 -> 940 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kuser.pngbin0 -> 1126 bytes
-rw-r--r--IconThemes/kids/16x16/apps/kxconfig.pngbin0 -> 834 bytes
-rw-r--r--IconThemes/kids/16x16/apps/laptop_battery.pngbin0 -> 1045 bytes
-rw-r--r--IconThemes/kids/16x16/apps/laptop_pcmcia.pngbin0 -> 898 bytes
-rw-r--r--IconThemes/kids/16x16/apps/lin_agt_wrench.pngbin0 -> 1029 bytes
-rw-r--r--IconThemes/kids/16x16/apps/linneighborhood.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kids/16x16/apps/linuxconf.pngbin0 -> 1051 bytes
-rw-r--r--IconThemes/kids/16x16/apps/locale.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kids/16x16/apps/looknfeel.pngbin0 -> 1044 bytes
-rw-r--r--IconThemes/kids/16x16/apps/mail.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/kids/16x16/apps/mascot.pngbin0 -> 830 bytes
-rw-r--r--IconThemes/kids/16x16/apps/mouse.pngbin0 -> 958 bytes
-rw-r--r--IconThemes/kids/16x16/apps/mozilla.pngbin0 -> 906 bytes
-rw-r--r--IconThemes/kids/16x16/apps/multimedia.pngbin0 -> 1167 bytes
-rw-r--r--IconThemes/kids/16x16/apps/mycomputer.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kids/16x16/apps/netscape.pngbin0 -> 984 bytes
-rw-r--r--IconThemes/kids/16x16/apps/network.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/apps/noatun.pngbin0 -> 1009 bytes
-rw-r--r--IconThemes/kids/16x16/apps/os-support.pngbin0 -> 997 bytes
-rw-r--r--IconThemes/kids/16x16/apps/package_settings.pngbin0 -> 1029 bytes
-rw-r--r--IconThemes/kids/16x16/apps/package_system.pngbin0 -> 1212 bytes
-rw-r--r--IconThemes/kids/16x16/apps/package_toys.pngbin0 -> 1174 bytes
-rw-r--r--IconThemes/kids/16x16/apps/package_utilities.pngbin0 -> 1058 bytes
-rw-r--r--IconThemes/kids/16x16/apps/password.pngbin0 -> 908 bytes
-rw-r--r--IconThemes/kids/16x16/apps/penguin.pngbin0 -> 752 bytes
-rw-r--r--IconThemes/kids/16x16/apps/personal.pngbin0 -> 958 bytes
-rw-r--r--IconThemes/kids/16x16/apps/printer.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/printmgr.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/proxy.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/kids/16x16/apps/renamecomputer.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/kids/16x16/apps/samba.pngbin0 -> 946 bytes
-rw-r--r--IconThemes/kids/16x16/apps/sisadmin.pngbin0 -> 888 bytes
-rw-r--r--IconThemes/kids/16x16/apps/star_here.pngbin0 -> 1073 bytes
-rw-r--r--IconThemes/kids/16x16/apps/start_here.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/kids/16x16/apps/stylesheet.pngbin0 -> 1161 bytes
-rw-r--r--IconThemes/kids/16x16/apps/trash.pngbin0 -> 995 bytes
-rw-r--r--IconThemes/kids/16x16/apps/window_list.pngbin0 -> 1158 bytes
-rw-r--r--IconThemes/kids/16x16/apps/windows_users.pngbin0 -> 1119 bytes
-rw-r--r--IconThemes/kids/16x16/apps/x.pngbin0 -> 769 bytes
-rw-r--r--IconThemes/kids/16x16/apps/xcalc.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/kids/16x16/apps/xmail.pngbin0 -> 1126 bytes
-rw-r--r--IconThemes/kids/16x16/apps/xmms.pngbin0 -> 783 bytes
-rw-r--r--IconThemes/kids/16x16/apps/xpaint.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/kids/16x16/devices/3floppy_mount.pngbin0 -> 999 bytes
-rw-r--r--IconThemes/kids/16x16/devices/3floppy_unmount.pngbin0 -> 1026 bytes
-rw-r--r--IconThemes/kids/16x16/devices/camera.pngbin0 -> 905 bytes
-rw-r--r--IconThemes/kids/16x16/devices/cdrom_mount.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/kids/16x16/devices/cdrom_unmount.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/kids/16x16/devices/hdd_mount.pngbin0 -> 969 bytes
-rw-r--r--IconThemes/kids/16x16/devices/hdd_unmount.pngbin0 -> 1047 bytes
-rw-r--r--IconThemes/kids/16x16/devices/memory.pngbin0 -> 925 bytes
-rw-r--r--IconThemes/kids/16x16/devices/network_local.pngbin0 -> 1091 bytes
-rw-r--r--IconThemes/kids/16x16/devices/nfs_unmount.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/kids/16x16/devices/print_printer.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/devices/printer.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/devices/printer2.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/connect_to_network.pngbin0 -> 1106 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/desktop.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/exec.pngbin0 -> 1011 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/favorites.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/favorites2.pngbin0 -> 1009 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/file_temporary.pngbin0 -> 1074 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder.pngbin0 -> 931 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_blue.pngbin0 -> 963 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_doc.pngbin0 -> 1005 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_favorites.pngbin0 -> 964 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_favorites2.pngbin0 -> 1022 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_home.pngbin0 -> 1113 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_htm.pngbin0 -> 934 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_html.pngbin0 -> 921 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_image.pngbin0 -> 973 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_locked.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/folder_music.pngbin0 -> 1061 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/link.pngbin0 -> 432 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/lockoverlay.pngbin0 -> 501 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/network_local.pngbin0 -> 1094 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/socket.pngbin0 -> 1117 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/trashcan_empty.pngbin0 -> 1095 bytes
-rw-r--r--IconThemes/kids/16x16/filesystems/trashcan_full.pngbin0 -> 998 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/cdimage.pngbin0 -> 1024 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/document.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/empty.pngbin0 -> 1041 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/file_locked.pngbin0 -> 1137 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/file_temporary.pngbin0 -> 1037 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/html.pngbin0 -> 1126 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/image.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/midi.pngbin0 -> 1021 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/netscape_doc.pngbin0 -> 1078 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/sound.pngbin0 -> 895 bytes
-rw-r--r--IconThemes/kids/16x16/mimetypes/unknown.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/kids/22x22/actions/Untitled.pngbin0 -> 1573 bytes
-rw-r--r--IconThemes/kids/22x22/actions/about_kde.pngbin0 -> 1602 bytes
-rw-r--r--IconThemes/kids/22x22/actions/appearance.pngbin0 -> 1617 bytes
-rw-r--r--IconThemes/kids/22x22/actions/back.pngbin0 -> 1649 bytes
-rw-r--r--IconThemes/kids/22x22/actions/bookmark.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/kids/22x22/actions/bookmark_add.pngbin0 -> 1203 bytes
-rw-r--r--IconThemes/kids/22x22/actions/button_cance.pngbin0 -> 1450 bytes
-rw-r--r--IconThemes/kids/22x22/actions/button_ok.pngbin0 -> 1480 bytes
-rw-r--r--IconThemes/kids/22x22/actions/cd.pngbin0 -> 1573 bytes
-rw-r--r--IconThemes/kids/22x22/actions/colorize.pngbin0 -> 1032 bytes
-rw-r--r--IconThemes/kids/22x22/actions/compfile.pngbin0 -> 1619 bytes
-rw-r--r--IconThemes/kids/22x22/actions/configure.pngbin0 -> 1649 bytes
-rw-r--r--IconThemes/kids/22x22/actions/decrypted.pngbin0 -> 1402 bytes
-rw-r--r--IconThemes/kids/22x22/actions/down.pngbin0 -> 1573 bytes
-rw-r--r--IconThemes/kids/22x22/actions/edit.pngbin0 -> 1597 bytes
-rw-r--r--IconThemes/kids/22x22/actions/editcopy.pngbin0 -> 1290 bytes
-rw-r--r--IconThemes/kids/22x22/actions/editcut.pngbin0 -> 1341 bytes
-rw-r--r--IconThemes/kids/22x22/actions/editdelete.pngbin0 -> 1464 bytes
-rw-r--r--IconThemes/kids/22x22/actions/editpaste.pngbin0 -> 1430 bytes
-rw-r--r--IconThemes/kids/22x22/actions/edittrash.pngbin0 -> 1598 bytes
-rw-r--r--IconThemes/kids/22x22/actions/encrypted.pngbin0 -> 1368 bytes
-rw-r--r--IconThemes/kids/22x22/actions/exit.pngbin0 -> 1287 bytes
-rw-r--r--IconThemes/kids/22x22/actions/fileclose.pngbin0 -> 1302 bytes
-rw-r--r--IconThemes/kids/22x22/actions/filefind.pngbin0 -> 1635 bytes
-rw-r--r--IconThemes/kids/22x22/actions/filenew.pngbin0 -> 1448 bytes
-rw-r--r--IconThemes/kids/22x22/actions/fileopen.pngbin0 -> 1346 bytes
-rw-r--r--IconThemes/kids/22x22/actions/fileprint.pngbin0 -> 1550 bytes
-rw-r--r--IconThemes/kids/22x22/actions/filequickprint.pngbin0 -> 1718 bytes
-rw-r--r--IconThemes/kids/22x22/actions/filesave.pngbin0 -> 1465 bytes
-rw-r--r--IconThemes/kids/22x22/actions/filesaveas.pngbin0 -> 1401 bytes
-rw-r--r--IconThemes/kids/22x22/actions/find.pngbin0 -> 1607 bytes
-rw-r--r--IconThemes/kids/22x22/actions/fonts.pngbin0 -> 969 bytes
-rw-r--r--IconThemes/kids/22x22/actions/forward.pngbin0 -> 1650 bytes
-rw-r--r--IconThemes/kids/22x22/actions/frameprint.pngbin0 -> 1620 bytes
-rw-r--r--IconThemes/kids/22x22/actions/gohome.pngbin0 -> 1485 bytes
-rw-r--r--IconThemes/kids/22x22/actions/help.pngbin0 -> 1498 bytes
-rw-r--r--IconThemes/kids/22x22/actions/history.pngbin0 -> 1595 bytes
-rw-r--r--IconThemes/kids/22x22/actions/klipper_doc.pngbin0 -> 1640 bytes
-rw-r--r--IconThemes/kids/22x22/actions/launch.pngbin0 -> 987 bytes
-rw-r--r--IconThemes/kids/22x22/actions/misc.pngbin0 -> 1658 bytes
-rw-r--r--IconThemes/kids/22x22/actions/next-sail.pngbin0 -> 974 bytes
-rw-r--r--IconThemes/kids/22x22/actions/next.pngbin0 -> 1354 bytes
-rw-r--r--IconThemes/kids/22x22/actions/previos-sail.pngbin0 -> 991 bytes
-rw-r--r--IconThemes/kids/22x22/actions/previous.pngbin0 -> 1363 bytes
-rw-r--r--IconThemes/kids/22x22/actions/redo.pngbin0 -> 966 bytes
-rw-r--r--IconThemes/kids/22x22/actions/reload.pngbin0 -> 1443 bytes
-rw-r--r--IconThemes/kids/22x22/actions/run.pngbin0 -> 1678 bytes
-rw-r--r--IconThemes/kids/22x22/actions/search.pngbin0 -> 1652 bytes
-rw-r--r--IconThemes/kids/22x22/actions/stop.pngbin0 -> 1283 bytes
-rw-r--r--IconThemes/kids/22x22/actions/thumbnail.pngbin0 -> 1802 bytes
-rw-r--r--IconThemes/kids/22x22/actions/undo.pngbin0 -> 1061 bytes
-rw-r--r--IconThemes/kids/22x22/actions/unlock.pngbin0 -> 1458 bytes
-rw-r--r--IconThemes/kids/22x22/actions/up.pngbin0 -> 1637 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_bottom.pngbin0 -> 1449 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_choose.pngbin0 -> 1658 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_detailed.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_icon.pngbin0 -> 1623 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_left_right.pngbin0 -> 1319 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_multicolumn.pngbin0 -> 1676 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_remove.pngbin0 -> 1278 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_right.pngbin0 -> 1449 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_sidetree.pngbin0 -> 1524 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_text.pngbin0 -> 1584 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_top_bottom.pngbin0 -> 1346 bytes
-rw-r--r--IconThemes/kids/22x22/actions/view_tree.pngbin0 -> 1532 bytes
-rw-r--r--IconThemes/kids/22x22/actions/viewmag+.pngbin0 -> 1456 bytes
-rw-r--r--IconThemes/kids/22x22/actions/viewmag-.pngbin0 -> 1435 bytes
-rw-r--r--IconThemes/kids/22x22/actions/viewmag1.pngbin0 -> 1544 bytes
-rw-r--r--IconThemes/kids/22x22/actions/viewmagfit.pngbin0 -> 1531 bytes
-rw-r--r--IconThemes/kids/22x22/actions/window_fullscreen.pngbin0 -> 1610 bytes
-rw-r--r--IconThemes/kids/22x22/actions/window_new.pngbin0 -> 1425 bytes
-rw-r--r--IconThemes/kids/22x22/actions/window_nofullscreen.pngbin0 -> 1606 bytes
-rw-r--r--IconThemes/kids/22x22/apps/Untitled.pngbin0 -> 1666 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agent.pngbin0 -> 1305 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt-family-off.pngbin0 -> 1427 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_action_fail.pngbin0 -> 1450 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_action_success.pngbin0 -> 1498 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_back.pngbin0 -> 1643 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_family-off.pngbin0 -> 1601 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_family.pngbin0 -> 1864 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_forward.pngbin0 -> 1664 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_login.pngbin0 -> 1462 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_print.pngbin0 -> 1572 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_reload.pngbin0 -> 1411 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_resume.pngbin0 -> 1703 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_runit.pngbin0 -> 1850 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_stop.pngbin0 -> 1298 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_uninstall-product.pngbin0 -> 1647 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_update_critical.pngbin0 -> 731 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_update_drivers.pngbin0 -> 1545 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_virussafe-off.pngbin0 -> 1058 bytes
-rw-r--r--IconThemes/kids/22x22/apps/agt_virussafe.pngbin0 -> 1120 bytes
-rw-r--r--IconThemes/kids/22x22/apps/aim.pngbin0 -> 1288 bytes
-rw-r--r--IconThemes/kids/22x22/apps/ark.pngbin0 -> 1545 bytes
-rw-r--r--IconThemes/kids/22x22/apps/babelfish.pngbin0 -> 1487 bytes
-rw-r--r--IconThemes/kids/22x22/apps/background.pngbin0 -> 1371 bytes
-rw-r--r--IconThemes/kids/22x22/apps/bell.pngbin0 -> 1081 bytes
-rw-r--r--IconThemes/kids/22x22/apps/browser.pngbin0 -> 1375 bytes
-rw-r--r--IconThemes/kids/22x22/apps/cache.pngbin0 -> 1468 bytes
-rw-r--r--IconThemes/kids/22x22/apps/camera.pngbin0 -> 1249 bytes
-rw-r--r--IconThemes/kids/22x22/apps/cd-player1.pngbin0 -> 1454 bytes
-rw-r--r--IconThemes/kids/22x22/apps/cd-player2.pngbin0 -> 1125 bytes
-rw-r--r--IconThemes/kids/22x22/apps/cd-player216.pngbin0 -> 1125 bytes
-rw-r--r--IconThemes/kids/22x22/apps/clicknrun.pngbin0 -> 1848 bytes
-rw-r--r--IconThemes/kids/22x22/apps/clicknrungrey.pngbin0 -> 1661 bytes
-rw-r--r--IconThemes/kids/22x22/apps/clock.pngbin0 -> 1795 bytes
-rw-r--r--IconThemes/kids/22x22/apps/colors.pngbin0 -> 1534 bytes
-rw-r--r--IconThemes/kids/22x22/apps/cookie.pngbin0 -> 1416 bytes
-rw-r--r--IconThemes/kids/22x22/apps/date.pngbin0 -> 1630 bytes
-rw-r--r--IconThemes/kids/22x22/apps/display.pngbin0 -> 1588 bytes
-rw-r--r--IconThemes/kids/22x22/apps/email.pngbin0 -> 1607 bytes
-rw-r--r--IconThemes/kids/22x22/apps/energy.pngbin0 -> 1524 bytes
-rw-r--r--IconThemes/kids/22x22/apps/enhanced_browsing.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/kids/22x22/apps/file-manager.pngbin0 -> 1789 bytes
-rw-r--r--IconThemes/kids/22x22/apps/fileshare.pngbin0 -> 1362 bytes
-rw-r--r--IconThemes/kids/22x22/apps/filetypes.pngbin0 -> 1273 bytes
-rw-r--r--IconThemes/kids/22x22/apps/fonts.pngbin0 -> 1004 bytes
-rw-r--r--IconThemes/kids/22x22/apps/galeon.pngbin0 -> 1666 bytes
-rw-r--r--IconThemes/kids/22x22/apps/gimp.pngbin0 -> 1597 bytes
-rw-r--r--IconThemes/kids/22x22/apps/go.pngbin0 -> 1603 bytes
-rw-r--r--IconThemes/kids/22x22/apps/harddrive.pngbin0 -> 1669 bytes
-rw-r--r--IconThemes/kids/22x22/apps/hook.pngbin0 -> 1364 bytes
-rw-r--r--IconThemes/kids/22x22/apps/hwinfo.pngbin0 -> 1576 bytes
-rw-r--r--IconThemes/kids/22x22/apps/icons.pngbin0 -> 1776 bytes
-rw-r--r--IconThemes/kids/22x22/apps/iconthemes.pngbin0 -> 1697 bytes
-rw-r--r--IconThemes/kids/22x22/apps/input_devices_settings.pngbin0 -> 1539 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcalc.pngbin0 -> 1532 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmmemory.pngbin0 -> 1285 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmpci.pngbin0 -> 1663 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmprocessor.pngbin0 -> 1079 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmsound.pngbin0 -> 1711 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmsystem.pngbin0 -> 1792 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcmx.pngbin0 -> 1260 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcoloredit.pngbin0 -> 1548 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kcontrol.pngbin0 -> 1577 bytes
-rw-r--r--IconThemes/kids/22x22/apps/key_bindings.pngbin0 -> 1221 bytes
-rw-r--r--IconThemes/kids/22x22/apps/keyboard.pngbin0 -> 1078 bytes
-rw-r--r--IconThemes/kids/22x22/apps/keyboard_layout.pngbin0 -> 1613 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kfloppy.pngbin0 -> 1603 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kfm.pngbin0 -> 1785 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kfm_home.pngbin0 -> 1709 bytes
-rw-r--r--IconThemes/kids/22x22/apps/khelpcenter.pngbin0 -> 1690 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kicker.pngbin0 -> 1711 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kjobviewer.pngbin0 -> 1542 bytes
-rw-r--r--IconThemes/kids/22x22/apps/klaptopdaemon.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/kids/22x22/apps/klipper.pngbin0 -> 1619 bytes
-rw-r--r--IconThemes/kids/22x22/apps/klpq.pngbin0 -> 1542 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kmenu.pngbin0 -> 1603 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kmix.pngbin0 -> 1141 bytes
-rw-r--r--IconThemes/kids/22x22/apps/knetconfig.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/kids/22x22/apps/knotify.pngbin0 -> 1191 bytes
-rw-r--r--IconThemes/kids/22x22/apps/konqueror.pngbin0 -> 1657 bytes
-rw-r--r--IconThemes/kids/22x22/apps/konsole.pngbin0 -> 1438 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kppp.pngbin0 -> 1702 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kreatecd.pngbin0 -> 1573 bytes
-rw-r--r--IconThemes/kids/22x22/apps/krfb.pngbin0 -> 1409 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kscd.pngbin0 -> 1444 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kscreensaver.pngbin0 -> 1493 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kservices.pngbin0 -> 1784 bytes
-rw-r--r--IconThemes/kids/22x22/apps/ksmiletris.pngbin0 -> 1631 bytes
-rw-r--r--IconThemes/kids/22x22/apps/ktalkd.pngbin0 -> 1419 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kuser.pngbin0 -> 1606 bytes
-rw-r--r--IconThemes/kids/22x22/apps/kxconfig.pngbin0 -> 1261 bytes
-rw-r--r--IconThemes/kids/22x22/apps/laptop_battery.pngbin0 -> 1541 bytes
-rw-r--r--IconThemes/kids/22x22/apps/laptop_pcmcia.pngbin0 -> 1404 bytes
-rw-r--r--IconThemes/kids/22x22/apps/lin_agt_wrench.pngbin0 -> 1551 bytes
-rw-r--r--IconThemes/kids/22x22/apps/linneighborhood.pngbin0 -> 1733 bytes
-rw-r--r--IconThemes/kids/22x22/apps/linuxconf.pngbin0 -> 1679 bytes
-rw-r--r--IconThemes/kids/22x22/apps/locale.pngbin0 -> 1698 bytes
-rw-r--r--IconThemes/kids/22x22/apps/looknfeel.pngbin0 -> 1530 bytes
-rw-r--r--IconThemes/kids/22x22/apps/mail.pngbin0 -> 1255 bytes
-rw-r--r--IconThemes/kids/22x22/apps/mascot.pngbin0 -> 1256 bytes
-rw-r--r--IconThemes/kids/22x22/apps/mouse.pngbin0 -> 1280 bytes
-rw-r--r--IconThemes/kids/22x22/apps/mozilla.pngbin0 -> 1406 bytes
-rw-r--r--IconThemes/kids/22x22/apps/multimedia.pngbin0 -> 1666 bytes
-rw-r--r--IconThemes/kids/22x22/apps/mycomputer.pngbin0 -> 1640 bytes
-rw-r--r--IconThemes/kids/22x22/apps/netscape.pngbin0 -> 1481 bytes
-rw-r--r--IconThemes/kids/22x22/apps/network.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/kids/22x22/apps/noatun.pngbin0 -> 1340 bytes
-rw-r--r--IconThemes/kids/22x22/apps/os-support.pngbin0 -> 1499 bytes
-rw-r--r--IconThemes/kids/22x22/apps/package_settings.pngbin0 -> 1551 bytes
-rw-r--r--IconThemes/kids/22x22/apps/package_system.pngbin0 -> 1784 bytes
-rw-r--r--IconThemes/kids/22x22/apps/package_toys.pngbin0 -> 1890 bytes
-rw-r--r--IconThemes/kids/22x22/apps/package_utilities.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/kids/22x22/apps/password.pngbin0 -> 1301 bytes
-rw-r--r--IconThemes/kids/22x22/apps/penguin.pngbin0 -> 1114 bytes
-rw-r--r--IconThemes/kids/22x22/apps/personal.pngbin0 -> 1366 bytes
-rw-r--r--IconThemes/kids/22x22/apps/proxy.pngbin0 -> 1401 bytes
-rw-r--r--IconThemes/kids/22x22/apps/renamecomputer.pngbin0 -> 1633 bytes
-rw-r--r--IconThemes/kids/22x22/apps/samba.pngbin0 -> 1314 bytes
-rw-r--r--IconThemes/kids/22x22/apps/sisadmin.pngbin0 -> 1274 bytes
-rw-r--r--IconThemes/kids/22x22/apps/start_here.pngbin0 -> 1712 bytes
-rw-r--r--IconThemes/kids/22x22/apps/stylesheet.pngbin0 -> 1699 bytes
-rw-r--r--IconThemes/kids/22x22/apps/trash.pngbin0 -> 1463 bytes
-rw-r--r--IconThemes/kids/22x22/apps/window_list.pngbin0 -> 1719 bytes
-rw-r--r--IconThemes/kids/22x22/apps/windows_users.pngbin0 -> 1756 bytes
-rw-r--r--IconThemes/kids/22x22/apps/x.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/kids/22x22/apps/xcalc.pngbin0 -> 1633 bytes
-rw-r--r--IconThemes/kids/22x22/apps/xmail.pngbin0 -> 1736 bytes
-rw-r--r--IconThemes/kids/22x22/apps/xmms.pngbin0 -> 1122 bytes
-rw-r--r--IconThemes/kids/22x22/apps/xpaint.pngbin0 -> 1600 bytes
-rw-r--r--IconThemes/kids/22x22/devices/3floppy_mount.pngbin0 -> 1533 bytes
-rw-r--r--IconThemes/kids/22x22/devices/3floppy_unmount.pngbin0 -> 1504 bytes
-rw-r--r--IconThemes/kids/22x22/devices/camera.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/kids/22x22/devices/cdrom_mount.pngbin0 -> 1579 bytes
-rw-r--r--IconThemes/kids/22x22/devices/cdrom_unmount.pngbin0 -> 1625 bytes
-rw-r--r--IconThemes/kids/22x22/devices/hdd_mount.pngbin0 -> 1508 bytes
-rw-r--r--IconThemes/kids/22x22/devices/hdd_unmount.pngbin0 -> 1654 bytes
-rw-r--r--IconThemes/kids/22x22/devices/memory.pngbin0 -> 1304 bytes
-rw-r--r--IconThemes/kids/22x22/devices/network_local.pngbin0 -> 1688 bytes
-rw-r--r--IconThemes/kids/22x22/devices/nfs_unmount.pngbin0 -> 1615 bytes
-rw-r--r--IconThemes/kids/22x22/devices/print_printer.pngbin0 -> 1486 bytes
-rw-r--r--IconThemes/kids/22x22/devices/printer.pngbin0 -> 1486 bytes
-rw-r--r--IconThemes/kids/22x22/devices/printer2.pngbin0 -> 1486 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/connect_to_network.pngbin0 -> 1744 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/desktop.pngbin0 -> 1363 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/exec.pngbin0 -> 1466 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/favorites.pngbin0 -> 1278 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/favorites2.pngbin0 -> 1560 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/file_temporary.pngbin0 -> 1673 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder.pngbin0 -> 1402 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_blue.pngbin0 -> 1433 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_doc.pngbin0 -> 1565 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_favorites.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_favorites2.pngbin0 -> 1614 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_home.pngbin0 -> 1737 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_html.pngbin0 -> 1393 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_image.pngbin0 -> 1491 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_locked.pngbin0 -> 1479 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/folder_music.pngbin0 -> 1592 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/link.pngbin0 -> 548 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/lockoverlay.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/network_local.pngbin0 -> 1704 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/socket.pngbin0 -> 1729 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/trashcan_empty.pngbin0 -> 1630 bytes
-rw-r--r--IconThemes/kids/22x22/filesystems/trashcan_full.pngbin0 -> 1555 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/cdimage.pngbin0 -> 1468 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/document.pngbin0 -> 1667 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/empty.pngbin0 -> 1485 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/file_locked.pngbin0 -> 1731 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/file_temporary.pngbin0 -> 1596 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/html.pngbin0 -> 1718 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/image.pngbin0 -> 1692 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/midi.pngbin0 -> 1556 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/netscape_doc.pngbin0 -> 1620 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/sound.pngbin0 -> 1351 bytes
-rw-r--r--IconThemes/kids/22x22/mimetypes/unknown.pngbin0 -> 1457 bytes
-rw-r--r--IconThemes/kids/32x32/actions/Untitled.pngbin0 -> 2907 bytes
-rw-r--r--IconThemes/kids/32x32/actions/about_kde.pngbin0 -> 2927 bytes
-rw-r--r--IconThemes/kids/32x32/actions/appearance.pngbin0 -> 3059 bytes
-rw-r--r--IconThemes/kids/32x32/actions/back.pngbin0 -> 2986 bytes
-rw-r--r--IconThemes/kids/32x32/actions/bookmark.pngbin0 -> 1691 bytes
-rw-r--r--IconThemes/kids/32x32/actions/bookmark_add.pngbin0 -> 2001 bytes
-rw-r--r--IconThemes/kids/32x32/actions/button_cance.pngbin0 -> 2447 bytes
-rw-r--r--IconThemes/kids/32x32/actions/button_ok.pngbin0 -> 2625 bytes
-rw-r--r--IconThemes/kids/32x32/actions/cd.pngbin0 -> 2940 bytes
-rw-r--r--IconThemes/kids/32x32/actions/colorize.pngbin0 -> 1801 bytes
-rw-r--r--IconThemes/kids/32x32/actions/compfile.pngbin0 -> 2881 bytes
-rw-r--r--IconThemes/kids/32x32/actions/configure.pngbin0 -> 3165 bytes
-rw-r--r--IconThemes/kids/32x32/actions/decrypted.pngbin0 -> 2481 bytes
-rw-r--r--IconThemes/kids/32x32/actions/down.pngbin0 -> 2907 bytes
-rw-r--r--IconThemes/kids/32x32/actions/edit.pngbin0 -> 2844 bytes
-rw-r--r--IconThemes/kids/32x32/actions/editcopy.pngbin0 -> 2215 bytes
-rw-r--r--IconThemes/kids/32x32/actions/editcut.pngbin0 -> 2383 bytes
-rw-r--r--IconThemes/kids/32x32/actions/editdelete.pngbin0 -> 2480 bytes
-rw-r--r--IconThemes/kids/32x32/actions/editpaste.pngbin0 -> 2462 bytes
-rw-r--r--IconThemes/kids/32x32/actions/edittrash.pngbin0 -> 3036 bytes
-rw-r--r--IconThemes/kids/32x32/actions/encrypted.pngbin0 -> 2441 bytes
-rw-r--r--IconThemes/kids/32x32/actions/exit.pngbin0 -> 2138 bytes
-rw-r--r--IconThemes/kids/32x32/actions/fileclose.pngbin0 -> 2077 bytes
-rw-r--r--IconThemes/kids/32x32/actions/filefind.pngbin0 -> 3043 bytes
-rw-r--r--IconThemes/kids/32x32/actions/filenew.pngbin0 -> 2414 bytes
-rw-r--r--IconThemes/kids/32x32/actions/fileopen.pngbin0 -> 2349 bytes
-rw-r--r--IconThemes/kids/32x32/actions/fileprint.pngbin0 -> 2919 bytes
-rw-r--r--IconThemes/kids/32x32/actions/filequickprint.pngbin0 -> 3209 bytes
-rw-r--r--IconThemes/kids/32x32/actions/filesave.pngbin0 -> 2556 bytes
-rw-r--r--IconThemes/kids/32x32/actions/filesaveas.pngbin0 -> 2521 bytes
-rw-r--r--IconThemes/kids/32x32/actions/find.pngbin0 -> 3025 bytes
-rw-r--r--IconThemes/kids/32x32/actions/fonts.pngbin0 -> 1575 bytes
-rw-r--r--IconThemes/kids/32x32/actions/forward.pngbin0 -> 3022 bytes
-rw-r--r--IconThemes/kids/32x32/actions/frameprint.pngbin0 -> 2878 bytes
-rw-r--r--IconThemes/kids/32x32/actions/gohome.pngbin0 -> 2555 bytes
-rw-r--r--IconThemes/kids/32x32/actions/help.pngbin0 -> 2631 bytes
-rw-r--r--IconThemes/kids/32x32/actions/history.pngbin0 -> 3021 bytes
-rw-r--r--IconThemes/kids/32x32/actions/klipper_doc.pngbin0 -> 2984 bytes
-rw-r--r--IconThemes/kids/32x32/actions/launch.pngbin0 -> 1685 bytes
-rw-r--r--IconThemes/kids/32x32/actions/misc.pngbin0 -> 3051 bytes
-rw-r--r--IconThemes/kids/32x32/actions/next-sail.pngbin0 -> 1684 bytes
-rw-r--r--IconThemes/kids/32x32/actions/next.pngbin0 -> 2272 bytes
-rw-r--r--IconThemes/kids/32x32/actions/previos-sail.pngbin0 -> 1666 bytes
-rw-r--r--IconThemes/kids/32x32/actions/previous.pngbin0 -> 2316 bytes
-rw-r--r--IconThemes/kids/32x32/actions/redo.pngbin0 -> 1757 bytes
-rw-r--r--IconThemes/kids/32x32/actions/reload.pngbin0 -> 2551 bytes
-rw-r--r--IconThemes/kids/32x32/actions/run.pngbin0 -> 3128 bytes
-rw-r--r--IconThemes/kids/32x32/actions/search.pngbin0 -> 2991 bytes
-rw-r--r--IconThemes/kids/32x32/actions/stop.pngbin0 -> 2160 bytes
-rw-r--r--IconThemes/kids/32x32/actions/thumbnail.pngbin0 -> 3370 bytes
-rw-r--r--IconThemes/kids/32x32/actions/undo.pngbin0 -> 1875 bytes
-rw-r--r--IconThemes/kids/32x32/actions/unlock.pngbin0 -> 2631 bytes
-rw-r--r--IconThemes/kids/32x32/actions/up.pngbin0 -> 2930 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_bottom.pngbin0 -> 2481 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_choose.pngbin0 -> 2679 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_detailed.pngbin0 -> 2629 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_icon.pngbin0 -> 2879 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_left_right.pngbin0 -> 2045 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_multicolumn.pngbin0 -> 2789 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_remove.pngbin0 -> 2004 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_right.pngbin0 -> 2481 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_sidetree.pngbin0 -> 2540 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_text.pngbin0 -> 2444 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_top_bottom.pngbin0 -> 2263 bytes
-rw-r--r--IconThemes/kids/32x32/actions/view_tree.pngbin0 -> 2465 bytes
-rw-r--r--IconThemes/kids/32x32/actions/viewmag+.pngbin0 -> 2655 bytes
-rw-r--r--IconThemes/kids/32x32/actions/viewmag-.pngbin0 -> 2668 bytes
-rw-r--r--IconThemes/kids/32x32/actions/viewmag1.pngbin0 -> 2756 bytes
-rw-r--r--IconThemes/kids/32x32/actions/viewmagfit.pngbin0 -> 2679 bytes
-rw-r--r--IconThemes/kids/32x32/actions/window_fullscreen.pngbin0 -> 2712 bytes
-rw-r--r--IconThemes/kids/32x32/actions/window_new.pngbin0 -> 2457 bytes
-rw-r--r--IconThemes/kids/32x32/actions/window_nofullscreen.pngbin0 -> 2716 bytes
-rw-r--r--IconThemes/kids/32x32/apps/Untitled.pngbin0 -> 3276 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agent.pngbin0 -> 2471 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt-family-off.pngbin0 -> 2505 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_action_fail.pngbin0 -> 2447 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_action_success.pngbin0 -> 2636 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_add-to-desktop.pngbin0 -> 2517 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_back.pngbin0 -> 2986 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_family-off.pngbin0 -> 2889 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_family.pngbin0 -> 3737 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_forward.pngbin0 -> 3035 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_login.pngbin0 -> 2555 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_print.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_reload.pngbin0 -> 2551 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_resume.pngbin0 -> 3321 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_runit.pngbin0 -> 3638 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_stop.pngbin0 -> 2160 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_uninstall-product.pngbin0 -> 3147 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_update_critical.pngbin0 -> 1105 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_update_drivers.pngbin0 -> 2791 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_virussafe-off.pngbin0 -> 1817 bytes
-rw-r--r--IconThemes/kids/32x32/apps/agt_virussafe.pngbin0 -> 2069 bytes
-rw-r--r--IconThemes/kids/32x32/apps/aim.pngbin0 -> 2257 bytes
-rw-r--r--IconThemes/kids/32x32/apps/ark.pngbin0 -> 2533 bytes
-rw-r--r--IconThemes/kids/32x32/apps/arts.pngbin0 -> 2068 bytes
-rw-r--r--IconThemes/kids/32x32/apps/babelfish.pngbin0 -> 2749 bytes
-rw-r--r--IconThemes/kids/32x32/apps/background.pngbin0 -> 2203 bytes
-rw-r--r--IconThemes/kids/32x32/apps/bell.pngbin0 -> 1933 bytes
-rw-r--r--IconThemes/kids/32x32/apps/browser.pngbin0 -> 2689 bytes
-rw-r--r--IconThemes/kids/32x32/apps/cache.pngbin0 -> 2752 bytes
-rw-r--r--IconThemes/kids/32x32/apps/camera.pngbin0 -> 2303 bytes
-rw-r--r--IconThemes/kids/32x32/apps/cd-player1.pngbin0 -> 2675 bytes
-rw-r--r--IconThemes/kids/32x32/apps/cd-player2.pngbin0 -> 3040 bytes
-rw-r--r--IconThemes/kids/32x32/apps/clicknrun.pngbin0 -> 3638 bytes
-rw-r--r--IconThemes/kids/32x32/apps/clicknrungrey.pngbin0 -> 3063 bytes
-rw-r--r--IconThemes/kids/32x32/apps/clock.pngbin0 -> 3338 bytes
-rw-r--r--IconThemes/kids/32x32/apps/colors.pngbin0 -> 2893 bytes
-rw-r--r--IconThemes/kids/32x32/apps/cookie.pngbin0 -> 2626 bytes
-rw-r--r--IconThemes/kids/32x32/apps/date.pngbin0 -> 3015 bytes
-rw-r--r--IconThemes/kids/32x32/apps/display.pngbin0 -> 2997 bytes
-rw-r--r--IconThemes/kids/32x32/apps/email.pngbin0 -> 3087 bytes
-rw-r--r--IconThemes/kids/32x32/apps/energy.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/kids/32x32/apps/energy_star.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/kids/32x32/apps/enhanced_browsing.pngbin0 -> 1857 bytes
-rw-r--r--IconThemes/kids/32x32/apps/file-manager.pngbin0 -> 3381 bytes
-rw-r--r--IconThemes/kids/32x32/apps/fileshare.pngbin0 -> 2494 bytes
-rw-r--r--IconThemes/kids/32x32/apps/filetypes.pngbin0 -> 2293 bytes
-rw-r--r--IconThemes/kids/32x32/apps/fonts.pngbin0 -> 1575 bytes
-rw-r--r--IconThemes/kids/32x32/apps/galeon.pngbin0 -> 3180 bytes
-rw-r--r--IconThemes/kids/32x32/apps/gimp.pngbin0 -> 3080 bytes
-rw-r--r--IconThemes/kids/32x32/apps/go.pngbin0 -> 2927 bytes
-rw-r--r--IconThemes/kids/32x32/apps/harddrive.pngbin0 -> 3103 bytes
-rw-r--r--IconThemes/kids/32x32/apps/hook.pngbin0 -> 2532 bytes
-rw-r--r--IconThemes/kids/32x32/apps/hwinfo.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/icons.pngbin0 -> 3429 bytes
-rw-r--r--IconThemes/kids/32x32/apps/iconthemes.pngbin0 -> 3240 bytes
-rw-r--r--IconThemes/kids/32x32/apps/input_devices_settings.pngbin0 -> 2723 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcalc.pngbin0 -> 2978 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmfontinst.pngbin0 -> 1575 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmkicker.pngbin0 -> 3215 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmkwm.pngbin0 -> 3319 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmmemory.pngbin0 -> 2483 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmmidi.pngbin0 -> 2043 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmpci.pngbin0 -> 3179 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmprocessor.pngbin0 -> 1908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmsound.pngbin0 -> 3276 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmsystem.pngbin0 -> 3686 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcmx.pngbin0 -> 2405 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcoloredit.pngbin0 -> 2893 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kcontrol.pngbin0 -> 3177 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kdmconfig.pngbin0 -> 2497 bytes
-rw-r--r--IconThemes/kids/32x32/apps/key_bindings.pngbin0 -> 2328 bytes
-rw-r--r--IconThemes/kids/32x32/apps/keyboard.pngbin0 -> 1853 bytes
-rw-r--r--IconThemes/kids/32x32/apps/keyboard_layout.pngbin0 -> 2989 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kfloppy.pngbin0 -> 2874 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kfm.pngbin0 -> 3366 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kfm_home.pngbin0 -> 3240 bytes
-rw-r--r--IconThemes/kids/32x32/apps/khelpcenter.pngbin0 -> 3077 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kicker.pngbin0 -> 3275 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kjobviewer.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/klaptopdaemon.pngbin0 -> 2901 bytes
-rw-r--r--IconThemes/kids/32x32/apps/klipper.pngbin0 -> 2949 bytes
-rw-r--r--IconThemes/kids/32x32/apps/klpq.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kmenu.pngbin0 -> 2927 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kmenuedit.pngbin0 -> 3215 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kmix.pngbin0 -> 2068 bytes
-rw-r--r--IconThemes/kids/32x32/apps/knetconfig.pngbin0 -> 2953 bytes
-rw-r--r--IconThemes/kids/32x32/apps/knotify.pngbin0 -> 2043 bytes
-rw-r--r--IconThemes/kids/32x32/apps/konqueror.pngbin0 -> 3088 bytes
-rw-r--r--IconThemes/kids/32x32/apps/konsole.pngbin0 -> 2547 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kppp.pngbin0 -> 3229 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kreatecd.pngbin0 -> 2936 bytes
-rw-r--r--IconThemes/kids/32x32/apps/krfb.pngbin0 -> 2537 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kscd.pngbin0 -> 2824 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kscreensaver.pngbin0 -> 2626 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kservices.pngbin0 -> 3686 bytes
-rw-r--r--IconThemes/kids/32x32/apps/ksmiletris.pngbin0 -> 2989 bytes
-rw-r--r--IconThemes/kids/32x32/apps/ktalkd.pngbin0 -> 2558 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kthememgr.pngbin0 -> 3730 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kuser.pngbin0 -> 3157 bytes
-rw-r--r--IconThemes/kids/32x32/apps/kxconfig.pngbin0 -> 2177 bytes
-rw-r--r--IconThemes/kids/32x32/apps/laptop_battery.pngbin0 -> 2831 bytes
-rw-r--r--IconThemes/kids/32x32/apps/laptop_pcmcia.pngbin0 -> 2737 bytes
-rw-r--r--IconThemes/kids/32x32/apps/lin_agt_wrench.pngbin0 -> 2573 bytes
-rw-r--r--IconThemes/kids/32x32/apps/linneighborhood.pngbin0 -> 3277 bytes
-rw-r--r--IconThemes/kids/32x32/apps/linuxconf.pngbin0 -> 3223 bytes
-rw-r--r--IconThemes/kids/32x32/apps/locale.pngbin0 -> 3108 bytes
-rw-r--r--IconThemes/kids/32x32/apps/looknfeel.pngbin0 -> 2903 bytes
-rw-r--r--IconThemes/kids/32x32/apps/mail.pngbin0 -> 2362 bytes
-rw-r--r--IconThemes/kids/32x32/apps/mascot.pngbin0 -> 2220 bytes
-rw-r--r--IconThemes/kids/32x32/apps/mouse.pngbin0 -> 2193 bytes
-rw-r--r--IconThemes/kids/32x32/apps/mozilla.pngbin0 -> 2498 bytes
-rw-r--r--IconThemes/kids/32x32/apps/multimedia.pngbin0 -> 3276 bytes
-rw-r--r--IconThemes/kids/32x32/apps/mycomputer.pngbin0 -> 3156 bytes
-rw-r--r--IconThemes/kids/32x32/apps/netscape.pngbin0 -> 2707 bytes
-rw-r--r--IconThemes/kids/32x32/apps/network.pngbin0 -> 2953 bytes
-rw-r--r--IconThemes/kids/32x32/apps/noatun.pngbin0 -> 2676 bytes
-rw-r--r--IconThemes/kids/32x32/apps/os-support.pngbin0 -> 2644 bytes
-rw-r--r--IconThemes/kids/32x32/apps/package_settings.pngbin0 -> 2573 bytes
-rw-r--r--IconThemes/kids/32x32/apps/package_system.pngbin0 -> 3686 bytes
-rw-r--r--IconThemes/kids/32x32/apps/package_toys.pngbin0 -> 3730 bytes
-rw-r--r--IconThemes/kids/32x32/apps/package_utilities.pngbin0 -> 3176 bytes
-rw-r--r--IconThemes/kids/32x32/apps/password.pngbin0 -> 2379 bytes
-rw-r--r--IconThemes/kids/32x32/apps/penguin.pngbin0 -> 2036 bytes
-rw-r--r--IconThemes/kids/32x32/apps/personal.pngbin0 -> 2801 bytes
-rw-r--r--IconThemes/kids/32x32/apps/pppoeconfig.pngbin0 -> 3229 bytes
-rw-r--r--IconThemes/kids/32x32/apps/printer.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/printmgr.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/kids/32x32/apps/proxy.pngbin0 -> 2606 bytes
-rw-r--r--IconThemes/kids/32x32/apps/renamecomputer.pngbin0 -> 3127 bytes
-rw-r--r--IconThemes/kids/32x32/apps/samba.pngbin0 -> 2442 bytes
-rw-r--r--IconThemes/kids/32x32/apps/sisadmin.pngbin0 -> 2497 bytes
-rw-r--r--IconThemes/kids/32x32/apps/star_here.pngbin0 -> 3124 bytes
-rw-r--r--IconThemes/kids/32x32/apps/start_here.pngbin0 -> 3113 bytes
-rw-r--r--IconThemes/kids/32x32/apps/stylesheet.pngbin0 -> 3151 bytes
-rw-r--r--IconThemes/kids/32x32/apps/trash.pngbin0 -> 2723 bytes
-rw-r--r--IconThemes/kids/32x32/apps/window_list.pngbin0 -> 3319 bytes
-rw-r--r--IconThemes/kids/32x32/apps/windows_users.pngbin0 -> 3123 bytes
-rw-r--r--IconThemes/kids/32x32/apps/x.pngbin0 -> 1788 bytes
-rw-r--r--IconThemes/kids/32x32/apps/xcalc.pngbin0 -> 3127 bytes
-rw-r--r--IconThemes/kids/32x32/apps/xmail.pngbin0 -> 3316 bytes
-rw-r--r--IconThemes/kids/32x32/apps/xmms.pngbin0 -> 2048 bytes
-rw-r--r--IconThemes/kids/32x32/apps/xpaint.pngbin0 -> 2998 bytes
-rw-r--r--IconThemes/kids/32x32/devices/3floppy_mount.pngbin0 -> 2815 bytes
-rw-r--r--IconThemes/kids/32x32/devices/3floppy_unmount.pngbin0 -> 2719 bytes
-rw-r--r--IconThemes/kids/32x32/devices/camera.pngbin0 -> 2314 bytes
-rw-r--r--IconThemes/kids/32x32/devices/cdrom_mount.pngbin0 -> 3000 bytes
-rw-r--r--IconThemes/kids/32x32/devices/cdrom_unmount.pngbin0 -> 2901 bytes
-rw-r--r--IconThemes/kids/32x32/devices/hdd_mount.pngbin0 -> 2808 bytes
-rw-r--r--IconThemes/kids/32x32/devices/hdd_unmount.pngbin0 -> 3103 bytes
-rw-r--r--IconThemes/kids/32x32/devices/memory.pngbin0 -> 2483 bytes
-rw-r--r--IconThemes/kids/32x32/devices/network_local.pngbin0 -> 3283 bytes
-rw-r--r--IconThemes/kids/32x32/devices/nfs_unmount.pngbin0 -> 3174 bytes
-rw-r--r--IconThemes/kids/32x32/devices/print_printer.pngbin0 -> 2688 bytes
-rw-r--r--IconThemes/kids/32x32/devices/printer.pngbin0 -> 2688 bytes
-rw-r--r--IconThemes/kids/32x32/devices/printer2.pngbin0 -> 2688 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/connect_to_network.pngbin0 -> 3289 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/desktop.pngbin0 -> 2517 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/exec.pngbin0 -> 2743 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/favorites.pngbin0 -> 2144 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/favorites2.pngbin0 -> 2922 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/file_temporary.pngbin0 -> 3154 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder.pngbin0 -> 2443 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_blue.pngbin0 -> 2631 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_doc.pngbin0 -> 2868 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_favorites.pngbin0 -> 2528 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_favorites2.pngbin0 -> 2974 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_home.pngbin0 -> 3244 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_htm.pngbin0 -> 2633 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_html.pngbin0 -> 2605 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_image.pngbin0 -> 2884 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_locked.pngbin0 -> 2810 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/folder_music.pngbin0 -> 2820 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/link.pngbin0 -> 821 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/lockoverlay.pngbin0 -> 1072 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/network_local.pngbin0 -> 3238 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/socket.pngbin0 -> 3265 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/trashcan_empty.pngbin0 -> 3164 bytes
-rw-r--r--IconThemes/kids/32x32/filesystems/trashcan_full.pngbin0 -> 2877 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/cdimage.pngbin0 -> 2664 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/document.pngbin0 -> 3089 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/empty.pngbin0 -> 2724 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/file_locked.pngbin0 -> 3243 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/file_temporary.pngbin0 -> 3007 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/html.pngbin0 -> 3298 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/image.pngbin0 -> 3045 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/midi.pngbin0 -> 2753 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/netscape_doc.pngbin0 -> 3030 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/sound.pngbin0 -> 2310 bytes
-rw-r--r--IconThemes/kids/32x32/mimetypes/unknown.pngbin0 -> 2768 bytes
-rw-r--r--IconThemes/kids/48x48/actions/Untitled.pngbin0 -> 4302 bytes
-rw-r--r--IconThemes/kids/48x48/actions/about_kde.pngbin0 -> 4868 bytes
-rw-r--r--IconThemes/kids/48x48/actions/appearance.pngbin0 -> 4832 bytes
-rw-r--r--IconThemes/kids/48x48/actions/back.pngbin0 -> 4291 bytes
-rw-r--r--IconThemes/kids/48x48/actions/bookmark.pngbin0 -> 2388 bytes
-rw-r--r--IconThemes/kids/48x48/actions/bookmark_add.pngbin0 -> 3164 bytes
-rw-r--r--IconThemes/kids/48x48/actions/button_cance.pngbin0 -> 4049 bytes
-rw-r--r--IconThemes/kids/48x48/actions/button_ok.pngbin0 -> 4142 bytes
-rw-r--r--IconThemes/kids/48x48/actions/cd.pngbin0 -> 4733 bytes
-rw-r--r--IconThemes/kids/48x48/actions/colorize.pngbin0 -> 2913 bytes
-rw-r--r--IconThemes/kids/48x48/actions/compfile.pngbin0 -> 4385 bytes
-rw-r--r--IconThemes/kids/48x48/actions/configure.pngbin0 -> 5017 bytes
-rw-r--r--IconThemes/kids/48x48/actions/decrypted.pngbin0 -> 4356 bytes
-rw-r--r--IconThemes/kids/48x48/actions/down.pngbin0 -> 4302 bytes
-rw-r--r--IconThemes/kids/48x48/actions/edit.pngbin0 -> 4431 bytes
-rw-r--r--IconThemes/kids/48x48/actions/editcopy.pngbin0 -> 3275 bytes
-rw-r--r--IconThemes/kids/48x48/actions/editcut.pngbin0 -> 4095 bytes
-rw-r--r--IconThemes/kids/48x48/actions/editdelete.pngbin0 -> 4008 bytes
-rw-r--r--IconThemes/kids/48x48/actions/editpaste.pngbin0 -> 3534 bytes
-rw-r--r--IconThemes/kids/48x48/actions/edittrash.pngbin0 -> 4739 bytes
-rw-r--r--IconThemes/kids/48x48/actions/encrypted.pngbin0 -> 4337 bytes
-rw-r--r--IconThemes/kids/48x48/actions/exit.pngbin0 -> 3096 bytes
-rw-r--r--IconThemes/kids/48x48/actions/fileclose.pngbin0 -> 3098 bytes
-rw-r--r--IconThemes/kids/48x48/actions/filefind.pngbin0 -> 4954 bytes
-rw-r--r--IconThemes/kids/48x48/actions/filenew.pngbin0 -> 3171 bytes
-rw-r--r--IconThemes/kids/48x48/actions/fileopen.pngbin0 -> 3791 bytes
-rw-r--r--IconThemes/kids/48x48/actions/fileprint.pngbin0 -> 4776 bytes
-rw-r--r--IconThemes/kids/48x48/actions/filequickprint.pngbin0 -> 5219 bytes
-rw-r--r--IconThemes/kids/48x48/actions/filesave.pngbin0 -> 4529 bytes
-rw-r--r--IconThemes/kids/48x48/actions/filesaveas.pngbin0 -> 4255 bytes
-rw-r--r--IconThemes/kids/48x48/actions/find.pngbin0 -> 4772 bytes
-rw-r--r--IconThemes/kids/48x48/actions/fonts.pngbin0 -> 2169 bytes
-rw-r--r--IconThemes/kids/48x48/actions/forward.pngbin0 -> 4287 bytes
-rw-r--r--IconThemes/kids/48x48/actions/frameprint.pngbin0 -> 4683 bytes
-rw-r--r--IconThemes/kids/48x48/actions/gohome.pngbin0 -> 3830 bytes
-rw-r--r--IconThemes/kids/48x48/actions/help.pngbin0 -> 4319 bytes
-rw-r--r--IconThemes/kids/48x48/actions/history.pngbin0 -> 4766 bytes
-rw-r--r--IconThemes/kids/48x48/actions/klipper_doc.pngbin0 -> 4468 bytes
-rw-r--r--IconThemes/kids/48x48/actions/launch.pngbin0 -> 2509 bytes
-rw-r--r--IconThemes/kids/48x48/actions/misc.pngbin0 -> 4383 bytes
-rw-r--r--IconThemes/kids/48x48/actions/next-sail.pngbin0 -> 2666 bytes
-rw-r--r--IconThemes/kids/48x48/actions/next.pngbin0 -> 3342 bytes
-rw-r--r--IconThemes/kids/48x48/actions/previos-sail.pngbin0 -> 2771 bytes
-rw-r--r--IconThemes/kids/48x48/actions/previous.pngbin0 -> 3414 bytes
-rw-r--r--IconThemes/kids/48x48/actions/redo.pngbin0 -> 2668 bytes
-rw-r--r--IconThemes/kids/48x48/actions/reload.pngbin0 -> 4017 bytes
-rw-r--r--IconThemes/kids/48x48/actions/run.pngbin0 -> 5377 bytes
-rw-r--r--IconThemes/kids/48x48/actions/search.pngbin0 -> 4825 bytes
-rw-r--r--IconThemes/kids/48x48/actions/stop.pngbin0 -> 3162 bytes
-rw-r--r--IconThemes/kids/48x48/actions/thumbnail.pngbin0 -> 5277 bytes
-rw-r--r--IconThemes/kids/48x48/actions/undo.pngbin0 -> 2584 bytes
-rw-r--r--IconThemes/kids/48x48/actions/unlock.pngbin0 -> 4468 bytes
-rw-r--r--IconThemes/kids/48x48/actions/up.pngbin0 -> 4240 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_bottom.pngbin0 -> 3387 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_choose.pngbin0 -> 3730 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_detailed.pngbin0 -> 3579 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_icon.pngbin0 -> 4022 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_left_right.pngbin0 -> 2773 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_multicolumn.pngbin0 -> 3883 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_remove.pngbin0 -> 2787 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_right.pngbin0 -> 3387 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_sidetree.pngbin0 -> 3394 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_text.pngbin0 -> 3482 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_top_bottom.pngbin0 -> 3009 bytes
-rw-r--r--IconThemes/kids/48x48/actions/view_tree.pngbin0 -> 3352 bytes
-rw-r--r--IconThemes/kids/48x48/actions/viewmag+.pngbin0 -> 3932 bytes
-rw-r--r--IconThemes/kids/48x48/actions/viewmag-.pngbin0 -> 3833 bytes
-rw-r--r--IconThemes/kids/48x48/actions/viewmag1.pngbin0 -> 4367 bytes
-rw-r--r--IconThemes/kids/48x48/actions/viewmagfit.pngbin0 -> 4169 bytes
-rw-r--r--IconThemes/kids/48x48/actions/window_fullscreen.pngbin0 -> 4032 bytes
-rw-r--r--IconThemes/kids/48x48/actions/window_new.pngbin0 -> 3622 bytes
-rw-r--r--IconThemes/kids/48x48/actions/window_nofullscreen.pngbin0 -> 4028 bytes
-rw-r--r--IconThemes/kids/48x48/apps/Untitled.pngbin0 -> 4921 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agent.pngbin0 -> 3717 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt-family-off.pngbin0 -> 5005 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_action_fail.pngbin0 -> 4049 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_action_success.pngbin0 -> 4048 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_back.pngbin0 -> 4291 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_family-off.pngbin0 -> 5706 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_family.pngbin0 -> 5810 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_forward.pngbin0 -> 4326 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_login.pngbin0 -> 3830 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_print.pngbin0 -> 4801 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_reload.pngbin0 -> 4017 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_resume.pngbin0 -> 5290 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_runit.pngbin0 -> 6052 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_stop.pngbin0 -> 3162 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_uninstall-product.pngbin0 -> 5097 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_update_critical.pngbin0 -> 1617 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_update_drivers.pngbin0 -> 4185 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_virussafe-off.pngbin0 -> 3332 bytes
-rw-r--r--IconThemes/kids/48x48/apps/agt_virussafe.pngbin0 -> 3358 bytes
-rw-r--r--IconThemes/kids/48x48/apps/aim.pngbin0 -> 3529 bytes
-rw-r--r--IconThemes/kids/48x48/apps/ark.pngbin0 -> 4185 bytes
-rw-r--r--IconThemes/kids/48x48/apps/babelfish.pngbin0 -> 4380 bytes
-rw-r--r--IconThemes/kids/48x48/apps/background.pngbin0 -> 2938 bytes
-rw-r--r--IconThemes/kids/48x48/apps/bell.pngbin0 -> 3160 bytes
-rw-r--r--IconThemes/kids/48x48/apps/browser.pngbin0 -> 3902 bytes
-rw-r--r--IconThemes/kids/48x48/apps/cache.pngbin0 -> 4292 bytes
-rw-r--r--IconThemes/kids/48x48/apps/camera.pngbin0 -> 3948 bytes
-rw-r--r--IconThemes/kids/48x48/apps/cd-player1.pngbin0 -> 4559 bytes
-rw-r--r--IconThemes/kids/48x48/apps/cd-player2.pngbin0 -> 4937 bytes
-rw-r--r--IconThemes/kids/48x48/apps/cd-player264.pngbin0 -> 7284 bytes
-rw-r--r--IconThemes/kids/48x48/apps/clicknrun.pngbin0 -> 6052 bytes
-rw-r--r--IconThemes/kids/48x48/apps/clicknrungrey.pngbin0 -> 6089 bytes
-rw-r--r--IconThemes/kids/48x48/apps/clock.pngbin0 -> 5430 bytes
-rw-r--r--IconThemes/kids/48x48/apps/colors.pngbin0 -> 4589 bytes
-rw-r--r--IconThemes/kids/48x48/apps/cookie.pngbin0 -> 3960 bytes
-rw-r--r--IconThemes/kids/48x48/apps/date.pngbin0 -> 4665 bytes
-rw-r--r--IconThemes/kids/48x48/apps/display.pngbin0 -> 4798 bytes
-rw-r--r--IconThemes/kids/48x48/apps/email.pngbin0 -> 4830 bytes
-rw-r--r--IconThemes/kids/48x48/apps/energy.pngbin0 -> 4617 bytes
-rw-r--r--IconThemes/kids/48x48/apps/energy_star.pngbin0 -> 4617 bytes
-rw-r--r--IconThemes/kids/48x48/apps/enhanced_browsing.pngbin0 -> 2864 bytes
-rw-r--r--IconThemes/kids/48x48/apps/file-manager.pngbin0 -> 5683 bytes
-rw-r--r--IconThemes/kids/48x48/apps/fileshare.pngbin0 -> 4100 bytes
-rw-r--r--IconThemes/kids/48x48/apps/filetypes.pngbin0 -> 3647 bytes
-rw-r--r--IconThemes/kids/48x48/apps/fonts.pngbin0 -> 2169 bytes
-rw-r--r--IconThemes/kids/48x48/apps/galeon.pngbin0 -> 5230 bytes
-rw-r--r--IconThemes/kids/48x48/apps/gimp.pngbin0 -> 4903 bytes
-rw-r--r--IconThemes/kids/48x48/apps/go.pngbin0 -> 5519 bytes
-rw-r--r--IconThemes/kids/48x48/apps/harddrive.pngbin0 -> 5081 bytes
-rw-r--r--IconThemes/kids/48x48/apps/hook.pngbin0 -> 4080 bytes
-rw-r--r--IconThemes/kids/48x48/apps/hwinfo.pngbin0 -> 4738 bytes
-rw-r--r--IconThemes/kids/48x48/apps/icons.pngbin0 -> 5527 bytes
-rw-r--r--IconThemes/kids/48x48/apps/iconthemes.pngbin0 -> 5284 bytes
-rw-r--r--IconThemes/kids/48x48/apps/input_devices_settings.pngbin0 -> 4399 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcalc.pngbin0 -> 5012 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmmemory.pngbin0 -> 3922 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmpci.pngbin0 -> 5090 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmprocessor.pngbin0 -> 3299 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmsound.pngbin0 -> 4921 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmsystem.pngbin0 -> 5972 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcmx.pngbin0 -> 3553 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcoloredit.pngbin0 -> 4589 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kcontrol.pngbin0 -> 5020 bytes
-rw-r--r--IconThemes/kids/48x48/apps/key_bindings.pngbin0 -> 3896 bytes
-rw-r--r--IconThemes/kids/48x48/apps/keyboard.pngbin0 -> 3462 bytes
-rw-r--r--IconThemes/kids/48x48/apps/keyboard_layout.pngbin0 -> 5204 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kfloppy.pngbin0 -> 4539 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kfm.pngbin0 -> 5723 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kfm_home.pngbin0 -> 5207 bytes
-rw-r--r--IconThemes/kids/48x48/apps/khelpcenter.pngbin0 -> 4953 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kicker.pngbin0 -> 5132 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kjobviewer.pngbin0 -> 4801 bytes
-rw-r--r--IconThemes/kids/48x48/apps/klaptopdaemon.pngbin0 -> 4248 bytes
-rw-r--r--IconThemes/kids/48x48/apps/klipper.pngbin0 -> 4409 bytes
-rw-r--r--IconThemes/kids/48x48/apps/klpq.pngbin0 -> 4801 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kmenu.pngbin0 -> 5519 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kmix.pngbin0 -> 3317 bytes
-rw-r--r--IconThemes/kids/48x48/apps/knetconfig.pngbin0 -> 4707 bytes
-rw-r--r--IconThemes/kids/48x48/apps/knotify.pngbin0 -> 3104 bytes
-rw-r--r--IconThemes/kids/48x48/apps/konqueror.pngbin0 -> 4370 bytes
-rw-r--r--IconThemes/kids/48x48/apps/konsole.pngbin0 -> 4450 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kppp.pngbin0 -> 5018 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kreatecd.pngbin0 -> 4456 bytes
-rw-r--r--IconThemes/kids/48x48/apps/krfb.pngbin0 -> 4462 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kscd.pngbin0 -> 5004 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kscreensaver.pngbin0 -> 5098 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kservices.pngbin0 -> 5972 bytes
-rw-r--r--IconThemes/kids/48x48/apps/ksmiletris.pngbin0 -> 4628 bytes
-rw-r--r--IconThemes/kids/48x48/apps/ktalkd.pngbin0 -> 4071 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kuser.pngbin0 -> 5269 bytes
-rw-r--r--IconThemes/kids/48x48/apps/kxconfig.pngbin0 -> 3465 bytes
-rw-r--r--IconThemes/kids/48x48/apps/laptop_battery.pngbin0 -> 4405 bytes
-rw-r--r--IconThemes/kids/48x48/apps/laptop_pcmcia.pngbin0 -> 4364 bytes
-rw-r--r--IconThemes/kids/48x48/apps/lin_agt_wrench.pngbin0 -> 4250 bytes
-rw-r--r--IconThemes/kids/48x48/apps/linneighborhood.pngbin0 -> 4848 bytes
-rw-r--r--IconThemes/kids/48x48/apps/linuxconf.pngbin0 -> 5334 bytes
-rw-r--r--IconThemes/kids/48x48/apps/locale.pngbin0 -> 5002 bytes
-rw-r--r--IconThemes/kids/48x48/apps/looknfeel.pngbin0 -> 5002 bytes
-rw-r--r--IconThemes/kids/48x48/apps/mail.pngbin0 -> 3786 bytes
-rw-r--r--IconThemes/kids/48x48/apps/mascot.pngbin0 -> 3533 bytes
-rw-r--r--IconThemes/kids/48x48/apps/mouse.pngbin0 -> 3908 bytes
-rw-r--r--IconThemes/kids/48x48/apps/mozilla.pngbin0 -> 4101 bytes
-rw-r--r--IconThemes/kids/48x48/apps/multimedia.pngbin0 -> 4921 bytes
-rw-r--r--IconThemes/kids/48x48/apps/mycomputer.pngbin0 -> 4901 bytes
-rw-r--r--IconThemes/kids/48x48/apps/netscape.pngbin0 -> 4218 bytes
-rw-r--r--IconThemes/kids/48x48/apps/network.pngbin0 -> 4707 bytes
-rw-r--r--IconThemes/kids/48x48/apps/noatun.pngbin0 -> 4495 bytes
-rw-r--r--IconThemes/kids/48x48/apps/os-support.pngbin0 -> 4393 bytes
-rw-r--r--IconThemes/kids/48x48/apps/package_settings.pngbin0 -> 4250 bytes
-rw-r--r--IconThemes/kids/48x48/apps/package_system.pngbin0 -> 5972 bytes
-rw-r--r--IconThemes/kids/48x48/apps/package_toys.pngbin0 -> 6174 bytes
-rw-r--r--IconThemes/kids/48x48/apps/package_utilities.pngbin0 -> 5016 bytes
-rw-r--r--IconThemes/kids/48x48/apps/password.pngbin0 -> 4253 bytes
-rw-r--r--IconThemes/kids/48x48/apps/penguin.pngbin0 -> 3580 bytes
-rw-r--r--IconThemes/kids/48x48/apps/personal.pngbin0 -> 4161 bytes
-rw-r--r--IconThemes/kids/48x48/apps/printer.pngbin0 -> 4801 bytes
-rw-r--r--IconThemes/kids/48x48/apps/printmgr.pngbin0 -> 4801 bytes
-rw-r--r--IconThemes/kids/48x48/apps/proxy.pngbin0 -> 4142 bytes
-rw-r--r--IconThemes/kids/48x48/apps/renamecomputer.pngbin0 -> 4811 bytes
-rw-r--r--IconThemes/kids/48x48/apps/samba.pngbin0 -> 3930 bytes
-rw-r--r--IconThemes/kids/48x48/apps/sisadmin.pngbin0 -> 3859 bytes
-rw-r--r--IconThemes/kids/48x48/apps/star_here.pngbin0 -> 5847 bytes
-rw-r--r--IconThemes/kids/48x48/apps/start_here.pngbin0 -> 4952 bytes
-rw-r--r--IconThemes/kids/48x48/apps/stylesheet.pngbin0 -> 4509 bytes
-rw-r--r--IconThemes/kids/48x48/apps/trash.pngbin0 -> 4540 bytes
-rw-r--r--IconThemes/kids/48x48/apps/window_list.pngbin0 -> 4992 bytes
-rw-r--r--IconThemes/kids/48x48/apps/windows_users.pngbin0 -> 4404 bytes
-rw-r--r--IconThemes/kids/48x48/apps/x.pngbin0 -> 2538 bytes
-rw-r--r--IconThemes/kids/48x48/apps/xcalc.pngbin0 -> 4811 bytes
-rw-r--r--IconThemes/kids/48x48/apps/xmail.pngbin0 -> 5412 bytes
-rw-r--r--IconThemes/kids/48x48/apps/xmms.pngbin0 -> 3355 bytes
-rw-r--r--IconThemes/kids/48x48/apps/xpaint.pngbin0 -> 4739 bytes
-rw-r--r--IconThemes/kids/48x48/devices/3floppy_mount.pngbin0 -> 4618 bytes
-rw-r--r--IconThemes/kids/48x48/devices/3floppy_unmount.pngbin0 -> 4462 bytes
-rw-r--r--IconThemes/kids/48x48/devices/48x48.pngbin0 -> 5297 bytes
-rw-r--r--IconThemes/kids/48x48/devices/camera.pngbin0 -> 3952 bytes
-rw-r--r--IconThemes/kids/48x48/devices/cdrom_mount.pngbin0 -> 4866 bytes
-rw-r--r--IconThemes/kids/48x48/devices/cdrom_unmount.pngbin0 -> 4726 bytes
-rw-r--r--IconThemes/kids/48x48/devices/hdd_mount.pngbin0 -> 4601 bytes
-rw-r--r--IconThemes/kids/48x48/devices/hdd_unmount.pngbin0 -> 5081 bytes
-rw-r--r--IconThemes/kids/48x48/devices/memory.pngbin0 -> 3922 bytes
-rw-r--r--IconThemes/kids/48x48/devices/network_local.pngbin0 -> 5498 bytes
-rw-r--r--IconThemes/kids/48x48/devices/nfs_unmount.pngbin0 -> 4920 bytes
-rw-r--r--IconThemes/kids/48x48/devices/print_printer.pngbin0 -> 4828 bytes
-rw-r--r--IconThemes/kids/48x48/devices/printer.pngbin0 -> 4828 bytes
-rw-r--r--IconThemes/kids/48x48/devices/printer2.pngbin0 -> 4828 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/connect_to_network.pngbin0 -> 5178 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/desktop.pngbin0 -> 4120 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/exec.pngbin0 -> 4380 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/favorites.pngbin0 -> 3432 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/favorites2.pngbin0 -> 4835 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/file_temporary.pngbin0 -> 4973 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder.pngbin0 -> 3989 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_blue.pngbin0 -> 4387 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_doc.pngbin0 -> 4793 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_favorites.pngbin0 -> 3945 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_favorites2.pngbin0 -> 4740 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_home.pngbin0 -> 5202 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_htm.pngbin0 -> 5206 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_html.pngbin0 -> 4081 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_image.pngbin0 -> 4525 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_locked.pngbin0 -> 4677 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/folder_music.pngbin0 -> 4761 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/link.pngbin0 -> 1153 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/lockoverlay.pngbin0 -> 1544 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/network_local.pngbin0 -> 4730 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/socket.pngbin0 -> 5052 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/trashcan_empty.pngbin0 -> 4921 bytes
-rw-r--r--IconThemes/kids/48x48/filesystems/trashcan_full.pngbin0 -> 4663 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/cdimage.pngbin0 -> 4027 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/document.pngbin0 -> 5177 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/empty.pngbin0 -> 4171 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/file_locked.pngbin0 -> 5167 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/file_temporary.pngbin0 -> 4715 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/html.pngbin0 -> 5151 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/image.pngbin0 -> 4906 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/midi.pngbin0 -> 4194 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/netscape_doc.pngbin0 -> 4489 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/sound.pngbin0 -> 3619 bytes
-rw-r--r--IconThemes/kids/48x48/mimetypes/unknown.pngbin0 -> 4068 bytes
-rw-r--r--IconThemes/kids/64x64/actions/Untitled.pngbin0 -> 6176 bytes
-rw-r--r--IconThemes/kids/64x64/actions/about_kde.pngbin0 -> 7108 bytes
-rw-r--r--IconThemes/kids/64x64/actions/appearance.pngbin0 -> 7315 bytes
-rw-r--r--IconThemes/kids/64x64/actions/back.pngbin0 -> 6319 bytes
-rw-r--r--IconThemes/kids/64x64/actions/bookmark.pngbin0 -> 3422 bytes
-rw-r--r--IconThemes/kids/64x64/actions/bookmark_add.pngbin0 -> 4823 bytes
-rw-r--r--IconThemes/kids/64x64/actions/button_cance.pngbin0 -> 5666 bytes
-rw-r--r--IconThemes/kids/64x64/actions/button_ok.pngbin0 -> 5716 bytes
-rw-r--r--IconThemes/kids/64x64/actions/cd.pngbin0 -> 6841 bytes
-rw-r--r--IconThemes/kids/64x64/actions/colorize.pngbin0 -> 4472 bytes
-rw-r--r--IconThemes/kids/64x64/actions/compfile.pngbin0 -> 6264 bytes
-rw-r--r--IconThemes/kids/64x64/actions/configure.pngbin0 -> 7606 bytes
-rw-r--r--IconThemes/kids/64x64/actions/decrypted.pngbin0 -> 6578 bytes
-rw-r--r--IconThemes/kids/64x64/actions/down.pngbin0 -> 6176 bytes
-rw-r--r--IconThemes/kids/64x64/actions/edit.pngbin0 -> 6439 bytes
-rw-r--r--IconThemes/kids/64x64/actions/editcopy.pngbin0 -> 4401 bytes
-rw-r--r--IconThemes/kids/64x64/actions/editcut.pngbin0 -> 6002 bytes
-rw-r--r--IconThemes/kids/64x64/actions/editdelete.pngbin0 -> 5756 bytes
-rw-r--r--IconThemes/kids/64x64/actions/editpaste.pngbin0 -> 5260 bytes
-rw-r--r--IconThemes/kids/64x64/actions/edittrash.pngbin0 -> 7282 bytes
-rw-r--r--IconThemes/kids/64x64/actions/encrypted.pngbin0 -> 6687 bytes
-rw-r--r--IconThemes/kids/64x64/actions/exit.pngbin0 -> 4142 bytes
-rw-r--r--IconThemes/kids/64x64/actions/fileclose.pngbin0 -> 3990 bytes
-rw-r--r--IconThemes/kids/64x64/actions/filefind.pngbin0 -> 7415 bytes
-rw-r--r--IconThemes/kids/64x64/actions/filenew.pngbin0 -> 4541 bytes
-rw-r--r--IconThemes/kids/64x64/actions/fileopen.pngbin0 -> 5458 bytes
-rw-r--r--IconThemes/kids/64x64/actions/fileprint.pngbin0 -> 7166 bytes
-rw-r--r--IconThemes/kids/64x64/actions/filequickprint.pngbin0 -> 7800 bytes
-rw-r--r--IconThemes/kids/64x64/actions/filesave.pngbin0 -> 6341 bytes
-rw-r--r--IconThemes/kids/64x64/actions/filesaveas.pngbin0 -> 6325 bytes
-rw-r--r--IconThemes/kids/64x64/actions/find.pngbin0 -> 6889 bytes
-rw-r--r--IconThemes/kids/64x64/actions/fonts.pngbin0 -> 3036 bytes
-rw-r--r--IconThemes/kids/64x64/actions/forward.pngbin0 -> 6382 bytes
-rw-r--r--IconThemes/kids/64x64/actions/frameprint.pngbin0 -> 7006 bytes
-rw-r--r--IconThemes/kids/64x64/actions/gohome.pngbin0 -> 5523 bytes
-rw-r--r--IconThemes/kids/64x64/actions/help.pngbin0 -> 6500 bytes
-rw-r--r--IconThemes/kids/64x64/actions/history.pngbin0 -> 7026 bytes
-rw-r--r--IconThemes/kids/64x64/actions/klipper_doc.pngbin0 -> 6645 bytes
-rw-r--r--IconThemes/kids/64x64/actions/launch.pngbin0 -> 3761 bytes
-rw-r--r--IconThemes/kids/64x64/actions/misc.pngbin0 -> 6342 bytes
-rw-r--r--IconThemes/kids/64x64/actions/next-sail.pngbin0 -> 3918 bytes
-rw-r--r--IconThemes/kids/64x64/actions/next.pngbin0 -> 4616 bytes
-rw-r--r--IconThemes/kids/64x64/actions/previos-sail.pngbin0 -> 4099 bytes
-rw-r--r--IconThemes/kids/64x64/actions/previous.pngbin0 -> 4685 bytes
-rw-r--r--IconThemes/kids/64x64/actions/redo.pngbin0 -> 3710 bytes
-rw-r--r--IconThemes/kids/64x64/actions/reload.pngbin0 -> 5691 bytes
-rw-r--r--IconThemes/kids/64x64/actions/run.pngbin0 -> 8157 bytes
-rw-r--r--IconThemes/kids/64x64/actions/search.pngbin0 -> 7003 bytes
-rw-r--r--IconThemes/kids/64x64/actions/stop.pngbin0 -> 4180 bytes
-rw-r--r--IconThemes/kids/64x64/actions/thumbnail.pngbin0 -> 7934 bytes
-rw-r--r--IconThemes/kids/64x64/actions/undo.pngbin0 -> 3658 bytes
-rw-r--r--IconThemes/kids/64x64/actions/unlock.pngbin0 -> 6863 bytes
-rw-r--r--IconThemes/kids/64x64/actions/up.pngbin0 -> 6334 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_bottom.pngbin0 -> 4895 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_choose.pngbin0 -> 5246 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_detailed.pngbin0 -> 5030 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_icon.pngbin0 -> 5629 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_left_right.pngbin0 -> 3675 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_multicolumn.pngbin0 -> 5445 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_remove.pngbin0 -> 3516 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_right.pngbin0 -> 4895 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_sidetree.pngbin0 -> 4548 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_text.pngbin0 -> 4602 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_top_bottom.pngbin0 -> 4056 bytes
-rw-r--r--IconThemes/kids/64x64/actions/view_tree.pngbin0 -> 4617 bytes
-rw-r--r--IconThemes/kids/64x64/actions/viewmag+.pngbin0 -> 5980 bytes
-rw-r--r--IconThemes/kids/64x64/actions/viewmag-.pngbin0 -> 5762 bytes
-rw-r--r--IconThemes/kids/64x64/actions/viewmagfit.pngbin0 -> 6142 bytes
-rw-r--r--IconThemes/kids/64x64/actions/window_fullscreen.pngbin0 -> 5438 bytes
-rw-r--r--IconThemes/kids/64x64/actions/window_new.pngbin0 -> 4929 bytes
-rw-r--r--IconThemes/kids/64x64/actions/window_nofullscreen.pngbin0 -> 5461 bytes
-rw-r--r--IconThemes/kids/64x64/apps/Untitled.pngbin0 -> 7225 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agent.pngbin0 -> 5625 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt-family-off.pngbin0 -> 7330 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_action_fail.pngbin0 -> 5666 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_action_success.pngbin0 -> 5759 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_back.pngbin0 -> 6306 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_family-off.pngbin0 -> 8526 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_family.pngbin0 -> 9039 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_forward.pngbin0 -> 6342 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_login.pngbin0 -> 5512 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_print.pngbin0 -> 7180 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_reload.pngbin0 -> 5684 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_resume.pngbin0 -> 8148 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_runit.pngbin0 -> 9214 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_stop.pngbin0 -> 4080 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_uninstall-product.pngbin0 -> 7755 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_update_critical.pngbin0 -> 2215 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_update_drivers.pngbin0 -> 6240 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_virussafe-off.pngbin0 -> 4885 bytes
-rw-r--r--IconThemes/kids/64x64/apps/agt_virussafe.pngbin0 -> 5010 bytes
-rw-r--r--IconThemes/kids/64x64/apps/aim.pngbin0 -> 5141 bytes
-rw-r--r--IconThemes/kids/64x64/apps/ark.pngbin0 -> 6240 bytes
-rw-r--r--IconThemes/kids/64x64/apps/babelfish.pngbin0 -> 6496 bytes
-rw-r--r--IconThemes/kids/64x64/apps/background.pngbin0 -> 4069 bytes
-rw-r--r--IconThemes/kids/64x64/apps/bell.pngbin0 -> 4571 bytes
-rw-r--r--IconThemes/kids/64x64/apps/browser.pngbin0 -> 5839 bytes
-rw-r--r--IconThemes/kids/64x64/apps/cache.pngbin0 -> 6414 bytes
-rw-r--r--IconThemes/kids/64x64/apps/camera.pngbin0 -> 5882 bytes
-rw-r--r--IconThemes/kids/64x64/apps/cd-player1.pngbin0 -> 6786 bytes
-rw-r--r--IconThemes/kids/64x64/apps/clicknrun.pngbin0 -> 9220 bytes
-rw-r--r--IconThemes/kids/64x64/apps/clicknrungrey.pngbin0 -> 9098 bytes
-rw-r--r--IconThemes/kids/64x64/apps/clock.pngbin0 -> 8184 bytes
-rw-r--r--IconThemes/kids/64x64/apps/colors.pngbin0 -> 6746 bytes
-rw-r--r--IconThemes/kids/64x64/apps/cookie.pngbin0 -> 6068 bytes
-rw-r--r--IconThemes/kids/64x64/apps/date.pngbin0 -> 7009 bytes
-rw-r--r--IconThemes/kids/64x64/apps/display.pngbin0 -> 7295 bytes
-rw-r--r--IconThemes/kids/64x64/apps/email.pngbin0 -> 7170 bytes
-rw-r--r--IconThemes/kids/64x64/apps/energy.pngbin0 -> 7080 bytes
-rw-r--r--IconThemes/kids/64x64/apps/energy_star.pngbin0 -> 7080 bytes
-rw-r--r--IconThemes/kids/64x64/apps/enhanced_browsing.pngbin0 -> 4003 bytes
-rw-r--r--IconThemes/kids/64x64/apps/file-manager.pngbin0 -> 8797 bytes
-rw-r--r--IconThemes/kids/64x64/apps/fileshare.pngbin0 -> 6284 bytes
-rw-r--r--IconThemes/kids/64x64/apps/filetypes.pngbin0 -> 5423 bytes
-rw-r--r--IconThemes/kids/64x64/apps/fonts.pngbin0 -> 3033 bytes
-rw-r--r--IconThemes/kids/64x64/apps/galeon.pngbin0 -> 7899 bytes
-rw-r--r--IconThemes/kids/64x64/apps/gimp.pngbin0 -> 7397 bytes
-rw-r--r--IconThemes/kids/64x64/apps/go.pngbin0 -> 7953 bytes
-rw-r--r--IconThemes/kids/64x64/apps/harddrive.pngbin0 -> 7583 bytes
-rw-r--r--IconThemes/kids/64x64/apps/hook.pngbin0 -> 6142 bytes
-rw-r--r--IconThemes/kids/64x64/apps/hwinfo.pngbin0 -> 7411 bytes
-rw-r--r--IconThemes/kids/64x64/apps/icons.pngbin0 -> 8503 bytes
-rw-r--r--IconThemes/kids/64x64/apps/iconthemes.pngbin0 -> 8096 bytes
-rw-r--r--IconThemes/kids/64x64/apps/input_devices_settings.pngbin0 -> 6719 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcalc.pngbin0 -> 7772 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmmemory.pngbin0 -> 5874 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmpci.pngbin0 -> 7891 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmprocessor.pngbin0 -> 4929 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmsound.pngbin0 -> 7227 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmsystem.pngbin0 -> 8905 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcmx.pngbin0 -> 5320 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcoloredit.pngbin0 -> 6779 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kcontrol.pngbin0 -> 7583 bytes
-rw-r--r--IconThemes/kids/64x64/apps/key_bindings.pngbin0 -> 5852 bytes
-rw-r--r--IconThemes/kids/64x64/apps/keyboard.pngbin0 -> 5071 bytes
-rw-r--r--IconThemes/kids/64x64/apps/keyboard_layout.pngbin0 -> 7680 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kfloppy.pngbin0 -> 6574 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kfm.pngbin0 -> 8801 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kfm_home.pngbin0 -> 7790 bytes
-rw-r--r--IconThemes/kids/64x64/apps/khelpcenter.pngbin0 -> 7788 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kicker.pngbin0 -> 7414 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kjobviewer.pngbin0 -> 7113 bytes
-rw-r--r--IconThemes/kids/64x64/apps/klaptopdaemon.pngbin0 -> 6366 bytes
-rw-r--r--IconThemes/kids/64x64/apps/klipper.pngbin0 -> 6623 bytes
-rw-r--r--IconThemes/kids/64x64/apps/klpq.pngbin0 -> 7113 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kmenu.pngbin0 -> 7953 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kmix.pngbin0 -> 4999 bytes
-rw-r--r--IconThemes/kids/64x64/apps/knetconfig.pngbin0 -> 7075 bytes
-rw-r--r--IconThemes/kids/64x64/apps/knotify.pngbin0 -> 4625 bytes
-rw-r--r--IconThemes/kids/64x64/apps/konqueror.pngbin0 -> 6337 bytes
-rw-r--r--IconThemes/kids/64x64/apps/konsole.pngbin0 -> 6699 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kppp.pngbin0 -> 7762 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kreatecd.pngbin0 -> 6823 bytes
-rw-r--r--IconThemes/kids/64x64/apps/krfb.pngbin0 -> 6733 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kscd.pngbin0 -> 7431 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kscreensaver.pngbin0 -> 7701 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kservices.pngbin0 -> 8796 bytes
-rw-r--r--IconThemes/kids/64x64/apps/ksmiletris.pngbin0 -> 6885 bytes
-rw-r--r--IconThemes/kids/64x64/apps/ktalkd.pngbin0 -> 6070 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kuser.pngbin0 -> 7865 bytes
-rw-r--r--IconThemes/kids/64x64/apps/kxconfig.pngbin0 -> 5133 bytes
-rw-r--r--IconThemes/kids/64x64/apps/laptop_battery.pngbin0 -> 6547 bytes
-rw-r--r--IconThemes/kids/64x64/apps/laptop_pcmcia.pngbin0 -> 6791 bytes
-rw-r--r--IconThemes/kids/64x64/apps/lin_agt_wrench.pngbin0 -> 5874 bytes
-rw-r--r--IconThemes/kids/64x64/apps/linneighborhood.pngbin0 -> 7267 bytes
-rw-r--r--IconThemes/kids/64x64/apps/linuxconf.pngbin0 -> 8447 bytes
-rw-r--r--IconThemes/kids/64x64/apps/locale.pngbin0 -> 7455 bytes
-rw-r--r--IconThemes/kids/64x64/apps/looknfeel.pngbin0 -> 7765 bytes
-rw-r--r--IconThemes/kids/64x64/apps/mail.pngbin0 -> 5459 bytes
-rw-r--r--IconThemes/kids/64x64/apps/mascot.pngbin0 -> 5238 bytes
-rw-r--r--IconThemes/kids/64x64/apps/mouse.pngbin0 -> 5651 bytes
-rw-r--r--IconThemes/kids/64x64/apps/mozilla.pngbin0 -> 6287 bytes
-rw-r--r--IconThemes/kids/64x64/apps/multimedia.pngbin0 -> 7225 bytes
-rw-r--r--IconThemes/kids/64x64/apps/mycomputer.pngbin0 -> 7391 bytes
-rw-r--r--IconThemes/kids/64x64/apps/netscape.pngbin0 -> 6208 bytes
-rw-r--r--IconThemes/kids/64x64/apps/network.pngbin0 -> 7075 bytes
-rw-r--r--IconThemes/kids/64x64/apps/noatun.pngbin0 -> 6640 bytes
-rw-r--r--IconThemes/kids/64x64/apps/os-support.pngbin0 -> 6597 bytes
-rw-r--r--IconThemes/kids/64x64/apps/package_settings.pngbin0 -> 5874 bytes
-rw-r--r--IconThemes/kids/64x64/apps/package_system.pngbin0 -> 8796 bytes
-rw-r--r--IconThemes/kids/64x64/apps/package_toys.pngbin0 -> 9977 bytes
-rw-r--r--IconThemes/kids/64x64/apps/package_utilities.pngbin0 -> 7670 bytes
-rw-r--r--IconThemes/kids/64x64/apps/password.pngbin0 -> 6200 bytes
-rw-r--r--IconThemes/kids/64x64/apps/penguin.pngbin0 -> 5343 bytes
-rw-r--r--IconThemes/kids/64x64/apps/personal.pngbin0 -> 6440 bytes
-rw-r--r--IconThemes/kids/64x64/apps/printer.pngbin0 -> 7113 bytes
-rw-r--r--IconThemes/kids/64x64/apps/printmgr.pngbin0 -> 7113 bytes
-rw-r--r--IconThemes/kids/64x64/apps/proxy.pngbin0 -> 5958 bytes
-rw-r--r--IconThemes/kids/64x64/apps/renamecomputer.pngbin0 -> 7049 bytes
-rw-r--r--IconThemes/kids/64x64/apps/samba.pngbin0 -> 5720 bytes
-rw-r--r--IconThemes/kids/64x64/apps/sisadmin.pngbin0 -> 5702 bytes
-rw-r--r--IconThemes/kids/64x64/apps/star_here.pngbin0 -> 8682 bytes
-rw-r--r--IconThemes/kids/64x64/apps/start_here.pngbin0 -> 7179 bytes
-rw-r--r--IconThemes/kids/64x64/apps/stylesheet.pngbin0 -> 6459 bytes
-rw-r--r--IconThemes/kids/64x64/apps/trash.pngbin0 -> 6932 bytes
-rw-r--r--IconThemes/kids/64x64/apps/window_list.pngbin0 -> 7518 bytes
-rw-r--r--IconThemes/kids/64x64/apps/windows_users.pngbin0 -> 6768 bytes
-rw-r--r--IconThemes/kids/64x64/apps/x.pngbin0 -> 3753 bytes
-rw-r--r--IconThemes/kids/64x64/apps/xcalc.pngbin0 -> 7049 bytes
-rw-r--r--IconThemes/kids/64x64/apps/xmail.pngbin0 -> 8288 bytes
-rw-r--r--IconThemes/kids/64x64/apps/xmms.pngbin0 -> 5026 bytes
-rw-r--r--IconThemes/kids/64x64/apps/xpaint.pngbin0 -> 7257 bytes
-rw-r--r--IconThemes/kids/64x64/devices/3floppy_mount.pngbin0 -> 6720 bytes
-rw-r--r--IconThemes/kids/64x64/devices/3floppy_unmount.pngbin0 -> 6433 bytes
-rw-r--r--IconThemes/kids/64x64/devices/camera.pngbin0 -> 5849 bytes
-rw-r--r--IconThemes/kids/64x64/devices/cdrom_mount.pngbin0 -> 7032 bytes
-rw-r--r--IconThemes/kids/64x64/devices/cdrom_unmount.pngbin0 -> 6893 bytes
-rw-r--r--IconThemes/kids/64x64/devices/hdd_mount.pngbin0 -> 6928 bytes
-rw-r--r--IconThemes/kids/64x64/devices/hdd_unmount.pngbin0 -> 7616 bytes
-rw-r--r--IconThemes/kids/64x64/devices/memory.pngbin0 -> 5878 bytes
-rw-r--r--IconThemes/kids/64x64/devices/network_local.pngbin0 -> 8570 bytes
-rw-r--r--IconThemes/kids/64x64/devices/nfs_unmount.pngbin0 -> 7494 bytes
-rw-r--r--IconThemes/kids/64x64/devices/print_printer.pngbin0 -> 6979 bytes
-rw-r--r--IconThemes/kids/64x64/devices/printer.pngbin0 -> 6979 bytes
-rw-r--r--IconThemes/kids/64x64/devices/printer2.pngbin0 -> 6979 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/connect_to_network.pngbin0 -> 8013 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/desktop.pngbin0 -> 6479 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/exec.pngbin0 -> 6388 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/favorites.pngbin0 -> 5010 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/favorites2.pngbin0 -> 7442 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/file_temporary.pngbin0 -> 7882 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder.pngbin0 -> 5914 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_blue.pngbin0 -> 6637 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_doc.pngbin0 -> 7424 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_favorites.pngbin0 -> 5767 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_favorites2.pngbin0 -> 7280 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_home.pngbin0 -> 7970 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_htm.pngbin0 -> 7909 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_html.pngbin0 -> 6145 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_image.pngbin0 -> 6978 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_locked.pngbin0 -> 7292 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/folder_music.pngbin0 -> 7140 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/link.pngbin0 -> 1710 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/lockoverlay.pngbin0 -> 2217 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/network_local.pngbin0 -> 7056 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/socket.pngbin0 -> 7795 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/trashcan_empty.pngbin0 -> 7479 bytes
-rw-r--r--IconThemes/kids/64x64/filesystems/trashcan_full.pngbin0 -> 7195 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/cdimage.pngbin0 -> 5956 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/document.pngbin0 -> 7843 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/empty.pngbin0 -> 5920 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/file_locked.pngbin0 -> 7832 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/file_temporary.pngbin0 -> 7469 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/html.pngbin0 -> 7853 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/image.pngbin0 -> 7486 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/midi.pngbin0 -> 6134 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/netscape_doc.pngbin0 -> 6472 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/sound.pngbin0 -> 5266 bytes
-rw-r--r--IconThemes/kids/64x64/mimetypes/unknown.pngbin0 -> 6209 bytes
-rw-r--r--IconThemes/kids/by Everaldo.txt4
-rw-r--r--IconThemes/kids/index.theme255
-rw-r--r--IconThemes/slick/16x16/actions/1downarrow.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/16x16/actions/1leftarrow.pngbin0 -> 486 bytes
-rw-r--r--IconThemes/slick/16x16/actions/1rightarrow.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/slick/16x16/actions/1uparrow.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/slick/16x16/actions/2downarrow.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/slick/16x16/actions/2leftarrow.pngbin0 -> 597 bytes
-rw-r--r--IconThemes/slick/16x16/actions/2rightarrow.pngbin0 -> 587 bytes
-rw-r--r--IconThemes/slick/16x16/actions/2uparrow.pngbin0 -> 564 bytes
-rw-r--r--IconThemes/slick/16x16/actions/about_kde.pngbin0 -> 1129 bytes
-rw-r--r--IconThemes/slick/16x16/actions/airbrush.pngbin0 -> 464 bytes
-rw-r--r--IconThemes/slick/16x16/actions/apply.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/slick/16x16/actions/arrow_bottomleft.pngbin0 -> 305 bytes
-rw-r--r--IconThemes/slick/16x16/actions/arrow_bottomright.pngbin0 -> 300 bytes
-rw-r--r--IconThemes/slick/16x16/actions/arrow_topleft.pngbin0 -> 322 bytes
-rw-r--r--IconThemes/slick/16x16/actions/arrow_topright.pngbin0 -> 332 bytes
-rw-r--r--IconThemes/slick/16x16/actions/attach.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/slick/16x16/actions/back.pngbin0 -> 571 bytes
-rw-r--r--IconThemes/slick/16x16/actions/backimage.pngbin0 -> 656 bytes
-rw-r--r--IconThemes/slick/16x16/actions/blank.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/actions/blend.pngbin0 -> 336 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bookmark.pngbin0 -> 753 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bookmark_add.pngbin0 -> 711 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bookmark_folder.pngbin0 -> 753 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bookmark_toolbar.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bookmarks_list_add.pngbin0 -> 771 bytes
-rw-r--r--IconThemes/slick/16x16/actions/bottom.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/slick/16x16/actions/camera_test.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/slick/16x16/actions/cancel.pngbin0 -> 1142 bytes
-rw-r--r--IconThemes/slick/16x16/actions/cd.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/slick/16x16/actions/cdburn.pngbin0 -> 1142 bytes
-rw-r--r--IconThemes/slick/16x16/actions/cdcopy.pngbin0 -> 1023 bytes
-rw-r--r--IconThemes/slick/16x16/actions/cdrwblank.pngbin0 -> 1048 bytes
-rw-r--r--IconThemes/slick/16x16/actions/charset.pngbin0 -> 237 bytes
-rw-r--r--IconThemes/slick/16x16/actions/clear_left.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/slick/16x16/actions/colorize.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/slick/16x16/actions/completion.pngbin0 -> 365 bytes
-rw-r--r--IconThemes/slick/16x16/actions/compress.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/slick/16x16/actions/configure.pngbin0 -> 793 bytes
-rw-r--r--IconThemes/slick/16x16/actions/configure_shortcuts.pngbin0 -> 771 bytes
-rw-r--r--IconThemes/slick/16x16/actions/configure_toolbars.pngbin0 -> 536 bytes
-rw-r--r--IconThemes/slick/16x16/actions/connect_creating.pngbin0 -> 1179 bytes
-rw-r--r--IconThemes/slick/16x16/actions/connect_established.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/slick/16x16/actions/connect_no.pngbin0 -> 640 bytes
-rw-r--r--IconThemes/slick/16x16/actions/contents.pngbin0 -> 676 bytes
-rw-r--r--IconThemes/slick/16x16/actions/contents2.pngbin0 -> 676 bytes
-rw-r--r--IconThemes/slick/16x16/actions/contexthelp.pngbin0 -> 895 bytes
-rw-r--r--IconThemes/slick/16x16/actions/decrypted.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/slick/16x16/actions/define_clip.pngbin0 -> 820 bytes
-rw-r--r--IconThemes/slick/16x16/actions/domtreeviewer.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/slick/16x16/actions/down.pngbin0 -> 593 bytes
-rw-r--r--IconThemes/slick/16x16/actions/edit.pngbin0 -> 711 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editclear.pngbin0 -> 262 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editcopy.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editcut.pngbin0 -> 555 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editdelete.pngbin0 -> 657 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editpaste.pngbin0 -> 642 bytes
-rw-r--r--IconThemes/slick/16x16/actions/editshred.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/slick/16x16/actions/edittrash.pngbin0 -> 1111 bytes
-rw-r--r--IconThemes/slick/16x16/actions/emptytrash.pngbin0 -> 1044 bytes
-rw-r--r--IconThemes/slick/16x16/actions/encrypted.pngbin0 -> 665 bytes
-rw-r--r--IconThemes/slick/16x16/actions/enhanced_browsing.pngbin0 -> 842 bytes
-rw-r--r--IconThemes/slick/16x16/actions/exec.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/slick/16x16/actions/exit.pngbin0 -> 742 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fileclose.pngbin0 -> 650 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fileexport.pngbin0 -> 668 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filefind.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filenew.pngbin0 -> 580 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fileopen.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fileprint.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filequickprint.pngbin0 -> 711 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filesave.pngbin0 -> 668 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filesaveas.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fill.pngbin0 -> 624 bytes
-rw-r--r--IconThemes/slick/16x16/actions/filter.pngbin0 -> 862 bytes
-rw-r--r--IconThemes/slick/16x16/actions/find.pngbin0 -> 1059 bytes
-rw-r--r--IconThemes/slick/16x16/actions/finish.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/slick/16x16/actions/folder_new.pngbin0 -> 669 bytes
-rw-r--r--IconThemes/slick/16x16/actions/fork.pngbin0 -> 998 bytes
-rw-r--r--IconThemes/slick/16x16/actions/forward.pngbin0 -> 543 bytes
-rw-r--r--IconThemes/slick/16x16/actions/frameprint.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/slick/16x16/actions/gear.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/slick/16x16/actions/gohome.pngbin0 -> 818 bytes
-rw-r--r--IconThemes/slick/16x16/actions/goto.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/slick/16x16/actions/greenled.pngbin0 -> 1123 bytes
-rw-r--r--IconThemes/slick/16x16/actions/halfencrypted.pngbin0 -> 675 bytes
-rw-r--r--IconThemes/slick/16x16/actions/help.pngbin0 -> 1141 bytes
-rw-r--r--IconThemes/slick/16x16/actions/history.pngbin0 -> 1190 bytes
-rw-r--r--IconThemes/slick/16x16/actions/history_clear.pngbin0 -> 1193 bytes
-rw-r--r--IconThemes/slick/16x16/actions/hotlistadd.pngbin0 -> 280 bytes
-rw-r--r--IconThemes/slick/16x16/actions/hotlistdel.pngbin0 -> 174 bytes
-rw-r--r--IconThemes/slick/16x16/actions/idea.pngbin0 -> 789 bytes
-rw-r--r--IconThemes/slick/16x16/actions/identity.pngbin0 -> 566 bytes
-rw-r--r--IconThemes/slick/16x16/actions/imagegallery.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/indicator_connect.pngbin0 -> 395 bytes
-rw-r--r--IconThemes/slick/16x16/actions/indicator_empty.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/slick/16x16/actions/indicator_full.pngbin0 -> 423 bytes
-rw-r--r--IconThemes/slick/16x16/actions/indicator_noconnect.pngbin0 -> 191 bytes
-rw-r--r--IconThemes/slick/16x16/actions/indicator_viewactive.pngbin0 -> 434 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde.pngbin0 -> 13050 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde1.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde2.pngbin0 -> 702 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde3.pngbin0 -> 748 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde4.pngbin0 -> 756 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde5.pngbin0 -> 766 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde6.pngbin0 -> 741 bytes
-rw-r--r--IconThemes/slick/16x16/actions/kde7.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/slick/16x16/actions/key_enter.pngbin0 -> 1112 bytes
-rw-r--r--IconThemes/slick/16x16/actions/khtml_kget.pngbin0 -> 1150 bytes
-rw-r--r--IconThemes/slick/16x16/actions/klipper_dock.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/16x16/actions/ktip.pngbin0 -> 796 bytes
-rw-r--r--IconThemes/slick/16x16/actions/launch.pngbin0 -> 998 bytes
-rw-r--r--IconThemes/slick/16x16/actions/locationbar_erase.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/slick/16x16/actions/lock.pngbin0 -> 665 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_find.pngbin0 -> 707 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_forward.pngbin0 -> 647 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_generic.pngbin0 -> 452 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_get.pngbin0 -> 705 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_new.pngbin0 -> 633 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_reply.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_replyall.pngbin0 -> 618 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_replylist.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/slick/16x16/actions/mail_send.pngbin0 -> 605 bytes
-rw-r--r--IconThemes/slick/16x16/actions/misc.pngbin0 -> 1027 bytes
-rw-r--r--IconThemes/slick/16x16/actions/move.pngbin0 -> 486 bytes
-rw-r--r--IconThemes/slick/16x16/actions/news.pngbin0 -> 515 bytes
-rw-r--r--IconThemes/slick/16x16/actions/news_subscribe.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/slick/16x16/actions/news_unsubscribe.pngbin0 -> 622 bytes
-rw-r--r--IconThemes/slick/16x16/actions/next.pngbin0 -> 377 bytes
-rw-r--r--IconThemes/slick/16x16/actions/no.pngbin0 -> 1093 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunback.pngbin0 -> 1168 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunforward.pngbin0 -> 1181 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunpause.pngbin0 -> 1035 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunplay.pngbin0 -> 1141 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunplaylist.pngbin0 -> 1160 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatunstop.pngbin0 -> 1099 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatuntray.pngbin0 -> 952 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatuntraypause.pngbin0 -> 1035 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatuntrayplay.pngbin0 -> 1141 bytes
-rw-r--r--IconThemes/slick/16x16/actions/noatuntraystop.pngbin0 -> 952 bytes
-rw-r--r--IconThemes/slick/16x16/actions/ok.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/slick/16x16/actions/openterm.pngbin0 -> 1073 bytes
-rw-r--r--IconThemes/slick/16x16/actions/opentermblue.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/slick/16x16/actions/opentermred.pngbin0 -> 1071 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_eject.pngbin0 -> 559 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_end.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_fwd.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_pause.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_play.pngbin0 -> 603 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_rew.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_start.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/slick/16x16/actions/player_stop.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/slick/16x16/actions/previous.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/slick/16x16/actions/query_erase.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/slick/16x16/actions/redled.pngbin0 -> 1142 bytes
-rw-r--r--IconThemes/slick/16x16/actions/redo.pngbin0 -> 972 bytes
-rw-r--r--IconThemes/slick/16x16/actions/reload.pngbin0 -> 1010 bytes
-rw-r--r--IconThemes/slick/16x16/actions/reload_all_tabs.pngbin0 -> 1039 bytes
-rw-r--r--IconThemes/slick/16x16/actions/reload_page.pngbin0 -> 1010 bytes
-rw-r--r--IconThemes/slick/16x16/actions/remove.pngbin0 -> 650 bytes
-rw-r--r--IconThemes/slick/16x16/actions/revert.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/slick/16x16/actions/rotate.pngbin0 -> 1197 bytes
-rw-r--r--IconThemes/slick/16x16/actions/rotate_ccw.pngbin0 -> 1197 bytes
-rw-r--r--IconThemes/slick/16x16/actions/rotate_cw.pngbin0 -> 1214 bytes
-rw-r--r--IconThemes/slick/16x16/actions/run.pngbin0 -> 842 bytes
-rw-r--r--IconThemes/slick/16x16/actions/save_all.pngbin0 -> 684 bytes
-rw-r--r--IconThemes/slick/16x16/actions/share.pngbin0 -> 725 bytes
-rw-r--r--IconThemes/slick/16x16/actions/showmenu.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/slick/16x16/actions/spellcheck.pngbin0 -> 810 bytes
-rw-r--r--IconThemes/slick/16x16/actions/start.pngbin0 -> 590 bytes
-rw-r--r--IconThemes/slick/16x16/actions/stop.pngbin0 -> 1299 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tab_breakoff.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tab_duplicate.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tab_new.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tab_new_bg.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tab_remove.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/text.pngbin0 -> 445 bytes
-rw-r--r--IconThemes/slick/16x16/actions/thumbnail.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/tick.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/slick/16x16/actions/top.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/slick/16x16/actions/undo.pngbin0 -> 956 bytes
-rw-r--r--IconThemes/slick/16x16/actions/unlock.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/slick/16x16/actions/up.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_choose.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_detailed.pngbin0 -> 368 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_icon.pngbin0 -> 367 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_multicolumn.pngbin0 -> 348 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_sidetree.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_text.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/slick/16x16/actions/view_tree.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/slick/16x16/actions/viewmag+.pngbin0 -> 888 bytes
-rw-r--r--IconThemes/slick/16x16/actions/viewmag-.pngbin0 -> 857 bytes
-rw-r--r--IconThemes/slick/16x16/actions/viewmag.pngbin0 -> 820 bytes
-rw-r--r--IconThemes/slick/16x16/actions/viewmagfit.pngbin0 -> 820 bytes
-rw-r--r--IconThemes/slick/16x16/actions/webarchiver.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/slick/16x16/actions/window_fullscreen.pngbin0 -> 491 bytes
-rw-r--r--IconThemes/slick/16x16/actions/window_new.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/actions/window_nofullscreen.pngbin0 -> 480 bytes
-rw-r--r--IconThemes/slick/16x16/actions/yellowled.pngbin0 -> 1107 bytes
-rw-r--r--IconThemes/slick/16x16/apps/ark.pngbin0 -> 586 bytes
-rw-r--r--IconThemes/slick/16x16/apps/background.pngbin0 -> 727 bytes
-rw-r--r--IconThemes/slick/16x16/apps/bell.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/apps/camera.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/slick/16x16/apps/cdbakeoven.pngbin0 -> 1148 bytes
-rw-r--r--IconThemes/slick/16x16/apps/cervisia.pngbin0 -> 258 bytes
-rw-r--r--IconThemes/slick/16x16/apps/clock.pngbin0 -> 875 bytes
-rw-r--r--IconThemes/slick/16x16/apps/colors.pngbin0 -> 735 bytes
-rw-r--r--IconThemes/slick/16x16/apps/configure_shortcuts.pngbin0 -> 532 bytes
-rw-r--r--IconThemes/slick/16x16/apps/date.pngbin0 -> 879 bytes
-rw-r--r--IconThemes/slick/16x16/apps/energy.pngbin0 -> 1110 bytes
-rw-r--r--IconThemes/slick/16x16/apps/filetypes.pngbin0 -> 825 bytes
-rw-r--r--IconThemes/slick/16x16/apps/fonts.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/slick/16x16/apps/gimp.pngbin0 -> 847 bytes
-rw-r--r--IconThemes/slick/16x16/apps/go.pngbin0 -> 1129 bytes
-rw-r--r--IconThemes/slick/16x16/apps/help_index.pngbin0 -> 724 bytes
-rw-r--r--IconThemes/slick/16x16/apps/hwinfo.pngbin0 -> 812 bytes
-rw-r--r--IconThemes/slick/16x16/apps/icon-cartoon.pngbin0 -> 1005 bytes
-rw-r--r--IconThemes/slick/16x16/apps/icons.pngbin0 -> 1159 bytes
-rw-r--r--IconThemes/slick/16x16/apps/k3b.pngbin0 -> 1148 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kab.pngbin0 -> 780 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kaddressbook.pngbin0 -> 730 bytes
-rw-r--r--IconThemes/slick/16x16/apps/karchiver.pngbin0 -> 536 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kate.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kaudiocdcreator.pngbin0 -> 873 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kaudiocreator.pngbin0 -> 703 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kbear.pngbin0 -> 916 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmdevices.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmdf.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmkicker.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmkwm.pngbin0 -> 914 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmmemory.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmpartitions.pngbin0 -> 423 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmpci.pngbin0 -> 722 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmprocessor.pngbin0 -> 553 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmsound.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmsystem.pngbin0 -> 1027 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcmx.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcontrol.pngbin0 -> 1138 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kcontrol_2.pngbin0 -> 742 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kdf.pngbin0 -> 700 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kdirstat.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kdisknav.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kdisknav1.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kdmconfig.pngbin0 -> 738 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kedit.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/slick/16x16/apps/keditbookmarks.pngbin0 -> 463 bytes
-rw-r--r--IconThemes/slick/16x16/apps/key_bindings.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/slick/16x16/apps/keyboard.pngbin0 -> 281 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kfind.pngbin0 -> 780 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kfm.pngbin0 -> 670 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kfm2.pngbin0 -> 700 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kfm3.pngbin0 -> 775 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kfm_home.pngbin0 -> 818 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kget.pngbin0 -> 1148 bytes
-rw-r--r--IconThemes/slick/16x16/apps/khelpcenter.pngbin0 -> 1149 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kicker.pngbin0 -> 411 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kio_uiserver.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kjobviewer.pngbin0 -> 678 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kjots.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/slick/16x16/apps/klipper.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/16x16/apps/klpq.pngbin0 -> 880 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kmail.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kmenu.pngbin0 -> 1129 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kmenuedit.pngbin0 -> 418 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kmix.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/apps/knode.pngbin0 -> 715 bytes
-rw-r--r--IconThemes/slick/16x16/apps/knotes.pngbin0 -> 526 bytes
-rw-r--r--IconThemes/slick/16x16/apps/knotify.pngbin0 -> 1149 bytes
-rw-r--r--IconThemes/slick/16x16/apps/komba2.pngbin0 -> 794 bytes
-rw-r--r--IconThemes/slick/16x16/apps/konqsidebar_mediaplayer.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/slick/16x16/apps/konqueror.pngbin0 -> 1102 bytes
-rw-r--r--IconThemes/slick/16x16/apps/konsole.pngbin0 -> 1073 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kontact.pngbin0 -> 944 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kopete.pngbin0 -> 834 bytes
-rw-r--r--IconThemes/slick/16x16/apps/korganizer.pngbin0 -> 944 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kpackage.pngbin0 -> 1106 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kpf.pngbin0 -> 1009 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kpilot.pngbin0 -> 752 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kppp.pngbin0 -> 910 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kprintfax.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kreatecd.pngbin0 -> 985 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kscd.pngbin0 -> 1148 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kscreensaver.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/slick/16x16/apps/ksysguard.pngbin0 -> 719 bytes
-rw-r--r--IconThemes/slick/16x16/apps/ksysv.pngbin0 -> 688 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kteatime.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/slick/16x16/apps/ktip.pngbin0 -> 1004 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kuickshow.pngbin0 -> 396 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kview.pngbin0 -> 832 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kwikdisk.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kwin.pngbin0 -> 670 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kword.pngbin0 -> 920 bytes
-rw-r--r--IconThemes/slick/16x16/apps/kwrite.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/slick/16x16/apps/laptop_battery.pngbin0 -> 1165 bytes
-rw-r--r--IconThemes/slick/16x16/apps/laptop_pcmcia.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/slick/16x16/apps/licq.pngbin0 -> 711 bytes
-rw-r--r--IconThemes/slick/16x16/apps/looknfeel.pngbin0 -> 859 bytes
-rw-r--r--IconThemes/slick/16x16/apps/mplayer.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/slick/16x16/apps/multimedia.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/apps/noatun.pngbin0 -> 631 bytes
-rw-r--r--IconThemes/slick/16x16/apps/opera.pngbin0 -> 1203 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package.pngbin0 -> 427 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_application.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_applications.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_development.pngbin0 -> 766 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_editors.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_edutainment.pngbin0 -> 997 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_games.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_graphics.pngbin0 -> 993 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_multimedia.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_multimedia2.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_network.pngbin0 -> 1009 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_settings.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_settings33.pngbin0 -> 778 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_system.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_toys.pngbin0 -> 954 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_utilities.pngbin0 -> 1440 bytes
-rw-r--r--IconThemes/slick/16x16/apps/package_wordprocessing.pngbin0 -> 954 bytes
-rw-r--r--IconThemes/slick/16x16/apps/panel.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/slick/16x16/apps/penguin.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/slick/16x16/apps/personal.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/slick/16x16/apps/printmgr.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/apps/randr.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/slick/16x16/apps/remote.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/slick/16x16/apps/samba.pngbin0 -> 794 bytes
-rw-r--r--IconThemes/slick/16x16/apps/showimg.pngbin0 -> 723 bytes
-rw-r--r--IconThemes/slick/16x16/apps/smb4k.pngbin0 -> 819 bytes
-rw-r--r--IconThemes/slick/16x16/apps/speaker.pngbin0 -> 719 bytes
-rw-r--r--IconThemes/slick/16x16/apps/style.pngbin0 -> 503 bytes
-rw-r--r--IconThemes/slick/16x16/apps/suspend.pngbin0 -> 845 bytes
-rw-r--r--IconThemes/slick/16x16/apps/system.pngbin0 -> 705 bytes
-rw-r--r--IconThemes/slick/16x16/apps/terminal.pngbin0 -> 1073 bytes
-rw-r--r--IconThemes/slick/16x16/apps/trees.pngbin0 -> 789 bytes
-rw-r--r--IconThemes/slick/16x16/apps/tux.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/slick/16x16/apps/vmware.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/slick/16x16/apps/window_list.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/slick/16x16/apps/xapp.pngbin0 -> 654 bytes
-rw-r--r--IconThemes/slick/16x16/apps/xchat.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/slick/16x16/apps/xmms.pngbin0 -> 925 bytes
-rw-r--r--IconThemes/slick/16x16/apps/xpaint.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/slick/16x16/devices/3floppy_mount.pngbin0 -> 713 bytes
-rw-r--r--IconThemes/slick/16x16/devices/3floppy_unmount.pngbin0 -> 668 bytes
-rw-r--r--IconThemes/slick/16x16/devices/camera.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/slick/16x16/devices/camera_mount.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/slick/16x16/devices/camera_unmount.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cd.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdaudio_mount.pngbin0 -> 1154 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdaudio_unmount.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdrom_mount.pngbin0 -> 1151 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdrom_unmount.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdwriter_mount.pngbin0 -> 1153 bytes
-rw-r--r--IconThemes/slick/16x16/devices/cdwriter_unmount.pngbin0 -> 1123 bytes
-rw-r--r--IconThemes/slick/16x16/devices/dvd_mount.pngbin0 -> 1145 bytes
-rw-r--r--IconThemes/slick/16x16/devices/dvd_unmount.pngbin0 -> 1118 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_games.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_gfx.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_linux.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_mount.pngbin0 -> 690 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_system.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_umount.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_unmount.pngbin0 -> 609 bytes
-rw-r--r--IconThemes/slick/16x16/devices/hdd_www.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/devices/host.pngbin0 -> 808 bytes
-rw-r--r--IconThemes/slick/16x16/devices/host_down.pngbin0 -> 795 bytes
-rw-r--r--IconThemes/slick/16x16/devices/ksim_cpu.pngbin0 -> 553 bytes
-rw-r--r--IconThemes/slick/16x16/devices/lan.pngbin0 -> 819 bytes
-rw-r--r--IconThemes/slick/16x16/devices/lo.pngbin0 -> 711 bytes
-rw-r--r--IconThemes/slick/16x16/devices/memory.pngbin0 -> 393 bytes
-rw-r--r--IconThemes/slick/16x16/devices/nfs_mount.pngbin0 -> 833 bytes
-rw-r--r--IconThemes/slick/16x16/devices/nfs_unmount.pngbin0 -> 755 bytes
-rw-r--r--IconThemes/slick/16x16/devices/print_printer.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/devices/printer1.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/devices/printer2.pngbin0 -> 621 bytes
-rw-r--r--IconThemes/slick/16x16/devices/usbpendrive_mount.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/slick/16x16/devices/usbpendrive_unmount.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/blockdevice.pngbin0 -> 861 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/chardevice.pngbin0 -> 1076 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/desktop.pngbin0 -> 688 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/documents.pngbin0 -> 666 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/documents_3.pngbin0 -> 661 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/drawer.pngbin0 -> 567 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/drawer_green.pngbin0 -> 585 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/drawer_metal.pngbin0 -> 605 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/drawer_open.pngbin0 -> 592 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/drawer_red.pngbin0 -> 569 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/exec.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/exec_wine.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/file_broken.pngbin0 -> 520 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/file_important.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/file_locked.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder.pngbin0 -> 585 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_3.pngbin0 -> 673 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_blue.pngbin0 -> 649 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_blue_3.pngbin0 -> 607 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_blue_open.pngbin0 -> 781 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_dark.pngbin0 -> 552 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_develop.pngbin0 -> 866 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_develop_3.pngbin0 -> 810 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_exec.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_exec_3.pngbin0 -> 754 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_find_3.pngbin0 -> 759 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_green.pngbin0 -> 636 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_green_3.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_green_open.pngbin0 -> 768 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_grey.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_grey_3.pngbin0 -> 563 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_grey_open.pngbin0 -> 679 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_grey_open_3.pngbin0 -> 594 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_home.pngbin0 -> 818 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_home_3.pngbin0 -> 818 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_html.pngbin0 -> 829 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_html_3.pngbin0 -> 766 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_image.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_image_3.pngbin0 -> 771 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_important.pngbin0 -> 719 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_important_3.pngbin0 -> 723 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_inbox.pngbin0 -> 451 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_light.pngbin0 -> 733 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_locked.pngbin0 -> 896 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_locked_3.pngbin0 -> 690 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_mail.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_metallic_3.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_news.pngbin0 -> 743 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_open.pngbin0 -> 793 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_open_3.pngbin0 -> 673 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_orange.pngbin0 -> 615 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_orange_3.pngbin0 -> 678 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_outbox.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_prefs.pngbin0 -> 781 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_prefs_3.pngbin0 -> 772 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_print.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_print2.pngbin0 -> 652 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_purple.pngbin0 -> 644 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_purple_3.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_purple_open.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_recycle.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_red.pngbin0 -> 599 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_red_3.pngbin0 -> 577 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_sent_mail.pngbin0 -> 630 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_sound.pngbin0 -> 794 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_sound_3.pngbin0 -> 819 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_src.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_tar.pngbin0 -> 742 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_tar_3.pngbin0 -> 738 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_txt.pngbin0 -> 683 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_txt_3.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_video.pngbin0 -> 660 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_violet.pngbin0 -> 645 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_www.pngbin0 -> 829 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_yellow.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_yellow_3.pngbin0 -> 661 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/folder_yellow_open.pngbin0 -> 723 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/ftp.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/homepage.pngbin0 -> 1205 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/link.pngbin0 -> 227 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/lockoverlay.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/network.pngbin0 -> 828 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/network_local.pngbin0 -> 828 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/openterm.pngbin0 -> 1073 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/pipe.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/server.pngbin0 -> 782 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/server2.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/services.pngbin0 -> 1204 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/shredder.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/socket.pngbin0 -> 864 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/system.pngbin0 -> 511 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/trash.pngbin0 -> 760 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/trashcan_empty.pngbin0 -> 1044 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/trashcan_full.pngbin0 -> 1111 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/www.pngbin0 -> 1205 bytes
-rw-r--r--IconThemes/slick/16x16/filesystems/zip.pngbin0 -> 283 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/applix.pngbin0 -> 635 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/archive.pngbin0 -> 658 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/archive_2.pngbin0 -> 521 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/ascii.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/binary.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/binary2.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/cdimage.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/cdr.pngbin0 -> 623 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/cdtrack.pngbin0 -> 600 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/colorscm.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/colorset.pngbin0 -> 737 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/configure_script.pngbin0 -> 595 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/core.pngbin0 -> 542 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/cpp.pngbin0 -> 489 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/deb.pngbin0 -> 510 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/desktopfile.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/develop.pngbin0 -> 635 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/disk_image.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/doc.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/document.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/document2.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/dvi.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/empty2.pngbin0 -> 444 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/empty_ascii.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/encrypted.pngbin0 -> 782 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/font.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/font_bitmap.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/font_truetype.pngbin0 -> 513 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/font_type1.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/html.pngbin0 -> 614 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/html2.pngbin0 -> 528 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/image-compressed.pngbin0 -> 557 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/image-truecolor.pngbin0 -> 649 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/image.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/info.pngbin0 -> 523 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/java.pngbin0 -> 545 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/kmultiple.pngbin0 -> 353 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/log.pngbin0 -> 587 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/make.pngbin0 -> 553 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/man.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/message.pngbin0 -> 611 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/midi.pngbin0 -> 465 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/mime.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/mime_empty.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/mp3.pngbin0 -> 622 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/netscape_doc.pngbin0 -> 714 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/pdf.pngbin0 -> 523 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/person.pngbin0 -> 688 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/postscript.pngbin0 -> 515 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/pov.pngbin0 -> 667 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/readme.pngbin0 -> 541 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/real_doc.pngbin0 -> 657 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/recycled.pngbin0 -> 598 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/resource.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/rpm.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/ruby.pngbin0 -> 680 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/shellscript.pngbin0 -> 482 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/soffice.pngbin0 -> 844 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/sound.pngbin0 -> 588 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/sound1.pngbin0 -> 838 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source.pngbin0 -> 402 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_c.pngbin0 -> 440 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_cpp.pngbin0 -> 489 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_f.pngbin0 -> 429 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_h.pngbin0 -> 420 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_java.pngbin0 -> 629 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_l.pngbin0 -> 418 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_moc.pngbin0 -> 568 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_o.pngbin0 -> 455 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_pl.pngbin0 -> 574 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_py.pngbin0 -> 529 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_ruby.pngbin0 -> 573 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_s.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/source_y.pngbin0 -> 438 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/tar.pngbin0 -> 473 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/tgz.pngbin0 -> 596 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/txt.pngbin0 -> 659 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/unknown.pngbin0 -> 553 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/vcard.pngbin0 -> 687 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/video.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/war.pngbin0 -> 947 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/widget_doc.pngbin0 -> 604 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/wordprocessing.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/slick/16x16/mimetypes/xcf.pngbin0 -> 697 bytes
-rw-r--r--IconThemes/slick/22x22/actions/1downarrow.pngbin0 -> 483 bytes
-rw-r--r--IconThemes/slick/22x22/actions/1leftarrow.pngbin0 -> 486 bytes
-rw-r--r--IconThemes/slick/22x22/actions/1rightarrow.pngbin0 -> 494 bytes
-rw-r--r--IconThemes/slick/22x22/actions/1uparrow.pngbin0 -> 474 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2arrowback.pngbin0 -> 477 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2arrowforward.pngbin0 -> 495 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2downarrow.pngbin0 -> 961 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2leftarrow.pngbin0 -> 901 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2rightarrow.pngbin0 -> 854 bytes
-rw-r--r--IconThemes/slick/22x22/actions/2uparrow.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/slick/22x22/actions/agent.pngbin0 -> 1178 bytes
-rw-r--r--IconThemes/slick/22x22/actions/airbrush.pngbin0 -> 464 bytes
-rw-r--r--IconThemes/slick/22x22/actions/apply.pngbin0 -> 1169 bytes
-rw-r--r--IconThemes/slick/22x22/actions/arrowback.pngbin0 -> 571 bytes
-rw-r--r--IconThemes/slick/22x22/actions/arrowforward.pngbin0 -> 545 bytes
-rw-r--r--IconThemes/slick/22x22/actions/attach.pngbin0 -> 1130 bytes
-rw-r--r--IconThemes/slick/22x22/actions/babelfish.pngbin0 -> 1469 bytes
-rw-r--r--IconThemes/slick/22x22/actions/back.pngbin0 -> 897 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar0.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar1.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar2.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar3.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar4.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar5.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bar6.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bookmark.pngbin0 -> 962 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bookmark_add.pngbin0 -> 1050 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bookmark_folder.pngbin0 -> 957 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bookmark_toolbar.pngbin0 -> 1178 bytes
-rw-r--r--IconThemes/slick/22x22/actions/bottom.pngbin0 -> 864 bytes
-rw-r--r--IconThemes/slick/22x22/actions/button_cancel.pngbin0 -> 1206 bytes
-rw-r--r--IconThemes/slick/22x22/actions/button_cancel1.pngbin0 -> 1187 bytes
-rw-r--r--IconThemes/slick/22x22/actions/button_ok.pngbin0 -> 1289 bytes
-rw-r--r--IconThemes/slick/22x22/actions/cancel.pngbin0 -> 1092 bytes
-rw-r--r--IconThemes/slick/22x22/actions/cd.pngbin0 -> 1745 bytes
-rw-r--r--IconThemes/slick/22x22/actions/cdburn.pngbin0 -> 1348 bytes
-rw-r--r--IconThemes/slick/22x22/actions/cdcopy.pngbin0 -> 1527 bytes
-rw-r--r--IconThemes/slick/22x22/actions/cdrwblank.pngbin0 -> 1739 bytes
-rw-r--r--IconThemes/slick/22x22/actions/colorpicker.pngbin0 -> 404 bytes
-rw-r--r--IconThemes/slick/22x22/actions/configure.pngbin0 -> 915 bytes
-rw-r--r--IconThemes/slick/22x22/actions/connect_creating.pngbin0 -> 1029 bytes
-rw-r--r--IconThemes/slick/22x22/actions/connect_established.pngbin0 -> 981 bytes
-rw-r--r--IconThemes/slick/22x22/actions/connect_no.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/slick/22x22/actions/contents.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/slick/22x22/actions/contexthelp.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/slick/22x22/actions/decrypted.pngbin0 -> 673 bytes
-rw-r--r--IconThemes/slick/22x22/actions/define_clip.pngbin0 -> 1313 bytes
-rw-r--r--IconThemes/slick/22x22/actions/dock.pngbin0 -> 912 bytes
-rw-r--r--IconThemes/slick/22x22/actions/domtreeviewer.pngbin0 -> 1372 bytes
-rw-r--r--IconThemes/slick/22x22/actions/down.pngbin0 -> 912 bytes
-rw-r--r--IconThemes/slick/22x22/actions/edit.pngbin0 -> 1104 bytes
-rw-r--r--IconThemes/slick/22x22/actions/editcopy.pngbin0 -> 626 bytes
-rw-r--r--IconThemes/slick/22x22/actions/editcut.pngbin0 -> 951 bytes
-rw-r--r--IconThemes/slick/22x22/actions/editdelete.pngbin0 -> 839 bytes
-rw-r--r--IconThemes/slick/22x22/actions/editpaste.pngbin0 -> 911 bytes
-rw-r--r--IconThemes/slick/22x22/actions/edittrash.pngbin0 -> 1482 bytes
-rw-r--r--IconThemes/slick/22x22/actions/encrypted.pngbin0 -> 708 bytes
-rw-r--r--IconThemes/slick/22x22/actions/exec.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/actions/exit.pngbin0 -> 1079 bytes
-rw-r--r--IconThemes/slick/22x22/actions/fileclose.pngbin0 -> 780 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filefind.pngbin0 -> 1141 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filenew.pngbin0 -> 638 bytes
-rw-r--r--IconThemes/slick/22x22/actions/fileopen.pngbin0 -> 1098 bytes
-rw-r--r--IconThemes/slick/22x22/actions/fileprint.pngbin0 -> 1129 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filequickprint.pngbin0 -> 1196 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filesave.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filesaveas.pngbin0 -> 1100 bytes
-rw-r--r--IconThemes/slick/22x22/actions/filter.pngbin0 -> 989 bytes
-rw-r--r--IconThemes/slick/22x22/actions/find.pngbin0 -> 1241 bytes
-rw-r--r--IconThemes/slick/22x22/actions/finish.pngbin0 -> 851 bytes
-rw-r--r--IconThemes/slick/22x22/actions/folder_new.pngbin0 -> 1232 bytes
-rw-r--r--IconThemes/slick/22x22/actions/forward.pngbin0 -> 900 bytes
-rw-r--r--IconThemes/slick/22x22/actions/frameprint.pngbin0 -> 1059 bytes
-rw-r--r--IconThemes/slick/22x22/actions/fsview.pngbin0 -> 950 bytes
-rw-r--r--IconThemes/slick/22x22/actions/ftin.pngbin0 -> 762 bytes
-rw-r--r--IconThemes/slick/22x22/actions/ftout.pngbin0 -> 778 bytes
-rw-r--r--IconThemes/slick/22x22/actions/gear.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/actions/gohome.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/slick/22x22/actions/halfencrypted.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/slick/22x22/actions/help.pngbin0 -> 1410 bytes
-rw-r--r--IconThemes/slick/22x22/actions/history.pngbin0 -> 1681 bytes
-rw-r--r--IconThemes/slick/22x22/actions/htmlvalidator.pngbin0 -> 1012 bytes
-rw-r--r--IconThemes/slick/22x22/actions/idea.pngbin0 -> 1322 bytes
-rw-r--r--IconThemes/slick/22x22/actions/identity.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/slick/22x22/actions/imagegallery.pngbin0 -> 1151 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kalarmdgui.pngbin0 -> 1250 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kalarmdgui_disabled.pngbin0 -> 1223 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde.pngbin0 -> 31490 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde1.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde2.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde3.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde4.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde5.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde6.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/kde7.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/khtml_kget.pngbin0 -> 1302 bytes
-rw-r--r--IconThemes/slick/22x22/actions/klipper_dock.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/22x22/actions/korgac.pngbin0 -> 1214 bytes
-rw-r--r--IconThemes/slick/22x22/actions/korgac_disabled.pngbin0 -> 1229 bytes
-rw-r--r--IconThemes/slick/22x22/actions/launch.pngbin0 -> 1284 bytes
-rw-r--r--IconThemes/slick/22x22/actions/locationbar_erase.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/slick/22x22/actions/lock.pngbin0 -> 709 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_find.pngbin0 -> 1109 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_forward.pngbin0 -> 1185 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_generic.pngbin0 -> 671 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_get.pngbin0 -> 1096 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_new.pngbin0 -> 974 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_reply.pngbin0 -> 1064 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_replyall.pngbin0 -> 1282 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_replylist.pngbin0 -> 1100 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mail_send.pngbin0 -> 971 bytes
-rw-r--r--IconThemes/slick/22x22/actions/mime_empty.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/misc.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/actions/move.pngbin0 -> 746 bytes
-rw-r--r--IconThemes/slick/22x22/actions/network_connected.pngbin0 -> 1272 bytes
-rw-r--r--IconThemes/slick/22x22/actions/network_disconnected.pngbin0 -> 1109 bytes
-rw-r--r--IconThemes/slick/22x22/actions/network_incoming.pngbin0 -> 1351 bytes
-rw-r--r--IconThemes/slick/22x22/actions/network_outgoing.pngbin0 -> 1303 bytes
-rw-r--r--IconThemes/slick/22x22/actions/next.pngbin0 -> 716 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunback.pngbin0 -> 1490 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunforward.pngbin0 -> 1496 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunloopnone.pngbin0 -> 578 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunloopplaylist.pngbin0 -> 1204 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunlooprandom.pngbin0 -> 1013 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunloopsong.pngbin0 -> 1674 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunpause.pngbin0 -> 1370 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunplay.pngbin0 -> 1477 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunplaylist.pngbin0 -> 1470 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatunstop.pngbin0 -> 1432 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatuntray.pngbin0 -> 1385 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatuntraypause.pngbin0 -> 1370 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatuntrayplay.pngbin0 -> 1477 bytes
-rw-r--r--IconThemes/slick/22x22/actions/noatuntraystop.pngbin0 -> 1432 bytes
-rw-r--r--IconThemes/slick/22x22/actions/openterm.pngbin0 -> 1542 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_eject.pngbin0 -> 584 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_end.pngbin0 -> 575 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_pause.pngbin0 -> 425 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_play.pngbin0 -> 603 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_playlist_2.pngbin0 -> 1352 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_start.pngbin0 -> 572 bytes
-rw-r--r--IconThemes/slick/22x22/actions/player_stop.pngbin0 -> 539 bytes
-rw-r--r--IconThemes/slick/22x22/actions/previous.pngbin0 -> 722 bytes
-rw-r--r--IconThemes/slick/22x22/actions/query_erase.pngbin0 -> 505 bytes
-rw-r--r--IconThemes/slick/22x22/actions/queue.pngbin0 -> 661 bytes
-rw-r--r--IconThemes/slick/22x22/actions/random.pngbin0 -> 1013 bytes
-rw-r--r--IconThemes/slick/22x22/actions/rebuild.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/actions/redo.pngbin0 -> 909 bytes
-rw-r--r--IconThemes/slick/22x22/actions/reload.pngbin0 -> 1655 bytes
-rw-r--r--IconThemes/slick/22x22/actions/reload1.pngbin0 -> 1678 bytes
-rw-r--r--IconThemes/slick/22x22/actions/repeat_playlist.pngbin0 -> 1204 bytes
-rw-r--r--IconThemes/slick/22x22/actions/repeat_track.pngbin0 -> 1655 bytes
-rw-r--r--IconThemes/slick/22x22/actions/revert.pngbin0 -> 1352 bytes
-rw-r--r--IconThemes/slick/22x22/actions/rotate.pngbin0 -> 1491 bytes
-rw-r--r--IconThemes/slick/22x22/actions/rotate_ccw.pngbin0 -> 1454 bytes
-rw-r--r--IconThemes/slick/22x22/actions/rotate_cw.pngbin0 -> 1449 bytes
-rw-r--r--IconThemes/slick/22x22/actions/run.pngbin0 -> 756 bytes
-rw-r--r--IconThemes/slick/22x22/actions/save_all.pngbin0 -> 924 bytes
-rw-r--r--IconThemes/slick/22x22/actions/showmenu.pngbin0 -> 637 bytes
-rw-r--r--IconThemes/slick/22x22/actions/spellcheck.pngbin0 -> 1069 bytes
-rw-r--r--IconThemes/slick/22x22/actions/sphere.pngbin0 -> 704 bytes
-rw-r--r--IconThemes/slick/22x22/actions/start.pngbin0 -> 927 bytes
-rw-r--r--IconThemes/slick/22x22/actions/stop.pngbin0 -> 1187 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tab_breakoff.pngbin0 -> 998 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tab_duplicate.pngbin0 -> 1222 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tab_new.pngbin0 -> 1169 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tab_new_bg.pngbin0 -> 1249 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tab_remove.pngbin0 -> 1206 bytes
-rw-r--r--IconThemes/slick/22x22/actions/thumbnail.pngbin0 -> 1046 bytes
-rw-r--r--IconThemes/slick/22x22/actions/toggle_log.pngbin0 -> 1412 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_clipboard.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_delete.pngbin0 -> 1482 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_disconnect.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_dock.pngbin0 -> 1392 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_drop_target.pngbin0 -> 1392 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_expert.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_logwindow.pngbin0 -> 1286 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_normal.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_offline_mode_off.pngbin0 -> 786 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_offline_mode_on.pngbin0 -> 1715 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_paste.pngbin0 -> 911 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_pause.pngbin0 -> 1370 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_preferences.pngbin0 -> 915 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_restart.pngbin0 -> 1496 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_resume.pngbin0 -> 1477 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_shutdown.pngbin0 -> 1431 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_timer.pngbin0 -> 1506 bytes
-rw-r--r--IconThemes/slick/22x22/actions/tool_uselastdir.pngbin0 -> 819 bytes
-rw-r--r--IconThemes/slick/22x22/actions/top.pngbin0 -> 884 bytes
-rw-r--r--IconThemes/slick/22x22/actions/translate.pngbin0 -> 1469 bytes
-rw-r--r--IconThemes/slick/22x22/actions/undo.pngbin0 -> 934 bytes
-rw-r--r--IconThemes/slick/22x22/actions/unlock.pngbin0 -> 673 bytes
-rw-r--r--IconThemes/slick/22x22/actions/up.pngbin0 -> 1031 bytes
-rw-r--r--IconThemes/slick/22x22/actions/validators.pngbin0 -> 1012 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_choose.pngbin0 -> 468 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_detailed.pngbin0 -> 770 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_icon.pngbin0 -> 726 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_multicolumn.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_remove.pngbin0 -> 387 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_sidetree.pngbin0 -> 546 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_text.pngbin0 -> 704 bytes
-rw-r--r--IconThemes/slick/22x22/actions/view_tree.pngbin0 -> 801 bytes
-rw-r--r--IconThemes/slick/22x22/actions/viewmag+.pngbin0 -> 1369 bytes
-rw-r--r--IconThemes/slick/22x22/actions/viewmag-.pngbin0 -> 1325 bytes
-rw-r--r--IconThemes/slick/22x22/actions/viewmag.pngbin0 -> 1335 bytes
-rw-r--r--IconThemes/slick/22x22/actions/viewmagfit.pngbin0 -> 1373 bytes
-rw-r--r--IconThemes/slick/22x22/actions/wallet_closed.pngbin0 -> 1101 bytes
-rw-r--r--IconThemes/slick/22x22/actions/wallet_open.pngbin0 -> 1119 bytes
-rw-r--r--IconThemes/slick/22x22/actions/webarchiver.pngbin0 -> 1091 bytes
-rw-r--r--IconThemes/slick/22x22/actions/window_fullscreen.pngbin0 -> 667 bytes
-rw-r--r--IconThemes/slick/22x22/actions/window_new.pngbin0 -> 872 bytes
-rw-r--r--IconThemes/slick/22x22/actions/window_nofullscreen.pngbin0 -> 641 bytes
-rw-r--r--IconThemes/slick/22x22/actions/wizard.pngbin0 -> 1408 bytes
-rw-r--r--IconThemes/slick/22x22/apps/1randr.pngbin0 -> 1510 bytes
-rw-r--r--IconThemes/slick/22x22/apps/bell.pngbin0 -> 1356 bytes
-rw-r--r--IconThemes/slick/22x22/apps/cervisia.pngbin0 -> 803 bytes
-rw-r--r--IconThemes/slick/22x22/apps/date.pngbin0 -> 1506 bytes
-rw-r--r--IconThemes/slick/22x22/apps/fonts.pngbin0 -> 720 bytes
-rw-r--r--IconThemes/slick/22x22/apps/go.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/icon-cartoon.pngbin0 -> 1605 bytes
-rw-r--r--IconThemes/slick/22x22/apps/k3b.pngbin0 -> 1161 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kcmdf.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kcmsystem.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kdmconfig.pngbin0 -> 1172 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kfind.pngbin0 -> 1241 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kfm.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kfm_home.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kget.pngbin0 -> 1392 bytes
-rw-r--r--IconThemes/slick/22x22/apps/khelpcenter.pngbin0 -> 1410 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kjobviewer.pngbin0 -> 1110 bytes
-rw-r--r--IconThemes/slick/22x22/apps/klipper.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmail.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmenu.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmenuedit.pngbin0 -> 568 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmixdocked.pngbin0 -> 1401 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmixdocked1.pngbin0 -> 1356 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kmixdocked_mute.pngbin0 -> 1468 bytes
-rw-r--r--IconThemes/slick/22x22/apps/knotes.pngbin0 -> 1242 bytes
-rw-r--r--IconThemes/slick/22x22/apps/konqsidebar_mediaplayer.pngbin0 -> 1138 bytes
-rw-r--r--IconThemes/slick/22x22/apps/konqueror.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/konsole.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kopete.pngbin0 -> 902 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kwalletmanager.pngbin0 -> 955 bytes
-rw-r--r--IconThemes/slick/22x22/apps/kwin.pngbin0 -> 883 bytes
-rw-r--r--IconThemes/slick/22x22/apps/mix_cd.pngbin0 -> 1450 bytes
-rw-r--r--IconThemes/slick/22x22/apps/mix_ext.pngbin0 -> 493 bytes
-rw-r--r--IconThemes/slick/22x22/apps/mix_microphone.pngbin0 -> 499 bytes
-rw-r--r--IconThemes/slick/22x22/apps/noatun.pngbin0 -> 1138 bytes
-rw-r--r--IconThemes/slick/22x22/apps/package.pngbin0 -> 449 bytes
-rw-r--r--IconThemes/slick/22x22/apps/package_network.pngbin0 -> 1217 bytes
-rw-r--r--IconThemes/slick/22x22/apps/package_settings.pngbin0 -> 915 bytes
-rw-r--r--IconThemes/slick/22x22/apps/package_system.pngbin0 -> 1540 bytes
-rw-r--r--IconThemes/slick/22x22/apps/personal.pngbin0 -> 775 bytes
-rw-r--r--IconThemes/slick/22x22/apps/printmgr.pngbin0 -> 1110 bytes
-rw-r--r--IconThemes/slick/22x22/apps/randr.pngbin0 -> 1522 bytes
-rw-r--r--IconThemes/slick/22x22/apps/window_list.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/apps/xmms.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/devices/3floppy_mount.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/slick/22x22/devices/3floppy_unmount.pngbin0 -> 750 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdaudio_mount.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdaudio_unmount.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdrom_mount.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdrom_unmount.pngbin0 -> 1745 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdwriter_mount.pngbin0 -> 1829 bytes
-rw-r--r--IconThemes/slick/22x22/devices/cdwriter_unmount.pngbin0 -> 1751 bytes
-rw-r--r--IconThemes/slick/22x22/devices/dvd_mount.pngbin0 -> 1812 bytes
-rw-r--r--IconThemes/slick/22x22/devices/dvd_unmount.pngbin0 -> 1734 bytes
-rw-r--r--IconThemes/slick/22x22/devices/floppy_mount.pngbin0 -> 2454 bytes
-rw-r--r--IconThemes/slick/22x22/devices/floppy_unmount.pngbin0 -> 767 bytes
-rw-r--r--IconThemes/slick/22x22/devices/hdd.pngbin0 -> 950 bytes
-rw-r--r--IconThemes/slick/22x22/devices/hdd_mount.pngbin0 -> 940 bytes
-rw-r--r--IconThemes/slick/22x22/devices/hdd_unmount.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/devices/lan.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/devices/nfs_mount.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/devices/nfs_unmount.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/devices/usbpendrive_mount.pngbin0 -> 2125 bytes
-rw-r--r--IconThemes/slick/22x22/devices/usbpendrive_unmount.pngbin0 -> 2125 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/chardevice.pngbin0 -> 1249 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/desktop.pngbin0 -> 757 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/drawer_metal.pngbin0 -> 996 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/file_broken.pngbin0 -> 775 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/file_important.pngbin0 -> 984 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/file_locked.pngbin0 -> 884 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder.pngbin0 -> 581 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_blue.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_develop.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_green.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_grey.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_home.pngbin0 -> 1042 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_image.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_locked.pngbin0 -> 971 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_mail.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_open.pngbin0 -> 929 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_sound.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_txt.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/folder_video.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/link.pngbin0 -> 257 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/lockoverlay.pngbin0 -> 248 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/mime_empty.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/network.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/network_local.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/pipe.pngbin0 -> 800 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/server.pngbin0 -> 1320 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/server2.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/socket.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/system.pngbin0 -> 1384 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/trashcan_empty.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/trashcan_full.pngbin0 -> 1561 bytes
-rw-r--r--IconThemes/slick/22x22/filesystems/www.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/ascii.pngbin0 -> 632 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/binary.pngbin0 -> 774 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/cdtrack.pngbin0 -> 830 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/core.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/deb.pngbin0 -> 863 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/develop.pngbin0 -> 975 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/disk_image.pngbin0 -> 1040 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/document.pngbin0 -> 706 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/font.pngbin0 -> 720 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/font_bitmap.pngbin0 -> 720 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/font_truetype.pngbin0 -> 720 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/html.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/image.pngbin0 -> 916 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/info.pngbin0 -> 895 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/kmultiple.pngbin0 -> 664 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/kword_kwd.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/log.pngbin0 -> 967 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/message.pngbin0 -> 967 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/mime_empty.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/pdf.pngbin0 -> 935 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/pov.pngbin0 -> 892 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/real_doc.pngbin0 -> 900 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/recycled.pngbin0 -> 1067 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/resource.pngbin0 -> 813 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/rpm.pngbin0 -> 949 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/shellscript.pngbin0 -> 714 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/sound.pngbin0 -> 1036 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/source_java.pngbin0 -> 874 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/source_moc.pngbin0 -> 1115 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/tar.pngbin0 -> 712 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/text.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/text1.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/tgz.pngbin0 -> 826 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/unknown.pngbin0 -> 606 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/vectorgfx.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/video.pngbin0 -> 687 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/webarchiver.pngbin0 -> 1091 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/wordprocessing.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/22x22/mimetypes/workprocessing.pngbin0 -> 1124 bytes
-rw-r--r--IconThemes/slick/32x32/actions/1downarrow.pngbin0 -> 1057 bytes
-rw-r--r--IconThemes/slick/32x32/actions/1leftarrow.pngbin0 -> 964 bytes
-rw-r--r--IconThemes/slick/32x32/actions/1rightarrow.pngbin0 -> 917 bytes
-rw-r--r--IconThemes/slick/32x32/actions/1uparrow.pngbin0 -> 898 bytes
-rw-r--r--IconThemes/slick/32x32/actions/2downarrow.pngbin0 -> 1255 bytes
-rw-r--r--IconThemes/slick/32x32/actions/2leftarrow.pngbin0 -> 1069 bytes
-rw-r--r--IconThemes/slick/32x32/actions/2rightarrow.pngbin0 -> 1012 bytes
-rw-r--r--IconThemes/slick/32x32/actions/2uparrow.pngbin0 -> 1152 bytes
-rw-r--r--IconThemes/slick/32x32/actions/about_kde.pngbin0 -> 2897 bytes
-rw-r--r--IconThemes/slick/32x32/actions/apply.pngbin0 -> 2304 bytes
-rw-r--r--IconThemes/slick/32x32/actions/attach.pngbin0 -> 625 bytes
-rw-r--r--IconThemes/slick/32x32/actions/autozoom.pngbin0 -> 1806 bytes
-rw-r--r--IconThemes/slick/32x32/actions/babelfish.pngbin0 -> 1528 bytes
-rw-r--r--IconThemes/slick/32x32/actions/back.pngbin0 -> 1714 bytes
-rw-r--r--IconThemes/slick/32x32/actions/blank.pngbin0 -> 997 bytes
-rw-r--r--IconThemes/slick/32x32/actions/bookmark.pngbin0 -> 2165 bytes
-rw-r--r--IconThemes/slick/32x32/actions/bookmark_add.pngbin0 -> 1773 bytes
-rw-r--r--IconThemes/slick/32x32/actions/bottom.pngbin0 -> 1759 bytes
-rw-r--r--IconThemes/slick/32x32/actions/button_cancel.pngbin0 -> 1468 bytes
-rw-r--r--IconThemes/slick/32x32/actions/cancel.pngbin0 -> 2278 bytes
-rw-r--r--IconThemes/slick/32x32/actions/cdcopy.pngbin0 -> 2438 bytes
-rw-r--r--IconThemes/slick/32x32/actions/cdrwblank.pngbin0 -> 2925 bytes
-rw-r--r--IconThemes/slick/32x32/actions/colorpicker.pngbin0 -> 740 bytes
-rw-r--r--IconThemes/slick/32x32/actions/configure.pngbin0 -> 1346 bytes
-rw-r--r--IconThemes/slick/32x32/actions/connect_creating.pngbin0 -> 1403 bytes
-rw-r--r--IconThemes/slick/32x32/actions/connect_established.pngbin0 -> 2271 bytes
-rw-r--r--IconThemes/slick/32x32/actions/connect_no.pngbin0 -> 1485 bytes
-rw-r--r--IconThemes/slick/32x32/actions/contents.pngbin0 -> 1719 bytes
-rw-r--r--IconThemes/slick/32x32/actions/decrypted.pngbin0 -> 1687 bytes
-rw-r--r--IconThemes/slick/32x32/actions/define_clip.pngbin0 -> 1505 bytes
-rw-r--r--IconThemes/slick/32x32/actions/domtreeviewer.pngbin0 -> 2549 bytes
-rw-r--r--IconThemes/slick/32x32/actions/down.pngbin0 -> 1730 bytes
-rw-r--r--IconThemes/slick/32x32/actions/edit.pngbin0 -> 1473 bytes
-rw-r--r--IconThemes/slick/32x32/actions/editcopy.pngbin0 -> 1082 bytes
-rw-r--r--IconThemes/slick/32x32/actions/editcut.pngbin0 -> 1491 bytes
-rw-r--r--IconThemes/slick/32x32/actions/editdelete.pngbin0 -> 1207 bytes
-rw-r--r--IconThemes/slick/32x32/actions/editpaste.pngbin0 -> 1335 bytes
-rw-r--r--IconThemes/slick/32x32/actions/editshred.pngbin0 -> 1211 bytes
-rw-r--r--IconThemes/slick/32x32/actions/edittrash.pngbin0 -> 2508 bytes
-rw-r--r--IconThemes/slick/32x32/actions/encrypted.pngbin0 -> 1975 bytes
-rw-r--r--IconThemes/slick/32x32/actions/exec.pngbin0 -> 1396 bytes
-rw-r--r--IconThemes/slick/32x32/actions/exit.pngbin0 -> 1397 bytes
-rw-r--r--IconThemes/slick/32x32/actions/fileclose.pngbin0 -> 1409 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filefind.pngbin0 -> 1921 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filenew.pngbin0 -> 1296 bytes
-rw-r--r--IconThemes/slick/32x32/actions/fileopen.pngbin0 -> 1221 bytes
-rw-r--r--IconThemes/slick/32x32/actions/fileprint.pngbin0 -> 1684 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filequickprint.pngbin0 -> 1923 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filesave.pngbin0 -> 1337 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filesaveas.pngbin0 -> 1875 bytes
-rw-r--r--IconThemes/slick/32x32/actions/filter.pngbin0 -> 1500 bytes
-rw-r--r--IconThemes/slick/32x32/actions/find.pngbin0 -> 2012 bytes
-rw-r--r--IconThemes/slick/32x32/actions/finish.pngbin0 -> 1862 bytes
-rw-r--r--IconThemes/slick/32x32/actions/flip.pngbin0 -> 1331 bytes
-rw-r--r--IconThemes/slick/32x32/actions/folder_new.pngbin0 -> 1087 bytes
-rw-r--r--IconThemes/slick/32x32/actions/fork.pngbin0 -> 2231 bytes
-rw-r--r--IconThemes/slick/32x32/actions/forward.pngbin0 -> 1701 bytes
-rw-r--r--IconThemes/slick/32x32/actions/frameprint.pngbin0 -> 1678 bytes
-rw-r--r--IconThemes/slick/32x32/actions/fsview.pngbin0 -> 1003 bytes
-rw-r--r--IconThemes/slick/32x32/actions/gear.pngbin0 -> 2948 bytes
-rw-r--r--IconThemes/slick/32x32/actions/gohome.1.pngbin0 -> 1860 bytes
-rw-r--r--IconThemes/slick/32x32/actions/gohome.pngbin0 -> 2376 bytes
-rw-r--r--IconThemes/slick/32x32/actions/halfencrypted.pngbin0 -> 1966 bytes
-rw-r--r--IconThemes/slick/32x32/actions/help.pngbin0 -> 2582 bytes
-rw-r--r--IconThemes/slick/32x32/actions/history.pngbin0 -> 2976 bytes
-rw-r--r--IconThemes/slick/32x32/actions/idea.pngbin0 -> 2304 bytes
-rw-r--r--IconThemes/slick/32x32/actions/identity.pngbin0 -> 1273 bytes
-rw-r--r--IconThemes/slick/32x32/actions/imagegallery.pngbin0 -> 2072 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kde.pngbin0 -> 33660 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kde1.pngbin0 -> 31311 bytes
-rw-r--r--IconThemes/slick/32x32/actions/khtml_kget.pngbin0 -> 2122 bytes
-rw-r--r--IconThemes/slick/32x32/actions/klipper_dock.pngbin0 -> 983 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_contacts.pngbin0 -> 1637 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_date.pngbin0 -> 2267 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_journal.pngbin0 -> 2266 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_mail.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_news.pngbin0 -> 1797 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_notes.pngbin0 -> 1553 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_summary.pngbin0 -> 4254 bytes
-rw-r--r--IconThemes/slick/32x32/actions/kontact_todo.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/actions/lock.pngbin0 -> 1975 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mag.pngbin0 -> 1890 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_find.pngbin0 -> 1917 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_forward.pngbin0 -> 1564 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_generic.pngbin0 -> 879 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_get.pngbin0 -> 2055 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_new.pngbin0 -> 1189 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_reply.pngbin0 -> 1567 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_replyall.pngbin0 -> 1935 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_replylist.pngbin0 -> 1573 bytes
-rw-r--r--IconThemes/slick/32x32/actions/mail_send.pngbin0 -> 1299 bytes
-rw-r--r--IconThemes/slick/32x32/actions/medthumbnails.pngbin0 -> 554 bytes
-rw-r--r--IconThemes/slick/32x32/actions/messagebox_critical.pngbin0 -> 3057 bytes
-rw-r--r--IconThemes/slick/32x32/actions/messagebox_info.pngbin0 -> 2595 bytes
-rw-r--r--IconThemes/slick/32x32/actions/messagebox_warning.pngbin0 -> 2403 bytes
-rw-r--r--IconThemes/slick/32x32/actions/messagebox_warning2.pngbin0 -> 2357 bytes
-rw-r--r--IconThemes/slick/32x32/actions/miror.pngbin0 -> 1330 bytes
-rw-r--r--IconThemes/slick/32x32/actions/misc.pngbin0 -> 2948 bytes
-rw-r--r--IconThemes/slick/32x32/actions/move.pngbin0 -> 898 bytes
-rw-r--r--IconThemes/slick/32x32/actions/multisynk.pngbin0 -> 4254 bytes
-rw-r--r--IconThemes/slick/32x32/actions/news.pngbin0 -> 1663 bytes
-rw-r--r--IconThemes/slick/32x32/actions/news_subscribe.pngbin0 -> 1922 bytes
-rw-r--r--IconThemes/slick/32x32/actions/news_unsubscribe.pngbin0 -> 1961 bytes
-rw-r--r--IconThemes/slick/32x32/actions/next.pngbin0 -> 799 bytes
-rw-r--r--IconThemes/slick/32x32/actions/openterm.pngbin0 -> 2751 bytes
-rw-r--r--IconThemes/slick/32x32/actions/opentermblue.pngbin0 -> 2372 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_eject.pngbin0 -> 1255 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_end.pngbin0 -> 1331 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_pause.pngbin0 -> 850 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_play.pngbin0 -> 917 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_start.pngbin0 -> 1346 bytes
-rw-r--r--IconThemes/slick/32x32/actions/player_stop.pngbin0 -> 795 bytes
-rw-r--r--IconThemes/slick/32x32/actions/previous.pngbin0 -> 815 bytes
-rw-r--r--IconThemes/slick/32x32/actions/queue.pngbin0 -> 1224 bytes
-rw-r--r--IconThemes/slick/32x32/actions/redo.pngbin0 -> 1507 bytes
-rw-r--r--IconThemes/slick/32x32/actions/reload.pngbin0 -> 2632 bytes
-rw-r--r--IconThemes/slick/32x32/actions/reload1.pngbin0 -> 1277 bytes
-rw-r--r--IconThemes/slick/32x32/actions/revert.pngbin0 -> 1975 bytes
-rw-r--r--IconThemes/slick/32x32/actions/rotate.pngbin0 -> 1917 bytes
-rw-r--r--IconThemes/slick/32x32/actions/rotate_ccw.pngbin0 -> 1917 bytes
-rw-r--r--IconThemes/slick/32x32/actions/rotate_cw.pngbin0 -> 1899 bytes
-rw-r--r--IconThemes/slick/32x32/actions/rotation_acw.pngbin0 -> 1422 bytes
-rw-r--r--IconThemes/slick/32x32/actions/rotation_cw.pngbin0 -> 1418 bytes
-rw-r--r--IconThemes/slick/32x32/actions/run.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/slick/32x32/actions/share.pngbin0 -> 1268 bytes
-rw-r--r--IconThemes/slick/32x32/actions/showmenu.pngbin0 -> 1183 bytes
-rw-r--r--IconThemes/slick/32x32/actions/smallthumbnails.pngbin0 -> 514 bytes
-rw-r--r--IconThemes/slick/32x32/actions/spellcheck.pngbin0 -> 1369 bytes
-rw-r--r--IconThemes/slick/32x32/actions/start.pngbin0 -> 1854 bytes
-rw-r--r--IconThemes/slick/32x32/actions/stop.pngbin0 -> 2117 bytes
-rw-r--r--IconThemes/slick/32x32/actions/text_bold.pngbin0 -> 877 bytes
-rw-r--r--IconThemes/slick/32x32/actions/text_italic.pngbin0 -> 674 bytes
-rw-r--r--IconThemes/slick/32x32/actions/text_under.pngbin0 -> 732 bytes
-rw-r--r--IconThemes/slick/32x32/actions/thumbnail.pngbin0 -> 2063 bytes
-rw-r--r--IconThemes/slick/32x32/actions/top.pngbin0 -> 1908 bytes
-rw-r--r--IconThemes/slick/32x32/actions/undo.pngbin0 -> 1525 bytes
-rw-r--r--IconThemes/slick/32x32/actions/unlock.pngbin0 -> 1687 bytes
-rw-r--r--IconThemes/slick/32x32/actions/up.pngbin0 -> 1660 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_choose.pngbin0 -> 1260 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_detailed.pngbin0 -> 1015 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_icon.pngbin0 -> 1166 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_multicolumn.pngbin0 -> 1088 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_sidetree.pngbin0 -> 1234 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_text.pngbin0 -> 787 bytes
-rw-r--r--IconThemes/slick/32x32/actions/view_tree.pngbin0 -> 1013 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag+.pngbin0 -> 1769 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag-.pngbin0 -> 1742 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag.pngbin0 -> 1715 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_bis+.pngbin0 -> 1827 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_bis-.pngbin0 -> 1802 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_factor.pngbin0 -> 1890 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_full.pngbin0 -> 1806 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_h.pngbin0 -> 1813 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_lock.pngbin0 -> 1807 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_no.pngbin0 -> 1744 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_old.pngbin0 -> 1782 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmag_w.pngbin0 -> 1816 bytes
-rw-r--r--IconThemes/slick/32x32/actions/viewmagfit.pngbin0 -> 1712 bytes
-rw-r--r--IconThemes/slick/32x32/actions/window.pngbin0 -> 788 bytes
-rw-r--r--IconThemes/slick/32x32/actions/window_fullscreen.pngbin0 -> 1185 bytes
-rw-r--r--IconThemes/slick/32x32/actions/window_new.pngbin0 -> 1284 bytes
-rw-r--r--IconThemes/slick/32x32/actions/window_nofullscreen.pngbin0 -> 857 bytes
-rw-r--r--IconThemes/slick/32x32/actions/wizard.pngbin0 -> 2841 bytes
-rw-r--r--IconThemes/slick/32x32/apps/akregator.pngbin0 -> 2018 bytes
-rw-r--r--IconThemes/slick/32x32/apps/ark.pngbin0 -> 1393 bytes
-rw-r--r--IconThemes/slick/32x32/apps/bell.pngbin0 -> 1989 bytes
-rw-r--r--IconThemes/slick/32x32/apps/camera.pngbin0 -> 1931 bytes
-rw-r--r--IconThemes/slick/32x32/apps/clock.pngbin0 -> 2446 bytes
-rw-r--r--IconThemes/slick/32x32/apps/date.pngbin0 -> 2267 bytes
-rw-r--r--IconThemes/slick/32x32/apps/energy.pngbin0 -> 2397 bytes
-rw-r--r--IconThemes/slick/32x32/apps/filetypes.pngbin0 -> 2100 bytes
-rw-r--r--IconThemes/slick/32x32/apps/fonts.pngbin0 -> 1444 bytes
-rw-r--r--IconThemes/slick/32x32/apps/gimp.pngbin0 -> 2222 bytes
-rw-r--r--IconThemes/slick/32x32/apps/go.pngbin0 -> 3461 bytes
-rw-r--r--IconThemes/slick/32x32/apps/help_index.pngbin0 -> 2218 bytes
-rw-r--r--IconThemes/slick/32x32/apps/icon-cartoon.pngbin0 -> 2793 bytes
-rw-r--r--IconThemes/slick/32x32/apps/icons.pngbin0 -> 2307 bytes
-rw-r--r--IconThemes/slick/32x32/apps/k3b.pngbin0 -> 1377 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kab.pngbin0 -> 1637 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kaddressbook.pngbin0 -> 2711 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kaudiocreator.pngbin0 -> 2031 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kchart.pngbin0 -> 2138 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kcmkicker.pngbin0 -> 1241 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kcmmemory.pngbin0 -> 1489 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kcmsystem.pngbin0 -> 2948 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kcontrol.pngbin0 -> 2561 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kcontrol_2.pngbin0 -> 2305 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kdf.pngbin0 -> 2369 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kdisknav.pngbin0 -> 2063 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kfind.pngbin0 -> 2123 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kfm.pngbin0 -> 2939 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kfm_home.pngbin0 -> 2376 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kformula.pngbin0 -> 1741 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kget.pngbin0 -> 2150 bytes
-rw-r--r--IconThemes/slick/32x32/apps/khelpcenter.pngbin0 -> 2595 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kicker.pngbin0 -> 1241 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kjobviewer.pngbin0 -> 2003 bytes
-rw-r--r--IconThemes/slick/32x32/apps/klpq.pngbin0 -> 2003 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kmail.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kmenu.pngbin0 -> 3443 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kmix.pngbin0 -> 1989 bytes
-rw-r--r--IconThemes/slick/32x32/apps/knode.pngbin0 -> 2076 bytes
-rw-r--r--IconThemes/slick/32x32/apps/komba2.pngbin0 -> 2307 bytes
-rw-r--r--IconThemes/slick/32x32/apps/konqueror.pngbin0 -> 3431 bytes
-rw-r--r--IconThemes/slick/32x32/apps/konsole.pngbin0 -> 2767 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kontact.pngbin0 -> 3107 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kontour.pngbin0 -> 2124 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kopete.pngbin0 -> 2377 bytes
-rw-r--r--IconThemes/slick/32x32/apps/korganizer.pngbin0 -> 2778 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kpackage.pngbin0 -> 2343 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kpf.pngbin0 -> 2973 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kppp.pngbin0 -> 2656 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kpresenter.pngbin0 -> 2556 bytes
-rw-r--r--IconThemes/slick/32x32/apps/krayon.pngbin0 -> 2568 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kreatecd.pngbin0 -> 2855 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kscreensaver.pngbin0 -> 2719 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kspread.pngbin0 -> 2485 bytes
-rw-r--r--IconThemes/slick/32x32/apps/ksysv.pngbin0 -> 2262 bytes
-rw-r--r--IconThemes/slick/32x32/apps/ktip.pngbin0 -> 2304 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kugar.pngbin0 -> 2486 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kword.pngbin0 -> 2574 bytes
-rw-r--r--IconThemes/slick/32x32/apps/kwrite.pngbin0 -> 2266 bytes
-rw-r--r--IconThemes/slick/32x32/apps/laptop_battery.pngbin0 -> 2606 bytes
-rw-r--r--IconThemes/slick/32x32/apps/licq.pngbin0 -> 2825 bytes
-rw-r--r--IconThemes/slick/32x32/apps/looknfeel.pngbin0 -> 3091 bytes
-rw-r--r--IconThemes/slick/32x32/apps/mplayer.pngbin0 -> 4872 bytes
-rw-r--r--IconThemes/slick/32x32/apps/multimedia.pngbin0 -> 1989 bytes
-rw-r--r--IconThemes/slick/32x32/apps/noatun.pngbin0 -> 2836 bytes
-rw-r--r--IconThemes/slick/32x32/apps/noatun2.pngbin0 -> 3029 bytes
-rw-r--r--IconThemes/slick/32x32/apps/opera.pngbin0 -> 3274 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package.pngbin0 -> 671 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_development.pngbin0 -> 1956 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_editors.pngbin0 -> 1062 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_games.pngbin0 -> 2609 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_games1.pngbin0 -> 1287 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_graphics.pngbin0 -> 2064 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_graphics1.pngbin0 -> 1673 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_graphics2.pngbin0 -> 1781 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_multimedia.pngbin0 -> 2103 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_network.pngbin0 -> 2365 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_office.pngbin0 -> 2495 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_settings.pngbin0 -> 2105 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_system.pngbin0 -> 1864 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_toys.pngbin0 -> 1919 bytes
-rw-r--r--IconThemes/slick/32x32/apps/package_utilities.pngbin0 -> 2058 bytes
-rw-r--r--IconThemes/slick/32x32/apps/penguin.pngbin0 -> 2009 bytes
-rw-r--r--IconThemes/slick/32x32/apps/remote.pngbin0 -> 2288 bytes
-rw-r--r--IconThemes/slick/32x32/apps/samba.pngbin0 -> 2447 bytes
-rw-r--r--IconThemes/slick/32x32/apps/showimg.pngbin0 -> 2204 bytes
-rw-r--r--IconThemes/slick/32x32/apps/smb4k.pngbin0 -> 2447 bytes
-rw-r--r--IconThemes/slick/32x32/apps/speaker.pngbin0 -> 1820 bytes
-rw-r--r--IconThemes/slick/32x32/apps/trees.pngbin0 -> 2387 bytes
-rw-r--r--IconThemes/slick/32x32/apps/tux.pngbin0 -> 2009 bytes
-rw-r--r--IconThemes/slick/32x32/apps/vmware.pngbin0 -> 2856 bytes
-rw-r--r--IconThemes/slick/32x32/apps/window_list.pngbin0 -> 2307 bytes
-rw-r--r--IconThemes/slick/32x32/apps/xapp.pngbin0 -> 1738 bytes
-rw-r--r--IconThemes/slick/32x32/apps/xmms.pngbin0 -> 2353 bytes
-rw-r--r--IconThemes/slick/32x32/devices/3floppy_mount.pngbin0 -> 1172 bytes
-rw-r--r--IconThemes/slick/32x32/devices/3floppy_unmount.pngbin0 -> 1091 bytes
-rw-r--r--IconThemes/slick/32x32/devices/camera.pngbin0 -> 1931 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cd.pngbin0 -> 2690 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdaudio_mount.pngbin0 -> 2987 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdaudio_unmount.pngbin0 -> 2958 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdrom_mount.pngbin0 -> 2786 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdrom_unmount.pngbin0 -> 1131 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdwriter_mount.pngbin0 -> 3173 bytes
-rw-r--r--IconThemes/slick/32x32/devices/cdwriter_unmount.pngbin0 -> 3085 bytes
-rw-r--r--IconThemes/slick/32x32/devices/dvd_mount.pngbin0 -> 3087 bytes
-rw-r--r--IconThemes/slick/32x32/devices/dvd_unmount.pngbin0 -> 3084 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_games.pngbin0 -> 1977 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_gfx.pngbin0 -> 1978 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_linux.pngbin0 -> 1954 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_mount.pngbin0 -> 1801 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_system.pngbin0 -> 2061 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_unmount.pngbin0 -> 1553 bytes
-rw-r--r--IconThemes/slick/32x32/devices/hdd_www.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/32x32/devices/memory.pngbin0 -> 1456 bytes
-rw-r--r--IconThemes/slick/32x32/devices/nfs_mount.pngbin0 -> 2380 bytes
-rw-r--r--IconThemes/slick/32x32/devices/nfs_unmount.pngbin0 -> 2217 bytes
-rw-r--r--IconThemes/slick/32x32/devices/print_printer.pngbin0 -> 1667 bytes
-rw-r--r--IconThemes/slick/32x32/devices/printer1.pngbin0 -> 1667 bytes
-rw-r--r--IconThemes/slick/32x32/devices/printer2.pngbin0 -> 1667 bytes
-rw-r--r--IconThemes/slick/32x32/devices/usbpendrive_mount.pngbin0 -> 4295 bytes
-rw-r--r--IconThemes/slick/32x32/devices/usbpendrive_unmount.pngbin0 -> 4295 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/blockdevice.pngbin0 -> 2097 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/chardevice.pngbin0 -> 2895 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/desktop.pngbin0 -> 2507 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/documents.pngbin0 -> 2189 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/documents_3.pngbin0 -> 1929 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/drawer.pngbin0 -> 1273 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/drawer_green.pngbin0 -> 1341 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/drawer_metal.pngbin0 -> 1399 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/drawer_open.pngbin0 -> 1554 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/drawer_red.pngbin0 -> 1324 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/exec.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/file_broken.pngbin0 -> 1178 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/file_important.pngbin0 -> 1273 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/file_locked.pngbin0 -> 1700 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/file_temporary.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_3.pngbin0 -> 1691 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_blue.pngbin0 -> 2137 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_blue_3.pngbin0 -> 1671 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_blue_open.pngbin0 -> 2137 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_blue_open_3.pngbin0 -> 1550 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_configure.pngbin0 -> 2200 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_dark.pngbin0 -> 1194 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_develop.pngbin0 -> 2240 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_develop_3.pngbin0 -> 2208 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_exec.pngbin0 -> 2235 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_exec_3.pngbin0 -> 2074 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_green.pngbin0 -> 1547 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_green_3.pngbin0 -> 1597 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_green_open.pngbin0 -> 1950 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_green_open_3.pngbin0 -> 1523 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_grey.pngbin0 -> 1094 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_grey_3.pngbin0 -> 1116 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_grey_open_3.pngbin0 -> 1154 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_home.pngbin0 -> 2376 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_home_3.pngbin0 -> 1991 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_html.pngbin0 -> 2290 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_html_3.pngbin0 -> 2037 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_image.pngbin0 -> 2597 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_image_3.pngbin0 -> 1941 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_important.pngbin0 -> 2064 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_important_3.pngbin0 -> 1981 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_light.pngbin0 -> 2060 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_locked.pngbin0 -> 1522 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_locked_3.pngbin0 -> 1918 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_mag.pngbin0 -> 2408 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_mail.pngbin0 -> 1806 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_metallic_3.pngbin0 -> 1708 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_news.pngbin0 -> 1994 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_open.pngbin0 -> 2046 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_open_3.pngbin0 -> 1648 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_orange.pngbin0 -> 2004 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_orange_3.pngbin0 -> 1711 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_orange_open_3.pngbin0 -> 1650 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_prefs.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_purple.pngbin0 -> 1786 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_recycle.pngbin0 -> 2177 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_red.pngbin0 -> 1503 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_red_3.pngbin0 -> 1692 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_shells.pngbin0 -> 2032 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_sound.pngbin0 -> 2413 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_sound_3.pngbin0 -> 2134 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_src.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_tar.pngbin0 -> 2076 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_trash.pngbin0 -> 2297 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_tux.pngbin0 -> 2298 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_txt.pngbin0 -> 1989 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_video.pngbin0 -> 2050 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_video_3.pngbin0 -> 2280 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_yellow.pngbin0 -> 1885 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_yellow_3.pngbin0 -> 1822 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/folder_yellow_open.pngbin0 -> 2137 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/link.pngbin0 -> 591 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/lockoverlay.pngbin0 -> 840 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/network.pngbin0 -> 3337 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/network_local.pngbin0 -> 1668 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/pipe.pngbin0 -> 1388 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/server.pngbin0 -> 2929 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/server2.pngbin0 -> 4254 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/socket.pngbin0 -> 2932 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/system.pngbin0 -> 2494 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/trashcan_empty.pngbin0 -> 2630 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/trashcan_full.pngbin0 -> 2830 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/www.pngbin0 -> 3337 bytes
-rw-r--r--IconThemes/slick/32x32/filesystems/zip.pngbin0 -> 1020 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/applix.pngbin0 -> 1549 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/archive.pngbin0 -> 1309 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/ascii.pngbin0 -> 936 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/binary.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/binary2.pngbin0 -> 1529 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/cdimage.pngbin0 -> 1591 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/cdr.pngbin0 -> 1613 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/cdtrack.pngbin0 -> 1591 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/colorscm.pngbin0 -> 1754 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/colorset.pngbin0 -> 1754 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/configure_script.pngbin0 -> 1753 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/core.pngbin0 -> 1433 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/deb.pngbin0 -> 1464 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/develop.pngbin0 -> 1777 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/disk_image.pngbin0 -> 1315 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/doc.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/document.pngbin0 -> 980 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/document2.pngbin0 -> 1072 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/dvi.pngbin0 -> 1571 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/font_bitmap.pngbin0 -> 1408 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/font_truetype.pngbin0 -> 1374 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/font_type1.pngbin0 -> 1444 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/html.pngbin0 -> 1835 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/image.pngbin0 -> 1747 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/info.pngbin0 -> 1576 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/karchiveur_trash.pngbin0 -> 646 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/kmultiple.pngbin0 -> 511 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/log.pngbin0 -> 1597 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/make.pngbin0 -> 1428 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/man.pngbin0 -> 1347 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/message.pngbin0 -> 1532 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/midi.pngbin0 -> 1133 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/mime_empty.pngbin0 -> 849 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/misc_doc.pngbin0 -> 1728 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/mp3.pngbin0 -> 1580 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/netscape_doc.pngbin0 -> 1595 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/pdf.pngbin0 -> 1313 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/postscript.pngbin0 -> 1717 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/pov.pngbin0 -> 1514 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/readme.pngbin0 -> 1537 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/real_doc.pngbin0 -> 1804 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/recycled.pngbin0 -> 1481 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/resource.pngbin0 -> 1266 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/rpm.pngbin0 -> 1276 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/ruby.pngbin0 -> 1230 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/shellscript.pngbin0 -> 1519 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/soffice.pngbin0 -> 2243 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/sound.pngbin0 -> 1877 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source.pngbin0 -> 1464 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_c.pngbin0 -> 1496 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_cpp.pngbin0 -> 1509 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_f.pngbin0 -> 1486 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_h.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_java.pngbin0 -> 1377 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_l.pngbin0 -> 1485 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_moc.pngbin0 -> 1722 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_o.pngbin0 -> 1492 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_p.pngbin0 -> 1482 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_pl.pngbin0 -> 1681 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_py.pngbin0 -> 2101 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_s.pngbin0 -> 1535 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/source_y.pngbin0 -> 1512 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/tar.pngbin0 -> 1096 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/tgz.pngbin0 -> 1096 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/txt.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/unknown.pngbin0 -> 1293 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/vcard.pngbin0 -> 1257 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/video.pngbin0 -> 1443 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/war.pngbin0 -> 2134 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/widget_doc.pngbin0 -> 1301 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/wordprocessing.pngbin0 -> 4784 bytes
-rw-r--r--IconThemes/slick/32x32/mimetypes/xcf.pngbin0 -> 1541 bytes
-rw-r--r--IconThemes/slick/48x48/actions/cdcopy.pngbin0 -> 4096 bytes
-rw-r--r--IconThemes/slick/48x48/actions/configure.pngbin0 -> 3915 bytes
-rw-r--r--IconThemes/slick/48x48/actions/fileopen.pngbin0 -> 2105 bytes
-rw-r--r--IconThemes/slick/48x48/actions/fork.pngbin0 -> 2382 bytes
-rw-r--r--IconThemes/slick/48x48/actions/gear.pngbin0 -> 3647 bytes
-rw-r--r--IconThemes/slick/48x48/actions/gohome.pngbin0 -> 3069 bytes
-rw-r--r--IconThemes/slick/48x48/actions/help.pngbin0 -> 3250 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_calender.pngbin0 -> 3023 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_contacts.pngbin0 -> 2271 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_date.pngbin0 -> 3319 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_journal.pngbin0 -> 3123 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_mail.pngbin0 -> 5064 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_notes.pngbin0 -> 1839 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_summary.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/actions/kontact_todo.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/actions/launch.pngbin0 -> 2382 bytes
-rw-r--r--IconThemes/slick/48x48/actions/lock.pngbin0 -> 2289 bytes
-rw-r--r--IconThemes/slick/48x48/actions/messagebox_critical.pngbin0 -> 3960 bytes
-rw-r--r--IconThemes/slick/48x48/actions/messagebox_info.pngbin0 -> 3272 bytes
-rw-r--r--IconThemes/slick/48x48/actions/messagebox_warning.pngbin0 -> 3472 bytes
-rw-r--r--IconThemes/slick/48x48/actions/multisynk.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/actions/player_play.pngbin0 -> 1548 bytes
-rw-r--r--IconThemes/slick/48x48/actions/share.pngbin0 -> 2182 bytes
-rw-r--r--IconThemes/slick/48x48/apps/ark.pngbin0 -> 2479 bytes
-rw-r--r--IconThemes/slick/48x48/apps/background.pngbin0 -> 4042 bytes
-rw-r--r--IconThemes/slick/48x48/apps/bell.pngbin0 -> 3075 bytes
-rw-r--r--IconThemes/slick/48x48/apps/cdbakeoven.pngbin0 -> 3582 bytes
-rw-r--r--IconThemes/slick/48x48/apps/clock.pngbin0 -> 3319 bytes
-rw-r--r--IconThemes/slick/48x48/apps/energy.pngbin0 -> 3197 bytes
-rw-r--r--IconThemes/slick/48x48/apps/filetypes.pngbin0 -> 2467 bytes
-rw-r--r--IconThemes/slick/48x48/apps/fonts.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/slick/48x48/apps/gimp.pngbin0 -> 3672 bytes
-rw-r--r--IconThemes/slick/48x48/apps/go.pngbin0 -> 3861 bytes
-rw-r--r--IconThemes/slick/48x48/apps/help_index.pngbin0 -> 2598 bytes
-rw-r--r--IconThemes/slick/48x48/apps/icon-cartoon.pngbin0 -> 4510 bytes
-rw-r--r--IconThemes/slick/48x48/apps/icon-confused.pngbin0 -> 5956 bytes
-rw-r--r--IconThemes/slick/48x48/apps/icon-greenies.pngbin0 -> 3952 bytes
-rw-r--r--IconThemes/slick/48x48/apps/icons.pngbin0 -> 3514 bytes
-rw-r--r--IconThemes/slick/48x48/apps/k3b.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kab.pngbin0 -> 2271 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kaddressbook.pngbin0 -> 3085 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kate.pngbin0 -> 3123 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kchart.pngbin0 -> 2805 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcmkicker.pngbin0 -> 1442 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcmkwm.pngbin0 -> 2039 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcmprocessor.pngbin0 -> 2953 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcmsystem.pngbin0 -> 4046 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcontrol.pngbin0 -> 3739 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kcontrol_2.pngbin0 -> 3596 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kdf.pngbin0 -> 2967 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kdisknav.pngbin0 -> 2858 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kfind.pngbin0 -> 2560 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kfm.pngbin0 -> 3661 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kfm_home.pngbin0 -> 2834 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kformula.pngbin0 -> 2241 bytes
-rw-r--r--IconThemes/slick/48x48/apps/khelpcenter.pngbin0 -> 3250 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kicker.pngbin0 -> 1460 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kjobviewer.pngbin0 -> 2623 bytes
-rw-r--r--IconThemes/slick/48x48/apps/klpg.pngbin0 -> 2623 bytes
-rw-r--r--IconThemes/slick/48x48/apps/klpq.pngbin0 -> 2623 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kmail.old.pngbin0 -> 3245 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kmail.pngbin0 -> 5064 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kmenu.pngbin0 -> 5509 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kmix.pngbin0 -> 3075 bytes
-rw-r--r--IconThemes/slick/48x48/apps/knode.pngbin0 -> 2478 bytes
-rw-r--r--IconThemes/slick/48x48/apps/komba2.pngbin0 -> 3038 bytes
-rw-r--r--IconThemes/slick/48x48/apps/koncd.pngbin0 -> 4780 bytes
-rw-r--r--IconThemes/slick/48x48/apps/konqueror.pngbin0 -> 6417 bytes
-rw-r--r--IconThemes/slick/48x48/apps/konsole.pngbin0 -> 3677 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kontact.pngbin0 -> 4969 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kontour.pngbin0 -> 2819 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kopete.pngbin0 -> 4045 bytes
-rw-r--r--IconThemes/slick/48x48/apps/korganizer.pngbin0 -> 3023 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kpackage.pngbin0 -> 2561 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kpf.pngbin0 -> 6045 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kppp.pngbin0 -> 4828 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kpresenter.pngbin0 -> 3320 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kprintfax.pngbin0 -> 2623 bytes
-rw-r--r--IconThemes/slick/48x48/apps/krayon.pngbin0 -> 3368 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kreatecd.pngbin0 -> 4780 bytes
-rw-r--r--IconThemes/slick/48x48/apps/krfb.pngbin0 -> 4537 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kscreensaver.pngbin0 -> 3642 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kspread.pngbin0 -> 3531 bytes
-rw-r--r--IconThemes/slick/48x48/apps/ksysv.pngbin0 -> 3432 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kugar.pngbin0 -> 3479 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kword.pngbin0 -> 3546 bytes
-rw-r--r--IconThemes/slick/48x48/apps/kwrite.pngbin0 -> 3123 bytes
-rw-r--r--IconThemes/slick/48x48/apps/laptop_battery.pngbin0 -> 3963 bytes
-rw-r--r--IconThemes/slick/48x48/apps/licq.pngbin0 -> 5055 bytes
-rw-r--r--IconThemes/slick/48x48/apps/looknfeel.pngbin0 -> 4042 bytes
-rw-r--r--IconThemes/slick/48x48/apps/mplayer.pngbin0 -> 4872 bytes
-rw-r--r--IconThemes/slick/48x48/apps/multimedia.pngbin0 -> 3075 bytes
-rw-r--r--IconThemes/slick/48x48/apps/noatun.pngbin0 -> 4630 bytes
-rw-r--r--IconThemes/slick/48x48/apps/noatun2.pngbin0 -> 4612 bytes
-rw-r--r--IconThemes/slick/48x48/apps/opera.pngbin0 -> 4550 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package.pngbin0 -> 993 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_development.pngbin0 -> 2030 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_editors.pngbin0 -> 3033 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_games.pngbin0 -> 3782 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_games1.pngbin0 -> 2173 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_graphics.pngbin0 -> 3525 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_graphics1.pngbin0 -> 2570 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_graphics2.pngbin0 -> 2459 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_multimedia.pngbin0 -> 5341 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_network.pngbin0 -> 3025 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_settings.pngbin0 -> 2721 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_system.pngbin0 -> 2557 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_toys.pngbin0 -> 2759 bytes
-rw-r--r--IconThemes/slick/48x48/apps/package_utilities.pngbin0 -> 2434 bytes
-rw-r--r--IconThemes/slick/48x48/apps/penguin.pngbin0 -> 2814 bytes
-rw-r--r--IconThemes/slick/48x48/apps/personal.pngbin0 -> 2652 bytes
-rw-r--r--IconThemes/slick/48x48/apps/remote.pngbin0 -> 3213 bytes
-rw-r--r--IconThemes/slick/48x48/apps/samba.pngbin0 -> 3038 bytes
-rw-r--r--IconThemes/slick/48x48/apps/showimg.pngbin0 -> 3491 bytes
-rw-r--r--IconThemes/slick/48x48/apps/smb4k.pngbin0 -> 3038 bytes
-rw-r--r--IconThemes/slick/48x48/apps/speaker.pngbin0 -> 2168 bytes
-rw-r--r--IconThemes/slick/48x48/apps/telnet.pngbin0 -> 2571 bytes
-rw-r--r--IconThemes/slick/48x48/apps/trees.pngbin0 -> 3357 bytes
-rw-r--r--IconThemes/slick/48x48/apps/tux.pngbin0 -> 2814 bytes
-rw-r--r--IconThemes/slick/48x48/apps/vmware.pngbin0 -> 3889 bytes
-rw-r--r--IconThemes/slick/48x48/apps/window_list.pngbin0 -> 2302 bytes
-rw-r--r--IconThemes/slick/48x48/apps/xapp.pngbin0 -> 1720 bytes
-rw-r--r--IconThemes/slick/48x48/apps/xmms.pngbin0 -> 2892 bytes
-rw-r--r--IconThemes/slick/48x48/devices/3floppy_mount.pngbin0 -> 2350 bytes
-rw-r--r--IconThemes/slick/48x48/devices/3floppy_unmount.pngbin0 -> 2089 bytes
-rw-r--r--IconThemes/slick/48x48/devices/camera.pngbin0 -> 2730 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cd.pngbin0 -> 3702 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdaudio_mount.pngbin0 -> 4096 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdaudio_unmount.pngbin0 -> 3998 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdrom_mount.pngbin0 -> 3765 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdrom_mount_1.pngbin0 -> 1420 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdrom_unmount.pngbin0 -> 3702 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdwriter_mount.pngbin0 -> 4507 bytes
-rw-r--r--IconThemes/slick/48x48/devices/cdwriter_unmount.pngbin0 -> 4337 bytes
-rw-r--r--IconThemes/slick/48x48/devices/dvd_mount.pngbin0 -> 4350 bytes
-rw-r--r--IconThemes/slick/48x48/devices/dvd_unmount.pngbin0 -> 4245 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_games.pngbin0 -> 2901 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_gfx.pngbin0 -> 3281 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_linux.pngbin0 -> 3026 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_mount.pngbin0 -> 2526 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_system.pngbin0 -> 3174 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_unmount.pngbin0 -> 2396 bytes
-rw-r--r--IconThemes/slick/48x48/devices/hdd_www.pngbin0 -> 3229 bytes
-rw-r--r--IconThemes/slick/48x48/devices/memory.pngbin0 -> 2651 bytes
-rw-r--r--IconThemes/slick/48x48/devices/nfs_mount.pngbin0 -> 3267 bytes
-rw-r--r--IconThemes/slick/48x48/devices/nfs_unmount.pngbin0 -> 2862 bytes
-rw-r--r--IconThemes/slick/48x48/devices/print_printer.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/slick/48x48/devices/printer1.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/slick/48x48/devices/usbpendrive_mount.pngbin0 -> 9443 bytes
-rw-r--r--IconThemes/slick/48x48/devices/usbpendrive_unmount.pngbin0 -> 3482 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/blockdevice.pngbin0 -> 2322 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/chardevice.pngbin0 -> 3616 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/desktop.pngbin0 -> 3482 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/documents.pngbin0 -> 2672 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/documents_3.pngbin0 -> 3188 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/drawer.pngbin0 -> 1714 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/drawer_green.pngbin0 -> 1693 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/drawer_metal.pngbin0 -> 1539 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/drawer_open.pngbin0 -> 1701 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/drawer_red.pngbin0 -> 1556 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/exec.pngbin0 -> 2892 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/file_broken.pngbin0 -> 2290 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/file_important.pngbin0 -> 1958 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/file_locked.pngbin0 -> 2281 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder.pngbin0 -> 2016 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_3.pngbin0 -> 2783 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_auto.pngbin0 -> 3480 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_blue.pngbin0 -> 2102 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_blue_3.pngbin0 -> 3259 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_blue_open.pngbin0 -> 2825 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_blue_open_3.pngbin0 -> 2781 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_configure.pngbin0 -> 2716 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_dark.pngbin0 -> 1572 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_dark_3.pngbin0 -> 1856 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_develop.pngbin0 -> 2547 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_develop_3.pngbin0 -> 3665 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_exec_3.pngbin0 -> 3818 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_find_3.pngbin0 -> 3090 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_green.pngbin0 -> 1748 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_green_3.pngbin0 -> 3135 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_green_open.pngbin0 -> 2733 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_grey.pngbin0 -> 1489 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_grey_2.pngbin0 -> 3036 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_grey_3.pngbin0 -> 1880 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_grey_open.pngbin0 -> 1942 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_grey_open_3.pngbin0 -> 1964 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_home.pngbin0 -> 3069 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_home_3.pngbin0 -> 3316 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_html.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_html_3.pngbin0 -> 3287 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_image.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_image_3.pngbin0 -> 3016 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_important.pngbin0 -> 2573 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_important_3.pngbin0 -> 3199 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_light.pngbin0 -> 2614 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_light_3.pngbin0 -> 3109 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_locked.pngbin0 -> 2187 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_locked_3.pngbin0 -> 2912 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_mag.pngbin0 -> 3029 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_mail.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_metallic_3.pngbin0 -> 2754 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_metallic_open_3.pngbin0 -> 2773 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_news.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_open.pngbin0 -> 2703 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_open_3.pngbin0 -> 2759 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_orange.pngbin0 -> 1962 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_orange_3.pngbin0 -> 2978 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_prefs.pngbin0 -> 3313 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_prefs_3.pngbin0 -> 3296 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_purple.pngbin0 -> 2290 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_purple_3.pngbin0 -> 2738 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_purple_open.pngbin0 -> 2764 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_purple_open_3.pngbin0 -> 2828 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_recycle.pngbin0 -> 2825 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_red.pngbin0 -> 2427 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_red_3.pngbin0 -> 3018 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_shells.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_sound.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_sound_3.pngbin0 -> 3178 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_src.pngbin0 -> 2511 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_src_3.pngbin0 -> 3460 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_tar.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_tar_3.pngbin0 -> 3398 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_trash.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_tux.pngbin0 -> 3119 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_txt.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_txt_3.pngbin0 -> 3080 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_video.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_video_3.pngbin0 -> 3689 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_yellow.pngbin0 -> 2295 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_yellow_3.pngbin0 -> 2767 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/folder_yellow_open.pngbin0 -> 2854 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/ftp.pngbin0 -> 3145 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/homepage.pngbin0 -> 4764 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/link.pngbin0 -> 642 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/lockoverlay.pngbin0 -> 1291 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/network.pngbin0 -> 5925 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/network_local.pngbin0 -> 2440 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/pipe.pngbin0 -> 2027 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/server.pngbin0 -> 3287 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/server2.pngbin0 -> 2617 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/shredder.pngbin0 -> 1310 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/socket.pngbin0 -> 4545 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/system.pngbin0 -> 4284 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/trashcan_empty.pngbin0 -> 4124 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/trashcan_full.pngbin0 -> 5887 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/www.pngbin0 -> 4577 bytes
-rw-r--r--IconThemes/slick/48x48/filesystems/zip.pngbin0 -> 2867 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/applix.pngbin0 -> 2973 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/archive.pngbin0 -> 3188 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ascii.pngbin0 -> 1486 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/binary.pngbin0 -> 2892 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/binary2.pngbin0 -> 2892 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/cdimage.pngbin0 -> 2904 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/cdr.pngbin0 -> 2456 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/cdtrack.pngbin0 -> 3036 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/colorscm.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/colorset.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/configure_script.pngbin0 -> 2902 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/core.pngbin0 -> 2453 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/deb.pngbin0 -> 2591 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/develop.pngbin0 -> 2331 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/disk_image.pngbin0 -> 1830 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/document.pngbin0 -> 1721 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/document2.pngbin0 -> 1812 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/dvi.pngbin0 -> 2593 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/encrypted.pngbin0 -> 3267 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/font_bitmap.pngbin0 -> 2153 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/font_truetype.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/font_type1.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/gettext.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/html.pngbin0 -> 3138 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/image.pngbin0 -> 2559 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/images.pngbin0 -> 2611 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/info.pngbin0 -> 2461 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/jar.pngbin0 -> 2358 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/kmultiple.pngbin0 -> 1068 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/log.pngbin0 -> 2702 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/make.pngbin0 -> 2585 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/man.pngbin0 -> 2099 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/message.pngbin0 -> 2409 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/midi.pngbin0 -> 2053 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mime_empty.pngbin0 -> 1291 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mime_html.pngbin0 -> 3138 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mime_sound.pngbin0 -> 2559 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mime_track.pngbin0 -> 2904 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mime_txt.pngbin0 -> 2560 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/misc_doc.pngbin0 -> 3134 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/mp3.pngbin0 -> 2747 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ms_access.pngbin0 -> 2420 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ms_excel.pngbin0 -> 2044 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ms_powerpoint.pngbin0 -> 1903 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ms_word.pngbin0 -> 2164 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/netscape_doc.pngbin0 -> 2135 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/pdf.pngbin0 -> 2313 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/person.pngbin0 -> 2277 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/postscript.pngbin0 -> 3019 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/pov.pngbin0 -> 2682 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/readme.pngbin0 -> 2539 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/real_doc.pngbin0 -> 3283 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/recycled.pngbin0 -> 3270 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/resource.pngbin0 -> 2461 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/rpm.pngbin0 -> 2035 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/ruby.pngbin0 -> 2527 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/shellscript.pngbin0 -> 3098 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/soffice.pngbin0 -> 3673 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/sound.pngbin0 -> 2440 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source.pngbin0 -> 2053 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_c.pngbin0 -> 2290 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_cpp.pngbin0 -> 2352 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_f.pngbin0 -> 2244 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_h.pngbin0 -> 2259 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_java.pngbin0 -> 2212 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_l.pngbin0 -> 2238 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_moc.pngbin0 -> 2990 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_o.pngbin0 -> 2264 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_p.pngbin0 -> 2262 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_pl.pngbin0 -> 2781 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_py.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_s.pngbin0 -> 2316 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/source_y.pngbin0 -> 2321 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/spreadsheet.pngbin0 -> 2381 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/tar.pngbin0 -> 2048 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/tex.pngbin0 -> 2244 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/tgz.pngbin0 -> 2933 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/txt.pngbin0 -> 2537 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/unknown.pngbin0 -> 9402 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/vcard.pngbin0 -> 2044 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/vectorgfx.pngbin0 -> 3673 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/video.pngbin0 -> 1889 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/war.pngbin0 -> 3024 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/widget_doc.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/wordprocessing.pngbin0 -> 2870 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/xcf.pngbin0 -> 2606 bytes
-rw-r--r--IconThemes/slick/48x48/mimetypes/zip.pngbin0 -> 2867 bytes
-rw-r--r--IconThemes/slick/64x64/actions/bookmark.pngbin0 -> 2521 bytes
-rw-r--r--IconThemes/slick/64x64/actions/bookmark_add.pngbin0 -> 2871 bytes
-rw-r--r--IconThemes/slick/64x64/actions/cdcopy.pngbin0 -> 4096 bytes
-rw-r--r--IconThemes/slick/64x64/actions/fileprint.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/slick/64x64/actions/fork.pngbin0 -> 2382 bytes
-rw-r--r--IconThemes/slick/64x64/actions/gear.pngbin0 -> 3647 bytes
-rw-r--r--IconThemes/slick/64x64/actions/gohome.pngbin0 -> 5478 bytes
-rw-r--r--IconThemes/slick/64x64/actions/launch.pngbin0 -> 2382 bytes
-rw-r--r--IconThemes/slick/64x64/actions/lock.pngbin0 -> 2289 bytes
-rw-r--r--IconThemes/slick/64x64/actions/share.pngbin0 -> 3547 bytes
-rw-r--r--IconThemes/slick/64x64/actions/share1.pngbin0 -> 2020 bytes
-rw-r--r--IconThemes/slick/64x64/apps/kcontrol.pngbin0 -> 4510 bytes
-rw-r--r--IconThemes/slick/64x64/apps/komba2.pngbin0 -> 6594 bytes
-rw-r--r--IconThemes/slick/64x64/apps/konsole.pngbin0 -> 5986 bytes
-rw-r--r--IconThemes/slick/64x64/apps/package_settings.pngbin0 -> 4510 bytes
-rw-r--r--IconThemes/slick/64x64/apps/samba.pngbin0 -> 6594 bytes
-rw-r--r--IconThemes/slick/64x64/apps/terminal.pngbin0 -> 5382 bytes
-rw-r--r--IconThemes/slick/64x64/devices/3floppy_mount.pngbin0 -> 2888 bytes
-rw-r--r--IconThemes/slick/64x64/devices/3floppy_unmount.pngbin0 -> 2643 bytes
-rw-r--r--IconThemes/slick/64x64/devices/blockdevice.pngbin0 -> 4494 bytes
-rw-r--r--IconThemes/slick/64x64/devices/camera.pngbin0 -> 2730 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cd.pngbin0 -> 5338 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdaudio_mount.pngbin0 -> 6245 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdaudio_unmount.pngbin0 -> 5964 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdrom_mount.pngbin0 -> 5738 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdrom_unmount.pngbin0 -> 5338 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdwriter_mount.pngbin0 -> 7007 bytes
-rw-r--r--IconThemes/slick/64x64/devices/cdwriter_unmount.pngbin0 -> 6593 bytes
-rw-r--r--IconThemes/slick/64x64/devices/dvd_mount.pngbin0 -> 6177 bytes
-rw-r--r--IconThemes/slick/64x64/devices/dvd_unmount.pngbin0 -> 5829 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd.pngbin0 -> 3136 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_games.pngbin0 -> 4179 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_gfx.pngbin0 -> 3998 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_linux.pngbin0 -> 4049 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_mount.pngbin0 -> 3429 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_system.pngbin0 -> 4438 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_unmount.pngbin0 -> 3136 bytes
-rw-r--r--IconThemes/slick/64x64/devices/hdd_www.pngbin0 -> 4279 bytes
-rw-r--r--IconThemes/slick/64x64/devices/memory.pngbin0 -> 2651 bytes
-rw-r--r--IconThemes/slick/64x64/devices/nfs.pngbin0 -> 4271 bytes
-rw-r--r--IconThemes/slick/64x64/devices/nfs_mount.pngbin0 -> 4271 bytes
-rw-r--r--IconThemes/slick/64x64/devices/nfs_unmount.pngbin0 -> 3540 bytes
-rw-r--r--IconThemes/slick/64x64/devices/print_printer.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/slick/64x64/devices/printer1.pngbin0 -> 1930 bytes
-rw-r--r--IconThemes/slick/64x64/devices/usbpendrive_mount.pngbin0 -> 16639 bytes
-rw-r--r--IconThemes/slick/64x64/devices/usbpendrive_unmount.pngbin0 -> 16639 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/chardevice.pngbin0 -> 6294 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/desktop.pngbin0 -> 3397 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/exec.pngbin0 -> 4371 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/file_broken.pngbin0 -> 2361 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/file_important.pngbin0 -> 4136 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/file_locked.pngbin0 -> 3971 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder.pngbin0 -> 2318 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_blue.pngbin0 -> 2823 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_blue_open.pngbin0 -> 3330 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_develop.pngbin0 -> 3811 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_exec.pngbin0 -> 4604 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_green.pngbin0 -> 2671 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_green_open.pngbin0 -> 3059 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_grey.pngbin0 -> 1606 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_grey_open.pngbin0 -> 2299 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_home.pngbin0 -> 4462 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_html.pngbin0 -> 4684 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_image.pngbin0 -> 4324 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_important.pngbin0 -> 4325 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_locked.pngbin0 -> 4218 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_mail.pngbin0 -> 3308 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_open.pngbin0 -> 3288 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_orange.pngbin0 -> 2397 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_orange_open.pngbin0 -> 3026 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_print.pngbin0 -> 3711 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_purple.pngbin0 -> 2801 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_purple_open.pngbin0 -> 3245 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_recycle.pngbin0 -> 4300 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_red.pngbin0 -> 2540 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_red_open.pngbin0 -> 3130 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_sound.pngbin0 -> 4008 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_src.pngbin0 -> 3530 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_tar.pngbin0 -> 3990 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_tux.pngbin0 -> 4169 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_txt.pngbin0 -> 3542 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_video.pngbin0 -> 3823 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_yellow.pngbin0 -> 2645 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/folder_yellow_open.pngbin0 -> 3376 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/ftp.pngbin0 -> 4183 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/homepage.pngbin0 -> 7772 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/link.pngbin0 -> 748 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/lockoverlay.pngbin0 -> 1710 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/network.pngbin0 -> 7646 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/network_local.pngbin0 -> 6555 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/pipe.pngbin0 -> 4955 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/server.pngbin0 -> 6114 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/server2.pngbin0 -> 16598 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/share.pngbin0 -> 3547 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/shredder.pngbin0 -> 2361 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/socket.pngbin0 -> 8105 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/system.pngbin0 -> 3057 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/trashcan_empty.pngbin0 -> 6196 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/trashcan_full.pngbin0 -> 7230 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/www.pngbin0 -> 7646 bytes
-rw-r--r--IconThemes/slick/64x64/filesystems/zip.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/applix.pngbin0 -> 2973 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/archive.pngbin0 -> 3565 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ascii.pngbin0 -> 2344 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/binary.pngbin0 -> 4371 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/binary2.pngbin0 -> 4371 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/cdimage.pngbin0 -> 4379 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/cdr.pngbin0 -> 2456 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/cdtrack.pngbin0 -> 4379 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/colorscm.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/colorset.pngbin0 -> 2847 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/configure_script.pngbin0 -> 3962 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/core.pngbin0 -> 2453 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/deb.pngbin0 -> 2591 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/develop.pngbin0 -> 3994 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/disk_image.pngbin0 -> 2876 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/document.pngbin0 -> 2487 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/document2.pngbin0 -> 2487 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/dvi.pngbin0 -> 2593 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/encrypted.pngbin0 -> 4237 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/font_bitmap.pngbin0 -> 2153 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/font_truetype.pngbin0 -> 2213 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/font_type1.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/gettext.pngbin0 -> 2118 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/html.pngbin0 -> 4560 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/image.pngbin0 -> 3734 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/images.pngbin0 -> 2611 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/info.pngbin0 -> 4134 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/jar.pngbin0 -> 2358 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/kget.pngbin0 -> 3608 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/kmultiple.pngbin0 -> 1932 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/log.pngbin0 -> 3813 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/make.pngbin0 -> 2585 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/man.pngbin0 -> 3419 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/message.pngbin0 -> 4335 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/midi.pngbin0 -> 2053 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_empty.pngbin0 -> 2270 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_html.pngbin0 -> 4560 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_image.pngbin0 -> 3734 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_sound.pngbin0 -> 3993 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_track.pngbin0 -> 4379 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mime_txt.pngbin0 -> 2514 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/misc_doc.pngbin0 -> 3134 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/mp3.pngbin0 -> 2747 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ms_access.pngbin0 -> 2420 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ms_excel.pngbin0 -> 2044 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ms_powerpoint.pngbin0 -> 1903 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ms_word.pngbin0 -> 2362 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/netscape_doc.pngbin0 -> 2168 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/pdf.pngbin0 -> 3122 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/person.pngbin0 -> 2277 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/postscript.pngbin0 -> 3019 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/pov.pngbin0 -> 2682 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/readme.pngbin0 -> 2539 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/real_doc.pngbin0 -> 3283 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/recycled.pngbin0 -> 3270 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/resource.pngbin0 -> 2461 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/rpm.pngbin0 -> 2123 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/ruby.pngbin0 -> 2527 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/shellscript.pngbin0 -> 4806 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/soffice.pngbin0 -> 3673 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/sound.pngbin0 -> 3993 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source.pngbin0 -> 2897 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_c.pngbin0 -> 3033 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_cpp.pngbin0 -> 3117 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_f.pngbin0 -> 2936 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_h.pngbin0 -> 2922 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_java.pngbin0 -> 2212 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_l.pngbin0 -> 2915 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_moc.pngbin0 -> 3710 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_o.pngbin0 -> 3062 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_p.pngbin0 -> 3010 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_pl.pngbin0 -> 3671 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_py.pngbin0 -> 2908 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_s.pngbin0 -> 3049 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/source_y.pngbin0 -> 3041 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/spreadsheet.pngbin0 -> 2433 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/tar.pngbin0 -> 2859 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/tex.pngbin0 -> 2244 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/tgz.pngbin0 -> 3565 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/txt.pngbin0 -> 3553 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/unknown.pngbin0 -> 2990 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/vcard.pngbin0 -> 2044 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/vectorgfx.pngbin0 -> 2671 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/video.pngbin0 -> 4097 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/war.pngbin0 -> 3024 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/widget_doc.pngbin0 -> 2084 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/wordprocessing.pngbin0 -> 4184 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/xcf.pngbin0 -> 2606 bytes
-rw-r--r--IconThemes/slick/64x64/mimetypes/zip.pngbin0 -> 1028 bytes
-rw-r--r--IconThemes/slick/index.theme276
-rw-r--r--IconThemes/slick/readme.txt10
-rw-r--r--Makefile.am.in11
-rw-r--r--Makefile.cvs15
-rw-r--r--README18
-rw-r--r--configure.in.in5
-rw-r--r--emoticons/BoxedEmoticonSet/Makefile.am3
-rw-r--r--emoticons/BoxedEmoticonSet/README4
-rw-r--r--emoticons/BoxedEmoticonSet/angry.pngbin0 -> 336 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/bigsmile.pngbin0 -> 298 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/confused.pngbin0 -> 303 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/cry.pngbin0 -> 322 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/emoticons.xml60
-rw-r--r--emoticons/BoxedEmoticonSet/oh.pngbin0 -> 309 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/sad.pngbin0 -> 317 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/shade.pngbin0 -> 320 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/smile.pngbin0 -> 307 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/tongue.pngbin0 -> 318 bytes
-rw-r--r--emoticons/BoxedEmoticonSet/wink.pngbin0 -> 318 bytes
-rw-r--r--emoticons/GroupWise/Makefile.am15
-rw-r--r--emoticons/GroupWise/emoticons.xml71
-rw-r--r--emoticons/KMess-Blue/Makefile.am14
-rw-r--r--emoticons/KMess-Blue/angry.pngbin0 -> 719 bytes
-rw-r--r--emoticons/KMess-Blue/arrogant.pngbin0 -> 858 bytes
-rw-r--r--emoticons/KMess-Blue/confused.pngbin0 -> 812 bytes
-rw-r--r--emoticons/KMess-Blue/cry.pngbin0 -> 817 bytes
-rw-r--r--emoticons/KMess-Blue/embarassed.pngbin0 -> 842 bytes
-rw-r--r--emoticons/KMess-Blue/emoticons.xml70
-rw-r--r--emoticons/KMess-Blue/omg.pngbin0 -> 781 bytes
-rw-r--r--emoticons/KMess-Blue/sad.pngbin0 -> 801 bytes
-rw-r--r--emoticons/KMess-Blue/satisfied.pngbin0 -> 813 bytes
-rw-r--r--emoticons/KMess-Blue/shade.pngbin0 -> 790 bytes
-rw-r--r--emoticons/KMess-Blue/shout.pngbin0 -> 797 bytes
-rw-r--r--emoticons/KMess-Blue/smile.pngbin0 -> 812 bytes
-rw-r--r--emoticons/KMess-Blue/sorry.pngbin0 -> 804 bytes
-rw-r--r--emoticons/KMess-Blue/teeth.pngbin0 -> 857 bytes
-rw-r--r--emoticons/KMess-Blue/tongue.pngbin0 -> 815 bytes
-rw-r--r--emoticons/KMess-Blue/ugly.pngbin0 -> 799 bytes
-rw-r--r--emoticons/KMess-Blue/wink.pngbin0 -> 808 bytes
-rw-r--r--emoticons/KMess-Cartoon/Makefile.am4
-rw-r--r--emoticons/KMess-Cartoon/angel.pngbin0 -> 1166 bytes
-rw-r--r--emoticons/KMess-Cartoon/angry.pngbin0 -> 1170 bytes
-rw-r--r--emoticons/KMess-Cartoon/confused.pngbin0 -> 1192 bytes
-rw-r--r--emoticons/KMess-Cartoon/cry.pngbin0 -> 1188 bytes
-rw-r--r--emoticons/KMess-Cartoon/devil.pngbin0 -> 1177 bytes
-rw-r--r--emoticons/KMess-Cartoon/embarrassed.pngbin0 -> 1129 bytes
-rw-r--r--emoticons/KMess-Cartoon/emoticons.xml95
-rw-r--r--emoticons/KMess-Cartoon/omg.pngbin0 -> 1178 bytes
-rw-r--r--emoticons/KMess-Cartoon/sad.pngbin0 -> 1109 bytes
-rw-r--r--emoticons/KMess-Cartoon/shade.pngbin0 -> 1191 bytes
-rw-r--r--emoticons/KMess-Cartoon/smile.pngbin0 -> 1122 bytes
-rw-r--r--emoticons/KMess-Cartoon/teeth.pngbin0 -> 1236 bytes
-rw-r--r--emoticons/KMess-Cartoon/tongue.pngbin0 -> 1246 bytes
-rw-r--r--emoticons/KMess-Cartoon/ugly.pngbin0 -> 1217 bytes
-rw-r--r--emoticons/KMess-Cartoon/wink.pngbin0 -> 1178 bytes
-rw-r--r--emoticons/KMess-Violet/Makefile.am14
-rw-r--r--emoticons/KMess-Violet/angry.pngbin0 -> 719 bytes
-rw-r--r--emoticons/KMess-Violet/arrogant.pngbin0 -> 909 bytes
-rw-r--r--emoticons/KMess-Violet/confused.pngbin0 -> 883 bytes
-rw-r--r--emoticons/KMess-Violet/cry.pngbin0 -> 894 bytes
-rw-r--r--emoticons/KMess-Violet/embarassed.pngbin0 -> 888 bytes
-rw-r--r--emoticons/KMess-Violet/emoticons.xml70
-rw-r--r--emoticons/KMess-Violet/omg.pngbin0 -> 849 bytes
-rw-r--r--emoticons/KMess-Violet/sad.pngbin0 -> 860 bytes
-rw-r--r--emoticons/KMess-Violet/satisfied.pngbin0 -> 877 bytes
-rw-r--r--emoticons/KMess-Violet/shade.pngbin0 -> 862 bytes
-rw-r--r--emoticons/KMess-Violet/shout.pngbin0 -> 860 bytes
-rw-r--r--emoticons/KMess-Violet/smile.pngbin0 -> 873 bytes
-rw-r--r--emoticons/KMess-Violet/sorry.pngbin0 -> 859 bytes
-rw-r--r--emoticons/KMess-Violet/teeth.pngbin0 -> 887 bytes
-rw-r--r--emoticons/KMess-Violet/tongue.pngbin0 -> 875 bytes
-rw-r--r--emoticons/KMess-Violet/ugly.pngbin0 -> 868 bytes
-rw-r--r--emoticons/KMess-Violet/wink.pngbin0 -> 874 bytes
-rw-r--r--emoticons/KMess/COPYING339
-rw-r--r--emoticons/KMess/Makefile.am31
-rw-r--r--emoticons/KMess/angel.pngbin0 -> 828 bytes
-rw-r--r--emoticons/KMess/angry.pngbin0 -> 719 bytes
-rw-r--r--emoticons/KMess/bat.pngbin0 -> 251 bytes
-rw-r--r--emoticons/KMess/beer.pngbin0 -> 432 bytes
-rw-r--r--emoticons/KMess/boy.pngbin0 -> 544 bytes
-rw-r--r--emoticons/KMess/cake.pngbin0 -> 524 bytes
-rw-r--r--emoticons/KMess/camera.pngbin0 -> 502 bytes
-rw-r--r--emoticons/KMess/cat.pngbin0 -> 517 bytes
-rw-r--r--emoticons/KMess/clock.pngbin0 -> 1039 bytes
-rw-r--r--emoticons/KMess/cocktail.pngbin0 -> 429 bytes
-rw-r--r--emoticons/KMess/confused.pngbin0 -> 748 bytes
-rw-r--r--emoticons/KMess/cry.pngbin0 -> 760 bytes
-rw-r--r--emoticons/KMess/cup.pngbin0 -> 766 bytes
-rw-r--r--emoticons/KMess/devil.pngbin0 -> 684 bytes
-rw-r--r--emoticons/KMess/dog.pngbin0 -> 536 bytes
-rw-r--r--emoticons/KMess/dude_hug.pngbin0 -> 556 bytes
-rw-r--r--emoticons/KMess/email.pngbin0 -> 830 bytes
-rw-r--r--emoticons/KMess/embarassed.pngbin0 -> 758 bytes
-rw-r--r--emoticons/KMess/emoticons.xml225
-rw-r--r--emoticons/KMess/film.pngbin0 -> 587 bytes
-rw-r--r--emoticons/KMess/girl.pngbin0 -> 686 bytes
-rw-r--r--emoticons/KMess/girl_hug.pngbin0 -> 465 bytes
-rw-r--r--emoticons/KMess/kiss.pngbin0 -> 391 bytes
-rw-r--r--emoticons/KMess/lightbulb.pngbin0 -> 670 bytes
-rw-r--r--emoticons/KMess/love.pngbin0 -> 624 bytes
-rw-r--r--emoticons/KMess/messenger.pngbin0 -> 935 bytes
-rw-r--r--emoticons/KMess/note.pngbin0 -> 525 bytes
-rw-r--r--emoticons/KMess/omg.pngbin0 -> 725 bytes
-rw-r--r--emoticons/KMess/phone.pngbin0 -> 315 bytes
-rw-r--r--emoticons/KMess/present.pngbin0 -> 575 bytes
-rw-r--r--emoticons/KMess/readme.txt35
-rw-r--r--emoticons/KMess/rose.pngbin0 -> 482 bytes
-rw-r--r--emoticons/KMess/sad.pngbin0 -> 734 bytes
-rw-r--r--emoticons/KMess/shade.pngbin0 -> 744 bytes
-rw-r--r--emoticons/KMess/smile.pngbin0 -> 749 bytes
-rw-r--r--emoticons/KMess/star.pngbin0 -> 481 bytes
-rw-r--r--emoticons/KMess/teeth.pngbin0 -> 775 bytes
-rw-r--r--emoticons/KMess/thumbs_down.pngbin0 -> 402 bytes
-rw-r--r--emoticons/KMess/thumbs_up.pngbin0 -> 389 bytes
-rw-r--r--emoticons/KMess/tongue.pngbin0 -> 746 bytes
-rw-r--r--emoticons/KMess/unlove.pngbin0 -> 743 bytes
-rw-r--r--emoticons/KMess/unused/arrogant.pngbin0 -> 786 bytes
-rw-r--r--emoticons/KMess/unused/asl.pngbin0 -> 662 bytes
-rw-r--r--emoticons/KMess/unused/bad.pngbin0 -> 717 bytes
-rw-r--r--emoticons/KMess/unused/envelope.pngbin0 -> 742 bytes
-rw-r--r--emoticons/KMess/unused/handcuffs.pngbin0 -> 531 bytes
-rw-r--r--emoticons/KMess/unused/moon.pngbin0 -> 856 bytes
-rw-r--r--emoticons/KMess/unused/rainbow.pngbin0 -> 1092 bytes
-rw-r--r--emoticons/KMess/unused/satisfied.pngbin0 -> 745 bytes
-rw-r--r--emoticons/KMess/unused/shout.pngbin0 -> 742 bytes
-rw-r--r--emoticons/KMess/unused/sorry.pngbin0 -> 738 bytes
-rw-r--r--emoticons/KMess/unused/sun.pngbin0 -> 828 bytes
-rw-r--r--emoticons/KMess/unused/ugly.pngbin0 -> 731 bytes
-rw-r--r--emoticons/KMess/wilted_rose.pngbin0 -> 411 bytes
-rw-r--r--emoticons/KMess/wink.pngbin0 -> 750 bytes
-rw-r--r--emoticons/Makefile.am4
-rw-r--r--emoticons/ccmathteam.com/Makefile.am4
-rw-r--r--emoticons/ccmathteam.com/README5
-rw-r--r--emoticons/ccmathteam.com/biggrin.pngbin0 -> 541 bytes
-rw-r--r--emoticons/ccmathteam.com/confused.pngbin0 -> 538 bytes
-rw-r--r--emoticons/ccmathteam.com/cry.pngbin0 -> 560 bytes
-rw-r--r--emoticons/ccmathteam.com/devil.pngbin0 -> 556 bytes
-rw-r--r--emoticons/ccmathteam.com/emoticons.xml108
-rw-r--r--emoticons/ccmathteam.com/oh.pngbin0 -> 568 bytes
-rw-r--r--emoticons/ccmathteam.com/smile.pngbin0 -> 531 bytes
-rw-r--r--emoticons/ccmathteam.com/sunglasses.pngbin0 -> 530 bytes
-rw-r--r--emoticons/ccmathteam.com/tongue.pngbin0 -> 555 bytes
-rw-r--r--emoticons/ccmathteam.com/unhappy.pngbin0 -> 537 bytes
-rw-r--r--emoticons/ccmathteam.com/wink.pngbin0 -> 539 bytes
-rw-r--r--emoticons/greggman.com/Makefile.am4
-rw-r--r--emoticons/greggman.com/README8
-rw-r--r--emoticons/greggman.com/biggrin.pngbin0 -> 215 bytes
-rw-r--r--emoticons/greggman.com/confused.pngbin0 -> 210 bytes
-rw-r--r--emoticons/greggman.com/emoticons.xml108
-rw-r--r--emoticons/greggman.com/kiss.pngbin0 -> 204 bytes
-rw-r--r--emoticons/greggman.com/oh.pngbin0 -> 210 bytes
-rw-r--r--emoticons/greggman.com/smile.pngbin0 -> 210 bytes
-rw-r--r--emoticons/greggman.com/sunglasses.pngbin0 -> 214 bytes
-rw-r--r--emoticons/greggman.com/tongue.pngbin0 -> 221 bytes
-rw-r--r--emoticons/greggman.com/unhappy.pngbin0 -> 212 bytes
-rw-r--r--emoticons/greggman.com/vampire.pngbin0 -> 271 bytes
-rw-r--r--emoticons/greggman.com/wink.pngbin0 -> 210 bytes
-rw-r--r--emoticons/phpBB/Makefile.am4
-rw-r--r--emoticons/phpBB/README.txt3
-rw-r--r--emoticons/phpBB/biggrin.pngbin0 -> 235 bytes
-rw-r--r--emoticons/phpBB/confused.pngbin0 -> 239 bytes
-rw-r--r--emoticons/phpBB/cry.pngbin0 -> 235 bytes
-rw-r--r--emoticons/phpBB/devil.pngbin0 -> 281 bytes
-rw-r--r--emoticons/phpBB/emoticons.xml108
-rw-r--r--emoticons/phpBB/oh.pngbin0 -> 233 bytes
-rw-r--r--emoticons/phpBB/smile.pngbin0 -> 236 bytes
-rw-r--r--emoticons/phpBB/sunglasses.pngbin0 -> 254 bytes
-rw-r--r--emoticons/phpBB/tongue.pngbin0 -> 236 bytes
-rw-r--r--emoticons/phpBB/unhappy.pngbin0 -> 226 bytes
-rw-r--r--emoticons/phpBB/wink.pngbin0 -> 230 bytes
-rw-r--r--emoticons/plain/Makefile.am2
-rw-r--r--emoticons/plain/README.txt6
-rw-r--r--emoticons/plain/biggrin.pngbin0 -> 255 bytes
-rw-r--r--emoticons/plain/confused.pngbin0 -> 241 bytes
-rw-r--r--emoticons/plain/cry.pngbin0 -> 202 bytes
-rw-r--r--emoticons/plain/emoticons.xml66
-rw-r--r--emoticons/plain/oh.pngbin0 -> 253 bytes
-rw-r--r--emoticons/plain/pig.pngbin0 -> 751 bytes
-rw-r--r--emoticons/plain/smile.pngbin0 -> 248 bytes
-rw-r--r--emoticons/plain/sunglasses.pngbin0 -> 195 bytes
-rw-r--r--emoticons/plain/tongue.pngbin0 -> 257 bytes
-rw-r--r--emoticons/plain/unhappy.pngbin0 -> 195 bytes
-rw-r--r--emoticons/plain/wink.pngbin0 -> 245 bytes
-rw-r--r--emoticons/redones/Makefile.am4
-rw-r--r--emoticons/redones/angel.pngbin0 -> 551 bytes
-rw-r--r--emoticons/redones/angry.pngbin0 -> 365 bytes
-rw-r--r--emoticons/redones/biggrin.pngbin0 -> 311 bytes
-rw-r--r--emoticons/redones/confused.pngbin0 -> 439 bytes
-rw-r--r--emoticons/redones/cry.pngbin0 -> 342 bytes
-rw-r--r--emoticons/redones/emoticons.xml113
-rw-r--r--emoticons/redones/oh.pngbin0 -> 408 bytes
-rw-r--r--emoticons/redones/smile.pngbin0 -> 417 bytes
-rw-r--r--emoticons/redones/sunglasses.pngbin0 -> 369 bytes
-rw-r--r--emoticons/redones/tongue.pngbin0 -> 392 bytes
-rw-r--r--emoticons/redones/unhappy.pngbin0 -> 384 bytes
-rw-r--r--emoticons/redones/wink.pngbin0 -> 374 bytes
-rw-r--r--emoticons/set1/Makefile.am2
-rw-r--r--emoticons/set1/biggrin.pngbin0 -> 410 bytes
-rw-r--r--emoticons/set1/cry.pngbin0 -> 408 bytes
-rw-r--r--emoticons/set1/emoticons.xml108
-rw-r--r--emoticons/set1/oh.pngbin0 -> 408 bytes
-rw-r--r--emoticons/set1/sleep.pngbin0 -> 443 bytes
-rw-r--r--emoticons/set1/smile.pngbin0 -> 400 bytes
-rw-r--r--emoticons/set1/tongue.pngbin0 -> 402 bytes
-rw-r--r--emoticons/set1/unhappy.pngbin0 -> 333 bytes
-rw-r--r--emoticons/set1/wink.pngbin0 -> 406 bytes
-rw-r--r--icewm-themes/Makefile.am1
-rw-r--r--icewm-themes/MenschMaschine/Makefile.am8
-rw-r--r--icewm-themes/MenschMaschine/closeA.xpm77
-rw-r--r--icewm-themes/MenschMaschine/closeI.xpm89
-rw-r--r--icewm-themes/MenschMaschine/default.theme28
-rw-r--r--icewm-themes/MenschMaschine/frameAB.xpm11
-rw-r--r--icewm-themes/MenschMaschine/frameABL.xpm36
-rw-r--r--icewm-themes/MenschMaschine/frameABR.xpm33
-rw-r--r--icewm-themes/MenschMaschine/frameAL.xpm14
-rw-r--r--icewm-themes/MenschMaschine/frameAR.xpm13
-rw-r--r--icewm-themes/MenschMaschine/frameAT.xpm12
-rw-r--r--icewm-themes/MenschMaschine/frameATL.xpm53
-rw-r--r--icewm-themes/MenschMaschine/frameATR.xpm39
-rw-r--r--icewm-themes/MenschMaschine/frameIB.xpm11
-rw-r--r--icewm-themes/MenschMaschine/frameIBL.xpm36
-rw-r--r--icewm-themes/MenschMaschine/frameIBR.xpm33
-rw-r--r--icewm-themes/MenschMaschine/frameIL.xpm14
-rw-r--r--icewm-themes/MenschMaschine/frameIR.xpm13
-rw-r--r--icewm-themes/MenschMaschine/frameIT.xpm12
-rw-r--r--icewm-themes/MenschMaschine/frameITL.xpm56
-rw-r--r--icewm-themes/MenschMaschine/frameITR.xpm39
-rw-r--r--icewm-themes/MenschMaschine/maximizeA.xpm71
-rw-r--r--icewm-themes/MenschMaschine/maximizeI.xpm86
-rw-r--r--icewm-themes/MenschMaschine/menuButtonA.xpm46
-rw-r--r--icewm-themes/MenschMaschine/menuButtonI.xpm48
-rw-r--r--icewm-themes/MenschMaschine/minimizeA.xpm61
-rw-r--r--icewm-themes/MenschMaschine/minimizeI.xpm73
-rw-r--r--icewm-themes/MenschMaschine/restoreA.xpm71
-rw-r--r--icewm-themes/MenschMaschine/restoreI.xpm86
-rw-r--r--icewm-themes/MenschMaschine/titleAB.xpm27
-rw-r--r--icewm-themes/MenschMaschine/titleAL.xpm28
-rw-r--r--icewm-themes/MenschMaschine/titleAM.xpm27
-rw-r--r--icewm-themes/MenschMaschine/titleAR.xpm274
-rw-r--r--icewm-themes/MenschMaschine/titleAT.xpm27
-rw-r--r--icewm-themes/MenschMaschine/titleIB.xpm29
-rw-r--r--icewm-themes/MenschMaschine/titleIL.xpm30
-rw-r--r--icewm-themes/MenschMaschine/titleIM.xpm29
-rw-r--r--icewm-themes/MenschMaschine/titleIR.xpm321
-rw-r--r--icewm-themes/MenschMaschine/titleIT.xpm29
-rw-r--r--icewm-themes/Model/Makefile.am8
-rw-r--r--icewm-themes/Model/closeA.xpm246
-rw-r--r--icewm-themes/Model/closeI.xpm177
-rw-r--r--icewm-themes/Model/default.theme28
-rw-r--r--icewm-themes/Model/frameAB.xpm15
-rw-r--r--icewm-themes/Model/frameABL.xpm81
-rw-r--r--icewm-themes/Model/frameABR.xpm45
-rw-r--r--icewm-themes/Model/frameAL.xpm15
-rw-r--r--icewm-themes/Model/frameAR.xpm14
-rw-r--r--icewm-themes/Model/frameAT.xpm13
-rw-r--r--icewm-themes/Model/frameATL.xpm239
-rw-r--r--icewm-themes/Model/frameATR.xpm265
-rw-r--r--icewm-themes/Model/frameIB.xpm14
-rw-r--r--icewm-themes/Model/frameIBL.xpm69
-rw-r--r--icewm-themes/Model/frameIBR.xpm62
-rw-r--r--icewm-themes/Model/frameIL.xpm16
-rw-r--r--icewm-themes/Model/frameIR.xpm15
-rw-r--r--icewm-themes/Model/frameIT.xpm16
-rw-r--r--icewm-themes/Model/frameITL.xpm122
-rw-r--r--icewm-themes/Model/frameITR.xpm163
-rw-r--r--icewm-themes/Model/maximizeA.xpm232
-rw-r--r--icewm-themes/Model/maximizeI.xpm156
-rw-r--r--icewm-themes/Model/menuButtonA.xpm77
-rw-r--r--icewm-themes/Model/menuButtonI.xpm52
-rw-r--r--icewm-themes/Model/minimizeA.xpm119
-rw-r--r--icewm-themes/Model/minimizeI.xpm83
-rw-r--r--icewm-themes/Model/restoreA.xpm166
-rw-r--r--icewm-themes/Model/restoreI.xpm132
-rw-r--r--icewm-themes/Model/titleAB.xpm49
-rw-r--r--icewm-themes/Model/titleAL.xpm49
-rw-r--r--icewm-themes/Model/titleAM.xpm84
-rw-r--r--icewm-themes/Model/titleAT.xpm53
-rw-r--r--icewm-themes/Model/titleIB.xpm35
-rw-r--r--icewm-themes/Model/titleIL.xpm35
-rw-r--r--icewm-themes/Model/titleIM.xpm45
-rw-r--r--icewm-themes/Model/titleIT.xpm35
-rw-r--r--kdeartwork.lsm11
-rw-r--r--kscreensaver/Makefile.am14
-rw-r--r--kscreensaver/configure.in.bot17
-rw-r--r--kscreensaver/configure.in.in86
-rw-r--r--kscreensaver/kdesavers/Euphoria.cpp1084
-rw-r--r--kscreensaver/kdesavers/Euphoria.h155
-rw-r--r--kscreensaver/kdesavers/EuphoriaTexture.h4138
-rw-r--r--kscreensaver/kdesavers/Flux.cpp967
-rw-r--r--kscreensaver/kdesavers/Flux.h147
-rw-r--r--kscreensaver/kdesavers/KBanner.desktop243
-rw-r--r--kscreensaver/kdesavers/KBlob.desktop227
-rw-r--r--kscreensaver/kdesavers/KClock.desktop252
-rw-r--r--kscreensaver/kdesavers/KEuphoria.desktop233
-rw-r--r--kscreensaver/kdesavers/KFiresaver.desktop233
-rw-r--r--kscreensaver/kdesavers/KFlux.desktop224
-rw-r--r--kscreensaver/kdesavers/KFountain.desktop249
-rw-r--r--kscreensaver/kdesavers/KGravity.desktop253
-rw-r--r--kscreensaver/kdesavers/KLines-saver.desktop255
-rw-r--r--kscreensaver/kdesavers/KLorenz.desktop244
-rw-r--r--kscreensaver/kdesavers/KPendulum.desktop221
-rw-r--r--kscreensaver/kdesavers/KPolygon.desktop251
-rw-r--r--kscreensaver/kdesavers/KRotation.desktop221
-rw-r--r--kscreensaver/kdesavers/KScience.desktop254
-rw-r--r--kscreensaver/kdesavers/KSlideshow.desktop251
-rw-r--r--kscreensaver/kdesavers/KSolarWinds.desktop243
-rw-r--r--kscreensaver/kdesavers/KVm.desktop253
-rw-r--r--kscreensaver/kdesavers/KWave.desktop251
-rw-r--r--kscreensaver/kdesavers/Makefile.am102
-rw-r--r--kscreensaver/kdesavers/README3
-rw-r--r--kscreensaver/kdesavers/SolarWinds.cpp778
-rw-r--r--kscreensaver/kdesavers/SolarWinds.h138
-rw-r--r--kscreensaver/kdesavers/banner.cpp509
-rw-r--r--kscreensaver/kdesavers/banner.h112
-rw-r--r--kscreensaver/kdesavers/blob.cpp527
-rw-r--r--kscreensaver/kdesavers/blob.h117
-rw-r--r--kscreensaver/kdesavers/data/Makefile.am11
-rw-r--r--kscreensaver/kdesavers/data/kfs_debris.oggbin0 -> 28158 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_explode.oggbin0 -> 9864 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_kde.pngbin0 -> 9899 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_letters.desc84
-rw-r--r--kscreensaver/kdesavers/data/kfs_letters1.pngbin0 -> 28082 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_letters2.pngbin0 -> 26885 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_particle.pngbin0 -> 890 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_particle_diastar.pngbin0 -> 1100 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_particle_flare.pngbin0 -> 6041 bytes
-rw-r--r--kscreensaver/kdesavers/data/kfs_tux.pngbin0 -> 4382 bytes
-rw-r--r--kscreensaver/kdesavers/firesaver.ChangeLog106
-rw-r--r--kscreensaver/kdesavers/firesaver.cpp1151
-rw-r--r--kscreensaver/kdesavers/firesaver.h170
-rw-r--r--kscreensaver/kdesavers/firesaverparticle.cpp273
-rw-r--r--kscreensaver/kdesavers/firesaverparticle.h105
-rw-r--r--kscreensaver/kdesavers/firesaversetup.ui1855
-rw-r--r--kscreensaver/kdesavers/firesaversetup.ui.h400
-rw-r--r--kscreensaver/kdesavers/firesaverwriter.cpp247
-rw-r--r--kscreensaver/kdesavers/firesaverwriter.h113
-rw-r--r--kscreensaver/kdesavers/fountain.cpp461
-rw-r--r--kscreensaver/kdesavers/fountain.h140
-rw-r--r--kscreensaver/kdesavers/fountaincfg.ui192
-rw-r--r--kscreensaver/kdesavers/gravity.cpp419
-rw-r--r--kscreensaver/kdesavers/gravity.h141
-rw-r--r--kscreensaver/kdesavers/gravitycfg.ui192
-rw-r--r--kscreensaver/kdesavers/image.pngbin0 -> 53876 bytes
-rw-r--r--kscreensaver/kdesavers/kclock.cpp588
-rw-r--r--kscreensaver/kdesavers/kclock.h130
-rw-r--r--kscreensaver/kdesavers/kscience.pngbin0 -> 10664 bytes
-rw-r--r--kscreensaver/kdesavers/kvm.cpp384
-rw-r--r--kscreensaver/kdesavers/kvm.h99
-rw-r--r--kscreensaver/kdesavers/lines.cpp401
-rw-r--r--kscreensaver/kdesavers/lines.h96
-rw-r--r--kscreensaver/kdesavers/lorenz.cpp569
-rw-r--r--kscreensaver/kdesavers/lorenz.h86
-rw-r--r--kscreensaver/kdesavers/particle.pngbin0 -> 1957 bytes
-rw-r--r--kscreensaver/kdesavers/pendulum.cpp881
-rw-r--r--kscreensaver/kdesavers/pendulum.h388
-rw-r--r--kscreensaver/kdesavers/pendulumcfg.ui566
-rw-r--r--kscreensaver/kdesavers/polygon.cpp366
-rw-r--r--kscreensaver/kdesavers/polygon.h79
-rw-r--r--kscreensaver/kdesavers/rkodesolver.cpp252
-rw-r--r--kscreensaver/kdesavers/rkodesolver.h187
-rw-r--r--kscreensaver/kdesavers/rotation.cpp825
-rw-r--r--kscreensaver/kdesavers/rotation.h325
-rw-r--r--kscreensaver/kdesavers/rotationcfg.ui488
-rw-r--r--kscreensaver/kdesavers/science.cpp1151
-rw-r--r--kscreensaver/kdesavers/science.h148
-rw-r--r--kscreensaver/kdesavers/slideshow.cpp1022
-rw-r--r--kscreensaver/kdesavers/slideshow.h150
-rw-r--r--kscreensaver/kdesavers/slideshowcfg.ui176
-rw-r--r--kscreensaver/kdesavers/sspreviewarea.cpp21
-rw-r--r--kscreensaver/kdesavers/sspreviewarea.h57
-rw-r--r--kscreensaver/kdesavers/vec3.cpp105
-rw-r--r--kscreensaver/kdesavers/vec3.h214
-rw-r--r--kscreensaver/kdesavers/vm.c264
-rw-r--r--kscreensaver/kdesavers/vm.h52
-rw-r--r--kscreensaver/kdesavers/vm.xbm191
-rw-r--r--kscreensaver/kdesavers/vm.xpm493
-rw-r--r--kscreensaver/kdesavers/vm_random.c379
-rw-r--r--kscreensaver/kdesavers/vm_random.h31
-rw-r--r--kscreensaver/kdesavers/wave.cpp324
-rw-r--r--kscreensaver/kdesavers/wave.h97
-rw-r--r--kscreensaver/kdesavers/wavecfg.ui191
-rw-r--r--kscreensaver/kpartsaver/Makefile.am14
-rw-r--r--kscreensaver/kpartsaver/configwidget.ui299
-rw-r--r--kscreensaver/kpartsaver/kpartsaver.cpp387
-rw-r--r--kscreensaver/kpartsaver/kpartsaver.desktop247
-rw-r--r--kscreensaver/kpartsaver/kpartsaver.h101
-rw-r--r--kscreensaver/kxsconfig/Makefile.am56
-rw-r--r--kscreensaver/kxsconfig/README17
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/abstractile.desktop202
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/anemone.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/anemotaxis.desktop207
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/ant.desktop248
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/antinspect.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/antmaze.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/antspotlight.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/apollonian.desktop228
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/apple2.desktop203
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/atlantis.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/attraction.desktop251
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/atunnel.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/barcode.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/blaster.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/blinkbox.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/blitspin.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/blocktube.desktop230
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/boing.desktop207
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bouboule.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bouncingcow.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/boxed.desktop236
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/boxfit.desktop213
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/braid.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bsod.desktop204
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bubble3d.desktop249
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bubbles.desktop249
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/bumps.desktop238
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cage.desktop249
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/carousel.desktop228
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/ccurve.desktop242
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/celtic.desktop227
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/circuit.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cloudlife.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/compass.desktop253
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/coral.desktop246
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/crackberg.desktop205
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/critical.desktop242
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/crystal.desktop251
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cube21.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cubenetic.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cubestorm.desktop230
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cwaves.desktop204
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/cynosure.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/dangerball.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/decayscreen.desktop236
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/deco.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/deluxe.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/demon.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/discrete.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/distort.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/drift.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/endgame.desktop243
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/engine.desktop246
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/epicycle.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/eruption.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/euler2d.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/extrusion.desktop233
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fadeplot.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fiberlamp.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fireworkx.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flag.desktop252
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flame.desktop252
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flipflop.desktop219
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flipscreen3d.desktop231
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fliptext.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flow.desktop248
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fluidballs.desktop233
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flurry.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/flyingtoasters.desktop238
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fontglide.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/forest.desktop253
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/fuzzyflakes.desktop220
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/galaxy.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/gears.desktop248
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/gflux.desktop219
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glblur.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glcells.desktop207
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/gleidescope.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glforestfire.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glhanoi.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glknots.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glmatrix.desktop228
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glplanet.desktop245
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glschool.desktop205
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glslideshow.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/glsnake.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/gltext.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/goop.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/grav.desktop249
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/greynetic.desktop227
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/halftone.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/halo.desktop214
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/helix.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/hopalong.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/hyperball.desktop233
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/hypercube.desktop245
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/hypertorus.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/ifs.desktop246
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/imsmap.desktop251
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/interaggregate.desktop220
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/interference.desktop249
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/intermomentary.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/jigglypuff.desktop215
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/jigsaw.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/juggle.desktop233
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/juggler3d.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/julia.desktop211
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/kaleidescope.desktop247
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/klein.desktop209
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/kumppa.desktop206
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lament.desktop231
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/laser.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lavalite.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lightning.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lisa.desktop210
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lissie.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lmorph.desktop247
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/lockward.desktop203
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/loop.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/m6502.desktop194
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/maze.desktop238
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/memscroller.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/menger.desktop209
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/metaballs.desktop228
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/mirrorblob.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/mismunch.desktop212
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/moebius.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/moebiusgears.desktop208
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/moire.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/moire2.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/molecule.desktop243
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/morph3d.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/mountain.desktop247
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/munch.desktop220
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/nerverot.desktop219
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/noof.desktop205
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/noseguy.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pacman.desktop206
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pedal.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/penetrate.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/penrose.desktop209
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/petri.desktop212
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/phosphor.desktop246
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/piecewise.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pinion.desktop210
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pipes.desktop251
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pixmaps.desktop233
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/polyhedra.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/polyominoes.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/polytopes.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pong.desktop208
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/popsquares.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/providence.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pulsar.desktop229
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/pyro.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/qix.desktop204
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/queens.desktop240
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rd-bomb.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/ripples.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rocks.desktop244
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rorschach.desktop207
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rotor.desktop215
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rotzoomer.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/rubik.desktop248
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sballs.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/shadebobs.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sierpinski.desktop208
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sierpinski3d.desktop220
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/slidescreen.desktop241
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/slip.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sonar.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/speedmine.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sphere.desktop244
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/spheremonics.desktop226
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/spiral.desktop237
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/spotlight.desktop236
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/sproingies.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/squiral.desktop211
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/stairs.desktop251
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/starfish.desktop245
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/starwars.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/stonerview.desktop218
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/strange.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/substrate.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/superquadrics.desktop234
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/swirl.desktop244
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/t3d.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/tangram.desktop204
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/thornbird.desktop224
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/timetunnel.desktop228
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/topblock.desktop204
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/triangle.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/truchet.desktop207
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/twang.desktop217
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/vermiculate.desktop227
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/vidwhacker.desktop223
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/vines.desktop241
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/voronoi.desktop198
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/wander.desktop232
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/webcollage.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/whirlwindwarp.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/whirlygig.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/worm.desktop250
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/wormhole.desktop235
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xanalogtv.desktop213
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xflame.desktop239
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xjack.desktop213
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xlyap.desktop209
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xmatrix.desktop236
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xrayswarm.desktop225
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xscreensaver.template25
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xspirograph.desktop221
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xsublim.desktop220
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/xteevee.desktop216
-rw-r--r--kscreensaver/kxsconfig/ScreenSavers/zoom.desktop232
-rw-r--r--kscreensaver/kxsconfig/XScreenSaver_ad.h439
-rw-r--r--kscreensaver/kxsconfig/configure.in.bot9
-rw-r--r--kscreensaver/kxsconfig/configure.in.in70
-rw-r--r--kscreensaver/kxsconfig/hacks.pot4319
-rw-r--r--kscreensaver/kxsconfig/kxsconfig.cpp388
-rw-r--r--kscreensaver/kxsconfig/kxsconfig.h59
-rw-r--r--kscreensaver/kxsconfig/kxscontrol.cpp321
-rw-r--r--kscreensaver/kxsconfig/kxscontrol.h160
-rw-r--r--kscreensaver/kxsconfig/kxsitem.cpp251
-rw-r--r--kscreensaver/kxsconfig/kxsitem.h132
-rw-r--r--kscreensaver/kxsconfig/kxsrun.cpp195
-rw-r--r--kscreensaver/kxsconfig/kxsxml.cpp157
-rw-r--r--kscreensaver/kxsconfig/kxsxml.h69
-rw-r--r--kscreensaver/xsavers/KSpace.desktop250
-rw-r--r--kscreensaver/xsavers/KSwarm.desktop245
-rw-r--r--kscreensaver/xsavers/Makefile.am36
-rw-r--r--kscreensaver/xsavers/demowin.cpp11
-rw-r--r--kscreensaver/xsavers/demowin.h44
-rw-r--r--kscreensaver/xsavers/helpers.cpp38
-rw-r--r--kscreensaver/xsavers/helpers.h23
-rw-r--r--kscreensaver/xsavers/main.cpp108
-rw-r--r--kscreensaver/xsavers/mode.h692
-rw-r--r--kscreensaver/xsavers/saver.cpp31
-rw-r--r--kscreensaver/xsavers/saver.h28
-rw-r--r--kscreensaver/xsavers/space.cpp735
-rw-r--r--kscreensaver/xsavers/space.h62
-rw-r--r--kscreensaver/xsavers/swarm.cpp419
-rw-r--r--kscreensaver/xsavers/swarm.h65
-rw-r--r--kscreensaver/xsavers/xlock.cpp86
-rw-r--r--kscreensaver/xsavers/xlock.h229
-rw-r--r--kscreensaver/xsavers/xlockmore.h261
-rw-r--r--kscreensaver/xsavers/xs_colors.c693
-rw-r--r--kscreensaver/xsavers/xs_colors.h140
-rw-r--r--kscreensaver/xsavers/xs_hsv.c81
-rw-r--r--kscreensaver/xsavers/xs_hsv.h27
-rw-r--r--kscreensaver/xsavers/xs_utils.h22
-rw-r--r--kscreensaver/xsavers/xs_visual.c473
-rw-r--r--kscreensaver/xsavers/xs_visual.h27
-rw-r--r--kscreensaver/xsavers/xs_yarandom.h52
-rw-r--r--kwin-styles/Makefile.am4
-rw-r--r--kwin-styles/cde/Makefile.am22
-rw-r--r--kwin-styles/cde/cde.desktop6
-rw-r--r--kwin-styles/cde/cdeclient.cpp863
-rw-r--r--kwin-styles/cde/cdeclient.h118
-rw-r--r--kwin-styles/cde/config/Makefile.am17
-rw-r--r--kwin-styles/cde/config/config.cpp131
-rw-r--r--kwin-styles/cde/config/config.h51
-rw-r--r--kwin-styles/configure.in.in3
-rw-r--r--kwin-styles/glow/Makefile.am22
-rw-r--r--kwin-styles/glow/config/Makefile.am17
-rw-r--r--kwin-styles/glow/config/bitmaps.h55
-rw-r--r--kwin-styles/glow/config/glowconfigdialog.cpp369
-rw-r--r--kwin-styles/glow/config/glowconfigdialog.h91
-rw-r--r--kwin-styles/glow/glow.desktop49
-rw-r--r--kwin-styles/glow/glowbutton.cpp339
-rw-r--r--kwin-styles/glow/glowbutton.h128
-rw-r--r--kwin-styles/glow/glowclient.cpp902
-rw-r--r--kwin-styles/glow/glowclient.h205
-rw-r--r--kwin-styles/glow/resources.h11
-rw-r--r--kwin-styles/glow/themes/Makefile.am1
-rw-r--r--kwin-styles/glow/themes/default/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/default/background.pngbin0 -> 788 bytes
-rw-r--r--kwin-styles/glow/themes/default/close.pngbin0 -> 122 bytes
-rw-r--r--kwin-styles/glow/themes/default/close_glow.pngbin0 -> 179 bytes
-rw-r--r--kwin-styles/glow/themes/default/default.theme19
-rw-r--r--kwin-styles/glow/themes/default/help.pngbin0 -> 120 bytes
-rw-r--r--kwin-styles/glow/themes/default/help_glow.pngbin0 -> 174 bytes
-rw-r--r--kwin-styles/glow/themes/default/iconify.pngbin0 -> 120 bytes
-rw-r--r--kwin-styles/glow/themes/default/iconify_glow.pngbin0 -> 177 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeoff.pngbin0 -> 109 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeoff_glow.pngbin0 -> 166 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeon.pngbin0 -> 129 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeon_glow.pngbin0 -> 186 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyoff.pngbin0 -> 103 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyoff_glow.pngbin0 -> 161 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyon.pngbin0 -> 115 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyon_glow.pngbin0 -> 173 bytes
-rw-r--r--kwin-styles/glow/themes/glass/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass/background.pngbin0 -> 794 bytes
-rw-r--r--kwin-styles/glow/themes/glass/close.pngbin0 -> 186 bytes
-rw-r--r--kwin-styles/glow/themes/glass/close_glow.pngbin0 -> 567 bytes
-rw-r--r--kwin-styles/glow/themes/glass/glass.theme19
-rw-r--r--kwin-styles/glow/themes/glass/help.pngbin0 -> 183 bytes
-rw-r--r--kwin-styles/glow/themes/glass/help_glow.pngbin0 -> 554 bytes
-rw-r--r--kwin-styles/glow/themes/glass/iconify.pngbin0 -> 190 bytes
-rw-r--r--kwin-styles/glow/themes/glass/iconify_glow.pngbin0 -> 575 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeoff.pngbin0 -> 169 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeoff_glow.pngbin0 -> 518 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeon.pngbin0 -> 188 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeon_glow.pngbin0 -> 541 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyoff.pngbin0 -> 178 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyoff_glow.pngbin0 -> 597 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyon.pngbin0 -> 180 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyon_glow.pngbin0 -> 564 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_huge/background.pngbin0 -> 2094 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/close.pngbin0 -> 207 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/close_glow.pngbin0 -> 1386 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/glass_huge.theme19
-rw-r--r--kwin-styles/glow/themes/glass_huge/help.pngbin0 -> 199 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/help_glow.pngbin0 -> 1398 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/iconify.pngbin0 -> 206 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/iconify_glow.pngbin0 -> 1395 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeoff.pngbin0 -> 187 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeoff_glow.pngbin0 -> 1397 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeon.pngbin0 -> 206 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeon_glow.pngbin0 -> 1417 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyoff.pngbin0 -> 192 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyoff_glow.pngbin0 -> 1409 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyon.pngbin0 -> 194 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyon_glow.pngbin0 -> 1414 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_large/background.pngbin0 -> 1217 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/close.pngbin0 -> 190 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/close_glow.pngbin0 -> 731 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/glass_large.theme19
-rw-r--r--kwin-styles/glow/themes/glass_large/help.pngbin0 -> 187 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/help_glow.pngbin0 -> 720 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/iconify.pngbin0 -> 194 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/iconify_glow.pngbin0 -> 723 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeoff.pngbin0 -> 174 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeoff_glow.pngbin0 -> 667 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeon.pngbin0 -> 195 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeon_glow.pngbin0 -> 700 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyoff.pngbin0 -> 182 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyoff_glow.pngbin0 -> 658 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyon.pngbin0 -> 178 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyon_glow.pngbin0 -> 674 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/background.pngbin0 -> 1520 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/close.pngbin0 -> 197 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/close_glow.pngbin0 -> 1048 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme19
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/help.pngbin0 -> 190 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/help_glow.pngbin0 -> 1070 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/iconify.pngbin0 -> 201 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/iconify_glow.pngbin0 -> 1063 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeoff.pngbin0 -> 179 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.pngbin0 -> 1060 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeon.pngbin0 -> 201 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.pngbin0 -> 1073 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyoff.pngbin0 -> 185 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.pngbin0 -> 1059 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyon.pngbin0 -> 183 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyon_glow.pngbin0 -> 1045 bytes
-rw-r--r--kwin-styles/glow/themes/square/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/square/background.pngbin0 -> 287 bytes
-rw-r--r--kwin-styles/glow/themes/square/close.pngbin0 -> 122 bytes
-rw-r--r--kwin-styles/glow/themes/square/close_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/help.pngbin0 -> 120 bytes
-rw-r--r--kwin-styles/glow/themes/square/help_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/iconify.pngbin0 -> 120 bytes
-rw-r--r--kwin-styles/glow/themes/square/iconify_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeoff.pngbin0 -> 109 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeoff_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeon.pngbin0 -> 129 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeon_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/square.theme19
-rw-r--r--kwin-styles/glow/themes/square/stickyoff.pngbin0 -> 103 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyoff_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyon.pngbin0 -> 115 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyon_glow.pngbin0 -> 164 bytes
-rw-r--r--kwin-styles/icewm/Makefile.am21
-rw-r--r--kwin-styles/icewm/config/Makefile.am16
-rw-r--r--kwin-styles/icewm/config/config.cpp271
-rw-r--r--kwin-styles/icewm/config/config.h76
-rw-r--r--kwin-styles/icewm/icewm-themes/Makefile.am12
-rw-r--r--kwin-styles/icewm/icewm-themes/closeA.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/closeI.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/default.theme48
-rw-r--r--kwin-styles/icewm/icewm-themes/depthA.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/depthI.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/maximizeA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/maximizeI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/menuButtonA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/menuButtonI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/minimizeA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/minimizeI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/restoreA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/restoreI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rolldownA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rolldownI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rollupA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rollupI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAB.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAJ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAM.xpm73
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAP.xpm73
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAQ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAR.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAS.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAT.xpm38
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIB.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIJ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIM.xpm66
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIP.xpm66
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIQ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIR.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIS.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIT.xpm38
-rw-r--r--kwin-styles/icewm/icewm.cpp1703
-rw-r--r--kwin-styles/icewm/icewm.desktop11
-rw-r--r--kwin-styles/icewm/icewm.h192
-rw-r--r--kwin-styles/kde1/Makefile.am16
-rw-r--r--kwin-styles/kde1/kde1.desktop7
-rw-r--r--kwin-styles/kde1/kde1client.cpp809
-rw-r--r--kwin-styles/kde1/kde1client.h155
-rw-r--r--kwin-styles/kde1/kde1client_bitmaps.h149
-rw-r--r--kwin-styles/kstep/Makefile.am22
-rw-r--r--kwin-styles/kstep/kstep.desktop12
-rw-r--r--kwin-styles/kstep/nextclient.cpp987
-rw-r--r--kwin-styles/kstep/nextclient.h125
-rw-r--r--kwin-styles/openlook/Makefile.am16
-rw-r--r--kwin-styles/openlook/OpenLook.cpp728
-rw-r--r--kwin-styles/openlook/OpenLook.h115
-rw-r--r--kwin-styles/openlook/openlook.desktop14
-rw-r--r--kwin-styles/riscos/AboveButton.cpp65
-rw-r--r--kwin-styles/riscos/AboveButton.h50
-rw-r--r--kwin-styles/riscos/Button.cpp153
-rw-r--r--kwin-styles/riscos/Button.h81
-rw-r--r--kwin-styles/riscos/CloseButton.cpp66
-rw-r--r--kwin-styles/riscos/CloseButton.h52
-rw-r--r--kwin-styles/riscos/HelpButton.cpp66
-rw-r--r--kwin-styles/riscos/HelpButton.h52
-rw-r--r--kwin-styles/riscos/IconifyButton.cpp66
-rw-r--r--kwin-styles/riscos/IconifyButton.h52
-rw-r--r--kwin-styles/riscos/LowerButton.cpp66
-rw-r--r--kwin-styles/riscos/LowerButton.h52
-rw-r--r--kwin-styles/riscos/Makefile.am39
-rw-r--r--kwin-styles/riscos/Manager.cpp767
-rw-r--r--kwin-styles/riscos/Manager.h123
-rw-r--r--kwin-styles/riscos/MaximiseButton.cpp98
-rw-r--r--kwin-styles/riscos/MaximiseButton.h60
-rw-r--r--kwin-styles/riscos/Palette.h69
-rw-r--r--kwin-styles/riscos/README90
-rw-r--r--kwin-styles/riscos/Static.cpp540
-rw-r--r--kwin-styles/riscos/Static.h134
-rw-r--r--kwin-styles/riscos/StickyButton.cpp99
-rw-r--r--kwin-styles/riscos/StickyButton.h60
-rw-r--r--kwin-styles/riscos/riscos.desktop11
-rw-r--r--kwin-styles/smooth-blend/AUTHORS1
-rw-r--r--kwin-styles/smooth-blend/COPYING340
-rw-r--r--kwin-styles/smooth-blend/CREDITS5
-rw-r--r--kwin-styles/smooth-blend/ChangeLog22
-rw-r--r--kwin-styles/smooth-blend/INSTALL167
-rw-r--r--kwin-styles/smooth-blend/Makefile.am1
-rw-r--r--kwin-styles/smooth-blend/NEWS0
-rw-r--r--kwin-styles/smooth-blend/README15
-rw-r--r--kwin-styles/smooth-blend/TODO4
-rw-r--r--kwin-styles/smooth-blend/client/Makefile.am20
-rw-r--r--kwin-styles/smooth-blend/client/buttons.h1798
-rw-r--r--kwin-styles/smooth-blend/client/config/Makefile.am15
-rw-r--r--kwin-styles/smooth-blend/client/config/configdialog.ui421
-rw-r--r--kwin-styles/smooth-blend/client/config/smoothblendconfig.cc180
-rw-r--r--kwin-styles/smooth-blend/client/config/smoothblendconfig.h55
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.cc1396
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.desktop40
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.h254
-rw-r--r--kwin-styles/system/Makefile.am21
-rw-r--r--kwin-styles/system/system.desktop27
-rw-r--r--kwin-styles/system/systemclient.cpp737
-rw-r--r--kwin-styles/system/systemclient.h111
-rw-r--r--kworldclock/COPYRIGHT34
-rw-r--r--kworldclock/Makefile.am1
-rw-r--r--kworldclock/README7
-rw-r--r--kworldclock/alt/1200.jpgbin0 -> 147680 bytes
-rw-r--r--kworldclock/alt/200.jpgbin0 -> 8043 bytes
-rw-r--r--kworldclock/alt/400.jpgbin0 -> 24419 bytes
-rw-r--r--kworldclock/alt/800.jpgbin0 -> 74550 bytes
-rw-r--r--kworldclock/alt/Makefile.am2
-rw-r--r--kworldclock/alt/alt.desktop54
-rw-r--r--kworldclock/bio/1600.jpgbin0 -> 159926 bytes
-rw-r--r--kworldclock/bio/200.jpgbin0 -> 5564 bytes
-rw-r--r--kworldclock/bio/400.jpgbin0 -> 15705 bytes
-rw-r--r--kworldclock/bio/800.jpgbin0 -> 47701 bytes
-rw-r--r--kworldclock/bio/Makefile.am2
-rw-r--r--kworldclock/bio/bio.desktop57
-rw-r--r--kworldclock/caida/1280.jpgbin0 -> 146010 bytes
-rw-r--r--kworldclock/caida/200.jpgbin0 -> 5977 bytes
-rw-r--r--kworldclock/caida/400.jpgbin0 -> 17530 bytes
-rw-r--r--kworldclock/caida/800.jpgbin0 -> 55900 bytes
-rw-r--r--kworldclock/caida/Makefile.am2
-rw-r--r--kworldclock/caida/caida.desktop57
-rw-r--r--kworldclock/caida_bw/1280.jpgbin0 -> 71242 bytes
-rw-r--r--kworldclock/caida_bw/200.jpgbin0 -> 3546 bytes
-rw-r--r--kworldclock/caida_bw/400.jpgbin0 -> 10937 bytes
-rw-r--r--kworldclock/caida_bw/800.jpgbin0 -> 36968 bytes
-rw-r--r--kworldclock/caida_bw/Makefile.am2
-rw-r--r--kworldclock/caida_bw/caida_bw.desktop57
-rw-r--r--kworldclock/mggd/1440.jpgbin0 -> 485282 bytes
-rw-r--r--kworldclock/mggd/200.jpgbin0 -> 10017 bytes
-rw-r--r--kworldclock/mggd/400.jpgbin0 -> 35194 bytes
-rw-r--r--kworldclock/mggd/800.jpgbin0 -> 133599 bytes
-rw-r--r--kworldclock/mggd/Makefile.am2
-rw-r--r--kworldclock/mggd/mggd.desktop62
-rw-r--r--kworldclock/rainfall/1600.jpgbin0 -> 175969 bytes
-rw-r--r--kworldclock/rainfall/200.jpgbin0 -> 20186 bytes
-rw-r--r--kworldclock/rainfall/400.jpgbin0 -> 72434 bytes
-rw-r--r--kworldclock/rainfall/800.jpgbin0 -> 259178 bytes
-rw-r--r--kworldclock/rainfall/Makefile.am2
-rw-r--r--kworldclock/rainfall/rainfall.desktop60
-rw-r--r--sounds/KDE_Logout_new.wavbin0 -> 546912 bytes
-rw-r--r--sounds/KDE_Startup_new.wavbin0 -> 970882 bytes
-rw-r--r--sounds/Makefile.am3
-rw-r--r--styles/Makefile.am1
-rw-r--r--styles/dotnet/Makefile.am32
-rw-r--r--styles/dotnet/README9
-rw-r--r--styles/dotnet/dotnet.cpp2076
-rw-r--r--styles/dotnet/dotnet.h145
-rw-r--r--styles/dotnet/dotnet.themerc118
-rw-r--r--styles/phase/Makefile.am22
-rw-r--r--styles/phase/bitmaps.h67
-rw-r--r--styles/phase/config/Makefile.am12
-rw-r--r--styles/phase/config/phasestyleconfig.cpp111
-rw-r--r--styles/phase/config/phasestyleconfig.h56
-rw-r--r--styles/phase/config/styledialog.ui70
-rw-r--r--styles/phase/phase.themerc86
-rw-r--r--styles/phase/phasestyle.cpp2512
-rw-r--r--styles/phase/phasestyle.h182
-rw-r--r--wallpapers/Appropriately-Left-Handed-2.jpgbin0 -> 60519 bytes
-rw-r--r--wallpapers/CREDITS14
-rw-r--r--wallpapers/Makefile.am22
-rw-r--r--wallpapers/Superfluous-Organ-1.jpgbin0 -> 35776 bytes
-rw-r--r--wallpapers/The-Good-Times-1.jpgbin0 -> 50599 bytes
-rw-r--r--wallpapers/Water01.jpgbin0 -> 29801 bytes
-rw-r--r--wallpapers/alien-night.jpgbin0 -> 341826 bytes
-rw-r--r--wallpapers/alien-night.jpg.desktop40
-rw-r--r--wallpapers/blue_angle_swirl.jpgbin0 -> 11826 bytes
-rw-r--r--wallpapers/bluegreencrisscross.jpgbin0 -> 18662 bytes
-rw-r--r--wallpapers/fulmine.jpgbin0 -> 77538 bytes
-rw-r--r--wallpapers/fulmine.jpg.desktop29
-rw-r--r--wallpapers/gear-flowers.svgzbin0 -> 78228 bytes
-rw-r--r--wallpapers/gear-flowers.svgz.desktop42
-rw-r--r--wallpapers/gold_crinkle.jpgbin0 -> 28581 bytes
-rw-r--r--wallpapers/kraftwurm.jpgbin0 -> 141749 bytes
-rw-r--r--wallpapers/kraftwurm.jpg.desktop16
-rw-r--r--wallpapers/kubical.pngbin0 -> 217196 bytes
-rw-r--r--wallpapers/kubical.png.desktop31
-rw-r--r--wallpapers/mystical_rightturn.jpgbin0 -> 161874 bytes
-rw-r--r--wallpapers/mystical_rightturn.jpg.desktop37
-rw-r--r--wallpapers/vegetative_fog.jpgbin0 -> 8045 bytes
8173 files changed, 126368 insertions, 0 deletions
diff --git a/COPYING-DOCS b/COPYING-DOCS
new file mode 100644
index 00000000..4a0fe1c8
--- /dev/null
+++ b/COPYING-DOCS
@@ -0,0 +1,397 @@
+ GNU Free Documentation License
+ Version 1.2, November 2002
+
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/IconThemes/Locolor/16x16/actions/1downarrow.png b/IconThemes/Locolor/16x16/actions/1downarrow.png
new file mode 100644
index 00000000..30e06024
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/1leftarrow.png b/IconThemes/Locolor/16x16/actions/1leftarrow.png
new file mode 100644
index 00000000..d3bac032
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/1rightarrow.png b/IconThemes/Locolor/16x16/actions/1rightarrow.png
new file mode 100644
index 00000000..f6b6a96b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/1uparrow.png b/IconThemes/Locolor/16x16/actions/1uparrow.png
new file mode 100644
index 00000000..7bb1b688
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/2downarrow.png b/IconThemes/Locolor/16x16/actions/2downarrow.png
new file mode 100644
index 00000000..7a5e88dc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/2leftarrow.png b/IconThemes/Locolor/16x16/actions/2leftarrow.png
new file mode 100644
index 00000000..48369002
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/2rightarrow.png b/IconThemes/Locolor/16x16/actions/2rightarrow.png
new file mode 100644
index 00000000..af171569
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/2uparrow.png b/IconThemes/Locolor/16x16/actions/2uparrow.png
new file mode 100644
index 00000000..23369361
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/abs.png b/IconThemes/Locolor/16x16/actions/abs.png
new file mode 100644
index 00000000..fd8c4062
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/abs.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/airbrush.png b/IconThemes/Locolor/16x16/actions/airbrush.png
new file mode 100644
index 00000000..9566b494
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/airbrush.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/attach.png b/IconThemes/Locolor/16x16/actions/attach.png
new file mode 100644
index 00000000..59260855
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/attach.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/back.png b/IconThemes/Locolor/16x16/actions/back.png
new file mode 100644
index 00000000..2a8180af
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/back.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/blend.png b/IconThemes/Locolor/16x16/actions/blend.png
new file mode 100644
index 00000000..fa0a93c6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/blend.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/bookmark.png b/IconThemes/Locolor/16x16/actions/bookmark.png
new file mode 100644
index 00000000..ca135784
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/bookmark_add.png b/IconThemes/Locolor/16x16/actions/bookmark_add.png
new file mode 100644
index 00000000..783714ab
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/bookmark_folder.png b/IconThemes/Locolor/16x16/actions/bookmark_folder.png
new file mode 100644
index 00000000..0d23775b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/bookmark_toolbar.png b/IconThemes/Locolor/16x16/actions/bookmark_toolbar.png
new file mode 100644
index 00000000..3d0c07c5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/bookmark_toolbar.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/bottom.png b/IconThemes/Locolor/16x16/actions/bottom.png
new file mode 100644
index 00000000..80b00351
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/bottom.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/brace.png b/IconThemes/Locolor/16x16/actions/brace.png
new file mode 100644
index 00000000..cf06fc5b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/brace.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/brackets.png b/IconThemes/Locolor/16x16/actions/brackets.png
new file mode 100644
index 00000000..551988e5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/brackets.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/charset.png b/IconThemes/Locolor/16x16/actions/charset.png
new file mode 100644
index 00000000..da1b13fb
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/charset.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/colorize.png b/IconThemes/Locolor/16x16/actions/colorize.png
new file mode 100644
index 00000000..480d2c49
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/colorize.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/colorpicker.png b/IconThemes/Locolor/16x16/actions/colorpicker.png
new file mode 100644
index 00000000..f0e442a5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/colorpicker.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/completion.png b/IconThemes/Locolor/16x16/actions/completion.png
new file mode 100644
index 00000000..fa6e4035
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/completion.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/configure.png b/IconThemes/Locolor/16x16/actions/configure.png
new file mode 100644
index 00000000..037430dd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/configure.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/connect_creating.png b/IconThemes/Locolor/16x16/actions/connect_creating.png
new file mode 100644
index 00000000..009eebff
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/connect_established.png b/IconThemes/Locolor/16x16/actions/connect_established.png
new file mode 100644
index 00000000..a4357db5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/connect_no.png b/IconThemes/Locolor/16x16/actions/connect_no.png
new file mode 100644
index 00000000..0df3e579
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/contents.png b/IconThemes/Locolor/16x16/actions/contents.png
new file mode 100644
index 00000000..dedd6518
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/contents.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/contexthelp.png b/IconThemes/Locolor/16x16/actions/contexthelp.png
new file mode 100644
index 00000000..546da353
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/crop.png b/IconThemes/Locolor/16x16/actions/crop.png
new file mode 100644
index 00000000..c277b859
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/crop.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/decrypted.png b/IconThemes/Locolor/16x16/actions/decrypted.png
new file mode 100644
index 00000000..ae5e31f9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/down.png b/IconThemes/Locolor/16x16/actions/down.png
new file mode 100644
index 00000000..94af0725
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/down.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/edit.png b/IconThemes/Locolor/16x16/actions/edit.png
new file mode 100644
index 00000000..e5cb5436
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/edit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editclear.png b/IconThemes/Locolor/16x16/actions/editclear.png
new file mode 100644
index 00000000..90822501
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editclear.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editcopy.png b/IconThemes/Locolor/16x16/actions/editcopy.png
new file mode 100644
index 00000000..0d800499
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editcut.png b/IconThemes/Locolor/16x16/actions/editcut.png
new file mode 100644
index 00000000..0bedc38b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editcut.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editdelete.png b/IconThemes/Locolor/16x16/actions/editdelete.png
new file mode 100644
index 00000000..11037027
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editpaste.png b/IconThemes/Locolor/16x16/actions/editpaste.png
new file mode 100644
index 00000000..07e19f19
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/editshred.png b/IconThemes/Locolor/16x16/actions/editshred.png
new file mode 100644
index 00000000..6b93f7e5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/editshred.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/edittrash.png b/IconThemes/Locolor/16x16/actions/edittrash.png
new file mode 100644
index 00000000..3d7f1afe
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/encrypted.png b/IconThemes/Locolor/16x16/actions/encrypted.png
new file mode 100644
index 00000000..636d1de3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/eraser.png b/IconThemes/Locolor/16x16/actions/eraser.png
new file mode 100644
index 00000000..d4f5a937
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/eraser.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/exec.png b/IconThemes/Locolor/16x16/actions/exec.png
new file mode 100644
index 00000000..c09ebfe6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/exec.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/exit.png b/IconThemes/Locolor/16x16/actions/exit.png
new file mode 100644
index 00000000..3470c609
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/exit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/fileclose.png b/IconThemes/Locolor/16x16/actions/fileclose.png
new file mode 100644
index 00000000..019acb15
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/filefind.png b/IconThemes/Locolor/16x16/actions/filefind.png
new file mode 100644
index 00000000..49682635
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/filefind.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/filenew.png b/IconThemes/Locolor/16x16/actions/filenew.png
new file mode 100644
index 00000000..a931578f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/filenew.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/fileopen.png b/IconThemes/Locolor/16x16/actions/fileopen.png
new file mode 100644
index 00000000..24c4a4e5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/fileprint.png b/IconThemes/Locolor/16x16/actions/fileprint.png
new file mode 100644
index 00000000..ee320aac
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/filequickprint.png b/IconThemes/Locolor/16x16/actions/filequickprint.png
new file mode 100644
index 00000000..2fc2783f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/filesave.png b/IconThemes/Locolor/16x16/actions/filesave.png
new file mode 100644
index 00000000..718d0832
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/filesave.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/fill.png b/IconThemes/Locolor/16x16/actions/fill.png
new file mode 100644
index 00000000..07ae42d6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/fill.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/filter.png b/IconThemes/Locolor/16x16/actions/filter.png
new file mode 100644
index 00000000..a3920b2f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/filter.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/find.png b/IconThemes/Locolor/16x16/actions/find.png
new file mode 100644
index 00000000..cc0494f2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/find.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/finish.png b/IconThemes/Locolor/16x16/actions/finish.png
new file mode 100644
index 00000000..ec36cdd0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/finish.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/flag.png b/IconThemes/Locolor/16x16/actions/flag.png
new file mode 100644
index 00000000..db7fe935
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/flag.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/folder_new.png b/IconThemes/Locolor/16x16/actions/folder_new.png
new file mode 100644
index 00000000..ba7b6c96
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/forward.png b/IconThemes/Locolor/16x16/actions/forward.png
new file mode 100644
index 00000000..af93f7f0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/forward.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/frac.png b/IconThemes/Locolor/16x16/actions/frac.png
new file mode 100644
index 00000000..60c3a38b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/frac.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/frameprint.png b/IconThemes/Locolor/16x16/actions/frameprint.png
new file mode 100644
index 00000000..aaffa706
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/gear.png b/IconThemes/Locolor/16x16/actions/gear.png
new file mode 100644
index 00000000..c9565bde
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/gear.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/gohome.png b/IconThemes/Locolor/16x16/actions/gohome.png
new file mode 100644
index 00000000..b4207e4b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/gohome.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/goto.png b/IconThemes/Locolor/16x16/actions/goto.png
new file mode 100644
index 00000000..5e54c8aa
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/goto.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/help.png b/IconThemes/Locolor/16x16/actions/help.png
new file mode 100644
index 00000000..d2866407
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/help.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/history.png b/IconThemes/Locolor/16x16/actions/history.png
new file mode 100644
index 00000000..ce5078cd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/history.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/idea.png b/IconThemes/Locolor/16x16/actions/idea.png
new file mode 100644
index 00000000..ce5a8f5f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/idea.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/identity.png b/IconThemes/Locolor/16x16/actions/identity.png
new file mode 100644
index 00000000..bb22c015
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/identity.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/int.png b/IconThemes/Locolor/16x16/actions/int.png
new file mode 100644
index 00000000..c17a2b99
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/int.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/locationbar_erase.png b/IconThemes/Locolor/16x16/actions/locationbar_erase.png
new file mode 100644
index 00000000..98b70738
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/lock.png b/IconThemes/Locolor/16x16/actions/lock.png
new file mode 100644
index 00000000..3b76730b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/lock.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/lsub.png b/IconThemes/Locolor/16x16/actions/lsub.png
new file mode 100644
index 00000000..7bc645b4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/lsub.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/lsup.png b/IconThemes/Locolor/16x16/actions/lsup.png
new file mode 100644
index 00000000..05cee973
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/lsup.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_forward.png b/IconThemes/Locolor/16x16/actions/mail_forward.png
new file mode 100644
index 00000000..49f4da00
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_generic.png b/IconThemes/Locolor/16x16/actions/mail_generic.png
new file mode 100644
index 00000000..4889be5e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_get.png b/IconThemes/Locolor/16x16/actions/mail_get.png
new file mode 100644
index 00000000..0e6680f5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_reply.png b/IconThemes/Locolor/16x16/actions/mail_reply.png
new file mode 100644
index 00000000..ff2e6ffb
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_replyall.png b/IconThemes/Locolor/16x16/actions/mail_replyall.png
new file mode 100644
index 00000000..7f7466fe
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/mail_send.png b/IconThemes/Locolor/16x16/actions/mail_send.png
new file mode 100644
index 00000000..3d65fabe
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/matrix.png b/IconThemes/Locolor/16x16/actions/matrix.png
new file mode 100644
index 00000000..a0f17f6a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/matrix.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/misc.png b/IconThemes/Locolor/16x16/actions/misc.png
new file mode 100644
index 00000000..c9565bde
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/misc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/move.png b/IconThemes/Locolor/16x16/actions/move.png
new file mode 100644
index 00000000..7e90cfe3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/move.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/news_subscribe.png b/IconThemes/Locolor/16x16/actions/news_subscribe.png
new file mode 100644
index 00000000..a029191d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/news_unsubscribe.png b/IconThemes/Locolor/16x16/actions/news_unsubscribe.png
new file mode 100644
index 00000000..3cba6335
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/news_unsubscribe.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/next.png b/IconThemes/Locolor/16x16/actions/next.png
new file mode 100644
index 00000000..7da2b71c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/next.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/ok.png b/IconThemes/Locolor/16x16/actions/ok.png
new file mode 100644
index 00000000..3a225a1d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/ok.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/openterm.png b/IconThemes/Locolor/16x16/actions/openterm.png
new file mode 100644
index 00000000..20b3dd43
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/openterm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/paintbrush.png b/IconThemes/Locolor/16x16/actions/paintbrush.png
new file mode 100644
index 00000000..fb9608ca
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/paintbrush.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/paren.png b/IconThemes/Locolor/16x16/actions/paren.png
new file mode 100644
index 00000000..d4c25f1e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/paren.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/pencil.png b/IconThemes/Locolor/16x16/actions/pencil.png
new file mode 100644
index 00000000..991f6010
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/pencil.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/player_eject.png b/IconThemes/Locolor/16x16/actions/player_eject.png
new file mode 100644
index 00000000..39bb080c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/player_end.png b/IconThemes/Locolor/16x16/actions/player_end.png
new file mode 100644
index 00000000..b90b101e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/player_end.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/player_pause.png b/IconThemes/Locolor/16x16/actions/player_pause.png
new file mode 100644
index 00000000..ea74bbed
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/player_start.png b/IconThemes/Locolor/16x16/actions/player_start.png
new file mode 100644
index 00000000..f95c90f5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/player_start.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/player_stop.png b/IconThemes/Locolor/16x16/actions/player_stop.png
new file mode 100644
index 00000000..ba1b9c60
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/previous.png b/IconThemes/Locolor/16x16/actions/previous.png
new file mode 100644
index 00000000..8f3f639b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/previous.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/prod.png b/IconThemes/Locolor/16x16/actions/prod.png
new file mode 100644
index 00000000..59c90110
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/prod.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/queue.png b/IconThemes/Locolor/16x16/actions/queue.png
new file mode 100644
index 00000000..c1914232
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/queue.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/redo.png b/IconThemes/Locolor/16x16/actions/redo.png
new file mode 100644
index 00000000..664f5a60
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/redo.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/reload.png b/IconThemes/Locolor/16x16/actions/reload.png
new file mode 100644
index 00000000..05f559d8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/reload.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/remove.png b/IconThemes/Locolor/16x16/actions/remove.png
new file mode 100644
index 00000000..8127ee49
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/remove.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/revert.png b/IconThemes/Locolor/16x16/actions/revert.png
new file mode 100644
index 00000000..fb4bdd2f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/revert.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/rotate.png b/IconThemes/Locolor/16x16/actions/rotate.png
new file mode 100644
index 00000000..d0c9ba37
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/rotate.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/rotate_ccw.png b/IconThemes/Locolor/16x16/actions/rotate_ccw.png
new file mode 100644
index 00000000..3db81921
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/rotate_cw.png b/IconThemes/Locolor/16x16/actions/rotate_cw.png
new file mode 100644
index 00000000..c594e9c6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/rsub.png b/IconThemes/Locolor/16x16/actions/rsub.png
new file mode 100644
index 00000000..9e4ac438
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/rsub.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/rsup.png b/IconThemes/Locolor/16x16/actions/rsup.png
new file mode 100644
index 00000000..4b0c7ca0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/rsup.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/run.png b/IconThemes/Locolor/16x16/actions/run.png
new file mode 100644
index 00000000..ad88218a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/run.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/signature.png b/IconThemes/Locolor/16x16/actions/signature.png
new file mode 100644
index 00000000..0138a2aa
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/signature.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/spellcheck.png b/IconThemes/Locolor/16x16/actions/spellcheck.png
new file mode 100644
index 00000000..2d6818a2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/sqrt.png b/IconThemes/Locolor/16x16/actions/sqrt.png
new file mode 100644
index 00000000..2881e6e8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/sqrt.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/stamp.png b/IconThemes/Locolor/16x16/actions/stamp.png
new file mode 100644
index 00000000..8538be4f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/stamp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/start.png b/IconThemes/Locolor/16x16/actions/start.png
new file mode 100644
index 00000000..02164e10
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/start.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/stop.png b/IconThemes/Locolor/16x16/actions/stop.png
new file mode 100644
index 00000000..99483e8a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/stop.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/sum.png b/IconThemes/Locolor/16x16/actions/sum.png
new file mode 100644
index 00000000..192b5bbb
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/sum.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text.png b/IconThemes/Locolor/16x16/actions/text.png
new file mode 100644
index 00000000..031e7ad0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_block.png b/IconThemes/Locolor/16x16/actions/text_block.png
new file mode 100644
index 00000000..a5c8d919
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_block.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_bold.png b/IconThemes/Locolor/16x16/actions/text_bold.png
new file mode 100644
index 00000000..be46e4a2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_bold.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_center.png b/IconThemes/Locolor/16x16/actions/text_center.png
new file mode 100644
index 00000000..b5648c5e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_center.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_italic.png b/IconThemes/Locolor/16x16/actions/text_italic.png
new file mode 100644
index 00000000..c859564f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_italic.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_left.png b/IconThemes/Locolor/16x16/actions/text_left.png
new file mode 100644
index 00000000..3d39abd1
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_left.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_right.png b/IconThemes/Locolor/16x16/actions/text_right.png
new file mode 100644
index 00000000..75843f67
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_right.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/text_under.png b/IconThemes/Locolor/16x16/actions/text_under.png
new file mode 100644
index 00000000..8e565812
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/text_under.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/toggle_log.png b/IconThemes/Locolor/16x16/actions/toggle_log.png
new file mode 100644
index 00000000..72b43ca2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/toggle_log.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/top.png b/IconThemes/Locolor/16x16/actions/top.png
new file mode 100644
index 00000000..f9d18e6c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/top.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/transform.png b/IconThemes/Locolor/16x16/actions/transform.png
new file mode 100644
index 00000000..b73c0b4c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/transform.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/undo.png b/IconThemes/Locolor/16x16/actions/undo.png
new file mode 100644
index 00000000..40494faa
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/undo.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/unlock.png b/IconThemes/Locolor/16x16/actions/unlock.png
new file mode 100644
index 00000000..077fd494
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/unlock.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/up.png b/IconThemes/Locolor/16x16/actions/up.png
new file mode 100644
index 00000000..a98b88e5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/up.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_choose.png b/IconThemes/Locolor/16x16/actions/view_choose.png
new file mode 100644
index 00000000..5365cfe4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_detailed.png b/IconThemes/Locolor/16x16/actions/view_detailed.png
new file mode 100644
index 00000000..b7fa5a11
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_icon.png b/IconThemes/Locolor/16x16/actions/view_icon.png
new file mode 100644
index 00000000..f1121857
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_multicolumn.png b/IconThemes/Locolor/16x16/actions/view_multicolumn.png
new file mode 100644
index 00000000..d92c451d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_text.png b/IconThemes/Locolor/16x16/actions/view_text.png
new file mode 100644
index 00000000..84094f15
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_text.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/view_tree.png b/IconThemes/Locolor/16x16/actions/view_tree.png
new file mode 100644
index 00000000..1068b22c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/viewmag+.png b/IconThemes/Locolor/16x16/actions/viewmag+.png
new file mode 100644
index 00000000..965ccb9b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/viewmag-.png b/IconThemes/Locolor/16x16/actions/viewmag-.png
new file mode 100644
index 00000000..2e3e303b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/viewmag.png b/IconThemes/Locolor/16x16/actions/viewmag.png
new file mode 100644
index 00000000..9a9b7aa2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/window_fullscreen.png b/IconThemes/Locolor/16x16/actions/window_fullscreen.png
new file mode 100644
index 00000000..ade56b32
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/window_new.png b/IconThemes/Locolor/16x16/actions/window_new.png
new file mode 100644
index 00000000..dd27d4a9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/window_new.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/window_nofullscreen.png b/IconThemes/Locolor/16x16/actions/window_nofullscreen.png
new file mode 100644
index 00000000..7a9129b7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/actions/wizard.png b/IconThemes/Locolor/16x16/actions/wizard.png
new file mode 100644
index 00000000..fab77de1
--- /dev/null
+++ b/IconThemes/Locolor/16x16/actions/wizard.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/abbrowser.png b/IconThemes/Locolor/16x16/apps/abbrowser.png
new file mode 100644
index 00000000..555194d9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/abbrowser.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/access.png b/IconThemes/Locolor/16x16/apps/access.png
new file mode 100644
index 00000000..161e11a9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/access.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/acroread.png b/IconThemes/Locolor/16x16/apps/acroread.png
new file mode 100644
index 00000000..9595e578
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/acroread.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/agent.png b/IconThemes/Locolor/16x16/apps/agent.png
new file mode 100644
index 00000000..3bd385ae
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/agent.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/aktion.png b/IconThemes/Locolor/16x16/apps/aktion.png
new file mode 100644
index 00000000..ea9f2707
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/aktion.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/alevt.png b/IconThemes/Locolor/16x16/apps/alevt.png
new file mode 100644
index 00000000..4a5a699b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/alevt.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/amor.png b/IconThemes/Locolor/16x16/apps/amor.png
new file mode 100644
index 00000000..d2cb70e4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/amor.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/applixware.png b/IconThemes/Locolor/16x16/apps/applixware.png
new file mode 100644
index 00000000..c8a88bba
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/applixware.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ark.png b/IconThemes/Locolor/16x16/apps/ark.png
new file mode 100644
index 00000000..2e5f09ec
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ark.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/arts.png b/IconThemes/Locolor/16x16/apps/arts.png
new file mode 100644
index 00000000..e27c9efa
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/arts.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/background.png b/IconThemes/Locolor/16x16/apps/background.png
new file mode 100644
index 00000000..740f48f8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/background.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/bell.png b/IconThemes/Locolor/16x16/apps/bell.png
new file mode 100644
index 00000000..6dc9839c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/bell.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/blender.png b/IconThemes/Locolor/16x16/apps/blender.png
new file mode 100644
index 00000000..aa28845e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/blender.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/clock.png b/IconThemes/Locolor/16x16/apps/clock.png
new file mode 100644
index 00000000..86d38dc3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/clock.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/colors.png b/IconThemes/Locolor/16x16/apps/colors.png
new file mode 100644
index 00000000..1f6a9ef7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/colors.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/connectors.png b/IconThemes/Locolor/16x16/apps/connectors.png
new file mode 100644
index 00000000..149be255
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/connectors.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/cookie.png b/IconThemes/Locolor/16x16/apps/cookie.png
new file mode 100644
index 00000000..b30877e3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/cookie.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/date.png b/IconThemes/Locolor/16x16/apps/date.png
new file mode 100644
index 00000000..86d38dc3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/date.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/dlgedit.png b/IconThemes/Locolor/16x16/apps/dlgedit.png
new file mode 100644
index 00000000..0b93b63f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/dlgedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/emacs.png b/IconThemes/Locolor/16x16/apps/emacs.png
new file mode 100644
index 00000000..b3d1bd41
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/emacs.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/email.png b/IconThemes/Locolor/16x16/apps/email.png
new file mode 100644
index 00000000..954569d7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/email.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/energy.png b/IconThemes/Locolor/16x16/apps/energy.png
new file mode 100644
index 00000000..6e9b0091
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/energy.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/enhanced_browsing.png b/IconThemes/Locolor/16x16/apps/enhanced_browsing.png
new file mode 100644
index 00000000..0d42b5c4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/filetypes.png b/IconThemes/Locolor/16x16/apps/filetypes.png
new file mode 100644
index 00000000..0137d305
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/fonts.png b/IconThemes/Locolor/16x16/apps/fonts.png
new file mode 100644
index 00000000..2e51cada
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/fonts.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/gimp.png b/IconThemes/Locolor/16x16/apps/gimp.png
new file mode 100644
index 00000000..9de21e29
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/gimp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/go.png b/IconThemes/Locolor/16x16/apps/go.png
new file mode 100644
index 00000000..bd890f30
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/go.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/gv.png b/IconThemes/Locolor/16x16/apps/gv.png
new file mode 100644
index 00000000..38e54521
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/gv.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/gvim.png b/IconThemes/Locolor/16x16/apps/gvim.png
new file mode 100644
index 00000000..52175330
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/gvim.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/help_index.png b/IconThemes/Locolor/16x16/apps/help_index.png
new file mode 100644
index 00000000..e6911289
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/help_index.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/hwinfo.png b/IconThemes/Locolor/16x16/apps/hwinfo.png
new file mode 100644
index 00000000..9ca99777
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/icons.png b/IconThemes/Locolor/16x16/apps/icons.png
new file mode 100644
index 00000000..1e87c1a1
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/icons.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/iconthemes.png b/IconThemes/Locolor/16x16/apps/iconthemes.png
new file mode 100644
index 00000000..09445939
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/input_devices_settings.png b/IconThemes/Locolor/16x16/apps/input_devices_settings.png
new file mode 100644
index 00000000..d072f81f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kab.png b/IconThemes/Locolor/16x16/apps/kab.png
new file mode 100644
index 00000000..58ded805
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kab.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kabalone.png b/IconThemes/Locolor/16x16/apps/kabalone.png
new file mode 100644
index 00000000..eaee8c68
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kabalone.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kalzium.png b/IconThemes/Locolor/16x16/apps/kalzium.png
new file mode 100644
index 00000000..7bffb261
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kalzium.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kappfinder.png b/IconThemes/Locolor/16x16/apps/kappfinder.png
new file mode 100644
index 00000000..ac0db82e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kappfinder.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/karm.png b/IconThemes/Locolor/16x16/apps/karm.png
new file mode 100644
index 00000000..b64a6d64
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/karm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kasteroids.png b/IconThemes/Locolor/16x16/apps/kasteroids.png
new file mode 100644
index 00000000..7969f70f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kasteroids.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kbabel.png b/IconThemes/Locolor/16x16/apps/kbabel.png
new file mode 100644
index 00000000..985b25a3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kbabel.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kbackgammon.png b/IconThemes/Locolor/16x16/apps/kbackgammon.png
new file mode 100644
index 00000000..ecce3953
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kbackgammon.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kblackbox.png b/IconThemes/Locolor/16x16/apps/kblackbox.png
new file mode 100644
index 00000000..36a8790d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kblackbox.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcalc.png b/IconThemes/Locolor/16x16/apps/kcalc.png
new file mode 100644
index 00000000..3f366b3c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcharselect.png b/IconThemes/Locolor/16x16/apps/kcharselect.png
new file mode 100644
index 00000000..8e0f8d6b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcharselect.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kchart.png b/IconThemes/Locolor/16x16/apps/kchart.png
new file mode 100644
index 00000000..59f0119d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kchart.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmdevices.png b/IconThemes/Locolor/16x16/apps/kcmdevices.png
new file mode 100644
index 00000000..a2d20a80
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmdf.png b/IconThemes/Locolor/16x16/apps/kcmdf.png
new file mode 100644
index 00000000..c63b1c00
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmdrkonqi.png b/IconThemes/Locolor/16x16/apps/kcmdrkonqi.png
new file mode 100644
index 00000000..51665e15
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmdrkonqi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmkicker.png b/IconThemes/Locolor/16x16/apps/kcmkicker.png
new file mode 100644
index 00000000..42acf130
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmkwm.png b/IconThemes/Locolor/16x16/apps/kcmkwm.png
new file mode 100644
index 00000000..0985586b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmmemory.png b/IconThemes/Locolor/16x16/apps/kcmmemory.png
new file mode 100644
index 00000000..9e8c0d8d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmmidi.png b/IconThemes/Locolor/16x16/apps/kcmmidi.png
new file mode 100644
index 00000000..f2a9efac
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmpartitions.png b/IconThemes/Locolor/16x16/apps/kcmpartitions.png
new file mode 100644
index 00000000..c63b1c00
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmpci.png b/IconThemes/Locolor/16x16/apps/kcmpci.png
new file mode 100644
index 00000000..478c0859
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmprocessor.png b/IconThemes/Locolor/16x16/apps/kcmprocessor.png
new file mode 100644
index 00000000..b7dc9b4d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmscsi.png b/IconThemes/Locolor/16x16/apps/kcmscsi.png
new file mode 100644
index 00000000..b1412179
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmscsi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmsound.png b/IconThemes/Locolor/16x16/apps/kcmsound.png
new file mode 100644
index 00000000..98f4e138
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmsystem.png b/IconThemes/Locolor/16x16/apps/kcmsystem.png
new file mode 100644
index 00000000..8299f199
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcmx.png b/IconThemes/Locolor/16x16/apps/kcmx.png
new file mode 100644
index 00000000..4f5044ba
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcontrol.png b/IconThemes/Locolor/16x16/apps/kcontrol.png
new file mode 100644
index 00000000..28c45d6b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kcron.png b/IconThemes/Locolor/16x16/apps/kcron.png
new file mode 100644
index 00000000..d7c1b21d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kcron.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kdf.png b/IconThemes/Locolor/16x16/apps/kdf.png
new file mode 100644
index 00000000..f8b44426
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kdf.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kdisknav.png b/IconThemes/Locolor/16x16/apps/kdisknav.png
new file mode 100644
index 00000000..aeea55ca
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kdmconfig.png b/IconThemes/Locolor/16x16/apps/kdmconfig.png
new file mode 100644
index 00000000..12c6a524
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kdvi.png b/IconThemes/Locolor/16x16/apps/kdvi.png
new file mode 100644
index 00000000..ecdbcf33
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kdvi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kedit.png b/IconThemes/Locolor/16x16/apps/kedit.png
new file mode 100644
index 00000000..63a19e21
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/keditbookmarks.png b/IconThemes/Locolor/16x16/apps/keditbookmarks.png
new file mode 100644
index 00000000..ca135784
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/keditbookmarks.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/key_bindings.png b/IconThemes/Locolor/16x16/apps/key_bindings.png
new file mode 100644
index 00000000..a5586915
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/keyboard.png b/IconThemes/Locolor/16x16/apps/keyboard.png
new file mode 100644
index 00000000..1e3d3299
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/keyboard_layout.png b/IconThemes/Locolor/16x16/apps/keyboard_layout.png
new file mode 100644
index 00000000..05b1d337
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/keystone.png b/IconThemes/Locolor/16x16/apps/keystone.png
new file mode 100644
index 00000000..a6248232
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/keystone.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfax.png b/IconThemes/Locolor/16x16/apps/kfax.png
new file mode 100644
index 00000000..1aebc6ba
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfax.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfind.png b/IconThemes/Locolor/16x16/apps/kfind.png
new file mode 100644
index 00000000..ac0db82e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfind.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfloppy.png b/IconThemes/Locolor/16x16/apps/kfloppy.png
new file mode 100644
index 00000000..edf9d6f4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfm.png b/IconThemes/Locolor/16x16/apps/kfm.png
new file mode 100644
index 00000000..156670c6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfm_home.png b/IconThemes/Locolor/16x16/apps/kfm_home.png
new file mode 100644
index 00000000..0cb8f13c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfontinst.png b/IconThemes/Locolor/16x16/apps/kfontinst.png
new file mode 100644
index 00000000..2e51cada
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfontinst.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kfract.png b/IconThemes/Locolor/16x16/apps/kfract.png
new file mode 100644
index 00000000..63cd6643
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kfract.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kghostview.png b/IconThemes/Locolor/16x16/apps/kghostview.png
new file mode 100644
index 00000000..ecdbcf33
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kghostview.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/khangman.png b/IconThemes/Locolor/16x16/apps/khangman.png
new file mode 100644
index 00000000..a3402459
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/khangman.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/khelpcenter.png b/IconThemes/Locolor/16x16/apps/khelpcenter.png
new file mode 100644
index 00000000..a79f2e94
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/khexedit.png b/IconThemes/Locolor/16x16/apps/khexedit.png
new file mode 100644
index 00000000..9b239312
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/khexedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kicker.png b/IconThemes/Locolor/16x16/apps/kicker.png
new file mode 100644
index 00000000..a44455e3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kicker.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kiconedit.png b/IconThemes/Locolor/16x16/apps/kiconedit.png
new file mode 100644
index 00000000..ff16bcae
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kiconedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/killustrator.png b/IconThemes/Locolor/16x16/apps/killustrator.png
new file mode 100644
index 00000000..3824fd5d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/killustrator.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kit.png b/IconThemes/Locolor/16x16/apps/kit.png
new file mode 100644
index 00000000..8775020a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kivio.png b/IconThemes/Locolor/16x16/apps/kivio.png
new file mode 100644
index 00000000..e178b428
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kivio.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kjots.png b/IconThemes/Locolor/16x16/apps/kjots.png
new file mode 100644
index 00000000..3fe0ca84
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kjots.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kjumpingcube.png b/IconThemes/Locolor/16x16/apps/kjumpingcube.png
new file mode 100644
index 00000000..b4390454
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kjumpingcube.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/klaptopdaemon.png b/IconThemes/Locolor/16x16/apps/klaptopdaemon.png
new file mode 100644
index 00000000..200f176f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/klatin.png b/IconThemes/Locolor/16x16/apps/klatin.png
new file mode 100644
index 00000000..0ca0f136
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/klatin.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kless.png b/IconThemes/Locolor/16x16/apps/kless.png
new file mode 100644
index 00000000..b4ea191f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kless.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/klettres.png b/IconThemes/Locolor/16x16/apps/klettres.png
new file mode 100644
index 00000000..73444dc7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/klettres.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/klipper.png b/IconThemes/Locolor/16x16/apps/klipper.png
new file mode 100644
index 00000000..4bb0f080
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/klipper.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kljettool.png b/IconThemes/Locolor/16x16/apps/kljettool.png
new file mode 100644
index 00000000..73138185
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kljettool.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/klpq.png b/IconThemes/Locolor/16x16/apps/klpq.png
new file mode 100644
index 00000000..7d594454
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/klpq.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmahjongg.png b/IconThemes/Locolor/16x16/apps/kmahjongg.png
new file mode 100644
index 00000000..30c35b55
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmahjongg.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmail.png b/IconThemes/Locolor/16x16/apps/kmail.png
new file mode 100644
index 00000000..383df318
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmail.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmailcvt.png b/IconThemes/Locolor/16x16/apps/kmailcvt.png
new file mode 100644
index 00000000..37668f52
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmailcvt.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmenuedit.png b/IconThemes/Locolor/16x16/apps/kmenuedit.png
new file mode 100644
index 00000000..61b919df
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmessedwords.png b/IconThemes/Locolor/16x16/apps/kmessedwords.png
new file mode 100644
index 00000000..28fdb156
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmessedwords.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmid.png b/IconThemes/Locolor/16x16/apps/kmid.png
new file mode 100644
index 00000000..b5221e39
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmid.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmidi.png b/IconThemes/Locolor/16x16/apps/kmidi.png
new file mode 100644
index 00000000..843408a3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmidi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmines.png b/IconThemes/Locolor/16x16/apps/kmines.png
new file mode 100644
index 00000000..b98bacf0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmines.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmix.png b/IconThemes/Locolor/16x16/apps/kmix.png
new file mode 100644
index 00000000..bc687761
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmix.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmoon.png b/IconThemes/Locolor/16x16/apps/kmoon.png
new file mode 100644
index 00000000..8913b347
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmoon.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kmplot.png b/IconThemes/Locolor/16x16/apps/kmplot.png
new file mode 100644
index 00000000..26894b30
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kmplot.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/knewsticker.png b/IconThemes/Locolor/16x16/apps/knewsticker.png
new file mode 100644
index 00000000..f4074a7d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/knewsticker.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/knode.png b/IconThemes/Locolor/16x16/apps/knode.png
new file mode 100644
index 00000000..f4074a7d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/knode.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/knotes.png b/IconThemes/Locolor/16x16/apps/knotes.png
new file mode 100644
index 00000000..fc39d376
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/knotes.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/knotify.png b/IconThemes/Locolor/16x16/apps/knotify.png
new file mode 100644
index 00000000..cee29c4f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/knotify.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kodo.png b/IconThemes/Locolor/16x16/apps/kodo.png
new file mode 100644
index 00000000..58e78f3f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kodo.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kompare.png b/IconThemes/Locolor/16x16/apps/kompare.png
new file mode 100644
index 00000000..0985586b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kompare.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/koncd.png b/IconThemes/Locolor/16x16/apps/koncd.png
new file mode 100644
index 00000000..01cf9561
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/koncd.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/konqueror.png b/IconThemes/Locolor/16x16/apps/konqueror.png
new file mode 100644
index 00000000..6b9b38ad
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/konquest.png b/IconThemes/Locolor/16x16/apps/konquest.png
new file mode 100644
index 00000000..85917487
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/konquest.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/konsole.png b/IconThemes/Locolor/16x16/apps/konsole.png
new file mode 100644
index 00000000..fac7ba99
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/konsole.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/korganizer.png b/IconThemes/Locolor/16x16/apps/korganizer.png
new file mode 100644
index 00000000..560d41e8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/korn.png b/IconThemes/Locolor/16x16/apps/korn.png
new file mode 100644
index 00000000..339202b7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/korn.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpackage.png b/IconThemes/Locolor/16x16/apps/kpackage.png
new file mode 100644
index 00000000..c3b9a7a7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpager.png b/IconThemes/Locolor/16x16/apps/kpager.png
new file mode 100644
index 00000000..7c245e55
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpager.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpaint.png b/IconThemes/Locolor/16x16/apps/kpaint.png
new file mode 100644
index 00000000..187d9ed8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpaint.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpat.png b/IconThemes/Locolor/16x16/apps/kpat.png
new file mode 100644
index 00000000..a26f01d5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpat.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpercentage.png b/IconThemes/Locolor/16x16/apps/kpercentage.png
new file mode 100644
index 00000000..ab4fe7b2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpercentage.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpixmap2bitmap.png b/IconThemes/Locolor/16x16/apps/kpixmap2bitmap.png
new file mode 100644
index 00000000..fa3033b7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpixmap2bitmap.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpm.png b/IconThemes/Locolor/16x16/apps/kpm.png
new file mode 100644
index 00000000..58206846
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpoker.png b/IconThemes/Locolor/16x16/apps/kpoker.png
new file mode 100644
index 00000000..8ab4d9a9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpoker.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kppp.png b/IconThemes/Locolor/16x16/apps/kppp.png
new file mode 100644
index 00000000..de541904
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kppp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kpresenter.png b/IconThemes/Locolor/16x16/apps/kpresenter.png
new file mode 100644
index 00000000..556dff31
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kreversi.png b/IconThemes/Locolor/16x16/apps/kreversi.png
new file mode 100644
index 00000000..e3aca1ed
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kreversi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kruler.png b/IconThemes/Locolor/16x16/apps/kruler.png
new file mode 100644
index 00000000..d13de49b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kruler.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksame.png b/IconThemes/Locolor/16x16/apps/ksame.png
new file mode 100644
index 00000000..90021165
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksame.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kscd.png b/IconThemes/Locolor/16x16/apps/kscd.png
new file mode 100644
index 00000000..226edf38
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kscd.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kscreensaver.png b/IconThemes/Locolor/16x16/apps/kscreensaver.png
new file mode 100644
index 00000000..9a7de8b8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kshisen.png b/IconThemes/Locolor/16x16/apps/kshisen.png
new file mode 100644
index 00000000..861c4715
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kshisen.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksirc.png b/IconThemes/Locolor/16x16/apps/ksirc.png
new file mode 100644
index 00000000..e2e5a349
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksirc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksirtet.png b/IconThemes/Locolor/16x16/apps/ksirtet.png
new file mode 100644
index 00000000..d7915fe5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksirtet.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksmiletris.png b/IconThemes/Locolor/16x16/apps/ksmiletris.png
new file mode 100644
index 00000000..23fc67f7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksnake.png b/IconThemes/Locolor/16x16/apps/ksnake.png
new file mode 100644
index 00000000..6d15a1b7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksnake.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksnapshot.png b/IconThemes/Locolor/16x16/apps/ksnapshot.png
new file mode 100644
index 00000000..11da0433
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksnapshot.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksokoban.png b/IconThemes/Locolor/16x16/apps/ksokoban.png
new file mode 100644
index 00000000..f7b2abe5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksokoban.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kspaceduel.png b/IconThemes/Locolor/16x16/apps/kspaceduel.png
new file mode 100644
index 00000000..3d4b99a9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kspaceduel.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kspread.png b/IconThemes/Locolor/16x16/apps/kspread.png
new file mode 100644
index 00000000..24f644db
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kspread.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kspreadcalc.png b/IconThemes/Locolor/16x16/apps/kspreadcalc.png
new file mode 100644
index 00000000..d3e9c91a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kspreadcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kstars.png b/IconThemes/Locolor/16x16/apps/kstars.png
new file mode 100644
index 00000000..16130eac
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kstars.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksysctrl.png b/IconThemes/Locolor/16x16/apps/ksysctrl.png
new file mode 100644
index 00000000..0ec8a16c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksysctrl.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksysguard.png b/IconThemes/Locolor/16x16/apps/ksysguard.png
new file mode 100644
index 00000000..6b93ba32
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ksysv.png b/IconThemes/Locolor/16x16/apps/ksysv.png
new file mode 100644
index 00000000..d829db85
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ktalkd.png b/IconThemes/Locolor/16x16/apps/ktalkd.png
new file mode 100644
index 00000000..c448b4e0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kteatime.png b/IconThemes/Locolor/16x16/apps/kteatime.png
new file mode 100644
index 00000000..0e03d19c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kteatime.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kthememgr.png b/IconThemes/Locolor/16x16/apps/kthememgr.png
new file mode 100644
index 00000000..c4f085b8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ktimemon.png b/IconThemes/Locolor/16x16/apps/ktimemon.png
new file mode 100644
index 00000000..d9295e6f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ktimemon.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ktip.png b/IconThemes/Locolor/16x16/apps/ktip.png
new file mode 100644
index 00000000..66c5766c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ktip.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ktron.png b/IconThemes/Locolor/16x16/apps/ktron.png
new file mode 100644
index 00000000..8236febf
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ktron.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/ktux.png b/IconThemes/Locolor/16x16/apps/ktux.png
new file mode 100644
index 00000000..e21db293
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/ktux.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kuser.png b/IconThemes/Locolor/16x16/apps/kuser.png
new file mode 100644
index 00000000..257c665a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kuser.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kview.png b/IconThemes/Locolor/16x16/apps/kview.png
new file mode 100644
index 00000000..bc56a1c5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kview.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kwikdisk.png b/IconThemes/Locolor/16x16/apps/kwikdisk.png
new file mode 100644
index 00000000..f8b44426
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kwikdisk.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kwin.png b/IconThemes/Locolor/16x16/apps/kwin.png
new file mode 100644
index 00000000..7c245e55
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kwin.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kwin4.png b/IconThemes/Locolor/16x16/apps/kwin4.png
new file mode 100644
index 00000000..8e33f15e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kwin4.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kword.png b/IconThemes/Locolor/16x16/apps/kword.png
new file mode 100644
index 00000000..00078f6a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kword.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kworldwatch.png b/IconThemes/Locolor/16x16/apps/kworldwatch.png
new file mode 100644
index 00000000..f397099c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kworldwatch.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/kwrite.png b/IconThemes/Locolor/16x16/apps/kwrite.png
new file mode 100644
index 00000000..91bb99a8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/laptop_battery.png b/IconThemes/Locolor/16x16/apps/laptop_battery.png
new file mode 100644
index 00000000..200f176f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/laptop_pcmcia.png b/IconThemes/Locolor/16x16/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..e8eda78a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/locale.png b/IconThemes/Locolor/16x16/apps/locale.png
new file mode 100644
index 00000000..3e951500
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/locale.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/looknfeel.png b/IconThemes/Locolor/16x16/apps/looknfeel.png
new file mode 100644
index 00000000..92c24ea2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/lskat.png b/IconThemes/Locolor/16x16/apps/lskat.png
new file mode 100644
index 00000000..ee754821
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/lskat.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/lyx.png b/IconThemes/Locolor/16x16/apps/lyx.png
new file mode 100644
index 00000000..9e3b1950
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/lyx.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/mathematica.png b/IconThemes/Locolor/16x16/apps/mathematica.png
new file mode 100644
index 00000000..93182124
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/mathematica.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/mouse.png b/IconThemes/Locolor/16x16/apps/mouse.png
new file mode 100644
index 00000000..8cba82aa
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/mouse.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/mozilla.png b/IconThemes/Locolor/16x16/apps/mozilla.png
new file mode 100644
index 00000000..b783ab9f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/multimedia.png b/IconThemes/Locolor/16x16/apps/multimedia.png
new file mode 100644
index 00000000..03ee6165
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/nedit.png b/IconThemes/Locolor/16x16/apps/nedit.png
new file mode 100644
index 00000000..337b38e9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/nedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/netscape.png b/IconThemes/Locolor/16x16/apps/netscape.png
new file mode 100644
index 00000000..893ea8ee
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/netscape.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/noatun.png b/IconThemes/Locolor/16x16/apps/noatun.png
new file mode 100644
index 00000000..3ae77c9b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/noatun.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package.png b/IconThemes/Locolor/16x16/apps/package.png
new file mode 100644
index 00000000..8dc72abc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_applications.png b/IconThemes/Locolor/16x16/apps/package_applications.png
new file mode 100644
index 00000000..22f144f3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_editors.png b/IconThemes/Locolor/16x16/apps/package_editors.png
new file mode 100644
index 00000000..7085c1d6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_favourite.png b/IconThemes/Locolor/16x16/apps/package_favourite.png
new file mode 100644
index 00000000..cce425a4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_favourite.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_games.png b/IconThemes/Locolor/16x16/apps/package_games.png
new file mode 100644
index 00000000..11a7b155
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_games.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_games_arcade.png b/IconThemes/Locolor/16x16/apps/package_games_arcade.png
new file mode 100644
index 00000000..c3a1c931
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_games_arcade.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_games_board.png b/IconThemes/Locolor/16x16/apps/package_games_board.png
new file mode 100644
index 00000000..d15ce426
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_games_board.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_games_card.png b/IconThemes/Locolor/16x16/apps/package_games_card.png
new file mode 100644
index 00000000..0e10efe4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_games_card.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_games_strategy.png b/IconThemes/Locolor/16x16/apps/package_games_strategy.png
new file mode 100644
index 00000000..61f77751
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_games_strategy.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_graphics.png b/IconThemes/Locolor/16x16/apps/package_graphics.png
new file mode 100644
index 00000000..b656bd70
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_multimedia.png b/IconThemes/Locolor/16x16/apps/package_multimedia.png
new file mode 100644
index 00000000..1af61073
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_network.png b/IconThemes/Locolor/16x16/apps/package_network.png
new file mode 100644
index 00000000..fbbeba0e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_network.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_settings.png b/IconThemes/Locolor/16x16/apps/package_settings.png
new file mode 100644
index 00000000..acd490b8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_system.png b/IconThemes/Locolor/16x16/apps/package_system.png
new file mode 100644
index 00000000..05f6680d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_system.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/package_utilities.png b/IconThemes/Locolor/16x16/apps/package_utilities.png
new file mode 100644
index 00000000..2f696756
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/panel.png b/IconThemes/Locolor/16x16/apps/panel.png
new file mode 100644
index 00000000..a44455e3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/panel.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/panel_settings.png b/IconThemes/Locolor/16x16/apps/panel_settings.png
new file mode 100644
index 00000000..5b9e14bf
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/panel_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/password.png b/IconThemes/Locolor/16x16/apps/password.png
new file mode 100644
index 00000000..ba6bc48a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/password.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/penguin.png b/IconThemes/Locolor/16x16/apps/penguin.png
new file mode 100644
index 00000000..09240580
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/penguin.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/pixie.png b/IconThemes/Locolor/16x16/apps/pixie.png
new file mode 100644
index 00000000..142663b3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/pixie.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/plan.png b/IconThemes/Locolor/16x16/apps/plan.png
new file mode 100644
index 00000000..8c68338e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/plan.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/proxy.png b/IconThemes/Locolor/16x16/apps/proxy.png
new file mode 100644
index 00000000..3fdefff7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/proxy.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/pybliographic.png b/IconThemes/Locolor/16x16/apps/pybliographic.png
new file mode 100644
index 00000000..edf16414
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/pybliographic.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/realplayer.png b/IconThemes/Locolor/16x16/apps/realplayer.png
new file mode 100644
index 00000000..1e1c80fd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/realplayer.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/remote.png b/IconThemes/Locolor/16x16/apps/remote.png
new file mode 100644
index 00000000..2fd90d3b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/remote.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/samba.png b/IconThemes/Locolor/16x16/apps/samba.png
new file mode 100644
index 00000000..5ba341e0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/samba.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/scsi.png b/IconThemes/Locolor/16x16/apps/scsi.png
new file mode 100644
index 00000000..a0be1649
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/scsi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/style.png b/IconThemes/Locolor/16x16/apps/style.png
new file mode 100644
index 00000000..abf90046
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/style.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/terminal.png b/IconThemes/Locolor/16x16/apps/terminal.png
new file mode 100644
index 00000000..a6248232
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/terminal.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/usb.png b/IconThemes/Locolor/16x16/apps/usb.png
new file mode 100644
index 00000000..5562f5db
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/usb.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/wabi.png b/IconThemes/Locolor/16x16/apps/wabi.png
new file mode 100644
index 00000000..12cbf863
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/wabi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/window_list.png b/IconThemes/Locolor/16x16/apps/window_list.png
new file mode 100644
index 00000000..0985586b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/window_list.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/winprops.png b/IconThemes/Locolor/16x16/apps/winprops.png
new file mode 100644
index 00000000..4424a4e0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/winprops.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/wp.png b/IconThemes/Locolor/16x16/apps/wp.png
new file mode 100644
index 00000000..8c9d0666
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/wp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xapp.png b/IconThemes/Locolor/16x16/apps/xapp.png
new file mode 100644
index 00000000..e7a73417
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xapp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xcalc.png b/IconThemes/Locolor/16x16/apps/xcalc.png
new file mode 100644
index 00000000..ab655d2d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xclipboard.png b/IconThemes/Locolor/16x16/apps/xclipboard.png
new file mode 100644
index 00000000..a3b9c888
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xclipboard.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xclock.png b/IconThemes/Locolor/16x16/apps/xclock.png
new file mode 100644
index 00000000..d2d373f8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xclock.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xconsole.png b/IconThemes/Locolor/16x16/apps/xconsole.png
new file mode 100644
index 00000000..8d11fd9f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xconsole.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xedit.png b/IconThemes/Locolor/16x16/apps/xedit.png
new file mode 100644
index 00000000..1c6172bc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xedit.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xemacs.png b/IconThemes/Locolor/16x16/apps/xemacs.png
new file mode 100644
index 00000000..ddddfd16
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xemacs.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xeyes.png b/IconThemes/Locolor/16x16/apps/xeyes.png
new file mode 100644
index 00000000..5c45271f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xeyes.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xfig.png b/IconThemes/Locolor/16x16/apps/xfig.png
new file mode 100644
index 00000000..39618358
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xfig.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xfmail.png b/IconThemes/Locolor/16x16/apps/xfmail.png
new file mode 100644
index 00000000..b85696e4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xfmail.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xload.png b/IconThemes/Locolor/16x16/apps/xload.png
new file mode 100644
index 00000000..638df5df
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xload.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xmag.png b/IconThemes/Locolor/16x16/apps/xmag.png
new file mode 100644
index 00000000..02632b6f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xmag.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xosview.png b/IconThemes/Locolor/16x16/apps/xosview.png
new file mode 100644
index 00000000..a2a73b5a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xosview.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xpaint.png b/IconThemes/Locolor/16x16/apps/xpaint.png
new file mode 100644
index 00000000..dd22c5ce
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/apps/xv.png b/IconThemes/Locolor/16x16/apps/xv.png
new file mode 100644
index 00000000..50b889bd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/apps/xv.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/3floppy_mount.png b/IconThemes/Locolor/16x16/devices/3floppy_mount.png
new file mode 100644
index 00000000..6dd4f2f6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/3floppy_unmount.png b/IconThemes/Locolor/16x16/devices/3floppy_unmount.png
new file mode 100644
index 00000000..59cf1303
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/5floppy_mount.png b/IconThemes/Locolor/16x16/devices/5floppy_mount.png
new file mode 100644
index 00000000..e4dcb236
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/5floppy_unmount.png b/IconThemes/Locolor/16x16/devices/5floppy_unmount.png
new file mode 100644
index 00000000..3d11996a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/cdrom_mount.png b/IconThemes/Locolor/16x16/devices/cdrom_mount.png
new file mode 100644
index 00000000..15925bdb
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/cdrom_unmount.png b/IconThemes/Locolor/16x16/devices/cdrom_unmount.png
new file mode 100644
index 00000000..e19f68ac
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/cdwriter_mount.png b/IconThemes/Locolor/16x16/devices/cdwriter_mount.png
new file mode 100644
index 00000000..c94ea51c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/cdwriter_unmount.png b/IconThemes/Locolor/16x16/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..39093726
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/hdd_mount.png b/IconThemes/Locolor/16x16/devices/hdd_mount.png
new file mode 100644
index 00000000..d9a5f389
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/hdd_unmount.png b/IconThemes/Locolor/16x16/devices/hdd_unmount.png
new file mode 100644
index 00000000..c2e9cdfd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/memory.png b/IconThemes/Locolor/16x16/devices/memory.png
new file mode 100644
index 00000000..1ab66c16
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/memory.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/mo_mount.png b/IconThemes/Locolor/16x16/devices/mo_mount.png
new file mode 100644
index 00000000..1a4e44fe
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/mo_unmount.png b/IconThemes/Locolor/16x16/devices/mo_unmount.png
new file mode 100644
index 00000000..63b00dfe
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/printer1.png b/IconThemes/Locolor/16x16/devices/printer1.png
new file mode 100644
index 00000000..6eb9ba55
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/printer1.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/printer2.png b/IconThemes/Locolor/16x16/devices/printer2.png
new file mode 100644
index 00000000..477146b0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/printer2.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/scanner.png b/IconThemes/Locolor/16x16/devices/scanner.png
new file mode 100644
index 00000000..41cc4b30
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/scanner.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/tablet.png b/IconThemes/Locolor/16x16/devices/tablet.png
new file mode 100644
index 00000000..0a26bfb7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/tablet.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/zip_mount.png b/IconThemes/Locolor/16x16/devices/zip_mount.png
new file mode 100644
index 00000000..87fece56
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/devices/zip_unmount.png b/IconThemes/Locolor/16x16/devices/zip_unmount.png
new file mode 100644
index 00000000..80c61679
--- /dev/null
+++ b/IconThemes/Locolor/16x16/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/blockdevice.png b/IconThemes/Locolor/16x16/filesystems/blockdevice.png
new file mode 100644
index 00000000..1f2c024a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/chardevice.png b/IconThemes/Locolor/16x16/filesystems/chardevice.png
new file mode 100644
index 00000000..c90578df
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/desktop.png b/IconThemes/Locolor/16x16/filesystems/desktop.png
new file mode 100644
index 00000000..774888f6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/exec.png b/IconThemes/Locolor/16x16/filesystems/exec.png
new file mode 100644
index 00000000..194648fc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/file_broken.png b/IconThemes/Locolor/16x16/filesystems/file_broken.png
new file mode 100644
index 00000000..d67f3705
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/file_locked.png b/IconThemes/Locolor/16x16/filesystems/file_locked.png
new file mode 100644
index 00000000..c073c2a8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder.png b/IconThemes/Locolor/16x16/filesystems/folder.png
new file mode 100644
index 00000000..cae7577a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_blue.png b/IconThemes/Locolor/16x16/filesystems/folder_blue.png
new file mode 100644
index 00000000..c7aea046
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_blue_open.png b/IconThemes/Locolor/16x16/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..d838b76c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_cyan.png b/IconThemes/Locolor/16x16/filesystems/folder_cyan.png
new file mode 100644
index 00000000..a64d3ef2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_cyan_open.png b/IconThemes/Locolor/16x16/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..9c0cbf34
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_green.png b/IconThemes/Locolor/16x16/filesystems/folder_green.png
new file mode 100644
index 00000000..32201ac2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_green_open.png b/IconThemes/Locolor/16x16/filesystems/folder_green_open.png
new file mode 100644
index 00000000..9497d97a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_home.png b/IconThemes/Locolor/16x16/filesystems/folder_home.png
new file mode 100644
index 00000000..b406fc52
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_locked.png b/IconThemes/Locolor/16x16/filesystems/folder_locked.png
new file mode 100644
index 00000000..992f80c7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_open.png b/IconThemes/Locolor/16x16/filesystems/folder_open.png
new file mode 100644
index 00000000..9d76c4f9
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_orange.png b/IconThemes/Locolor/16x16/filesystems/folder_orange.png
new file mode 100644
index 00000000..3f52725a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_orange_open.png b/IconThemes/Locolor/16x16/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..91b544f7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_red.png b/IconThemes/Locolor/16x16/filesystems/folder_red.png
new file mode 100644
index 00000000..15ffeead
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_red_open.png b/IconThemes/Locolor/16x16/filesystems/folder_red_open.png
new file mode 100644
index 00000000..0241ff7d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_yellow.png b/IconThemes/Locolor/16x16/filesystems/folder_yellow.png
new file mode 100644
index 00000000..5aabd025
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/folder_yellow_open.png b/IconThemes/Locolor/16x16/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..c76a51dc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/ftp.png b/IconThemes/Locolor/16x16/filesystems/ftp.png
new file mode 100644
index 00000000..36df07ee
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/link.png b/IconThemes/Locolor/16x16/filesystems/link.png
new file mode 100644
index 00000000..077a27e0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/link.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/lockoverlay.png b/IconThemes/Locolor/16x16/filesystems/lockoverlay.png
new file mode 100644
index 00000000..54681080
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/network.png b/IconThemes/Locolor/16x16/filesystems/network.png
new file mode 100644
index 00000000..18a9e088
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/network.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/pipe.png b/IconThemes/Locolor/16x16/filesystems/pipe.png
new file mode 100644
index 00000000..873a235e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/shredder.png b/IconThemes/Locolor/16x16/filesystems/shredder.png
new file mode 100644
index 00000000..4af9389c
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/socket.png b/IconThemes/Locolor/16x16/filesystems/socket.png
new file mode 100644
index 00000000..e8add8ff
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/trashcan_empty.png b/IconThemes/Locolor/16x16/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..fd9e2411
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/trashcan_full.png b/IconThemes/Locolor/16x16/filesystems/trashcan_full.png
new file mode 100644
index 00000000..7501e59a
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/www.png b/IconThemes/Locolor/16x16/filesystems/www.png
new file mode 100644
index 00000000..af0c1345
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/www.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/filesystems/zip.png b/IconThemes/Locolor/16x16/filesystems/zip.png
new file mode 100644
index 00000000..331bd2ee
--- /dev/null
+++ b/IconThemes/Locolor/16x16/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/applix.png b/IconThemes/Locolor/16x16/mimetypes/applix.png
new file mode 100644
index 00000000..5ca5e20d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/binary.png b/IconThemes/Locolor/16x16/mimetypes/binary.png
new file mode 100644
index 00000000..d6872cb6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/binary2.png b/IconThemes/Locolor/16x16/mimetypes/binary2.png
new file mode 100644
index 00000000..274f4906
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/core.png b/IconThemes/Locolor/16x16/mimetypes/core.png
new file mode 100644
index 00000000..4d5d811d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/document.png b/IconThemes/Locolor/16x16/mimetypes/document.png
new file mode 100644
index 00000000..3a7f686d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/dvi.png b/IconThemes/Locolor/16x16/mimetypes/dvi.png
new file mode 100644
index 00000000..0f030338
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/empty.png b/IconThemes/Locolor/16x16/mimetypes/empty.png
new file mode 100644
index 00000000..1a5e4067
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/font_bitmap.png b/IconThemes/Locolor/16x16/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..65376f97
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/font_truetype.png b/IconThemes/Locolor/16x16/mimetypes/font_truetype.png
new file mode 100644
index 00000000..e8ac92c8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/font_type1.png b/IconThemes/Locolor/16x16/mimetypes/font_type1.png
new file mode 100644
index 00000000..529df3a2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/gettext.png b/IconThemes/Locolor/16x16/mimetypes/gettext.png
new file mode 100644
index 00000000..2c8b8507
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/gettext.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/gf.png b/IconThemes/Locolor/16x16/mimetypes/gf.png
new file mode 100644
index 00000000..001cc07e
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/gf.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/html.png b/IconThemes/Locolor/16x16/mimetypes/html.png
new file mode 100644
index 00000000..32e260cd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/image.png b/IconThemes/Locolor/16x16/mimetypes/image.png
new file mode 100644
index 00000000..9993c6c2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/info.png b/IconThemes/Locolor/16x16/mimetypes/info.png
new file mode 100644
index 00000000..853df7a7
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/kmultiple.png b/IconThemes/Locolor/16x16/mimetypes/kmultiple.png
new file mode 100644
index 00000000..92f7e815
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/log.png b/IconThemes/Locolor/16x16/mimetypes/log.png
new file mode 100644
index 00000000..243a2937
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/make.png b/IconThemes/Locolor/16x16/mimetypes/make.png
new file mode 100644
index 00000000..3dbece48
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/man.png b/IconThemes/Locolor/16x16/mimetypes/man.png
new file mode 100644
index 00000000..8c9e4ab4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/metafont.png b/IconThemes/Locolor/16x16/mimetypes/metafont.png
new file mode 100644
index 00000000..0b27d516
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/metafont.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/midi.png b/IconThemes/Locolor/16x16/mimetypes/midi.png
new file mode 100644
index 00000000..ab33d52b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/netscape_doc.png b/IconThemes/Locolor/16x16/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..af6aa7ad
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/news.png b/IconThemes/Locolor/16x16/mimetypes/news.png
new file mode 100644
index 00000000..a4be959f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/news.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/pdf.png b/IconThemes/Locolor/16x16/mimetypes/pdf.png
new file mode 100644
index 00000000..04d8c7ee
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/pk.png b/IconThemes/Locolor/16x16/mimetypes/pk.png
new file mode 100644
index 00000000..0d5633c3
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/pk.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/postscript.png b/IconThemes/Locolor/16x16/mimetypes/postscript.png
new file mode 100644
index 00000000..f2223f84
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/readme.png b/IconThemes/Locolor/16x16/mimetypes/readme.png
new file mode 100644
index 00000000..f3de3cf0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/recycled.png b/IconThemes/Locolor/16x16/mimetypes/recycled.png
new file mode 100644
index 00000000..e4f560ec
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/resource.png b/IconThemes/Locolor/16x16/mimetypes/resource.png
new file mode 100644
index 00000000..747c75b4
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/rpm.png b/IconThemes/Locolor/16x16/mimetypes/rpm.png
new file mode 100644
index 00000000..6f2107bc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/shellscript.png b/IconThemes/Locolor/16x16/mimetypes/shellscript.png
new file mode 100644
index 00000000..98b84db0
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/shellscript2.png b/IconThemes/Locolor/16x16/mimetypes/shellscript2.png
new file mode 100644
index 00000000..7c8b00cd
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/sound.png b/IconThemes/Locolor/16x16/mimetypes/sound.png
new file mode 100644
index 00000000..b12ae6f2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source.png b/IconThemes/Locolor/16x16/mimetypes/source.png
new file mode 100644
index 00000000..727c61bc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_c.png b/IconThemes/Locolor/16x16/mimetypes/source_c.png
new file mode 100644
index 00000000..f3c8565d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_cpp.png b/IconThemes/Locolor/16x16/mimetypes/source_cpp.png
new file mode 100644
index 00000000..4a58f5c2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_f.png b/IconThemes/Locolor/16x16/mimetypes/source_f.png
new file mode 100644
index 00000000..cd740de2
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_h.png b/IconThemes/Locolor/16x16/mimetypes/source_h.png
new file mode 100644
index 00000000..82d8306d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_java.png b/IconThemes/Locolor/16x16/mimetypes/source_java.png
new file mode 100644
index 00000000..782feb20
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_l.png b/IconThemes/Locolor/16x16/mimetypes/source_l.png
new file mode 100644
index 00000000..8ea367ae
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_moc.png b/IconThemes/Locolor/16x16/mimetypes/source_moc.png
new file mode 100644
index 00000000..89219bd5
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_o.png b/IconThemes/Locolor/16x16/mimetypes/source_o.png
new file mode 100644
index 00000000..2afa9996
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_p.png b/IconThemes/Locolor/16x16/mimetypes/source_p.png
new file mode 100644
index 00000000..ed0067c6
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_pl.png b/IconThemes/Locolor/16x16/mimetypes/source_pl.png
new file mode 100644
index 00000000..727c61bc
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_py.png b/IconThemes/Locolor/16x16/mimetypes/source_py.png
new file mode 100644
index 00000000..6859bb95
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_s.png b/IconThemes/Locolor/16x16/mimetypes/source_s.png
new file mode 100644
index 00000000..e5730f91
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/source_y.png b/IconThemes/Locolor/16x16/mimetypes/source_y.png
new file mode 100644
index 00000000..691d4e0b
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/tar.png b/IconThemes/Locolor/16x16/mimetypes/tar.png
new file mode 100644
index 00000000..062848ec
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/tex.png b/IconThemes/Locolor/16x16/mimetypes/tex.png
new file mode 100644
index 00000000..6f804c46
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/tgz.png b/IconThemes/Locolor/16x16/mimetypes/tgz.png
new file mode 100644
index 00000000..e56f66ba
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/txt.png b/IconThemes/Locolor/16x16/mimetypes/txt.png
new file mode 100644
index 00000000..1f37ce3f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/unknown.png b/IconThemes/Locolor/16x16/mimetypes/unknown.png
new file mode 100644
index 00000000..a97f9f98
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/vcalendar.png b/IconThemes/Locolor/16x16/mimetypes/vcalendar.png
new file mode 100644
index 00000000..127dc6a8
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/vcalendar.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/vcard.png b/IconThemes/Locolor/16x16/mimetypes/vcard.png
new file mode 100644
index 00000000..a43de70f
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/Locolor/16x16/mimetypes/video.png b/IconThemes/Locolor/16x16/mimetypes/video.png
new file mode 100644
index 00000000..0365986d
--- /dev/null
+++ b/IconThemes/Locolor/16x16/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/actions/gear.png b/IconThemes/Locolor/32x32/actions/gear.png
new file mode 100644
index 00000000..64e52846
--- /dev/null
+++ b/IconThemes/Locolor/32x32/actions/gear.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/actions/misc.png b/IconThemes/Locolor/32x32/actions/misc.png
new file mode 100644
index 00000000..bc26ecd6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/actions/misc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/access.png b/IconThemes/Locolor/32x32/apps/access.png
new file mode 100644
index 00000000..3a976c8c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/access.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/acroread.png b/IconThemes/Locolor/32x32/apps/acroread.png
new file mode 100644
index 00000000..7a365080
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/acroread.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/agent.png b/IconThemes/Locolor/32x32/apps/agent.png
new file mode 100644
index 00000000..b81f9c65
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/agent.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/aktion.png b/IconThemes/Locolor/32x32/apps/aktion.png
new file mode 100644
index 00000000..eb8239ab
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/aktion.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/alevt.png b/IconThemes/Locolor/32x32/apps/alevt.png
new file mode 100644
index 00000000..7c9ffd7a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/alevt.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/applixware.png b/IconThemes/Locolor/32x32/apps/applixware.png
new file mode 100644
index 00000000..d022ce31
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/applixware.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ark.png b/IconThemes/Locolor/32x32/apps/ark.png
new file mode 100644
index 00000000..a026b2df
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ark.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/background.png b/IconThemes/Locolor/32x32/apps/background.png
new file mode 100644
index 00000000..28f234a4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/background.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/bell.png b/IconThemes/Locolor/32x32/apps/bell.png
new file mode 100644
index 00000000..f7c73956
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/bell.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/blender.png b/IconThemes/Locolor/32x32/apps/blender.png
new file mode 100644
index 00000000..e5e6b5a8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/blender.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/clanbomber.png b/IconThemes/Locolor/32x32/apps/clanbomber.png
new file mode 100644
index 00000000..77e1c3fd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/clanbomber.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/clock.png b/IconThemes/Locolor/32x32/apps/clock.png
new file mode 100644
index 00000000..f0fbb437
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/clock.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/colors.png b/IconThemes/Locolor/32x32/apps/colors.png
new file mode 100644
index 00000000..3da16a2a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/colors.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/cookie.png b/IconThemes/Locolor/32x32/apps/cookie.png
new file mode 100644
index 00000000..c8bb5d77
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/cookie.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/date.png b/IconThemes/Locolor/32x32/apps/date.png
new file mode 100644
index 00000000..f0fbb437
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/date.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/dlgedit.png b/IconThemes/Locolor/32x32/apps/dlgedit.png
new file mode 100644
index 00000000..2796420f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/dlgedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/emacs.png b/IconThemes/Locolor/32x32/apps/emacs.png
new file mode 100644
index 00000000..a7bef37e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/emacs.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/email.png b/IconThemes/Locolor/32x32/apps/email.png
new file mode 100644
index 00000000..dbfcf3c9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/email.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/energy.png b/IconThemes/Locolor/32x32/apps/energy.png
new file mode 100644
index 00000000..15926545
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/energy.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/enhanced_browsing.png b/IconThemes/Locolor/32x32/apps/enhanced_browsing.png
new file mode 100644
index 00000000..d3c48259
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/error.png b/IconThemes/Locolor/32x32/apps/error.png
new file mode 100644
index 00000000..caf01793
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/error.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/filetypes.png b/IconThemes/Locolor/32x32/apps/filetypes.png
new file mode 100644
index 00000000..0a874fd5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/fonts.png b/IconThemes/Locolor/32x32/apps/fonts.png
new file mode 100644
index 00000000..39169460
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/fonts.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/gimp.png b/IconThemes/Locolor/32x32/apps/gimp.png
new file mode 100644
index 00000000..b9daf72f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/gimp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/go.png b/IconThemes/Locolor/32x32/apps/go.png
new file mode 100644
index 00000000..98ae0983
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/go.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/gv.png b/IconThemes/Locolor/32x32/apps/gv.png
new file mode 100644
index 00000000..d3159ce6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/gv.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/gvim.png b/IconThemes/Locolor/32x32/apps/gvim.png
new file mode 100644
index 00000000..424ef4b3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/gvim.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/help_index.png b/IconThemes/Locolor/32x32/apps/help_index.png
new file mode 100644
index 00000000..9caa7e74
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/help_index.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/hwinfo.png b/IconThemes/Locolor/32x32/apps/hwinfo.png
new file mode 100644
index 00000000..7e06278c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/icons.png b/IconThemes/Locolor/32x32/apps/icons.png
new file mode 100644
index 00000000..05b01c3f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/icons.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/iconthemes.png b/IconThemes/Locolor/32x32/apps/iconthemes.png
new file mode 100644
index 00000000..85449e6b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/input_devices_settings.png b/IconThemes/Locolor/32x32/apps/input_devices_settings.png
new file mode 100644
index 00000000..ad5dc094
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kab.png b/IconThemes/Locolor/32x32/apps/kab.png
new file mode 100644
index 00000000..1d75a30d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kab.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kabalone.png b/IconThemes/Locolor/32x32/apps/kabalone.png
new file mode 100644
index 00000000..1d5076f9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kabalone.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kalzium.png b/IconThemes/Locolor/32x32/apps/kalzium.png
new file mode 100644
index 00000000..0c6c1a83
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kalzium.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kappfinder.png b/IconThemes/Locolor/32x32/apps/kappfinder.png
new file mode 100644
index 00000000..985b78eb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kappfinder.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/karm.png b/IconThemes/Locolor/32x32/apps/karm.png
new file mode 100644
index 00000000..64bf145e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/karm.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kasteroids.png b/IconThemes/Locolor/32x32/apps/kasteroids.png
new file mode 100644
index 00000000..94ec15a0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kasteroids.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/katomic.png b/IconThemes/Locolor/32x32/apps/katomic.png
new file mode 100644
index 00000000..bf274d25
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/katomic.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kbabel.png b/IconThemes/Locolor/32x32/apps/kbabel.png
new file mode 100644
index 00000000..16e151f6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kbabel.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kbackgammon.png b/IconThemes/Locolor/32x32/apps/kbackgammon.png
new file mode 100644
index 00000000..0e05d2f6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kbackgammon.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kblackbox.png b/IconThemes/Locolor/32x32/apps/kblackbox.png
new file mode 100644
index 00000000..99eb0e4b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kblackbox.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kbruch.png b/IconThemes/Locolor/32x32/apps/kbruch.png
new file mode 100644
index 00000000..134287f0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kbruch.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcalc.png b/IconThemes/Locolor/32x32/apps/kcalc.png
new file mode 100644
index 00000000..c4404f0d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcharselect.png b/IconThemes/Locolor/32x32/apps/kcharselect.png
new file mode 100644
index 00000000..136b01af
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcharselect.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kchart.png b/IconThemes/Locolor/32x32/apps/kchart.png
new file mode 100644
index 00000000..5993ee93
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kchart.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmdevices.png b/IconThemes/Locolor/32x32/apps/kcmdevices.png
new file mode 100644
index 00000000..cdf3080b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmdf.png b/IconThemes/Locolor/32x32/apps/kcmdf.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmdrkonqi.png b/IconThemes/Locolor/32x32/apps/kcmdrkonqi.png
new file mode 100644
index 00000000..9903b989
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmdrkonqi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmkicker.png b/IconThemes/Locolor/32x32/apps/kcmkicker.png
new file mode 100644
index 00000000..6128f6d7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmkwm.png b/IconThemes/Locolor/32x32/apps/kcmkwm.png
new file mode 100644
index 00000000..12542c8a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmmemory.png b/IconThemes/Locolor/32x32/apps/kcmmemory.png
new file mode 100644
index 00000000..ad8e2ef9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmmidi.png b/IconThemes/Locolor/32x32/apps/kcmmidi.png
new file mode 100644
index 00000000..5939767f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmpartitions.png b/IconThemes/Locolor/32x32/apps/kcmpartitions.png
new file mode 100644
index 00000000..4d0958b3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmpci.png b/IconThemes/Locolor/32x32/apps/kcmpci.png
new file mode 100644
index 00000000..1134867f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmprocessor.png b/IconThemes/Locolor/32x32/apps/kcmprocessor.png
new file mode 100644
index 00000000..c99bc8bd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmscsi.png b/IconThemes/Locolor/32x32/apps/kcmscsi.png
new file mode 100644
index 00000000..d82d5750
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmscsi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmsound.png b/IconThemes/Locolor/32x32/apps/kcmsound.png
new file mode 100644
index 00000000..38192f16
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmsystem.png b/IconThemes/Locolor/32x32/apps/kcmsystem.png
new file mode 100644
index 00000000..7f0029c9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcmx.png b/IconThemes/Locolor/32x32/apps/kcmx.png
new file mode 100644
index 00000000..68d701a8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcontrol.png b/IconThemes/Locolor/32x32/apps/kcontrol.png
new file mode 100644
index 00000000..5bf35311
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kcron.png b/IconThemes/Locolor/32x32/apps/kcron.png
new file mode 100644
index 00000000..1cfe6b75
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kcron.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kdf.png b/IconThemes/Locolor/32x32/apps/kdf.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kdf.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kdisknav.png b/IconThemes/Locolor/32x32/apps/kdisknav.png
new file mode 100644
index 00000000..83ec739b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kdmconfig.png b/IconThemes/Locolor/32x32/apps/kdmconfig.png
new file mode 100644
index 00000000..06c60855
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kdvi.png b/IconThemes/Locolor/32x32/apps/kdvi.png
new file mode 100644
index 00000000..64fa099b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kdvi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kedit.png b/IconThemes/Locolor/32x32/apps/kedit.png
new file mode 100644
index 00000000..565a6c1c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/key_bindings.png b/IconThemes/Locolor/32x32/apps/key_bindings.png
new file mode 100644
index 00000000..00cbb9f4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/keyboard.png b/IconThemes/Locolor/32x32/apps/keyboard.png
new file mode 100644
index 00000000..136b01af
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/keyboard_layout.png b/IconThemes/Locolor/32x32/apps/keyboard_layout.png
new file mode 100644
index 00000000..d1873f9b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/keystone.png b/IconThemes/Locolor/32x32/apps/keystone.png
new file mode 100644
index 00000000..eee539b8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/keystone.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfax.png b/IconThemes/Locolor/32x32/apps/kfax.png
new file mode 100644
index 00000000..b0088606
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfax.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfind.png b/IconThemes/Locolor/32x32/apps/kfind.png
new file mode 100644
index 00000000..985b78eb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfind.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfloppy.png b/IconThemes/Locolor/32x32/apps/kfloppy.png
new file mode 100644
index 00000000..2b2e6f6c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfm.png b/IconThemes/Locolor/32x32/apps/kfm.png
new file mode 100644
index 00000000..7af99ab7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfm.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfm_home.png b/IconThemes/Locolor/32x32/apps/kfm_home.png
new file mode 100644
index 00000000..692db198
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfontinst.png b/IconThemes/Locolor/32x32/apps/kfontinst.png
new file mode 100644
index 00000000..39169460
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfontinst.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kfract.png b/IconThemes/Locolor/32x32/apps/kfract.png
new file mode 100644
index 00000000..40d3936c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kfract.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kghostview.png b/IconThemes/Locolor/32x32/apps/kghostview.png
new file mode 100644
index 00000000..8a93298b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kghostview.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/khangman.png b/IconThemes/Locolor/32x32/apps/khangman.png
new file mode 100644
index 00000000..445ef463
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/khangman.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/khelpcenter.png b/IconThemes/Locolor/32x32/apps/khelpcenter.png
new file mode 100644
index 00000000..bdea29e8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/khexedit.png b/IconThemes/Locolor/32x32/apps/khexedit.png
new file mode 100644
index 00000000..08213aec
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/khexedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kiconedit.png b/IconThemes/Locolor/32x32/apps/kiconedit.png
new file mode 100644
index 00000000..c00fb798
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kiconedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/killustrator.png b/IconThemes/Locolor/32x32/apps/killustrator.png
new file mode 100644
index 00000000..2ca42e73
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/killustrator.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kit.png b/IconThemes/Locolor/32x32/apps/kit.png
new file mode 100644
index 00000000..bb4bec23
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kivio.png b/IconThemes/Locolor/32x32/apps/kivio.png
new file mode 100644
index 00000000..36b355cc
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kivio.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kjots.png b/IconThemes/Locolor/32x32/apps/kjots.png
new file mode 100644
index 00000000..1bdd50ef
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kjots.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kjumpingcube.png b/IconThemes/Locolor/32x32/apps/kjumpingcube.png
new file mode 100644
index 00000000..e496f268
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kjumpingcube.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/klatin.png b/IconThemes/Locolor/32x32/apps/klatin.png
new file mode 100644
index 00000000..d9999c95
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/klatin.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kless.png b/IconThemes/Locolor/32x32/apps/kless.png
new file mode 100644
index 00000000..50de695a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kless.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/klettres.png b/IconThemes/Locolor/32x32/apps/klettres.png
new file mode 100644
index 00000000..f39f3dd0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/klettres.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/klipper.png b/IconThemes/Locolor/32x32/apps/klipper.png
new file mode 100644
index 00000000..b129c314
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/klipper.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kljettool.png b/IconThemes/Locolor/32x32/apps/kljettool.png
new file mode 100644
index 00000000..9e0eeb8d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kljettool.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/klpq.png b/IconThemes/Locolor/32x32/apps/klpq.png
new file mode 100644
index 00000000..5ef6fe5d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/klpq.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmahjongg.png b/IconThemes/Locolor/32x32/apps/kmahjongg.png
new file mode 100644
index 00000000..4dab4423
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmahjongg.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmail.png b/IconThemes/Locolor/32x32/apps/kmail.png
new file mode 100644
index 00000000..b566ff91
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmail.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmailcvt.png b/IconThemes/Locolor/32x32/apps/kmailcvt.png
new file mode 100644
index 00000000..417b2d11
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmailcvt.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmessedwords.png b/IconThemes/Locolor/32x32/apps/kmessedwords.png
new file mode 100644
index 00000000..b809c599
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmessedwords.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmid.png b/IconThemes/Locolor/32x32/apps/kmid.png
new file mode 100644
index 00000000..1232976c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmid.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmidi.png b/IconThemes/Locolor/32x32/apps/kmidi.png
new file mode 100644
index 00000000..97eabc8c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmidi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmines.png b/IconThemes/Locolor/32x32/apps/kmines.png
new file mode 100644
index 00000000..b3cd4ef0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmines.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmix.png b/IconThemes/Locolor/32x32/apps/kmix.png
new file mode 100644
index 00000000..7ff1fb77
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmix.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmoon.png b/IconThemes/Locolor/32x32/apps/kmoon.png
new file mode 100644
index 00000000..6de515d8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmoon.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kmplot.png b/IconThemes/Locolor/32x32/apps/kmplot.png
new file mode 100644
index 00000000..1df1b5aa
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kmplot.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/knewsticker.png b/IconThemes/Locolor/32x32/apps/knewsticker.png
new file mode 100644
index 00000000..15b64a3a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/knewsticker.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/knode.png b/IconThemes/Locolor/32x32/apps/knode.png
new file mode 100644
index 00000000..15b64a3a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/knode.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/knotes.png b/IconThemes/Locolor/32x32/apps/knotes.png
new file mode 100644
index 00000000..65e07eb7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/knotes.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/knotify.png b/IconThemes/Locolor/32x32/apps/knotify.png
new file mode 100644
index 00000000..9c4cb247
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/knotify.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kodo.png b/IconThemes/Locolor/32x32/apps/kodo.png
new file mode 100644
index 00000000..6a478cf2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kodo.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kompare.png b/IconThemes/Locolor/32x32/apps/kompare.png
new file mode 100644
index 00000000..12542c8a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kompare.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/koncd.png b/IconThemes/Locolor/32x32/apps/koncd.png
new file mode 100644
index 00000000..343bff2f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/koncd.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/konqueror.png b/IconThemes/Locolor/32x32/apps/konqueror.png
new file mode 100644
index 00000000..c00e01b2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/konquest.png b/IconThemes/Locolor/32x32/apps/konquest.png
new file mode 100644
index 00000000..b3184968
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/konquest.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/konsole.png b/IconThemes/Locolor/32x32/apps/konsole.png
new file mode 100644
index 00000000..d05787f2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/konsole.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/korganizer.png b/IconThemes/Locolor/32x32/apps/korganizer.png
new file mode 100644
index 00000000..358b6f0b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/korn.png b/IconThemes/Locolor/32x32/apps/korn.png
new file mode 100644
index 00000000..fb291658
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/korn.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpackage.png b/IconThemes/Locolor/32x32/apps/kpackage.png
new file mode 100644
index 00000000..5c5438f5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpager.png b/IconThemes/Locolor/32x32/apps/kpager.png
new file mode 100644
index 00000000..78f011dd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpager.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpaint.png b/IconThemes/Locolor/32x32/apps/kpaint.png
new file mode 100644
index 00000000..8f317dbf
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpaint.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpat.png b/IconThemes/Locolor/32x32/apps/kpat.png
new file mode 100644
index 00000000..ccfcc6b5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpat.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpercentage.png b/IconThemes/Locolor/32x32/apps/kpercentage.png
new file mode 100644
index 00000000..abedd7db
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpercentage.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpixmap2bitmap.png b/IconThemes/Locolor/32x32/apps/kpixmap2bitmap.png
new file mode 100644
index 00000000..dc63d776
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpixmap2bitmap.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpm.png b/IconThemes/Locolor/32x32/apps/kpm.png
new file mode 100644
index 00000000..47275429
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpm.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpoker.png b/IconThemes/Locolor/32x32/apps/kpoker.png
new file mode 100644
index 00000000..fd57b53b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpoker.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kppp.png b/IconThemes/Locolor/32x32/apps/kppp.png
new file mode 100644
index 00000000..5e0d5653
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kppp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kpresenter.png b/IconThemes/Locolor/32x32/apps/kpresenter.png
new file mode 100644
index 00000000..3287acc9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kreversi.png b/IconThemes/Locolor/32x32/apps/kreversi.png
new file mode 100644
index 00000000..a3a93581
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kreversi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kruler.png b/IconThemes/Locolor/32x32/apps/kruler.png
new file mode 100644
index 00000000..f848ce0b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kruler.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksame.png b/IconThemes/Locolor/32x32/apps/ksame.png
new file mode 100644
index 00000000..6b0148d2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksame.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kscd.png b/IconThemes/Locolor/32x32/apps/kscd.png
new file mode 100644
index 00000000..aaa3783b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kscd.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kscreensaver.png b/IconThemes/Locolor/32x32/apps/kscreensaver.png
new file mode 100644
index 00000000..c04cc193
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kshisen.png b/IconThemes/Locolor/32x32/apps/kshisen.png
new file mode 100644
index 00000000..908582cd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kshisen.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksirc.png b/IconThemes/Locolor/32x32/apps/ksirc.png
new file mode 100644
index 00000000..559f12d1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksirc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksirtet.png b/IconThemes/Locolor/32x32/apps/ksirtet.png
new file mode 100644
index 00000000..ab1ddd59
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksirtet.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksmiletris.png b/IconThemes/Locolor/32x32/apps/ksmiletris.png
new file mode 100644
index 00000000..3f09f130
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksnake.png b/IconThemes/Locolor/32x32/apps/ksnake.png
new file mode 100644
index 00000000..5a2a32f1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksnake.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksnapshot.png b/IconThemes/Locolor/32x32/apps/ksnapshot.png
new file mode 100644
index 00000000..3a4fc546
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksnapshot.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksokoban.png b/IconThemes/Locolor/32x32/apps/ksokoban.png
new file mode 100644
index 00000000..5688978f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksokoban.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kspaceduel.png b/IconThemes/Locolor/32x32/apps/kspaceduel.png
new file mode 100644
index 00000000..ae33066d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kspaceduel.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kspread.png b/IconThemes/Locolor/32x32/apps/kspread.png
new file mode 100644
index 00000000..88077f1b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kspread.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kspreadcalc.png b/IconThemes/Locolor/32x32/apps/kspreadcalc.png
new file mode 100644
index 00000000..3b64e85b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kspreadcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kstars.png b/IconThemes/Locolor/32x32/apps/kstars.png
new file mode 100644
index 00000000..d5b3f28d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kstars.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksysctrl.png b/IconThemes/Locolor/32x32/apps/ksysctrl.png
new file mode 100644
index 00000000..02a641fd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksysctrl.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksysguard.png b/IconThemes/Locolor/32x32/apps/ksysguard.png
new file mode 100644
index 00000000..e72e6999
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ksysv.png b/IconThemes/Locolor/32x32/apps/ksysv.png
new file mode 100644
index 00000000..817a5d09
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktalkd.png b/IconThemes/Locolor/32x32/apps/ktalkd.png
new file mode 100644
index 00000000..e0d9ff43
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kthememgr.png b/IconThemes/Locolor/32x32/apps/kthememgr.png
new file mode 100644
index 00000000..5dea184c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktimemon.png b/IconThemes/Locolor/32x32/apps/ktimemon.png
new file mode 100644
index 00000000..71ff4761
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktimemon.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktip.png b/IconThemes/Locolor/32x32/apps/ktip.png
new file mode 100644
index 00000000..ea4a755a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktip.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktron.png b/IconThemes/Locolor/32x32/apps/ktron.png
new file mode 100644
index 00000000..ee3f237f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktron.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktuberling.png b/IconThemes/Locolor/32x32/apps/ktuberling.png
new file mode 100644
index 00000000..de66b122
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktuberling.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/ktux.png b/IconThemes/Locolor/32x32/apps/ktux.png
new file mode 100644
index 00000000..4ecd9ce3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/ktux.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kuser.png b/IconThemes/Locolor/32x32/apps/kuser.png
new file mode 100644
index 00000000..d6b29108
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kuser.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kview.png b/IconThemes/Locolor/32x32/apps/kview.png
new file mode 100644
index 00000000..3182c479
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kview.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kwikdisk.png b/IconThemes/Locolor/32x32/apps/kwikdisk.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kwikdisk.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kwin.png b/IconThemes/Locolor/32x32/apps/kwin.png
new file mode 100644
index 00000000..78f011dd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kwin.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kwin4.png b/IconThemes/Locolor/32x32/apps/kwin4.png
new file mode 100644
index 00000000..6898f174
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kwin4.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kword.png b/IconThemes/Locolor/32x32/apps/kword.png
new file mode 100644
index 00000000..ed6897b1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kword.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kworldwatch.png b/IconThemes/Locolor/32x32/apps/kworldwatch.png
new file mode 100644
index 00000000..3f86301c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kworldwatch.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/kwrite.png b/IconThemes/Locolor/32x32/apps/kwrite.png
new file mode 100644
index 00000000..4b76f255
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/laptop_battery.png b/IconThemes/Locolor/32x32/apps/laptop_battery.png
new file mode 100644
index 00000000..bed947e4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/laptop_pcmcia.png b/IconThemes/Locolor/32x32/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..0f841b53
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/locale.png b/IconThemes/Locolor/32x32/apps/locale.png
new file mode 100644
index 00000000..1410ebc3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/locale.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/looknfeel.png b/IconThemes/Locolor/32x32/apps/looknfeel.png
new file mode 100644
index 00000000..fd609955
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/lskat.png b/IconThemes/Locolor/32x32/apps/lskat.png
new file mode 100644
index 00000000..f60ee4bc
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/lskat.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/lyx.png b/IconThemes/Locolor/32x32/apps/lyx.png
new file mode 100644
index 00000000..ebc26f21
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/lyx.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/mathematica.png b/IconThemes/Locolor/32x32/apps/mathematica.png
new file mode 100644
index 00000000..fef5573f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/mathematica.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/mouse.png b/IconThemes/Locolor/32x32/apps/mouse.png
new file mode 100644
index 00000000..6c179a4a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/mouse.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/multimedia.png b/IconThemes/Locolor/32x32/apps/multimedia.png
new file mode 100644
index 00000000..4de22c26
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/nedit.png b/IconThemes/Locolor/32x32/apps/nedit.png
new file mode 100644
index 00000000..68c7fc6f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/nedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/netscape.png b/IconThemes/Locolor/32x32/apps/netscape.png
new file mode 100644
index 00000000..7f9c5b01
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/netscape.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/noatun.png b/IconThemes/Locolor/32x32/apps/noatun.png
new file mode 100644
index 00000000..c9138a32
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/noatun.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package.png b/IconThemes/Locolor/32x32/apps/package.png
new file mode 100644
index 00000000..4b1436da
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_applications.png b/IconThemes/Locolor/32x32/apps/package_applications.png
new file mode 100644
index 00000000..517688e6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_editors.png b/IconThemes/Locolor/32x32/apps/package_editors.png
new file mode 100644
index 00000000..c6ffe039
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_favourite.png b/IconThemes/Locolor/32x32/apps/package_favourite.png
new file mode 100644
index 00000000..6732fb38
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_favourite.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_games.png b/IconThemes/Locolor/32x32/apps/package_games.png
new file mode 100644
index 00000000..0dccc58e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_games.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_graphics.png b/IconThemes/Locolor/32x32/apps/package_graphics.png
new file mode 100644
index 00000000..d829d2ef
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_multimedia.png b/IconThemes/Locolor/32x32/apps/package_multimedia.png
new file mode 100644
index 00000000..8c40376c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_network.png b/IconThemes/Locolor/32x32/apps/package_network.png
new file mode 100644
index 00000000..8380c2fb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_network.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_settings.png b/IconThemes/Locolor/32x32/apps/package_settings.png
new file mode 100644
index 00000000..41e00f78
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_system.png b/IconThemes/Locolor/32x32/apps/package_system.png
new file mode 100644
index 00000000..43315cd4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_system.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/package_utilities.png b/IconThemes/Locolor/32x32/apps/package_utilities.png
new file mode 100644
index 00000000..39ac7f0b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/panel_settings.png b/IconThemes/Locolor/32x32/apps/panel_settings.png
new file mode 100644
index 00000000..6eec1352
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/panel_settings.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/password.png b/IconThemes/Locolor/32x32/apps/password.png
new file mode 100644
index 00000000..4662d78c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/password.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/penguin.png b/IconThemes/Locolor/32x32/apps/penguin.png
new file mode 100644
index 00000000..a2151d0d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/penguin.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/pixie.png b/IconThemes/Locolor/32x32/apps/pixie.png
new file mode 100644
index 00000000..8198f5c5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/pixie.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/plan.png b/IconThemes/Locolor/32x32/apps/plan.png
new file mode 100644
index 00000000..6567cd2f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/plan.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/proxy.png b/IconThemes/Locolor/32x32/apps/proxy.png
new file mode 100644
index 00000000..53e2ed51
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/proxy.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/pybliographic.png b/IconThemes/Locolor/32x32/apps/pybliographic.png
new file mode 100644
index 00000000..e9479b01
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/pybliographic.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/pysol.png b/IconThemes/Locolor/32x32/apps/pysol.png
new file mode 100644
index 00000000..888ff3a0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/pysol.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/realplayer.png b/IconThemes/Locolor/32x32/apps/realplayer.png
new file mode 100644
index 00000000..dc56a273
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/realplayer.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/samba.png b/IconThemes/Locolor/32x32/apps/samba.png
new file mode 100644
index 00000000..58c8af91
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/samba.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/style.png b/IconThemes/Locolor/32x32/apps/style.png
new file mode 100644
index 00000000..5301dc37
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/style.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/terminal.png b/IconThemes/Locolor/32x32/apps/terminal.png
new file mode 100644
index 00000000..eee539b8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/terminal.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/wabi.png b/IconThemes/Locolor/32x32/apps/wabi.png
new file mode 100644
index 00000000..32792494
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/wabi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/window_list.png b/IconThemes/Locolor/32x32/apps/window_list.png
new file mode 100644
index 00000000..12542c8a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/window_list.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/winprops.png b/IconThemes/Locolor/32x32/apps/winprops.png
new file mode 100644
index 00000000..1c18fe98
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/winprops.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/wp.png b/IconThemes/Locolor/32x32/apps/wp.png
new file mode 100644
index 00000000..ebe3ddc2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/wp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xapp.png b/IconThemes/Locolor/32x32/apps/xapp.png
new file mode 100644
index 00000000..c48edaca
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xapp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xawtv.png b/IconThemes/Locolor/32x32/apps/xawtv.png
new file mode 100644
index 00000000..a4b2cab5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xawtv.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xcalc.png b/IconThemes/Locolor/32x32/apps/xcalc.png
new file mode 100644
index 00000000..a8757c99
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xclipboard.png b/IconThemes/Locolor/32x32/apps/xclipboard.png
new file mode 100644
index 00000000..2cf450f8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xclipboard.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xclock.png b/IconThemes/Locolor/32x32/apps/xclock.png
new file mode 100644
index 00000000..3ef94011
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xclock.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xconsole.png b/IconThemes/Locolor/32x32/apps/xconsole.png
new file mode 100644
index 00000000..fe17289d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xconsole.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xedit.png b/IconThemes/Locolor/32x32/apps/xedit.png
new file mode 100644
index 00000000..bac4a22e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xedit.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xemacs.png b/IconThemes/Locolor/32x32/apps/xemacs.png
new file mode 100644
index 00000000..98d5b55f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xemacs.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xeyes.png b/IconThemes/Locolor/32x32/apps/xeyes.png
new file mode 100644
index 00000000..d93e3d9d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xeyes.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xfig.png b/IconThemes/Locolor/32x32/apps/xfig.png
new file mode 100644
index 00000000..c0d68e93
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xfig.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xfmail.png b/IconThemes/Locolor/32x32/apps/xfmail.png
new file mode 100644
index 00000000..6f481b7a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xfmail.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xload.png b/IconThemes/Locolor/32x32/apps/xload.png
new file mode 100644
index 00000000..f28fad9c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xload.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xmag.png b/IconThemes/Locolor/32x32/apps/xmag.png
new file mode 100644
index 00000000..cc53db4d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xmag.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xmms.png b/IconThemes/Locolor/32x32/apps/xmms.png
new file mode 100644
index 00000000..e9bf28ca
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xmms.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xosview.png b/IconThemes/Locolor/32x32/apps/xosview.png
new file mode 100644
index 00000000..5729dd01
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xosview.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xpaint.png b/IconThemes/Locolor/32x32/apps/xpaint.png
new file mode 100644
index 00000000..9d2ae366
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/apps/xv.png b/IconThemes/Locolor/32x32/apps/xv.png
new file mode 100644
index 00000000..8153284b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/apps/xv.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/3floppy_mount.png b/IconThemes/Locolor/32x32/devices/3floppy_mount.png
new file mode 100644
index 00000000..7b6ff041
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/3floppy_unmount.png b/IconThemes/Locolor/32x32/devices/3floppy_unmount.png
new file mode 100644
index 00000000..dfc44b52
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/5floppy_mount.png b/IconThemes/Locolor/32x32/devices/5floppy_mount.png
new file mode 100644
index 00000000..2a6b8899
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/5floppy_unmount.png b/IconThemes/Locolor/32x32/devices/5floppy_unmount.png
new file mode 100644
index 00000000..43d6a2bc
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/cdrom_mount.png b/IconThemes/Locolor/32x32/devices/cdrom_mount.png
new file mode 100644
index 00000000..3864bd9e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/cdrom_unmount.png b/IconThemes/Locolor/32x32/devices/cdrom_unmount.png
new file mode 100644
index 00000000..69efa2e4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/cdwriter_mount.png b/IconThemes/Locolor/32x32/devices/cdwriter_mount.png
new file mode 100644
index 00000000..d94908e3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/cdwriter_unmount.png b/IconThemes/Locolor/32x32/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..343bff2f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/hdd_mount.png b/IconThemes/Locolor/32x32/devices/hdd_mount.png
new file mode 100644
index 00000000..c706dcd1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/hdd_unmount.png b/IconThemes/Locolor/32x32/devices/hdd_unmount.png
new file mode 100644
index 00000000..e0e0fcca
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/memory.png b/IconThemes/Locolor/32x32/devices/memory.png
new file mode 100644
index 00000000..be5c0c59
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/memory.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/mo_mount.png b/IconThemes/Locolor/32x32/devices/mo_mount.png
new file mode 100644
index 00000000..1ef2351f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/mo_unmount.png b/IconThemes/Locolor/32x32/devices/mo_unmount.png
new file mode 100644
index 00000000..d8dda4db
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/printer1.png b/IconThemes/Locolor/32x32/devices/printer1.png
new file mode 100644
index 00000000..00c09dd5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/printer1.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/printer2.png b/IconThemes/Locolor/32x32/devices/printer2.png
new file mode 100644
index 00000000..e6f79fb3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/printer2.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/scanner.png b/IconThemes/Locolor/32x32/devices/scanner.png
new file mode 100644
index 00000000..a0e0bc64
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/scanner.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/tablet.png b/IconThemes/Locolor/32x32/devices/tablet.png
new file mode 100644
index 00000000..aa1981e8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/tablet.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/zip_mount.png b/IconThemes/Locolor/32x32/devices/zip_mount.png
new file mode 100644
index 00000000..88ac9a53
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/devices/zip_unmount.png b/IconThemes/Locolor/32x32/devices/zip_unmount.png
new file mode 100644
index 00000000..e47647f6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/blockdevice.png b/IconThemes/Locolor/32x32/filesystems/blockdevice.png
new file mode 100644
index 00000000..28eae9ee
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/chardevice.png b/IconThemes/Locolor/32x32/filesystems/chardevice.png
new file mode 100644
index 00000000..e911f3a1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/desktop.png b/IconThemes/Locolor/32x32/filesystems/desktop.png
new file mode 100644
index 00000000..c91efaa1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/exec.png b/IconThemes/Locolor/32x32/filesystems/exec.png
new file mode 100644
index 00000000..99ce3d29
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/file_broken.png b/IconThemes/Locolor/32x32/filesystems/file_broken.png
new file mode 100644
index 00000000..7cd6fd29
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/file_locked.png b/IconThemes/Locolor/32x32/filesystems/file_locked.png
new file mode 100644
index 00000000..0608dce8
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder.png b/IconThemes/Locolor/32x32/filesystems/folder.png
new file mode 100644
index 00000000..1afd15ff
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_blue.png b/IconThemes/Locolor/32x32/filesystems/folder_blue.png
new file mode 100644
index 00000000..05a46cec
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_blue_open.png b/IconThemes/Locolor/32x32/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..eedf83c4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_cyan.png b/IconThemes/Locolor/32x32/filesystems/folder_cyan.png
new file mode 100644
index 00000000..5739f527
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_cyan_open.png b/IconThemes/Locolor/32x32/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..6244facd
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_green.png b/IconThemes/Locolor/32x32/filesystems/folder_green.png
new file mode 100644
index 00000000..51016617
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_green_open.png b/IconThemes/Locolor/32x32/filesystems/folder_green_open.png
new file mode 100644
index 00000000..c5611731
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_home.png b/IconThemes/Locolor/32x32/filesystems/folder_home.png
new file mode 100644
index 00000000..91642059
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_locked.png b/IconThemes/Locolor/32x32/filesystems/folder_locked.png
new file mode 100644
index 00000000..05aff0e5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_open.png b/IconThemes/Locolor/32x32/filesystems/folder_open.png
new file mode 100644
index 00000000..c5c0c7a7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_orange.png b/IconThemes/Locolor/32x32/filesystems/folder_orange.png
new file mode 100644
index 00000000..1973b0fe
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_orange_open.png b/IconThemes/Locolor/32x32/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..2c8f632c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_red.png b/IconThemes/Locolor/32x32/filesystems/folder_red.png
new file mode 100644
index 00000000..65c12004
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_red_open.png b/IconThemes/Locolor/32x32/filesystems/folder_red_open.png
new file mode 100644
index 00000000..01597b6a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_yellow.png b/IconThemes/Locolor/32x32/filesystems/folder_yellow.png
new file mode 100644
index 00000000..9a58e5ed
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/folder_yellow_open.png b/IconThemes/Locolor/32x32/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..05143987
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/ftp.png b/IconThemes/Locolor/32x32/filesystems/ftp.png
new file mode 100644
index 00000000..ff6b707e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/link.png b/IconThemes/Locolor/32x32/filesystems/link.png
new file mode 100644
index 00000000..3574d106
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/link.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/lockoverlay.png b/IconThemes/Locolor/32x32/filesystems/lockoverlay.png
new file mode 100644
index 00000000..1cb8b00d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/network.png b/IconThemes/Locolor/32x32/filesystems/network.png
new file mode 100644
index 00000000..db944c33
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/network.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/pipe.png b/IconThemes/Locolor/32x32/filesystems/pipe.png
new file mode 100644
index 00000000..26012f67
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/shredder.png b/IconThemes/Locolor/32x32/filesystems/shredder.png
new file mode 100644
index 00000000..513a6b0a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/socket.png b/IconThemes/Locolor/32x32/filesystems/socket.png
new file mode 100644
index 00000000..ce393df5
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/trashcan_empty.png b/IconThemes/Locolor/32x32/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..4350ce45
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/trashcan_full.png b/IconThemes/Locolor/32x32/filesystems/trashcan_full.png
new file mode 100644
index 00000000..890cdfd7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/www.png b/IconThemes/Locolor/32x32/filesystems/www.png
new file mode 100644
index 00000000..941c91f7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/www.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/filesystems/zip.png b/IconThemes/Locolor/32x32/filesystems/zip.png
new file mode 100644
index 00000000..cfc3bb40
--- /dev/null
+++ b/IconThemes/Locolor/32x32/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/applix.png b/IconThemes/Locolor/32x32/mimetypes/applix.png
new file mode 100644
index 00000000..f79f27f7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/binary.png b/IconThemes/Locolor/32x32/mimetypes/binary.png
new file mode 100644
index 00000000..c0f00efb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/binary2.png b/IconThemes/Locolor/32x32/mimetypes/binary2.png
new file mode 100644
index 00000000..a36630ce
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/core.png b/IconThemes/Locolor/32x32/mimetypes/core.png
new file mode 100644
index 00000000..fbbdf47c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/deb.png b/IconThemes/Locolor/32x32/mimetypes/deb.png
new file mode 100644
index 00000000..2c9860f1
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/document.png b/IconThemes/Locolor/32x32/mimetypes/document.png
new file mode 100644
index 00000000..70517049
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/dvi.png b/IconThemes/Locolor/32x32/mimetypes/dvi.png
new file mode 100644
index 00000000..7e41b17b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/empty.png b/IconThemes/Locolor/32x32/mimetypes/empty.png
new file mode 100644
index 00000000..16877675
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/font_bitmap.png b/IconThemes/Locolor/32x32/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..10d13a4d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/font_truetype.png b/IconThemes/Locolor/32x32/mimetypes/font_truetype.png
new file mode 100644
index 00000000..749597a9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/font_type1.png b/IconThemes/Locolor/32x32/mimetypes/font_type1.png
new file mode 100644
index 00000000..ce5cf3b7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/gettext.png b/IconThemes/Locolor/32x32/mimetypes/gettext.png
new file mode 100644
index 00000000..5f30af5b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/gettext.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/gf.png b/IconThemes/Locolor/32x32/mimetypes/gf.png
new file mode 100644
index 00000000..e67e90c3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/gf.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/html.png b/IconThemes/Locolor/32x32/mimetypes/html.png
new file mode 100644
index 00000000..3ed428fa
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/image.png b/IconThemes/Locolor/32x32/mimetypes/image.png
new file mode 100644
index 00000000..f1b817c3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/info.png b/IconThemes/Locolor/32x32/mimetypes/info.png
new file mode 100644
index 00000000..62575d92
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/kmultiple.png b/IconThemes/Locolor/32x32/mimetypes/kmultiple.png
new file mode 100644
index 00000000..4c92f6d7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/log.png b/IconThemes/Locolor/32x32/mimetypes/log.png
new file mode 100644
index 00000000..435e66bf
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/make.png b/IconThemes/Locolor/32x32/mimetypes/make.png
new file mode 100644
index 00000000..a4cd6094
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/man.png b/IconThemes/Locolor/32x32/mimetypes/man.png
new file mode 100644
index 00000000..ea16406b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/metafont.png b/IconThemes/Locolor/32x32/mimetypes/metafont.png
new file mode 100644
index 00000000..e6ac72ea
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/metafont.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/midi.png b/IconThemes/Locolor/32x32/mimetypes/midi.png
new file mode 100644
index 00000000..6bff4735
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/netscape_doc.png b/IconThemes/Locolor/32x32/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..7ca27fda
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/news.png b/IconThemes/Locolor/32x32/mimetypes/news.png
new file mode 100644
index 00000000..ac74f457
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/news.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/pdf.png b/IconThemes/Locolor/32x32/mimetypes/pdf.png
new file mode 100644
index 00000000..c30269de
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/pk.png b/IconThemes/Locolor/32x32/mimetypes/pk.png
new file mode 100644
index 00000000..ef69c307
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/pk.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/postscript.png b/IconThemes/Locolor/32x32/mimetypes/postscript.png
new file mode 100644
index 00000000..82ed24c2
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/readme.png b/IconThemes/Locolor/32x32/mimetypes/readme.png
new file mode 100644
index 00000000..37c39ead
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/recycled.png b/IconThemes/Locolor/32x32/mimetypes/recycled.png
new file mode 100644
index 00000000..3f736356
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/resource.png b/IconThemes/Locolor/32x32/mimetypes/resource.png
new file mode 100644
index 00000000..85047af4
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/rpm.png b/IconThemes/Locolor/32x32/mimetypes/rpm.png
new file mode 100644
index 00000000..839b1cde
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/shellscript.png b/IconThemes/Locolor/32x32/mimetypes/shellscript.png
new file mode 100644
index 00000000..3b68172b
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/shellscript2.png b/IconThemes/Locolor/32x32/mimetypes/shellscript2.png
new file mode 100644
index 00000000..339d7a0c
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/sound.png b/IconThemes/Locolor/32x32/mimetypes/sound.png
new file mode 100644
index 00000000..dd1d3b82
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source.png b/IconThemes/Locolor/32x32/mimetypes/source.png
new file mode 100644
index 00000000..d91b5293
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_c.png b/IconThemes/Locolor/32x32/mimetypes/source_c.png
new file mode 100644
index 00000000..f58a20eb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_cpp.png b/IconThemes/Locolor/32x32/mimetypes/source_cpp.png
new file mode 100644
index 00000000..476850d9
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_f.png b/IconThemes/Locolor/32x32/mimetypes/source_f.png
new file mode 100644
index 00000000..d971746e
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_h.png b/IconThemes/Locolor/32x32/mimetypes/source_h.png
new file mode 100644
index 00000000..81ad95bb
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_java.png b/IconThemes/Locolor/32x32/mimetypes/source_java.png
new file mode 100644
index 00000000..2e52cc77
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_l.png b/IconThemes/Locolor/32x32/mimetypes/source_l.png
new file mode 100644
index 00000000..cd5f3d4d
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_moc.png b/IconThemes/Locolor/32x32/mimetypes/source_moc.png
new file mode 100644
index 00000000..5d531d57
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_o.png b/IconThemes/Locolor/32x32/mimetypes/source_o.png
new file mode 100644
index 00000000..8cc963e3
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_p.png b/IconThemes/Locolor/32x32/mimetypes/source_p.png
new file mode 100644
index 00000000..c67c8fe7
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_pl.png b/IconThemes/Locolor/32x32/mimetypes/source_pl.png
new file mode 100644
index 00000000..d91b5293
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_py.png b/IconThemes/Locolor/32x32/mimetypes/source_py.png
new file mode 100644
index 00000000..f4aee83a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_s.png b/IconThemes/Locolor/32x32/mimetypes/source_s.png
new file mode 100644
index 00000000..487187f0
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/source_y.png b/IconThemes/Locolor/32x32/mimetypes/source_y.png
new file mode 100644
index 00000000..62fef16f
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/tar.png b/IconThemes/Locolor/32x32/mimetypes/tar.png
new file mode 100644
index 00000000..456bbfbc
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/tex.png b/IconThemes/Locolor/32x32/mimetypes/tex.png
new file mode 100644
index 00000000..8ef0f9d6
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/tgz.png b/IconThemes/Locolor/32x32/mimetypes/tgz.png
new file mode 100644
index 00000000..50d6e709
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/txt.png b/IconThemes/Locolor/32x32/mimetypes/txt.png
new file mode 100644
index 00000000..6bfaae3a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/unknown.png b/IconThemes/Locolor/32x32/mimetypes/unknown.png
new file mode 100644
index 00000000..ae2c8077
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/vcalendar.png b/IconThemes/Locolor/32x32/mimetypes/vcalendar.png
new file mode 100644
index 00000000..f3733f0a
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/vcalendar.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/vcard.png b/IconThemes/Locolor/32x32/mimetypes/vcard.png
new file mode 100644
index 00000000..26c39082
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/Locolor/32x32/mimetypes/video.png b/IconThemes/Locolor/32x32/mimetypes/video.png
new file mode 100644
index 00000000..8bec4d24
--- /dev/null
+++ b/IconThemes/Locolor/32x32/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/Locolor/LICENSE b/IconThemes/Locolor/LICENSE
new file mode 100644
index 00000000..8ad2078a
--- /dev/null
+++ b/IconThemes/Locolor/LICENSE
@@ -0,0 +1,2 @@
+The images inside this directory are COMPLETELY FREE for commercial and non-commercial use.
+Clarification: this means you can copy, modify and redistribute them.
diff --git a/IconThemes/Locolor/index.theme b/IconThemes/Locolor/index.theme
new file mode 100644
index 00000000..fc62480b
--- /dev/null
+++ b/IconThemes/Locolor/index.theme
@@ -0,0 +1,155 @@
+[Icon Theme]
+Name=KDE-LoColor
+Name[af]=Kde-laekleur
+Name[br]=KDE-Livioù izel
+Name[ca]=KDE-baixa profunditat de color
+Name[cs]=KDE - málobarevné
+Name[cy]=Isel-liw KDE
+Name[el]=KDE-Λίγα χρώματα
+Name[en_GB]=KDE-LoColour
+Name[eo]=KDE malmultkolora
+Name[es]=KDE-baja profundidad de color
+Name[et]=KDE väheste värvidega
+Name[eu]=KDE-Kolore sakontasun baxua
+Name[fi]=KDE-vähävärinen
+Name[fo]=KDE-Fáar litir
+Name[fy]=KDE-Lege Kleuren
+Name[gl]=KDE-Cores de baixa profundidade
+Name[he]=KDE ברמת צבע נמוכה
+Name[hi]=केडीई-कम-रंग
+Name[is]=KDE-láglita
+Name[it]=KDE-Pochi colori
+Name[ja]=KDE ローカラー
+Name[ka]=მცირეფერადოვანი KDE პიქტოგრამები
+Name[lt]=KDE – mažai spalvų
+Name[mt]=KDE-Ftit Kuluri
+Name[nb]=KDE-Lavfarge
+Name[nl]=KDE-Lage Kleuren
+Name[nn]=KDE Få fargar
+Name[pl]=KDE-mało kolorów
+Name[pt_BR]=KDE-256 cores
+Name[ro]=KDE Culori puţine
+Name[ru]=Значки KDE с малым количеством цветов
+Name[sk]=KDE málo farieb
+Name[sl]=KDE - Malo barv
+Name[sr]=KDE-са мало боја
+Name[sr@Latn]=KDE-sa malo boja
+Name[sv]=KDE-färgfattig
+Name[ta]=KDE-மங்கிய வண்ணம்
+Name[tg]=Пиктограммаи KDE бо рангҳои миқдораш кам
+Name[th]=KDE แบบสีน้อย
+Name[tr]=KDE-Düşük Renk
+Name[uk]=KDE мало-колірна
+Name[zh_CN]=KDE 低色彩
+Name[zh_TW]=KDE 低彩
+Name[zu]=KDE-Lombala
+Comment=Lowcolor Icon Theme
+Comment[af]=Laekleur Ikoon Tema
+Comment[bg]=Тема с икони с ниско качество на цветовете (8, 16 бита)
+Comment[br]=Giz arlun liv izel
+Comment[bs]=Tema ikona sa malo boja
+Comment[ca]=Tema d'icones en color de baixa profunditat
+Comment[cs]=Motiv ikon pro málo barev
+Comment[cy]=Thema Eicon Isel-liw
+Comment[da]=Lavfarvet ikon-tema
+Comment[de]=Das Symboldesign für Monitoreinstellungen mit wenigen Farben
+Comment[el]=Θέμα εικονιδίων λίγων χρωμάτων
+Comment[en_GB]=Lowcolour Icon Theme
+Comment[eo]=Etoso kun malmultkoloraj piktogramoj
+Comment[es]=Tema de iconos en color de baja profundidad
+Comment[et]=Väheste värvidega ikooniteema
+Comment[eu]=Kolore sakontasun baxuko ikono gaia
+Comment[fa]=چهرۀ شمایل کم رنگ
+Comment[fi]=Vähävärinen kuvaketeema
+Comment[fo]=Láglitt teknmynda evnisrøð
+Comment[fr]=Thème d'icônes en bas niveau de couleurs
+Comment[fy]=Piktogramtema mei in bytsje kleur
+Comment[gl]=Ícones en cores de baixa profundidade
+Comment[he]=ערכת סמלים ברמת צבע נמוכה
+Comment[hi]=कम-रंग प्रतीक प्रसंग
+Comment[hu]=Kevés színt használó ikontéma
+Comment[is]=Táknmyndaþema með fáum litum
+Comment[it]=Tema icone con pochi colori
+Comment[ja]=ローカラーアイコンテーマ
+Comment[ka]=მცირეფერადოვანი პიქტოგრამების თემა
+Comment[lt]=Mažos spalvų gebos piktogramų tema
+Comment[lv]=Mazkrāsu Ikonu Tēma
+Comment[mk]=Тема за икони со малку бои
+Comment[ms]=Tema Ikon Warna Rendah
+Comment[mt]=Tema ta' Ikoni bi ftit kuluri
+Comment[nb]=Lavfarge Ikontema
+Comment[nds]=Lüttbildmuster mit wenig Klören
+Comment[ne]=न्यून रङ प्रतिमा विषयवस्तु
+Comment[nl]=Pictogramthema met weinig kleuren
+Comment[nn]=Ikontema med få fargar
+Comment[pl]=Motyw ikon dla małej ilości kolorów
+Comment[pt]=Tema de Ícones com Poucas Cores
+Comment[pt_BR]=Temas de resolução baixa
+Comment[ro]=Tematică de iconiţe cu număr redus de culori
+Comment[ru]=Тема со значками, использующими малое количество цветов
+Comment[sk]=Ikonová téma s málo farbami
+Comment[sl]=Ikonska tema z malim številom barv
+Comment[sr]=Тема икона са мало боја
+Comment[sr@Latn]=Tema ikona sa malo boja
+Comment[sv]=Färgfattigt ikontema
+Comment[ta]=குறைவண்ண சின்னப் பொருள்
+Comment[tg]=Мавзӯъ бо пиктограммаҳо ҳангоми истифодашавии миқдори ками ранг
+Comment[th]=ธีมไอคอนความละเอียดสีต่ำ
+Comment[tr]=Düşük Renkli Simge Teması
+Comment[uk]=Тема з мало-колірними піктограмами
+Comment[ven]=Thero ya ndeme ya Muvhala wa Fhasi
+Comment[vi]=Sắc thái Biểu tượng Ít màu
+Comment[xh]=Umbala osezantsi womxholo wokuxoxwa we Icon
+Comment[zh_CN]=低色彩图标主题
+Comment[zh_TW]=低色彩圖示主題
+Comment[zu]=Umbala ongaphansi wogcizelelo lwe Icon
+Inherits=default
+DisplayDepth=8
+DesktopDefault=32
+DesktopSizes=16,32
+ToolbarDefault=16
+ToolbarSizes=16,32
+MainToolbarDefault=16
+MainToolbarSizes=16,32
+SmallDefault=16
+SmallSizes=16
+PanelDefault=16
+PanelSizes=16,32
+LockOverlay=lockoverlay
+Directories=16x16/actions,16x16/apps,16x16/devices,16x16/filesystems,16x16/mimetypes,32x32/apps,32x32/devices,32x32/filesystems,32x32/mimetypes
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Fixed
+[16x16/apps]
+Size=16
+Context=Applications
+Type=Fixed
+[16x16/devices]
+Size=16
+Context=Devices
+Type=Fixed
+[16x16/filesystems]
+Size=16
+Context=FileSystems
+Type=Fixed
+[16x16/mimetypes]
+Size=16
+Context=MimeTypes
+Type=Fixed
+[32x32/apps]
+Size=32
+Context=Applications
+Type=Fixed
+[32x32/devices]
+Size=32
+Context=Devices
+Type=Fixed
+[32x32/filesystems]
+Size=32
+Context=FileSystems
+Type=Fixed
+[32x32/mimetypes]
+Size=32
+Context=MimeTypes
+Type=Fixed
diff --git a/IconThemes/Makefile.am b/IconThemes/Makefile.am
new file mode 100644
index 00000000..e5f890c9
--- /dev/null
+++ b/IconThemes/Makefile.am
@@ -0,0 +1,34 @@
+## kdeartwork/Makefile.am
+## (C) 1997-2001 Stephan Kulow
+
+install-exec-am: install-data-local
+
+ICONTHEMES=Locolor ikons kdeclassic slick kids
+
+# For Themes
+themesdir = $(kde_datadir)/kthememgr/Themes
+install-data-local:
+ @for theme in $(ICONTHEMES) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/$$theme ; \
+ $(INSTALL_DATA) $(top_srcdir)/IconThemes/$$theme/index.theme $(DESTDIR)$(kde_icondir)/$$theme ; \
+ sizes=`cd $(top_srcdir)/IconThemes/$$theme && ls -1`; \
+ for size in $$sizes ; do \
+ if [ -d $(top_srcdir)/IconThemes/$$theme/$$size -a $$size != "CVS" -a $$size != ".svn" ]; then \
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/$$theme/$$size ; \
+ for group in actions apps devices filesystems mimetypes; do \
+ if [ -d $(top_srcdir)/IconThemes/$$theme/$$size/$$group ]; then \
+ echo "installing $$theme/$$size/$$group" ; \
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/$$theme/$$size/$$group ; \
+ pngs=`cd $(top_srcdir)/IconThemes/$$theme/$$size/$$group && ls -1 *.png 2> /dev/null`; \
+ for png in $$pngs; do $(INSTALL_DATA) $(top_srcdir)/IconThemes/$$theme/$$size/$$group/$$png \
+ $(DESTDIR)$(kde_icondir)/$$theme/$$size/$$group/$$png ; done; \
+ mngs=`cd $(top_srcdir)/IconThemes/$$theme/$$size/$$group && ls -1 *.mng 2> /dev/null`; \
+ for mng in $$mngs; do \
+ $(INSTALL_DATA) $(top_srcdir)/IconThemes/$$theme/$$size/$$group/$$mng \
+ $(DESTDIR)$(kde_icondir)/$$theme/$$size/$$group/$$mng ; done; \
+ fi ; \
+ done ; \
+ fi ; \
+ done ; \
+ done
+
diff --git a/IconThemes/ikons/16x16/actions/1day.png b/IconThemes/ikons/16x16/actions/1day.png
new file mode 100644
index 00000000..c6fee5ac
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/1day.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/1downarrow.png b/IconThemes/ikons/16x16/actions/1downarrow.png
new file mode 100644
index 00000000..bb208e54
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/1leftarrow.png b/IconThemes/ikons/16x16/actions/1leftarrow.png
new file mode 100644
index 00000000..2ba19b8f
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/1rightarrow.png b/IconThemes/ikons/16x16/actions/1rightarrow.png
new file mode 100644
index 00000000..1a732b1e
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/1uparrow.png b/IconThemes/ikons/16x16/actions/1uparrow.png
new file mode 100644
index 00000000..44d7c61c
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/2downarrow.png b/IconThemes/ikons/16x16/actions/2downarrow.png
new file mode 100644
index 00000000..13ce1928
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/2leftarrow.png b/IconThemes/ikons/16x16/actions/2leftarrow.png
new file mode 100644
index 00000000..e3bb9502
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/2rightarrow.png b/IconThemes/ikons/16x16/actions/2rightarrow.png
new file mode 100644
index 00000000..00b68e8a
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/2uparrow.png b/IconThemes/ikons/16x16/actions/2uparrow.png
new file mode 100644
index 00000000..eda4ddea
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/3downarrow.png b/IconThemes/ikons/16x16/actions/3downarrow.png
new file mode 100644
index 00000000..1e6d368f
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/3downarrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/3uparrow.png b/IconThemes/ikons/16x16/actions/3uparrow.png
new file mode 100644
index 00000000..d60968e6
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/3uparrow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/5days.png b/IconThemes/ikons/16x16/actions/5days.png
new file mode 100644
index 00000000..a75c6778
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/5days.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/7days.png b/IconThemes/ikons/16x16/actions/7days.png
new file mode 100644
index 00000000..96b6336a
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/7days.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/appointment.png b/IconThemes/ikons/16x16/actions/appointment.png
new file mode 100644
index 00000000..f5bc948b
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/appointment.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/back.png b/IconThemes/ikons/16x16/actions/back.png
new file mode 100644
index 00000000..c6a61f74
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/back.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/bookmark_add.png b/IconThemes/ikons/16x16/actions/bookmark_add.png
new file mode 100644
index 00000000..47db4a8e
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/bookmark_folder.png b/IconThemes/ikons/16x16/actions/bookmark_folder.png
new file mode 100644
index 00000000..966e359d
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/curfiledir.png b/IconThemes/ikons/16x16/actions/curfiledir.png
new file mode 100644
index 00000000..8ccb370b
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/curfiledir.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/down.png b/IconThemes/ikons/16x16/actions/down.png
new file mode 100644
index 00000000..44dbe514
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/down.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/edit_add.png b/IconThemes/ikons/16x16/actions/edit_add.png
new file mode 100644
index 00000000..905061ec
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/edit_add.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/edit_remove.png b/IconThemes/ikons/16x16/actions/edit_remove.png
new file mode 100644
index 00000000..bfad7084
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/edit_remove.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/editcopy.png b/IconThemes/ikons/16x16/actions/editcopy.png
new file mode 100644
index 00000000..4ff54203
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/editcut.png b/IconThemes/ikons/16x16/actions/editcut.png
new file mode 100644
index 00000000..df0139f5
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/editcut.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/editdelete.png b/IconThemes/ikons/16x16/actions/editdelete.png
new file mode 100644
index 00000000..5999892c
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/editpaste.png b/IconThemes/ikons/16x16/actions/editpaste.png
new file mode 100644
index 00000000..b6f3a5d0
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/filefind.png b/IconThemes/ikons/16x16/actions/filefind.png
new file mode 100644
index 00000000..f1acc0ec
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/filefind.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/filenew.png b/IconThemes/ikons/16x16/actions/filenew.png
new file mode 100644
index 00000000..16b6aa36
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/filenew.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/fileopen.png b/IconThemes/ikons/16x16/actions/fileopen.png
new file mode 100644
index 00000000..48c776cb
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/fileprint.png b/IconThemes/ikons/16x16/actions/fileprint.png
new file mode 100644
index 00000000..2e2d48dd
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/filequickprint.png b/IconThemes/ikons/16x16/actions/filequickprint.png
new file mode 100644
index 00000000..db68e980
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/filesave.png b/IconThemes/ikons/16x16/actions/filesave.png
new file mode 100644
index 00000000..6a9adc13
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/filesave.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/filesaveas.png b/IconThemes/ikons/16x16/actions/filesaveas.png
new file mode 100644
index 00000000..ef0e8c7f
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/find.png b/IconThemes/ikons/16x16/actions/find.png
new file mode 100644
index 00000000..35504390
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/find.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/folder_new.png b/IconThemes/ikons/16x16/actions/folder_new.png
new file mode 100644
index 00000000..4fbb741b
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/forward.png b/IconThemes/ikons/16x16/actions/forward.png
new file mode 100644
index 00000000..3af48882
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/forward.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/frameprint.png b/IconThemes/ikons/16x16/actions/frameprint.png
new file mode 100644
index 00000000..2a51ea04
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/hotsync.png b/IconThemes/ikons/16x16/actions/hotsync.png
new file mode 100644
index 00000000..98c743d6
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/hotsync.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/hotsync_busy.png b/IconThemes/ikons/16x16/actions/hotsync_busy.png
new file mode 100644
index 00000000..e3b79c39
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/hotsync_busy.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde1.png b/IconThemes/ikons/16x16/actions/kde1.png
new file mode 100644
index 00000000..bdf9d80e
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde1.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde2.png b/IconThemes/ikons/16x16/actions/kde2.png
new file mode 100644
index 00000000..afa39a77
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde2.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde3.png b/IconThemes/ikons/16x16/actions/kde3.png
new file mode 100644
index 00000000..6c29ad98
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde3.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde4.png b/IconThemes/ikons/16x16/actions/kde4.png
new file mode 100644
index 00000000..4d9db0ba
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde4.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde5.png b/IconThemes/ikons/16x16/actions/kde5.png
new file mode 100644
index 00000000..176bd3f2
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde5.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kde6.png b/IconThemes/ikons/16x16/actions/kde6.png
new file mode 100644
index 00000000..f68af7c0
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kde6.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/kill.png b/IconThemes/ikons/16x16/actions/kill.png
new file mode 100644
index 00000000..6f790cbf
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/kill.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/list.png b/IconThemes/ikons/16x16/actions/list.png
new file mode 100644
index 00000000..9b581558
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/list.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/mail_generic.png b/IconThemes/ikons/16x16/actions/mail_generic.png
new file mode 100644
index 00000000..22e0b85e
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/month.png b/IconThemes/ikons/16x16/actions/month.png
new file mode 100644
index 00000000..8524a9b7
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/month.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunback.png b/IconThemes/ikons/16x16/actions/noatunback.png
new file mode 100644
index 00000000..2c11a1e9
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunforward.png b/IconThemes/ikons/16x16/actions/noatunforward.png
new file mode 100644
index 00000000..69a68554
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunloopnone.png b/IconThemes/ikons/16x16/actions/noatunloopnone.png
new file mode 100644
index 00000000..3204ac0b
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunloopnone.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunpause.png b/IconThemes/ikons/16x16/actions/noatunpause.png
new file mode 100644
index 00000000..1b54941d
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunplay.png b/IconThemes/ikons/16x16/actions/noatunplay.png
new file mode 100644
index 00000000..7902732d
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunplaylist.png b/IconThemes/ikons/16x16/actions/noatunplaylist.png
new file mode 100644
index 00000000..6a7bc275
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/noatunstop.png b/IconThemes/ikons/16x16/actions/noatunstop.png
new file mode 100644
index 00000000..651ca4a7
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/player_eject.png b/IconThemes/ikons/16x16/actions/player_eject.png
new file mode 100644
index 00000000..6a7bc275
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/player_end.png b/IconThemes/ikons/16x16/actions/player_end.png
new file mode 100644
index 00000000..69a68554
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/player_end.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/player_pause.png b/IconThemes/ikons/16x16/actions/player_pause.png
new file mode 100644
index 00000000..1b54941d
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/player_start.png b/IconThemes/ikons/16x16/actions/player_start.png
new file mode 100644
index 00000000..2c11a1e9
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/player_start.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/player_stop.png b/IconThemes/ikons/16x16/actions/player_stop.png
new file mode 100644
index 00000000..651ca4a7
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/recycle.png b/IconThemes/ikons/16x16/actions/recycle.png
new file mode 100644
index 00000000..037ab515
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/recycle.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/redo.png b/IconThemes/ikons/16x16/actions/redo.png
new file mode 100644
index 00000000..eb4c8173
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/redo.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/reload.png b/IconThemes/ikons/16x16/actions/reload.png
new file mode 100644
index 00000000..546ace81
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/reload.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/run.png b/IconThemes/ikons/16x16/actions/run.png
new file mode 100644
index 00000000..c84e8555
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/run.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/save_all.png b/IconThemes/ikons/16x16/actions/save_all.png
new file mode 100644
index 00000000..70edca28
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/save_all.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/stop.png b/IconThemes/ikons/16x16/actions/stop.png
new file mode 100644
index 00000000..5630932b
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/stop.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/stop_hand.png b/IconThemes/ikons/16x16/actions/stop_hand.png
new file mode 100644
index 00000000..ae008a39
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/stop_hand.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/tandwiel_folder.png b/IconThemes/ikons/16x16/actions/tandwiel_folder.png
new file mode 100644
index 00000000..3de44d91
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/tandwiel_folder.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/today.png b/IconThemes/ikons/16x16/actions/today.png
new file mode 100644
index 00000000..1157b1b0
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/today.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/todo.png b/IconThemes/ikons/16x16/actions/todo.png
new file mode 100644
index 00000000..2d6a3ebb
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/todo.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/undo.png b/IconThemes/ikons/16x16/actions/undo.png
new file mode 100644
index 00000000..a0d092aa
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/undo.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/up.png b/IconThemes/ikons/16x16/actions/up.png
new file mode 100644
index 00000000..fe329f68
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/up.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/view_bottom.png b/IconThemes/ikons/16x16/actions/view_bottom.png
new file mode 100644
index 00000000..22cd99c0
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/view_right.png b/IconThemes/ikons/16x16/actions/view_right.png
new file mode 100644
index 00000000..ea2513c5
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/view_right.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/viewmag+.png b/IconThemes/ikons/16x16/actions/viewmag+.png
new file mode 100644
index 00000000..f059221d
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/viewmag-.png b/IconThemes/ikons/16x16/actions/viewmag-.png
new file mode 100644
index 00000000..a3a0d559
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/viewmag.png b/IconThemes/ikons/16x16/actions/viewmag.png
new file mode 100644
index 00000000..99caa817
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/whatsnext.png b/IconThemes/ikons/16x16/actions/whatsnext.png
new file mode 100644
index 00000000..c37698e4
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/whatsnext.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/window_new.png b/IconThemes/ikons/16x16/actions/window_new.png
new file mode 100644
index 00000000..0f0fe73a
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/window_new.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/actions/wizard.png b/IconThemes/ikons/16x16/actions/wizard.png
new file mode 100644
index 00000000..f4d898aa
--- /dev/null
+++ b/IconThemes/ikons/16x16/actions/wizard.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/exec.png b/IconThemes/ikons/16x16/apps/exec.png
new file mode 100644
index 00000000..e2eff82d
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/exec.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/gimp.png b/IconThemes/ikons/16x16/apps/gimp.png
new file mode 100644
index 00000000..911f4d25
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/gimp.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/go_old.png b/IconThemes/ikons/16x16/apps/go_old.png
new file mode 100644
index 00000000..91922827
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/go_old.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kandy.png b/IconThemes/ikons/16x16/apps/kandy.png
new file mode 100644
index 00000000..68827124
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kandy.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kcontrol.png b/IconThemes/ikons/16x16/apps/kcontrol.png
new file mode 100644
index 00000000..49b03cd8
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kdisknav.png b/IconThemes/ikons/16x16/apps/kdisknav.png
new file mode 100644
index 00000000..5c32edc8
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kjobviewer.png b/IconThemes/ikons/16x16/apps/kjobviewer.png
new file mode 100644
index 00000000..8292c36d
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kljettool.png b/IconThemes/ikons/16x16/apps/kljettool.png
new file mode 100644
index 00000000..73138185
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kljettool.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/klpq.png b/IconThemes/ikons/16x16/apps/klpq.png
new file mode 100644
index 00000000..7d594454
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/klpq.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/konqsidebar_mediaplayer.png b/IconThemes/ikons/16x16/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..ca5471e5
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/konsole.png b/IconThemes/ikons/16x16/apps/konsole.png
new file mode 100644
index 00000000..5c5c2f55
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/konsole.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/kpilot.png b/IconThemes/ikons/16x16/apps/kpilot.png
new file mode 100644
index 00000000..118f7fb5
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/noatun.png b/IconThemes/ikons/16x16/apps/noatun.png
new file mode 100644
index 00000000..3ae77c9b
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/noatun.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/printer1.png b/IconThemes/ikons/16x16/apps/printer1.png
new file mode 100644
index 00000000..da995ec5
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/printer1.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/printer2.png b/IconThemes/ikons/16x16/apps/printer2.png
new file mode 100644
index 00000000..da995ec5
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/printer2.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/printmgr.png b/IconThemes/ikons/16x16/apps/printmgr.png
new file mode 100644
index 00000000..8292c36d
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/apps/wcspeedtouch.png b/IconThemes/ikons/16x16/apps/wcspeedtouch.png
new file mode 100644
index 00000000..76502692
--- /dev/null
+++ b/IconThemes/ikons/16x16/apps/wcspeedtouch.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/3floppy_mount.png b/IconThemes/ikons/16x16/devices/3floppy_mount.png
new file mode 100644
index 00000000..2ed1b45a
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/3floppy_unmount.png b/IconThemes/ikons/16x16/devices/3floppy_unmount.png
new file mode 100644
index 00000000..3e467815
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/5floppy_mount.png b/IconThemes/ikons/16x16/devices/5floppy_mount.png
new file mode 100644
index 00000000..e4dcb236
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/5floppy_unmount.png b/IconThemes/ikons/16x16/devices/5floppy_unmount.png
new file mode 100644
index 00000000..d88d2dc7
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdaudio_mount.png b/IconThemes/ikons/16x16/devices/cdaudio_mount.png
new file mode 100644
index 00000000..be3f771c
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdaudio_unmount.png b/IconThemes/ikons/16x16/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..968b39de
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdrom_mount.png b/IconThemes/ikons/16x16/devices/cdrom_mount.png
new file mode 100644
index 00000000..261a3a01
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdrom_unmount.png b/IconThemes/ikons/16x16/devices/cdrom_unmount.png
new file mode 100644
index 00000000..0d990de0
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdwriter_mount.png b/IconThemes/ikons/16x16/devices/cdwriter_mount.png
new file mode 100644
index 00000000..c94ea51c
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/cdwriter_unmount.png b/IconThemes/ikons/16x16/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..39093726
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/dvd_mount.png b/IconThemes/ikons/16x16/devices/dvd_mount.png
new file mode 100644
index 00000000..a2186e7b
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/dvd_unmount.png b/IconThemes/ikons/16x16/devices/dvd_unmount.png
new file mode 100644
index 00000000..4c8d5a5a
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/mo_mount.png b/IconThemes/ikons/16x16/devices/mo_mount.png
new file mode 100644
index 00000000..ee6e36fc
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/mo_unmount.png b/IconThemes/ikons/16x16/devices/mo_unmount.png
new file mode 100644
index 00000000..c359a4e9
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/mp3_player.png b/IconThemes/ikons/16x16/devices/mp3_player.png
new file mode 100644
index 00000000..a00e1971
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/mp3_player.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/pda.png b/IconThemes/ikons/16x16/devices/pda.png
new file mode 100644
index 00000000..daabe214
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/pda.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/phone.png b/IconThemes/ikons/16x16/devices/phone.png
new file mode 100644
index 00000000..68827124
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/phone.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/speedtouch_ADSL_modem.png b/IconThemes/ikons/16x16/devices/speedtouch_ADSL_modem.png
new file mode 100644
index 00000000..76502692
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/speedtouch_ADSL_modem.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/zip_mount.png b/IconThemes/ikons/16x16/devices/zip_mount.png
new file mode 100644
index 00000000..ff178a0e
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/devices/zip_unmount.png b/IconThemes/ikons/16x16/devices/zip_unmount.png
new file mode 100644
index 00000000..3582b7dd
--- /dev/null
+++ b/IconThemes/ikons/16x16/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/exec.png b/IconThemes/ikons/16x16/filesystems/exec.png
new file mode 100644
index 00000000..e2eff82d
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder.png b/IconThemes/ikons/16x16/filesystems/folder.png
new file mode 100644
index 00000000..0de33640
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_blue.png b/IconThemes/ikons/16x16/filesystems/folder_blue.png
new file mode 100644
index 00000000..a0ab22e3
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_cyan.png b/IconThemes/ikons/16x16/filesystems/folder_cyan.png
new file mode 100644
index 00000000..6323d940
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_green.png b/IconThemes/ikons/16x16/filesystems/folder_green.png
new file mode 100644
index 00000000..6c881c78
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_grey.png b/IconThemes/ikons/16x16/filesystems/folder_grey.png
new file mode 100644
index 00000000..4fc12bde
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_grey_open.png b/IconThemes/ikons/16x16/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..2afb5a90
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_home.png b/IconThemes/ikons/16x16/filesystems/folder_home.png
new file mode 100644
index 00000000..76e80ab9
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_html.png b/IconThemes/ikons/16x16/filesystems/folder_html.png
new file mode 100644
index 00000000..58669003
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_image.png b/IconThemes/ikons/16x16/filesystems/folder_image.png
new file mode 100644
index 00000000..9a1cc3f9
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_important.png b/IconThemes/ikons/16x16/filesystems/folder_important.png
new file mode 100644
index 00000000..a3573148
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_locked.png b/IconThemes/ikons/16x16/filesystems/folder_locked.png
new file mode 100644
index 00000000..cdeed203
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_man.png b/IconThemes/ikons/16x16/filesystems/folder_man.png
new file mode 100644
index 00000000..6e5b382d
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_open.png b/IconThemes/ikons/16x16/filesystems/folder_open.png
new file mode 100644
index 00000000..36334aa3
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_orange.png b/IconThemes/ikons/16x16/filesystems/folder_orange.png
new file mode 100644
index 00000000..6ffef675
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_red.png b/IconThemes/ikons/16x16/filesystems/folder_red.png
new file mode 100644
index 00000000..39da99a2
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_sound.png b/IconThemes/ikons/16x16/filesystems/folder_sound.png
new file mode 100644
index 00000000..f14117b3
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_tar.png b/IconThemes/ikons/16x16/filesystems/folder_tar.png
new file mode 100644
index 00000000..75a195b2
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_violet.png b/IconThemes/ikons/16x16/filesystems/folder_violet.png
new file mode 100644
index 00000000..b510b2ff
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/filesystems/folder_yellow.png b/IconThemes/ikons/16x16/filesystems/folder_yellow.png
new file mode 100644
index 00000000..7a5cab7a
--- /dev/null
+++ b/IconThemes/ikons/16x16/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/ikons/16x16/mimetypes/image.png b/IconThemes/ikons/16x16/mimetypes/image.png
new file mode 100644
index 00000000..ee5f5c70
--- /dev/null
+++ b/IconThemes/ikons/16x16/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/1day.png b/IconThemes/ikons/22x22/actions/1day.png
new file mode 100644
index 00000000..c03a73eb
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/1day.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/1leftarrow.png b/IconThemes/ikons/22x22/actions/1leftarrow.png
new file mode 100644
index 00000000..bd4f134d
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/1rightarrow.png b/IconThemes/ikons/22x22/actions/1rightarrow.png
new file mode 100644
index 00000000..d12a7a20
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/5days.png b/IconThemes/ikons/22x22/actions/5days.png
new file mode 100644
index 00000000..010e868d
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/5days.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/7days.png b/IconThemes/ikons/22x22/actions/7days.png
new file mode 100644
index 00000000..5eb69ecc
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/7days.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/alarmd.png b/IconThemes/ikons/22x22/actions/alarmd.png
new file mode 100644
index 00000000..4a196e70
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/alarmd.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/appointment.png b/IconThemes/ikons/22x22/actions/appointment.png
new file mode 100644
index 00000000..9bae7172
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/appointment.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_adddir.png b/IconThemes/ikons/22x22/actions/ark_adddir.png
new file mode 100644
index 00000000..69c46f53
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_adddir.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_addfile.png b/IconThemes/ikons/22x22/actions/ark_addfile.png
new file mode 100644
index 00000000..921007b3
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_addfile.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_delete.png b/IconThemes/ikons/22x22/actions/ark_delete.png
new file mode 100644
index 00000000..fd2a121e
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_delete.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_extract.png b/IconThemes/ikons/22x22/actions/ark_extract.png
new file mode 100644
index 00000000..09b926bb
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_extract.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_selectall.png b/IconThemes/ikons/22x22/actions/ark_selectall.png
new file mode 100644
index 00000000..22f6e68d
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_selectall.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/ark_view.png b/IconThemes/ikons/22x22/actions/ark_view.png
new file mode 100644
index 00000000..ee5d01c3
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/ark_view.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/back.png b/IconThemes/ikons/22x22/actions/back.png
new file mode 100644
index 00000000..f1862572
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/back.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/down.png b/IconThemes/ikons/22x22/actions/down.png
new file mode 100644
index 00000000..fb608f62
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/down.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/edit_add.png b/IconThemes/ikons/22x22/actions/edit_add.png
new file mode 100644
index 00000000..2684b4fa
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/edit_add.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/edit_remove.png b/IconThemes/ikons/22x22/actions/edit_remove.png
new file mode 100644
index 00000000..3aec4def
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/edit_remove.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/editcopy.png b/IconThemes/ikons/22x22/actions/editcopy.png
new file mode 100644
index 00000000..65996ce4
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/editcut.png b/IconThemes/ikons/22x22/actions/editcut.png
new file mode 100644
index 00000000..e8cd41e7
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/editcut.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/editdelete.png b/IconThemes/ikons/22x22/actions/editdelete.png
new file mode 100644
index 00000000..0091c22c
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/editpaste.png b/IconThemes/ikons/22x22/actions/editpaste.png
new file mode 100644
index 00000000..feea3959
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/filefind.png b/IconThemes/ikons/22x22/actions/filefind.png
new file mode 100644
index 00000000..66d8f3ad
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/filefind.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/filenew.png b/IconThemes/ikons/22x22/actions/filenew.png
new file mode 100644
index 00000000..0349f3a0
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/filenew.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/fileopen.png b/IconThemes/ikons/22x22/actions/fileopen.png
new file mode 100644
index 00000000..40b6b1e3
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/fileprint.png b/IconThemes/ikons/22x22/actions/fileprint.png
new file mode 100644
index 00000000..cb7afdd2
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/filequickprint.png b/IconThemes/ikons/22x22/actions/filequickprint.png
new file mode 100644
index 00000000..e620dc83
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/filesave.png b/IconThemes/ikons/22x22/actions/filesave.png
new file mode 100644
index 00000000..31a491a7
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/filesave.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/filesaveas.png b/IconThemes/ikons/22x22/actions/filesaveas.png
new file mode 100644
index 00000000..144faa4a
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/find.png b/IconThemes/ikons/22x22/actions/find.png
new file mode 100644
index 00000000..d0038b29
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/find.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/finish.png b/IconThemes/ikons/22x22/actions/finish.png
new file mode 100644
index 00000000..13bf38f7
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/finish.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/folder_new.png b/IconThemes/ikons/22x22/actions/folder_new.png
new file mode 100644
index 00000000..4f620051
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/forward.png b/IconThemes/ikons/22x22/actions/forward.png
new file mode 100644
index 00000000..17c0026d
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/forward.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/frameprint.png b/IconThemes/ikons/22x22/actions/frameprint.png
new file mode 100644
index 00000000..49926672
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/hotsync.png b/IconThemes/ikons/22x22/actions/hotsync.png
new file mode 100644
index 00000000..cf551da4
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/hotsync.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/hotsync_busy.png b/IconThemes/ikons/22x22/actions/hotsync_busy.png
new file mode 100644
index 00000000..26e9b6e9
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/hotsync_busy.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/kill.png b/IconThemes/ikons/22x22/actions/kill.png
new file mode 100644
index 00000000..809e9ffd
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/kill.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/list.png b/IconThemes/ikons/22x22/actions/list.png
new file mode 100644
index 00000000..1e05a1e5
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/list.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/mail_generic.png b/IconThemes/ikons/22x22/actions/mail_generic.png
new file mode 100644
index 00000000..8f5826f8
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/mail_get.png b/IconThemes/ikons/22x22/actions/mail_get.png
new file mode 100644
index 00000000..7f4138d2
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/month.png b/IconThemes/ikons/22x22/actions/month.png
new file mode 100644
index 00000000..d2c75a04
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/month.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/newtodo.png b/IconThemes/ikons/22x22/actions/newtodo.png
new file mode 100644
index 00000000..5848d63b
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/newtodo.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunback.png b/IconThemes/ikons/22x22/actions/noatunback.png
new file mode 100644
index 00000000..3be912aa
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunforward.png b/IconThemes/ikons/22x22/actions/noatunforward.png
new file mode 100644
index 00000000..f3b565b4
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunloopnone.png b/IconThemes/ikons/22x22/actions/noatunloopnone.png
new file mode 100644
index 00000000..69bba344
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunloopnone.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunloopplaylist.png b/IconThemes/ikons/22x22/actions/noatunloopplaylist.png
new file mode 100644
index 00000000..46ad035b
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunloopplaylist.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunloopsong.png b/IconThemes/ikons/22x22/actions/noatunloopsong.png
new file mode 100644
index 00000000..3a7e6ace
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunloopsong.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunpause.png b/IconThemes/ikons/22x22/actions/noatunpause.png
new file mode 100644
index 00000000..52b864db
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunplay.png b/IconThemes/ikons/22x22/actions/noatunplay.png
new file mode 100644
index 00000000..a5c247e2
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunplaylist.png b/IconThemes/ikons/22x22/actions/noatunplaylist.png
new file mode 100644
index 00000000..7e36af8a
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/noatunstop.png b/IconThemes/ikons/22x22/actions/noatunstop.png
new file mode 100644
index 00000000..3a8dbcf5
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/openterm.png b/IconThemes/ikons/22x22/actions/openterm.png
new file mode 100644
index 00000000..3b5d4f8e
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/openterm.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/player_eject.png b/IconThemes/ikons/22x22/actions/player_eject.png
new file mode 100644
index 00000000..51afb75e
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/player_end.png b/IconThemes/ikons/22x22/actions/player_end.png
new file mode 100644
index 00000000..f3b565b4
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/player_end.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/player_pause.png b/IconThemes/ikons/22x22/actions/player_pause.png
new file mode 100644
index 00000000..cb79944c
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/player_start.png b/IconThemes/ikons/22x22/actions/player_start.png
new file mode 100644
index 00000000..3be912aa
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/player_start.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/player_stop.png b/IconThemes/ikons/22x22/actions/player_stop.png
new file mode 100644
index 00000000..3a8dbcf5
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/recycle.png b/IconThemes/ikons/22x22/actions/recycle.png
new file mode 100644
index 00000000..a804d937
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/recycle.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/redo.png b/IconThemes/ikons/22x22/actions/redo.png
new file mode 100644
index 00000000..8c33b0f3
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/redo.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/reload.png b/IconThemes/ikons/22x22/actions/reload.png
new file mode 100644
index 00000000..f746d7aa
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/reload.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/run.png b/IconThemes/ikons/22x22/actions/run.png
new file mode 100644
index 00000000..d5669dce
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/run.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/start.png b/IconThemes/ikons/22x22/actions/start.png
new file mode 100644
index 00000000..1dad19b5
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/start.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/stop.png b/IconThemes/ikons/22x22/actions/stop.png
new file mode 100644
index 00000000..d991922c
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/stop.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/stop_hand.png b/IconThemes/ikons/22x22/actions/stop_hand.png
new file mode 100644
index 00000000..13e80519
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/stop_hand.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/timespan.png b/IconThemes/ikons/22x22/actions/timespan.png
new file mode 100644
index 00000000..f05f755e
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/timespan.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/today.png b/IconThemes/ikons/22x22/actions/today.png
new file mode 100644
index 00000000..b15c792d
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/today.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/todo.png b/IconThemes/ikons/22x22/actions/todo.png
new file mode 100644
index 00000000..09065149
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/todo.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/undo.png b/IconThemes/ikons/22x22/actions/undo.png
new file mode 100644
index 00000000..9d378b0b
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/undo.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/up.png b/IconThemes/ikons/22x22/actions/up.png
new file mode 100644
index 00000000..3b3a71ae
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/up.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/viewmag+.png b/IconThemes/ikons/22x22/actions/viewmag+.png
new file mode 100644
index 00000000..43c0fcc9
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/viewmag-.png b/IconThemes/ikons/22x22/actions/viewmag-.png
new file mode 100644
index 00000000..bf700229
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/viewmag.png b/IconThemes/ikons/22x22/actions/viewmag.png
new file mode 100644
index 00000000..bd3a63fd
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/actions/whatsnext.png b/IconThemes/ikons/22x22/actions/whatsnext.png
new file mode 100644
index 00000000..099599f3
--- /dev/null
+++ b/IconThemes/ikons/22x22/actions/whatsnext.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/apps/kpilot.png b/IconThemes/ikons/22x22/apps/kpilot.png
new file mode 100644
index 00000000..8410169a
--- /dev/null
+++ b/IconThemes/ikons/22x22/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/apps/kpilot2.png b/IconThemes/ikons/22x22/apps/kpilot2.png
new file mode 100644
index 00000000..7f220acc
--- /dev/null
+++ b/IconThemes/ikons/22x22/apps/kpilot2.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/apps/kpilot3.png b/IconThemes/ikons/22x22/apps/kpilot3.png
new file mode 100644
index 00000000..1f35f865
--- /dev/null
+++ b/IconThemes/ikons/22x22/apps/kpilot3.png
Binary files differ
diff --git a/IconThemes/ikons/22x22/apps/wcspeedtouch.png b/IconThemes/ikons/22x22/apps/wcspeedtouch.png
new file mode 100644
index 00000000..9380d741
--- /dev/null
+++ b/IconThemes/ikons/22x22/apps/wcspeedtouch.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/HancomOffice.png b/IconThemes/ikons/32x32/apps/HancomOffice.png
new file mode 100644
index 00000000..0729c90d
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/HancomOffice.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/HancomPainter.png b/IconThemes/ikons/32x32/apps/HancomPainter.png
new file mode 100644
index 00000000..0a2ff3f3
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/HancomPainter.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/HancomPresenter.png b/IconThemes/ikons/32x32/apps/HancomPresenter.png
new file mode 100644
index 00000000..10c3f047
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/HancomPresenter.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/HancomSheet.png b/IconThemes/ikons/32x32/apps/HancomSheet.png
new file mode 100644
index 00000000..69561b96
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/HancomSheet.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/HancomWord.png b/IconThemes/ikons/32x32/apps/HancomWord.png
new file mode 100644
index 00000000..2ec1ce6e
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/HancomWord.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/go.png b/IconThemes/ikons/32x32/apps/go.png
new file mode 100644
index 00000000..0d92fab2
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/go.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kandy.png b/IconThemes/ikons/32x32/apps/kandy.png
new file mode 100644
index 00000000..2a48f504
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kandy.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kcontrol.png b/IconThemes/ikons/32x32/apps/kcontrol.png
new file mode 100644
index 00000000..9a459292
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kfm.png b/IconThemes/ikons/32x32/apps/kfm.png
new file mode 100644
index 00000000..6b02d473
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kfm.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kfm_home.png b/IconThemes/ikons/32x32/apps/kfm_home.png
new file mode 100644
index 00000000..218bfade
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kjobviewer.png b/IconThemes/ikons/32x32/apps/kjobviewer.png
new file mode 100644
index 00000000..e444242c
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kmail_tmp.png b/IconThemes/ikons/32x32/apps/kmail_tmp.png
new file mode 100644
index 00000000..568cc139
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kmail_tmp.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/konsole.png b/IconThemes/ikons/32x32/apps/konsole.png
new file mode 100644
index 00000000..5fb96db4
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/konsole.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/kpilot.png b/IconThemes/ikons/32x32/apps/kpilot.png
new file mode 100644
index 00000000..1be0a523
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/printmgr.png b/IconThemes/ikons/32x32/apps/printmgr.png
new file mode 100644
index 00000000..e444242c
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/apps/tux_config.png b/IconThemes/ikons/32x32/apps/tux_config.png
new file mode 100644
index 00000000..0784ccdc
--- /dev/null
+++ b/IconThemes/ikons/32x32/apps/tux_config.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/3floppy_mount.png b/IconThemes/ikons/32x32/devices/3floppy_mount.png
new file mode 100644
index 00000000..260de02c
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/3floppy_unmount.png b/IconThemes/ikons/32x32/devices/3floppy_unmount.png
new file mode 100644
index 00000000..bfcf79d3
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/cdaudio_unmount.png b/IconThemes/ikons/32x32/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..11d5d5d9
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/cdrom_mount.png b/IconThemes/ikons/32x32/devices/cdrom_mount.png
new file mode 100644
index 00000000..5cbf30df
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/cdrom_unmount.png b/IconThemes/ikons/32x32/devices/cdrom_unmount.png
new file mode 100644
index 00000000..11d5d5d9
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/cdwriter_mount.png b/IconThemes/ikons/32x32/devices/cdwriter_mount.png
new file mode 100644
index 00000000..7e804ad5
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/cdwriter_unmount.png b/IconThemes/ikons/32x32/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..6a29aa04
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/dvd_mount.png b/IconThemes/ikons/32x32/devices/dvd_mount.png
new file mode 100644
index 00000000..5cbf30df
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/dvd_unmount.png b/IconThemes/ikons/32x32/devices/dvd_unmount.png
new file mode 100644
index 00000000..11d5d5d9
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/hdd_mount.png b/IconThemes/ikons/32x32/devices/hdd_mount.png
new file mode 100644
index 00000000..c10eb147
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/hdd_unmount.png b/IconThemes/ikons/32x32/devices/hdd_unmount.png
new file mode 100644
index 00000000..98218c92
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/mp3_player.png b/IconThemes/ikons/32x32/devices/mp3_player.png
new file mode 100644
index 00000000..c3cc006f
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/mp3_player.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/pda.png b/IconThemes/ikons/32x32/devices/pda.png
new file mode 100644
index 00000000..1be0a523
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/pda.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/phone.png b/IconThemes/ikons/32x32/devices/phone.png
new file mode 100644
index 00000000..2a48f504
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/phone.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/print_printer.png b/IconThemes/ikons/32x32/devices/print_printer.png
new file mode 100644
index 00000000..e444242c
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/printer1.png b/IconThemes/ikons/32x32/devices/printer1.png
new file mode 100644
index 00000000..e444242c
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/printer1.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/printer2.png b/IconThemes/ikons/32x32/devices/printer2.png
new file mode 100644
index 00000000..eac36b77
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/printer2.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/scanner.png b/IconThemes/ikons/32x32/devices/scanner.png
new file mode 100644
index 00000000..1dfa2aa2
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/scanner.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/screen_black.png b/IconThemes/ikons/32x32/devices/screen_black.png
new file mode 100644
index 00000000..afd05ffc
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/screen_black.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/screen_blue.png b/IconThemes/ikons/32x32/devices/screen_blue.png
new file mode 100644
index 00000000..088641b3
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/screen_blue.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/screen_green.png b/IconThemes/ikons/32x32/devices/screen_green.png
new file mode 100644
index 00000000..a2186f1b
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/screen_green.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/speedtouch_ADSL_modem.png b/IconThemes/ikons/32x32/devices/speedtouch_ADSL_modem.png
new file mode 100644
index 00000000..b58f7574
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/speedtouch_ADSL_modem.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/zip_mount.png b/IconThemes/ikons/32x32/devices/zip_mount.png
new file mode 100644
index 00000000..f128a963
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/devices/zip_unmount.png b/IconThemes/ikons/32x32/devices/zip_unmount.png
new file mode 100644
index 00000000..111a2def
--- /dev/null
+++ b/IconThemes/ikons/32x32/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/desktop.png b/IconThemes/ikons/32x32/filesystems/desktop.png
new file mode 100644
index 00000000..aa37d5b9
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/desktop_new.png b/IconThemes/ikons/32x32/filesystems/desktop_new.png
new file mode 100644
index 00000000..e95ddb7f
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/desktop_new.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/desktop_old.png b/IconThemes/ikons/32x32/filesystems/desktop_old.png
new file mode 100644
index 00000000..5a550486
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/desktop_old.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/exec.png b/IconThemes/ikons/32x32/filesystems/exec.png
new file mode 100644
index 00000000..9338efc0
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder.png b/IconThemes/ikons/32x32/filesystems/folder.png
new file mode 100644
index 00000000..8564816e
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_blue.png b/IconThemes/ikons/32x32/filesystems/folder_blue.png
new file mode 100644
index 00000000..3c3803f3
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_blue_open.png b/IconThemes/ikons/32x32/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..aade281c
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_cyan.png b/IconThemes/ikons/32x32/filesystems/folder_cyan.png
new file mode 100644
index 00000000..e2321194
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_cyan_open.png b/IconThemes/ikons/32x32/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..116479c0
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_green.png b/IconThemes/ikons/32x32/filesystems/folder_green.png
new file mode 100644
index 00000000..3e7c5ae6
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_green_open.png b/IconThemes/ikons/32x32/filesystems/folder_green_open.png
new file mode 100644
index 00000000..10d44c63
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_grey.png b/IconThemes/ikons/32x32/filesystems/folder_grey.png
new file mode 100644
index 00000000..e95b4490
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_home.png b/IconThemes/ikons/32x32/filesystems/folder_home.png
new file mode 100644
index 00000000..9cc74a43
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_html.png b/IconThemes/ikons/32x32/filesystems/folder_html.png
new file mode 100644
index 00000000..d540a325
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_image.png b/IconThemes/ikons/32x32/filesystems/folder_image.png
new file mode 100644
index 00000000..99184862
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_important.png b/IconThemes/ikons/32x32/filesystems/folder_important.png
new file mode 100644
index 00000000..73be751c
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_locked.png b/IconThemes/ikons/32x32/filesystems/folder_locked.png
new file mode 100644
index 00000000..5d76f398
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_man.png b/IconThemes/ikons/32x32/filesystems/folder_man.png
new file mode 100644
index 00000000..90231865
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_open.png b/IconThemes/ikons/32x32/filesystems/folder_open.png
new file mode 100644
index 00000000..52786b9a
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_orange.png b/IconThemes/ikons/32x32/filesystems/folder_orange.png
new file mode 100644
index 00000000..7a589f3a
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_orange_open.png b/IconThemes/ikons/32x32/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..451ca33a
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_print2.png b/IconThemes/ikons/32x32/filesystems/folder_print2.png
new file mode 100644
index 00000000..4f22eb2c
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_print2.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_red.png b/IconThemes/ikons/32x32/filesystems/folder_red.png
new file mode 100644
index 00000000..ebc7c46e
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_red_open.png b/IconThemes/ikons/32x32/filesystems/folder_red_open.png
new file mode 100644
index 00000000..2e12836f
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_sound.png b/IconThemes/ikons/32x32/filesystems/folder_sound.png
new file mode 100644
index 00000000..6cda55a9
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_tar.png b/IconThemes/ikons/32x32/filesystems/folder_tar.png
new file mode 100644
index 00000000..def07137
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_txt.png b/IconThemes/ikons/32x32/filesystems/folder_txt.png
new file mode 100644
index 00000000..50d18ee1
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_violet.png b/IconThemes/ikons/32x32/filesystems/folder_violet.png
new file mode 100644
index 00000000..16c93c17
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_violet_open.png b/IconThemes/ikons/32x32/filesystems/folder_violet_open.png
new file mode 100644
index 00000000..e08ddc92
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_violet_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_wordprocessing.png b/IconThemes/ikons/32x32/filesystems/folder_wordprocessing.png
new file mode 100644
index 00000000..5958f667
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_wordprocessing.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_yellow.png b/IconThemes/ikons/32x32/filesystems/folder_yellow.png
new file mode 100644
index 00000000..2bbfe1f2
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/folder_yellow_open.png b/IconThemes/ikons/32x32/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..27a259aa
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/link.png b/IconThemes/ikons/32x32/filesystems/link.png
new file mode 100644
index 00000000..cc8c266b
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/link.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/trashcan_empty.png b/IconThemes/ikons/32x32/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..b8819da2
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/filesystems/trashcan_full.png b/IconThemes/ikons/32x32/filesystems/trashcan_full.png
new file mode 100644
index 00000000..82b1176e
--- /dev/null
+++ b/IconThemes/ikons/32x32/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/apple_macintosh.png b/IconThemes/ikons/32x32/mimetypes/apple_macintosh.png
new file mode 100644
index 00000000..87df6fb8
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/apple_macintosh.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/configuration.png b/IconThemes/ikons/32x32/mimetypes/configuration.png
new file mode 100644
index 00000000..dc4f40a2
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/configuration.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/gimp.png b/IconThemes/ikons/32x32/mimetypes/gimp.png
new file mode 100644
index 00000000..7dbef922
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/gimp.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/hancompainter.png b/IconThemes/ikons/32x32/mimetypes/hancompainter.png
new file mode 100644
index 00000000..6ecb2971
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/hancompainter.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/hancompresnter.png b/IconThemes/ikons/32x32/mimetypes/hancompresnter.png
new file mode 100644
index 00000000..967e2038
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/hancompresnter.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/hancomsheet.png b/IconThemes/ikons/32x32/mimetypes/hancomsheet.png
new file mode 100644
index 00000000..543edea4
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/hancomsheet.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/hancomword.png b/IconThemes/ikons/32x32/mimetypes/hancomword.png
new file mode 100644
index 00000000..af3269dd
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/hancomword.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/image.png b/IconThemes/ikons/32x32/mimetypes/image.png
new file mode 100644
index 00000000..6ccadcc0
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/mp3.png b/IconThemes/ikons/32x32/mimetypes/mp3.png
new file mode 100644
index 00000000..9d0a4321
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/mp3.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/quicktime_movie.png b/IconThemes/ikons/32x32/mimetypes/quicktime_movie.png
new file mode 100644
index 00000000..90618f23
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/quicktime_movie.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/quicktime_tif.png b/IconThemes/ikons/32x32/mimetypes/quicktime_tif.png
new file mode 100644
index 00000000..6e434e26
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/quicktime_tif.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/script.png b/IconThemes/ikons/32x32/mimetypes/script.png
new file mode 100644
index 00000000..c5f96b7e
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/script.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/sql.png b/IconThemes/ikons/32x32/mimetypes/sql.png
new file mode 100644
index 00000000..fa2b1866
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/sql.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/wav.png b/IconThemes/ikons/32x32/mimetypes/wav.png
new file mode 100644
index 00000000..9251bd12
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/wav.png
Binary files differ
diff --git a/IconThemes/ikons/32x32/mimetypes/windows_config.png b/IconThemes/ikons/32x32/mimetypes/windows_config.png
new file mode 100644
index 00000000..7b774c6b
--- /dev/null
+++ b/IconThemes/ikons/32x32/mimetypes/windows_config.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/go.png b/IconThemes/ikons/48x48/apps/go.png
new file mode 100644
index 00000000..fecec826
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/go.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/kandy.png b/IconThemes/ikons/48x48/apps/kandy.png
new file mode 100644
index 00000000..e92969f6
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/kandy.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/kcontrol.png b/IconThemes/ikons/48x48/apps/kcontrol.png
new file mode 100644
index 00000000..7a251fa4
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/kfm_home.png b/IconThemes/ikons/48x48/apps/kfm_home.png
new file mode 100644
index 00000000..61032cbe
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/klpq.png b/IconThemes/ikons/48x48/apps/klpq.png
new file mode 100644
index 00000000..324df1c2
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/klpq.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/kmail_tmp.png b/IconThemes/ikons/48x48/apps/kmail_tmp.png
new file mode 100644
index 00000000..ed40b8d6
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/kmail_tmp.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/konsole.png b/IconThemes/ikons/48x48/apps/konsole.png
new file mode 100644
index 00000000..105db016
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/konsole.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/kpilot.png b/IconThemes/ikons/48x48/apps/kpilot.png
new file mode 100644
index 00000000..84fe561d
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/apps/tux_config.png b/IconThemes/ikons/48x48/apps/tux_config.png
new file mode 100644
index 00000000..e2d0b976
--- /dev/null
+++ b/IconThemes/ikons/48x48/apps/tux_config.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/3floppy_mount.png b/IconThemes/ikons/48x48/devices/3floppy_mount.png
new file mode 100644
index 00000000..a8f295d8
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/3floppy_unmount.png b/IconThemes/ikons/48x48/devices/3floppy_unmount.png
new file mode 100644
index 00000000..bdca4a4f
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/5floppy_mount.png b/IconThemes/ikons/48x48/devices/5floppy_mount.png
new file mode 100644
index 00000000..81c073ee
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/5floppy_unmount.png b/IconThemes/ikons/48x48/devices/5floppy_unmount.png
new file mode 100644
index 00000000..c4a25c52
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/RAID.png b/IconThemes/ikons/48x48/devices/RAID.png
new file mode 100644
index 00000000..79d3b667
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/RAID.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/UPS.png b/IconThemes/ikons/48x48/devices/UPS.png
new file mode 100644
index 00000000..9b7a775e
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/UPS.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdaudio_mount.png b/IconThemes/ikons/48x48/devices/cdaudio_mount.png
new file mode 100644
index 00000000..c73bf90f
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdaudio_unmount.png b/IconThemes/ikons/48x48/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..4e07b774
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdrom_mount.png b/IconThemes/ikons/48x48/devices/cdrom_mount.png
new file mode 100644
index 00000000..8acb2f58
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdrom_unmount.png b/IconThemes/ikons/48x48/devices/cdrom_unmount.png
new file mode 100644
index 00000000..281ec168
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdwriter_mount.png b/IconThemes/ikons/48x48/devices/cdwriter_mount.png
new file mode 100644
index 00000000..20362b4a
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/cdwriter_unmount.png b/IconThemes/ikons/48x48/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..57471b8d
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/dvd_mount.png b/IconThemes/ikons/48x48/devices/dvd_mount.png
new file mode 100644
index 00000000..8acb2f58
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/dvd_unmount.png b/IconThemes/ikons/48x48/devices/dvd_unmount.png
new file mode 100644
index 00000000..281ec168
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/hdd_mount.png b/IconThemes/ikons/48x48/devices/hdd_mount.png
new file mode 100644
index 00000000..9e5efa9f
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/hdd_unmount.png b/IconThemes/ikons/48x48/devices/hdd_unmount.png
new file mode 100644
index 00000000..c6a3b349
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/mo_mount.png b/IconThemes/ikons/48x48/devices/mo_mount.png
new file mode 100644
index 00000000..522203c9
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/mo_unmount.png b/IconThemes/ikons/48x48/devices/mo_unmount.png
new file mode 100644
index 00000000..fa93a3ab
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/mp3_player.png b/IconThemes/ikons/48x48/devices/mp3_player.png
new file mode 100644
index 00000000..7353e776
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/mp3_player.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/pc_box.png b/IconThemes/ikons/48x48/devices/pc_box.png
new file mode 100644
index 00000000..6c91a432
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/pc_box.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/pc_box2.png b/IconThemes/ikons/48x48/devices/pc_box2.png
new file mode 100644
index 00000000..d1ade39c
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/pc_box2.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/pda.png b/IconThemes/ikons/48x48/devices/pda.png
new file mode 100644
index 00000000..ca38e9a1
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/pda.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/pda_black.png b/IconThemes/ikons/48x48/devices/pda_black.png
new file mode 100644
index 00000000..09769a0a
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/pda_black.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/pda_blue.png b/IconThemes/ikons/48x48/devices/pda_blue.png
new file mode 100644
index 00000000..3ba0499d
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/pda_blue.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/phone.png b/IconThemes/ikons/48x48/devices/phone.png
new file mode 100644
index 00000000..599e6ecf
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/phone.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/print_printer.png b/IconThemes/ikons/48x48/devices/print_printer.png
new file mode 100644
index 00000000..324df1c2
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/printer1.png b/IconThemes/ikons/48x48/devices/printer1.png
new file mode 100644
index 00000000..324df1c2
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/printer1.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/printer2.png b/IconThemes/ikons/48x48/devices/printer2.png
new file mode 100644
index 00000000..9df3b5eb
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/printer2.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/scanner.png b/IconThemes/ikons/48x48/devices/scanner.png
new file mode 100644
index 00000000..1b61d0ec
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/scanner.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/screen_black.png b/IconThemes/ikons/48x48/devices/screen_black.png
new file mode 100644
index 00000000..ef81a8e2
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/screen_black.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/screen_blue.png b/IconThemes/ikons/48x48/devices/screen_blue.png
new file mode 100644
index 00000000..2fa2b93d
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/screen_blue.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/screen_green.png b/IconThemes/ikons/48x48/devices/screen_green.png
new file mode 100644
index 00000000..ef2a9ce4
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/screen_green.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/speedtouch_ADSL_modem.png b/IconThemes/ikons/48x48/devices/speedtouch_ADSL_modem.png
new file mode 100644
index 00000000..83903cf3
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/speedtouch_ADSL_modem.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/zip_mount.png b/IconThemes/ikons/48x48/devices/zip_mount.png
new file mode 100644
index 00000000..c17f2125
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/devices/zip_unmount.png b/IconThemes/ikons/48x48/devices/zip_unmount.png
new file mode 100644
index 00000000..37d9c126
--- /dev/null
+++ b/IconThemes/ikons/48x48/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/desktop.png b/IconThemes/ikons/48x48/filesystems/desktop.png
new file mode 100644
index 00000000..97f3c32a
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/desktop_old.png b/IconThemes/ikons/48x48/filesystems/desktop_old.png
new file mode 100644
index 00000000..af784af4
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/desktop_old.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/documents.png b/IconThemes/ikons/48x48/filesystems/documents.png
new file mode 100644
index 00000000..9c807b1e
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/documents.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/exec.png b/IconThemes/ikons/48x48/filesystems/exec.png
new file mode 100644
index 00000000..0d0f781b
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder.mng b/IconThemes/ikons/48x48/filesystems/folder.mng
new file mode 100644
index 00000000..c5ca19fc
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder.mng
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder.png b/IconThemes/ikons/48x48/filesystems/folder.png
new file mode 100644
index 00000000..00d454dc
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_blue.png b/IconThemes/ikons/48x48/filesystems/folder_blue.png
new file mode 100644
index 00000000..00d454dc
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_blue_open.png b/IconThemes/ikons/48x48/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..785a66c8
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_cyan.png b/IconThemes/ikons/48x48/filesystems/folder_cyan.png
new file mode 100644
index 00000000..b830e4e4
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_cyan_open.png b/IconThemes/ikons/48x48/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..0b4b755a
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_favorites.png b/IconThemes/ikons/48x48/filesystems/folder_favorites.png
new file mode 100644
index 00000000..0ab000ee
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_flat.png b/IconThemes/ikons/48x48/filesystems/folder_flat.png
new file mode 100644
index 00000000..af30183f
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_flat.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_green.png b/IconThemes/ikons/48x48/filesystems/folder_green.png
new file mode 100644
index 00000000..bfa34c35
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_green_open.png b/IconThemes/ikons/48x48/filesystems/folder_green_open.png
new file mode 100644
index 00000000..95339b61
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_grey.png b/IconThemes/ikons/48x48/filesystems/folder_grey.png
new file mode 100644
index 00000000..3c1d298c
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_grey_open.png b/IconThemes/ikons/48x48/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..af54d905
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_home.png b/IconThemes/ikons/48x48/filesystems/folder_home.png
new file mode 100644
index 00000000..b91e7978
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_html.png b/IconThemes/ikons/48x48/filesystems/folder_html.png
new file mode 100644
index 00000000..a5f35e4c
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_image.png b/IconThemes/ikons/48x48/filesystems/folder_image.png
new file mode 100644
index 00000000..66a69d38
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_important.png b/IconThemes/ikons/48x48/filesystems/folder_important.png
new file mode 100644
index 00000000..81c03794
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_locked.png b/IconThemes/ikons/48x48/filesystems/folder_locked.png
new file mode 100644
index 00000000..9fc811e3
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_man.png b/IconThemes/ikons/48x48/filesystems/folder_man.png
new file mode 100644
index 00000000..f05280b9
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_open.png b/IconThemes/ikons/48x48/filesystems/folder_open.png
new file mode 100644
index 00000000..39acdc55
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_orange.png b/IconThemes/ikons/48x48/filesystems/folder_orange.png
new file mode 100644
index 00000000..7e088285
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_orange_open.png b/IconThemes/ikons/48x48/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..b113e8e4
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_red.png b/IconThemes/ikons/48x48/filesystems/folder_red.png
new file mode 100644
index 00000000..5518e09d
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_red_open.png b/IconThemes/ikons/48x48/filesystems/folder_red_open.png
new file mode 100644
index 00000000..db34424d
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_sound.png b/IconThemes/ikons/48x48/filesystems/folder_sound.png
new file mode 100644
index 00000000..028e7432
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_tar.png b/IconThemes/ikons/48x48/filesystems/folder_tar.png
new file mode 100644
index 00000000..bbbb6f33
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_txt.png b/IconThemes/ikons/48x48/filesystems/folder_txt.png
new file mode 100644
index 00000000..e77468a0
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_video.png b/IconThemes/ikons/48x48/filesystems/folder_video.png
new file mode 100644
index 00000000..c64c8bda
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_violet.png b/IconThemes/ikons/48x48/filesystems/folder_violet.png
new file mode 100644
index 00000000..f9168334
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_violet_open.png b/IconThemes/ikons/48x48/filesystems/folder_violet_open.png
new file mode 100644
index 00000000..2ff00c6e
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_violet_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_wordprocessing.png b/IconThemes/ikons/48x48/filesystems/folder_wordprocessing.png
new file mode 100644
index 00000000..9843487a
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_wordprocessing.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_yellow.png b/IconThemes/ikons/48x48/filesystems/folder_yellow.png
new file mode 100644
index 00000000..c5e1d288
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/folder_yellow_open.png b/IconThemes/ikons/48x48/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..e48a4c98
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/link.png b/IconThemes/ikons/48x48/filesystems/link.png
new file mode 100644
index 00000000..228ce82d
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/link.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/trashcan_empty.png b/IconThemes/ikons/48x48/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..0605d1ca
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/filesystems/trashcan_full.png b/IconThemes/ikons/48x48/filesystems/trashcan_full.png
new file mode 100644
index 00000000..fe6be25f
--- /dev/null
+++ b/IconThemes/ikons/48x48/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/apple_macintosh.png b/IconThemes/ikons/48x48/mimetypes/apple_macintosh.png
new file mode 100644
index 00000000..f09a170d
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/apple_macintosh.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/empty.png b/IconThemes/ikons/48x48/mimetypes/empty.png
new file mode 100644
index 00000000..a9497538
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/hancompainter.png b/IconThemes/ikons/48x48/mimetypes/hancompainter.png
new file mode 100644
index 00000000..6f900b78
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/hancompainter.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/hancompresenter.png b/IconThemes/ikons/48x48/mimetypes/hancompresenter.png
new file mode 100644
index 00000000..a97893b2
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/hancompresenter.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/hancomsheet.png b/IconThemes/ikons/48x48/mimetypes/hancomsheet.png
new file mode 100644
index 00000000..007aefea
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/hancomsheet.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/hancomword.png b/IconThemes/ikons/48x48/mimetypes/hancomword.png
new file mode 100644
index 00000000..2777bbae
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/hancomword.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/image.png b/IconThemes/ikons/48x48/mimetypes/image.png
new file mode 100644
index 00000000..b50c02fa
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/ikons/48x48/mimetypes/rpm.png b/IconThemes/ikons/48x48/mimetypes/rpm.png
new file mode 100644
index 00000000..f2d84255
--- /dev/null
+++ b/IconThemes/ikons/48x48/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/Kpilot_FileInstaller.png b/IconThemes/ikons/64x64/apps/Kpilot_FileInstaller.png
new file mode 100644
index 00000000..7fbd40bb
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/Kpilot_FileInstaller.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/Kpilot_Notes.png b/IconThemes/ikons/64x64/apps/Kpilot_Notes.png
new file mode 100644
index 00000000..ca1d8554
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/Kpilot_Notes.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/tux_business.png b/IconThemes/ikons/64x64/apps/tux_business.png
new file mode 100644
index 00000000..2798eb9a
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/tux_business.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/tux_config.png b/IconThemes/ikons/64x64/apps/tux_config.png
new file mode 100644
index 00000000..1a4f62fb
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/tux_config.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/tux_diagnostic.png b/IconThemes/ikons/64x64/apps/tux_diagnostic.png
new file mode 100644
index 00000000..efb1f750
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/tux_diagnostic.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/apps/tux_network.png b/IconThemes/ikons/64x64/apps/tux_network.png
new file mode 100644
index 00000000..e90a3fc2
--- /dev/null
+++ b/IconThemes/ikons/64x64/apps/tux_network.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder.png b/IconThemes/ikons/64x64/filesystems/folder.png
new file mode 100644
index 00000000..1e3f4b1c
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_blue.png b/IconThemes/ikons/64x64/filesystems/folder_blue.png
new file mode 100644
index 00000000..68fcbc97
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_blue_flat.png b/IconThemes/ikons/64x64/filesystems/folder_blue_flat.png
new file mode 100644
index 00000000..d99c4552
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_blue_flat.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_cyan.png b/IconThemes/ikons/64x64/filesystems/folder_cyan.png
new file mode 100644
index 00000000..c6686e5e
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_green.png b/IconThemes/ikons/64x64/filesystems/folder_green.png
new file mode 100644
index 00000000..d483285f
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_grey.png b/IconThemes/ikons/64x64/filesystems/folder_grey.png
new file mode 100644
index 00000000..9675aaf5
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_orange.png b/IconThemes/ikons/64x64/filesystems/folder_orange.png
new file mode 100644
index 00000000..3b207dd1
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_red.png b/IconThemes/ikons/64x64/filesystems/folder_red.png
new file mode 100644
index 00000000..ea42b51a
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_violet.png b/IconThemes/ikons/64x64/filesystems/folder_violet.png
new file mode 100644
index 00000000..a0af0c96
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/ikons/64x64/filesystems/folder_yellow.png b/IconThemes/ikons/64x64/filesystems/folder_yellow.png
new file mode 100644
index 00000000..fde7b5cc
--- /dev/null
+++ b/IconThemes/ikons/64x64/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/ikons/README b/IconThemes/ikons/README
new file mode 100644
index 00000000..5d664196
--- /dev/null
+++ b/IconThemes/ikons/README
@@ -0,0 +1,59 @@
+iKons - http://users.skynet.be/kbusiness/icon.htm
+
+-> What is it ?
+
+iKons is a high color icon theme for KDE. It features 16x16, 22x22, 32x32, 48x48
+and 64x64 icons with full support for transparency (alpha blending).
+
+-> Requirements
+
+KDE 2.0 or more.
+
+-> Installation
+
+ 1) Open the KDE-Menu an start the Control Center
+ 2) Click on "Look and Feel" and "Icons"
+ 3) Browse to the location of the new icon theme tar.gz file by clicking the small folder button
+ 4) Click on "Install New Theme" to add the new icons
+ 5) Click "Apply"
+ 6) Have fun! :-)
+Note: after installing , right click on the desktop and click on "line up icons" to finish it out
+ or your icons will act strange and look larger that normal (because iKons is a 48x48
+ default icon theme, and KDE uses 32x32 icons as default).
+
+-> Altering the toolbar icons (manual)
+
+ Go to /usr/your_id/.kde/share/icons/iKons/ and change the names of the toolbar icons
+ in 16x16/actions and 22x22/actions. There are 4 toolbar icon themes at this time:
+ 1) iKons (default)
+ 2) Netscape
+ 3) QNIX
+ 4) devel (toolbar icon theme in development)
+
+-> Altering the toolbar icons (with a script)
+
+ #!/bin/bash
+
+if [ $# -ne 1 ]; then
+ echo
+ echo "Invoke this script from the iKons directory."
+ echo "Give the name of the desired action-icon-theme as parameter:"
+ echo "$0 [ netscape | qnix | iKons ]"
+ echo
+ exit 1
+fi
+
+for dir in 16x16 22x22; do
+ for icon in `ls $dir/actions/$1*`; do
+ new_name=$(dirname $icon)/${icon##*_}
+ echo "copying $icon to $new_name"
+ cp $icon $new_name
+ done
+done
+
+-> Contact
+
+mailto:kborrey@skynet.be
+http://users.skynet.be/kbusiness/icon.htm
+
+
diff --git a/IconThemes/ikons/index.theme b/IconThemes/ikons/index.theme
new file mode 100644
index 00000000..f0a7d4a1
--- /dev/null
+++ b/IconThemes/ikons/index.theme
@@ -0,0 +1,158 @@
+[Icon Theme]
+Name=iKons
+Name[af]=Ikone
+Name[eo]=Ikonoj
+Name[es]=iKonos
+Name[fo]=teKnmyndir
+Name[hi]=आई-कॉन्स
+Name[nb]=iKoner
+Name[ven]=Dziaikhonu
+Comment=iKons Icon Theme by Kristof Borrey (kborrey@skynet.be)
+Comment[bg]=Тема с икони от Kristof Borrey (kborrey@skynet.be)
+Comment[br]=Giz arlun iKons gant Kristof Borrey (kborrey@skynet.be)
+Comment[bs]=iKons tema ikona, napravio: Kristof Borrey (kborrey@skynet.be)
+Comment[ca]=Tema iKons per Kristof Borrey (kborrey@skynet.be)
+Comment[cs]=Motiv ikon iKons od Kristofa Borreyho (kborrey@skynet.be)
+Comment[cy]=Thema Eicon iKons gan Kristof Borrey (kborrey@skynet.be)
+Comment[da]=iKons ikontema ved Kristof Borrey (kborrey@skynet.be)
+Comment[de]=iKons-Symboldesign von Kristof Borrey (kborrey@skynet.be)
+Comment[el]=Θέμα εικονιδίων iKons από τον Kristof Borrey (kborrey@skynet.be)
+Comment[eo]=Etoso Ikonoj de Kristof Borrey (kborrey@skynet.be)
+Comment[es]=Tema iKonos de Kristof Borrey (kborrey@skynet.be)
+Comment[et]=Ikooniteema iKons, autor Kristof Borrey (kborrey@skynet.be)
+Comment[eu]=iKons ikonogaia (egilea: Kristof Borrey)(kborrey@skynet.be)
+Comment[fa]=چهرۀ شمایل iKons توسط کریستوف بوری(kborrey@skynet.be)
+Comment[fi]=iKons kuvaketeema, tehnyt Kristof Borrey (kborrey@skynet.be)
+Comment[fo]=Teknmyndarevni av Kristof Borrey <kborrey@skynet.be>.
+Comment[fr]=iKons Thème d'icônes par Kristof Borrey (kborrey@skynet.be)
+Comment[fy]=iKons piktogramtema troch Kristof Borrey (kborrey@skynet.be)
+Comment[ga]=Téama Deilbhíní iKons le Kristof Borrey (kborrey@skynet.be)
+Comment[gl]=Ícones de Kristof Borrey (kborrey@skynet.be)
+Comment[he]=ערכת סמלים iKons על ידי Kristof Borrey (kborrey@skynet.be)
+Comment[hi]=क्रिस्टॉफ बॉर्री का प्रतीक प्रसंग आई-कॉन्स (kborrey@skynet.be)
+Comment[hu]=Ikontéma, készítette: Kristof Borrey (kborrey@skynet.be)
+Comment[is]=iKons táknmyndaþema eftir Kristof Borrey (kborrey@skynet.be)
+Comment[it]=Tema di icone iKons di Kristof Borrey (kborrey@skynet.be)
+Comment[ja]=Kristof Borrey (kborrey@skynet.be) による iKons アイコンテーマ
+Comment[ka]=პიქტოგრამების თემა ქრისტოფ ბორეისგან (kborrey@skynet.be)
+Comment[lt]=iKons piktogramų tema, daryta Kristof Borrey (kborrey@skynet.be)
+Comment[lv]=iKons Ikonu Tēma no Kristof Borrey (kborrey@skynet.be)
+Comment[mk]=Тема за икони iKons од Kristof Borrey (kborrey@skynet.be)
+Comment[ms]=Tema Ikon iKons oleh Kristof Borrey (kborrey@skynet.be)
+Comment[mt]=Tema ta' ikoni "iKons" ta' Kristof Borrey (kborrey@skynet.be)
+Comment[nb]=iKoner ikontema laget av Kristof Borrey (kborrey@skynet.be)
+Comment[nds]=iKons-Lüttbildmuster vun Kristof Borrey (kborrey@skynet.be)
+Comment[ne]=Kristof Borrey को iKons प्रतिमा विषयवस्तु (kborrey@skynet.be)
+Comment[nl]=iKons pictogramthema door Kristof Borrey (kborrey@skynet.be)
+Comment[nn]=Ikontemaet «iKons» av Kristof Borrey (kborrey@skynet.be)
+Comment[pl]=Motyw ikon "iKons" autorstwa Kristofa Borreya (kborrey@skynet.be)
+Comment[pt]=Temas de Ícones iKons por Kristof Borrey (kborrey@skynet.be)
+Comment[pt_BR]=Tema de Ícones iKons feito por Kristof Borrey (kborrey@skynet.be)
+Comment[ro]=Tematică de iconiţe iKons de Kristof Borrey (kborrey@skynet.be)
+Comment[ru]=Тема со значками от Кристофа Борея (kborrey@skynet.be)
+Comment[sk]=Ikonová téma iKons od Kristofa Borreyho (kborrey@skynet.be)
+Comment[sl]=iKons ikonska tema Kristofa Borreya (kborrey@skynet.be)
+Comment[sr]=iKons тема икона од Kristofа Borreyа (kborrey@skynet.be)
+Comment[sr@Latn]=iKons tema ikona od Kristofa Borreya (kborrey@skynet.be)
+Comment[sv]=Ikontemat iKons av Kristof Borrey (kborrey@skynet.be)
+Comment[ta]=iKons சின்ன பொருள் படைத்தவர் Kristof Borrey (kborrey@skynet.be)
+Comment[tg]=Мавзӯъ бо пиктограммаҳо аз Кристофа Борея (kborrey@skynet.be)
+Comment[th]=ธีมไอคอน iKons โดย Kristof Borrey (kborrey@skynet.be)
+Comment[tr]=İkons Simge Teması (Kristof Borrey)
+Comment[uk]=Тема піктограм iKons від Kristof Borrey (kborrey@skynet.be)
+Comment[uz]=Kristof Borrey (Kristof Borrey) <kborrey@skynet.be> yaratgan iKons nishonchalar mavzusi
+Comment[uz@cyrillic]=Кристоф Боррей (Kristof Borrey) <kborrey@skynet.be> яратган iKons нишончалар мавзуси
+Comment[ven]=Dziaikhonu Aikhonu Thero nga Kristof Borrey (kborrey@skynet.be)
+Comment[vi]=Sắc thái Biểu tượng iKons bởi Kristof Borrey (kborrey@skynet.be)
+Comment[zh_CN]=Kristof Borrey 的 iKon 图标主题 (kborrey@skynet.be)
+Comment[zh_TW]=iKons 圖示佈景 Kristof Borrey (kborrey@skynet.be)
+Comment[zu]=iKons Icon Thimu ngu Kristof Borrey (kborrey@skynet.be)
+DisplayDepth=32
+Example=exec
+LinkOverlay=link
+LockOverlay=lockoverlay
+Inherits=default
+ZipOverlay=zip
+DesktopDefault=48
+DesktopSizes=16,32,48,64
+ToolbarDefault=22
+ToolbarSizes=16,22,32
+MainToolbarDefault=22
+MainToolbarSizes=16,22,32
+SmallDefault=16
+SmallSizes=16
+PanelDefault=32
+PanelSizes=16,32,48
+Directories=16x16/actions,22x22/actions,16x16/apps,32x32/apps,16x16/devices,32x32/devices,16x16/filesystems,32x32/filesystems,16x16/mimetypes,32x32/mimetypes,32x32/actions,48x48/apps,48x48/devices,48x48/filesystems,48x48/mimetypes,64x64/filesystems,64x64/mimetypes
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Fixed
+[22x22/actions]
+Size=22
+Context=Actions
+Type=Fixed
+[32x32/actions]
+Size=32
+Context=Actions
+Type=Fixed
+[16x16/apps]
+Size=16
+Context=Applications
+Type=Fixed
+[16x16/devices]
+Size=16
+Context=Devices
+Type=Fixed
+[32x32/apps]
+Size=32
+Context=Applications
+Type=Fixed
+[32x32/devices]
+Size=32
+Context=Devices
+Type=Fixed
+[16x16/filesystems]
+Size=16
+Context=FileSystems
+Type=Fixed
+[32x32/filesystems]
+Size=32
+Context=FileSystems
+Type=Fixed
+[16x16/mimetypes]
+Size=16
+Context=MimeTypes
+Type=Fixed
+[32x32/mimetypes]
+Size=32
+Context=MimeTypes
+Type=Fixed
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Fixed
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Fixed
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Fixed
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Fixed
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Fixed
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Fixed
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Fixed
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_deletelayer.png b/IconThemes/kdeclassic/16x16/actions/14_layer_deletelayer.png
new file mode 100644
index 00000000..963f951e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_deletelayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_lowerlayer.png b/IconThemes/kdeclassic/16x16/actions/14_layer_lowerlayer.png
new file mode 100644
index 00000000..f8bf69db
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_lowerlayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_newlayer.png b/IconThemes/kdeclassic/16x16/actions/14_layer_newlayer.png
new file mode 100644
index 00000000..c7dd5e75
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_newlayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_novisible.png b/IconThemes/kdeclassic/16x16/actions/14_layer_novisible.png
new file mode 100644
index 00000000..b464b221
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_novisible.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_raiselayer.png b/IconThemes/kdeclassic/16x16/actions/14_layer_raiselayer.png
new file mode 100644
index 00000000..1a5d0ce7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_raiselayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/14_layer_visible.png b/IconThemes/kdeclassic/16x16/actions/14_layer_visible.png
new file mode 100644
index 00000000..82a09b4e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/14_layer_visible.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/1day.png b/IconThemes/kdeclassic/16x16/actions/1day.png
new file mode 100644
index 00000000..c6fee5ac
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/1day.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/1downarrow.png b/IconThemes/kdeclassic/16x16/actions/1downarrow.png
new file mode 100644
index 00000000..b418976d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/1leftarrow.png b/IconThemes/kdeclassic/16x16/actions/1leftarrow.png
new file mode 100644
index 00000000..05701ce8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/1rightarrow.png b/IconThemes/kdeclassic/16x16/actions/1rightarrow.png
new file mode 100644
index 00000000..e4200603
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/1uparrow.png b/IconThemes/kdeclassic/16x16/actions/1uparrow.png
new file mode 100644
index 00000000..461ecc60
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/2downarrow.png b/IconThemes/kdeclassic/16x16/actions/2downarrow.png
new file mode 100644
index 00000000..91d82ae4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/2leftarrow.png b/IconThemes/kdeclassic/16x16/actions/2leftarrow.png
new file mode 100644
index 00000000..1d877ca1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/2rightarrow.png b/IconThemes/kdeclassic/16x16/actions/2rightarrow.png
new file mode 100644
index 00000000..06206da0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/2uparrow.png b/IconThemes/kdeclassic/16x16/actions/2uparrow.png
new file mode 100644
index 00000000..f611c8aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/3downarrow.png b/IconThemes/kdeclassic/16x16/actions/3downarrow.png
new file mode 100644
index 00000000..09e2989c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/3downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/3uparrow.png b/IconThemes/kdeclassic/16x16/actions/3uparrow.png
new file mode 100644
index 00000000..9bc02a47
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/3uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/5days.png b/IconThemes/kdeclassic/16x16/actions/5days.png
new file mode 100644
index 00000000..a75c6778
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/5days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/7days.png b/IconThemes/kdeclassic/16x16/actions/7days.png
new file mode 100644
index 00000000..96b6336a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/7days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/abentry.png b/IconThemes/kdeclassic/16x16/actions/abentry.png
new file mode 100644
index 00000000..12c6a524
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/abentry.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/abottom.png b/IconThemes/kdeclassic/16x16/actions/abottom.png
new file mode 100644
index 00000000..2bb431c0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/abottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/about_kde.png b/IconThemes/kdeclassic/16x16/actions/about_kde.png
new file mode 100644
index 00000000..ae63fd94
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/abs.png b/IconThemes/kdeclassic/16x16/actions/abs.png
new file mode 100644
index 00000000..fd8c4062
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/addquestion.png b/IconThemes/kdeclassic/16x16/actions/addquestion.png
new file mode 100644
index 00000000..7660c587
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/addquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/adjustcol.png b/IconThemes/kdeclassic/16x16/actions/adjustcol.png
new file mode 100644
index 00000000..81b908dc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/adjustcol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/adjustrow.png b/IconThemes/kdeclassic/16x16/actions/adjustrow.png
new file mode 100644
index 00000000..0457cdfa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/adjustrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ahcenter.png b/IconThemes/kdeclassic/16x16/actions/ahcenter.png
new file mode 100644
index 00000000..d3c089b4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ahcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/airbrush.png b/IconThemes/kdeclassic/16x16/actions/airbrush.png
new file mode 100644
index 00000000..9566b494
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/airbrush.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/aleft.png b/IconThemes/kdeclassic/16x16/actions/aleft.png
new file mode 100644
index 00000000..b8039548
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/aleft.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/apply.png b/IconThemes/kdeclassic/16x16/actions/apply.png
new file mode 100644
index 00000000..8f4b4ec6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/apply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/appointment.png b/IconThemes/kdeclassic/16x16/actions/appointment.png
new file mode 100644
index 00000000..f5bc948b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/appointment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/areas.png b/IconThemes/kdeclassic/16x16/actions/areas.png
new file mode 100644
index 00000000..bfb08945
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/areas.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/areas3d.png b/IconThemes/kdeclassic/16x16/actions/areas3d.png
new file mode 100644
index 00000000..495ef4b1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/areas3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/aright.png b/IconThemes/kdeclassic/16x16/actions/aright.png
new file mode 100644
index 00000000..b81a9f21
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/aright.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/artsbuilderexecute.png b/IconThemes/kdeclassic/16x16/actions/artsbuilderexecute.png
new file mode 100644
index 00000000..abd8f18a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/artsbuilderexecute.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/atop.png b/IconThemes/kdeclassic/16x16/actions/atop.png
new file mode 100644
index 00000000..d467e7e1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/atop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/attach.png b/IconThemes/kdeclassic/16x16/actions/attach.png
new file mode 100644
index 00000000..c51ef465
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/attach.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/avcenter.png b/IconThemes/kdeclassic/16x16/actions/avcenter.png
new file mode 100644
index 00000000..e2d50b67
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/avcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/back.png b/IconThemes/kdeclassic/16x16/actions/back.png
new file mode 100644
index 00000000..06411e97
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/back.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/backup.png b/IconThemes/kdeclassic/16x16/actions/backup.png
new file mode 100644
index 00000000..93f4afa0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/backup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bars.png b/IconThemes/kdeclassic/16x16/actions/bars.png
new file mode 100644
index 00000000..db7ef54c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bars3d.png b/IconThemes/kdeclassic/16x16/actions/bars3d.png
new file mode 100644
index 00000000..6872f791
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bars3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bell.png b/IconThemes/kdeclassic/16x16/actions/bell.png
new file mode 100644
index 00000000..8d2415b5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/beziertool.png b/IconThemes/kdeclassic/16x16/actions/beziertool.png
new file mode 100644
index 00000000..c119c551
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/beziertool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/black_sum.png b/IconThemes/kdeclassic/16x16/actions/black_sum.png
new file mode 100644
index 00000000..940900d0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/black_sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/blend.png b/IconThemes/kdeclassic/16x16/actions/blend.png
new file mode 100644
index 00000000..038ee47f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/blend.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bookmark.png b/IconThemes/kdeclassic/16x16/actions/bookmark.png
new file mode 100644
index 00000000..48ed697f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bookmark_add.png b/IconThemes/kdeclassic/16x16/actions/bookmark_add.png
new file mode 100644
index 00000000..e5620064
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bookmark_folder.png b/IconThemes/kdeclassic/16x16/actions/bookmark_folder.png
new file mode 100644
index 00000000..e053d835
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bookmark_toolbar.png b/IconThemes/kdeclassic/16x16/actions/bookmark_toolbar.png
new file mode 100644
index 00000000..8f59d46f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bookmark_toolbar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_all.png b/IconThemes/kdeclassic/16x16/actions/border_all.png
new file mode 100644
index 00000000..b4b6d94d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_all.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_bottom.png b/IconThemes/kdeclassic/16x16/actions/border_bottom.png
new file mode 100644
index 00000000..15b0e94d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_fall.png b/IconThemes/kdeclassic/16x16/actions/border_fall.png
new file mode 100644
index 00000000..645ab878
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_fall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_horizontal.png b/IconThemes/kdeclassic/16x16/actions/border_horizontal.png
new file mode 100644
index 00000000..d4fc411d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_horizontal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_inside.png b/IconThemes/kdeclassic/16x16/actions/border_inside.png
new file mode 100644
index 00000000..4f8ffa25
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_inside.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_left.png b/IconThemes/kdeclassic/16x16/actions/border_left.png
new file mode 100644
index 00000000..d49f07ed
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_outline.png b/IconThemes/kdeclassic/16x16/actions/border_outline.png
new file mode 100644
index 00000000..5558dbeb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_outline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_remove.png b/IconThemes/kdeclassic/16x16/actions/border_remove.png
new file mode 100644
index 00000000..8757fdab
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_right.png b/IconThemes/kdeclassic/16x16/actions/border_right.png
new file mode 100644
index 00000000..894af731
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_top.png b/IconThemes/kdeclassic/16x16/actions/border_top.png
new file mode 100644
index 00000000..d6de4b01
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_up.png b/IconThemes/kdeclassic/16x16/actions/border_up.png
new file mode 100644
index 00000000..dd3d8df4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/border_vertical.png b/IconThemes/kdeclassic/16x16/actions/border_vertical.png
new file mode 100644
index 00000000..61e424a4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/border_vertical.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/bottom.png b/IconThemes/kdeclassic/16x16/actions/bottom.png
new file mode 100644
index 00000000..caf4ea5a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/brackets.png b/IconThemes/kdeclassic/16x16/actions/brackets.png
new file mode 100644
index 00000000..551988e5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/busysync.png b/IconThemes/kdeclassic/16x16/actions/busysync.png
new file mode 100644
index 00000000..ca151f8e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/busysync.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cakes.png b/IconThemes/kdeclassic/16x16/actions/cakes.png
new file mode 100644
index 00000000..6e9986b8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cakes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cakes3d.png b/IconThemes/kdeclassic/16x16/actions/cakes3d.png
new file mode 100644
index 00000000..21600281
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cakes3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/camera_test.png b/IconThemes/kdeclassic/16x16/actions/camera_test.png
new file mode 100644
index 00000000..7a00f3c5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/camera_test.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cancel.png b/IconThemes/kdeclassic/16x16/actions/cancel.png
new file mode 100644
index 00000000..1b0d7e65
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cancel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cell_edit.png b/IconThemes/kdeclassic/16x16/actions/cell_edit.png
new file mode 100644
index 00000000..90822501
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cell_edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cell_layout.png b/IconThemes/kdeclassic/16x16/actions/cell_layout.png
new file mode 100644
index 00000000..a19955bb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cell_layout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/charset.png b/IconThemes/kdeclassic/16x16/actions/charset.png
new file mode 100644
index 00000000..6d46152a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/charset.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/chart.png b/IconThemes/kdeclassic/16x16/actions/chart.png
new file mode 100644
index 00000000..300bb243
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/chart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/classnew.png b/IconThemes/kdeclassic/16x16/actions/classnew.png
new file mode 100644
index 00000000..fcc234f6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/classnew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/clear_left.png b/IconThemes/kdeclassic/16x16/actions/clear_left.png
new file mode 100644
index 00000000..ea11a3e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/clear_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/color_fill.png b/IconThemes/kdeclassic/16x16/actions/color_fill.png
new file mode 100644
index 00000000..2437dd2a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/color_fill.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/color_line.png b/IconThemes/kdeclassic/16x16/actions/color_line.png
new file mode 100644
index 00000000..7e895283
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/color_line.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/colorize.png b/IconThemes/kdeclassic/16x16/actions/colorize.png
new file mode 100644
index 00000000..a2e0ee2b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/colorman.png b/IconThemes/kdeclassic/16x16/actions/colorman.png
new file mode 100644
index 00000000..319609a3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/colorman.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/colorpicker.png b/IconThemes/kdeclassic/16x16/actions/colorpicker.png
new file mode 100644
index 00000000..eeb387b3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/colorpicker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/comment.png b/IconThemes/kdeclassic/16x16/actions/comment.png
new file mode 100644
index 00000000..4abbbeae
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/comment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/completion.png b/IconThemes/kdeclassic/16x16/actions/completion.png
new file mode 100644
index 00000000..36ae82fd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/completion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/configure.png b/IconThemes/kdeclassic/16x16/actions/configure.png
new file mode 100644
index 00000000..acfab3e1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/configure.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/configure_shortcuts.png b/IconThemes/kdeclassic/16x16/actions/configure_shortcuts.png
new file mode 100644
index 00000000..400f342f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/configure_shortcuts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/configure_toolbars.png b/IconThemes/kdeclassic/16x16/actions/configure_toolbars.png
new file mode 100644
index 00000000..cab49724
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/configure_toolbars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/connect_creating.png b/IconThemes/kdeclassic/16x16/actions/connect_creating.png
new file mode 100644
index 00000000..635c087b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/connect_established.png b/IconThemes/kdeclassic/16x16/actions/connect_established.png
new file mode 100644
index 00000000..a397bf9d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/connect_no.png b/IconThemes/kdeclassic/16x16/actions/connect_no.png
new file mode 100644
index 00000000..4fbb9427
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/contents.png b/IconThemes/kdeclassic/16x16/actions/contents.png
new file mode 100644
index 00000000..97283e7c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/contents.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/contents2.png b/IconThemes/kdeclassic/16x16/actions/contents2.png
new file mode 100644
index 00000000..d1299170
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/contents2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/contexthelp.png b/IconThemes/kdeclassic/16x16/actions/contexthelp.png
new file mode 100644
index 00000000..8a1cf170
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/control.png b/IconThemes/kdeclassic/16x16/actions/control.png
new file mode 100644
index 00000000..78dc1dc7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/control.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/crop.png b/IconThemes/kdeclassic/16x16/actions/crop.png
new file mode 100644
index 00000000..1bcc73f2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/crop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/cssvalidator.png b/IconThemes/kdeclassic/16x16/actions/cssvalidator.png
new file mode 100644
index 00000000..b8ddf5e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/cssvalidator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/curfiledir.png b/IconThemes/kdeclassic/16x16/actions/curfiledir.png
new file mode 100644
index 00000000..9b85f8c9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/curfiledir.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/data.png b/IconThemes/kdeclassic/16x16/actions/data.png
new file mode 100644
index 00000000..80daf2d9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/data.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dayview.png b/IconThemes/kdeclassic/16x16/actions/dayview.png
new file mode 100644
index 00000000..e7cc7dae
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dayview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dbgwatchvar.png b/IconThemes/kdeclassic/16x16/actions/dbgwatchvar.png
new file mode 100644
index 00000000..0e5d0288
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dbgwatchvar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dbottom.png b/IconThemes/kdeclassic/16x16/actions/dbottom.png
new file mode 100644
index 00000000..2ff8b9de
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dbottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/decrypted.png b/IconThemes/kdeclassic/16x16/actions/decrypted.png
new file mode 100644
index 00000000..ba2b6644
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/define_clip.png b/IconThemes/kdeclassic/16x16/actions/define_clip.png
new file mode 100644
index 00000000..b87c729c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/deleteNode.png b/IconThemes/kdeclassic/16x16/actions/deleteNode.png
new file mode 100644
index 00000000..62425060
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/deleteNode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/delete_table.png b/IconThemes/kdeclassic/16x16/actions/delete_table.png
new file mode 100644
index 00000000..01262099
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/delete_table.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/delete_table_col.png b/IconThemes/kdeclassic/16x16/actions/delete_table_col.png
new file mode 100644
index 00000000..1abaf290
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/delete_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/delete_table_row.png b/IconThemes/kdeclassic/16x16/actions/delete_table_row.png
new file mode 100644
index 00000000..490b130d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/delete_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/deletecell.png b/IconThemes/kdeclassic/16x16/actions/deletecell.png
new file mode 100644
index 00000000..304e3fa9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/deletecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/deletelayer.png b/IconThemes/kdeclassic/16x16/actions/deletelayer.png
new file mode 100644
index 00000000..d633ac91
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/deletelayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/delquestion.png b/IconThemes/kdeclassic/16x16/actions/delquestion.png
new file mode 100644
index 00000000..81a655fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/delquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dhcenter.png b/IconThemes/kdeclassic/16x16/actions/dhcenter.png
new file mode 100644
index 00000000..d1bd8ffc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dhcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dhdist.png b/IconThemes/kdeclassic/16x16/actions/dhdist.png
new file mode 100644
index 00000000..30f0b934
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dhdist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dissociatecell.png b/IconThemes/kdeclassic/16x16/actions/dissociatecell.png
new file mode 100644
index 00000000..66368ff5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dissociatecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dleft.png b/IconThemes/kdeclassic/16x16/actions/dleft.png
new file mode 100644
index 00000000..a8db294b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dleft.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/documentinfo.png b/IconThemes/kdeclassic/16x16/actions/documentinfo.png
new file mode 100644
index 00000000..43b02977
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/documentinfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/domtreeviewer.png b/IconThemes/kdeclassic/16x16/actions/domtreeviewer.png
new file mode 100644
index 00000000..20326812
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/domtreeviewer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/down.png b/IconThemes/kdeclassic/16x16/actions/down.png
new file mode 100644
index 00000000..8d7c502e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/down.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dright.png b/IconThemes/kdeclassic/16x16/actions/dright.png
new file mode 100644
index 00000000..88f45528
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dright.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dtop.png b/IconThemes/kdeclassic/16x16/actions/dtop.png
new file mode 100644
index 00000000..895818eb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dtop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dvcenter.png b/IconThemes/kdeclassic/16x16/actions/dvcenter.png
new file mode 100644
index 00000000..d8e65c6d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dvcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/dvdist.png b/IconThemes/kdeclassic/16x16/actions/dvdist.png
new file mode 100644
index 00000000..cca3e41e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/dvdist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/edit.png b/IconThemes/kdeclassic/16x16/actions/edit.png
new file mode 100644
index 00000000..40f9697f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editclear.png b/IconThemes/kdeclassic/16x16/actions/editclear.png
new file mode 100644
index 00000000..46248404
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editclear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editcopy.png b/IconThemes/kdeclassic/16x16/actions/editcopy.png
new file mode 100644
index 00000000..c916e9e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editcut.png b/IconThemes/kdeclassic/16x16/actions/editcut.png
new file mode 100644
index 00000000..1b075790
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editdelete.png b/IconThemes/kdeclassic/16x16/actions/editdelete.png
new file mode 100644
index 00000000..5c568b3c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editpaste.png b/IconThemes/kdeclassic/16x16/actions/editpaste.png
new file mode 100644
index 00000000..dcd713c9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editquestion.png b/IconThemes/kdeclassic/16x16/actions/editquestion.png
new file mode 100644
index 00000000..c7924d73
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/editshred.png b/IconThemes/kdeclassic/16x16/actions/editshred.png
new file mode 100644
index 00000000..8d23a8ff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/editshred.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/edittrash.png b/IconThemes/kdeclassic/16x16/actions/edittrash.png
new file mode 100644
index 00000000..a4317c7a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/effect.png b/IconThemes/kdeclassic/16x16/actions/effect.png
new file mode 100644
index 00000000..8d698a0b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/effect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ellipse1.png b/IconThemes/kdeclassic/16x16/actions/ellipse1.png
new file mode 100644
index 00000000..64ea68e7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ellipse1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ellipse2.png b/IconThemes/kdeclassic/16x16/actions/ellipse2.png
new file mode 100644
index 00000000..50a6eeba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ellipse2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ellipse3.png b/IconThemes/kdeclassic/16x16/actions/ellipse3.png
new file mode 100644
index 00000000..68de2992
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ellipse3.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ellipsetool.png b/IconThemes/kdeclassic/16x16/actions/ellipsetool.png
new file mode 100644
index 00000000..9d51dc65
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ellipsetool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/encrypted.png b/IconThemes/kdeclassic/16x16/actions/encrypted.png
new file mode 100644
index 00000000..7bcf4e98
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/endturn.png b/IconThemes/kdeclassic/16x16/actions/endturn.png
new file mode 100644
index 00000000..00051f46
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/endturn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/enum_list.png b/IconThemes/kdeclassic/16x16/actions/enum_list.png
new file mode 100644
index 00000000..101a736e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/enum_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/eraser.png b/IconThemes/kdeclassic/16x16/actions/eraser.png
new file mode 100644
index 00000000..89a8c1cc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/eraser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/eventdelete.png b/IconThemes/kdeclassic/16x16/actions/eventdelete.png
new file mode 100644
index 00000000..cfb1f933
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/eventdelete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/eventnew.png b/IconThemes/kdeclassic/16x16/actions/eventnew.png
new file mode 100644
index 00000000..802e7cf4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/eventnew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/exec.png b/IconThemes/kdeclassic/16x16/actions/exec.png
new file mode 100644
index 00000000..1699e798
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/exit.png b/IconThemes/kdeclassic/16x16/actions/exit.png
new file mode 100644
index 00000000..3ce53009
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/exit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/eye.png b/IconThemes/kdeclassic/16x16/actions/eye.png
new file mode 100644
index 00000000..53344e1b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/eye.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fastsync.png b/IconThemes/kdeclassic/16x16/actions/fastsync.png
new file mode 100644
index 00000000..c23fac6c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fastsync.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/file.png b/IconThemes/kdeclassic/16x16/actions/file.png
new file mode 100644
index 00000000..f953f9ff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/file.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fileclose.png b/IconThemes/kdeclassic/16x16/actions/fileclose.png
new file mode 100644
index 00000000..ffdc6a98
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fileexport.png b/IconThemes/kdeclassic/16x16/actions/fileexport.png
new file mode 100644
index 00000000..141f560b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fileexport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filefind.png b/IconThemes/kdeclassic/16x16/actions/filefind.png
new file mode 100644
index 00000000..80dca64d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fileimport.png b/IconThemes/kdeclassic/16x16/actions/fileimport.png
new file mode 100644
index 00000000..8e0493ec
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fileimport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filenew.png b/IconThemes/kdeclassic/16x16/actions/filenew.png
new file mode 100644
index 00000000..c27d9473
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fileopen.png b/IconThemes/kdeclassic/16x16/actions/fileopen.png
new file mode 100644
index 00000000..48c776cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fileprint.png b/IconThemes/kdeclassic/16x16/actions/fileprint.png
new file mode 100644
index 00000000..fbf3484b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filequickprint.png b/IconThemes/kdeclassic/16x16/actions/filequickprint.png
new file mode 100644
index 00000000..ef3cdfc1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filesave.png b/IconThemes/kdeclassic/16x16/actions/filesave.png
new file mode 100644
index 00000000..6a9adc13
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filesaveas.png b/IconThemes/kdeclassic/16x16/actions/filesaveas.png
new file mode 100644
index 00000000..ef0e8c7f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fill.png b/IconThemes/kdeclassic/16x16/actions/fill.png
new file mode 100644
index 00000000..c798d1d6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fill.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filter.png b/IconThemes/kdeclassic/16x16/actions/filter.png
new file mode 100644
index 00000000..13c113b4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/filterstop.png b/IconThemes/kdeclassic/16x16/actions/filterstop.png
new file mode 100644
index 00000000..5d9752d0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/filterstop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/find.png b/IconThemes/kdeclassic/16x16/actions/find.png
new file mode 100644
index 00000000..8326f4da
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/findf.png b/IconThemes/kdeclassic/16x16/actions/findf.png
new file mode 100644
index 00000000..a39bfdd8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/findf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/finish.png b/IconThemes/kdeclassic/16x16/actions/finish.png
new file mode 100644
index 00000000..b6ab9cf4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/finish.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/first_letter_upper.png b/IconThemes/kdeclassic/16x16/actions/first_letter_upper.png
new file mode 100644
index 00000000..c98a708a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/first_letter_upper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/flag.png b/IconThemes/kdeclassic/16x16/actions/flag.png
new file mode 100644
index 00000000..205354da
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/flag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/folder_new.png b/IconThemes/kdeclassic/16x16/actions/folder_new.png
new file mode 100644
index 00000000..4fbb741b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fontsizedown.png b/IconThemes/kdeclassic/16x16/actions/fontsizedown.png
new file mode 100644
index 00000000..642af0cc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fontsizedown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fontsizeup.png b/IconThemes/kdeclassic/16x16/actions/fontsizeup.png
new file mode 100644
index 00000000..54453d3b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fontsizeup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/fork.png b/IconThemes/kdeclassic/16x16/actions/fork.png
new file mode 100644
index 00000000..120f2ff7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/fork.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/format_decreaseindent.png b/IconThemes/kdeclassic/16x16/actions/format_decreaseindent.png
new file mode 100644
index 00000000..95313110
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/format_decreaseindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/format_increaseindent.png b/IconThemes/kdeclassic/16x16/actions/format_increaseindent.png
new file mode 100644
index 00000000..618dab71
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/format_increaseindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/forward.png b/IconThemes/kdeclassic/16x16/actions/forward.png
new file mode 100644
index 00000000..073579b6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frac.png b/IconThemes/kdeclassic/16x16/actions/frac.png
new file mode 100644
index 00000000..60c3a38b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_edit.png b/IconThemes/kdeclassic/16x16/actions/frame_edit.png
new file mode 100644
index 00000000..06fa1aa7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_formula.png b/IconThemes/kdeclassic/16x16/actions/frame_formula.png
new file mode 100644
index 00000000..703d5ed7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_formula.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_image.png b/IconThemes/kdeclassic/16x16/actions/frame_image.png
new file mode 100644
index 00000000..924c200c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_query.png b/IconThemes/kdeclassic/16x16/actions/frame_query.png
new file mode 100644
index 00000000..86e21d35
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_query.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_spreadsheet.png b/IconThemes/kdeclassic/16x16/actions/frame_spreadsheet.png
new file mode 100644
index 00000000..667a1a27
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_spreadsheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frame_text.png b/IconThemes/kdeclassic/16x16/actions/frame_text.png
new file mode 100644
index 00000000..ab7b6118
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frame_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/frameprint.png b/IconThemes/kdeclassic/16x16/actions/frameprint.png
new file mode 100644
index 00000000..57191f17
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/freehandtool.png b/IconThemes/kdeclassic/16x16/actions/freehandtool.png
new file mode 100644
index 00000000..4677bd3a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/freehandtool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/funct.png b/IconThemes/kdeclassic/16x16/actions/funct.png
new file mode 100644
index 00000000..7a477afa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/funct.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ganttSelect.png b/IconThemes/kdeclassic/16x16/actions/ganttSelect.png
new file mode 100644
index 00000000..e302cd21
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ganttSelect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ganttSelecttask.png b/IconThemes/kdeclassic/16x16/actions/ganttSelecttask.png
new file mode 100644
index 00000000..4abafb28
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ganttSelecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ganttUnselecttask.png b/IconThemes/kdeclassic/16x16/actions/ganttUnselecttask.png
new file mode 100644
index 00000000..e4a86de1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ganttUnselecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/gear.png b/IconThemes/kdeclassic/16x16/actions/gear.png
new file mode 100644
index 00000000..4ed606c1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/gear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/gohome.png b/IconThemes/kdeclassic/16x16/actions/gohome.png
new file mode 100644
index 00000000..7edb73e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/goto.png b/IconThemes/kdeclassic/16x16/actions/goto.png
new file mode 100644
index 00000000..44ad7589
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/goto.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/group.png b/IconThemes/kdeclassic/16x16/actions/group.png
new file mode 100644
index 00000000..638cedf0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/groupevent.png b/IconThemes/kdeclassic/16x16/actions/groupevent.png
new file mode 100644
index 00000000..8391b987
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/groupevent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/halfencrypted.png b/IconThemes/kdeclassic/16x16/actions/halfencrypted.png
new file mode 100644
index 00000000..25c8be87
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/help.png b/IconThemes/kdeclassic/16x16/actions/help.png
new file mode 100644
index 00000000..d21faa26
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/help.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/helpdocker.png b/IconThemes/kdeclassic/16x16/actions/helpdocker.png
new file mode 100644
index 00000000..d4b9c6c4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/helpdocker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/hide_table_column.png b/IconThemes/kdeclassic/16x16/actions/hide_table_column.png
new file mode 100644
index 00000000..122469db
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/hide_table_column.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/hide_table_row.png b/IconThemes/kdeclassic/16x16/actions/hide_table_row.png
new file mode 100644
index 00000000..dd89c379
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/hide_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/highlighting.png b/IconThemes/kdeclassic/16x16/actions/highlighting.png
new file mode 100644
index 00000000..a204bfdd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/highlighting.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/highscore.png b/IconThemes/kdeclassic/16x16/actions/highscore.png
new file mode 100644
index 00000000..8eb54762
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/highscore.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/hilo.png b/IconThemes/kdeclassic/16x16/actions/hilo.png
new file mode 100644
index 00000000..6872f791
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/hilo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/history.png b/IconThemes/kdeclassic/16x16/actions/history.png
new file mode 100644
index 00000000..6f5139b7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/history.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/history_clear.png b/IconThemes/kdeclassic/16x16/actions/history_clear.png
new file mode 100644
index 00000000..becb3c43
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/history_clear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/historydocker.png b/IconThemes/kdeclassic/16x16/actions/historydocker.png
new file mode 100644
index 00000000..f324d099
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/historydocker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/hmirror.png b/IconThemes/kdeclassic/16x16/actions/hmirror.png
new file mode 100644
index 00000000..716adb81
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/hmirror.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/hotsync.png b/IconThemes/kdeclassic/16x16/actions/hotsync.png
new file mode 100644
index 00000000..206bd03a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/hotsync.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/htmlvalidator.png b/IconThemes/kdeclassic/16x16/actions/htmlvalidator.png
new file mode 100644
index 00000000..b4a0acc7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/htmlvalidator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/idea.png b/IconThemes/kdeclassic/16x16/actions/idea.png
new file mode 100644
index 00000000..1c231d5d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/idea.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/identity.png b/IconThemes/kdeclassic/16x16/actions/identity.png
new file mode 100644
index 00000000..45c70f8b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/identity.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/imagegallery.png b/IconThemes/kdeclassic/16x16/actions/imagegallery.png
new file mode 100644
index 00000000..13581f25
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/imagegallery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/images_display.png b/IconThemes/kdeclassic/16x16/actions/images_display.png
new file mode 100644
index 00000000..66f550e7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/images_display.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/info.png b/IconThemes/kdeclassic/16x16/actions/info.png
new file mode 100644
index 00000000..43b02977
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/info.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/inline_image.png b/IconThemes/kdeclassic/16x16/actions/inline_image.png
new file mode 100644
index 00000000..de12b0cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/inline_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/inline_table.png b/IconThemes/kdeclassic/16x16/actions/inline_table.png
new file mode 100644
index 00000000..9cb0fab4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/inline_table.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/insert_table_col.png b/IconThemes/kdeclassic/16x16/actions/insert_table_col.png
new file mode 100644
index 00000000..077a5484
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/insert_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/insert_table_row.png b/IconThemes/kdeclassic/16x16/actions/insert_table_row.png
new file mode 100644
index 00000000..e4859a43
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/insert_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/insertcell.png b/IconThemes/kdeclassic/16x16/actions/insertcell.png
new file mode 100644
index 00000000..6fc8c15d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/insertcell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/insertcellcopy.png b/IconThemes/kdeclassic/16x16/actions/insertcellcopy.png
new file mode 100644
index 00000000..e3746997
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/insertcellcopy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/insertclipart.png b/IconThemes/kdeclassic/16x16/actions/insertclipart.png
new file mode 100644
index 00000000..50a82adf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/insertclipart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/inserttable.png b/IconThemes/kdeclassic/16x16/actions/inserttable.png
new file mode 100644
index 00000000..87147573
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/inserttable.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/int.png b/IconThemes/kdeclassic/16x16/actions/int.png
new file mode 100644
index 00000000..c17a2b99
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/inverse_recur.png b/IconThemes/kdeclassic/16x16/actions/inverse_recur.png
new file mode 100644
index 00000000..2afd51ec
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/inverse_recur.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/item_add.png b/IconThemes/kdeclassic/16x16/actions/item_add.png
new file mode 100644
index 00000000..e23181c6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/item_add.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/item_remove.png b/IconThemes/kdeclassic/16x16/actions/item_remove.png
new file mode 100644
index 00000000..c79d2ac1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/item_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/item_rename.png b/IconThemes/kdeclassic/16x16/actions/item_rename.png
new file mode 100644
index 00000000..89980545
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/item_rename.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/jail_pay.png b/IconThemes/kdeclassic/16x16/actions/jail_pay.png
new file mode 100644
index 00000000..952b0ead
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/jail_pay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/joinNodes.png b/IconThemes/kdeclassic/16x16/actions/joinNodes.png
new file mode 100644
index 00000000..bee143ee
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/joinNodes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kaboodleloop.png b/IconThemes/kdeclassic/16x16/actions/kaboodleloop.png
new file mode 100644
index 00000000..86c65667
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kaboodleloop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kalarm.png b/IconThemes/kdeclassic/16x16/actions/kalarm.png
new file mode 100644
index 00000000..eb5683b3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kalarm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kanjidic.png b/IconThemes/kdeclassic/16x16/actions/kanjidic.png
new file mode 100644
index 00000000..6f617d5e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kanjidic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kdb_form.png b/IconThemes/kdeclassic/16x16/actions/kdb_form.png
new file mode 100644
index 00000000..158d2837
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kdb_form.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kdb_table.png b/IconThemes/kdeclassic/16x16/actions/kdb_table.png
new file mode 100644
index 00000000..96f74344
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kdb_table.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde1.png b/IconThemes/kdeclassic/16x16/actions/kde1.png
new file mode 100644
index 00000000..18a6dd3c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde2.png b/IconThemes/kdeclassic/16x16/actions/kde2.png
new file mode 100644
index 00000000..18026ddd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde3.png b/IconThemes/kdeclassic/16x16/actions/kde3.png
new file mode 100644
index 00000000..d6ec1601
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde3.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde4.png b/IconThemes/kdeclassic/16x16/actions/kde4.png
new file mode 100644
index 00000000..44aac556
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde5.png b/IconThemes/kdeclassic/16x16/actions/kde5.png
new file mode 100644
index 00000000..0491cd06
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde5.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kde6.png b/IconThemes/kdeclassic/16x16/actions/kde6.png
new file mode 100644
index 00000000..001ea400
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kde6.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kdeprint_restartsrv.png b/IconThemes/kdeclassic/16x16/actions/kdeprint_restartsrv.png
new file mode 100644
index 00000000..f035164d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kdeprint_restartsrv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kdeprint_uploadsmb.png b/IconThemes/kdeclassic/16x16/actions/kdeprint_uploadsmb.png
new file mode 100644
index 00000000..c6d68fb0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kdeprint_uploadsmb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/key_enter.png b/IconThemes/kdeclassic/16x16/actions/key_enter.png
new file mode 100644
index 00000000..cc4ead9b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/key_enter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_anonwarning.png b/IconThemes/kdeclassic/16x16/actions/kit_anonwarning.png
new file mode 100644
index 00000000..e18a6e83
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_anonwarning.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_away.png b/IconThemes/kdeclassic/16x16/actions/kit_away.png
new file mode 100644
index 00000000..e7d86237
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_away.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_bold.png b/IconThemes/kdeclassic/16x16/actions/kit_bold.png
new file mode 100644
index 00000000..cb9525ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_bold.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_group.png b/IconThemes/kdeclassic/16x16/actions/kit_group.png
new file mode 100644
index 00000000..fbbf54a5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_info.png b/IconThemes/kdeclassic/16x16/actions/kit_info.png
new file mode 100644
index 00000000..90531511
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_info.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_logging.png b/IconThemes/kdeclassic/16x16/actions/kit_logging.png
new file mode 100644
index 00000000..3d3cc908
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_logging.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_offline.png b/IconThemes/kdeclassic/16x16/actions/kit_offline.png
new file mode 100644
index 00000000..1cf1997a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_offline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_online.png b/IconThemes/kdeclassic/16x16/actions/kit_online.png
new file mode 100644
index 00000000..dc757eea
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_online.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_sound.png b/IconThemes/kdeclassic/16x16/actions/kit_sound.png
new file mode 100644
index 00000000..a51d8d86
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_status.png b/IconThemes/kdeclassic/16x16/actions/kit_status.png
new file mode 100644
index 00000000..8f321899
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_status.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_timestamping.png b/IconThemes/kdeclassic/16x16/actions/kit_timestamping.png
new file mode 100644
index 00000000..d83f4073
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_timestamping.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/kit_warning.png b/IconThemes/kdeclassic/16x16/actions/kit_warning.png
new file mode 100644
index 00000000..9a1a4e9f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/kit_warning.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/krec_record.png b/IconThemes/kdeclassic/16x16/actions/krec_record.png
new file mode 100644
index 00000000..b808b652
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/krec_record.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ktip.png b/IconThemes/kdeclassic/16x16/actions/ktip.png
new file mode 100644
index 00000000..e62a22c2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/laptop_charge.png b/IconThemes/kdeclassic/16x16/actions/laptop_charge.png
new file mode 100644
index 00000000..717d37f9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/laptop_charge.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/laptop_nobattery.png b/IconThemes/kdeclassic/16x16/actions/laptop_nobattery.png
new file mode 100644
index 00000000..98a4eeff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/laptop_nobattery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/laptop_nocharge.png b/IconThemes/kdeclassic/16x16/actions/laptop_nocharge.png
new file mode 100644
index 00000000..f4f9ba14
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/laptop_nocharge.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/launch.png b/IconThemes/kdeclassic/16x16/actions/launch.png
new file mode 100644
index 00000000..120f2ff7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/launch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/layersman.png b/IconThemes/kdeclassic/16x16/actions/layersman.png
new file mode 100644
index 00000000..dd6a73cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/layersman.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ldap_lookup.png b/IconThemes/kdeclassic/16x16/actions/ldap_lookup.png
new file mode 100644
index 00000000..f36ad4d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ldap_lookup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lines.png b/IconThemes/kdeclassic/16x16/actions/lines.png
new file mode 100644
index 00000000..216fa31f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lines3d.png b/IconThemes/kdeclassic/16x16/actions/lines3d.png
new file mode 100644
index 00000000..82367eef
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lines3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/linetool.png b/IconThemes/kdeclassic/16x16/actions/linetool.png
new file mode 100644
index 00000000..c49e731a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/linetool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/linewidth.png b/IconThemes/kdeclassic/16x16/actions/linewidth.png
new file mode 100644
index 00000000..2f649505
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/linewidth.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/list.png b/IconThemes/kdeclassic/16x16/actions/list.png
new file mode 100644
index 00000000..9b581558
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/locationbar_erase.png b/IconThemes/kdeclassic/16x16/actions/locationbar_erase.png
new file mode 100644
index 00000000..0fb00f91
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lock.png b/IconThemes/kdeclassic/16x16/actions/lock.png
new file mode 100644
index 00000000..d46a7aa2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lower.png b/IconThemes/kdeclassic/16x16/actions/lower.png
new file mode 100644
index 00000000..98932f0d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lower.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lowerlayer.png b/IconThemes/kdeclassic/16x16/actions/lowerlayer.png
new file mode 100644
index 00000000..7ee07622
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lowerlayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lsub.png b/IconThemes/kdeclassic/16x16/actions/lsub.png
new file mode 100644
index 00000000..02aad6c7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/lsup.png b/IconThemes/kdeclassic/16x16/actions/lsup.png
new file mode 100644
index 00000000..25fc65c6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_find.png b/IconThemes/kdeclassic/16x16/actions/mail_find.png
new file mode 100644
index 00000000..9f7cc64c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_forward.png b/IconThemes/kdeclassic/16x16/actions/mail_forward.png
new file mode 100644
index 00000000..eb52b69b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_generic.png b/IconThemes/kdeclassic/16x16/actions/mail_generic.png
new file mode 100644
index 00000000..a0bc51c6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_get.png b/IconThemes/kdeclassic/16x16/actions/mail_get.png
new file mode 100644
index 00000000..6b8e43f9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_new.png b/IconThemes/kdeclassic/16x16/actions/mail_new.png
new file mode 100644
index 00000000..651e26cd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_post_to.png b/IconThemes/kdeclassic/16x16/actions/mail_post_to.png
new file mode 100644
index 00000000..c27d9473
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_post_to.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_reply.png b/IconThemes/kdeclassic/16x16/actions/mail_reply.png
new file mode 100644
index 00000000..5aa6d020
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_replyall.png b/IconThemes/kdeclassic/16x16/actions/mail_replyall.png
new file mode 100644
index 00000000..bced5dfc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_replylist.png b/IconThemes/kdeclassic/16x16/actions/mail_replylist.png
new file mode 100644
index 00000000..a52fe5e0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mail_send.png b/IconThemes/kdeclassic/16x16/actions/mail_send.png
new file mode 100644
index 00000000..40610b99
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mailappt.png b/IconThemes/kdeclassic/16x16/actions/mailappt.png
new file mode 100644
index 00000000..39d0cb3a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mailappt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/make_kdevelop.png b/IconThemes/kdeclassic/16x16/actions/make_kdevelop.png
new file mode 100644
index 00000000..824c7580
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/make_kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_abs.png b/IconThemes/kdeclassic/16x16/actions/math_abs.png
new file mode 100644
index 00000000..fd8c4062
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_brace.png b/IconThemes/kdeclassic/16x16/actions/math_brace.png
new file mode 100644
index 00000000..cf06fc5b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_brace.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_brackets.png b/IconThemes/kdeclassic/16x16/actions/math_brackets.png
new file mode 100644
index 00000000..551988e5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_frac.png b/IconThemes/kdeclassic/16x16/actions/math_frac.png
new file mode 100644
index 00000000..60c3a38b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_int.png b/IconThemes/kdeclassic/16x16/actions/math_int.png
new file mode 100644
index 00000000..c17a2b99
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_lsub.png b/IconThemes/kdeclassic/16x16/actions/math_lsub.png
new file mode 100644
index 00000000..7bc645b4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_lsup.png b/IconThemes/kdeclassic/16x16/actions/math_lsup.png
new file mode 100644
index 00000000..05cee973
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_matrix.png b/IconThemes/kdeclassic/16x16/actions/math_matrix.png
new file mode 100644
index 00000000..a0f17f6a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_onetwomatrix.png b/IconThemes/kdeclassic/16x16/actions/math_onetwomatrix.png
new file mode 100644
index 00000000..0ef547fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_paren.png b/IconThemes/kdeclassic/16x16/actions/math_paren.png
new file mode 100644
index 00000000..d4c25f1e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_prod.png b/IconThemes/kdeclassic/16x16/actions/math_prod.png
new file mode 100644
index 00000000..59c90110
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_rsub.png b/IconThemes/kdeclassic/16x16/actions/math_rsub.png
new file mode 100644
index 00000000..9e4ac438
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_rsup.png b/IconThemes/kdeclassic/16x16/actions/math_rsup.png
new file mode 100644
index 00000000..4b0c7ca0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_sqrt.png b/IconThemes/kdeclassic/16x16/actions/math_sqrt.png
new file mode 100644
index 00000000..2881e6e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/math_sum.png b/IconThemes/kdeclassic/16x16/actions/math_sum.png
new file mode 100644
index 00000000..192b5bbb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/math_sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/matrix.png b/IconThemes/kdeclassic/16x16/actions/matrix.png
new file mode 100644
index 00000000..a0f17f6a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/mergecell.png b/IconThemes/kdeclassic/16x16/actions/mergecell.png
new file mode 100644
index 00000000..8e581942
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/mergecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/message_reply.png b/IconThemes/kdeclassic/16x16/actions/message_reply.png
new file mode 100644
index 00000000..5f9e5d62
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/message_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/methodnew.png b/IconThemes/kdeclassic/16x16/actions/methodnew.png
new file mode 100644
index 00000000..b02f1e0a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/methodnew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/middle.png b/IconThemes/kdeclassic/16x16/actions/middle.png
new file mode 100644
index 00000000..e1a5154e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/middle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/misc.png b/IconThemes/kdeclassic/16x16/actions/misc.png
new file mode 100644
index 00000000..ccee07ce
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/misc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/money.png b/IconThemes/kdeclassic/16x16/actions/money.png
new file mode 100644
index 00000000..b3e87e4d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/money.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/month.png b/IconThemes/kdeclassic/16x16/actions/month.png
new file mode 100644
index 00000000..8524a9b7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/month.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/move.png b/IconThemes/kdeclassic/16x16/actions/move.png
new file mode 100644
index 00000000..80c70316
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/move.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/moveNode.png b/IconThemes/kdeclassic/16x16/actions/moveNode.png
new file mode 100644
index 00000000..08e314c3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/moveNode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/multirow.png b/IconThemes/kdeclassic/16x16/actions/multirow.png
new file mode 100644
index 00000000..ea803ba3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/multirow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_32ndnote.png b/IconThemes/kdeclassic/16x16/actions/music_32ndnote.png
new file mode 100644
index 00000000..27c3dace
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_32ndnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_cleficon.png b/IconThemes/kdeclassic/16x16/actions/music_cleficon.png
new file mode 100644
index 00000000..21a8c0fa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_cleficon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_cross.png b/IconThemes/kdeclassic/16x16/actions/music_cross.png
new file mode 100644
index 00000000..c69e8772
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_cross.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_dottednote.png b/IconThemes/kdeclassic/16x16/actions/music_dottednote.png
new file mode 100644
index 00000000..e5796a19
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_dottednote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_eightnote.png b/IconThemes/kdeclassic/16x16/actions/music_eightnote.png
new file mode 100644
index 00000000..efa3d0ef
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_eightnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_fermatenote.png b/IconThemes/kdeclassic/16x16/actions/music_fermatenote.png
new file mode 100644
index 00000000..1ff6cfdd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_fermatenote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_flat.png b/IconThemes/kdeclassic/16x16/actions/music_flat.png
new file mode 100644
index 00000000..1368e8b5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_flat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_fullnote.png b/IconThemes/kdeclassic/16x16/actions/music_fullnote.png
new file mode 100644
index 00000000..4fe049cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_fullnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_halfnote.png b/IconThemes/kdeclassic/16x16/actions/music_halfnote.png
new file mode 100644
index 00000000..17cffdf2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_halfnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_natur.png b/IconThemes/kdeclassic/16x16/actions/music_natur.png
new file mode 100644
index 00000000..247bb829
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_natur.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_quarternote.png b/IconThemes/kdeclassic/16x16/actions/music_quarternote.png
new file mode 100644
index 00000000..7a9c0a2b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_quarternote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/music_sixteenthnote.png b/IconThemes/kdeclassic/16x16/actions/music_sixteenthnote.png
new file mode 100644
index 00000000..25355918
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/music_sixteenthnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/newNode.png b/IconThemes/kdeclassic/16x16/actions/newNode.png
new file mode 100644
index 00000000..ffda268b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/newNode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/newlayer.png b/IconThemes/kdeclassic/16x16/actions/newlayer.png
new file mode 100644
index 00000000..e3707a0a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/newlayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/news_subscribe.png b/IconThemes/kdeclassic/16x16/actions/news_subscribe.png
new file mode 100644
index 00000000..86d949bf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/news_unsubscribe.png b/IconThemes/kdeclassic/16x16/actions/news_unsubscribe.png
new file mode 100644
index 00000000..3f7ed64c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/news_unsubscribe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/newwidget.png b/IconThemes/kdeclassic/16x16/actions/newwidget.png
new file mode 100644
index 00000000..16a439d6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/newwidget.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/next.png b/IconThemes/kdeclassic/16x16/actions/next.png
new file mode 100644
index 00000000..f0b977bf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/next.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunback.png b/IconThemes/kdeclassic/16x16/actions/noatunback.png
new file mode 100644
index 00000000..13db3289
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunforward.png b/IconThemes/kdeclassic/16x16/actions/noatunforward.png
new file mode 100644
index 00000000..0ff89c3e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunpause.png b/IconThemes/kdeclassic/16x16/actions/noatunpause.png
new file mode 100644
index 00000000..1b88b6fe
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunplay.png b/IconThemes/kdeclassic/16x16/actions/noatunplay.png
new file mode 100644
index 00000000..abd8f18a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunplaylist.png b/IconThemes/kdeclassic/16x16/actions/noatunplaylist.png
new file mode 100644
index 00000000..77e0e9b9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatunstop.png b/IconThemes/kdeclassic/16x16/actions/noatunstop.png
new file mode 100644
index 00000000..734184ec
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatuntray.png b/IconThemes/kdeclassic/16x16/actions/noatuntray.png
new file mode 100644
index 00000000..4de2b8a9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatuntray.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatuntraypause.png b/IconThemes/kdeclassic/16x16/actions/noatuntraypause.png
new file mode 100644
index 00000000..629e086e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatuntraypause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatuntrayplay.png b/IconThemes/kdeclassic/16x16/actions/noatuntrayplay.png
new file mode 100644
index 00000000..51f83535
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatuntrayplay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/noatuntraystop.png b/IconThemes/kdeclassic/16x16/actions/noatuntraystop.png
new file mode 100644
index 00000000..234951a5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/noatuntraystop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/nomailappt.png b/IconThemes/kdeclassic/16x16/actions/nomailappt.png
new file mode 100644
index 00000000..417c5193
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/nomailappt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/null.png b/IconThemes/kdeclassic/16x16/actions/null.png
new file mode 100644
index 00000000..021451f7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/null.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ok.png b/IconThemes/kdeclassic/16x16/actions/ok.png
new file mode 100644
index 00000000..66e63379
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ok.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/onetwomatrix.png b/IconThemes/kdeclassic/16x16/actions/onetwomatrix.png
new file mode 100644
index 00000000..0ef547fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/openterm.png b/IconThemes/kdeclassic/16x16/actions/openterm.png
new file mode 100644
index 00000000..ff3c5359
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/openterm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/opentermred.png b/IconThemes/kdeclassic/16x16/actions/opentermred.png
new file mode 100644
index 00000000..e9201d80
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/opentermred.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/options.png b/IconThemes/kdeclassic/16x16/actions/options.png
new file mode 100644
index 00000000..3770fb04
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/options.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/organizer.png b/IconThemes/kdeclassic/16x16/actions/organizer.png
new file mode 100644
index 00000000..0c65d4e9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/organizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/oscilloscope.png b/IconThemes/kdeclassic/16x16/actions/oscilloscope.png
new file mode 100644
index 00000000..68596c83
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/oscilloscope.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/over.png b/IconThemes/kdeclassic/16x16/actions/over.png
new file mode 100644
index 00000000..c9136c1a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/over.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/paintbrush.png b/IconThemes/kdeclassic/16x16/actions/paintbrush.png
new file mode 100644
index 00000000..0556067d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/paintbrush.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/palette_color.png b/IconThemes/kdeclassic/16x16/actions/palette_color.png
new file mode 100644
index 00000000..f41ed604
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/palette_color.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/palette_gray.png b/IconThemes/kdeclassic/16x16/actions/palette_gray.png
new file mode 100644
index 00000000..fe2a423c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/palette_gray.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/palette_halftone.png b/IconThemes/kdeclassic/16x16/actions/palette_halftone.png
new file mode 100644
index 00000000..3d410fc9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/palette_halftone.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/palette_lineart.png b/IconThemes/kdeclassic/16x16/actions/palette_lineart.png
new file mode 100644
index 00000000..3d410fc9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/palette_lineart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/paren.png b/IconThemes/kdeclassic/16x16/actions/paren.png
new file mode 100644
index 00000000..d4c25f1e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pencil.png b/IconThemes/kdeclassic/16x16/actions/pencil.png
new file mode 100644
index 00000000..f2456842
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pencil.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/percent.png b/IconThemes/kdeclassic/16x16/actions/percent.png
new file mode 100644
index 00000000..7a4ba47e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/percent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/piano.png b/IconThemes/kdeclassic/16x16/actions/piano.png
new file mode 100644
index 00000000..29536a0a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/piano.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_end.png b/IconThemes/kdeclassic/16x16/actions/player_end.png
new file mode 100644
index 00000000..012d52c8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_fwd.png b/IconThemes/kdeclassic/16x16/actions/player_fwd.png
new file mode 100644
index 00000000..278fa122
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_fwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_pause.png b/IconThemes/kdeclassic/16x16/actions/player_pause.png
new file mode 100644
index 00000000..1974eb3f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_play.png b/IconThemes/kdeclassic/16x16/actions/player_play.png
new file mode 100644
index 00000000..e4200603
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_play.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_rew.png b/IconThemes/kdeclassic/16x16/actions/player_rew.png
new file mode 100644
index 00000000..a1e11c91
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_rew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_start.png b/IconThemes/kdeclassic/16x16/actions/player_start.png
new file mode 100644
index 00000000..877320b4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/player_stop.png b/IconThemes/kdeclassic/16x16/actions/player_stop.png
new file mode 100644
index 00000000..127a21b1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/plugin.png b/IconThemes/kdeclassic/16x16/actions/plugin.png
new file mode 100644
index 00000000..d040f851
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/plugin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmaddpoint.png b/IconThemes/kdeclassic/16x16/actions/pmaddpoint.png
new file mode 100644
index 00000000..b3c7cab4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmaddpoint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmaddsubprism.png b/IconThemes/kdeclassic/16x16/actions/pmaddsubprism.png
new file mode 100644
index 00000000..ff5bca2b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmaddsubprism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmbicubicpatch.png b/IconThemes/kdeclassic/16x16/actions/pmbicubicpatch.png
new file mode 100644
index 00000000..3b7baaa0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmbicubicpatch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmblendmapmodifiers.png b/IconThemes/kdeclassic/16x16/actions/pmblendmapmodifiers.png
new file mode 100644
index 00000000..334867dc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmblendmapmodifiers.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmblob.png b/IconThemes/kdeclassic/16x16/actions/pmblob.png
new file mode 100644
index 00000000..28c7f9c4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmblob.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmblobcylinder.png b/IconThemes/kdeclassic/16x16/actions/pmblobcylinder.png
new file mode 100644
index 00000000..3b788ebf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmblobcylinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmblobsphere.png b/IconThemes/kdeclassic/16x16/actions/pmblobsphere.png
new file mode 100644
index 00000000..9e9e9c04
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmblobsphere.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmboundedby.png b/IconThemes/kdeclassic/16x16/actions/pmboundedby.png
new file mode 100644
index 00000000..288769d8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmboundedby.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmbox.png b/IconThemes/kdeclassic/16x16/actions/pmbox.png
new file mode 100644
index 00000000..48a81471
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmbumpmap.png b/IconThemes/kdeclassic/16x16/actions/pmbumpmap.png
new file mode 100644
index 00000000..5221c2a9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmbumpmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcamera.png b/IconThemes/kdeclassic/16x16/actions/pmcamera.png
new file mode 100644
index 00000000..264a4e9f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcamera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmclippedby.png b/IconThemes/kdeclassic/16x16/actions/pmclippedby.png
new file mode 100644
index 00000000..b281ac84
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmclippedby.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcolorlist.png b/IconThemes/kdeclassic/16x16/actions/pmcolorlist.png
new file mode 100644
index 00000000..cc3e406d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcolorlist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcolormap.png b/IconThemes/kdeclassic/16x16/actions/pmcolormap.png
new file mode 100644
index 00000000..ed68e5e5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcolormap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcolormapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmcolormapdeclare.png
new file mode 100644
index 00000000..3371c27a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcolormapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcomment.png b/IconThemes/kdeclassic/16x16/actions/pmcomment.png
new file mode 100644
index 00000000..78b0a3f0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcomment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcone.png b/IconThemes/kdeclassic/16x16/actions/pmcone.png
new file mode 100644
index 00000000..0dd88efd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcone.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmcylinder.png b/IconThemes/kdeclassic/16x16/actions/pmcylinder.png
new file mode 100644
index 00000000..753453b2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmcylinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmdeclare.png
new file mode 100644
index 00000000..36c277d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdensity.png b/IconThemes/kdeclassic/16x16/actions/pmdensity.png
new file mode 100644
index 00000000..98b91daa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdensity.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdensitydeclare.png b/IconThemes/kdeclassic/16x16/actions/pmdensitydeclare.png
new file mode 100644
index 00000000..87f96d9e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdensitydeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdensitylist.png b/IconThemes/kdeclassic/16x16/actions/pmdensitylist.png
new file mode 100644
index 00000000..a783751e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdensitylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdensitymap.png b/IconThemes/kdeclassic/16x16/actions/pmdensitymap.png
new file mode 100644
index 00000000..dc277d2c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdensitymap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdensitymapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmdensitymapdeclare.png
new file mode 100644
index 00000000..f22f525e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdensitymapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdialogview.png b/IconThemes/kdeclassic/16x16/actions/pmdialogview.png
new file mode 100644
index 00000000..e48cb253
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdialogview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdifference.png b/IconThemes/kdeclassic/16x16/actions/pmdifference.png
new file mode 100644
index 00000000..d2551828
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdifference.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdisc.png b/IconThemes/kdeclassic/16x16/actions/pmdisc.png
new file mode 100644
index 00000000..c39115c4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdisc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmdrag.png b/IconThemes/kdeclassic/16x16/actions/pmdrag.png
new file mode 100644
index 00000000..65aba8ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmdrag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmfinish.png b/IconThemes/kdeclassic/16x16/actions/pmfinish.png
new file mode 100644
index 00000000..d014f144
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmfinish.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmfinishdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmfinishdeclare.png
new file mode 100644
index 00000000..b0e77f59
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmfinishdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmfog.png b/IconThemes/kdeclassic/16x16/actions/pmfog.png
new file mode 100644
index 00000000..5d7acae0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmfog.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmfogdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmfogdeclare.png
new file mode 100644
index 00000000..0db954dc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmfogdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmglobalsettings.png b/IconThemes/kdeclassic/16x16/actions/pmglobalsettings.png
new file mode 100644
index 00000000..9732e0ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmglobalsettings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmglview.png b/IconThemes/kdeclassic/16x16/actions/pmglview.png
new file mode 100644
index 00000000..7b69cea1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmglview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmheightfield.png b/IconThemes/kdeclassic/16x16/actions/pmheightfield.png
new file mode 100644
index 00000000..f40f3f50
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmheightfield.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmimagemap.png b/IconThemes/kdeclassic/16x16/actions/pmimagemap.png
new file mode 100644
index 00000000..01d8d9da
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmimagemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminserterrors.png b/IconThemes/kdeclassic/16x16/actions/pminserterrors.png
new file mode 100644
index 00000000..a8edc396
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminserterrors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminsertfirstchild.png b/IconThemes/kdeclassic/16x16/actions/pminsertfirstchild.png
new file mode 100644
index 00000000..5ee47f17
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminsertfirstchild.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminsertlastchild.png b/IconThemes/kdeclassic/16x16/actions/pminsertlastchild.png
new file mode 100644
index 00000000..cc7193f7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminsertlastchild.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminsertsibling.png b/IconThemes/kdeclassic/16x16/actions/pminsertsibling.png
new file mode 100644
index 00000000..a0bca16f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminsertsibling.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminterior.png b/IconThemes/kdeclassic/16x16/actions/pminterior.png
new file mode 100644
index 00000000..76a003df
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminterior.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pminteriordeclare.png b/IconThemes/kdeclassic/16x16/actions/pminteriordeclare.png
new file mode 100644
index 00000000..18781544
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pminteriordeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmintersection.png b/IconThemes/kdeclassic/16x16/actions/pmintersection.png
new file mode 100644
index 00000000..954eae50
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmintersection.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmjuliafractal.png b/IconThemes/kdeclassic/16x16/actions/pmjuliafractal.png
new file mode 100644
index 00000000..66b6cad0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmjuliafractal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmlathe.png b/IconThemes/kdeclassic/16x16/actions/pmlathe.png
new file mode 100644
index 00000000..bd316870
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmlathe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmlight.png b/IconThemes/kdeclassic/16x16/actions/pmlight.png
new file mode 100644
index 00000000..e6e0d098
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmlight.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmlistpattern.png b/IconThemes/kdeclassic/16x16/actions/pmlistpattern.png
new file mode 100644
index 00000000..cd68aa2a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmlistpattern.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmlookslike.png b/IconThemes/kdeclassic/16x16/actions/pmlookslike.png
new file mode 100644
index 00000000..3b511673
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmlookslike.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmaterial.png b/IconThemes/kdeclassic/16x16/actions/pmmaterial.png
new file mode 100644
index 00000000..af492025
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmaterial.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmaterialdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmmaterialdeclare.png
new file mode 100644
index 00000000..aa9ba10b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmaterialdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmaterialmap.png b/IconThemes/kdeclassic/16x16/actions/pmmaterialmap.png
new file mode 100644
index 00000000..f46a9fb2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmaterialmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmatrix.png b/IconThemes/kdeclassic/16x16/actions/pmmatrix.png
new file mode 100644
index 00000000..32f4f298
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmedia.png b/IconThemes/kdeclassic/16x16/actions/pmmedia.png
new file mode 100644
index 00000000..4b72046c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmediadeclare.png b/IconThemes/kdeclassic/16x16/actions/pmmediadeclare.png
new file mode 100644
index 00000000..e43b3948
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmediadeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmmerge.png b/IconThemes/kdeclassic/16x16/actions/pmmerge.png
new file mode 100644
index 00000000..04e71ed2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmmerge.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmnormal.png b/IconThemes/kdeclassic/16x16/actions/pmnormal.png
new file mode 100644
index 00000000..99979725
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmnormal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmnormaldeclare.png b/IconThemes/kdeclassic/16x16/actions/pmnormaldeclare.png
new file mode 100644
index 00000000..e148abc3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmnormaldeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmnormallist.png b/IconThemes/kdeclassic/16x16/actions/pmnormallist.png
new file mode 100644
index 00000000..4f4fea88
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmnormallist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmnormalmap.png b/IconThemes/kdeclassic/16x16/actions/pmnormalmap.png
new file mode 100644
index 00000000..6d12407b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmnormalmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmnormalmapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmnormalmapdeclare.png
new file mode 100644
index 00000000..09c6d28e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmnormalmapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmobjectdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmobjectdeclare.png
new file mode 100644
index 00000000..cd562250
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmobjectdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmobjectlink.png b/IconThemes/kdeclassic/16x16/actions/pmobjectlink.png
new file mode 100644
index 00000000..479664f6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmobjectlink.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpattern.png b/IconThemes/kdeclassic/16x16/actions/pmpattern.png
new file mode 100644
index 00000000..5032bb8d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpattern.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpigment.png b/IconThemes/kdeclassic/16x16/actions/pmpigment.png
new file mode 100644
index 00000000..e1c49853
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpigment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpigmentdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmpigmentdeclare.png
new file mode 100644
index 00000000..15af344d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpigmentdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpigmentlist.png b/IconThemes/kdeclassic/16x16/actions/pmpigmentlist.png
new file mode 100644
index 00000000..26aa2908
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpigmentlist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpigmentmap.png b/IconThemes/kdeclassic/16x16/actions/pmpigmentmap.png
new file mode 100644
index 00000000..32e1c4e6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpigmentmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpigmentmapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmpigmentmapdeclare.png
new file mode 100644
index 00000000..2ff2d59d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpigmentmapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmplane.png b/IconThemes/kdeclassic/16x16/actions/pmplane.png
new file mode 100644
index 00000000..8e6590b0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmplane.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmpolynom.png b/IconThemes/kdeclassic/16x16/actions/pmpolynom.png
new file mode 100644
index 00000000..fcaf1a15
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmpolynom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmprism.png b/IconThemes/kdeclassic/16x16/actions/pmprism.png
new file mode 100644
index 00000000..b58f5aa8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmprism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmquickcolor.png b/IconThemes/kdeclassic/16x16/actions/pmquickcolor.png
new file mode 100644
index 00000000..41afd2a3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmquickcolor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrainbow.png b/IconThemes/kdeclassic/16x16/actions/pmrainbow.png
new file mode 100644
index 00000000..271405db
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrainbow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrainbowdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmrainbowdeclare.png
new file mode 100644
index 00000000..9232255c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrainbowdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmraw.png b/IconThemes/kdeclassic/16x16/actions/pmraw.png
new file mode 100644
index 00000000..cb0ce235
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmraw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmremovepoint.png b/IconThemes/kdeclassic/16x16/actions/pmremovepoint.png
new file mode 100644
index 00000000..0be182fb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmremovepoint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrender.png b/IconThemes/kdeclassic/16x16/actions/pmrender.png
new file mode 100644
index 00000000..901a283d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrender.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrenderpreview.png b/IconThemes/kdeclassic/16x16/actions/pmrenderpreview.png
new file mode 100644
index 00000000..c14b2c38
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrenderpreview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrendersettings.png b/IconThemes/kdeclassic/16x16/actions/pmrendersettings.png
new file mode 100644
index 00000000..9a63e1a2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrendersettings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmrotate.png b/IconThemes/kdeclassic/16x16/actions/pmrotate.png
new file mode 100644
index 00000000..744f927c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmrotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmscale.png b/IconThemes/kdeclassic/16x16/actions/pmscale.png
new file mode 100644
index 00000000..ca553a0f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmscale.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmscene.png b/IconThemes/kdeclassic/16x16/actions/pmscene.png
new file mode 100644
index 00000000..8a4c4bd1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmscene.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmskysphere.png b/IconThemes/kdeclassic/16x16/actions/pmskysphere.png
new file mode 100644
index 00000000..bbfd050a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmskysphere.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmskyspheredeclare.png b/IconThemes/kdeclassic/16x16/actions/pmskyspheredeclare.png
new file mode 100644
index 00000000..16cd5bb3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmskyspheredeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmslope.png b/IconThemes/kdeclassic/16x16/actions/pmslope.png
new file mode 100644
index 00000000..e665a1bd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmslope.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmslopemap.png b/IconThemes/kdeclassic/16x16/actions/pmslopemap.png
new file mode 100644
index 00000000..a757fc90
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmslopemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmslopemapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmslopemapdeclare.png
new file mode 100644
index 00000000..fe7e9969
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmslopemapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmsolidcolor.png b/IconThemes/kdeclassic/16x16/actions/pmsolidcolor.png
new file mode 100644
index 00000000..b2f4eda7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmsolidcolor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmsor.png b/IconThemes/kdeclassic/16x16/actions/pmsor.png
new file mode 100644
index 00000000..8a652ed7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmsor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmsphere.png b/IconThemes/kdeclassic/16x16/actions/pmsphere.png
new file mode 100644
index 00000000..a8a38679
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmsphere.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmsqe.png b/IconThemes/kdeclassic/16x16/actions/pmsqe.png
new file mode 100644
index 00000000..ea2e2a14
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmsqe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtext.png b/IconThemes/kdeclassic/16x16/actions/pmtext.png
new file mode 100644
index 00000000..4b339926
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtext.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtexture.png b/IconThemes/kdeclassic/16x16/actions/pmtexture.png
new file mode 100644
index 00000000..c90031ca
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtexture.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtexturedeclare.png b/IconThemes/kdeclassic/16x16/actions/pmtexturedeclare.png
new file mode 100644
index 00000000..75a77847
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtexturedeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtexturelist.png b/IconThemes/kdeclassic/16x16/actions/pmtexturelist.png
new file mode 100644
index 00000000..85881a7d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtexturelist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtexturemap.png b/IconThemes/kdeclassic/16x16/actions/pmtexturemap.png
new file mode 100644
index 00000000..171bf68d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtexturemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtexturemapdeclare.png b/IconThemes/kdeclassic/16x16/actions/pmtexturemapdeclare.png
new file mode 100644
index 00000000..ab2edae6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtexturemapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtorus.png b/IconThemes/kdeclassic/16x16/actions/pmtorus.png
new file mode 100644
index 00000000..82f78511
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtorus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtranslate.png b/IconThemes/kdeclassic/16x16/actions/pmtranslate.png
new file mode 100644
index 00000000..2d16dea2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtranslate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtreeview.png b/IconThemes/kdeclassic/16x16/actions/pmtreeview.png
new file mode 100644
index 00000000..b78f646d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtreeview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmtriangle.png b/IconThemes/kdeclassic/16x16/actions/pmtriangle.png
new file mode 100644
index 00000000..9592e253
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmtriangle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmunion.png b/IconThemes/kdeclassic/16x16/actions/pmunion.png
new file mode 100644
index 00000000..1407fe3a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmunion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pmwarp.png b/IconThemes/kdeclassic/16x16/actions/pmwarp.png
new file mode 100644
index 00000000..c0f294cd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pmwarp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/pointtool.png b/IconThemes/kdeclassic/16x16/actions/pointtool.png
new file mode 100644
index 00000000..650bf81d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/pointtool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/polygontool.png b/IconThemes/kdeclassic/16x16/actions/polygontool.png
new file mode 100644
index 00000000..086fbe1a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/polygontool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/power.png b/IconThemes/kdeclassic/16x16/actions/power.png
new file mode 100644
index 00000000..ac7deec0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/power.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/precminus.png b/IconThemes/kdeclassic/16x16/actions/precminus.png
new file mode 100644
index 00000000..71cdf1d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/precminus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/precplus.png b/IconThemes/kdeclassic/16x16/actions/precplus.png
new file mode 100644
index 00000000..3e0f9589
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/precplus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/previous.png b/IconThemes/kdeclassic/16x16/actions/previous.png
new file mode 100644
index 00000000..167e39e7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/previous.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/prod.png b/IconThemes/kdeclassic/16x16/actions/prod.png
new file mode 100644
index 00000000..59c90110
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/project_open.png b/IconThemes/kdeclassic/16x16/actions/project_open.png
new file mode 100644
index 00000000..f218a927
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/project_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/qmake_scope.png b/IconThemes/kdeclassic/16x16/actions/qmake_scope.png
new file mode 100644
index 00000000..37a9ae28
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/qmake_scope.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/qmake_scopenew.png b/IconThemes/kdeclassic/16x16/actions/qmake_scopenew.png
new file mode 100644
index 00000000..8f521d35
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/qmake_scopenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/qmakerun.png b/IconThemes/kdeclassic/16x16/actions/qmakerun.png
new file mode 100644
index 00000000..7d64197d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/qmakerun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/query_erase.png b/IconThemes/kdeclassic/16x16/actions/query_erase.png
new file mode 100644
index 00000000..875ff8af
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/query_erase.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/queue.png b/IconThemes/kdeclassic/16x16/actions/queue.png
new file mode 100644
index 00000000..dddc8114
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/queue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/quiz.png b/IconThemes/kdeclassic/16x16/actions/quiz.png
new file mode 100644
index 00000000..472f4fd1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/quiz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/raiselayer.png b/IconThemes/kdeclassic/16x16/actions/raiselayer.png
new file mode 100644
index 00000000..2d3cd6c9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/raiselayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/readonlyevent.png b/IconThemes/kdeclassic/16x16/actions/readonlyevent.png
new file mode 100644
index 00000000..15bf132a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/readonlyevent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rebuild.png b/IconThemes/kdeclassic/16x16/actions/rebuild.png
new file mode 100644
index 00000000..9a00f533
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rebuild.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/recttool.png b/IconThemes/kdeclassic/16x16/actions/recttool.png
new file mode 100644
index 00000000..caea607f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/recttool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/recur.png b/IconThemes/kdeclassic/16x16/actions/recur.png
new file mode 100644
index 00000000..07c8a8ec
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/recur.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/redo.png b/IconThemes/kdeclassic/16x16/actions/redo.png
new file mode 100644
index 00000000..96e8cbad
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/redo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/reload.png b/IconThemes/kdeclassic/16x16/actions/reload.png
new file mode 100644
index 00000000..213abf2e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/reload.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/reload_page.png b/IconThemes/kdeclassic/16x16/actions/reload_page.png
new file mode 100644
index 00000000..51c928ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/reload_page.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/remove.png b/IconThemes/kdeclassic/16x16/actions/remove.png
new file mode 100644
index 00000000..e1888861
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/removecell.png b/IconThemes/kdeclassic/16x16/actions/removecell.png
new file mode 100644
index 00000000..961cd0d2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/removecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/removecomment.png b/IconThemes/kdeclassic/16x16/actions/removecomment.png
new file mode 100644
index 00000000..ebcd5284
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/removecomment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/resizecol.png b/IconThemes/kdeclassic/16x16/actions/resizecol.png
new file mode 100644
index 00000000..611fb760
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/resizecol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/resizerow.png b/IconThemes/kdeclassic/16x16/actions/resizerow.png
new file mode 100644
index 00000000..d505280a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/resizerow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/restore.png b/IconThemes/kdeclassic/16x16/actions/restore.png
new file mode 100644
index 00000000..abf17251
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/restore.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/revert.png b/IconThemes/kdeclassic/16x16/actions/revert.png
new file mode 100644
index 00000000..341c170f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/revert.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ring.png b/IconThemes/kdeclassic/16x16/actions/ring.png
new file mode 100644
index 00000000..6872f791
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ring.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/roll.png b/IconThemes/kdeclassic/16x16/actions/roll.png
new file mode 100644
index 00000000..e41d572a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/roll.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rotate.png b/IconThemes/kdeclassic/16x16/actions/rotate.png
new file mode 100644
index 00000000..578fd5a2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rotate_ccw.png b/IconThemes/kdeclassic/16x16/actions/rotate_ccw.png
new file mode 100644
index 00000000..3db81921
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rotate_cw.png b/IconThemes/kdeclassic/16x16/actions/rotate_cw.png
new file mode 100644
index 00000000..c594e9c6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rsub.png b/IconThemes/kdeclassic/16x16/actions/rsub.png
new file mode 100644
index 00000000..240f3b55
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/rsup.png b/IconThemes/kdeclassic/16x16/actions/rsup.png
new file mode 100644
index 00000000..b3d80228
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/run.png b/IconThemes/kdeclassic/16x16/actions/run.png
new file mode 100644
index 00000000..604c85c8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/run.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/runprog.png b/IconThemes/kdeclassic/16x16/actions/runprog.png
new file mode 100644
index 00000000..97af911b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/runprog.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/save_all.png b/IconThemes/kdeclassic/16x16/actions/save_all.png
new file mode 100644
index 00000000..70edca28
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/save_all.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/series.png b/IconThemes/kdeclassic/16x16/actions/series.png
new file mode 100644
index 00000000..c00a481c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/series.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/servicenew_kdevelop.png b/IconThemes/kdeclassic/16x16/actions/servicenew_kdevelop.png
new file mode 100644
index 00000000..da5f5766
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/servicenew_kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/share.png b/IconThemes/kdeclassic/16x16/actions/share.png
new file mode 100644
index 00000000..6ece86a6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/share.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/shear.png b/IconThemes/kdeclassic/16x16/actions/shear.png
new file mode 100644
index 00000000..f8190c8b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/shear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/show_side_panel.png b/IconThemes/kdeclassic/16x16/actions/show_side_panel.png
new file mode 100644
index 00000000..96427f26
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/show_side_panel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/show_table_column.png b/IconThemes/kdeclassic/16x16/actions/show_table_column.png
new file mode 100644
index 00000000..f8069914
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/show_table_column.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/show_table_row.png b/IconThemes/kdeclassic/16x16/actions/show_table_row.png
new file mode 100644
index 00000000..7b5a5676
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/show_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/signature.png b/IconThemes/kdeclassic/16x16/actions/signature.png
new file mode 100644
index 00000000..0138a2aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/signature.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/smallclock.png b/IconThemes/kdeclassic/16x16/actions/smallclock.png
new file mode 100644
index 00000000..9fc5bcbc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/smallclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/snap_to_grid.png b/IconThemes/kdeclassic/16x16/actions/snap_to_grid.png
new file mode 100644
index 00000000..2f78d90b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/snap_to_grid.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/sort_decrease.png b/IconThemes/kdeclassic/16x16/actions/sort_decrease.png
new file mode 100644
index 00000000..6e24cb80
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/sort_decrease.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/sort_incr.png b/IconThemes/kdeclassic/16x16/actions/sort_incr.png
new file mode 100644
index 00000000..f64da9a7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/sort_incr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/special_paste.png b/IconThemes/kdeclassic/16x16/actions/special_paste.png
new file mode 100644
index 00000000..5d293809
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/special_paste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/spellcheck.png b/IconThemes/kdeclassic/16x16/actions/spellcheck.png
new file mode 100644
index 00000000..9f0b2f23
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/split.png b/IconThemes/kdeclassic/16x16/actions/split.png
new file mode 100644
index 00000000..5895d5a2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/split.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/spnewgame.png b/IconThemes/kdeclassic/16x16/actions/spnewgame.png
new file mode 100644
index 00000000..8eb54762
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/spnewgame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/spnewround.png b/IconThemes/kdeclassic/16x16/actions/spnewround.png
new file mode 100644
index 00000000..a6e89ac9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/spnewround.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/sppausegame.png b/IconThemes/kdeclassic/16x16/actions/sppausegame.png
new file mode 100644
index 00000000..2459e2e0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/sppausegame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/sqrt.png b/IconThemes/kdeclassic/16x16/actions/sqrt.png
new file mode 100644
index 00000000..2881e6e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/stamp.png b/IconThemes/kdeclassic/16x16/actions/stamp.png
new file mode 100644
index 00000000..8538be4f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/stamp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/start.png b/IconThemes/kdeclassic/16x16/actions/start.png
new file mode 100644
index 00000000..8050d3bb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/stop.png b/IconThemes/kdeclassic/16x16/actions/stop.png
new file mode 100644
index 00000000..261042fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/strokedocker.png b/IconThemes/kdeclassic/16x16/actions/strokedocker.png
new file mode 100644
index 00000000..d7cf6a0e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/strokedocker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/sum.png b/IconThemes/kdeclassic/16x16/actions/sum.png
new file mode 100644
index 00000000..192b5bbb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_breakoff.png b/IconThemes/kdeclassic/16x16/actions/tab_breakoff.png
new file mode 100644
index 00000000..5a7ac8aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_breakoff.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_duplicate.png b/IconThemes/kdeclassic/16x16/actions/tab_duplicate.png
new file mode 100644
index 00000000..e4959b7b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_duplicate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_first.png b/IconThemes/kdeclassic/16x16/actions/tab_first.png
new file mode 100644
index 00000000..35320b87
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_first.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_last.png b/IconThemes/kdeclassic/16x16/actions/tab_last.png
new file mode 100644
index 00000000..4a2cae33
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_last.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_left.png b/IconThemes/kdeclassic/16x16/actions/tab_left.png
new file mode 100644
index 00000000..e58e284e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_move_left.png b/IconThemes/kdeclassic/16x16/actions/tab_move_left.png
new file mode 100644
index 00000000..b2a5502d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_move_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_move_right.png b/IconThemes/kdeclassic/16x16/actions/tab_move_right.png
new file mode 100644
index 00000000..77d147cf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_move_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_new.png b/IconThemes/kdeclassic/16x16/actions/tab_new.png
new file mode 100644
index 00000000..a87d611d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_new_bg.png b/IconThemes/kdeclassic/16x16/actions/tab_new_bg.png
new file mode 100644
index 00000000..50fc15d4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_new_bg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_remove.png b/IconThemes/kdeclassic/16x16/actions/tab_remove.png
new file mode 100644
index 00000000..63ad6a1c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_remove_other.png b/IconThemes/kdeclassic/16x16/actions/tab_remove_other.png
new file mode 100644
index 00000000..ab1736e1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_remove_other.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tab_right.png b/IconThemes/kdeclassic/16x16/actions/tab_right.png
new file mode 100644
index 00000000..03ef25c9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tab_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/targetnew_kdevelop.png b/IconThemes/kdeclassic/16x16/actions/targetnew_kdevelop.png
new file mode 100644
index 00000000..ea108866
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/targetnew_kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tcenteralign.png b/IconThemes/kdeclassic/16x16/actions/tcenteralign.png
new file mode 100644
index 00000000..8f204023
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tcenteralign.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text.png b/IconThemes/kdeclassic/16x16/actions/text.png
new file mode 100644
index 00000000..01c1c568
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_block.png b/IconThemes/kdeclassic/16x16/actions/text_block.png
new file mode 100644
index 00000000..8bba906f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_block.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_bold.png b/IconThemes/kdeclassic/16x16/actions/text_bold.png
new file mode 100644
index 00000000..948ae8e2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_bold.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_bottom.png b/IconThemes/kdeclassic/16x16/actions/text_bottom.png
new file mode 100644
index 00000000..b59e21e5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_center.png b/IconThemes/kdeclassic/16x16/actions/text_center.png
new file mode 100644
index 00000000..7b9e9b57
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_center.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_italic.png b/IconThemes/kdeclassic/16x16/actions/text_italic.png
new file mode 100644
index 00000000..67cd70fe
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_italic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_left.png b/IconThemes/kdeclassic/16x16/actions/text_left.png
new file mode 100644
index 00000000..55b1afe1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_right.png b/IconThemes/kdeclassic/16x16/actions/text_right.png
new file mode 100644
index 00000000..d4a428e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_strike.png b/IconThemes/kdeclassic/16x16/actions/text_strike.png
new file mode 100644
index 00000000..a8dce85b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_strike.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_sub.png b/IconThemes/kdeclassic/16x16/actions/text_sub.png
new file mode 100644
index 00000000..a1bec914
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_sub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_super.png b/IconThemes/kdeclassic/16x16/actions/text_super.png
new file mode 100644
index 00000000..05d90d59
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_super.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_top.png b/IconThemes/kdeclassic/16x16/actions/text_top.png
new file mode 100644
index 00000000..76ffaea4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/text_under.png b/IconThemes/kdeclassic/16x16/actions/text_under.png
new file mode 100644
index 00000000..2e51c4b5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/text_under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/textcolor.png b/IconThemes/kdeclassic/16x16/actions/textcolor.png
new file mode 100644
index 00000000..dde7771c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/textcolor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/texttool.png b/IconThemes/kdeclassic/16x16/actions/texttool.png
new file mode 100644
index 00000000..9545231f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/texttool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/thumbnail.png b/IconThemes/kdeclassic/16x16/actions/thumbnail.png
new file mode 100644
index 00000000..a43c49fe
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tleftalign.png b/IconThemes/kdeclassic/16x16/actions/tleftalign.png
new file mode 100644
index 00000000..0848ff71
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tleftalign.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/today.png b/IconThemes/kdeclassic/16x16/actions/today.png
new file mode 100644
index 00000000..1157b1b0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/today.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/todo.png b/IconThemes/kdeclassic/16x16/actions/todo.png
new file mode 100644
index 00000000..2d6a3ebb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/todo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/toggle_log.png b/IconThemes/kdeclassic/16x16/actions/toggle_log.png
new file mode 100644
index 00000000..72b43ca2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/toggle_log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/tooloptions.png b/IconThemes/kdeclassic/16x16/actions/tooloptions.png
new file mode 100644
index 00000000..0b671d5d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/tooloptions.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/top.png b/IconThemes/kdeclassic/16x16/actions/top.png
new file mode 100644
index 00000000..b626bf42
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/transform.png b/IconThemes/kdeclassic/16x16/actions/transform.png
new file mode 100644
index 00000000..ff8ec248
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/transform.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/translate.png b/IconThemes/kdeclassic/16x16/actions/translate.png
new file mode 100644
index 00000000..53339a30
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/translate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/trightalign.png b/IconThemes/kdeclassic/16x16/actions/trightalign.png
new file mode 100644
index 00000000..e803274f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/trightalign.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/under.png b/IconThemes/kdeclassic/16x16/actions/under.png
new file mode 100644
index 00000000..24b54437
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/undo.png b/IconThemes/kdeclassic/16x16/actions/undo.png
new file mode 100644
index 00000000..7307a3ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/undo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/ungroup.png b/IconThemes/kdeclassic/16x16/actions/ungroup.png
new file mode 100644
index 00000000..b22a9267
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/ungroup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/unlock.png b/IconThemes/kdeclassic/16x16/actions/unlock.png
new file mode 100644
index 00000000..a6ec079a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/unsorted_list.png b/IconThemes/kdeclassic/16x16/actions/unsorted_list.png
new file mode 100644
index 00000000..396895cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/unsorted_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/up.png b/IconThemes/kdeclassic/16x16/actions/up.png
new file mode 100644
index 00000000..e5bed608
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/upper.png b/IconThemes/kdeclassic/16x16/actions/upper.png
new file mode 100644
index 00000000..8c8ca3b9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/upper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/validators.png b/IconThemes/kdeclassic/16x16/actions/validators.png
new file mode 100644
index 00000000..b4a0acc7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/validators.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/variablenew.png b/IconThemes/kdeclassic/16x16/actions/variablenew.png
new file mode 100644
index 00000000..c5cda992
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/variablenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/vertical_text.png b/IconThemes/kdeclassic/16x16/actions/vertical_text.png
new file mode 100644
index 00000000..0071ab10
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/vertical_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view.png b/IconThemes/kdeclassic/16x16/actions/view.png
new file mode 100644
index 00000000..50cd8ec2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_bottom.png b/IconThemes/kdeclassic/16x16/actions/view_bottom.png
new file mode 100644
index 00000000..1d4cfff3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_choose.png b/IconThemes/kdeclassic/16x16/actions/view_choose.png
new file mode 100644
index 00000000..148ba386
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_detailed.png b/IconThemes/kdeclassic/16x16/actions/view_detailed.png
new file mode 100644
index 00000000..e6edddd5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_fit_height.png b/IconThemes/kdeclassic/16x16/actions/view_fit_height.png
new file mode 100644
index 00000000..10441353
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_fit_height.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_fit_width.png b/IconThemes/kdeclassic/16x16/actions/view_fit_width.png
new file mode 100644
index 00000000..8c73719f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_fit_width.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_fit_window.png b/IconThemes/kdeclassic/16x16/actions/view_fit_window.png
new file mode 100644
index 00000000..9a2bdd6c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_fit_window.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_icon.png b/IconThemes/kdeclassic/16x16/actions/view_icon.png
new file mode 100644
index 00000000..55202f5c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_left_right.png b/IconThemes/kdeclassic/16x16/actions/view_left_right.png
new file mode 100644
index 00000000..e3a5ab11
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_multicolumn.png b/IconThemes/kdeclassic/16x16/actions/view_multicolumn.png
new file mode 100644
index 00000000..9fd479a0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_orientation.png b/IconThemes/kdeclassic/16x16/actions/view_orientation.png
new file mode 100644
index 00000000..c1de333f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_orientation.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_remove.png b/IconThemes/kdeclassic/16x16/actions/view_remove.png
new file mode 100644
index 00000000..cc924bcd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_right.png b/IconThemes/kdeclassic/16x16/actions/view_right.png
new file mode 100644
index 00000000..88e92913
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_sidetree.png b/IconThemes/kdeclassic/16x16/actions/view_sidetree.png
new file mode 100644
index 00000000..a8bd1f94
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_split.png b/IconThemes/kdeclassic/16x16/actions/view_split.png
new file mode 100644
index 00000000..1e28ded1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_split.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_text.png b/IconThemes/kdeclassic/16x16/actions/view_text.png
new file mode 100644
index 00000000..21bf9bdb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_top_bottom.png b/IconThemes/kdeclassic/16x16/actions/view_top_bottom.png
new file mode 100644
index 00000000..663fa31d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/view_tree.png b/IconThemes/kdeclassic/16x16/actions/view_tree.png
new file mode 100644
index 00000000..0e55045b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/viewmag+.png b/IconThemes/kdeclassic/16x16/actions/viewmag+.png
new file mode 100644
index 00000000..a41c724e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/viewmag-.png b/IconThemes/kdeclassic/16x16/actions/viewmag-.png
new file mode 100644
index 00000000..5d4ab617
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/viewmag.png b/IconThemes/kdeclassic/16x16/actions/viewmag.png
new file mode 100644
index 00000000..ce2468a8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/viewmag1.png b/IconThemes/kdeclassic/16x16/actions/viewmag1.png
new file mode 100644
index 00000000..7952a741
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/viewmagfit.png b/IconThemes/kdeclassic/16x16/actions/viewmagfit.png
new file mode 100644
index 00000000..646286bc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/vmirror.png b/IconThemes/kdeclassic/16x16/actions/vmirror.png
new file mode 100644
index 00000000..6b460184
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/vmirror.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/volume.png b/IconThemes/kdeclassic/16x16/actions/volume.png
new file mode 100644
index 00000000..3b75a38c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/volume.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/webarchiver.png b/IconThemes/kdeclassic/16x16/actions/webarchiver.png
new file mode 100644
index 00000000..afaed133
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/webarchiver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/webexport.png b/IconThemes/kdeclassic/16x16/actions/webexport.png
new file mode 100644
index 00000000..bffaecbd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/webexport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/whatsnext.png b/IconThemes/kdeclassic/16x16/actions/whatsnext.png
new file mode 100644
index 00000000..c37698e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/whatsnext.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/window_fullscreen.png b/IconThemes/kdeclassic/16x16/actions/window_fullscreen.png
new file mode 100644
index 00000000..8a19bf85
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/window_new.png b/IconThemes/kdeclassic/16x16/actions/window_new.png
new file mode 100644
index 00000000..a0801a87
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/window_nofullscreen.png b/IconThemes/kdeclassic/16x16/actions/window_nofullscreen.png
new file mode 100644
index 00000000..5d47723e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/actions/wizard.png b/IconThemes/kdeclassic/16x16/actions/wizard.png
new file mode 100644
index 00000000..f97d0ab9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/actions/wizard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/access.png b/IconThemes/kdeclassic/16x16/apps/access.png
new file mode 100644
index 00000000..8d845d45
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/access.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/acroread.png b/IconThemes/kdeclassic/16x16/apps/acroread.png
new file mode 100644
index 00000000..0d1c25ae
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/acroread.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/agent.png b/IconThemes/kdeclassic/16x16/apps/agent.png
new file mode 100644
index 00000000..3bd385ae
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/agent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/aktion.png b/IconThemes/kdeclassic/16x16/apps/aktion.png
new file mode 100644
index 00000000..ea9f2707
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/aktion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/alevt.png b/IconThemes/kdeclassic/16x16/apps/alevt.png
new file mode 100644
index 00000000..77fe4361
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/alevt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/amor.png b/IconThemes/kdeclassic/16x16/apps/amor.png
new file mode 100644
index 00000000..d2cb70e4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/amor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/applixware.png b/IconThemes/kdeclassic/16x16/apps/applixware.png
new file mode 100644
index 00000000..3a668fb2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/applixware.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ark.png b/IconThemes/kdeclassic/16x16/apps/ark.png
new file mode 100644
index 00000000..2e5f09ec
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/arts.png b/IconThemes/kdeclassic/16x16/apps/arts.png
new file mode 100644
index 00000000..e27c9efa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/arts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/artsbuilder.png b/IconThemes/kdeclassic/16x16/apps/artsbuilder.png
new file mode 100644
index 00000000..e27c9efa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/artsbuilder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/artscontrol.png b/IconThemes/kdeclassic/16x16/apps/artscontrol.png
new file mode 100644
index 00000000..e27c9efa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/artscontrol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/atlantik.png b/IconThemes/kdeclassic/16x16/apps/atlantik.png
new file mode 100644
index 00000000..e89961c6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/atlantik.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/atlantikdesigner.png b/IconThemes/kdeclassic/16x16/apps/atlantikdesigner.png
new file mode 100644
index 00000000..8eb628bc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/atlantikdesigner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/background.png b/IconThemes/kdeclassic/16x16/apps/background.png
new file mode 100644
index 00000000..7ed3d23c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/background.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/bell.png b/IconThemes/kdeclassic/16x16/apps/bell.png
new file mode 100644
index 00000000..aae63397
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/bell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/blender.png b/IconThemes/kdeclassic/16x16/apps/blender.png
new file mode 100644
index 00000000..bf2e9363
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/blender.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/cache.png b/IconThemes/kdeclassic/16x16/apps/cache.png
new file mode 100644
index 00000000..ab7f740c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/cache.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/camera.png b/IconThemes/kdeclassic/16x16/apps/camera.png
new file mode 100644
index 00000000..3d96a6e3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/camera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/clock.png b/IconThemes/kdeclassic/16x16/apps/clock.png
new file mode 100644
index 00000000..86d38dc3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/clock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/colors.png b/IconThemes/kdeclassic/16x16/apps/colors.png
new file mode 100644
index 00000000..1f6a9ef7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/colors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/cookie.png b/IconThemes/kdeclassic/16x16/apps/cookie.png
new file mode 100644
index 00000000..29192042
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/date.png b/IconThemes/kdeclassic/16x16/apps/date.png
new file mode 100644
index 00000000..86d38dc3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/date.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/designer.png b/IconThemes/kdeclassic/16x16/apps/designer.png
new file mode 100644
index 00000000..ff3f99bd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/designer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/dlgedit.png b/IconThemes/kdeclassic/16x16/apps/dlgedit.png
new file mode 100644
index 00000000..d19b0e1b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/dlgedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/dolphin.png b/IconThemes/kdeclassic/16x16/apps/dolphin.png
new file mode 100644
index 00000000..43572347
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/dolphin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/edu_languages.png b/IconThemes/kdeclassic/16x16/apps/edu_languages.png
new file mode 100644
index 00000000..e70fc30d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/edu_languages.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/edu_mathematics.png b/IconThemes/kdeclassic/16x16/apps/edu_mathematics.png
new file mode 100644
index 00000000..2881e6e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/edu_mathematics.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/edu_miscellanous.png b/IconThemes/kdeclassic/16x16/apps/edu_miscellanous.png
new file mode 100644
index 00000000..85568bdc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/edu_miscellanous.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/edu_science.png b/IconThemes/kdeclassic/16x16/apps/edu_science.png
new file mode 100644
index 00000000..688eed06
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/edu_science.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/emacs.png b/IconThemes/kdeclassic/16x16/apps/emacs.png
new file mode 100644
index 00000000..c86092f5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/emacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/email.png b/IconThemes/kdeclassic/16x16/apps/email.png
new file mode 100644
index 00000000..44af1a01
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/email.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/energy.png b/IconThemes/kdeclassic/16x16/apps/energy.png
new file mode 100644
index 00000000..1c7415f0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/energy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/energy_star.png b/IconThemes/kdeclassic/16x16/apps/energy_star.png
new file mode 100644
index 00000000..6e9b0091
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/enhanced_browsing.png b/IconThemes/kdeclassic/16x16/apps/enhanced_browsing.png
new file mode 100644
index 00000000..d2553ce6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/filetypes.png b/IconThemes/kdeclassic/16x16/apps/filetypes.png
new file mode 100644
index 00000000..96b77899
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/flashkard.png b/IconThemes/kdeclassic/16x16/apps/flashkard.png
new file mode 100644
index 00000000..abeeea33
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/flashkard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/fonts.png b/IconThemes/kdeclassic/16x16/apps/fonts.png
new file mode 100644
index 00000000..2e51cada
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/gimp.png b/IconThemes/kdeclassic/16x16/apps/gimp.png
new file mode 100644
index 00000000..7d13c66f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/gv.png b/IconThemes/kdeclassic/16x16/apps/gv.png
new file mode 100644
index 00000000..f21b3abf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/gv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/gvim.png b/IconThemes/kdeclassic/16x16/apps/gvim.png
new file mode 100644
index 00000000..812bff7f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/gvim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/help_index.png b/IconThemes/kdeclassic/16x16/apps/help_index.png
new file mode 100644
index 00000000..e6911289
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/help_index.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/hwinfo.png b/IconThemes/kdeclassic/16x16/apps/hwinfo.png
new file mode 100644
index 00000000..d83616d8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/icons.png b/IconThemes/kdeclassic/16x16/apps/icons.png
new file mode 100644
index 00000000..1e87c1a1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/icons.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/iconthemes.png b/IconThemes/kdeclassic/16x16/apps/iconthemes.png
new file mode 100644
index 00000000..09445939
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/input_devices_settings.png b/IconThemes/kdeclassic/16x16/apps/input_devices_settings.png
new file mode 100644
index 00000000..2150a145
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kaboodle.png b/IconThemes/kdeclassic/16x16/apps/kaboodle.png
new file mode 100644
index 00000000..266e9a89
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kaboodle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kaddressbook.png b/IconThemes/kdeclassic/16x16/apps/kaddressbook.png
new file mode 100644
index 00000000..58ded805
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kalarm.png b/IconThemes/kdeclassic/16x16/apps/kalarm.png
new file mode 100644
index 00000000..eb5683b3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kalarm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kalzium.png b/IconThemes/kdeclassic/16x16/apps/kalzium.png
new file mode 100644
index 00000000..7bffb261
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kalzium.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kaphorism.png b/IconThemes/kdeclassic/16x16/apps/kaphorism.png
new file mode 100644
index 00000000..a2125e98
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kaphorism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kappfinder.png b/IconThemes/kdeclassic/16x16/apps/kappfinder.png
new file mode 100644
index 00000000..efeaa556
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kappfinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/karbon.png b/IconThemes/kdeclassic/16x16/apps/karbon.png
new file mode 100644
index 00000000..b13df156
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/karm.png b/IconThemes/kdeclassic/16x16/apps/karm.png
new file mode 100644
index 00000000..b64a6d64
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/karm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kasteroids.png b/IconThemes/kdeclassic/16x16/apps/kasteroids.png
new file mode 100644
index 00000000..7969f70f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kasteroids.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kate.png b/IconThemes/kdeclassic/16x16/apps/kate.png
new file mode 100644
index 00000000..36a25a67
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kaudiocreator.png b/IconThemes/kdeclassic/16x16/apps/kaudiocreator.png
new file mode 100644
index 00000000..dd09bb94
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kaudiocreator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kbackgammon.png b/IconThemes/kdeclassic/16x16/apps/kbackgammon.png
new file mode 100644
index 00000000..ecce3953
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kbackgammon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kbackgammon_engine.png b/IconThemes/kdeclassic/16x16/apps/kbackgammon_engine.png
new file mode 100644
index 00000000..8299f199
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kbackgammon_engine.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kbattleship.png b/IconThemes/kdeclassic/16x16/apps/kbattleship.png
new file mode 100644
index 00000000..06030ee1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kbattleship.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kblackbox.png b/IconThemes/kdeclassic/16x16/apps/kblackbox.png
new file mode 100644
index 00000000..36a8790d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kblackbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kbounce.png b/IconThemes/kdeclassic/16x16/apps/kbounce.png
new file mode 100644
index 00000000..0384a05b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kbounce.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kbruch.png b/IconThemes/kdeclassic/16x16/apps/kbruch.png
new file mode 100644
index 00000000..6f58fc8e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kbruch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcalc.png b/IconThemes/kdeclassic/16x16/apps/kcalc.png
new file mode 100644
index 00000000..3f366b3c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcharselect.png b/IconThemes/kdeclassic/16x16/apps/kcharselect.png
new file mode 100644
index 00000000..8e0f8d6b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcharselect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kchart.png b/IconThemes/kdeclassic/16x16/apps/kchart.png
new file mode 100644
index 00000000..59f0119d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kchart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmdevices.png b/IconThemes/kdeclassic/16x16/apps/kcmdevices.png
new file mode 100644
index 00000000..a2d20a80
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmdf.png b/IconThemes/kdeclassic/16x16/apps/kcmdf.png
new file mode 100644
index 00000000..c63b1c00
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmkicker.png b/IconThemes/kdeclassic/16x16/apps/kcmkicker.png
new file mode 100644
index 00000000..42acf130
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmkwm.png b/IconThemes/kdeclassic/16x16/apps/kcmkwm.png
new file mode 100644
index 00000000..1d41f308
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmmemory.png b/IconThemes/kdeclassic/16x16/apps/kcmmemory.png
new file mode 100644
index 00000000..9e8c0d8d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmmidi.png b/IconThemes/kdeclassic/16x16/apps/kcmmidi.png
new file mode 100644
index 00000000..22d4a294
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmpartitions.png b/IconThemes/kdeclassic/16x16/apps/kcmpartitions.png
new file mode 100644
index 00000000..c63b1c00
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmpci.png b/IconThemes/kdeclassic/16x16/apps/kcmpci.png
new file mode 100644
index 00000000..478c0859
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmprocessor.png b/IconThemes/kdeclassic/16x16/apps/kcmprocessor.png
new file mode 100644
index 00000000..b7dc9b4d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmscsi.png b/IconThemes/kdeclassic/16x16/apps/kcmscsi.png
new file mode 100644
index 00000000..2ac53532
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmscsi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmsound.png b/IconThemes/kdeclassic/16x16/apps/kcmsound.png
new file mode 100644
index 00000000..3c8d9c88
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmsystem.png b/IconThemes/kdeclassic/16x16/apps/kcmsystem.png
new file mode 100644
index 00000000..43eab761
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcmx.png b/IconThemes/kdeclassic/16x16/apps/kcmx.png
new file mode 100644
index 00000000..7e1e1e68
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcoloredit.png b/IconThemes/kdeclassic/16x16/apps/kcoloredit.png
new file mode 100644
index 00000000..289a694d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcontrol.png b/IconThemes/kdeclassic/16x16/apps/kcontrol.png
new file mode 100644
index 00000000..c841fc1c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kcron.png b/IconThemes/kdeclassic/16x16/apps/kcron.png
new file mode 100644
index 00000000..d7c1b21d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kcron.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat.png b/IconThemes/kdeclassic/16x16/apps/kdat.png
new file mode 100644
index 00000000..214150e9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_archive.png b/IconThemes/kdeclassic/16x16/apps/kdat_archive.png
new file mode 100644
index 00000000..6e0afc7b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_archive.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_backup.png b/IconThemes/kdeclassic/16x16/apps/kdat_backup.png
new file mode 100644
index 00000000..58178eb1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_backup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_eject.png b/IconThemes/kdeclassic/16x16/apps/kdat_eject.png
new file mode 100644
index 00000000..fb14e790
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_eject.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_mounted.png b/IconThemes/kdeclassic/16x16/apps/kdat_mounted.png
new file mode 100644
index 00000000..8fb9e648
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_mounted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_restore.png b/IconThemes/kdeclassic/16x16/apps/kdat_restore.png
new file mode 100644
index 00000000..05554365
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_restore.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_select_all.png b/IconThemes/kdeclassic/16x16/apps/kdat_select_all.png
new file mode 100644
index 00000000..6016b3e9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_select_all.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_select_none.png b/IconThemes/kdeclassic/16x16/apps/kdat_select_none.png
new file mode 100644
index 00000000..065ca561
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_select_none.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_select_some.png b/IconThemes/kdeclassic/16x16/apps/kdat_select_some.png
new file mode 100644
index 00000000..a0ffed5e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_select_some.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_unmounted.png b/IconThemes/kdeclassic/16x16/apps/kdat_unmounted.png
new file mode 100644
index 00000000..512d4587
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_unmounted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdat_verify.png b/IconThemes/kdeclassic/16x16/apps/kdat_verify.png
new file mode 100644
index 00000000..e823ac25
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdat_verify.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_computer.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_computer.png
new file mode 100644
index 00000000..0ec8a16c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_computer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job.png
new file mode 100644
index 00000000..d43a1620
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job_cancelled.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_cancelled.png
new file mode 100644
index 00000000..1a264e8d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_cancelled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job_completed.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_completed.png
new file mode 100644
index 00000000..786d35f4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_completed.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job_error.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_error.png
new file mode 100644
index 00000000..8231854c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_error.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job_process.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_process.png
new file mode 100644
index 00000000..6bd955a6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_job_stopped.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_stopped.png
new file mode 100644
index 00000000..25a6ca0c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_job_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer.png
new file mode 100644
index 00000000..10766682
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class.png
new file mode 100644
index 00000000..60944253
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_process.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_process.png
new file mode 100644
index 00000000..d7f97bb1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_stopped.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_stopped.png
new file mode 100644
index 00000000..58a65c4e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_class_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_defect.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_defect.png
new file mode 100644
index 00000000..6291c456
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_defect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_process.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_process.png
new file mode 100644
index 00000000..92e62775
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote.png
new file mode 100644
index 00000000..2d1dab2c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_process.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_process.png
new file mode 100644
index 00000000..ab52ac2b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_stopped.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_stopped.png
new file mode 100644
index 00000000..eb4055e7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_remote_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_stopped.png b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_stopped.png
new file mode 100644
index 00000000..c99fe46d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprint_printer_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdeprintfax.png b/IconThemes/kdeclassic/16x16/apps/kdeprintfax.png
new file mode 100644
index 00000000..1aebc6ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdeprintfax.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdevelop.png b/IconThemes/kdeclassic/16x16/apps/kdevelop.png
new file mode 100644
index 00000000..38098f4f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdf.png b/IconThemes/kdeclassic/16x16/apps/kdf.png
new file mode 100644
index 00000000..f8b44426
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdict.png b/IconThemes/kdeclassic/16x16/apps/kdict.png
new file mode 100644
index 00000000..f36ad4d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdict.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdisknav.png b/IconThemes/kdeclassic/16x16/apps/kdisknav.png
new file mode 100644
index 00000000..4b8b703e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdmconfig.png b/IconThemes/kdeclassic/16x16/apps/kdmconfig.png
new file mode 100644
index 00000000..12c6a524
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kdvi.png b/IconThemes/kdeclassic/16x16/apps/kdvi.png
new file mode 100644
index 00000000..ecdbcf33
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kdvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kedit.png b/IconThemes/kdeclassic/16x16/apps/kedit.png
new file mode 100644
index 00000000..63a19e21
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/keditbookmarks.png b/IconThemes/kdeclassic/16x16/apps/keditbookmarks.png
new file mode 100644
index 00000000..250c0874
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/keditbookmarks.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/keduca.png b/IconThemes/kdeclassic/16x16/apps/keduca.png
new file mode 100644
index 00000000..e3edb20a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/keduca.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kenolaba.png b/IconThemes/kdeclassic/16x16/apps/kenolaba.png
new file mode 100644
index 00000000..eaee8c68
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kenolaba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/keyboard.png b/IconThemes/kdeclassic/16x16/apps/keyboard.png
new file mode 100644
index 00000000..1e3d3299
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/keyboard_layout.png b/IconThemes/kdeclassic/16x16/apps/keyboard_layout.png
new file mode 100644
index 00000000..05b1d337
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kfax.png b/IconThemes/kdeclassic/16x16/apps/kfax.png
new file mode 100644
index 00000000..1aebc6ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kfax.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kfind.png b/IconThemes/kdeclassic/16x16/apps/kfind.png
new file mode 100644
index 00000000..ac0db82e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kfind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kfloppy.png b/IconThemes/kdeclassic/16x16/apps/kfloppy.png
new file mode 100644
index 00000000..edf9d6f4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kfm.png b/IconThemes/kdeclassic/16x16/apps/kfm.png
new file mode 100644
index 00000000..5d07bb49
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kfm_home.png b/IconThemes/kdeclassic/16x16/apps/kfm_home.png
new file mode 100644
index 00000000..a9aae876
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kformula.png b/IconThemes/kdeclassic/16x16/apps/kformula.png
new file mode 100644
index 00000000..6cae2ecc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kformula.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kghostview.png b/IconThemes/kdeclassic/16x16/apps/kghostview.png
new file mode 100644
index 00000000..ecdbcf33
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kghostview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/khangman.png b/IconThemes/kdeclassic/16x16/apps/khangman.png
new file mode 100644
index 00000000..a3402459
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/khangman.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/khelpcenter.png b/IconThemes/kdeclassic/16x16/apps/khelpcenter.png
new file mode 100644
index 00000000..e6613b3e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/khexedit.png b/IconThemes/kdeclassic/16x16/apps/khexedit.png
new file mode 100644
index 00000000..9b239312
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/khexedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kicker.png b/IconThemes/kdeclassic/16x16/apps/kicker.png
new file mode 100644
index 00000000..6f4bbf49
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kiconedit.png b/IconThemes/kdeclassic/16x16/apps/kiconedit.png
new file mode 100644
index 00000000..ff16bcae
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kiconedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kig.png b/IconThemes/kdeclassic/16x16/apps/kig.png
new file mode 100644
index 00000000..0826fce4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kio_uiserver.png b/IconThemes/kdeclassic/16x16/apps/kio_uiserver.png
new file mode 100644
index 00000000..45dc3405
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kio_uiserver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kit.png b/IconThemes/kdeclassic/16x16/apps/kit.png
new file mode 100644
index 00000000..8775020a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kiten.png b/IconThemes/kdeclassic/16x16/apps/kiten.png
new file mode 100644
index 00000000..26ea9aa8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kiten.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kivio.png b/IconThemes/kdeclassic/16x16/apps/kivio.png
new file mode 100644
index 00000000..1383cc79
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kivio.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kjobviewer.png b/IconThemes/kdeclassic/16x16/apps/kjobviewer.png
new file mode 100644
index 00000000..8292c36d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kjots.png b/IconThemes/kdeclassic/16x16/apps/kjots.png
new file mode 100644
index 00000000..3fe0ca84
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kjots.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kjumpingcube.png b/IconThemes/kdeclassic/16x16/apps/kjumpingcube.png
new file mode 100644
index 00000000..b4390454
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kjumpingcube.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/klaptopdaemon.png b/IconThemes/kdeclassic/16x16/apps/klaptopdaemon.png
new file mode 100644
index 00000000..200f176f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/klatin.png b/IconThemes/kdeclassic/16x16/apps/klatin.png
new file mode 100644
index 00000000..0ca0f136
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/klatin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/klettres.png b/IconThemes/kdeclassic/16x16/apps/klettres.png
new file mode 100644
index 00000000..73444dc7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/klettres.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/klines.png b/IconThemes/kdeclassic/16x16/apps/klines.png
new file mode 100644
index 00000000..73494ac4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/klines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/klipper.png b/IconThemes/kdeclassic/16x16/apps/klipper.png
new file mode 100644
index 00000000..bb5fb749
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmahjongg.png b/IconThemes/kdeclassic/16x16/apps/kmahjongg.png
new file mode 100644
index 00000000..30c35b55
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmahjongg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmail.png b/IconThemes/kdeclassic/16x16/apps/kmail.png
new file mode 100644
index 00000000..383df318
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmailcvt.png b/IconThemes/kdeclassic/16x16/apps/kmailcvt.png
new file mode 100644
index 00000000..37668f52
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmailcvt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmathtool.png b/IconThemes/kdeclassic/16x16/apps/kmathtool.png
new file mode 100644
index 00000000..23d9f28b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmathtool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmenu.png b/IconThemes/kdeclassic/16x16/apps/kmenu.png
new file mode 100644
index 00000000..706dd268
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmenuedit.png b/IconThemes/kdeclassic/16x16/apps/kmenuedit.png
new file mode 100644
index 00000000..0b41095f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmessedwords.png b/IconThemes/kdeclassic/16x16/apps/kmessedwords.png
new file mode 100644
index 00000000..6d8c9746
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmessedwords.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmid.png b/IconThemes/kdeclassic/16x16/apps/kmid.png
new file mode 100644
index 00000000..b5221e39
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmid.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmidi.png b/IconThemes/kdeclassic/16x16/apps/kmidi.png
new file mode 100644
index 00000000..843408a3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmines.png b/IconThemes/kdeclassic/16x16/apps/kmines.png
new file mode 100644
index 00000000..b98bacf0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmix.png b/IconThemes/kdeclassic/16x16/apps/kmix.png
new file mode 100644
index 00000000..3c5f02fd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmoon.png b/IconThemes/kdeclassic/16x16/apps/kmoon.png
new file mode 100644
index 00000000..8913b347
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmoon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kmplot.png b/IconThemes/kdeclassic/16x16/apps/kmplot.png
new file mode 100644
index 00000000..26894b30
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kmplot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/knewsticker.png b/IconThemes/kdeclassic/16x16/apps/knewsticker.png
new file mode 100644
index 00000000..714e9834
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/knewsticker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/knode.png b/IconThemes/kdeclassic/16x16/apps/knode.png
new file mode 100644
index 00000000..d7e88313
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/knode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/knotes.png b/IconThemes/kdeclassic/16x16/apps/knotes.png
new file mode 100644
index 00000000..fc39d376
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/knotes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/knotify.png b/IconThemes/kdeclassic/16x16/apps/knotify.png
new file mode 100644
index 00000000..cee29c4f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kodo.png b/IconThemes/kdeclassic/16x16/apps/kodo.png
new file mode 100644
index 00000000..cd7b9297
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kodo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kolf.png b/IconThemes/kdeclassic/16x16/apps/kolf.png
new file mode 100644
index 00000000..013f716d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kolf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/konqsidebar_mediaplayer.png b/IconThemes/kdeclassic/16x16/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..3ae77c9b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/konqueror.png b/IconThemes/kdeclassic/16x16/apps/konqueror.png
new file mode 100644
index 00000000..5137b189
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/konquest.png b/IconThemes/kdeclassic/16x16/apps/konquest.png
new file mode 100644
index 00000000..85917487
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/konquest.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/konsole.png b/IconThemes/kdeclassic/16x16/apps/konsole.png
new file mode 100644
index 00000000..ce7bb9af
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kontour.png b/IconThemes/kdeclassic/16x16/apps/kontour.png
new file mode 100644
index 00000000..3824fd5d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kontour.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/korganizer.png b/IconThemes/kdeclassic/16x16/apps/korganizer.png
new file mode 100644
index 00000000..560d41e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/korn.png b/IconThemes/kdeclassic/16x16/apps/korn.png
new file mode 100644
index 00000000..339202b7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/korn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpackage.png b/IconThemes/kdeclassic/16x16/apps/kpackage.png
new file mode 100644
index 00000000..4aede06c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpager.png b/IconThemes/kdeclassic/16x16/apps/kpager.png
new file mode 100644
index 00000000..b58c3364
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpager.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpaint.png b/IconThemes/kdeclassic/16x16/apps/kpaint.png
new file mode 100644
index 00000000..187d9ed8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpaint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpat.png b/IconThemes/kdeclassic/16x16/apps/kpat.png
new file mode 100644
index 00000000..a26f01d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpercentage.png b/IconThemes/kdeclassic/16x16/apps/kpercentage.png
new file mode 100644
index 00000000..ab4fe7b2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpercentage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpersonalizer.png b/IconThemes/kdeclassic/16x16/apps/kpersonalizer.png
new file mode 100644
index 00000000..0985586b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpersonalizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpf.png b/IconThemes/kdeclassic/16x16/apps/kpf.png
new file mode 100644
index 00000000..93040c31
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpilot.png b/IconThemes/kdeclassic/16x16/apps/kpilot.png
new file mode 100644
index 00000000..118f7fb5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpilotDaemon.png b/IconThemes/kdeclassic/16x16/apps/kpilotDaemon.png
new file mode 100644
index 00000000..1d4ee8fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpilotDaemon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpoker.png b/IconThemes/kdeclassic/16x16/apps/kpoker.png
new file mode 100644
index 00000000..8ab4d9a9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpoker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpovmodeler.png b/IconThemes/kdeclassic/16x16/apps/kpovmodeler.png
new file mode 100644
index 00000000..9461a9db
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpovmodeler.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kppp.png b/IconThemes/kdeclassic/16x16/apps/kppp.png
new file mode 100644
index 00000000..06359894
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kpresenter.png b/IconThemes/kdeclassic/16x16/apps/kpresenter.png
new file mode 100644
index 00000000..556dff31
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kreversi.png b/IconThemes/kdeclassic/16x16/apps/kreversi.png
new file mode 100644
index 00000000..e3aca1ed
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kreversi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/krita.png b/IconThemes/kdeclassic/16x16/apps/krita.png
new file mode 100644
index 00000000..66fbf951
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/krita.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kruler.png b/IconThemes/kdeclassic/16x16/apps/kruler.png
new file mode 100644
index 00000000..dd1b953c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kruler.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksame.png b/IconThemes/kdeclassic/16x16/apps/ksame.png
new file mode 100644
index 00000000..90021165
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kscd.png b/IconThemes/kdeclassic/16x16/apps/kscd.png
new file mode 100644
index 00000000..226edf38
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kscreensaver.png b/IconThemes/kdeclassic/16x16/apps/kscreensaver.png
new file mode 100644
index 00000000..512a7169
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kshisen.png b/IconThemes/kdeclassic/16x16/apps/kshisen.png
new file mode 100644
index 00000000..861c4715
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kshisen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksim.png b/IconThemes/kdeclassic/16x16/apps/ksim.png
new file mode 100644
index 00000000..b250d814
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksirc.png b/IconThemes/kdeclassic/16x16/apps/ksirc.png
new file mode 100644
index 00000000..37e02506
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksirc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksirtet.png b/IconThemes/kdeclassic/16x16/apps/ksirtet.png
new file mode 100644
index 00000000..d7915fe5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksirtet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksmiletris.png b/IconThemes/kdeclassic/16x16/apps/ksmiletris.png
new file mode 100644
index 00000000..23fc67f7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksnake.png b/IconThemes/kdeclassic/16x16/apps/ksnake.png
new file mode 100644
index 00000000..6d15a1b7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksnake.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksnapshot.png b/IconThemes/kdeclassic/16x16/apps/ksnapshot.png
new file mode 100644
index 00000000..11da0433
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksnapshot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksokoban.png b/IconThemes/kdeclassic/16x16/apps/ksokoban.png
new file mode 100644
index 00000000..f7b2abe5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksokoban.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kspaceduel.png b/IconThemes/kdeclassic/16x16/apps/kspaceduel.png
new file mode 100644
index 00000000..3d4b99a9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kspaceduel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kspread.png b/IconThemes/kdeclassic/16x16/apps/kspread.png
new file mode 100644
index 00000000..24f644db
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kspread.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kstars.png b/IconThemes/kdeclassic/16x16/apps/kstars.png
new file mode 100644
index 00000000..c3fc1615
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kstars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksysguard.png b/IconThemes/kdeclassic/16x16/apps/ksysguard.png
new file mode 100644
index 00000000..6ae5fd7a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ksysv.png b/IconThemes/kdeclassic/16x16/apps/ksysv.png
new file mode 100644
index 00000000..d829db85
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ktalkd.png b/IconThemes/kdeclassic/16x16/apps/ktalkd.png
new file mode 100644
index 00000000..c448b4e0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kteatime.png b/IconThemes/kdeclassic/16x16/apps/kteatime.png
new file mode 100644
index 00000000..0e03d19c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kteatime.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kthememgr.png b/IconThemes/kdeclassic/16x16/apps/kthememgr.png
new file mode 100644
index 00000000..c4f085b8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ktimemon.png b/IconThemes/kdeclassic/16x16/apps/ktimemon.png
new file mode 100644
index 00000000..d9295e6f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ktimemon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ktip.png b/IconThemes/kdeclassic/16x16/apps/ktip.png
new file mode 100644
index 00000000..1358de47
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ktouch.png b/IconThemes/kdeclassic/16x16/apps/ktouch.png
new file mode 100644
index 00000000..11c73d54
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ktouch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/ktron.png b/IconThemes/kdeclassic/16x16/apps/ktron.png
new file mode 100644
index 00000000..8236febf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/ktron.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kudesigner.png b/IconThemes/kdeclassic/16x16/apps/kudesigner.png
new file mode 100644
index 00000000..0985586b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kudesigner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kugar.png b/IconThemes/kdeclassic/16x16/apps/kugar.png
new file mode 100644
index 00000000..e5b335c3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kugar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kuickshow.png b/IconThemes/kdeclassic/16x16/apps/kuickshow.png
new file mode 100644
index 00000000..9f764485
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kuickshow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kuser.png b/IconThemes/kdeclassic/16x16/apps/kuser.png
new file mode 100644
index 00000000..257c665a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kverbos.png b/IconThemes/kdeclassic/16x16/apps/kverbos.png
new file mode 100644
index 00000000..276232e7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kverbos.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kview.png b/IconThemes/kdeclassic/16x16/apps/kview.png
new file mode 100644
index 00000000..bc56a1c5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kviewshell.png b/IconThemes/kdeclassic/16x16/apps/kviewshell.png
new file mode 100644
index 00000000..60c33400
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kviewshell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kvoctrain.png b/IconThemes/kdeclassic/16x16/apps/kvoctrain.png
new file mode 100644
index 00000000..a0314763
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kvoctrain.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kwikdisk.png b/IconThemes/kdeclassic/16x16/apps/kwikdisk.png
new file mode 100644
index 00000000..f8b44426
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kwikdisk.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kwin.png b/IconThemes/kdeclassic/16x16/apps/kwin.png
new file mode 100644
index 00000000..a35eace4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kwin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kwin4.png b/IconThemes/kdeclassic/16x16/apps/kwin4.png
new file mode 100644
index 00000000..8e33f15e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kwin4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kword.png b/IconThemes/kdeclassic/16x16/apps/kword.png
new file mode 100644
index 00000000..00078f6a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kword.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kworldclock.png b/IconThemes/kdeclassic/16x16/apps/kworldclock.png
new file mode 100644
index 00000000..f397099c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kworldclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kwrite.png b/IconThemes/kdeclassic/16x16/apps/kwrite.png
new file mode 100644
index 00000000..97ba26c7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/kxkb.png b/IconThemes/kdeclassic/16x16/apps/kxkb.png
new file mode 100644
index 00000000..1e3d3299
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/kxkb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/laptop_battery.png b/IconThemes/kdeclassic/16x16/apps/laptop_battery.png
new file mode 100644
index 00000000..200f176f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/laptop_pcmcia.png b/IconThemes/kdeclassic/16x16/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..e8eda78a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/licq.png b/IconThemes/kdeclassic/16x16/apps/licq.png
new file mode 100644
index 00000000..0dd90309
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/licq.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/locale.png b/IconThemes/kdeclassic/16x16/apps/locale.png
new file mode 100644
index 00000000..85e6bbfd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/locale.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/looknfeel.png b/IconThemes/kdeclassic/16x16/apps/looknfeel.png
new file mode 100644
index 00000000..64128d47
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/lyx.png b/IconThemes/kdeclassic/16x16/apps/lyx.png
new file mode 100644
index 00000000..6b575cc1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/lyx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/mac.png b/IconThemes/kdeclassic/16x16/apps/mac.png
new file mode 100644
index 00000000..930694ea
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/mac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/mathematica.png b/IconThemes/kdeclassic/16x16/apps/mathematica.png
new file mode 100644
index 00000000..70272031
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/mathematica.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/mouse.png b/IconThemes/kdeclassic/16x16/apps/mouse.png
new file mode 100644
index 00000000..8cba82aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/mozilla.png b/IconThemes/kdeclassic/16x16/apps/mozilla.png
new file mode 100644
index 00000000..b783ab9f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/multimedia.png b/IconThemes/kdeclassic/16x16/apps/multimedia.png
new file mode 100644
index 00000000..3c5f02fd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/nedit.png b/IconThemes/kdeclassic/16x16/apps/nedit.png
new file mode 100644
index 00000000..751a4003
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/nedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/netscape.png b/IconThemes/kdeclassic/16x16/apps/netscape.png
new file mode 100644
index 00000000..cfbb39d0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/noatun.png b/IconThemes/kdeclassic/16x16/apps/noatun.png
new file mode 100644
index 00000000..aac2a5cd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/opera.png b/IconThemes/kdeclassic/16x16/apps/opera.png
new file mode 100644
index 00000000..edc27d5c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/opera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_applications.png b/IconThemes/kdeclassic/16x16/apps/package_applications.png
new file mode 100644
index 00000000..1421a7c5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_development.png b/IconThemes/kdeclassic/16x16/apps/package_development.png
new file mode 100644
index 00000000..909575e0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_development.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_editors.png b/IconThemes/kdeclassic/16x16/apps/package_editors.png
new file mode 100644
index 00000000..b07d7d54
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_edutainment.png b/IconThemes/kdeclassic/16x16/apps/package_edutainment.png
new file mode 100644
index 00000000..3b2d7ab9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_edutainment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_favourite.png b/IconThemes/kdeclassic/16x16/apps/package_favourite.png
new file mode 100644
index 00000000..3175c607
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_favourite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_games.png b/IconThemes/kdeclassic/16x16/apps/package_games.png
new file mode 100644
index 00000000..3342dfd6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_games.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_games_arcade.png b/IconThemes/kdeclassic/16x16/apps/package_games_arcade.png
new file mode 100644
index 00000000..4b84c9ea
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_games_arcade.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_games_board.png b/IconThemes/kdeclassic/16x16/apps/package_games_board.png
new file mode 100644
index 00000000..1f3ecf77
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_games_board.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_games_card.png b/IconThemes/kdeclassic/16x16/apps/package_games_card.png
new file mode 100644
index 00000000..67da83dd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_games_card.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_games_strategy.png b/IconThemes/kdeclassic/16x16/apps/package_games_strategy.png
new file mode 100644
index 00000000..7765f745
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_games_strategy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_graphics.png b/IconThemes/kdeclassic/16x16/apps/package_graphics.png
new file mode 100644
index 00000000..c9eb61d1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_multimedia.png b/IconThemes/kdeclassic/16x16/apps/package_multimedia.png
new file mode 100644
index 00000000..3be10b09
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_network.png b/IconThemes/kdeclassic/16x16/apps/package_network.png
new file mode 100644
index 00000000..1967a95a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_settings.png b/IconThemes/kdeclassic/16x16/apps/package_settings.png
new file mode 100644
index 00000000..184fb3aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_system.png b/IconThemes/kdeclassic/16x16/apps/package_system.png
new file mode 100644
index 00000000..293ced1d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_toys.png b/IconThemes/kdeclassic/16x16/apps/package_toys.png
new file mode 100644
index 00000000..a87c53a3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_utilities.png b/IconThemes/kdeclassic/16x16/apps/package_utilities.png
new file mode 100644
index 00000000..ef7fdd69
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/package_wordprocessing.png b/IconThemes/kdeclassic/16x16/apps/package_wordprocessing.png
new file mode 100644
index 00000000..577ed9cb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/package_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/panel.png b/IconThemes/kdeclassic/16x16/apps/panel.png
new file mode 100644
index 00000000..01d6d58b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/panel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/panel_settings.png b/IconThemes/kdeclassic/16x16/apps/panel_settings.png
new file mode 100644
index 00000000..5b9e14bf
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/panel_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/password.png b/IconThemes/kdeclassic/16x16/apps/password.png
new file mode 100644
index 00000000..6ecce340
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/password.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/penguin.png b/IconThemes/kdeclassic/16x16/apps/penguin.png
new file mode 100644
index 00000000..233a697b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/personal.png b/IconThemes/kdeclassic/16x16/apps/personal.png
new file mode 100644
index 00000000..51e187ce
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/personal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/photobook.png b/IconThemes/kdeclassic/16x16/apps/photobook.png
new file mode 100644
index 00000000..73e3c8c3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/photobook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/plan.png b/IconThemes/kdeclassic/16x16/apps/plan.png
new file mode 100644
index 00000000..f761f2c9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/plan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/printmgr.png b/IconThemes/kdeclassic/16x16/apps/printmgr.png
new file mode 100644
index 00000000..8292c36d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/proxy.png b/IconThemes/kdeclassic/16x16/apps/proxy.png
new file mode 100644
index 00000000..3fdefff7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/pybliographic.png b/IconThemes/kdeclassic/16x16/apps/pybliographic.png
new file mode 100644
index 00000000..68eb9e05
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/pybliographic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/realplayer.png b/IconThemes/kdeclassic/16x16/apps/realplayer.png
new file mode 100644
index 00000000..d29d81d9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/realplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/remote.png b/IconThemes/kdeclassic/16x16/apps/remote.png
new file mode 100644
index 00000000..8c472c43
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/remote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/samba.png b/IconThemes/kdeclassic/16x16/apps/samba.png
new file mode 100644
index 00000000..54060060
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/samba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/stylesheet.png b/IconThemes/kdeclassic/16x16/apps/stylesheet.png
new file mode 100644
index 00000000..f8483341
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/terminal.png b/IconThemes/kdeclassic/16x16/apps/terminal.png
new file mode 100644
index 00000000..0ca72166
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/terminal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/usb.png b/IconThemes/kdeclassic/16x16/apps/usb.png
new file mode 100644
index 00000000..b772ba54
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/usb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/wabi.png b/IconThemes/kdeclassic/16x16/apps/wabi.png
new file mode 100644
index 00000000..91bff0a2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/wabi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/window_list.png b/IconThemes/kdeclassic/16x16/apps/window_list.png
new file mode 100644
index 00000000..0297faa5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/winprops.png b/IconThemes/kdeclassic/16x16/apps/winprops.png
new file mode 100644
index 00000000..4424a4e0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/winprops.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/wp.png b/IconThemes/kdeclassic/16x16/apps/wp.png
new file mode 100644
index 00000000..0f6f9b30
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/wp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xapp.png b/IconThemes/kdeclassic/16x16/apps/xapp.png
new file mode 100644
index 00000000..e7a73417
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xapp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xcalc.png b/IconThemes/kdeclassic/16x16/apps/xcalc.png
new file mode 100644
index 00000000..71bf47ba
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xclipboard.png b/IconThemes/kdeclassic/16x16/apps/xclipboard.png
new file mode 100644
index 00000000..de99fd7c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xclipboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xclock.png b/IconThemes/kdeclassic/16x16/apps/xclock.png
new file mode 100644
index 00000000..2f068b16
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xconsole.png b/IconThemes/kdeclassic/16x16/apps/xconsole.png
new file mode 100644
index 00000000..e96e4b8f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xconsole.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xedit.png b/IconThemes/kdeclassic/16x16/apps/xedit.png
new file mode 100644
index 00000000..96f78334
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xemacs.png b/IconThemes/kdeclassic/16x16/apps/xemacs.png
new file mode 100644
index 00000000..24ec2d70
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xemacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xeyes.png b/IconThemes/kdeclassic/16x16/apps/xeyes.png
new file mode 100644
index 00000000..19d6e255
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xeyes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xfig.png b/IconThemes/kdeclassic/16x16/apps/xfig.png
new file mode 100644
index 00000000..fbb82591
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xfmail.png b/IconThemes/kdeclassic/16x16/apps/xfmail.png
new file mode 100644
index 00000000..9bb6ae61
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xfmail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xload.png b/IconThemes/kdeclassic/16x16/apps/xload.png
new file mode 100644
index 00000000..638df5df
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xload.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xmag.png b/IconThemes/kdeclassic/16x16/apps/xmag.png
new file mode 100644
index 00000000..35e585d0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xmms.png b/IconThemes/kdeclassic/16x16/apps/xmms.png
new file mode 100644
index 00000000..49cc5b36
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xosview.png b/IconThemes/kdeclassic/16x16/apps/xosview.png
new file mode 100644
index 00000000..2034b69e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xosview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xpaint.png b/IconThemes/kdeclassic/16x16/apps/xpaint.png
new file mode 100644
index 00000000..b8038a4b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/apps/xv.png b/IconThemes/kdeclassic/16x16/apps/xv.png
new file mode 100644
index 00000000..d7bbe29a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/apps/xv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/3floppy_mount.png b/IconThemes/kdeclassic/16x16/devices/3floppy_mount.png
new file mode 100644
index 00000000..4ab50a95
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/3floppy_unmount.png b/IconThemes/kdeclassic/16x16/devices/3floppy_unmount.png
new file mode 100644
index 00000000..2aac60fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/5floppy_mount.png b/IconThemes/kdeclassic/16x16/devices/5floppy_mount.png
new file mode 100644
index 00000000..9860bc7c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/5floppy_unmount.png b/IconThemes/kdeclassic/16x16/devices/5floppy_unmount.png
new file mode 100644
index 00000000..df8dd6ac
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/camera.png b/IconThemes/kdeclassic/16x16/devices/camera.png
new file mode 100644
index 00000000..3d96a6e3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/camera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdaudio_mount.png b/IconThemes/kdeclassic/16x16/devices/cdaudio_mount.png
new file mode 100644
index 00000000..86c68a4d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdaudio_unmount.png b/IconThemes/kdeclassic/16x16/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..ee4bb3b9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdrom_mount.png b/IconThemes/kdeclassic/16x16/devices/cdrom_mount.png
new file mode 100644
index 00000000..048c740e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdrom_unmount.png b/IconThemes/kdeclassic/16x16/devices/cdrom_unmount.png
new file mode 100644
index 00000000..ebc4270d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdwriter_mount.png b/IconThemes/kdeclassic/16x16/devices/cdwriter_mount.png
new file mode 100644
index 00000000..da55d9f3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/cdwriter_unmount.png b/IconThemes/kdeclassic/16x16/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..7fd1866e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/dvd_mount.png b/IconThemes/kdeclassic/16x16/devices/dvd_mount.png
new file mode 100644
index 00000000..ab339dcc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/dvd_unmount.png b/IconThemes/kdeclassic/16x16/devices/dvd_unmount.png
new file mode 100644
index 00000000..84c91751
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/hdd_mount.png b/IconThemes/kdeclassic/16x16/devices/hdd_mount.png
new file mode 100644
index 00000000..2ead4845
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/hdd_unmount.png b/IconThemes/kdeclassic/16x16/devices/hdd_unmount.png
new file mode 100644
index 00000000..2af1b442
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/ksim_cpu.png b/IconThemes/kdeclassic/16x16/devices/ksim_cpu.png
new file mode 100644
index 00000000..c9d8d086
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/ksim_cpu.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/memory.png b/IconThemes/kdeclassic/16x16/devices/memory.png
new file mode 100644
index 00000000..6e76771a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/memory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/mo_mount.png b/IconThemes/kdeclassic/16x16/devices/mo_mount.png
new file mode 100644
index 00000000..189f9d11
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/mo_unmount.png b/IconThemes/kdeclassic/16x16/devices/mo_unmount.png
new file mode 100644
index 00000000..64d60fb1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/nfs_mount.png b/IconThemes/kdeclassic/16x16/devices/nfs_mount.png
new file mode 100644
index 00000000..f187f699
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/nfs_unmount.png b/IconThemes/kdeclassic/16x16/devices/nfs_unmount.png
new file mode 100644
index 00000000..06676fe6
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/print_class.png b/IconThemes/kdeclassic/16x16/devices/print_class.png
new file mode 100644
index 00000000..60944253
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/print_class.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/print_printer.png b/IconThemes/kdeclassic/16x16/devices/print_printer.png
new file mode 100644
index 00000000..10766682
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/printer1.png b/IconThemes/kdeclassic/16x16/devices/printer1.png
new file mode 100644
index 00000000..2d99b14a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/printer1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/printer2.png b/IconThemes/kdeclassic/16x16/devices/printer2.png
new file mode 100644
index 00000000..7884716b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/scanner.png b/IconThemes/kdeclassic/16x16/devices/scanner.png
new file mode 100644
index 00000000..1713b541
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/scanner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/tablet.png b/IconThemes/kdeclassic/16x16/devices/tablet.png
new file mode 100644
index 00000000..9dcbb244
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/tablet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/zip_mount.png b/IconThemes/kdeclassic/16x16/devices/zip_mount.png
new file mode 100644
index 00000000..8d6c9e91
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/devices/zip_unmount.png b/IconThemes/kdeclassic/16x16/devices/zip_unmount.png
new file mode 100644
index 00000000..86a6b543
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/blockdevice.png b/IconThemes/kdeclassic/16x16/filesystems/blockdevice.png
new file mode 100644
index 00000000..7035dc8b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/chardevice.png b/IconThemes/kdeclassic/16x16/filesystems/chardevice.png
new file mode 100644
index 00000000..af223457
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/desktop.png b/IconThemes/kdeclassic/16x16/filesystems/desktop.png
new file mode 100644
index 00000000..f994d261
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/exec.png b/IconThemes/kdeclassic/16x16/filesystems/exec.png
new file mode 100644
index 00000000..45a0d9d4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/file_broken.png b/IconThemes/kdeclassic/16x16/filesystems/file_broken.png
new file mode 100644
index 00000000..59f36e02
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/file_important.png b/IconThemes/kdeclassic/16x16/filesystems/file_important.png
new file mode 100644
index 00000000..2ec55d76
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/file_locked.png b/IconThemes/kdeclassic/16x16/filesystems/file_locked.png
new file mode 100644
index 00000000..bdc6ddeb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder.png b/IconThemes/kdeclassic/16x16/filesystems/folder.png
new file mode 100644
index 00000000..c28a5283
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_blue.png b/IconThemes/kdeclassic/16x16/filesystems/folder_blue.png
new file mode 100644
index 00000000..eec0ce19
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_blue_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..87cf803b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_cyan.png b/IconThemes/kdeclassic/16x16/filesystems/folder_cyan.png
new file mode 100644
index 00000000..1e8adbff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_cyan_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..8b25e69b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_green.png b/IconThemes/kdeclassic/16x16/filesystems/folder_green.png
new file mode 100644
index 00000000..468de5be
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_green_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_green_open.png
new file mode 100644
index 00000000..0a494368
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_grey.png b/IconThemes/kdeclassic/16x16/filesystems/folder_grey.png
new file mode 100644
index 00000000..dba152c4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_grey_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..6caa7b63
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_home.png b/IconThemes/kdeclassic/16x16/filesystems/folder_home.png
new file mode 100644
index 00000000..1de96e9b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_html.png b/IconThemes/kdeclassic/16x16/filesystems/folder_html.png
new file mode 100644
index 00000000..6c43d6ee
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_image.png b/IconThemes/kdeclassic/16x16/filesystems/folder_image.png
new file mode 100644
index 00000000..49b0bb7a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_important.png b/IconThemes/kdeclassic/16x16/filesystems/folder_important.png
new file mode 100644
index 00000000..a3573148
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_inbox.png b/IconThemes/kdeclassic/16x16/filesystems/folder_inbox.png
new file mode 100644
index 00000000..30cb92c3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_inbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_locked.png b/IconThemes/kdeclassic/16x16/filesystems/folder_locked.png
new file mode 100644
index 00000000..fd983b52
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_man.png b/IconThemes/kdeclassic/16x16/filesystems/folder_man.png
new file mode 100644
index 00000000..83727194
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_open.png
new file mode 100644
index 00000000..992487c1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_orange.png b/IconThemes/kdeclassic/16x16/filesystems/folder_orange.png
new file mode 100644
index 00000000..04a2c92d
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_orange_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..22239f19
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_outbox.png b/IconThemes/kdeclassic/16x16/filesystems/folder_outbox.png
new file mode 100644
index 00000000..189aa38c
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_outbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_print2.png b/IconThemes/kdeclassic/16x16/filesystems/folder_print2.png
new file mode 100644
index 00000000..13110b79
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_print2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_red.png b/IconThemes/kdeclassic/16x16/filesystems/folder_red.png
new file mode 100644
index 00000000..ffc9c537
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_red_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_red_open.png
new file mode 100644
index 00000000..ddb43d90
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_sent_mail.png b/IconThemes/kdeclassic/16x16/filesystems/folder_sent_mail.png
new file mode 100644
index 00000000..c7505d04
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_sent_mail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_sound.png b/IconThemes/kdeclassic/16x16/filesystems/folder_sound.png
new file mode 100644
index 00000000..c7cc48d8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_tar.png b/IconThemes/kdeclassic/16x16/filesystems/folder_tar.png
new file mode 100644
index 00000000..81c90d00
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_txt.png b/IconThemes/kdeclassic/16x16/filesystems/folder_txt.png
new file mode 100644
index 00000000..bf81b5d5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_video.png b/IconThemes/kdeclassic/16x16/filesystems/folder_video.png
new file mode 100644
index 00000000..eef7e1ed
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_violet.png b/IconThemes/kdeclassic/16x16/filesystems/folder_violet.png
new file mode 100644
index 00000000..287c842b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_violet_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_violet_open.png
new file mode 100644
index 00000000..9e9098b4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_violet_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_wordprocessing.png b/IconThemes/kdeclassic/16x16/filesystems/folder_wordprocessing.png
new file mode 100644
index 00000000..7a0024bb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_yellow.png b/IconThemes/kdeclassic/16x16/filesystems/folder_yellow.png
new file mode 100644
index 00000000..bccb27a5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/folder_yellow_open.png b/IconThemes/kdeclassic/16x16/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..afb54e21
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/ftp.png b/IconThemes/kdeclassic/16x16/filesystems/ftp.png
new file mode 100644
index 00000000..ae26c6aa
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/link.png b/IconThemes/kdeclassic/16x16/filesystems/link.png
new file mode 100644
index 00000000..4a6e6ae1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/lockoverlay.png b/IconThemes/kdeclassic/16x16/filesystems/lockoverlay.png
new file mode 100644
index 00000000..54681080
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/network.png b/IconThemes/kdeclassic/16x16/filesystems/network.png
new file mode 100644
index 00000000..be8091ac
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/network_local.png b/IconThemes/kdeclassic/16x16/filesystems/network_local.png
new file mode 100644
index 00000000..579c7605
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/pipe.png b/IconThemes/kdeclassic/16x16/filesystems/pipe.png
new file mode 100644
index 00000000..7114bfe8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/services.png b/IconThemes/kdeclassic/16x16/filesystems/services.png
new file mode 100644
index 00000000..b47e2be8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/services.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/shredder.png b/IconThemes/kdeclassic/16x16/filesystems/shredder.png
new file mode 100644
index 00000000..cca6be40
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/socket.png b/IconThemes/kdeclassic/16x16/filesystems/socket.png
new file mode 100644
index 00000000..a5956a55
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/trashcan_empty.png b/IconThemes/kdeclassic/16x16/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..8728f8a7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/trashcan_full.png b/IconThemes/kdeclassic/16x16/filesystems/trashcan_full.png
new file mode 100644
index 00000000..70a1dc2e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/www.png b/IconThemes/kdeclassic/16x16/filesystems/www.png
new file mode 100644
index 00000000..b4841ab4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/www.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/filesystems/zip.png b/IconThemes/kdeclassic/16x16/filesystems/zip.png
new file mode 100644
index 00000000..715efed1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/applix.png b/IconThemes/kdeclassic/16x16/mimetypes/applix.png
new file mode 100644
index 00000000..8ca8294e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/binary.png b/IconThemes/kdeclassic/16x16/mimetypes/binary.png
new file mode 100644
index 00000000..7539b24a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/binary2.png b/IconThemes/kdeclassic/16x16/mimetypes/binary2.png
new file mode 100644
index 00000000..fa6ff3fd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/cdtrack.png b/IconThemes/kdeclassic/16x16/mimetypes/cdtrack.png
new file mode 100644
index 00000000..52c07141
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/colorscm.png b/IconThemes/kdeclassic/16x16/mimetypes/colorscm.png
new file mode 100644
index 00000000..deba428e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/core.png b/IconThemes/kdeclassic/16x16/mimetypes/core.png
new file mode 100644
index 00000000..25688d42
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/deb.png b/IconThemes/kdeclassic/16x16/mimetypes/deb.png
new file mode 100644
index 00000000..56033d27
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/debfile.png b/IconThemes/kdeclassic/16x16/mimetypes/debfile.png
new file mode 100644
index 00000000..0d1ffdf2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/debfile.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/document.png b/IconThemes/kdeclassic/16x16/mimetypes/document.png
new file mode 100644
index 00000000..ca5317e2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/document2.png b/IconThemes/kdeclassic/16x16/mimetypes/document2.png
new file mode 100644
index 00000000..009dfca1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/dvi.png b/IconThemes/kdeclassic/16x16/mimetypes/dvi.png
new file mode 100644
index 00000000..81dc3640
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/empty.png b/IconThemes/kdeclassic/16x16/mimetypes/empty.png
new file mode 100644
index 00000000..33731b98
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/font_bitmap.png b/IconThemes/kdeclassic/16x16/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..7e6a3cb4
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/font_truetype.png b/IconThemes/kdeclassic/16x16/mimetypes/font_truetype.png
new file mode 100644
index 00000000..bf6532e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/font_type1.png b/IconThemes/kdeclassic/16x16/mimetypes/font_type1.png
new file mode 100644
index 00000000..f165e27e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/gf.png b/IconThemes/kdeclassic/16x16/mimetypes/gf.png
new file mode 100644
index 00000000..59a97227
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/gf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/html.png b/IconThemes/kdeclassic/16x16/mimetypes/html.png
new file mode 100644
index 00000000..9c457975
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/image.png b/IconThemes/kdeclassic/16x16/mimetypes/image.png
new file mode 100644
index 00000000..7e5669b7
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/info.png b/IconThemes/kdeclassic/16x16/mimetypes/info.png
new file mode 100644
index 00000000..f69e125b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/karbon_karbon.png b/IconThemes/kdeclassic/16x16/mimetypes/karbon_karbon.png
new file mode 100644
index 00000000..ebffd067
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/karbon_karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kchart_chrt.png b/IconThemes/kdeclassic/16x16/mimetypes/kchart_chrt.png
new file mode 100644
index 00000000..d63f7d04
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kchart_chrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kformula_kfo.png b/IconThemes/kdeclassic/16x16/mimetypes/kformula_kfo.png
new file mode 100644
index 00000000..c7092c55
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kformula_kfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kivio_flw.png b/IconThemes/kdeclassic/16x16/mimetypes/kivio_flw.png
new file mode 100644
index 00000000..6cfd08b2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kivio_flw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kmultiple.png b/IconThemes/kdeclassic/16x16/mimetypes/kmultiple.png
new file mode 100644
index 00000000..06d7b2d8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kpovmodeler_doc.png b/IconThemes/kdeclassic/16x16/mimetypes/kpovmodeler_doc.png
new file mode 100644
index 00000000..a408d784
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kpovmodeler_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kpresenter_kpr.png b/IconThemes/kdeclassic/16x16/mimetypes/kpresenter_kpr.png
new file mode 100644
index 00000000..58702683
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kpresenter_kpr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/krita_kra.png b/IconThemes/kdeclassic/16x16/mimetypes/krita_kra.png
new file mode 100644
index 00000000..2b42084e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/krita_kra.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kspread_ksp.png b/IconThemes/kdeclassic/16x16/mimetypes/kspread_ksp.png
new file mode 100644
index 00000000..2d3f13d1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kspread_ksp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kugar_kud.png b/IconThemes/kdeclassic/16x16/mimetypes/kugar_kud.png
new file mode 100644
index 00000000..96aa7b46
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kugar_kud.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kugardata.png b/IconThemes/kdeclassic/16x16/mimetypes/kugardata.png
new file mode 100644
index 00000000..9e7e2ff0
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kugardata.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/kword_kwd.png b/IconThemes/kdeclassic/16x16/mimetypes/kword_kwd.png
new file mode 100644
index 00000000..f317b746
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/kword_kwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/log.png b/IconThemes/kdeclassic/16x16/mimetypes/log.png
new file mode 100644
index 00000000..b9da6a36
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/make.png b/IconThemes/kdeclassic/16x16/mimetypes/make.png
new file mode 100644
index 00000000..698e4b15
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/man.png b/IconThemes/kdeclassic/16x16/mimetypes/man.png
new file mode 100644
index 00000000..b72a9689
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/message.png b/IconThemes/kdeclassic/16x16/mimetypes/message.png
new file mode 100644
index 00000000..c7c6b0e3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/metafont.png b/IconThemes/kdeclassic/16x16/mimetypes/metafont.png
new file mode 100644
index 00000000..dfde12b9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/metafont.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/midi.png b/IconThemes/kdeclassic/16x16/mimetypes/midi.png
new file mode 100644
index 00000000..b8e24e02
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/misc_doc.png b/IconThemes/kdeclassic/16x16/mimetypes/misc_doc.png
new file mode 100644
index 00000000..2e68e6a1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/netscape_doc.png b/IconThemes/kdeclassic/16x16/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..926d0485
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/news.png b/IconThemes/kdeclassic/16x16/mimetypes/news.png
new file mode 100644
index 00000000..c67c6bfe
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/news.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/pdf.png b/IconThemes/kdeclassic/16x16/mimetypes/pdf.png
new file mode 100644
index 00000000..d8367937
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/pk.png b/IconThemes/kdeclassic/16x16/mimetypes/pk.png
new file mode 100644
index 00000000..f2a09e67
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/pk.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/postscript.png b/IconThemes/kdeclassic/16x16/mimetypes/postscript.png
new file mode 100644
index 00000000..f3ce5f7a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/readme.png b/IconThemes/kdeclassic/16x16/mimetypes/readme.png
new file mode 100644
index 00000000..dd5cc577
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/recycled.png b/IconThemes/kdeclassic/16x16/mimetypes/recycled.png
new file mode 100644
index 00000000..b23fc96e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/resource.png b/IconThemes/kdeclassic/16x16/mimetypes/resource.png
new file mode 100644
index 00000000..e64ad9b3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/rpm.png b/IconThemes/kdeclassic/16x16/mimetypes/rpm.png
new file mode 100644
index 00000000..d4c8506b
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/rpmfile.png b/IconThemes/kdeclassic/16x16/mimetypes/rpmfile.png
new file mode 100644
index 00000000..b1e40eff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/rpmfile.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/shellscript.png b/IconThemes/kdeclassic/16x16/mimetypes/shellscript.png
new file mode 100644
index 00000000..abf457c2
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/shellscript2.png b/IconThemes/kdeclassic/16x16/mimetypes/shellscript2.png
new file mode 100644
index 00000000..735a2897
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/sound.png b/IconThemes/kdeclassic/16x16/mimetypes/sound.png
new file mode 100644
index 00000000..74e661e8
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source.png b/IconThemes/kdeclassic/16x16/mimetypes/source.png
new file mode 100644
index 00000000..a60d152f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_c.png b/IconThemes/kdeclassic/16x16/mimetypes/source_c.png
new file mode 100644
index 00000000..e04aa13f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_cpp.png b/IconThemes/kdeclassic/16x16/mimetypes/source_cpp.png
new file mode 100644
index 00000000..3734cbcd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_f.png b/IconThemes/kdeclassic/16x16/mimetypes/source_f.png
new file mode 100644
index 00000000..8bd03653
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_h.png b/IconThemes/kdeclassic/16x16/mimetypes/source_h.png
new file mode 100644
index 00000000..5b8292b1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_java.png b/IconThemes/kdeclassic/16x16/mimetypes/source_java.png
new file mode 100644
index 00000000..366b8e78
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_l.png b/IconThemes/kdeclassic/16x16/mimetypes/source_l.png
new file mode 100644
index 00000000..c8e70ee1
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_moc.png b/IconThemes/kdeclassic/16x16/mimetypes/source_moc.png
new file mode 100644
index 00000000..4aee08d9
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_o.png b/IconThemes/kdeclassic/16x16/mimetypes/source_o.png
new file mode 100644
index 00000000..1d4ca7ff
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_pl.png b/IconThemes/kdeclassic/16x16/mimetypes/source_pl.png
new file mode 100644
index 00000000..92a22261
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_py.png b/IconThemes/kdeclassic/16x16/mimetypes/source_py.png
new file mode 100644
index 00000000..217da053
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_s.png b/IconThemes/kdeclassic/16x16/mimetypes/source_s.png
new file mode 100644
index 00000000..f396f0fc
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/source_y.png b/IconThemes/kdeclassic/16x16/mimetypes/source_y.png
new file mode 100644
index 00000000..1b2518dd
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/tar.png b/IconThemes/kdeclassic/16x16/mimetypes/tar.png
new file mode 100644
index 00000000..f9805feb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/tgz.png b/IconThemes/kdeclassic/16x16/mimetypes/tgz.png
new file mode 100644
index 00000000..6817b768
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/txt.png b/IconThemes/kdeclassic/16x16/mimetypes/txt.png
new file mode 100644
index 00000000..83424210
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/unknown.png b/IconThemes/kdeclassic/16x16/mimetypes/unknown.png
new file mode 100644
index 00000000..e4107ac3
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/vcalendar.png b/IconThemes/kdeclassic/16x16/mimetypes/vcalendar.png
new file mode 100644
index 00000000..b5f1bf4e
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/vcalendar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/vcard.png b/IconThemes/kdeclassic/16x16/mimetypes/vcard.png
new file mode 100644
index 00000000..6c8bbeeb
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/vectorgfx.png b/IconThemes/kdeclassic/16x16/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..e58047f5
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/video.png b/IconThemes/kdeclassic/16x16/mimetypes/video.png
new file mode 100644
index 00000000..18fc5c6a
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/widget_doc.png b/IconThemes/kdeclassic/16x16/mimetypes/widget_doc.png
new file mode 100644
index 00000000..9ae57231
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/16x16/mimetypes/wordprocessing.png b/IconThemes/kdeclassic/16x16/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..f2b8681f
--- /dev/null
+++ b/IconThemes/kdeclassic/16x16/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_ellipse.png b/IconThemes/kdeclassic/22x22/actions/14_ellipse.png
new file mode 100644
index 00000000..0e9172f1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_ellipse.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_gradient.png b/IconThemes/kdeclassic/22x22/actions/14_gradient.png
new file mode 100644
index 00000000..08f69337
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_gradient.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_group.png b/IconThemes/kdeclassic/22x22/actions/14_group.png
new file mode 100644
index 00000000..df135a3a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_polygon.png b/IconThemes/kdeclassic/22x22/actions/14_polygon.png
new file mode 100644
index 00000000..b999d4e4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_polygon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_polyline.png b/IconThemes/kdeclassic/22x22/actions/14_polyline.png
new file mode 100644
index 00000000..83a4b989
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_polyline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_rectangle.png b/IconThemes/kdeclassic/22x22/actions/14_rectangle.png
new file mode 100644
index 00000000..2889ce03
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_rectangle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_rotate.png b/IconThemes/kdeclassic/22x22/actions/14_rotate.png
new file mode 100644
index 00000000..ae839d94
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_rotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_roundrect.png b/IconThemes/kdeclassic/22x22/actions/14_roundrect.png
new file mode 100644
index 00000000..0d9e9646
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_roundrect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_select.png b/IconThemes/kdeclassic/22x22/actions/14_select.png
new file mode 100644
index 00000000..e8ef2d54
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_select.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_selectnodes.png b/IconThemes/kdeclassic/22x22/actions/14_selectnodes.png
new file mode 100644
index 00000000..7232c84f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_selectnodes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_shear.png b/IconThemes/kdeclassic/22x22/actions/14_shear.png
new file mode 100644
index 00000000..f6299147
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_shear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_sinus.png b/IconThemes/kdeclassic/22x22/actions/14_sinus.png
new file mode 100644
index 00000000..b20e755a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_sinus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_spiral.png b/IconThemes/kdeclassic/22x22/actions/14_spiral.png
new file mode 100644
index 00000000..aed63a1d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_spiral.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_star.png b/IconThemes/kdeclassic/22x22/actions/14_star.png
new file mode 100644
index 00000000..6a8cf82a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_star.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_text.png b/IconThemes/kdeclassic/22x22/actions/14_text.png
new file mode 100644
index 00000000..ee9c012c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/14_ungroup.png b/IconThemes/kdeclassic/22x22/actions/14_ungroup.png
new file mode 100644
index 00000000..c9c3055b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/14_ungroup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/1day.png b/IconThemes/kdeclassic/22x22/actions/1day.png
new file mode 100644
index 00000000..c03a73eb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/1day.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/1downarrow.png b/IconThemes/kdeclassic/22x22/actions/1downarrow.png
new file mode 100644
index 00000000..f5c0c690
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/1leftarrow.png b/IconThemes/kdeclassic/22x22/actions/1leftarrow.png
new file mode 100644
index 00000000..d8fb4a62
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/1rightarrow.png b/IconThemes/kdeclassic/22x22/actions/1rightarrow.png
new file mode 100644
index 00000000..8e07a9b6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/1uparrow.png b/IconThemes/kdeclassic/22x22/actions/1uparrow.png
new file mode 100644
index 00000000..b3784efc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/2downarrow.png b/IconThemes/kdeclassic/22x22/actions/2downarrow.png
new file mode 100644
index 00000000..5bb1d3de
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/2leftarrow.png b/IconThemes/kdeclassic/22x22/actions/2leftarrow.png
new file mode 100644
index 00000000..7299ecca
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/2rightarrow.png b/IconThemes/kdeclassic/22x22/actions/2rightarrow.png
new file mode 100644
index 00000000..61ad3606
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/2uparrow.png b/IconThemes/kdeclassic/22x22/actions/2uparrow.png
new file mode 100644
index 00000000..0e36fc91
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/3leftarrow.png b/IconThemes/kdeclassic/22x22/actions/3leftarrow.png
new file mode 100644
index 00000000..eae265f0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/3leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/3rightarrow.png b/IconThemes/kdeclassic/22x22/actions/3rightarrow.png
new file mode 100644
index 00000000..0c478b26
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/3rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/5days.png b/IconThemes/kdeclassic/22x22/actions/5days.png
new file mode 100644
index 00000000..010e868d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/5days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/7days.png b/IconThemes/kdeclassic/22x22/actions/7days.png
new file mode 100644
index 00000000..5eb69ecc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/7days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/abort.png b/IconThemes/kdeclassic/22x22/actions/abort.png
new file mode 100644
index 00000000..56f65230
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/abort.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/about_kde.png b/IconThemes/kdeclassic/22x22/actions/about_kde.png
new file mode 100644
index 00000000..34a09fff
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/abs.png b/IconThemes/kdeclassic/22x22/actions/abs.png
new file mode 100644
index 00000000..ef46ab08
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/add_group.png b/IconThemes/kdeclassic/22x22/actions/add_group.png
new file mode 100644
index 00000000..8260a891
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/add_group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/add_user.png b/IconThemes/kdeclassic/22x22/actions/add_user.png
new file mode 100644
index 00000000..ec800f4e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/add_user.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/addquestion.png b/IconThemes/kdeclassic/22x22/actions/addquestion.png
new file mode 100644
index 00000000..cb3dd32c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/addquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/adjustcol.png b/IconThemes/kdeclassic/22x22/actions/adjustcol.png
new file mode 100644
index 00000000..0fc1f533
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/adjustcol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/adjustrow.png b/IconThemes/kdeclassic/22x22/actions/adjustrow.png
new file mode 100644
index 00000000..0790243f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/adjustrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/agenda.png b/IconThemes/kdeclassic/22x22/actions/agenda.png
new file mode 100644
index 00000000..6d4ed47c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/agenda.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/airbrush.png b/IconThemes/kdeclassic/22x22/actions/airbrush.png
new file mode 100644
index 00000000..2e98ea3c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/airbrush.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/alignobjs.png b/IconThemes/kdeclassic/22x22/actions/alignobjs.png
new file mode 100644
index 00000000..9eb5a0c6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/alignobjs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aobottom.png b/IconThemes/kdeclassic/22x22/actions/aobottom.png
new file mode 100644
index 00000000..e6f33852
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aobottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aocenterh.png b/IconThemes/kdeclassic/22x22/actions/aocenterh.png
new file mode 100644
index 00000000..525ce7f6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aocenterh.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aocenterv.png b/IconThemes/kdeclassic/22x22/actions/aocenterv.png
new file mode 100644
index 00000000..13bbd1fc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aocenterv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aoleft.png b/IconThemes/kdeclassic/22x22/actions/aoleft.png
new file mode 100644
index 00000000..646983e8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aoleft.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aoright.png b/IconThemes/kdeclassic/22x22/actions/aoright.png
new file mode 100644
index 00000000..a607ad2d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aoright.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/aotop.png b/IconThemes/kdeclassic/22x22/actions/aotop.png
new file mode 100644
index 00000000..7a744239
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/aotop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/appearance.png b/IconThemes/kdeclassic/22x22/actions/appearance.png
new file mode 100644
index 00000000..db8e80a2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/appointment.png b/IconThemes/kdeclassic/22x22/actions/appointment.png
new file mode 100644
index 00000000..9bae7172
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/appointment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/areas3d.png b/IconThemes/kdeclassic/22x22/actions/areas3d.png
new file mode 100644
index 00000000..f1915af8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/areas3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_adddir.png b/IconThemes/kdeclassic/22x22/actions/ark_adddir.png
new file mode 100644
index 00000000..736f0f46
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_adddir.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_addfile.png b/IconThemes/kdeclassic/22x22/actions/ark_addfile.png
new file mode 100644
index 00000000..b6d10ebd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_addfile.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_delete.png b/IconThemes/kdeclassic/22x22/actions/ark_delete.png
new file mode 100644
index 00000000..e09f6d70
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_delete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_extract.png b/IconThemes/kdeclassic/22x22/actions/ark_extract.png
new file mode 100644
index 00000000..aab98a7b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_extract.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_help.png b/IconThemes/kdeclassic/22x22/actions/ark_help.png
new file mode 100644
index 00000000..e4409c1f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_help.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_new.png b/IconThemes/kdeclassic/22x22/actions/ark_new.png
new file mode 100644
index 00000000..26aef176
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_open.png b/IconThemes/kdeclassic/22x22/actions/ark_open.png
new file mode 100644
index 00000000..16b6aae0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_options.png b/IconThemes/kdeclassic/22x22/actions/ark_options.png
new file mode 100644
index 00000000..69751a6f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_options.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_selectall.png b/IconThemes/kdeclassic/22x22/actions/ark_selectall.png
new file mode 100644
index 00000000..22f6e68d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_selectall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ark_view.png b/IconThemes/kdeclassic/22x22/actions/ark_view.png
new file mode 100644
index 00000000..ee5d01c3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ark_view.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/arrange.png b/IconThemes/kdeclassic/22x22/actions/arrange.png
new file mode 100644
index 00000000..421f8748
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/arrange.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/artsbuilderexecute.png b/IconThemes/kdeclassic/22x22/actions/artsbuilderexecute.png
new file mode 100644
index 00000000..d4fbdae4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/artsbuilderexecute.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/atlantik_buy_estate.png b/IconThemes/kdeclassic/22x22/actions/atlantik_buy_estate.png
new file mode 100644
index 00000000..2dec599e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/atlantik_buy_estate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/attach.png b/IconThemes/kdeclassic/22x22/actions/attach.png
new file mode 100644
index 00000000..47004153
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/attach.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/autoform.png b/IconThemes/kdeclassic/22x22/actions/autoform.png
new file mode 100644
index 00000000..7a0eec16
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/autoform.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/babelfish.png b/IconThemes/kdeclassic/22x22/actions/babelfish.png
new file mode 100644
index 00000000..923c51ac
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/babelfish.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/back.png b/IconThemes/kdeclassic/22x22/actions/back.png
new file mode 100644
index 00000000..97c9e60a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/back.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bars.png b/IconThemes/kdeclassic/22x22/actions/bars.png
new file mode 100644
index 00000000..fde0cef5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bars3d.png b/IconThemes/kdeclassic/22x22/actions/bars3d.png
new file mode 100644
index 00000000..b6e13670
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bars3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/black_sum.png b/IconThemes/kdeclassic/22x22/actions/black_sum.png
new file mode 100644
index 00000000..5a340712
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/black_sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/blend.png b/IconThemes/kdeclassic/22x22/actions/blend.png
new file mode 100644
index 00000000..b481d9c0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/blend.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bookmark.png b/IconThemes/kdeclassic/22x22/actions/bookmark.png
new file mode 100644
index 00000000..c8df7408
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bookmark_add.png b/IconThemes/kdeclassic/22x22/actions/bookmark_add.png
new file mode 100644
index 00000000..39f33447
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bookmark_folder.png b/IconThemes/kdeclassic/22x22/actions/bookmark_folder.png
new file mode 100644
index 00000000..f371264a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_all.png b/IconThemes/kdeclassic/22x22/actions/border_all.png
new file mode 100644
index 00000000..7d0b2604
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_all.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_bottom.png b/IconThemes/kdeclassic/22x22/actions/border_bottom.png
new file mode 100644
index 00000000..e6bd7988
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_fall.png b/IconThemes/kdeclassic/22x22/actions/border_fall.png
new file mode 100644
index 00000000..8274e100
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_fall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_horizontal.png b/IconThemes/kdeclassic/22x22/actions/border_horizontal.png
new file mode 100644
index 00000000..48dad112
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_horizontal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_inside.png b/IconThemes/kdeclassic/22x22/actions/border_inside.png
new file mode 100644
index 00000000..a47a406f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_inside.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_left.png b/IconThemes/kdeclassic/22x22/actions/border_left.png
new file mode 100644
index 00000000..a60ad4a8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_outline.png b/IconThemes/kdeclassic/22x22/actions/border_outline.png
new file mode 100644
index 00000000..3af84b6c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_outline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_remove.png b/IconThemes/kdeclassic/22x22/actions/border_remove.png
new file mode 100644
index 00000000..fed22c94
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_right.png b/IconThemes/kdeclassic/22x22/actions/border_right.png
new file mode 100644
index 00000000..e2f21adb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_top.png b/IconThemes/kdeclassic/22x22/actions/border_top.png
new file mode 100644
index 00000000..d94538b6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_up.png b/IconThemes/kdeclassic/22x22/actions/border_up.png
new file mode 100644
index 00000000..19035bc6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/border_vertical.png b/IconThemes/kdeclassic/22x22/actions/border_vertical.png
new file mode 100644
index 00000000..4af84eff
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/border_vertical.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/borderbottom.png b/IconThemes/kdeclassic/22x22/actions/borderbottom.png
new file mode 100644
index 00000000..65c4bd03
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/borderbottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/borderleft.png b/IconThemes/kdeclassic/22x22/actions/borderleft.png
new file mode 100644
index 00000000..a1d9b6d0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/borderleft.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/borderoutline.png b/IconThemes/kdeclassic/22x22/actions/borderoutline.png
new file mode 100644
index 00000000..8ee39c55
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/borderoutline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/borderright.png b/IconThemes/kdeclassic/22x22/actions/borderright.png
new file mode 100644
index 00000000..a1ee5549
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/borderright.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bordertop.png b/IconThemes/kdeclassic/22x22/actions/bordertop.png
new file mode 100644
index 00000000..d8f526af
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bordertop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bottom.png b/IconThemes/kdeclassic/22x22/actions/bottom.png
new file mode 100644
index 00000000..f8c271f9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/brackets.png b/IconThemes/kdeclassic/22x22/actions/brackets.png
new file mode 100644
index 00000000..fa613e0a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/bring_forward.png b/IconThemes/kdeclassic/22x22/actions/bring_forward.png
new file mode 100644
index 00000000..10a1a80b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/bring_forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/button_cancel.png b/IconThemes/kdeclassic/22x22/actions/button_cancel.png
new file mode 100644
index 00000000..162c8c4e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/button_cancel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/button_ok.png b/IconThemes/kdeclassic/22x22/actions/button_ok.png
new file mode 100644
index 00000000..065b0312
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cakes.png b/IconThemes/kdeclassic/22x22/actions/cakes.png
new file mode 100644
index 00000000..06df1e6e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cakes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cakes3d.png b/IconThemes/kdeclassic/22x22/actions/cakes3d.png
new file mode 100644
index 00000000..fe7f4893
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cakes3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cancel.png b/IconThemes/kdeclassic/22x22/actions/cancel.png
new file mode 100644
index 00000000..dffa5dfc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cancel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cell_layout.png b/IconThemes/kdeclassic/22x22/actions/cell_layout.png
new file mode 100644
index 00000000..5747ab77
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cell_layout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/centrejust.png b/IconThemes/kdeclassic/22x22/actions/centrejust.png
new file mode 100644
index 00000000..e10ef8db
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/centrejust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/char.png b/IconThemes/kdeclassic/22x22/actions/char.png
new file mode 100644
index 00000000..8e368693
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/char.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/charset.png b/IconThemes/kdeclassic/22x22/actions/charset.png
new file mode 100644
index 00000000..7129a286
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/charset.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/checkedbox-mask.png b/IconThemes/kdeclassic/22x22/actions/checkedbox-mask.png
new file mode 100644
index 00000000..ccfa2415
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/checkedbox-mask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/checkedbox.png b/IconThemes/kdeclassic/22x22/actions/checkedbox.png
new file mode 100644
index 00000000..ef94f056
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/checkedbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/checkedclipboard.png b/IconThemes/kdeclassic/22x22/actions/checkedclipboard.png
new file mode 100644
index 00000000..7ae2973f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/checkedclipboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/checkmark.png b/IconThemes/kdeclassic/22x22/actions/checkmark.png
new file mode 100644
index 00000000..de4adcab
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/checkmark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/circle.png b/IconThemes/kdeclassic/22x22/actions/circle.png
new file mode 100644
index 00000000..9d51dc65
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/circle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/classwiz.png b/IconThemes/kdeclassic/22x22/actions/classwiz.png
new file mode 100644
index 00000000..3b0cc074
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/classwiz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/clear_left.png b/IconThemes/kdeclassic/22x22/actions/clear_left.png
new file mode 100644
index 00000000..aef33299
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/clear_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/clipart.png b/IconThemes/kdeclassic/22x22/actions/clipart.png
new file mode 100644
index 00000000..6927bc53
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/clipart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/clipart_from_file.png b/IconThemes/kdeclassic/22x22/actions/clipart_from_file.png
new file mode 100644
index 00000000..08a864db
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/clipart_from_file.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/closed_cubicbeziercurve.png b/IconThemes/kdeclassic/22x22/actions/closed_cubicbeziercurve.png
new file mode 100644
index 00000000..fe636c62
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/closed_cubicbeziercurve.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/closed_freehand.png b/IconThemes/kdeclassic/22x22/actions/closed_freehand.png
new file mode 100644
index 00000000..854a9b5f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/closed_freehand.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/closed_polyline.png b/IconThemes/kdeclassic/22x22/actions/closed_polyline.png
new file mode 100644
index 00000000..38324955
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/closed_polyline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/closed_quadricbeziercurve.png b/IconThemes/kdeclassic/22x22/actions/closed_quadricbeziercurve.png
new file mode 100644
index 00000000..80414cfd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/closed_quadricbeziercurve.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/color_fill.png b/IconThemes/kdeclassic/22x22/actions/color_fill.png
new file mode 100644
index 00000000..0a3219f2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/color_fill.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/color_line.png b/IconThemes/kdeclassic/22x22/actions/color_line.png
new file mode 100644
index 00000000..d4f9bb16
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/color_line.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/colorize.png b/IconThemes/kdeclassic/22x22/actions/colorize.png
new file mode 100644
index 00000000..db8e80a2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/colorman.png b/IconThemes/kdeclassic/22x22/actions/colorman.png
new file mode 100644
index 00000000..92251add
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/colorman.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/colorpicker.png b/IconThemes/kdeclassic/22x22/actions/colorpicker.png
new file mode 100644
index 00000000..faa5080f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/colorpicker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/colout.png b/IconThemes/kdeclassic/22x22/actions/colout.png
new file mode 100644
index 00000000..d9d5ed0d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/colout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/comment.png b/IconThemes/kdeclassic/22x22/actions/comment.png
new file mode 100644
index 00000000..02535c7c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/comment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/configure.png b/IconThemes/kdeclassic/22x22/actions/configure.png
new file mode 100644
index 00000000..8182fd6c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/configure.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/configure_file.png b/IconThemes/kdeclassic/22x22/actions/configure_file.png
new file mode 100644
index 00000000..c1aaad6e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/configure_file.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/connect_creating.png b/IconThemes/kdeclassic/22x22/actions/connect_creating.png
new file mode 100644
index 00000000..4083df1f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/connect_established.png b/IconThemes/kdeclassic/22x22/actions/connect_established.png
new file mode 100644
index 00000000..4786c3b2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/connect_no.png b/IconThemes/kdeclassic/22x22/actions/connect_no.png
new file mode 100644
index 00000000..62536c18
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/contents.png b/IconThemes/kdeclassic/22x22/actions/contents.png
new file mode 100644
index 00000000..77fa3524
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/contents.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/contents2.png b/IconThemes/kdeclassic/22x22/actions/contents2.png
new file mode 100644
index 00000000..c8221e0b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/contents2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/contexthelp.png b/IconThemes/kdeclassic/22x22/actions/contexthelp.png
new file mode 100644
index 00000000..dba213a3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/control.png b/IconThemes/kdeclassic/22x22/actions/control.png
new file mode 100644
index 00000000..f5b6313d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/control.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/crop.png b/IconThemes/kdeclassic/22x22/actions/crop.png
new file mode 100644
index 00000000..95b37f87
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/crop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cssvalidator.png b/IconThemes/kdeclassic/22x22/actions/cssvalidator.png
new file mode 100644
index 00000000..190beb2b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cssvalidator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/cubicbeziercurve.png b/IconThemes/kdeclassic/22x22/actions/cubicbeziercurve.png
new file mode 100644
index 00000000..8bcc5b72
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/cubicbeziercurve.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/data.png b/IconThemes/kdeclassic/22x22/actions/data.png
new file mode 100644
index 00000000..bb6371f0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/data.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgmemview.png b/IconThemes/kdeclassic/22x22/actions/dbgmemview.png
new file mode 100644
index 00000000..e2a2738f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgmemview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgnext.png b/IconThemes/kdeclassic/22x22/actions/dbgnext.png
new file mode 100644
index 00000000..ee94f585
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgnext.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgnextinst.png b/IconThemes/kdeclassic/22x22/actions/dbgnextinst.png
new file mode 100644
index 00000000..dd65a348
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgnextinst.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgparam.png b/IconThemes/kdeclassic/22x22/actions/dbgparam.png
new file mode 100644
index 00000000..ed11c6d5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgparam.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgrestart.png b/IconThemes/kdeclassic/22x22/actions/dbgrestart.png
new file mode 100644
index 00000000..b29789a1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgrestart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgrun.png b/IconThemes/kdeclassic/22x22/actions/dbgrun.png
new file mode 100644
index 00000000..32f4badc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgrun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgrunto.png b/IconThemes/kdeclassic/22x22/actions/dbgrunto.png
new file mode 100644
index 00000000..861c549a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgrunto.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgstep.png b/IconThemes/kdeclassic/22x22/actions/dbgstep.png
new file mode 100644
index 00000000..c4a76043
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgstep.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgstepinst.png b/IconThemes/kdeclassic/22x22/actions/dbgstepinst.png
new file mode 100644
index 00000000..ae84a9f4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgstepinst.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgstepout.png b/IconThemes/kdeclassic/22x22/actions/dbgstepout.png
new file mode 100644
index 00000000..caaf806c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgstepout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dbgvar.png b/IconThemes/kdeclassic/22x22/actions/dbgvar.png
new file mode 100644
index 00000000..496acfa9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dbgvar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/debugger.png b/IconThemes/kdeclassic/22x22/actions/debugger.png
new file mode 100644
index 00000000..3277f34e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/debugger.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/decrypted.png b/IconThemes/kdeclassic/22x22/actions/decrypted.png
new file mode 100644
index 00000000..534aa66b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/define_clip.png b/IconThemes/kdeclassic/22x22/actions/define_clip.png
new file mode 100644
index 00000000..cdfdd297
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete.png b/IconThemes/kdeclassic/22x22/actions/delete.png
new file mode 100644
index 00000000..34680843
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete_group.png b/IconThemes/kdeclassic/22x22/actions/delete_group.png
new file mode 100644
index 00000000..41984a99
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete_group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete_table.png b/IconThemes/kdeclassic/22x22/actions/delete_table.png
new file mode 100644
index 00000000..231c2df0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete_table.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete_table_col.png b/IconThemes/kdeclassic/22x22/actions/delete_table_col.png
new file mode 100644
index 00000000..076e8c9a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete_table_row.png b/IconThemes/kdeclassic/22x22/actions/delete_table_row.png
new file mode 100644
index 00000000..8953710b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delete_user.png b/IconThemes/kdeclassic/22x22/actions/delete_user.png
new file mode 100644
index 00000000..73fb036c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delete_user.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/deletecell.png b/IconThemes/kdeclassic/22x22/actions/deletecell.png
new file mode 100644
index 00000000..6a433f44
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/deletecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delquestion.png b/IconThemes/kdeclassic/22x22/actions/delquestion.png
new file mode 100644
index 00000000..27464b2e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/delslide.png b/IconThemes/kdeclassic/22x22/actions/delslide.png
new file mode 100644
index 00000000..7ff6cc50
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/delslide.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/depth-.png b/IconThemes/kdeclassic/22x22/actions/depth-.png
new file mode 100644
index 00000000..831b2a77
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/depth-.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/dissociatecell.png b/IconThemes/kdeclassic/22x22/actions/dissociatecell.png
new file mode 100644
index 00000000..4b85348a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/dissociatecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/domtreeviewer.png b/IconThemes/kdeclassic/22x22/actions/domtreeviewer.png
new file mode 100644
index 00000000..e0a7ee15
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/domtreeviewer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/done.png b/IconThemes/kdeclassic/22x22/actions/done.png
new file mode 100644
index 00000000..e1428d9a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/done.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/down.png b/IconThemes/kdeclassic/22x22/actions/down.png
new file mode 100644
index 00000000..76c0671a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/down.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit.png b/IconThemes/kdeclassic/22x22/actions/edit.png
new file mode 100644
index 00000000..22b4ecb7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_add.png b/IconThemes/kdeclassic/22x22/actions/edit_add.png
new file mode 100644
index 00000000..c46aed2b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_add.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_group.png b/IconThemes/kdeclassic/22x22/actions/edit_group.png
new file mode 100644
index 00000000..490404c9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_picture.png b/IconThemes/kdeclassic/22x22/actions/edit_picture.png
new file mode 100644
index 00000000..e9c5dcbf
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_picture.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_pie.png b/IconThemes/kdeclassic/22x22/actions/edit_pie.png
new file mode 100644
index 00000000..040fb478
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_pie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_polygon.png b/IconThemes/kdeclassic/22x22/actions/edit_polygon.png
new file mode 100644
index 00000000..8f9889b1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_polygon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_remove.png b/IconThemes/kdeclassic/22x22/actions/edit_remove.png
new file mode 100644
index 00000000..1a2f87c5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edit_user.png b/IconThemes/kdeclassic/22x22/actions/edit_user.png
new file mode 100644
index 00000000..5c9e7278
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edit_user.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editclear.png b/IconThemes/kdeclassic/22x22/actions/editclear.png
new file mode 100644
index 00000000..1ae690d8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editclear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editcopy.png b/IconThemes/kdeclassic/22x22/actions/editcopy.png
new file mode 100644
index 00000000..a3fc3170
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editcut.png b/IconThemes/kdeclassic/22x22/actions/editcut.png
new file mode 100644
index 00000000..d2f07a41
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editdelete.png b/IconThemes/kdeclassic/22x22/actions/editdelete.png
new file mode 100644
index 00000000..8cfe1a08
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editpaste.png b/IconThemes/kdeclassic/22x22/actions/editpaste.png
new file mode 100644
index 00000000..28878cf6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editquestion.png b/IconThemes/kdeclassic/22x22/actions/editquestion.png
new file mode 100644
index 00000000..c52a2e11
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editquestion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/editshred.png b/IconThemes/kdeclassic/22x22/actions/editshred.png
new file mode 100644
index 00000000..2fdb7023
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/editshred.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edittool.png b/IconThemes/kdeclassic/22x22/actions/edittool.png
new file mode 100644
index 00000000..b7002b92
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edittool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/edittrash.png b/IconThemes/kdeclassic/22x22/actions/edittrash.png
new file mode 100644
index 00000000..dd621d6d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/effect.png b/IconThemes/kdeclassic/22x22/actions/effect.png
new file mode 100644
index 00000000..96e3061c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/effect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/emptybox-mask.png b/IconThemes/kdeclassic/22x22/actions/emptybox-mask.png
new file mode 100644
index 00000000..df26e748
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/emptybox-mask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/emptybox.png b/IconThemes/kdeclassic/22x22/actions/emptybox.png
new file mode 100644
index 00000000..e8654535
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/emptybox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/encrypted.png b/IconThemes/kdeclassic/22x22/actions/encrypted.png
new file mode 100644
index 00000000..e062fc9b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/enumList.png b/IconThemes/kdeclassic/22x22/actions/enumList.png
new file mode 100644
index 00000000..cbaede92
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/enumList.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/eraser.png b/IconThemes/kdeclassic/22x22/actions/eraser.png
new file mode 100644
index 00000000..33775463
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/eraser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/exec.png b/IconThemes/kdeclassic/22x22/actions/exec.png
new file mode 100644
index 00000000..4082bf10
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/exit.png b/IconThemes/kdeclassic/22x22/actions/exit.png
new file mode 100644
index 00000000..119e5ef7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/exit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fileclose.png b/IconThemes/kdeclassic/22x22/actions/fileclose.png
new file mode 100644
index 00000000..b2d3911c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fileexport.png b/IconThemes/kdeclassic/22x22/actions/fileexport.png
new file mode 100644
index 00000000..f5b348dd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fileexport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filefind.png b/IconThemes/kdeclassic/22x22/actions/filefind.png
new file mode 100644
index 00000000..b275942d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fileimport.png b/IconThemes/kdeclassic/22x22/actions/fileimport.png
new file mode 100644
index 00000000..fbb9a506
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fileimport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filenew.png b/IconThemes/kdeclassic/22x22/actions/filenew.png
new file mode 100644
index 00000000..cba0053d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fileopen.png b/IconThemes/kdeclassic/22x22/actions/fileopen.png
new file mode 100644
index 00000000..f92ef901
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fileprint.png b/IconThemes/kdeclassic/22x22/actions/fileprint.png
new file mode 100644
index 00000000..ffce58ce
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filequickprint.png b/IconThemes/kdeclassic/22x22/actions/filequickprint.png
new file mode 100644
index 00000000..5b95239d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filesave.png b/IconThemes/kdeclassic/22x22/actions/filesave.png
new file mode 100644
index 00000000..77d161a1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filesaveas.png b/IconThemes/kdeclassic/22x22/actions/filesaveas.png
new file mode 100644
index 00000000..395252f1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fill.png b/IconThemes/kdeclassic/22x22/actions/fill.png
new file mode 100644
index 00000000..4b9115fe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fill.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/filter.png b/IconThemes/kdeclassic/22x22/actions/filter.png
new file mode 100644
index 00000000..80187fc9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/filter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/find.png b/IconThemes/kdeclassic/22x22/actions/find.png
new file mode 100644
index 00000000..fc4e8b34
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/finish.png b/IconThemes/kdeclassic/22x22/actions/finish.png
new file mode 100644
index 00000000..a0291661
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/finish.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/first_letter_upper.png b/IconThemes/kdeclassic/22x22/actions/first_letter_upper.png
new file mode 100644
index 00000000..47f9b484
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/first_letter_upper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/folder.png b/IconThemes/kdeclassic/22x22/actions/folder.png
new file mode 100644
index 00000000..2bf5c928
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/folder_new.png b/IconThemes/kdeclassic/22x22/actions/folder_new.png
new file mode 100644
index 00000000..4f620051
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fontsizedown.png b/IconThemes/kdeclassic/22x22/actions/fontsizedown.png
new file mode 100644
index 00000000..ca8e9ab4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fontsizedown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fontsizeup.png b/IconThemes/kdeclassic/22x22/actions/fontsizeup.png
new file mode 100644
index 00000000..21c082a7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fontsizeup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/fork.png b/IconThemes/kdeclassic/22x22/actions/fork.png
new file mode 100644
index 00000000..5f402c4b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/fork.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/format_decreaseindent.png b/IconThemes/kdeclassic/22x22/actions/format_decreaseindent.png
new file mode 100644
index 00000000..5fe37e59
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/format_decreaseindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/format_increaseindent.png b/IconThemes/kdeclassic/22x22/actions/format_increaseindent.png
new file mode 100644
index 00000000..13947cbf
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/format_increaseindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/forward.png b/IconThemes/kdeclassic/22x22/actions/forward.png
new file mode 100644
index 00000000..0c79e3e2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frac.png b/IconThemes/kdeclassic/22x22/actions/frac.png
new file mode 100644
index 00000000..57c20597
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_chart.png b/IconThemes/kdeclassic/22x22/actions/frame_chart.png
new file mode 100644
index 00000000..2cdda988
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_chart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_edit.png b/IconThemes/kdeclassic/22x22/actions/frame_edit.png
new file mode 100644
index 00000000..8938c2c5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_field.png b/IconThemes/kdeclassic/22x22/actions/frame_field.png
new file mode 100644
index 00000000..b457850c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_field.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_formula.png b/IconThemes/kdeclassic/22x22/actions/frame_formula.png
new file mode 100644
index 00000000..e446b9e4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_formula.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_image.png b/IconThemes/kdeclassic/22x22/actions/frame_image.png
new file mode 100644
index 00000000..f248bdc7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_query.png b/IconThemes/kdeclassic/22x22/actions/frame_query.png
new file mode 100644
index 00000000..a07fd7cb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_query.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_spreadsheet.png b/IconThemes/kdeclassic/22x22/actions/frame_spreadsheet.png
new file mode 100644
index 00000000..ba8d4260
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_spreadsheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frame_text.png b/IconThemes/kdeclassic/22x22/actions/frame_text.png
new file mode 100644
index 00000000..9a66e65b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frame_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/frameprint.png b/IconThemes/kdeclassic/22x22/actions/frameprint.png
new file mode 100644
index 00000000..bb3e44e9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/freehand.png b/IconThemes/kdeclassic/22x22/actions/freehand.png
new file mode 100644
index 00000000..426f57d1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/freehand.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/funct.png b/IconThemes/kdeclassic/22x22/actions/funct.png
new file mode 100644
index 00000000..e5f55da0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/funct.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ganttSelect.png b/IconThemes/kdeclassic/22x22/actions/ganttSelect.png
new file mode 100644
index 00000000..7b59068a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ganttSelect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ganttSelecttask.png b/IconThemes/kdeclassic/22x22/actions/ganttSelecttask.png
new file mode 100644
index 00000000..da05ab12
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ganttSelecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ganttUnselecttask.png b/IconThemes/kdeclassic/22x22/actions/ganttUnselecttask.png
new file mode 100644
index 00000000..733af7e3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ganttUnselecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/gear.png b/IconThemes/kdeclassic/22x22/actions/gear.png
new file mode 100644
index 00000000..129b4c9a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/gear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/gohome.png b/IconThemes/kdeclassic/22x22/actions/gohome.png
new file mode 100644
index 00000000..77ea398c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/goto.png b/IconThemes/kdeclassic/22x22/actions/goto.png
new file mode 100644
index 00000000..a8fe739d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/goto.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/gradientdlg.png b/IconThemes/kdeclassic/22x22/actions/gradientdlg.png
new file mode 100644
index 00000000..8d391fa3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/gradientdlg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/grep.png b/IconThemes/kdeclassic/22x22/actions/grep.png
new file mode 100644
index 00000000..97a4df27
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/grep.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/group.png b/IconThemes/kdeclassic/22x22/actions/group.png
new file mode 100644
index 00000000..df135a3a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/group.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/halfencrypted.png b/IconThemes/kdeclassic/22x22/actions/halfencrypted.png
new file mode 100644
index 00000000..80edbeef
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/help.png b/IconThemes/kdeclassic/22x22/actions/help.png
new file mode 100644
index 00000000..3225cc87
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/help.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/hide_table_column.png b/IconThemes/kdeclassic/22x22/actions/hide_table_column.png
new file mode 100644
index 00000000..acac9184
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/hide_table_column.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/hide_table_row.png b/IconThemes/kdeclassic/22x22/actions/hide_table_row.png
new file mode 100644
index 00000000..6a376374
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/hide_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/higher.png b/IconThemes/kdeclassic/22x22/actions/higher.png
new file mode 100644
index 00000000..6a6a45ce
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/higher.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/hilo.png b/IconThemes/kdeclassic/22x22/actions/hilo.png
new file mode 100644
index 00000000..b6e13670
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/hilo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/history.png b/IconThemes/kdeclassic/22x22/actions/history.png
new file mode 100644
index 00000000..932921c1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/history.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/htmlvalidator.png b/IconThemes/kdeclassic/22x22/actions/htmlvalidator.png
new file mode 100644
index 00000000..ff67d1ea
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/htmlvalidator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/id.png b/IconThemes/kdeclassic/22x22/actions/id.png
new file mode 100644
index 00000000..d95eaa3e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/id.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/idf.png b/IconThemes/kdeclassic/22x22/actions/idf.png
new file mode 100644
index 00000000..97c33647
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/idf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/idh.png b/IconThemes/kdeclassic/22x22/actions/idh.png
new file mode 100644
index 00000000..6877a284
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/idh.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/imagegallery.png b/IconThemes/kdeclassic/22x22/actions/imagegallery.png
new file mode 100644
index 00000000..45a92a31
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/imagegallery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/images_display.png b/IconThemes/kdeclassic/22x22/actions/images_display.png
new file mode 100644
index 00000000..96ad00c4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/images_display.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/inline_image.png b/IconThemes/kdeclassic/22x22/actions/inline_image.png
new file mode 100644
index 00000000..ed1b1c12
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/inline_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/inline_table.png b/IconThemes/kdeclassic/22x22/actions/inline_table.png
new file mode 100644
index 00000000..8b40e660
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/inline_table.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/inscol.png b/IconThemes/kdeclassic/22x22/actions/inscol.png
new file mode 100644
index 00000000..0c86f265
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/inscol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/insert_table_col.png b/IconThemes/kdeclassic/22x22/actions/insert_table_col.png
new file mode 100644
index 00000000..41423c3a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/insert_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/insert_table_row.png b/IconThemes/kdeclassic/22x22/actions/insert_table_row.png
new file mode 100644
index 00000000..5eff7ada
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/insert_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/insertcell.png b/IconThemes/kdeclassic/22x22/actions/insertcell.png
new file mode 100644
index 00000000..a65af18c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/insertcell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/insertcellcopy.png b/IconThemes/kdeclassic/22x22/actions/insertcellcopy.png
new file mode 100644
index 00000000..cc5ece88
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/insertcellcopy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/inserttable.png b/IconThemes/kdeclassic/22x22/actions/inserttable.png
new file mode 100644
index 00000000..89a62cb9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/inserttable.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/insrow.png b/IconThemes/kdeclassic/22x22/actions/insrow.png
new file mode 100644
index 00000000..1fd4bb1b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/insrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/int.png b/IconThemes/kdeclassic/22x22/actions/int.png
new file mode 100644
index 00000000..9abfad7b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ipf.png b/IconThemes/kdeclassic/22x22/actions/ipf.png
new file mode 100644
index 00000000..65979152
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ipf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/iph.png b/IconThemes/kdeclassic/22x22/actions/iph.png
new file mode 100644
index 00000000..2bf06fe9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/iph.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/irf.png b/IconThemes/kdeclassic/22x22/actions/irf.png
new file mode 100644
index 00000000..84e419b5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/irf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/irh.png b/IconThemes/kdeclassic/22x22/actions/irh.png
new file mode 100644
index 00000000..7bfb38f5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/irh.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/jail_pay.png b/IconThemes/kdeclassic/22x22/actions/jail_pay.png
new file mode 100644
index 00000000..d45caec4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/jail_pay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kaboodleloop.png b/IconThemes/kdeclassic/22x22/actions/kaboodleloop.png
new file mode 100644
index 00000000..d18f40a5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kaboodleloop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kalarm.png b/IconThemes/kdeclassic/22x22/actions/kalarm.png
new file mode 100644
index 00000000..a880e8fa
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kalarm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kalarm_disabled.png b/IconThemes/kdeclassic/22x22/actions/kalarm_disabled.png
new file mode 100644
index 00000000..f4d80a04
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kalarm_disabled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kalarmdgui.png b/IconThemes/kdeclassic/22x22/actions/kalarmdgui.png
new file mode 100644
index 00000000..15eacaf4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kalarmdgui.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kalarmdgui_disabled.png b/IconThemes/kdeclassic/22x22/actions/kalarmdgui_disabled.png
new file mode 100644
index 00000000..4b19f9ea
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kalarmdgui_disabled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kanjidic.png b/IconThemes/kdeclassic/22x22/actions/kanjidic.png
new file mode 100644
index 00000000..e0a579d2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kanjidic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kde.png b/IconThemes/kdeclassic/22x22/actions/kde.png
new file mode 100644
index 00000000..03fbee20
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kde.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_addprinter.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_addprinter.png
new file mode 100644
index 00000000..e339761c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_addprinter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_addpseudo.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_addpseudo.png
new file mode 100644
index 00000000..ae298436
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_addpseudo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_configmgr.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_configmgr.png
new file mode 100644
index 00000000..b8767451
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_configmgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_configsrv.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_configsrv.png
new file mode 100644
index 00000000..20778db5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_configsrv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_defaulthard.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_defaulthard.png
new file mode 100644
index 00000000..3762942a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_defaulthard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_defaultsoft.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_defaultsoft.png
new file mode 100644
index 00000000..69472c0a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_defaultsoft.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_enableprinter.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_enableprinter.png
new file mode 100644
index 00000000..f5b8c69f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_enableprinter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_printer.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_printer.png
new file mode 100644
index 00000000..4fbb1cdb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_printer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_printer_infos.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_printer_infos.png
new file mode 100644
index 00000000..e56b5be9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_printer_infos.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_printstate.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_printstate.png
new file mode 100644
index 00000000..0673f304
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_printstate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_queuestate.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_queuestate.png
new file mode 100644
index 00000000..53c7de01
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_queuestate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_report.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_report.png
new file mode 100644
index 00000000..d6cbb89e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_report.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_restartsrv.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_restartsrv.png
new file mode 100644
index 00000000..c9532304
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_restartsrv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_stopprinter.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_stopprinter.png
new file mode 100644
index 00000000..42485590
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_stopprinter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_testprinter.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_testprinter.png
new file mode 100644
index 00000000..be72e924
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_testprinter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kdeprint_uploadsmb.png b/IconThemes/kdeclassic/22x22/actions/kdeprint_uploadsmb.png
new file mode 100644
index 00000000..f7daf440
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kdeprint_uploadsmb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/key_enter.png b/IconThemes/kdeclassic/22x22/actions/key_enter.png
new file mode 100644
index 00000000..6ff707e6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/key_enter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/khtml_kget.png b/IconThemes/kdeclassic/22x22/actions/khtml_kget.png
new file mode 100644
index 00000000..cd432b7e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/khtml_kget.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/klipper.png b/IconThemes/kdeclassic/22x22/actions/klipper.png
new file mode 100644
index 00000000..629eca81
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/klipper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/krec_record.png b/IconThemes/kdeclassic/22x22/actions/krec_record.png
new file mode 100644
index 00000000..6adff511
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/krec_record.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/kwsearch.png b/IconThemes/kdeclassic/22x22/actions/kwsearch.png
new file mode 100644
index 00000000..d1b02654
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/kwsearch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/launch.png b/IconThemes/kdeclassic/22x22/actions/launch.png
new file mode 100644
index 00000000..5f402c4b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/launch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/leftjust.png b/IconThemes/kdeclassic/22x22/actions/leftjust.png
new file mode 100644
index 00000000..8f17d4ea
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/leftjust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line.png b/IconThemes/kdeclassic/22x22/actions/line.png
new file mode 100644
index 00000000..e7487ab8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_arrow_begin.png b/IconThemes/kdeclassic/22x22/actions/line_arrow_begin.png
new file mode 100644
index 00000000..3c46969b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_arrow_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_arrow_end.png b/IconThemes/kdeclassic/22x22/actions/line_arrow_end.png
new file mode 100644
index 00000000..07fa2b80
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_arrow_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_begin.png b/IconThemes/kdeclassic/22x22/actions/line_begin.png
new file mode 100644
index 00000000..5ac2e10d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_circle_begin.png b/IconThemes/kdeclassic/22x22/actions/line_circle_begin.png
new file mode 100644
index 00000000..2bf23ff6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_circle_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_circle_end.png b/IconThemes/kdeclassic/22x22/actions/line_circle_end.png
new file mode 100644
index 00000000..74716914
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_circle_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_dimension_line_begin.png b/IconThemes/kdeclassic/22x22/actions/line_dimension_line_begin.png
new file mode 100644
index 00000000..0f05cc47
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_dimension_line_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_dimension_line_end.png b/IconThemes/kdeclassic/22x22/actions/line_dimension_line_end.png
new file mode 100644
index 00000000..fe5f1d8c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_dimension_line_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_double_arrow_begin.png b/IconThemes/kdeclassic/22x22/actions/line_double_arrow_begin.png
new file mode 100644
index 00000000..ae361f85
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_double_arrow_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_double_arrow_end.png b/IconThemes/kdeclassic/22x22/actions/line_double_arrow_end.png
new file mode 100644
index 00000000..0dd3bf53
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_double_arrow_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_begin.png b/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_begin.png
new file mode 100644
index 00000000..3b1d1645
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_end.png b/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_end.png
new file mode 100644
index 00000000..725f6191
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_double_line_arrow_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_end.png b/IconThemes/kdeclassic/22x22/actions/line_end.png
new file mode 100644
index 00000000..49afc702
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_line_arrow_begin.png b/IconThemes/kdeclassic/22x22/actions/line_line_arrow_begin.png
new file mode 100644
index 00000000..3c39d966
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_line_arrow_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_line_arrow_end.png b/IconThemes/kdeclassic/22x22/actions/line_line_arrow_end.png
new file mode 100644
index 00000000..bb7af594
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_line_arrow_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_normal_begin.png b/IconThemes/kdeclassic/22x22/actions/line_normal_begin.png
new file mode 100644
index 00000000..0423277f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_normal_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_normal_end.png b/IconThemes/kdeclassic/22x22/actions/line_normal_end.png
new file mode 100644
index 00000000..0423277f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_normal_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_rect_begin.png b/IconThemes/kdeclassic/22x22/actions/line_rect_begin.png
new file mode 100644
index 00000000..e9727a7c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_rect_begin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/line_rect_end.png b/IconThemes/kdeclassic/22x22/actions/line_rect_end.png
new file mode 100644
index 00000000..1b1eb142
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/line_rect_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lined1.png b/IconThemes/kdeclassic/22x22/actions/lined1.png
new file mode 100644
index 00000000..83c8cf65
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lined1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lined2.png b/IconThemes/kdeclassic/22x22/actions/lined2.png
new file mode 100644
index 00000000..90d3f226
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lined2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lineh.png b/IconThemes/kdeclassic/22x22/actions/lineh.png
new file mode 100644
index 00000000..3bb01881
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lineh.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lines3d.png b/IconThemes/kdeclassic/22x22/actions/lines3d.png
new file mode 100644
index 00000000..79d9666c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lines3d.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/linev.png b/IconThemes/kdeclassic/22x22/actions/linev.png
new file mode 100644
index 00000000..b942b579
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/linev.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/list.png b/IconThemes/kdeclassic/22x22/actions/list.png
new file mode 100644
index 00000000..1e05a1e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/locationbar_erase.png b/IconThemes/kdeclassic/22x22/actions/locationbar_erase.png
new file mode 100644
index 00000000..716d8136
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lock.png b/IconThemes/kdeclassic/22x22/actions/lock.png
new file mode 100644
index 00000000..b4904697
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lsub.png b/IconThemes/kdeclassic/22x22/actions/lsub.png
new file mode 100644
index 00000000..f22d8158
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/lsup.png b/IconThemes/kdeclassic/22x22/actions/lsup.png
new file mode 100644
index 00000000..2fa6f5fd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_find.png b/IconThemes/kdeclassic/22x22/actions/mail_find.png
new file mode 100644
index 00000000..19bb7cbe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_forward.png b/IconThemes/kdeclassic/22x22/actions/mail_forward.png
new file mode 100644
index 00000000..8725e0e6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_generic.png b/IconThemes/kdeclassic/22x22/actions/mail_generic.png
new file mode 100644
index 00000000..3933ec3a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_get.png b/IconThemes/kdeclassic/22x22/actions/mail_get.png
new file mode 100644
index 00000000..3990613a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_new.png b/IconThemes/kdeclassic/22x22/actions/mail_new.png
new file mode 100644
index 00000000..1711cb41
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_post_to.png b/IconThemes/kdeclassic/22x22/actions/mail_post_to.png
new file mode 100644
index 00000000..cba0053d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_post_to.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_reply.png b/IconThemes/kdeclassic/22x22/actions/mail_reply.png
new file mode 100644
index 00000000..cf9040ac
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_replyall.png b/IconThemes/kdeclassic/22x22/actions/mail_replyall.png
new file mode 100644
index 00000000..6ff09f7f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_replylist.png b/IconThemes/kdeclassic/22x22/actions/mail_replylist.png
new file mode 100644
index 00000000..3e63486c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mail_send.png b/IconThemes/kdeclassic/22x22/actions/mail_send.png
new file mode 100644
index 00000000..ef91c19d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/make_kdevelop.png b/IconThemes/kdeclassic/22x22/actions/make_kdevelop.png
new file mode 100644
index 00000000..f9abb779
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/make_kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_abs.png b/IconThemes/kdeclassic/22x22/actions/math_abs.png
new file mode 100644
index 00000000..ef46ab08
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_brace.png b/IconThemes/kdeclassic/22x22/actions/math_brace.png
new file mode 100644
index 00000000..89eb0b8d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_brace.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_brackets.png b/IconThemes/kdeclassic/22x22/actions/math_brackets.png
new file mode 100644
index 00000000..fa613e0a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_frac.png b/IconThemes/kdeclassic/22x22/actions/math_frac.png
new file mode 100644
index 00000000..57c20597
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_int.png b/IconThemes/kdeclassic/22x22/actions/math_int.png
new file mode 100644
index 00000000..9abfad7b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_lsub.png b/IconThemes/kdeclassic/22x22/actions/math_lsub.png
new file mode 100644
index 00000000..4fb9ee09
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_lsup.png b/IconThemes/kdeclassic/22x22/actions/math_lsup.png
new file mode 100644
index 00000000..169ce809
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_matrix.png b/IconThemes/kdeclassic/22x22/actions/math_matrix.png
new file mode 100644
index 00000000..396e728b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_onetwomatrix.png b/IconThemes/kdeclassic/22x22/actions/math_onetwomatrix.png
new file mode 100644
index 00000000..bc7282ae
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_paren.png b/IconThemes/kdeclassic/22x22/actions/math_paren.png
new file mode 100644
index 00000000..943d1486
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_prod.png b/IconThemes/kdeclassic/22x22/actions/math_prod.png
new file mode 100644
index 00000000..fd218a68
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_rsub.png b/IconThemes/kdeclassic/22x22/actions/math_rsub.png
new file mode 100644
index 00000000..b1461a98
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_rsup.png b/IconThemes/kdeclassic/22x22/actions/math_rsup.png
new file mode 100644
index 00000000..c7a72532
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_sqrt.png b/IconThemes/kdeclassic/22x22/actions/math_sqrt.png
new file mode 100644
index 00000000..733e8e58
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/math_sum.png b/IconThemes/kdeclassic/22x22/actions/math_sum.png
new file mode 100644
index 00000000..7223fd76
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/math_sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/matrix.png b/IconThemes/kdeclassic/22x22/actions/matrix.png
new file mode 100644
index 00000000..396e728b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/menu_new.png b/IconThemes/kdeclassic/22x22/actions/menu_new.png
new file mode 100644
index 00000000..f9739886
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/menu_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mergecell.png b/IconThemes/kdeclassic/22x22/actions/mergecell.png
new file mode 100644
index 00000000..db09e42d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mergecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/message_reply.png b/IconThemes/kdeclassic/22x22/actions/message_reply.png
new file mode 100644
index 00000000..2a7e7dc8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/message_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/middle.png b/IconThemes/kdeclassic/22x22/actions/middle.png
new file mode 100644
index 00000000..2169740d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/middle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_autoform.png b/IconThemes/kdeclassic/22x22/actions/mini_autoform.png
new file mode 100644
index 00000000..d1c8cd2a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_autoform.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_circle.png b/IconThemes/kdeclassic/22x22/actions/mini_circle.png
new file mode 100644
index 00000000..04ade870
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_circle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_clipart.png b/IconThemes/kdeclassic/22x22/actions/mini_clipart.png
new file mode 100644
index 00000000..75d36abc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_clipart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_line.png b/IconThemes/kdeclassic/22x22/actions/mini_line.png
new file mode 100644
index 00000000..83c8cf65
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_line.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_pie.png b/IconThemes/kdeclassic/22x22/actions/mini_pie.png
new file mode 100644
index 00000000..8a7b156a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_pie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_polygon.png b/IconThemes/kdeclassic/22x22/actions/mini_polygon.png
new file mode 100644
index 00000000..81fe786e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_polygon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/mini_rect.png b/IconThemes/kdeclassic/22x22/actions/mini_rect.png
new file mode 100644
index 00000000..2b4f5336
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/mini_rect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/misc.png b/IconThemes/kdeclassic/22x22/actions/misc.png
new file mode 100644
index 00000000..bc79fc77
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/misc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/money.png b/IconThemes/kdeclassic/22x22/actions/money.png
new file mode 100644
index 00000000..7af51010
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/money.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/month.png b/IconThemes/kdeclassic/22x22/actions/month.png
new file mode 100644
index 00000000..d2c75a04
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/month.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/move.png b/IconThemes/kdeclassic/22x22/actions/move.png
new file mode 100644
index 00000000..b99d3e47
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/move.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/multirow.png b/IconThemes/kdeclassic/22x22/actions/multirow.png
new file mode 100644
index 00000000..24cca726
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/multirow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_32ndnote.png b/IconThemes/kdeclassic/22x22/actions/music_32ndnote.png
new file mode 100644
index 00000000..f52cdeb6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_32ndnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_cleficon.png b/IconThemes/kdeclassic/22x22/actions/music_cleficon.png
new file mode 100644
index 00000000..0f29f352
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_cleficon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_cross.png b/IconThemes/kdeclassic/22x22/actions/music_cross.png
new file mode 100644
index 00000000..43bca1e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_cross.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_dottednote.png b/IconThemes/kdeclassic/22x22/actions/music_dottednote.png
new file mode 100644
index 00000000..fda44413
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_dottednote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_eightnote.png b/IconThemes/kdeclassic/22x22/actions/music_eightnote.png
new file mode 100644
index 00000000..68d11ccd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_eightnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_fermatenote.png b/IconThemes/kdeclassic/22x22/actions/music_fermatenote.png
new file mode 100644
index 00000000..b2d5dcc8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_fermatenote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_flat.png b/IconThemes/kdeclassic/22x22/actions/music_flat.png
new file mode 100644
index 00000000..0231c7f3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_flat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_fullnote.png b/IconThemes/kdeclassic/22x22/actions/music_fullnote.png
new file mode 100644
index 00000000..1bb36e9c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_fullnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_halfnote.png b/IconThemes/kdeclassic/22x22/actions/music_halfnote.png
new file mode 100644
index 00000000..3498fe2a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_halfnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_natur.png b/IconThemes/kdeclassic/22x22/actions/music_natur.png
new file mode 100644
index 00000000..7eebb5f8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_natur.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_quarternote.png b/IconThemes/kdeclassic/22x22/actions/music_quarternote.png
new file mode 100644
index 00000000..c379d8ac
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_quarternote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/music_sixteenthnote.png b/IconThemes/kdeclassic/22x22/actions/music_sixteenthnote.png
new file mode 100644
index 00000000..7e5a6e81
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/music_sixteenthnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/newPoint.png b/IconThemes/kdeclassic/22x22/actions/newPoint.png
new file mode 100644
index 00000000..78885180
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/newPoint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/newrecurevent.png b/IconThemes/kdeclassic/22x22/actions/newrecurevent.png
new file mode 100644
index 00000000..c262144a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/newrecurevent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/news_subscribe.png b/IconThemes/kdeclassic/22x22/actions/news_subscribe.png
new file mode 100644
index 00000000..e65602b1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/newslide.png b/IconThemes/kdeclassic/22x22/actions/newslide.png
new file mode 100644
index 00000000..7193746e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/newslide.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/newtodo.png b/IconThemes/kdeclassic/22x22/actions/newtodo.png
new file mode 100644
index 00000000..41a9b4df
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/newtodo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/newwidget.png b/IconThemes/kdeclassic/22x22/actions/newwidget.png
new file mode 100644
index 00000000..16b30640
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/newwidget.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/next.png b/IconThemes/kdeclassic/22x22/actions/next.png
new file mode 100644
index 00000000..38fc8335
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/next.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunback.png b/IconThemes/kdeclassic/22x22/actions/noatunback.png
new file mode 100644
index 00000000..698f22df
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunfback.png b/IconThemes/kdeclassic/22x22/actions/noatunfback.png
new file mode 100644
index 00000000..4634a633
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunfback.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunfforward.png b/IconThemes/kdeclassic/22x22/actions/noatunfforward.png
new file mode 100644
index 00000000..2df91709
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunfforward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunforward.png b/IconThemes/kdeclassic/22x22/actions/noatunforward.png
new file mode 100644
index 00000000..d6eed5f0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunloopnone.png b/IconThemes/kdeclassic/22x22/actions/noatunloopnone.png
new file mode 100644
index 00000000..d44109c3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunloopnone.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunloopplaylist.png b/IconThemes/kdeclassic/22x22/actions/noatunloopplaylist.png
new file mode 100644
index 00000000..142bfe5d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunloopplaylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunlooprandom.png b/IconThemes/kdeclassic/22x22/actions/noatunlooprandom.png
new file mode 100644
index 00000000..59916d74
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunlooprandom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunloopsong.png b/IconThemes/kdeclassic/22x22/actions/noatunloopsong.png
new file mode 100644
index 00000000..d18f40a5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunloopsong.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunpause.png b/IconThemes/kdeclassic/22x22/actions/noatunpause.png
new file mode 100644
index 00000000..1dde8554
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunplay.png b/IconThemes/kdeclassic/22x22/actions/noatunplay.png
new file mode 100644
index 00000000..d4fbdae4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunplaylist.png b/IconThemes/kdeclassic/22x22/actions/noatunplaylist.png
new file mode 100644
index 00000000..008197fe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunshuffle.png b/IconThemes/kdeclassic/22x22/actions/noatunshuffle.png
new file mode 100644
index 00000000..ecfb9206
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunshuffle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatunstop.png b/IconThemes/kdeclassic/22x22/actions/noatunstop.png
new file mode 100644
index 00000000..5881503a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/noatuntiny.png b/IconThemes/kdeclassic/22x22/actions/noatuntiny.png
new file mode 100644
index 00000000..74bc5e94
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/noatuntiny.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ok.png b/IconThemes/kdeclassic/22x22/actions/ok.png
new file mode 100644
index 00000000..2ec681fe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ok.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/onetwomatrix.png b/IconThemes/kdeclassic/22x22/actions/onetwomatrix.png
new file mode 100644
index 00000000..bc7282ae
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/openterm.png b/IconThemes/kdeclassic/22x22/actions/openterm.png
new file mode 100644
index 00000000..bb9892c6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/openterm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/options.png b/IconThemes/kdeclassic/22x22/actions/options.png
new file mode 100644
index 00000000..69751a6f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/options.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/oscilloscope.png b/IconThemes/kdeclassic/22x22/actions/oscilloscope.png
new file mode 100644
index 00000000..c8bddc97
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/oscilloscope.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/outlinedlg.png b/IconThemes/kdeclassic/22x22/actions/outlinedlg.png
new file mode 100644
index 00000000..598a1a5c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/outlinedlg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/output_win.png b/IconThemes/kdeclassic/22x22/actions/output_win.png
new file mode 100644
index 00000000..bb2909f8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/output_win.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/over.png b/IconThemes/kdeclassic/22x22/actions/over.png
new file mode 100644
index 00000000..10e80501
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/over.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/package_utilities.png b/IconThemes/kdeclassic/22x22/actions/package_utilities.png
new file mode 100644
index 00000000..ebf59580
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/package_utilities.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pagesetup.png b/IconThemes/kdeclassic/22x22/actions/pagesetup.png
new file mode 100644
index 00000000..b22f3493
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pagesetup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/paintbrush.png b/IconThemes/kdeclassic/22x22/actions/paintbrush.png
new file mode 100644
index 00000000..d5b25dc0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/paintbrush.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/paren.png b/IconThemes/kdeclassic/22x22/actions/paren.png
new file mode 100644
index 00000000..943d1486
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/part-killustrator.png b/IconThemes/kdeclassic/22x22/actions/part-killustrator.png
new file mode 100644
index 00000000..4399d3fa
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/part-killustrator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/part-kword.png b/IconThemes/kdeclassic/22x22/actions/part-kword.png
new file mode 100644
index 00000000..3c03d541
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/part-kword.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen.png b/IconThemes/kdeclassic/22x22/actions/pen.png
new file mode 100644
index 00000000..757acfd1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style.png b/IconThemes/kdeclassic/22x22/actions/pen_style.png
new file mode 100644
index 00000000..fd4614ba
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_dash.png b/IconThemes/kdeclassic/22x22/actions/pen_style_dash.png
new file mode 100644
index 00000000..6821d2a3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_dash.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_dashdot.png b/IconThemes/kdeclassic/22x22/actions/pen_style_dashdot.png
new file mode 100644
index 00000000..4567f219
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_dashdot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_dashdotdot.png b/IconThemes/kdeclassic/22x22/actions/pen_style_dashdotdot.png
new file mode 100644
index 00000000..b36fc10f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_dashdotdot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_dot.png b/IconThemes/kdeclassic/22x22/actions/pen_style_dot.png
new file mode 100644
index 00000000..1328e620
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_dot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_nopen.png b/IconThemes/kdeclassic/22x22/actions/pen_style_nopen.png
new file mode 100644
index 00000000..29937811
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_nopen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_style_solid.png b/IconThemes/kdeclassic/22x22/actions/pen_style_solid.png
new file mode 100644
index 00000000..4ebd5bc2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_style_solid.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width.png b/IconThemes/kdeclassic/22x22/actions/pen_width.png
new file mode 100644
index 00000000..72aece3a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width1.png b/IconThemes/kdeclassic/22x22/actions/pen_width1.png
new file mode 100644
index 00000000..4ebd5bc2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width10.png b/IconThemes/kdeclassic/22x22/actions/pen_width10.png
new file mode 100644
index 00000000..3039778a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width10.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width2.png b/IconThemes/kdeclassic/22x22/actions/pen_width2.png
new file mode 100644
index 00000000..37742e46
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width3.png b/IconThemes/kdeclassic/22x22/actions/pen_width3.png
new file mode 100644
index 00000000..796cdb66
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width3.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width4.png b/IconThemes/kdeclassic/22x22/actions/pen_width4.png
new file mode 100644
index 00000000..ee313a69
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width5.png b/IconThemes/kdeclassic/22x22/actions/pen_width5.png
new file mode 100644
index 00000000..2c20cc32
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width5.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width6.png b/IconThemes/kdeclassic/22x22/actions/pen_width6.png
new file mode 100644
index 00000000..31bb5c52
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width6.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width7.png b/IconThemes/kdeclassic/22x22/actions/pen_width7.png
new file mode 100644
index 00000000..ad49d30f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width7.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width8.png b/IconThemes/kdeclassic/22x22/actions/pen_width8.png
new file mode 100644
index 00000000..9b55d517
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width8.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pen_width9.png b/IconThemes/kdeclassic/22x22/actions/pen_width9.png
new file mode 100644
index 00000000..0126b236
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pen_width9.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/penbrush.png b/IconThemes/kdeclassic/22x22/actions/penbrush.png
new file mode 100644
index 00000000..df61c0ac
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/penbrush.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pencil.png b/IconThemes/kdeclassic/22x22/actions/pencil.png
new file mode 100644
index 00000000..8e2f895e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pencil.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/percent.png b/IconThemes/kdeclassic/22x22/actions/percent.png
new file mode 100644
index 00000000..c64a3785
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/percent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pgnum.png b/IconThemes/kdeclassic/22x22/actions/pgnum.png
new file mode 100644
index 00000000..cab8a2bd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pgnum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/piano.png b/IconThemes/kdeclassic/22x22/actions/piano.png
new file mode 100644
index 00000000..226e4444
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/piano.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pie.png b/IconThemes/kdeclassic/22x22/actions/pie.png
new file mode 100644
index 00000000..ab8adf5f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_eject.png b/IconThemes/kdeclassic/22x22/actions/player_eject.png
new file mode 100644
index 00000000..3f134cde
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_end.png b/IconThemes/kdeclassic/22x22/actions/player_end.png
new file mode 100644
index 00000000..5ea52610
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_fwd.png b/IconThemes/kdeclassic/22x22/actions/player_fwd.png
new file mode 100644
index 00000000..61ad3606
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_fwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_pause.png b/IconThemes/kdeclassic/22x22/actions/player_pause.png
new file mode 100644
index 00000000..5b205c79
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_play.png b/IconThemes/kdeclassic/22x22/actions/player_play.png
new file mode 100644
index 00000000..8e07a9b6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_play.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_rew.png b/IconThemes/kdeclassic/22x22/actions/player_rew.png
new file mode 100644
index 00000000..7299ecca
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_rew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_start.png b/IconThemes/kdeclassic/22x22/actions/player_start.png
new file mode 100644
index 00000000..cf825fa9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/player_stop.png b/IconThemes/kdeclassic/22x22/actions/player_stop.png
new file mode 100644
index 00000000..5ed11cd9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/plugin.png b/IconThemes/kdeclassic/22x22/actions/plugin.png
new file mode 100644
index 00000000..4082bf10
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/plugin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmbicubicpatch.png b/IconThemes/kdeclassic/22x22/actions/pmbicubicpatch.png
new file mode 100644
index 00000000..4dedf979
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmbicubicpatch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmblendmapmodifiers.png b/IconThemes/kdeclassic/22x22/actions/pmblendmapmodifiers.png
new file mode 100644
index 00000000..15fc5700
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmblendmapmodifiers.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmblob.png b/IconThemes/kdeclassic/22x22/actions/pmblob.png
new file mode 100644
index 00000000..a165af80
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmblob.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmblobcylinder.png b/IconThemes/kdeclassic/22x22/actions/pmblobcylinder.png
new file mode 100644
index 00000000..5dc230f9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmblobcylinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmblobsphere.png b/IconThemes/kdeclassic/22x22/actions/pmblobsphere.png
new file mode 100644
index 00000000..a43cf351
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmblobsphere.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmboundedby.png b/IconThemes/kdeclassic/22x22/actions/pmboundedby.png
new file mode 100644
index 00000000..a8748990
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmboundedby.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmbox.png b/IconThemes/kdeclassic/22x22/actions/pmbox.png
new file mode 100644
index 00000000..1bbdac7c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmbumpmap.png b/IconThemes/kdeclassic/22x22/actions/pmbumpmap.png
new file mode 100644
index 00000000..2371d104
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmbumpmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmclippedby.png b/IconThemes/kdeclassic/22x22/actions/pmclippedby.png
new file mode 100644
index 00000000..e7653cb1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmclippedby.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmcolormap.png b/IconThemes/kdeclassic/22x22/actions/pmcolormap.png
new file mode 100644
index 00000000..775db294
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmcolormap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmcolormapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmcolormapdeclare.png
new file mode 100644
index 00000000..d4033601
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmcolormapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmcomment.png b/IconThemes/kdeclassic/22x22/actions/pmcomment.png
new file mode 100644
index 00000000..348ed6fa
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmcomment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmcone.png b/IconThemes/kdeclassic/22x22/actions/pmcone.png
new file mode 100644
index 00000000..8cb55a7a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmcone.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmcylinder.png b/IconThemes/kdeclassic/22x22/actions/pmcylinder.png
new file mode 100644
index 00000000..7fe73163
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmcylinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmdeclare.png
new file mode 100644
index 00000000..840d56eb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdensity.png b/IconThemes/kdeclassic/22x22/actions/pmdensity.png
new file mode 100644
index 00000000..057210fb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdensity.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdensitydeclare.png b/IconThemes/kdeclassic/22x22/actions/pmdensitydeclare.png
new file mode 100644
index 00000000..c38fe00c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdensitydeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdensitylist.png b/IconThemes/kdeclassic/22x22/actions/pmdensitylist.png
new file mode 100644
index 00000000..3c260d9e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdensitylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdensitymap.png b/IconThemes/kdeclassic/22x22/actions/pmdensitymap.png
new file mode 100644
index 00000000..3aabb850
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdensitymap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdensitymapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmdensitymapdeclare.png
new file mode 100644
index 00000000..2fc8e38b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdensitymapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdifference.png b/IconThemes/kdeclassic/22x22/actions/pmdifference.png
new file mode 100644
index 00000000..0ac4238e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdifference.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdisc.png b/IconThemes/kdeclassic/22x22/actions/pmdisc.png
new file mode 100644
index 00000000..536cc8a0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdisc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmdrag.png b/IconThemes/kdeclassic/22x22/actions/pmdrag.png
new file mode 100644
index 00000000..5a5c703d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmdrag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmfinishdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmfinishdeclare.png
new file mode 100644
index 00000000..8d8359c5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmfinishdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmfog.png b/IconThemes/kdeclassic/22x22/actions/pmfog.png
new file mode 100644
index 00000000..23a5e5ee
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmfog.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmfogdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmfogdeclare.png
new file mode 100644
index 00000000..df4460d1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmfogdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmglobalsettings.png b/IconThemes/kdeclassic/22x22/actions/pmglobalsettings.png
new file mode 100644
index 00000000..c87764bc
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmglobalsettings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmheightfield.png b/IconThemes/kdeclassic/22x22/actions/pmheightfield.png
new file mode 100644
index 00000000..64b767b4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmheightfield.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmimagemap.png b/IconThemes/kdeclassic/22x22/actions/pmimagemap.png
new file mode 100644
index 00000000..a93604e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmimagemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pminserterrors.png b/IconThemes/kdeclassic/22x22/actions/pminserterrors.png
new file mode 100644
index 00000000..fab5a4eb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pminserterrors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pminteriordeclare.png b/IconThemes/kdeclassic/22x22/actions/pminteriordeclare.png
new file mode 100644
index 00000000..20c5880e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pminteriordeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmintersection.png b/IconThemes/kdeclassic/22x22/actions/pmintersection.png
new file mode 100644
index 00000000..edc287ff
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmintersection.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmjuliafractal.png b/IconThemes/kdeclassic/22x22/actions/pmjuliafractal.png
new file mode 100644
index 00000000..ce90ba06
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmjuliafractal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmlathe.png b/IconThemes/kdeclassic/22x22/actions/pmlathe.png
new file mode 100644
index 00000000..572ca904
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmlathe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmlistpattern.png b/IconThemes/kdeclassic/22x22/actions/pmlistpattern.png
new file mode 100644
index 00000000..76fa8d8b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmlistpattern.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmlookslike.png b/IconThemes/kdeclassic/22x22/actions/pmlookslike.png
new file mode 100644
index 00000000..d70ce958
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmlookslike.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmaterial.png b/IconThemes/kdeclassic/22x22/actions/pmmaterial.png
new file mode 100644
index 00000000..9cb8498d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmaterial.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmaterialdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmmaterialdeclare.png
new file mode 100644
index 00000000..317b793b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmaterialdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmaterialmap.png b/IconThemes/kdeclassic/22x22/actions/pmmaterialmap.png
new file mode 100644
index 00000000..d352f4c1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmaterialmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmatrix.png b/IconThemes/kdeclassic/22x22/actions/pmmatrix.png
new file mode 100644
index 00000000..3b9524e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmedia.png b/IconThemes/kdeclassic/22x22/actions/pmmedia.png
new file mode 100644
index 00000000..dcb93a22
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmediadeclare.png b/IconThemes/kdeclassic/22x22/actions/pmmediadeclare.png
new file mode 100644
index 00000000..e09b71c9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmediadeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmmerge.png b/IconThemes/kdeclassic/22x22/actions/pmmerge.png
new file mode 100644
index 00000000..ce93f989
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmmerge.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmnormal.png b/IconThemes/kdeclassic/22x22/actions/pmnormal.png
new file mode 100644
index 00000000..c2838b98
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmnormal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmnormaldeclare.png b/IconThemes/kdeclassic/22x22/actions/pmnormaldeclare.png
new file mode 100644
index 00000000..ce3841d8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmnormaldeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmnormallist.png b/IconThemes/kdeclassic/22x22/actions/pmnormallist.png
new file mode 100644
index 00000000..ec5d3695
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmnormallist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmnormalmap.png b/IconThemes/kdeclassic/22x22/actions/pmnormalmap.png
new file mode 100644
index 00000000..435b0b74
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmnormalmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmnormalmapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmnormalmapdeclare.png
new file mode 100644
index 00000000..2cabff95
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmnormalmapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmobjectdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmobjectdeclare.png
new file mode 100644
index 00000000..b1d2947f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmobjectdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmobjectlink.png b/IconThemes/kdeclassic/22x22/actions/pmobjectlink.png
new file mode 100644
index 00000000..f6e2a32f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmobjectlink.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpattern.png b/IconThemes/kdeclassic/22x22/actions/pmpattern.png
new file mode 100644
index 00000000..f2620041
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpattern.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpigmentdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmpigmentdeclare.png
new file mode 100644
index 00000000..5b0e22e7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpigmentdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpigmentlist.png b/IconThemes/kdeclassic/22x22/actions/pmpigmentlist.png
new file mode 100644
index 00000000..568beead
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpigmentlist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpigmentmap.png b/IconThemes/kdeclassic/22x22/actions/pmpigmentmap.png
new file mode 100644
index 00000000..36466942
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpigmentmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpigmentmapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmpigmentmapdeclare.png
new file mode 100644
index 00000000..8bbee2e9
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpigmentmapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmpolynom.png b/IconThemes/kdeclassic/22x22/actions/pmpolynom.png
new file mode 100644
index 00000000..67e4b46c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmpolynom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmprism.png b/IconThemes/kdeclassic/22x22/actions/pmprism.png
new file mode 100644
index 00000000..ca3dd0b5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmprism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmquickcolor.png b/IconThemes/kdeclassic/22x22/actions/pmquickcolor.png
new file mode 100644
index 00000000..4a2c7c25
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmquickcolor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmrainbow.png b/IconThemes/kdeclassic/22x22/actions/pmrainbow.png
new file mode 100644
index 00000000..3e0b1021
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmrainbow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmrainbowdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmrainbowdeclare.png
new file mode 100644
index 00000000..f92ab03e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmrainbowdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmraw.png b/IconThemes/kdeclassic/22x22/actions/pmraw.png
new file mode 100644
index 00000000..d8270f7c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmraw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmrenderpreview.png b/IconThemes/kdeclassic/22x22/actions/pmrenderpreview.png
new file mode 100644
index 00000000..0227ab0c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmrenderpreview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmrendersettings.png b/IconThemes/kdeclassic/22x22/actions/pmrendersettings.png
new file mode 100644
index 00000000..cb6b2e9a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmrendersettings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmrotate.png b/IconThemes/kdeclassic/22x22/actions/pmrotate.png
new file mode 100644
index 00000000..22a5af44
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmrotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmscale.png b/IconThemes/kdeclassic/22x22/actions/pmscale.png
new file mode 100644
index 00000000..e7820f60
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmscale.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmscene.png b/IconThemes/kdeclassic/22x22/actions/pmscene.png
new file mode 100644
index 00000000..47c9dc56
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmscene.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmskysphere.png b/IconThemes/kdeclassic/22x22/actions/pmskysphere.png
new file mode 100644
index 00000000..cad5cdf5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmskysphere.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmskyspheredeclare.png b/IconThemes/kdeclassic/22x22/actions/pmskyspheredeclare.png
new file mode 100644
index 00000000..4aaafa28
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmskyspheredeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmslope.png b/IconThemes/kdeclassic/22x22/actions/pmslope.png
new file mode 100644
index 00000000..42abb1b4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmslope.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmslopemap.png b/IconThemes/kdeclassic/22x22/actions/pmslopemap.png
new file mode 100644
index 00000000..4efbb6ef
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmslopemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmslopemapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmslopemapdeclare.png
new file mode 100644
index 00000000..19307196
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmslopemapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmsor.png b/IconThemes/kdeclassic/22x22/actions/pmsor.png
new file mode 100644
index 00000000..1a9bdf7a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmsor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmsqe.png b/IconThemes/kdeclassic/22x22/actions/pmsqe.png
new file mode 100644
index 00000000..a3d9152d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmsqe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtext.png b/IconThemes/kdeclassic/22x22/actions/pmtext.png
new file mode 100644
index 00000000..25fc94c3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtext.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtexture.png b/IconThemes/kdeclassic/22x22/actions/pmtexture.png
new file mode 100644
index 00000000..a2f13e15
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtexture.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtexturedeclare.png b/IconThemes/kdeclassic/22x22/actions/pmtexturedeclare.png
new file mode 100644
index 00000000..e40843f0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtexturedeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtexturelist.png b/IconThemes/kdeclassic/22x22/actions/pmtexturelist.png
new file mode 100644
index 00000000..e497f164
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtexturelist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtexturemap.png b/IconThemes/kdeclassic/22x22/actions/pmtexturemap.png
new file mode 100644
index 00000000..282acdf6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtexturemap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtexturemapdeclare.png b/IconThemes/kdeclassic/22x22/actions/pmtexturemapdeclare.png
new file mode 100644
index 00000000..2f046f10
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtexturemapdeclare.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtorus.png b/IconThemes/kdeclassic/22x22/actions/pmtorus.png
new file mode 100644
index 00000000..ab187e64
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtorus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtranslate.png b/IconThemes/kdeclassic/22x22/actions/pmtranslate.png
new file mode 100644
index 00000000..3234c8fe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtranslate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmtriangle.png b/IconThemes/kdeclassic/22x22/actions/pmtriangle.png
new file mode 100644
index 00000000..4cae6980
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmtriangle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmunion.png b/IconThemes/kdeclassic/22x22/actions/pmunion.png
new file mode 100644
index 00000000..aacb8776
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmunion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/pmwarp.png b/IconThemes/kdeclassic/22x22/actions/pmwarp.png
new file mode 100644
index 00000000..e98e139c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/pmwarp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/polar.png b/IconThemes/kdeclassic/22x22/actions/polar.png
new file mode 100644
index 00000000..8730c900
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/polar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/polygon.png b/IconThemes/kdeclassic/22x22/actions/polygon.png
new file mode 100644
index 00000000..d2ba77f4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/polygon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/polyline.png b/IconThemes/kdeclassic/22x22/actions/polyline.png
new file mode 100644
index 00000000..a951d875
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/polyline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/prec_minus.png b/IconThemes/kdeclassic/22x22/actions/prec_minus.png
new file mode 100644
index 00000000..99bca934
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/prec_minus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/prec_plus.png b/IconThemes/kdeclassic/22x22/actions/prec_plus.png
new file mode 100644
index 00000000..a5daa72a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/prec_plus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/previous.png b/IconThemes/kdeclassic/22x22/actions/previous.png
new file mode 100644
index 00000000..7d495e19
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/previous.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/prod.png b/IconThemes/kdeclassic/22x22/actions/prod.png
new file mode 100644
index 00000000..fd218a68
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/project_open.png b/IconThemes/kdeclassic/22x22/actions/project_open.png
new file mode 100644
index 00000000..3e022b38
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/project_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/qmake_scopenew.png b/IconThemes/kdeclassic/22x22/actions/qmake_scopenew.png
new file mode 100644
index 00000000..f63d6809
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/qmake_scopenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/qmakerun.png b/IconThemes/kdeclassic/22x22/actions/qmakerun.png
new file mode 100644
index 00000000..2e761c61
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/qmakerun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/quadricbeziercurve.png b/IconThemes/kdeclassic/22x22/actions/quadricbeziercurve.png
new file mode 100644
index 00000000..11ae8fd3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/quadricbeziercurve.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/queue.png b/IconThemes/kdeclassic/22x22/actions/queue.png
new file mode 100644
index 00000000..dad81077
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/queue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/quiz.png b/IconThemes/kdeclassic/22x22/actions/quiz.png
new file mode 100644
index 00000000..e33f2106
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/quiz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rebuild.png b/IconThemes/kdeclassic/22x22/actions/rebuild.png
new file mode 100644
index 00000000..147d0bcd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rebuild.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rectangle.png b/IconThemes/kdeclassic/22x22/actions/rectangle.png
new file mode 100644
index 00000000..caea607f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rectangle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rectangle2.png b/IconThemes/kdeclassic/22x22/actions/rectangle2.png
new file mode 100644
index 00000000..494d9a0d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rectangle2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rectangleRound.png b/IconThemes/kdeclassic/22x22/actions/rectangleRound.png
new file mode 100644
index 00000000..ace828f6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rectangleRound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/redo.png b/IconThemes/kdeclassic/22x22/actions/redo.png
new file mode 100644
index 00000000..7be1c635
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/redo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/reload.png b/IconThemes/kdeclassic/22x22/actions/reload.png
new file mode 100644
index 00000000..7f7e6d11
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/reload.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/reload_page.png b/IconThemes/kdeclassic/22x22/actions/reload_page.png
new file mode 100644
index 00000000..f2466590
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/reload_page.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/remcol.png b/IconThemes/kdeclassic/22x22/actions/remcol.png
new file mode 100644
index 00000000..0d35e6e2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/remcol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/removecell.png b/IconThemes/kdeclassic/22x22/actions/removecell.png
new file mode 100644
index 00000000..d95b1466
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/removecell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/removecomment.png b/IconThemes/kdeclassic/22x22/actions/removecomment.png
new file mode 100644
index 00000000..3633fdbd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/removecomment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/remrow.png b/IconThemes/kdeclassic/22x22/actions/remrow.png
new file mode 100644
index 00000000..f54877e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/remrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/resizecol.png b/IconThemes/kdeclassic/22x22/actions/resizecol.png
new file mode 100644
index 00000000..4e5b5ba4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/resizecol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/resizerow.png b/IconThemes/kdeclassic/22x22/actions/resizerow.png
new file mode 100644
index 00000000..30aae2a2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/resizerow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/return.png b/IconThemes/kdeclassic/22x22/actions/return.png
new file mode 100644
index 00000000..1135e225
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/return.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/revert.png b/IconThemes/kdeclassic/22x22/actions/revert.png
new file mode 100644
index 00000000..ac90d2dd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/revert.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rightjust.png b/IconThemes/kdeclassic/22x22/actions/rightjust.png
new file mode 100644
index 00000000..cc3a9e6d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rightjust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ring.png b/IconThemes/kdeclassic/22x22/actions/ring.png
new file mode 100644
index 00000000..b6e13670
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ring.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/roll.png b/IconThemes/kdeclassic/22x22/actions/roll.png
new file mode 100644
index 00000000..bdf85a8b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/roll.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rotate.png b/IconThemes/kdeclassic/22x22/actions/rotate.png
new file mode 100644
index 00000000..66182704
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rotate_ccw.png b/IconThemes/kdeclassic/22x22/actions/rotate_ccw.png
new file mode 100644
index 00000000..efe84571
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rotate_cw.png b/IconThemes/kdeclassic/22x22/actions/rotate_cw.png
new file mode 100644
index 00000000..4dbdda6c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rowout.png b/IconThemes/kdeclassic/22x22/actions/rowout.png
new file mode 100644
index 00000000..2fa9f30d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rowout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rsub.png b/IconThemes/kdeclassic/22x22/actions/rsub.png
new file mode 100644
index 00000000..1c677aff
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/rsup.png b/IconThemes/kdeclassic/22x22/actions/rsup.png
new file mode 100644
index 00000000..c0dc7c14
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/run.png b/IconThemes/kdeclassic/22x22/actions/run.png
new file mode 100644
index 00000000..16a20c11
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/run.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/run_bounding.png b/IconThemes/kdeclassic/22x22/actions/run_bounding.png
new file mode 100644
index 00000000..69c19ab5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/run_bounding.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/run_not.png b/IconThemes/kdeclassic/22x22/actions/run_not.png
new file mode 100644
index 00000000..c38764ed
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/run_not.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/run_skip.png b/IconThemes/kdeclassic/22x22/actions/run_skip.png
new file mode 100644
index 00000000..96074bca
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/run_skip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/screen.png b/IconThemes/kdeclassic/22x22/actions/screen.png
new file mode 100644
index 00000000..1e3e164c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/screen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/search.png b/IconThemes/kdeclassic/22x22/actions/search.png
new file mode 100644
index 00000000..dcf28164
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/search.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/selecttool.png b/IconThemes/kdeclassic/22x22/actions/selecttool.png
new file mode 100644
index 00000000..eaa7805c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/selecttool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/send.png b/IconThemes/kdeclassic/22x22/actions/send.png
new file mode 100644
index 00000000..d96958d3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/send.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/send_backward.png b/IconThemes/kdeclassic/22x22/actions/send_backward.png
new file mode 100644
index 00000000..a437576e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/send_backward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadow.png b/IconThemes/kdeclassic/22x22/actions/shadow.png
new file mode 100644
index 00000000..63e0f4ba
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowB.png b/IconThemes/kdeclassic/22x22/actions/shadowB.png
new file mode 100644
index 00000000..bf9a5ad1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowB.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowL.png b/IconThemes/kdeclassic/22x22/actions/shadowL.png
new file mode 100644
index 00000000..84689633
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowL.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowLB.png b/IconThemes/kdeclassic/22x22/actions/shadowLB.png
new file mode 100644
index 00000000..08d9ab2b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowLB.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowLU.png b/IconThemes/kdeclassic/22x22/actions/shadowLU.png
new file mode 100644
index 00000000..5759432f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowLU.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowR.png b/IconThemes/kdeclassic/22x22/actions/shadowR.png
new file mode 100644
index 00000000..7b8cd1fa
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowR.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowRB.png b/IconThemes/kdeclassic/22x22/actions/shadowRB.png
new file mode 100644
index 00000000..933893d5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowRB.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowRU.png b/IconThemes/kdeclassic/22x22/actions/shadowRU.png
new file mode 100644
index 00000000..1bad09eb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowRU.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/shadowU.png b/IconThemes/kdeclassic/22x22/actions/shadowU.png
new file mode 100644
index 00000000..4ccde7bb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/shadowU.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/show_side_panel.png b/IconThemes/kdeclassic/22x22/actions/show_side_panel.png
new file mode 100644
index 00000000..0895f4ff
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/show_side_panel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/show_table_column.png b/IconThemes/kdeclassic/22x22/actions/show_table_column.png
new file mode 100644
index 00000000..896715be
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/show_table_column.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/show_table_row.png b/IconThemes/kdeclassic/22x22/actions/show_table_row.png
new file mode 100644
index 00000000..cd493b50
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/show_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/showmenu.png b/IconThemes/kdeclassic/22x22/actions/showmenu.png
new file mode 100644
index 00000000..da46a817
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/showmenu.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/signature.png b/IconThemes/kdeclassic/22x22/actions/signature.png
new file mode 100644
index 00000000..6ed8d739
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/signature.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sl_addentry.png b/IconThemes/kdeclassic/22x22/actions/sl_addentry.png
new file mode 100644
index 00000000..8d9ce43f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sl_addentry.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sl_addrecord.png b/IconThemes/kdeclassic/22x22/actions/sl_addrecord.png
new file mode 100644
index 00000000..18286092
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sl_addrecord.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sl_delentry.png b/IconThemes/kdeclassic/22x22/actions/sl_delentry.png
new file mode 100644
index 00000000..1a0474c5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sl_delentry.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sl_delrecord.png b/IconThemes/kdeclassic/22x22/actions/sl_delrecord.png
new file mode 100644
index 00000000..72ebcdba
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sl_delrecord.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/solidfilldlg.png b/IconThemes/kdeclassic/22x22/actions/solidfilldlg.png
new file mode 100644
index 00000000..cd7e175f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/solidfilldlg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sort_decrease.png b/IconThemes/kdeclassic/22x22/actions/sort_decrease.png
new file mode 100644
index 00000000..1fbd6ed2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sort_decrease.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sort_incr.png b/IconThemes/kdeclassic/22x22/actions/sort_incr.png
new file mode 100644
index 00000000..19d62a78
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sort_incr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/special_paste.png b/IconThemes/kdeclassic/22x22/actions/special_paste.png
new file mode 100644
index 00000000..de2a13d5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/special_paste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/spellcheck.png b/IconThemes/kdeclassic/22x22/actions/spellcheck.png
new file mode 100644
index 00000000..dff10f04
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/spnewgame.png b/IconThemes/kdeclassic/22x22/actions/spnewgame.png
new file mode 100644
index 00000000..bfe69fa1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/spnewgame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/spnewround.png b/IconThemes/kdeclassic/22x22/actions/spnewround.png
new file mode 100644
index 00000000..60122fb6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/spnewround.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sppausegame.png b/IconThemes/kdeclassic/22x22/actions/sppausegame.png
new file mode 100644
index 00000000..6f3225f1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sppausegame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sqrt.png b/IconThemes/kdeclassic/22x22/actions/sqrt.png
new file mode 100644
index 00000000..733e8e58
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/start.png b/IconThemes/kdeclassic/22x22/actions/start.png
new file mode 100644
index 00000000..b983feb8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/stop.png b/IconThemes/kdeclassic/22x22/actions/stop.png
new file mode 100644
index 00000000..057efd2e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sub.png b/IconThemes/kdeclassic/22x22/actions/sub.png
new file mode 100644
index 00000000..c8b94b61
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/sum.png b/IconThemes/kdeclassic/22x22/actions/sum.png
new file mode 100644
index 00000000..7223fd76
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/super.png b/IconThemes/kdeclassic/22x22/actions/super.png
new file mode 100644
index 00000000..65e79325
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/super.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_breakoff.png b/IconThemes/kdeclassic/22x22/actions/tab_breakoff.png
new file mode 100644
index 00000000..13d66023
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_breakoff.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_duplicate.png b/IconThemes/kdeclassic/22x22/actions/tab_duplicate.png
new file mode 100644
index 00000000..cda3d616
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_duplicate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_move_left.png b/IconThemes/kdeclassic/22x22/actions/tab_move_left.png
new file mode 100644
index 00000000..1680031a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_move_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_move_right.png b/IconThemes/kdeclassic/22x22/actions/tab_move_right.png
new file mode 100644
index 00000000..7845f269
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_move_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_new.png b/IconThemes/kdeclassic/22x22/actions/tab_new.png
new file mode 100644
index 00000000..a23ffae5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_new_bg.png b/IconThemes/kdeclassic/22x22/actions/tab_new_bg.png
new file mode 100644
index 00000000..b0deaa0b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_new_bg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_remove.png b/IconThemes/kdeclassic/22x22/actions/tab_remove.png
new file mode 100644
index 00000000..ef19999c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tab_remove_other.png b/IconThemes/kdeclassic/22x22/actions/tab_remove_other.png
new file mode 100644
index 00000000..a5d00ab8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tab_remove_other.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text.png b/IconThemes/kdeclassic/22x22/actions/text.png
new file mode 100644
index 00000000..dae47758
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_block.png b/IconThemes/kdeclassic/22x22/actions/text_block.png
new file mode 100644
index 00000000..24aef8fb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_block.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_bold.png b/IconThemes/kdeclassic/22x22/actions/text_bold.png
new file mode 100644
index 00000000..eda4bda2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_bold.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_bottom.png b/IconThemes/kdeclassic/22x22/actions/text_bottom.png
new file mode 100644
index 00000000..cae81296
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_center.png b/IconThemes/kdeclassic/22x22/actions/text_center.png
new file mode 100644
index 00000000..c4f4d150
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_center.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_italic.png b/IconThemes/kdeclassic/22x22/actions/text_italic.png
new file mode 100644
index 00000000..48c3f979
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_italic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_left.png b/IconThemes/kdeclassic/22x22/actions/text_left.png
new file mode 100644
index 00000000..8b108427
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_right.png b/IconThemes/kdeclassic/22x22/actions/text_right.png
new file mode 100644
index 00000000..3fb540e2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_strike.png b/IconThemes/kdeclassic/22x22/actions/text_strike.png
new file mode 100644
index 00000000..2d529cf6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_strike.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_top.png b/IconThemes/kdeclassic/22x22/actions/text_top.png
new file mode 100644
index 00000000..c61cfe5c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/text_under.png b/IconThemes/kdeclassic/22x22/actions/text_under.png
new file mode 100644
index 00000000..80713dce
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/text_under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/thumbnail.png b/IconThemes/kdeclassic/22x22/actions/thumbnail.png
new file mode 100644
index 00000000..94257554
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/timespan.png b/IconThemes/kdeclassic/22x22/actions/timespan.png
new file mode 100644
index 00000000..f05f755e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/timespan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/today.png b/IconThemes/kdeclassic/22x22/actions/today.png
new file mode 100644
index 00000000..b15c792d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/today.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/todo.png b/IconThemes/kdeclassic/22x22/actions/todo.png
new file mode 100644
index 00000000..09065149
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/todo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/toggle_docbrowser.png b/IconThemes/kdeclassic/22x22/actions/toggle_docbrowser.png
new file mode 100644
index 00000000..89645169
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/toggle_docbrowser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/toggle_log.png b/IconThemes/kdeclassic/22x22/actions/toggle_log.png
new file mode 100644
index 00000000..007e47bb
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/toggle_log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_clipboard.png b/IconThemes/kdeclassic/22x22/actions/tool_clipboard.png
new file mode 100644
index 00000000..5049c688
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_clipboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_delay.png b/IconThemes/kdeclassic/22x22/actions/tool_delay.png
new file mode 100644
index 00000000..5299800c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_delay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_delete.png b/IconThemes/kdeclassic/22x22/actions/tool_delete.png
new file mode 100644
index 00000000..e0997ec2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_delete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_disconnect.png b/IconThemes/kdeclassic/22x22/actions/tool_disconnect.png
new file mode 100644
index 00000000..76938b1b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_disconnect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_dock.png b/IconThemes/kdeclassic/22x22/actions/tool_dock.png
new file mode 100644
index 00000000..826e41c3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_dock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_drop_target.png b/IconThemes/kdeclassic/22x22/actions/tool_drop_target.png
new file mode 100644
index 00000000..cd432b7e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_drop_target.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_expert.png b/IconThemes/kdeclassic/22x22/actions/tool_expert.png
new file mode 100644
index 00000000..ee7519d2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_expert.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_logwindow.png b/IconThemes/kdeclassic/22x22/actions/tool_logwindow.png
new file mode 100644
index 00000000..6c5f772b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_logwindow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_normal.png b/IconThemes/kdeclassic/22x22/actions/tool_normal.png
new file mode 100644
index 00000000..359d4337
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_normal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_off.png b/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_off.png
new file mode 100644
index 00000000..9e5d1d2e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_off.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_on.png b/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_on.png
new file mode 100644
index 00000000..88a186db
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_offline_mode_on.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_paste.png b/IconThemes/kdeclassic/22x22/actions/tool_paste.png
new file mode 100644
index 00000000..d9ff9869
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_paste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_pause.png b/IconThemes/kdeclassic/22x22/actions/tool_pause.png
new file mode 100644
index 00000000..e17e5942
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_pause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_preferences.png b/IconThemes/kdeclassic/22x22/actions/tool_preferences.png
new file mode 100644
index 00000000..a818540e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_preferences.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_queue.png b/IconThemes/kdeclassic/22x22/actions/tool_queue.png
new file mode 100644
index 00000000..43e2110e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_queue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_restart.png b/IconThemes/kdeclassic/22x22/actions/tool_restart.png
new file mode 100644
index 00000000..283d7f0b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_restart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_resume.png b/IconThemes/kdeclassic/22x22/actions/tool_resume.png
new file mode 100644
index 00000000..0ea998a0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_resume.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_shutdown.png b/IconThemes/kdeclassic/22x22/actions/tool_shutdown.png
new file mode 100644
index 00000000..af798b07
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_shutdown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_timer.png b/IconThemes/kdeclassic/22x22/actions/tool_timer.png
new file mode 100644
index 00000000..36777af0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_timer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tool_uselastdir.png b/IconThemes/kdeclassic/22x22/actions/tool_uselastdir.png
new file mode 100644
index 00000000..bb68d546
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tool_uselastdir.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/top.png b/IconThemes/kdeclassic/22x22/actions/top.png
new file mode 100644
index 00000000..c4756bdd
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/translate.png b/IconThemes/kdeclassic/22x22/actions/translate.png
new file mode 100644
index 00000000..ab44fb08
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/translate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tree_arrange.png b/IconThemes/kdeclassic/22x22/actions/tree_arrange.png
new file mode 100644
index 00000000..1326bd89
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tree_arrange.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/tree_win.png b/IconThemes/kdeclassic/22x22/actions/tree_win.png
new file mode 100644
index 00000000..08e4aced
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/tree_win.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/under.png b/IconThemes/kdeclassic/22x22/actions/under.png
new file mode 100644
index 00000000..ef646577
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/undo.png b/IconThemes/kdeclassic/22x22/actions/undo.png
new file mode 100644
index 00000000..84af3c63
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/undo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/ungroup.png b/IconThemes/kdeclassic/22x22/actions/ungroup.png
new file mode 100644
index 00000000..c9c3055b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/ungroup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/unlock.png b/IconThemes/kdeclassic/22x22/actions/unlock.png
new file mode 100644
index 00000000..bb5cee6d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/unsortedList.png b/IconThemes/kdeclassic/22x22/actions/unsortedList.png
new file mode 100644
index 00000000..bed281f1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/unsortedList.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/up.png b/IconThemes/kdeclassic/22x22/actions/up.png
new file mode 100644
index 00000000..e59ba6ea
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/upper.png b/IconThemes/kdeclassic/22x22/actions/upper.png
new file mode 100644
index 00000000..9b3db91c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/upper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/validators.png b/IconThemes/kdeclassic/22x22/actions/validators.png
new file mode 100644
index 00000000..ff67d1ea
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/validators.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/vertical_text.png b/IconThemes/kdeclassic/22x22/actions/vertical_text.png
new file mode 100644
index 00000000..923d5e1c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/vertical_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view.png b/IconThemes/kdeclassic/22x22/actions/view.png
new file mode 100644
index 00000000..3683959d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_bottom.png b/IconThemes/kdeclassic/22x22/actions/view_bottom.png
new file mode 100644
index 00000000..4dbbeee4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_choose.png b/IconThemes/kdeclassic/22x22/actions/view_choose.png
new file mode 100644
index 00000000..c143040c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_detailed.png b/IconThemes/kdeclassic/22x22/actions/view_detailed.png
new file mode 100644
index 00000000..42c1c55b
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_fit_height.png b/IconThemes/kdeclassic/22x22/actions/view_fit_height.png
new file mode 100644
index 00000000..fce9a1e6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_fit_height.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_fit_width.png b/IconThemes/kdeclassic/22x22/actions/view_fit_width.png
new file mode 100644
index 00000000..48c84cfa
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_fit_width.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_fit_window.png b/IconThemes/kdeclassic/22x22/actions/view_fit_window.png
new file mode 100644
index 00000000..34143ee3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_fit_window.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_icon.png b/IconThemes/kdeclassic/22x22/actions/view_icon.png
new file mode 100644
index 00000000..1ca267c1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_left_right.png b/IconThemes/kdeclassic/22x22/actions/view_left_right.png
new file mode 100644
index 00000000..b08a8dbe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_multicolumn.png b/IconThemes/kdeclassic/22x22/actions/view_multicolumn.png
new file mode 100644
index 00000000..d79feef4
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_remove.png b/IconThemes/kdeclassic/22x22/actions/view_remove.png
new file mode 100644
index 00000000..3a9d1bab
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_right.png b/IconThemes/kdeclassic/22x22/actions/view_right.png
new file mode 100644
index 00000000..b57258a6
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_sidetree.png b/IconThemes/kdeclassic/22x22/actions/view_sidetree.png
new file mode 100644
index 00000000..791d6574
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_text.png b/IconThemes/kdeclassic/22x22/actions/view_text.png
new file mode 100644
index 00000000..82e0a534
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_top_bottom.png b/IconThemes/kdeclassic/22x22/actions/view_top_bottom.png
new file mode 100644
index 00000000..495f870e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/view_tree.png b/IconThemes/kdeclassic/22x22/actions/view_tree.png
new file mode 100644
index 00000000..023d9455
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/viewmag+.png b/IconThemes/kdeclassic/22x22/actions/viewmag+.png
new file mode 100644
index 00000000..8879752c
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/viewmag-.png b/IconThemes/kdeclassic/22x22/actions/viewmag-.png
new file mode 100644
index 00000000..503c9b34
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/viewmag.png b/IconThemes/kdeclassic/22x22/actions/viewmag.png
new file mode 100644
index 00000000..dd212f46
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/viewmag1.png b/IconThemes/kdeclassic/22x22/actions/viewmag1.png
new file mode 100644
index 00000000..657b918f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/viewmagfit.png b/IconThemes/kdeclassic/22x22/actions/viewmagfit.png
new file mode 100644
index 00000000..9aceedc5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/volume.png b/IconThemes/kdeclassic/22x22/actions/volume.png
new file mode 100644
index 00000000..e87c5147
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/volume.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/webarchiver.png b/IconThemes/kdeclassic/22x22/actions/webarchiver.png
new file mode 100644
index 00000000..b9cd846e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/webarchiver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/webexport.png b/IconThemes/kdeclassic/22x22/actions/webexport.png
new file mode 100644
index 00000000..ba8fca36
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/webexport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/webpres.png b/IconThemes/kdeclassic/22x22/actions/webpres.png
new file mode 100644
index 00000000..10ea15ca
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/webpres.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/whatsnext.png b/IconThemes/kdeclassic/22x22/actions/whatsnext.png
new file mode 100644
index 00000000..099599f3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/whatsnext.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/window_fullscreen.png b/IconThemes/kdeclassic/22x22/actions/window_fullscreen.png
new file mode 100644
index 00000000..3163acc3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/window_nofullscreen.png b/IconThemes/kdeclassic/22x22/actions/window_nofullscreen.png
new file mode 100644
index 00000000..e25551c2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/wizard.png b/IconThemes/kdeclassic/22x22/actions/wizard.png
new file mode 100644
index 00000000..69bb1b4d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/wizard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/actions/xdays.png b/IconThemes/kdeclassic/22x22/actions/xdays.png
new file mode 100644
index 00000000..bb7591e8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/actions/xdays.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/dolphin.png b/IconThemes/kdeclassic/22x22/apps/dolphin.png
new file mode 100644
index 00000000..0d4c3777
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/dolphin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/kaboodle.png b/IconThemes/kdeclassic/22x22/apps/kaboodle.png
new file mode 100644
index 00000000..72280bc3
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/kaboodle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/kivio.png b/IconThemes/kdeclassic/22x22/apps/kivio.png
new file mode 100644
index 00000000..72e7edb2
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/kivio.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/konqsidebar_mediaplayer.png b/IconThemes/kdeclassic/22x22/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..f314d176
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/kpilot.png b/IconThemes/kdeclassic/22x22/apps/kpilot.png
new file mode 100644
index 00000000..8410169a
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/kugar.png b/IconThemes/kdeclassic/22x22/apps/kugar.png
new file mode 100644
index 00000000..c988f41e
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/kugar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/kview.png b/IconThemes/kdeclassic/22x22/apps/kview.png
new file mode 100644
index 00000000..56d06aa7
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/kview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/noatun.png b/IconThemes/kdeclassic/22x22/apps/noatun.png
new file mode 100644
index 00000000..f314d176
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/apps/photobook.png b/IconThemes/kdeclassic/22x22/apps/photobook.png
new file mode 100644
index 00000000..e75836fe
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/apps/photobook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/empty.png b/IconThemes/kdeclassic/22x22/mimetypes/empty.png
new file mode 100644
index 00000000..68b9bd2d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/karbon_karbon.png b/IconThemes/kdeclassic/22x22/mimetypes/karbon_karbon.png
new file mode 100644
index 00000000..8496450d
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/karbon_karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kchart_chrt.png b/IconThemes/kdeclassic/22x22/mimetypes/kchart_chrt.png
new file mode 100644
index 00000000..1bb85622
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kchart_chrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kformula_kfo.png b/IconThemes/kdeclassic/22x22/mimetypes/kformula_kfo.png
new file mode 100644
index 00000000..875c77a8
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kformula_kfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kivio_flw.png b/IconThemes/kdeclassic/22x22/mimetypes/kivio_flw.png
new file mode 100644
index 00000000..beb67aa0
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kivio_flw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kpresenter_kpr.png b/IconThemes/kdeclassic/22x22/mimetypes/kpresenter_kpr.png
new file mode 100644
index 00000000..0347fe1f
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kpresenter_kpr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/krita_kra.png b/IconThemes/kdeclassic/22x22/mimetypes/krita_kra.png
new file mode 100644
index 00000000..a38c4d36
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/krita_kra.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kspread_ksp.png b/IconThemes/kdeclassic/22x22/mimetypes/kspread_ksp.png
new file mode 100644
index 00000000..22766592
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kspread_ksp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kugar_kud.png b/IconThemes/kdeclassic/22x22/mimetypes/kugar_kud.png
new file mode 100644
index 00000000..b32f58e5
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kugar_kud.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kugardata.png b/IconThemes/kdeclassic/22x22/mimetypes/kugardata.png
new file mode 100644
index 00000000..4cb60997
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kugardata.png
Binary files differ
diff --git a/IconThemes/kdeclassic/22x22/mimetypes/kword_kwd.png b/IconThemes/kdeclassic/22x22/mimetypes/kword_kwd.png
new file mode 100644
index 00000000..fd62c4e1
--- /dev/null
+++ b/IconThemes/kdeclassic/22x22/mimetypes/kword_kwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/1day.png b/IconThemes/kdeclassic/32x32/actions/1day.png
new file mode 100644
index 00000000..9af45e29
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/1day.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/1downarrow.png b/IconThemes/kdeclassic/32x32/actions/1downarrow.png
new file mode 100644
index 00000000..e7230c1f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/1leftarrow.png b/IconThemes/kdeclassic/32x32/actions/1leftarrow.png
new file mode 100644
index 00000000..7c3a507e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/1rightarrow.png b/IconThemes/kdeclassic/32x32/actions/1rightarrow.png
new file mode 100644
index 00000000..0eb0a093
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/1uparrow.png b/IconThemes/kdeclassic/32x32/actions/1uparrow.png
new file mode 100644
index 00000000..046b99b2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/2downarrow.png b/IconThemes/kdeclassic/32x32/actions/2downarrow.png
new file mode 100644
index 00000000..450c14fa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/2leftarrow.png b/IconThemes/kdeclassic/32x32/actions/2leftarrow.png
new file mode 100644
index 00000000..5cfaba59
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/2rightarrow.png b/IconThemes/kdeclassic/32x32/actions/2rightarrow.png
new file mode 100644
index 00000000..bf872f39
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/2uparrow.png b/IconThemes/kdeclassic/32x32/actions/2uparrow.png
new file mode 100644
index 00000000..b5b2dd7a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/5days.png b/IconThemes/kdeclassic/32x32/actions/5days.png
new file mode 100644
index 00000000..8489826f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/5days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/7days.png b/IconThemes/kdeclassic/32x32/actions/7days.png
new file mode 100644
index 00000000..33820ff2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/7days.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/about_kde.png b/IconThemes/kdeclassic/32x32/actions/about_kde.png
new file mode 100644
index 00000000..b83c35db
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/abs.png b/IconThemes/kdeclassic/32x32/actions/abs.png
new file mode 100644
index 00000000..f8eca411
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/appearance.png b/IconThemes/kdeclassic/32x32/actions/appearance.png
new file mode 100644
index 00000000..a7785d25
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/appointment.png b/IconThemes/kdeclassic/32x32/actions/appointment.png
new file mode 100644
index 00000000..20e5abc5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/appointment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/areas.png b/IconThemes/kdeclassic/32x32/actions/areas.png
new file mode 100644
index 00000000..890e5568
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/areas.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/atlantik_buy_estate.png b/IconThemes/kdeclassic/32x32/actions/atlantik_buy_estate.png
new file mode 100644
index 00000000..e1a86e47
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/atlantik_buy_estate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/attach.png b/IconThemes/kdeclassic/32x32/actions/attach.png
new file mode 100644
index 00000000..e9273b24
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/attach.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/auction.png b/IconThemes/kdeclassic/32x32/actions/auction.png
new file mode 100644
index 00000000..0a179532
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/auction.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/back.png b/IconThemes/kdeclassic/32x32/actions/back.png
new file mode 100644
index 00000000..9bb73bb8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/back.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/blend.png b/IconThemes/kdeclassic/32x32/actions/blend.png
new file mode 100644
index 00000000..b8d3864c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/blend.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/bookmark.png b/IconThemes/kdeclassic/32x32/actions/bookmark.png
new file mode 100644
index 00000000..651ea4ee
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/bookmark_add.png b/IconThemes/kdeclassic/32x32/actions/bookmark_add.png
new file mode 100644
index 00000000..6c6dacaf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/bookmark_folder.png b/IconThemes/kdeclassic/32x32/actions/bookmark_folder.png
new file mode 100644
index 00000000..d55cfa3b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/bookmark_toolbar.png b/IconThemes/kdeclassic/32x32/actions/bookmark_toolbar.png
new file mode 100644
index 00000000..14fff1bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/bookmark_toolbar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_all.png b/IconThemes/kdeclassic/32x32/actions/border_all.png
new file mode 100644
index 00000000..957ec75d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_all.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_bottom.png b/IconThemes/kdeclassic/32x32/actions/border_bottom.png
new file mode 100644
index 00000000..0b8e45b5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_fall.png b/IconThemes/kdeclassic/32x32/actions/border_fall.png
new file mode 100644
index 00000000..453dda51
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_fall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_horizontal.png b/IconThemes/kdeclassic/32x32/actions/border_horizontal.png
new file mode 100644
index 00000000..2a28f5de
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_horizontal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_inside.png b/IconThemes/kdeclassic/32x32/actions/border_inside.png
new file mode 100644
index 00000000..d508f79e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_inside.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_left.png b/IconThemes/kdeclassic/32x32/actions/border_left.png
new file mode 100644
index 00000000..2c9cf954
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_outline.png b/IconThemes/kdeclassic/32x32/actions/border_outline.png
new file mode 100644
index 00000000..1a4d728a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_outline.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_remove.png b/IconThemes/kdeclassic/32x32/actions/border_remove.png
new file mode 100644
index 00000000..71d9f358
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_right.png b/IconThemes/kdeclassic/32x32/actions/border_right.png
new file mode 100644
index 00000000..c48722c5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_top.png b/IconThemes/kdeclassic/32x32/actions/border_top.png
new file mode 100644
index 00000000..4cfffb11
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_up.png b/IconThemes/kdeclassic/32x32/actions/border_up.png
new file mode 100644
index 00000000..a778e46e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/border_vertical.png b/IconThemes/kdeclassic/32x32/actions/border_vertical.png
new file mode 100644
index 00000000..9b5441a7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/border_vertical.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/bottom.png b/IconThemes/kdeclassic/32x32/actions/bottom.png
new file mode 100644
index 00000000..c8efd289
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/brackets.png b/IconThemes/kdeclassic/32x32/actions/brackets.png
new file mode 100644
index 00000000..b4463fe2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/button_accept.png b/IconThemes/kdeclassic/32x32/actions/button_accept.png
new file mode 100644
index 00000000..fab861e7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/button_accept.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/button_cancel.png b/IconThemes/kdeclassic/32x32/actions/button_cancel.png
new file mode 100644
index 00000000..61f11054
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/button_cancel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/centrejust.png b/IconThemes/kdeclassic/32x32/actions/centrejust.png
new file mode 100644
index 00000000..6613559d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/centrejust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/charset.png b/IconThemes/kdeclassic/32x32/actions/charset.png
new file mode 100644
index 00000000..a6e26303
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/charset.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/chart_bar.png b/IconThemes/kdeclassic/32x32/actions/chart_bar.png
new file mode 100644
index 00000000..a57d4da9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/chart_bar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/chart_pie2D.png b/IconThemes/kdeclassic/32x32/actions/chart_pie2D.png
new file mode 100644
index 00000000..6c0413b0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/chart_pie2D.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/chart_pie3D.png b/IconThemes/kdeclassic/32x32/actions/chart_pie3D.png
new file mode 100644
index 00000000..64d93576
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/chart_pie3D.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/clear_left.png b/IconThemes/kdeclassic/32x32/actions/clear_left.png
new file mode 100644
index 00000000..6946fe4f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/clear_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/colorize.png b/IconThemes/kdeclassic/32x32/actions/colorize.png
new file mode 100644
index 00000000..c37d5c2e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/configure.png b/IconThemes/kdeclassic/32x32/actions/configure.png
new file mode 100644
index 00000000..02ae3677
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/configure.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/connect_creating.png b/IconThemes/kdeclassic/32x32/actions/connect_creating.png
new file mode 100644
index 00000000..b020b5ce
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/connect_established.png b/IconThemes/kdeclassic/32x32/actions/connect_established.png
new file mode 100644
index 00000000..3fa63d30
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/connect_no.png b/IconThemes/kdeclassic/32x32/actions/connect_no.png
new file mode 100644
index 00000000..687432c5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/contents.png b/IconThemes/kdeclassic/32x32/actions/contents.png
new file mode 100644
index 00000000..b9987fbd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/contents.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/contents2.png b/IconThemes/kdeclassic/32x32/actions/contents2.png
new file mode 100644
index 00000000..47f3cdb6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/contents2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/contexthelp.png b/IconThemes/kdeclassic/32x32/actions/contexthelp.png
new file mode 100644
index 00000000..e073d08f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/decrypted.png b/IconThemes/kdeclassic/32x32/actions/decrypted.png
new file mode 100644
index 00000000..5c1d92be
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/define_clip.png b/IconThemes/kdeclassic/32x32/actions/define_clip.png
new file mode 100644
index 00000000..da31dc06
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/delete_table_col.png b/IconThemes/kdeclassic/32x32/actions/delete_table_col.png
new file mode 100644
index 00000000..a13b8039
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/delete_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/delete_table_row.png b/IconThemes/kdeclassic/32x32/actions/delete_table_row.png
new file mode 100644
index 00000000..22d4c85b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/delete_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/down.png b/IconThemes/kdeclassic/32x32/actions/down.png
new file mode 100644
index 00000000..7bf0516d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/down.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/edit.png b/IconThemes/kdeclassic/32x32/actions/edit.png
new file mode 100644
index 00000000..adbb4b4e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/edit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editclear.png b/IconThemes/kdeclassic/32x32/actions/editclear.png
new file mode 100644
index 00000000..774071c8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editclear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editcopy.png b/IconThemes/kdeclassic/32x32/actions/editcopy.png
new file mode 100644
index 00000000..28b5162b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editcut.png b/IconThemes/kdeclassic/32x32/actions/editcut.png
new file mode 100644
index 00000000..275571dc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editdelete.png b/IconThemes/kdeclassic/32x32/actions/editdelete.png
new file mode 100644
index 00000000..fb04acea
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editpaste.png b/IconThemes/kdeclassic/32x32/actions/editpaste.png
new file mode 100644
index 00000000..42c2122f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/editshred.png b/IconThemes/kdeclassic/32x32/actions/editshred.png
new file mode 100644
index 00000000..d2ca9007
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/editshred.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/edittrash.png b/IconThemes/kdeclassic/32x32/actions/edittrash.png
new file mode 100644
index 00000000..c2a313ef
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/effect.png b/IconThemes/kdeclassic/32x32/actions/effect.png
new file mode 100644
index 00000000..e983d952
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/effect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/encrypted.png b/IconThemes/kdeclassic/32x32/actions/encrypted.png
new file mode 100644
index 00000000..6d2748d8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/endturn.png b/IconThemes/kdeclassic/32x32/actions/endturn.png
new file mode 100644
index 00000000..fc6d82bc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/endturn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/exec.png b/IconThemes/kdeclassic/32x32/actions/exec.png
new file mode 100644
index 00000000..064b9ac4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/exit.png b/IconThemes/kdeclassic/32x32/actions/exit.png
new file mode 100644
index 00000000..4877f19f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/exit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/fileclose.png b/IconThemes/kdeclassic/32x32/actions/fileclose.png
new file mode 100644
index 00000000..2b13d4ad
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/filefind.png b/IconThemes/kdeclassic/32x32/actions/filefind.png
new file mode 100644
index 00000000..3ba1f34e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/fileimport.png b/IconThemes/kdeclassic/32x32/actions/fileimport.png
new file mode 100644
index 00000000..5779b0c0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/fileimport.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/filenew.png b/IconThemes/kdeclassic/32x32/actions/filenew.png
new file mode 100644
index 00000000..6a9762bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/fileopen.png b/IconThemes/kdeclassic/32x32/actions/fileopen.png
new file mode 100644
index 00000000..387a463a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/fileprint.png b/IconThemes/kdeclassic/32x32/actions/fileprint.png
new file mode 100644
index 00000000..669b738a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/filesave.png b/IconThemes/kdeclassic/32x32/actions/filesave.png
new file mode 100644
index 00000000..322a41ad
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/filter.png b/IconThemes/kdeclassic/32x32/actions/filter.png
new file mode 100644
index 00000000..a394575c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/filter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/find.png b/IconThemes/kdeclassic/32x32/actions/find.png
new file mode 100644
index 00000000..e752f04f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/finish.png b/IconThemes/kdeclassic/32x32/actions/finish.png
new file mode 100644
index 00000000..3ca65be0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/finish.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/folder_new.png b/IconThemes/kdeclassic/32x32/actions/folder_new.png
new file mode 100644
index 00000000..daa62810
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/fonts.png b/IconThemes/kdeclassic/32x32/actions/fonts.png
new file mode 100644
index 00000000..b1232503
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/forward.png b/IconThemes/kdeclassic/32x32/actions/forward.png
new file mode 100644
index 00000000..63f5e3dd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/frac.png b/IconThemes/kdeclassic/32x32/actions/frac.png
new file mode 100644
index 00000000..f321244a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/frameprint.png b/IconThemes/kdeclassic/32x32/actions/frameprint.png
new file mode 100644
index 00000000..f859f003
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/funct.png b/IconThemes/kdeclassic/32x32/actions/funct.png
new file mode 100644
index 00000000..1994d01c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/funct.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/ganttSelect.png b/IconThemes/kdeclassic/32x32/actions/ganttSelect.png
new file mode 100644
index 00000000..4b0d545b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/ganttSelect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/ganttSelecttask.png b/IconThemes/kdeclassic/32x32/actions/ganttSelecttask.png
new file mode 100644
index 00000000..da05ab12
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/ganttSelecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/ganttUnselecttask.png b/IconThemes/kdeclassic/32x32/actions/ganttUnselecttask.png
new file mode 100644
index 00000000..733af7e3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/ganttUnselecttask.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/gear.png b/IconThemes/kdeclassic/32x32/actions/gear.png
new file mode 100644
index 00000000..45ae1a11
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/gear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/gohome.png b/IconThemes/kdeclassic/32x32/actions/gohome.png
new file mode 100644
index 00000000..b823110a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/goto.png b/IconThemes/kdeclassic/32x32/actions/goto.png
new file mode 100644
index 00000000..af00342b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/goto.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/halfencrypted.png b/IconThemes/kdeclassic/32x32/actions/halfencrypted.png
new file mode 100644
index 00000000..77896fa4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/help.png b/IconThemes/kdeclassic/32x32/actions/help.png
new file mode 100644
index 00000000..f6367145
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/help.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/highlighting.png b/IconThemes/kdeclassic/32x32/actions/highlighting.png
new file mode 100644
index 00000000..5c8232f7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/highlighting.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/highscore.png b/IconThemes/kdeclassic/32x32/actions/highscore.png
new file mode 100644
index 00000000..ad797080
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/highscore.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/hilo.png b/IconThemes/kdeclassic/32x32/actions/hilo.png
new file mode 100644
index 00000000..dcb521ab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/hilo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/homepage.png b/IconThemes/kdeclassic/32x32/actions/homepage.png
new file mode 100644
index 00000000..32bfcb2a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/homepage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/identity.png b/IconThemes/kdeclassic/32x32/actions/identity.png
new file mode 100644
index 00000000..19341c0b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/identity.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/images_display.png b/IconThemes/kdeclassic/32x32/actions/images_display.png
new file mode 100644
index 00000000..ced97ac3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/images_display.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/indent.png b/IconThemes/kdeclassic/32x32/actions/indent.png
new file mode 100644
index 00000000..bea32b71
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/indent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/insert_table_col.png b/IconThemes/kdeclassic/32x32/actions/insert_table_col.png
new file mode 100644
index 00000000..eef96aef
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/insert_table_col.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/insert_table_row.png b/IconThemes/kdeclassic/32x32/actions/insert_table_row.png
new file mode 100644
index 00000000..49ac3c4d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/insert_table_row.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/int.png b/IconThemes/kdeclassic/32x32/actions/int.png
new file mode 100644
index 00000000..183e9bf1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/jail_pay.png b/IconThemes/kdeclassic/32x32/actions/jail_pay.png
new file mode 100644
index 00000000..915a7e46
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/jail_pay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/kde.png b/IconThemes/kdeclassic/32x32/actions/kde.png
new file mode 100644
index 00000000..2f557463
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/kde.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/kdeprint_inklevel.png b/IconThemes/kdeclassic/32x32/actions/kdeprint_inklevel.png
new file mode 100644
index 00000000..269f3c60
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/kdeprint_inklevel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/krec_record.png b/IconThemes/kdeclassic/32x32/actions/krec_record.png
new file mode 100644
index 00000000..831561fc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/krec_record.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/ktip.png b/IconThemes/kdeclassic/32x32/actions/ktip.png
new file mode 100644
index 00000000..4b38d5d6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/leftjust.png b/IconThemes/kdeclassic/32x32/actions/leftjust.png
new file mode 100644
index 00000000..def6784d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/leftjust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/lines.png b/IconThemes/kdeclassic/32x32/actions/lines.png
new file mode 100644
index 00000000..dcb521ab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/lines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/list.png b/IconThemes/kdeclassic/32x32/actions/list.png
new file mode 100644
index 00000000..87d3c2d8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/locationbar_erase.png b/IconThemes/kdeclassic/32x32/actions/locationbar_erase.png
new file mode 100644
index 00000000..9681fb93
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/lock.png b/IconThemes/kdeclassic/32x32/actions/lock.png
new file mode 100644
index 00000000..a7fdf3c5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/lock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/lsub.png b/IconThemes/kdeclassic/32x32/actions/lsub.png
new file mode 100644
index 00000000..8eb44f57
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/lsup.png b/IconThemes/kdeclassic/32x32/actions/lsup.png
new file mode 100644
index 00000000..b3c64960
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_find.png b/IconThemes/kdeclassic/32x32/actions/mail_find.png
new file mode 100644
index 00000000..cc47f1fa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_forward.png b/IconThemes/kdeclassic/32x32/actions/mail_forward.png
new file mode 100644
index 00000000..18ac03e7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_generic.png b/IconThemes/kdeclassic/32x32/actions/mail_generic.png
new file mode 100644
index 00000000..929ab827
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_get.png b/IconThemes/kdeclassic/32x32/actions/mail_get.png
new file mode 100644
index 00000000..156ccb2b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_new.png b/IconThemes/kdeclassic/32x32/actions/mail_new.png
new file mode 100644
index 00000000..b3ed63d2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_post_to.png b/IconThemes/kdeclassic/32x32/actions/mail_post_to.png
new file mode 100644
index 00000000..6a9762bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_post_to.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_reply.png b/IconThemes/kdeclassic/32x32/actions/mail_reply.png
new file mode 100644
index 00000000..d0cc4d7c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_replyall.png b/IconThemes/kdeclassic/32x32/actions/mail_replyall.png
new file mode 100644
index 00000000..a7ad3998
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_replylist.png b/IconThemes/kdeclassic/32x32/actions/mail_replylist.png
new file mode 100644
index 00000000..392b3ec5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mail_send.png b/IconThemes/kdeclassic/32x32/actions/mail_send.png
new file mode 100644
index 00000000..8e665d8c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_abs.png b/IconThemes/kdeclassic/32x32/actions/math_abs.png
new file mode 100644
index 00000000..f8eca411
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_abs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_brace.png b/IconThemes/kdeclassic/32x32/actions/math_brace.png
new file mode 100644
index 00000000..72153a05
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_brace.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_brackets.png b/IconThemes/kdeclassic/32x32/actions/math_brackets.png
new file mode 100644
index 00000000..b4463fe2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_brackets.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_frac.png b/IconThemes/kdeclassic/32x32/actions/math_frac.png
new file mode 100644
index 00000000..f321244a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_frac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_int.png b/IconThemes/kdeclassic/32x32/actions/math_int.png
new file mode 100644
index 00000000..183e9bf1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_int.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_lsub.png b/IconThemes/kdeclassic/32x32/actions/math_lsub.png
new file mode 100644
index 00000000..9f3fbf68
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_lsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_lsup.png b/IconThemes/kdeclassic/32x32/actions/math_lsup.png
new file mode 100644
index 00000000..68cf08d3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_lsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_matrix.png b/IconThemes/kdeclassic/32x32/actions/math_matrix.png
new file mode 100644
index 00000000..e30804f0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_onetwomatrix.png b/IconThemes/kdeclassic/32x32/actions/math_onetwomatrix.png
new file mode 100644
index 00000000..02860b75
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_paren.png b/IconThemes/kdeclassic/32x32/actions/math_paren.png
new file mode 100644
index 00000000..77a5bd47
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_prod.png b/IconThemes/kdeclassic/32x32/actions/math_prod.png
new file mode 100644
index 00000000..796b0422
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_rsub.png b/IconThemes/kdeclassic/32x32/actions/math_rsub.png
new file mode 100644
index 00000000..4d7fc7bf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_rsup.png b/IconThemes/kdeclassic/32x32/actions/math_rsup.png
new file mode 100644
index 00000000..bf764e05
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_sqrt.png b/IconThemes/kdeclassic/32x32/actions/math_sqrt.png
new file mode 100644
index 00000000..69df3f61
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/math_sum.png b/IconThemes/kdeclassic/32x32/actions/math_sum.png
new file mode 100644
index 00000000..ae1e2fb5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/math_sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/matrix.png b/IconThemes/kdeclassic/32x32/actions/matrix.png
new file mode 100644
index 00000000..e30804f0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/matrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/menu_new.png b/IconThemes/kdeclassic/32x32/actions/menu_new.png
new file mode 100644
index 00000000..70a50803
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/menu_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/message_reply.png b/IconThemes/kdeclassic/32x32/actions/message_reply.png
new file mode 100644
index 00000000..377f8625
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/message_reply.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/misc.png b/IconThemes/kdeclassic/32x32/actions/misc.png
new file mode 100644
index 00000000..45ae1a11
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/misc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/monop_board.png b/IconThemes/kdeclassic/32x32/actions/monop_board.png
new file mode 100644
index 00000000..c610aadc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/monop_board.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/month.png b/IconThemes/kdeclassic/32x32/actions/month.png
new file mode 100644
index 00000000..5ee4d1c7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/month.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/mouse.png b/IconThemes/kdeclassic/32x32/actions/mouse.png
new file mode 100644
index 00000000..d0c0d21e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/mouse.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_32ndnote.png b/IconThemes/kdeclassic/32x32/actions/music_32ndnote.png
new file mode 100644
index 00000000..a049cd20
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_32ndnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_cleficon.png b/IconThemes/kdeclassic/32x32/actions/music_cleficon.png
new file mode 100644
index 00000000..cbda7989
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_cleficon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_cross.png b/IconThemes/kdeclassic/32x32/actions/music_cross.png
new file mode 100644
index 00000000..53111ee0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_cross.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_dottednote.png b/IconThemes/kdeclassic/32x32/actions/music_dottednote.png
new file mode 100644
index 00000000..85d93019
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_dottednote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_eightnote.png b/IconThemes/kdeclassic/32x32/actions/music_eightnote.png
new file mode 100644
index 00000000..0c05f0a6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_eightnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_fermatenote.png b/IconThemes/kdeclassic/32x32/actions/music_fermatenote.png
new file mode 100644
index 00000000..0ef22f22
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_fermatenote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_flat.png b/IconThemes/kdeclassic/32x32/actions/music_flat.png
new file mode 100644
index 00000000..fe5adfae
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_flat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_fullnote.png b/IconThemes/kdeclassic/32x32/actions/music_fullnote.png
new file mode 100644
index 00000000..c2017281
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_fullnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_halfnote.png b/IconThemes/kdeclassic/32x32/actions/music_halfnote.png
new file mode 100644
index 00000000..f2138f87
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_halfnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_natur.png b/IconThemes/kdeclassic/32x32/actions/music_natur.png
new file mode 100644
index 00000000..ee9dbf12
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_natur.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_quarternote.png b/IconThemes/kdeclassic/32x32/actions/music_quarternote.png
new file mode 100644
index 00000000..4755fca9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_quarternote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/music_sixteenthnote.png b/IconThemes/kdeclassic/32x32/actions/music_sixteenthnote.png
new file mode 100644
index 00000000..09320ba0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/music_sixteenthnote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/news_subscribe.png b/IconThemes/kdeclassic/32x32/actions/news_subscribe.png
new file mode 100644
index 00000000..420937c2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/next.png b/IconThemes/kdeclassic/32x32/actions/next.png
new file mode 100644
index 00000000..18723a9e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/next.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/nextsection.png b/IconThemes/kdeclassic/32x32/actions/nextsection.png
new file mode 100644
index 00000000..1178ad2b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/nextsection.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/onetwomatrix.png b/IconThemes/kdeclassic/32x32/actions/onetwomatrix.png
new file mode 100644
index 00000000..02860b75
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/onetwomatrix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/openterm.png b/IconThemes/kdeclassic/32x32/actions/openterm.png
new file mode 100644
index 00000000..0af32424
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/openterm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/opentermred.png b/IconThemes/kdeclassic/32x32/actions/opentermred.png
new file mode 100644
index 00000000..ae60d60f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/opentermred.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/over.png b/IconThemes/kdeclassic/32x32/actions/over.png
new file mode 100644
index 00000000..1c31cdbe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/over.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/paren.png b/IconThemes/kdeclassic/32x32/actions/paren.png
new file mode 100644
index 00000000..77a5bd47
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/paren.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/percent.png b/IconThemes/kdeclassic/32x32/actions/percent.png
new file mode 100644
index 00000000..e876c30d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/percent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/piano.png b/IconThemes/kdeclassic/32x32/actions/piano.png
new file mode 100644
index 00000000..9d75a570
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/piano.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_eject.png b/IconThemes/kdeclassic/32x32/actions/player_eject.png
new file mode 100644
index 00000000..9896b4a0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_end.png b/IconThemes/kdeclassic/32x32/actions/player_end.png
new file mode 100644
index 00000000..62e08e76
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_end.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_fwd.png b/IconThemes/kdeclassic/32x32/actions/player_fwd.png
new file mode 100644
index 00000000..bf872f39
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_fwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_pause.png b/IconThemes/kdeclassic/32x32/actions/player_pause.png
new file mode 100644
index 00000000..b5833f51
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_play.png b/IconThemes/kdeclassic/32x32/actions/player_play.png
new file mode 100644
index 00000000..0eb0a093
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_play.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_rew.png b/IconThemes/kdeclassic/32x32/actions/player_rew.png
new file mode 100644
index 00000000..5cfaba59
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_rew.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_start.png b/IconThemes/kdeclassic/32x32/actions/player_start.png
new file mode 100644
index 00000000..ccc8bc1b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/player_stop.png b/IconThemes/kdeclassic/32x32/actions/player_stop.png
new file mode 100644
index 00000000..6e617e32
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/power.png b/IconThemes/kdeclassic/32x32/actions/power.png
new file mode 100644
index 00000000..e785191f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/power.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/prec_minus.png b/IconThemes/kdeclassic/32x32/actions/prec_minus.png
new file mode 100644
index 00000000..e873f984
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/prec_minus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/prec_plus.png b/IconThemes/kdeclassic/32x32/actions/prec_plus.png
new file mode 100644
index 00000000..e62c8005
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/prec_plus.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/previous.png b/IconThemes/kdeclassic/32x32/actions/previous.png
new file mode 100644
index 00000000..50b39d15
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/previous.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/prevsection.png b/IconThemes/kdeclassic/32x32/actions/prevsection.png
new file mode 100644
index 00000000..f5c0e18c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/prevsection.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/prod.png b/IconThemes/kdeclassic/32x32/actions/prod.png
new file mode 100644
index 00000000..796b0422
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/prod.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/queue.png b/IconThemes/kdeclassic/32x32/actions/queue.png
new file mode 100644
index 00000000..96745cd4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/queue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/quiz.png b/IconThemes/kdeclassic/32x32/actions/quiz.png
new file mode 100644
index 00000000..226010fc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/quiz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect1.png b/IconThemes/kdeclassic/32x32/actions/rect1.png
new file mode 100644
index 00000000..57b7ef94
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect2.png b/IconThemes/kdeclassic/32x32/actions/rect2.png
new file mode 100644
index 00000000..3d14d9e7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect3.png b/IconThemes/kdeclassic/32x32/actions/rect3.png
new file mode 100644
index 00000000..b6c70772
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect3.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect4.png b/IconThemes/kdeclassic/32x32/actions/rect4.png
new file mode 100644
index 00000000..9893b959
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect5.png b/IconThemes/kdeclassic/32x32/actions/rect5.png
new file mode 100644
index 00000000..0146dde4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect5.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect6.png b/IconThemes/kdeclassic/32x32/actions/rect6.png
new file mode 100644
index 00000000..258b7d64
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect6.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect7.png b/IconThemes/kdeclassic/32x32/actions/rect7.png
new file mode 100644
index 00000000..5fbb2f43
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect7.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rect8.png b/IconThemes/kdeclassic/32x32/actions/rect8.png
new file mode 100644
index 00000000..ebf2c10e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rect8.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/redo.png b/IconThemes/kdeclassic/32x32/actions/redo.png
new file mode 100644
index 00000000..599e4e73
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/redo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/reload.png b/IconThemes/kdeclassic/32x32/actions/reload.png
new file mode 100644
index 00000000..19e85d79
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/reload.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/revert.png b/IconThemes/kdeclassic/32x32/actions/revert.png
new file mode 100644
index 00000000..08c51cfe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/revert.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rightjust.png b/IconThemes/kdeclassic/32x32/actions/rightjust.png
new file mode 100644
index 00000000..968cc1ce
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rightjust.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/ring.png b/IconThemes/kdeclassic/32x32/actions/ring.png
new file mode 100644
index 00000000..dcb521ab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/ring.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/roll.png b/IconThemes/kdeclassic/32x32/actions/roll.png
new file mode 100644
index 00000000..8452f4a8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/roll.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rotate.png b/IconThemes/kdeclassic/32x32/actions/rotate.png
new file mode 100644
index 00000000..d80828db
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rotate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rotate_ccw.png b/IconThemes/kdeclassic/32x32/actions/rotate_ccw.png
new file mode 100644
index 00000000..9e0eade8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rotate_cw.png b/IconThemes/kdeclassic/32x32/actions/rotate_cw.png
new file mode 100644
index 00000000..d677ccf6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rsub.png b/IconThemes/kdeclassic/32x32/actions/rsub.png
new file mode 100644
index 00000000..b40d7600
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rsub.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/rsup.png b/IconThemes/kdeclassic/32x32/actions/rsup.png
new file mode 100644
index 00000000..bc5382a2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/rsup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/run.png b/IconThemes/kdeclassic/32x32/actions/run.png
new file mode 100644
index 00000000..dd840d39
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/run.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/share.png b/IconThemes/kdeclassic/32x32/actions/share.png
new file mode 100644
index 00000000..74fd344b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/share.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/show_side_panel.png b/IconThemes/kdeclassic/32x32/actions/show_side_panel.png
new file mode 100644
index 00000000..4893db43
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/show_side_panel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/signature.png b/IconThemes/kdeclassic/32x32/actions/signature.png
new file mode 100644
index 00000000..5c8232f7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/signature.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/sort_az.png b/IconThemes/kdeclassic/32x32/actions/sort_az.png
new file mode 100644
index 00000000..ec360afc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/sort_az.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/spellcheck.png b/IconThemes/kdeclassic/32x32/actions/spellcheck.png
new file mode 100644
index 00000000..b8247cdf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/spnewgame.png b/IconThemes/kdeclassic/32x32/actions/spnewgame.png
new file mode 100644
index 00000000..ad797080
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/spnewgame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/spnewround.png b/IconThemes/kdeclassic/32x32/actions/spnewround.png
new file mode 100644
index 00000000..5488f6d1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/spnewround.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/sppausegame.png b/IconThemes/kdeclassic/32x32/actions/sppausegame.png
new file mode 100644
index 00000000..483ce4d2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/sppausegame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/sqrt.png b/IconThemes/kdeclassic/32x32/actions/sqrt.png
new file mode 100644
index 00000000..69df3f61
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/sqrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/start.png b/IconThemes/kdeclassic/32x32/actions/start.png
new file mode 100644
index 00000000..9bf7f03f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/start.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/stop.png b/IconThemes/kdeclassic/32x32/actions/stop.png
new file mode 100644
index 00000000..d1c2653c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/stop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/sum.png b/IconThemes/kdeclassic/32x32/actions/sum.png
new file mode 100644
index 00000000..ae1e2fb5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/sum.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_breakoff.png b/IconThemes/kdeclassic/32x32/actions/tab_breakoff.png
new file mode 100644
index 00000000..fa95de4b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_breakoff.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_duplicate.png b/IconThemes/kdeclassic/32x32/actions/tab_duplicate.png
new file mode 100644
index 00000000..c5af6ba3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_duplicate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_move_left.png b/IconThemes/kdeclassic/32x32/actions/tab_move_left.png
new file mode 100644
index 00000000..7e7f16f5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_move_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_move_right.png b/IconThemes/kdeclassic/32x32/actions/tab_move_right.png
new file mode 100644
index 00000000..0d838f68
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_move_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_new.png b/IconThemes/kdeclassic/32x32/actions/tab_new.png
new file mode 100644
index 00000000..272841a0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_new.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_new_bg.png b/IconThemes/kdeclassic/32x32/actions/tab_new_bg.png
new file mode 100644
index 00000000..de14b2cf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_new_bg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_remove.png b/IconThemes/kdeclassic/32x32/actions/tab_remove.png
new file mode 100644
index 00000000..f4671161
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/tab_remove_other.png b/IconThemes/kdeclassic/32x32/actions/tab_remove_other.png
new file mode 100644
index 00000000..9e7e09af
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/tab_remove_other.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_block.png b/IconThemes/kdeclassic/32x32/actions/text_block.png
new file mode 100644
index 00000000..c4a9b8cc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_block.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_bold.png b/IconThemes/kdeclassic/32x32/actions/text_bold.png
new file mode 100644
index 00000000..e6d254d5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_bold.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_center.png b/IconThemes/kdeclassic/32x32/actions/text_center.png
new file mode 100644
index 00000000..4ddfee40
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_center.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_italic.png b/IconThemes/kdeclassic/32x32/actions/text_italic.png
new file mode 100644
index 00000000..e58822f1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_italic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_left.png b/IconThemes/kdeclassic/32x32/actions/text_left.png
new file mode 100644
index 00000000..54d22a3a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_left.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_right.png b/IconThemes/kdeclassic/32x32/actions/text_right.png
new file mode 100644
index 00000000..20dba5b8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/text_under.png b/IconThemes/kdeclassic/32x32/actions/text_under.png
new file mode 100644
index 00000000..cd2acf80
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/text_under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/today.png b/IconThemes/kdeclassic/32x32/actions/today.png
new file mode 100644
index 00000000..564518e1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/today.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/todo.png b/IconThemes/kdeclassic/32x32/actions/todo.png
new file mode 100644
index 00000000..c1fc7ca5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/todo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/toggle_log.png b/IconThemes/kdeclassic/32x32/actions/toggle_log.png
new file mode 100644
index 00000000..8039e0a5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/toggle_log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/top.png b/IconThemes/kdeclassic/32x32/actions/top.png
new file mode 100644
index 00000000..4b2a52d7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/top.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/under.png b/IconThemes/kdeclassic/32x32/actions/under.png
new file mode 100644
index 00000000..31894a5d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/under.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/undo.png b/IconThemes/kdeclassic/32x32/actions/undo.png
new file mode 100644
index 00000000..ce0706bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/undo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/unindent.png b/IconThemes/kdeclassic/32x32/actions/unindent.png
new file mode 100644
index 00000000..406d1fa3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/unindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/unlock.png b/IconThemes/kdeclassic/32x32/actions/unlock.png
new file mode 100644
index 00000000..fb75ee4a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/up.png b/IconThemes/kdeclassic/32x32/actions/up.png
new file mode 100644
index 00000000..f00dc40b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/up.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view.png b/IconThemes/kdeclassic/32x32/actions/view.png
new file mode 100644
index 00000000..038d62f0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_bottom.png b/IconThemes/kdeclassic/32x32/actions/view_bottom.png
new file mode 100644
index 00000000..d69f2303
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_choose.png b/IconThemes/kdeclassic/32x32/actions/view_choose.png
new file mode 100644
index 00000000..6ec87114
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_detailed.png b/IconThemes/kdeclassic/32x32/actions/view_detailed.png
new file mode 100644
index 00000000..51654f75
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_fit_height.png b/IconThemes/kdeclassic/32x32/actions/view_fit_height.png
new file mode 100644
index 00000000..c1f6b4d1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_fit_height.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_fit_width.png b/IconThemes/kdeclassic/32x32/actions/view_fit_width.png
new file mode 100644
index 00000000..42a9d211
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_fit_width.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_fit_window.png b/IconThemes/kdeclassic/32x32/actions/view_fit_window.png
new file mode 100644
index 00000000..df887ea3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_fit_window.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_icon.png b/IconThemes/kdeclassic/32x32/actions/view_icon.png
new file mode 100644
index 00000000..548d9faa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_left_right.png b/IconThemes/kdeclassic/32x32/actions/view_left_right.png
new file mode 100644
index 00000000..2d48c0b9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_multicolumn.png b/IconThemes/kdeclassic/32x32/actions/view_multicolumn.png
new file mode 100644
index 00000000..92df5ca9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_remove.png b/IconThemes/kdeclassic/32x32/actions/view_remove.png
new file mode 100644
index 00000000..8e994733
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_right.png b/IconThemes/kdeclassic/32x32/actions/view_right.png
new file mode 100644
index 00000000..a1efa2fc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_text.png b/IconThemes/kdeclassic/32x32/actions/view_text.png
new file mode 100644
index 00000000..6daef9e5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_top_bottom.png b/IconThemes/kdeclassic/32x32/actions/view_top_bottom.png
new file mode 100644
index 00000000..e9c8f5ba
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/view_tree.png b/IconThemes/kdeclassic/32x32/actions/view_tree.png
new file mode 100644
index 00000000..bb79db30
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/viewmag+.png b/IconThemes/kdeclassic/32x32/actions/viewmag+.png
new file mode 100644
index 00000000..10d79033
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/viewmag-.png b/IconThemes/kdeclassic/32x32/actions/viewmag-.png
new file mode 100644
index 00000000..a1c17453
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/viewmag.png b/IconThemes/kdeclassic/32x32/actions/viewmag.png
new file mode 100644
index 00000000..028b97bc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/volume.png b/IconThemes/kdeclassic/32x32/actions/volume.png
new file mode 100644
index 00000000..0e1f3dec
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/volume.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/window_fullscreen.png b/IconThemes/kdeclassic/32x32/actions/window_fullscreen.png
new file mode 100644
index 00000000..1ba55180
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/window_nofullscreen.png b/IconThemes/kdeclassic/32x32/actions/window_nofullscreen.png
new file mode 100644
index 00000000..c7429e12
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/actions/wizard.png b/IconThemes/kdeclassic/32x32/actions/wizard.png
new file mode 100644
index 00000000..b00db249
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/actions/wizard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/access.png b/IconThemes/kdeclassic/32x32/apps/access.png
new file mode 100644
index 00000000..83f25410
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/access.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/acroread.png b/IconThemes/kdeclassic/32x32/apps/acroread.png
new file mode 100644
index 00000000..e28414a5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/acroread.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/agent.png b/IconThemes/kdeclassic/32x32/apps/agent.png
new file mode 100644
index 00000000..a7869d48
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/agent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/aktion.png b/IconThemes/kdeclassic/32x32/apps/aktion.png
new file mode 100644
index 00000000..eb8239ab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/aktion.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/alevt.png b/IconThemes/kdeclassic/32x32/apps/alevt.png
new file mode 100644
index 00000000..892def18
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/alevt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/amor.png b/IconThemes/kdeclassic/32x32/apps/amor.png
new file mode 100644
index 00000000..fd250c9a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/amor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/applixware.png b/IconThemes/kdeclassic/32x32/apps/applixware.png
new file mode 100644
index 00000000..84632e2c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/applixware.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ark.png b/IconThemes/kdeclassic/32x32/apps/ark.png
new file mode 100644
index 00000000..c0c60646
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/atlantik.png b/IconThemes/kdeclassic/32x32/apps/atlantik.png
new file mode 100644
index 00000000..daa8ec15
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/atlantik.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/atlantikdesigner.png b/IconThemes/kdeclassic/32x32/apps/atlantikdesigner.png
new file mode 100644
index 00000000..881a148c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/atlantikdesigner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/background.png b/IconThemes/kdeclassic/32x32/apps/background.png
new file mode 100644
index 00000000..28f234a4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/background.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/bell.png b/IconThemes/kdeclassic/32x32/apps/bell.png
new file mode 100644
index 00000000..7b67729f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/bell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/blender.png b/IconThemes/kdeclassic/32x32/apps/blender.png
new file mode 100644
index 00000000..e79e2338
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/blender.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/cache.png b/IconThemes/kdeclassic/32x32/apps/cache.png
new file mode 100644
index 00000000..c1bc58b4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/cache.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/clanbomber.png b/IconThemes/kdeclassic/32x32/apps/clanbomber.png
new file mode 100644
index 00000000..77e1c3fd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/clanbomber.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/clock.png b/IconThemes/kdeclassic/32x32/apps/clock.png
new file mode 100644
index 00000000..b018a343
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/clock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/colors.png b/IconThemes/kdeclassic/32x32/apps/colors.png
new file mode 100644
index 00000000..c04fc290
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/colors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/cookie.png b/IconThemes/kdeclassic/32x32/apps/cookie.png
new file mode 100644
index 00000000..ecba4455
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/date.png b/IconThemes/kdeclassic/32x32/apps/date.png
new file mode 100644
index 00000000..b018a343
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/date.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/designer.png b/IconThemes/kdeclassic/32x32/apps/designer.png
new file mode 100644
index 00000000..3f6fa7a1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/designer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/dlgedit.png b/IconThemes/kdeclassic/32x32/apps/dlgedit.png
new file mode 100644
index 00000000..55ff5268
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/dlgedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/dolphin.png b/IconThemes/kdeclassic/32x32/apps/dolphin.png
new file mode 100644
index 00000000..a6f4e2df
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/dolphin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/edu_languages.png b/IconThemes/kdeclassic/32x32/apps/edu_languages.png
new file mode 100644
index 00000000..9849f506
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/edu_languages.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/edu_mathematics.png b/IconThemes/kdeclassic/32x32/apps/edu_mathematics.png
new file mode 100644
index 00000000..69df3f61
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/edu_mathematics.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/edu_miscellanous.png b/IconThemes/kdeclassic/32x32/apps/edu_miscellanous.png
new file mode 100644
index 00000000..ece5f9ac
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/edu_miscellanous.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/edu_science.png b/IconThemes/kdeclassic/32x32/apps/edu_science.png
new file mode 100644
index 00000000..ed83745e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/edu_science.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/emacs.png b/IconThemes/kdeclassic/32x32/apps/emacs.png
new file mode 100644
index 00000000..b8a9453a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/emacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/email.png b/IconThemes/kdeclassic/32x32/apps/email.png
new file mode 100644
index 00000000..0ded3cf7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/email.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/energy.png b/IconThemes/kdeclassic/32x32/apps/energy.png
new file mode 100644
index 00000000..242e73da
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/energy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/energy_star.png b/IconThemes/kdeclassic/32x32/apps/energy_star.png
new file mode 100644
index 00000000..e69b2800
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/enhanced_browsing.png b/IconThemes/kdeclassic/32x32/apps/enhanced_browsing.png
new file mode 100644
index 00000000..278f2862
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/error.png b/IconThemes/kdeclassic/32x32/apps/error.png
new file mode 100644
index 00000000..caf01793
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/error.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/filetypes.png b/IconThemes/kdeclassic/32x32/apps/filetypes.png
new file mode 100644
index 00000000..1f1bf2bf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/flashkard.png b/IconThemes/kdeclassic/32x32/apps/flashkard.png
new file mode 100644
index 00000000..69475134
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/flashkard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/fonts.png b/IconThemes/kdeclassic/32x32/apps/fonts.png
new file mode 100644
index 00000000..b1232503
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/gimp.png b/IconThemes/kdeclassic/32x32/apps/gimp.png
new file mode 100644
index 00000000..2837a870
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/go.png b/IconThemes/kdeclassic/32x32/apps/go.png
new file mode 100644
index 00000000..cd5ad1ca
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/go.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/gv.png b/IconThemes/kdeclassic/32x32/apps/gv.png
new file mode 100644
index 00000000..13e6e93f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/gv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/gvim.png b/IconThemes/kdeclassic/32x32/apps/gvim.png
new file mode 100644
index 00000000..9f77bec3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/gvim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/help_index.png b/IconThemes/kdeclassic/32x32/apps/help_index.png
new file mode 100644
index 00000000..d0650a65
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/help_index.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/hwinfo.png b/IconThemes/kdeclassic/32x32/apps/hwinfo.png
new file mode 100644
index 00000000..dd91668e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/icons.png b/IconThemes/kdeclassic/32x32/apps/icons.png
new file mode 100644
index 00000000..a9ae525f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/icons.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/iconthemes.png b/IconThemes/kdeclassic/32x32/apps/iconthemes.png
new file mode 100644
index 00000000..f2c0ef4b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/input_devices_settings.png b/IconThemes/kdeclassic/32x32/apps/input_devices_settings.png
new file mode 100644
index 00000000..c70ad587
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kaboodle.png b/IconThemes/kdeclassic/32x32/apps/kaboodle.png
new file mode 100644
index 00000000..64e63a65
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kaboodle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kaddressbook.png b/IconThemes/kdeclassic/32x32/apps/kaddressbook.png
new file mode 100644
index 00000000..6d575048
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kalarm.png b/IconThemes/kdeclassic/32x32/apps/kalarm.png
new file mode 100644
index 00000000..f312e3f9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kalarm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kalzium.png b/IconThemes/kdeclassic/32x32/apps/kalzium.png
new file mode 100644
index 00000000..0c6c1a83
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kalzium.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kaphorism.png b/IconThemes/kdeclassic/32x32/apps/kaphorism.png
new file mode 100644
index 00000000..9c53a2b9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kaphorism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kappfinder.png b/IconThemes/kdeclassic/32x32/apps/kappfinder.png
new file mode 100644
index 00000000..cbe4c1ea
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kappfinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/karbon.png b/IconThemes/kdeclassic/32x32/apps/karbon.png
new file mode 100644
index 00000000..796b393f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/karm.png b/IconThemes/kdeclassic/32x32/apps/karm.png
new file mode 100644
index 00000000..f7b5380c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/karm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kasteroids.png b/IconThemes/kdeclassic/32x32/apps/kasteroids.png
new file mode 100644
index 00000000..3305729a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kasteroids.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kate.png b/IconThemes/kdeclassic/32x32/apps/kate.png
new file mode 100644
index 00000000..66441606
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/katomic.png b/IconThemes/kdeclassic/32x32/apps/katomic.png
new file mode 100644
index 00000000..bf274d25
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/katomic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kaudiocreator.png b/IconThemes/kdeclassic/32x32/apps/kaudiocreator.png
new file mode 100644
index 00000000..5fad9e0e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kaudiocreator.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kbackgammon.png b/IconThemes/kdeclassic/32x32/apps/kbackgammon.png
new file mode 100644
index 00000000..762994e6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kbackgammon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kbackgammon_engine.png b/IconThemes/kdeclassic/32x32/apps/kbackgammon_engine.png
new file mode 100644
index 00000000..d30708ac
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kbackgammon_engine.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kbattleship.png b/IconThemes/kdeclassic/32x32/apps/kbattleship.png
new file mode 100644
index 00000000..1d401be8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kbattleship.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kblackbox.png b/IconThemes/kdeclassic/32x32/apps/kblackbox.png
new file mode 100644
index 00000000..18a55b0d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kblackbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kbounce.png b/IconThemes/kdeclassic/32x32/apps/kbounce.png
new file mode 100644
index 00000000..1a1168a9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kbounce.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kbruch.png b/IconThemes/kdeclassic/32x32/apps/kbruch.png
new file mode 100644
index 00000000..134287f0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kbruch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcalc.png b/IconThemes/kdeclassic/32x32/apps/kcalc.png
new file mode 100644
index 00000000..61a15b49
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kchart.png b/IconThemes/kdeclassic/32x32/apps/kchart.png
new file mode 100644
index 00000000..a83867ee
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kchart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmdevices.png b/IconThemes/kdeclassic/32x32/apps/kcmdevices.png
new file mode 100644
index 00000000..95a5bdf6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmdf.png b/IconThemes/kdeclassic/32x32/apps/kcmdf.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmdrkonqi.png b/IconThemes/kdeclassic/32x32/apps/kcmdrkonqi.png
new file mode 100644
index 00000000..26bb684c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmdrkonqi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmfontinst.png b/IconThemes/kdeclassic/32x32/apps/kcmfontinst.png
new file mode 100644
index 00000000..b1232503
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmfontinst.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmkicker.png b/IconThemes/kdeclassic/32x32/apps/kcmkicker.png
new file mode 100644
index 00000000..6128f6d7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmkwm.png b/IconThemes/kdeclassic/32x32/apps/kcmkwm.png
new file mode 100644
index 00000000..3b534edb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmmemory.png b/IconThemes/kdeclassic/32x32/apps/kcmmemory.png
new file mode 100644
index 00000000..9c25d14c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmmidi.png b/IconThemes/kdeclassic/32x32/apps/kcmmidi.png
new file mode 100644
index 00000000..e6df431b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmpartitions.png b/IconThemes/kdeclassic/32x32/apps/kcmpartitions.png
new file mode 100644
index 00000000..8b2f12a9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmpci.png b/IconThemes/kdeclassic/32x32/apps/kcmpci.png
new file mode 100644
index 00000000..7cc040a4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmprocessor.png b/IconThemes/kdeclassic/32x32/apps/kcmprocessor.png
new file mode 100644
index 00000000..72b2b469
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmscsi.png b/IconThemes/kdeclassic/32x32/apps/kcmscsi.png
new file mode 100644
index 00000000..d09ff08a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmscsi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmsound.png b/IconThemes/kdeclassic/32x32/apps/kcmsound.png
new file mode 100644
index 00000000..fc63d368
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmsystem.png b/IconThemes/kdeclassic/32x32/apps/kcmsystem.png
new file mode 100644
index 00000000..4c3312ff
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcmx.png b/IconThemes/kdeclassic/32x32/apps/kcmx.png
new file mode 100644
index 00000000..8046dabe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcoloredit.png b/IconThemes/kdeclassic/32x32/apps/kcoloredit.png
new file mode 100644
index 00000000..471f3920
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcontrol.png b/IconThemes/kdeclassic/32x32/apps/kcontrol.png
new file mode 100644
index 00000000..1f455648
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kcron.png b/IconThemes/kdeclassic/32x32/apps/kcron.png
new file mode 100644
index 00000000..1cfe6b75
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kcron.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdat.png b/IconThemes/kdeclassic/32x32/apps/kdat.png
new file mode 100644
index 00000000..8f37f561
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdat_backup.png b/IconThemes/kdeclassic/32x32/apps/kdat_backup.png
new file mode 100644
index 00000000..2ba1feaa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdat_backup.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdat_restore.png b/IconThemes/kdeclassic/32x32/apps/kdat_restore.png
new file mode 100644
index 00000000..8638fe78
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdat_restore.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdat_verify.png b/IconThemes/kdeclassic/32x32/apps/kdat_verify.png
new file mode 100644
index 00000000..8e76d2a1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdat_verify.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer.png
new file mode 100644
index 00000000..0c0520e1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class.png
new file mode 100644
index 00000000..78069b43
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_process.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_process.png
new file mode 100644
index 00000000..582f0bbb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_stopped.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_stopped.png
new file mode 100644
index 00000000..27f19843
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_class_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_process.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_process.png
new file mode 100644
index 00000000..7e2b6dce
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote.png
new file mode 100644
index 00000000..afc3d0cf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_process.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_process.png
new file mode 100644
index 00000000..deecf7b3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_process.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_stopped.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_stopped.png
new file mode 100644
index 00000000..728e62a9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_remote_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_stopped.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_stopped.png
new file mode 100644
index 00000000..b74f72a7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_stopped.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_users.png b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_users.png
new file mode 100644
index 00000000..92e6e59a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprint_printer_users.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdeprintfax.png b/IconThemes/kdeclassic/32x32/apps/kdeprintfax.png
new file mode 100644
index 00000000..e7ebff77
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdeprintfax.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdevelop.png b/IconThemes/kdeclassic/32x32/apps/kdevelop.png
new file mode 100644
index 00000000..402265ed
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdf.png b/IconThemes/kdeclassic/32x32/apps/kdf.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdict.png b/IconThemes/kdeclassic/32x32/apps/kdict.png
new file mode 100644
index 00000000..690c04e3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdict.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdisknav.png b/IconThemes/kdeclassic/32x32/apps/kdisknav.png
new file mode 100644
index 00000000..e198d478
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdmconfig.png b/IconThemes/kdeclassic/32x32/apps/kdmconfig.png
new file mode 100644
index 00000000..6e3689fc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kdvi.png b/IconThemes/kdeclassic/32x32/apps/kdvi.png
new file mode 100644
index 00000000..65cd2dbb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kdvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kedit.png b/IconThemes/kdeclassic/32x32/apps/kedit.png
new file mode 100644
index 00000000..b7691739
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/keditbookmarks.png b/IconThemes/kdeclassic/32x32/apps/keditbookmarks.png
new file mode 100644
index 00000000..d4a51282
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/keditbookmarks.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/keduca.png b/IconThemes/kdeclassic/32x32/apps/keduca.png
new file mode 100644
index 00000000..c2b4f532
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/keduca.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kenolaba.png b/IconThemes/kdeclassic/32x32/apps/kenolaba.png
new file mode 100644
index 00000000..f8fadd78
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kenolaba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/key_bindings.png b/IconThemes/kdeclassic/32x32/apps/key_bindings.png
new file mode 100644
index 00000000..49bf5f63
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/keyboard.png b/IconThemes/kdeclassic/32x32/apps/keyboard.png
new file mode 100644
index 00000000..cc2e265d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/keyboard_layout.png b/IconThemes/kdeclassic/32x32/apps/keyboard_layout.png
new file mode 100644
index 00000000..c742c406
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kfax.png b/IconThemes/kdeclassic/32x32/apps/kfax.png
new file mode 100644
index 00000000..3d3f2aaf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kfax.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kfind.png b/IconThemes/kdeclassic/32x32/apps/kfind.png
new file mode 100644
index 00000000..7d51db41
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kfind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kfloppy.png b/IconThemes/kdeclassic/32x32/apps/kfloppy.png
new file mode 100644
index 00000000..c040e657
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kfm.png b/IconThemes/kdeclassic/32x32/apps/kfm.png
new file mode 100644
index 00000000..88e4799f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kfm_home.png b/IconThemes/kdeclassic/32x32/apps/kfm_home.png
new file mode 100644
index 00000000..35ec786f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kformula.png b/IconThemes/kdeclassic/32x32/apps/kformula.png
new file mode 100644
index 00000000..cb720564
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kformula.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kghostview.png b/IconThemes/kdeclassic/32x32/apps/kghostview.png
new file mode 100644
index 00000000..7ec9f251
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kghostview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/khangman.png b/IconThemes/kdeclassic/32x32/apps/khangman.png
new file mode 100644
index 00000000..445ef463
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/khangman.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/khelpcenter.png b/IconThemes/kdeclassic/32x32/apps/khelpcenter.png
new file mode 100644
index 00000000..238a6cfd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/khexedit.png b/IconThemes/kdeclassic/32x32/apps/khexedit.png
new file mode 100644
index 00000000..cc64da02
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/khexedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kiconedit.png b/IconThemes/kdeclassic/32x32/apps/kiconedit.png
new file mode 100644
index 00000000..604b17dd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kiconedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kig.png b/IconThemes/kdeclassic/32x32/apps/kig.png
new file mode 100644
index 00000000..a348728b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kit.png b/IconThemes/kdeclassic/32x32/apps/kit.png
new file mode 100644
index 00000000..12b5c4e3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kivio.png b/IconThemes/kdeclassic/32x32/apps/kivio.png
new file mode 100644
index 00000000..aef7ea84
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kivio.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kjobviewer.png b/IconThemes/kdeclassic/32x32/apps/kjobviewer.png
new file mode 100644
index 00000000..54f45cbd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kjots.png b/IconThemes/kdeclassic/32x32/apps/kjots.png
new file mode 100644
index 00000000..6a8dfcab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kjots.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kjumpingcube.png b/IconThemes/kdeclassic/32x32/apps/kjumpingcube.png
new file mode 100644
index 00000000..e496f268
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kjumpingcube.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/klatin.png b/IconThemes/kdeclassic/32x32/apps/klatin.png
new file mode 100644
index 00000000..d9999c95
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/klatin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/klettres.png b/IconThemes/kdeclassic/32x32/apps/klettres.png
new file mode 100644
index 00000000..f39f3dd0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/klettres.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/klines.png b/IconThemes/kdeclassic/32x32/apps/klines.png
new file mode 100644
index 00000000..18bbcda4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/klines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/klipper.png b/IconThemes/kdeclassic/32x32/apps/klipper.png
new file mode 100644
index 00000000..c7a631e4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmahjongg.png b/IconThemes/kdeclassic/32x32/apps/kmahjongg.png
new file mode 100644
index 00000000..204188e1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmahjongg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmail.png b/IconThemes/kdeclassic/32x32/apps/kmail.png
new file mode 100644
index 00000000..5a435fe1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmailcvt.png b/IconThemes/kdeclassic/32x32/apps/kmailcvt.png
new file mode 100644
index 00000000..079ffd6d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmailcvt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmathtool.png b/IconThemes/kdeclassic/32x32/apps/kmathtool.png
new file mode 100644
index 00000000..84d750d2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmathtool.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmenu.png b/IconThemes/kdeclassic/32x32/apps/kmenu.png
new file mode 100644
index 00000000..cd5ad1ca
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmenuedit.png b/IconThemes/kdeclassic/32x32/apps/kmenuedit.png
new file mode 100644
index 00000000..20f57ed6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmessedwords.png b/IconThemes/kdeclassic/32x32/apps/kmessedwords.png
new file mode 100644
index 00000000..764a82da
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmessedwords.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmid.png b/IconThemes/kdeclassic/32x32/apps/kmid.png
new file mode 100644
index 00000000..8d127bdd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmid.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmidi.png b/IconThemes/kdeclassic/32x32/apps/kmidi.png
new file mode 100644
index 00000000..8fa7a285
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmines.png b/IconThemes/kdeclassic/32x32/apps/kmines.png
new file mode 100644
index 00000000..b8559ece
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmix.png b/IconThemes/kdeclassic/32x32/apps/kmix.png
new file mode 100644
index 00000000..0e2e41bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmoon.png b/IconThemes/kdeclassic/32x32/apps/kmoon.png
new file mode 100644
index 00000000..65deb099
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmoon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kmplot.png b/IconThemes/kdeclassic/32x32/apps/kmplot.png
new file mode 100644
index 00000000..1df1b5aa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kmplot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/knewsticker.png b/IconThemes/kdeclassic/32x32/apps/knewsticker.png
new file mode 100644
index 00000000..989f58b4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/knewsticker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/knode.png b/IconThemes/kdeclassic/32x32/apps/knode.png
new file mode 100644
index 00000000..989f58b4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/knode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/knotes.png b/IconThemes/kdeclassic/32x32/apps/knotes.png
new file mode 100644
index 00000000..d3abe223
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/knotes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/knotesconduit.png b/IconThemes/kdeclassic/32x32/apps/knotesconduit.png
new file mode 100644
index 00000000..6bca7900
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/knotesconduit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/knotify.png b/IconThemes/kdeclassic/32x32/apps/knotify.png
new file mode 100644
index 00000000..aa3b199d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kodo.png b/IconThemes/kdeclassic/32x32/apps/kodo.png
new file mode 100644
index 00000000..3bcf97a2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kodo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kolf.png b/IconThemes/kdeclassic/32x32/apps/kolf.png
new file mode 100644
index 00000000..4ee095d2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kolf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/konqsidebar_mediaplayer.png b/IconThemes/kdeclassic/32x32/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..08036333
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/konqueror.png b/IconThemes/kdeclassic/32x32/apps/konqueror.png
new file mode 100644
index 00000000..116000c3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/konquest.png b/IconThemes/kdeclassic/32x32/apps/konquest.png
new file mode 100644
index 00000000..cb04799c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/konquest.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/konsole.png b/IconThemes/kdeclassic/32x32/apps/konsole.png
new file mode 100644
index 00000000..0907258e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kontour.png b/IconThemes/kdeclassic/32x32/apps/kontour.png
new file mode 100644
index 00000000..87e454e6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kontour.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/korganizer.png b/IconThemes/kdeclassic/32x32/apps/korganizer.png
new file mode 100644
index 00000000..56e24b14
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/korn.png b/IconThemes/kdeclassic/32x32/apps/korn.png
new file mode 100644
index 00000000..7f8b0062
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/korn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpackage.png b/IconThemes/kdeclassic/32x32/apps/kpackage.png
new file mode 100644
index 00000000..496ad5c8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpager.png b/IconThemes/kdeclassic/32x32/apps/kpager.png
new file mode 100644
index 00000000..00e5c0c2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpager.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpaint.png b/IconThemes/kdeclassic/32x32/apps/kpaint.png
new file mode 100644
index 00000000..6f3ebe91
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpaint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpat.png b/IconThemes/kdeclassic/32x32/apps/kpat.png
new file mode 100644
index 00000000..243e17e0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpercentage.png b/IconThemes/kdeclassic/32x32/apps/kpercentage.png
new file mode 100644
index 00000000..abedd7db
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpercentage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpersonalizer.png b/IconThemes/kdeclassic/32x32/apps/kpersonalizer.png
new file mode 100644
index 00000000..12542c8a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpersonalizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpf.png b/IconThemes/kdeclassic/32x32/apps/kpf.png
new file mode 100644
index 00000000..2d2d47dc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpilot.png b/IconThemes/kdeclassic/32x32/apps/kpilot.png
new file mode 100644
index 00000000..1be0a523
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpoker.png b/IconThemes/kdeclassic/32x32/apps/kpoker.png
new file mode 100644
index 00000000..e96253ab
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpoker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpovmodeler.png b/IconThemes/kdeclassic/32x32/apps/kpovmodeler.png
new file mode 100644
index 00000000..5ae78c4f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpovmodeler.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kppp.png b/IconThemes/kdeclassic/32x32/apps/kppp.png
new file mode 100644
index 00000000..b73190a6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kpresenter.png b/IconThemes/kdeclassic/32x32/apps/kpresenter.png
new file mode 100644
index 00000000..5a9142d0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/krdc.png b/IconThemes/kdeclassic/32x32/apps/krdc.png
new file mode 100644
index 00000000..17dbd009
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/krdc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kreversi.png b/IconThemes/kdeclassic/32x32/apps/kreversi.png
new file mode 100644
index 00000000..d43830b5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kreversi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/krfb.png b/IconThemes/kdeclassic/32x32/apps/krfb.png
new file mode 100644
index 00000000..17dbd009
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/krita.png b/IconThemes/kdeclassic/32x32/apps/krita.png
new file mode 100644
index 00000000..7fe1f363
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/krita.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kruler.png b/IconThemes/kdeclassic/32x32/apps/kruler.png
new file mode 100644
index 00000000..bd4cc0f5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kruler.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksame.png b/IconThemes/kdeclassic/32x32/apps/ksame.png
new file mode 100644
index 00000000..035e898e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kscd.png b/IconThemes/kdeclassic/32x32/apps/kscd.png
new file mode 100644
index 00000000..1d482dbc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kscreensaver.png b/IconThemes/kdeclassic/32x32/apps/kscreensaver.png
new file mode 100644
index 00000000..16767702
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kshisen.png b/IconThemes/kdeclassic/32x32/apps/kshisen.png
new file mode 100644
index 00000000..e1b7495d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kshisen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksim.png b/IconThemes/kdeclassic/32x32/apps/ksim.png
new file mode 100644
index 00000000..d0e693c6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksirc.png b/IconThemes/kdeclassic/32x32/apps/ksirc.png
new file mode 100644
index 00000000..f2abf6de
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksirc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksirtet.png b/IconThemes/kdeclassic/32x32/apps/ksirtet.png
new file mode 100644
index 00000000..8d40b8a9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksirtet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksmiletris.png b/IconThemes/kdeclassic/32x32/apps/ksmiletris.png
new file mode 100644
index 00000000..6fa70ce6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksnake.png b/IconThemes/kdeclassic/32x32/apps/ksnake.png
new file mode 100644
index 00000000..1f08cede
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksnake.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksnapshot.png b/IconThemes/kdeclassic/32x32/apps/ksnapshot.png
new file mode 100644
index 00000000..78b24a6b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksnapshot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksokoban.png b/IconThemes/kdeclassic/32x32/apps/ksokoban.png
new file mode 100644
index 00000000..b0ba62ff
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksokoban.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kspaceduel.png b/IconThemes/kdeclassic/32x32/apps/kspaceduel.png
new file mode 100644
index 00000000..ae33066d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kspaceduel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kspread.png b/IconThemes/kdeclassic/32x32/apps/kspread.png
new file mode 100644
index 00000000..6d46d1eb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kspread.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kstars.png b/IconThemes/kdeclassic/32x32/apps/kstars.png
new file mode 100644
index 00000000..d5b3f28d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kstars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksysguard.png b/IconThemes/kdeclassic/32x32/apps/ksysguard.png
new file mode 100644
index 00000000..d0991734
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ksysv.png b/IconThemes/kdeclassic/32x32/apps/ksysv.png
new file mode 100644
index 00000000..2fe9de52
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktalkd.png b/IconThemes/kdeclassic/32x32/apps/ktalkd.png
new file mode 100644
index 00000000..656e624a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kthememgr.png b/IconThemes/kdeclassic/32x32/apps/kthememgr.png
new file mode 100644
index 00000000..6080739e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktimemon.png b/IconThemes/kdeclassic/32x32/apps/ktimemon.png
new file mode 100644
index 00000000..71ff4761
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktimemon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktip.png b/IconThemes/kdeclassic/32x32/apps/ktip.png
new file mode 100644
index 00000000..4b38d5d6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktouch.png b/IconThemes/kdeclassic/32x32/apps/ktouch.png
new file mode 100644
index 00000000..9f6ee08f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktouch.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktron.png b/IconThemes/kdeclassic/32x32/apps/ktron.png
new file mode 100644
index 00000000..ee3f237f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktron.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/ktuberling.png b/IconThemes/kdeclassic/32x32/apps/ktuberling.png
new file mode 100644
index 00000000..3b44966d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/ktuberling.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kudesigner.png b/IconThemes/kdeclassic/32x32/apps/kudesigner.png
new file mode 100644
index 00000000..12542c8a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kudesigner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kugar.png b/IconThemes/kdeclassic/32x32/apps/kugar.png
new file mode 100644
index 00000000..187d5c5a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kugar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kuickshow.png b/IconThemes/kdeclassic/32x32/apps/kuickshow.png
new file mode 100644
index 00000000..e70e573e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kuickshow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kuser.png b/IconThemes/kdeclassic/32x32/apps/kuser.png
new file mode 100644
index 00000000..6983e35a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kview.png b/IconThemes/kdeclassic/32x32/apps/kview.png
new file mode 100644
index 00000000..ac34d6d0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kviewshell.png b/IconThemes/kdeclassic/32x32/apps/kviewshell.png
new file mode 100644
index 00000000..05e47458
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kviewshell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kvoctrain.png b/IconThemes/kdeclassic/32x32/apps/kvoctrain.png
new file mode 100644
index 00000000..7c5e8b9f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kvoctrain.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kwikdisk.png b/IconThemes/kdeclassic/32x32/apps/kwikdisk.png
new file mode 100644
index 00000000..5ad3d42d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kwikdisk.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kwin.png b/IconThemes/kdeclassic/32x32/apps/kwin.png
new file mode 100644
index 00000000..00e5c0c2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kwin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kwin4.png b/IconThemes/kdeclassic/32x32/apps/kwin4.png
new file mode 100644
index 00000000..6898f174
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kwin4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kword.png b/IconThemes/kdeclassic/32x32/apps/kword.png
new file mode 100644
index 00000000..f38bd727
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kword.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kworldclock.png b/IconThemes/kdeclassic/32x32/apps/kworldclock.png
new file mode 100644
index 00000000..b1cedde3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kworldclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kwrite.png b/IconThemes/kdeclassic/32x32/apps/kwrite.png
new file mode 100644
index 00000000..66441606
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kxconfig.png b/IconThemes/kdeclassic/32x32/apps/kxconfig.png
new file mode 100644
index 00000000..8046dabe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/kxkb.png b/IconThemes/kdeclassic/32x32/apps/kxkb.png
new file mode 100644
index 00000000..cc2e265d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/kxkb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/laptop_battery.png b/IconThemes/kdeclassic/32x32/apps/laptop_battery.png
new file mode 100644
index 00000000..047ababc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/laptop_pcmcia.png b/IconThemes/kdeclassic/32x32/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..534e548e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/licq.png b/IconThemes/kdeclassic/32x32/apps/licq.png
new file mode 100644
index 00000000..da2635a3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/licq.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/locale.png b/IconThemes/kdeclassic/32x32/apps/locale.png
new file mode 100644
index 00000000..9faf3fca
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/locale.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/looknfeel.png b/IconThemes/kdeclassic/32x32/apps/looknfeel.png
new file mode 100644
index 00000000..2cfb8b97
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/lskat.png b/IconThemes/kdeclassic/32x32/apps/lskat.png
new file mode 100644
index 00000000..f60ee4bc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/lskat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/lyx.png b/IconThemes/kdeclassic/32x32/apps/lyx.png
new file mode 100644
index 00000000..f5cf36e6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/lyx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/mac.png b/IconThemes/kdeclassic/32x32/apps/mac.png
new file mode 100644
index 00000000..87df6fb8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/mac.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/mathematica.png b/IconThemes/kdeclassic/32x32/apps/mathematica.png
new file mode 100644
index 00000000..00a41ac9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/mathematica.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/megami.png b/IconThemes/kdeclassic/32x32/apps/megami.png
new file mode 100644
index 00000000..dddb898f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/megami.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/mouse.png b/IconThemes/kdeclassic/32x32/apps/mouse.png
new file mode 100644
index 00000000..39eb251d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/multimedia.png b/IconThemes/kdeclassic/32x32/apps/multimedia.png
new file mode 100644
index 00000000..0e2e41bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/nedit.png b/IconThemes/kdeclassic/32x32/apps/nedit.png
new file mode 100644
index 00000000..d7f346f5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/nedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/netscape.png b/IconThemes/kdeclassic/32x32/apps/netscape.png
new file mode 100644
index 00000000..da7f0803
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/noatun.png b/IconThemes/kdeclassic/32x32/apps/noatun.png
new file mode 100644
index 00000000..08036333
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/opera.png b/IconThemes/kdeclassic/32x32/apps/opera.png
new file mode 100644
index 00000000..00ee549e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/opera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package.png b/IconThemes/kdeclassic/32x32/apps/package.png
new file mode 100644
index 00000000..faf4bc40
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_applications.png b/IconThemes/kdeclassic/32x32/apps/package_applications.png
new file mode 100644
index 00000000..44799e20
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_editors.png b/IconThemes/kdeclassic/32x32/apps/package_editors.png
new file mode 100644
index 00000000..1f2a564f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_edutainment.png b/IconThemes/kdeclassic/32x32/apps/package_edutainment.png
new file mode 100644
index 00000000..cf8a9084
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_edutainment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_favourite.png b/IconThemes/kdeclassic/32x32/apps/package_favourite.png
new file mode 100644
index 00000000..9b42d6d0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_favourite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_games.png b/IconThemes/kdeclassic/32x32/apps/package_games.png
new file mode 100644
index 00000000..a00b54e9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_games.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_games_arcade.png b/IconThemes/kdeclassic/32x32/apps/package_games_arcade.png
new file mode 100644
index 00000000..55f8d549
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_games_arcade.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_games_board.png b/IconThemes/kdeclassic/32x32/apps/package_games_board.png
new file mode 100644
index 00000000..ff42cbc3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_games_board.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_games_card.png b/IconThemes/kdeclassic/32x32/apps/package_games_card.png
new file mode 100644
index 00000000..d3baaebf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_games_card.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_games_strategy.png b/IconThemes/kdeclassic/32x32/apps/package_games_strategy.png
new file mode 100644
index 00000000..18b2ded1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_games_strategy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_graphics.png b/IconThemes/kdeclassic/32x32/apps/package_graphics.png
new file mode 100644
index 00000000..bbab6924
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_multimedia.png b/IconThemes/kdeclassic/32x32/apps/package_multimedia.png
new file mode 100644
index 00000000..d995e88c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_network.png b/IconThemes/kdeclassic/32x32/apps/package_network.png
new file mode 100644
index 00000000..590a0446
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_settings.png b/IconThemes/kdeclassic/32x32/apps/package_settings.png
new file mode 100644
index 00000000..ac6a1248
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_system.png b/IconThemes/kdeclassic/32x32/apps/package_system.png
new file mode 100644
index 00000000..ce9df987
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_toys.png b/IconThemes/kdeclassic/32x32/apps/package_toys.png
new file mode 100644
index 00000000..98633046
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_utilities.png b/IconThemes/kdeclassic/32x32/apps/package_utilities.png
new file mode 100644
index 00000000..556b007f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/package_wordprocessing.png b/IconThemes/kdeclassic/32x32/apps/package_wordprocessing.png
new file mode 100644
index 00000000..17e6bd81
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/package_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/password.png b/IconThemes/kdeclassic/32x32/apps/password.png
new file mode 100644
index 00000000..198afbf0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/password.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/penguin.png b/IconThemes/kdeclassic/32x32/apps/penguin.png
new file mode 100644
index 00000000..b02874f2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/personal.png b/IconThemes/kdeclassic/32x32/apps/personal.png
new file mode 100644
index 00000000..01aea590
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/personal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/photobook.png b/IconThemes/kdeclassic/32x32/apps/photobook.png
new file mode 100644
index 00000000..47850905
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/photobook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/plan.png b/IconThemes/kdeclassic/32x32/apps/plan.png
new file mode 100644
index 00000000..b8d8cbea
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/plan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/printmgr.png b/IconThemes/kdeclassic/32x32/apps/printmgr.png
new file mode 100644
index 00000000..54f45cbd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/proxy.png b/IconThemes/kdeclassic/32x32/apps/proxy.png
new file mode 100644
index 00000000..e1b303cd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/pybliographic.png b/IconThemes/kdeclassic/32x32/apps/pybliographic.png
new file mode 100644
index 00000000..7ab4566e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/pybliographic.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/pysol.png b/IconThemes/kdeclassic/32x32/apps/pysol.png
new file mode 100644
index 00000000..9c434467
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/pysol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/realplayer.png b/IconThemes/kdeclassic/32x32/apps/realplayer.png
new file mode 100644
index 00000000..73ce6512
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/realplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/samba.png b/IconThemes/kdeclassic/32x32/apps/samba.png
new file mode 100644
index 00000000..58c8af91
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/samba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/style.png b/IconThemes/kdeclassic/32x32/apps/style.png
new file mode 100644
index 00000000..4d96329e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/style.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/stylesheet.png b/IconThemes/kdeclassic/32x32/apps/stylesheet.png
new file mode 100644
index 00000000..f8206fbc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/terminal.png b/IconThemes/kdeclassic/32x32/apps/terminal.png
new file mode 100644
index 00000000..0fdd7ffc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/terminal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/usb.png b/IconThemes/kdeclassic/32x32/apps/usb.png
new file mode 100644
index 00000000..c7601cb8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/usb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/wabi.png b/IconThemes/kdeclassic/32x32/apps/wabi.png
new file mode 100644
index 00000000..f716b677
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/wabi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/window_list.png b/IconThemes/kdeclassic/32x32/apps/window_list.png
new file mode 100644
index 00000000..78322602
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/winprops.png b/IconThemes/kdeclassic/32x32/apps/winprops.png
new file mode 100644
index 00000000..378efc5b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/winprops.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/wp.png b/IconThemes/kdeclassic/32x32/apps/wp.png
new file mode 100644
index 00000000..9fd845f4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/wp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/x.png b/IconThemes/kdeclassic/32x32/apps/x.png
new file mode 100644
index 00000000..e3534c65
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/x.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xapp.png b/IconThemes/kdeclassic/32x32/apps/xapp.png
new file mode 100644
index 00000000..f8b9a757
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xapp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xawtv.png b/IconThemes/kdeclassic/32x32/apps/xawtv.png
new file mode 100644
index 00000000..a4b2cab5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xawtv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xcalc.png b/IconThemes/kdeclassic/32x32/apps/xcalc.png
new file mode 100644
index 00000000..7e12e105
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xclipboard.png b/IconThemes/kdeclassic/32x32/apps/xclipboard.png
new file mode 100644
index 00000000..4b770546
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xclipboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xclock.png b/IconThemes/kdeclassic/32x32/apps/xclock.png
new file mode 100644
index 00000000..4229267f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xconsole.png b/IconThemes/kdeclassic/32x32/apps/xconsole.png
new file mode 100644
index 00000000..f5b9922c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xconsole.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xedit.png b/IconThemes/kdeclassic/32x32/apps/xedit.png
new file mode 100644
index 00000000..3339a5ec
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xemacs.png b/IconThemes/kdeclassic/32x32/apps/xemacs.png
new file mode 100644
index 00000000..5d4708d4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xemacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xeyes.png b/IconThemes/kdeclassic/32x32/apps/xeyes.png
new file mode 100644
index 00000000..34ef98e6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xeyes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xfig.png b/IconThemes/kdeclassic/32x32/apps/xfig.png
new file mode 100644
index 00000000..65dcf9a4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xfmail.png b/IconThemes/kdeclassic/32x32/apps/xfmail.png
new file mode 100644
index 00000000..59f16dac
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xfmail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xload.png b/IconThemes/kdeclassic/32x32/apps/xload.png
new file mode 100644
index 00000000..f28fad9c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xload.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xmag.png b/IconThemes/kdeclassic/32x32/apps/xmag.png
new file mode 100644
index 00000000..5f1e2fa3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xmms.png b/IconThemes/kdeclassic/32x32/apps/xmms.png
new file mode 100644
index 00000000..25307f5c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xosview.png b/IconThemes/kdeclassic/32x32/apps/xosview.png
new file mode 100644
index 00000000..699ce2bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xosview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xpaint.png b/IconThemes/kdeclassic/32x32/apps/xpaint.png
new file mode 100644
index 00000000..1691ea9b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/apps/xv.png b/IconThemes/kdeclassic/32x32/apps/xv.png
new file mode 100644
index 00000000..90d923fb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/apps/xv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/3floppy_mount.png b/IconThemes/kdeclassic/32x32/devices/3floppy_mount.png
new file mode 100644
index 00000000..54b5eb4b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/3floppy_unmount.png b/IconThemes/kdeclassic/32x32/devices/3floppy_unmount.png
new file mode 100644
index 00000000..7dab7134
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/5floppy_mount.png b/IconThemes/kdeclassic/32x32/devices/5floppy_mount.png
new file mode 100644
index 00000000..8a39220d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/5floppy_unmount.png b/IconThemes/kdeclassic/32x32/devices/5floppy_unmount.png
new file mode 100644
index 00000000..65df884b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/camera.png b/IconThemes/kdeclassic/32x32/devices/camera.png
new file mode 100644
index 00000000..5d70ca4f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/camera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdaudio_mount.png b/IconThemes/kdeclassic/32x32/devices/cdaudio_mount.png
new file mode 100644
index 00000000..6aa76417
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdaudio_unmount.png b/IconThemes/kdeclassic/32x32/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..19625f67
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdrom_mount.png b/IconThemes/kdeclassic/32x32/devices/cdrom_mount.png
new file mode 100644
index 00000000..f8c3afd7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdrom_unmount.png b/IconThemes/kdeclassic/32x32/devices/cdrom_unmount.png
new file mode 100644
index 00000000..68b43f12
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdwriter_mount.png b/IconThemes/kdeclassic/32x32/devices/cdwriter_mount.png
new file mode 100644
index 00000000..016f1da7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/cdwriter_unmount.png b/IconThemes/kdeclassic/32x32/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..6eb8f413
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/dvd_mount.png b/IconThemes/kdeclassic/32x32/devices/dvd_mount.png
new file mode 100644
index 00000000..a96bfff6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/dvd_unmount.png b/IconThemes/kdeclassic/32x32/devices/dvd_unmount.png
new file mode 100644
index 00000000..c8c0ea58
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/hdd_mount.png b/IconThemes/kdeclassic/32x32/devices/hdd_mount.png
new file mode 100644
index 00000000..0165cc2f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/hdd_unmount.png b/IconThemes/kdeclassic/32x32/devices/hdd_unmount.png
new file mode 100644
index 00000000..7515e1e2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/memory.png b/IconThemes/kdeclassic/32x32/devices/memory.png
new file mode 100644
index 00000000..e213ae2c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/memory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/mo_mount.png b/IconThemes/kdeclassic/32x32/devices/mo_mount.png
new file mode 100644
index 00000000..4ea1b741
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/mo_unmount.png b/IconThemes/kdeclassic/32x32/devices/mo_unmount.png
new file mode 100644
index 00000000..3812c9a4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/nfs_mount.png b/IconThemes/kdeclassic/32x32/devices/nfs_mount.png
new file mode 100644
index 00000000..b34bc0ea
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/nfs_unmount.png b/IconThemes/kdeclassic/32x32/devices/nfs_unmount.png
new file mode 100644
index 00000000..58d7a56c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/pda_black.png b/IconThemes/kdeclassic/32x32/devices/pda_black.png
new file mode 100644
index 00000000..00cd6d17
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/pda_black.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/pda_blue.png b/IconThemes/kdeclassic/32x32/devices/pda_blue.png
new file mode 100644
index 00000000..05ad3a88
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/pda_blue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/print_class.png b/IconThemes/kdeclassic/32x32/devices/print_class.png
new file mode 100644
index 00000000..78069b43
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/print_class.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/print_printer.png b/IconThemes/kdeclassic/32x32/devices/print_printer.png
new file mode 100644
index 00000000..0c0520e1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/printer1.png b/IconThemes/kdeclassic/32x32/devices/printer1.png
new file mode 100644
index 00000000..45c400f5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/printer1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/printer2.png b/IconThemes/kdeclassic/32x32/devices/printer2.png
new file mode 100644
index 00000000..e444242c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/scanner.png b/IconThemes/kdeclassic/32x32/devices/scanner.png
new file mode 100644
index 00000000..eacac3ad
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/scanner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/tablet.png b/IconThemes/kdeclassic/32x32/devices/tablet.png
new file mode 100644
index 00000000..90dcde66
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/tablet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/zip_mount.png b/IconThemes/kdeclassic/32x32/devices/zip_mount.png
new file mode 100644
index 00000000..153a94a1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/devices/zip_unmount.png b/IconThemes/kdeclassic/32x32/devices/zip_unmount.png
new file mode 100644
index 00000000..effd0357
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/blockdevice.png b/IconThemes/kdeclassic/32x32/filesystems/blockdevice.png
new file mode 100644
index 00000000..1a45358d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/camera.png b/IconThemes/kdeclassic/32x32/filesystems/camera.png
new file mode 100644
index 00000000..5d70ca4f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/camera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/chardevice.png b/IconThemes/kdeclassic/32x32/filesystems/chardevice.png
new file mode 100644
index 00000000..e3a5d99f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/desktop.png b/IconThemes/kdeclassic/32x32/filesystems/desktop.png
new file mode 100644
index 00000000..ae74bb65
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/exec.png b/IconThemes/kdeclassic/32x32/filesystems/exec.png
new file mode 100644
index 00000000..fdc01d4f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/file_broken.png b/IconThemes/kdeclassic/32x32/filesystems/file_broken.png
new file mode 100644
index 00000000..f681ec0a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/file_important.png b/IconThemes/kdeclassic/32x32/filesystems/file_important.png
new file mode 100644
index 00000000..59dd95a5
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/file_locked.png b/IconThemes/kdeclassic/32x32/filesystems/file_locked.png
new file mode 100644
index 00000000..dc1cca6a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/file_temporary.png b/IconThemes/kdeclassic/32x32/filesystems/file_temporary.png
new file mode 100644
index 00000000..65ecc7da
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder.png b/IconThemes/kdeclassic/32x32/filesystems/folder.png
new file mode 100644
index 00000000..832ceaa2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_blue.png b/IconThemes/kdeclassic/32x32/filesystems/folder_blue.png
new file mode 100644
index 00000000..a38b167d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_blue_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..0b3b4fd6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_cyan.png b/IconThemes/kdeclassic/32x32/filesystems/folder_cyan.png
new file mode 100644
index 00000000..7dbcf249
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_cyan_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..f78968f7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_green.png b/IconThemes/kdeclassic/32x32/filesystems/folder_green.png
new file mode 100644
index 00000000..5646ade0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_green_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_green_open.png
new file mode 100644
index 00000000..74e62c7e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_grey.png b/IconThemes/kdeclassic/32x32/filesystems/folder_grey.png
new file mode 100644
index 00000000..687b646e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_grey_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..f6ae2151
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_home.png b/IconThemes/kdeclassic/32x32/filesystems/folder_home.png
new file mode 100644
index 00000000..5d38c8d0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_html.png b/IconThemes/kdeclassic/32x32/filesystems/folder_html.png
new file mode 100644
index 00000000..6953f4cc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_image.png b/IconThemes/kdeclassic/32x32/filesystems/folder_image.png
new file mode 100644
index 00000000..62936977
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_important.png b/IconThemes/kdeclassic/32x32/filesystems/folder_important.png
new file mode 100644
index 00000000..f9a07caf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_locked.png b/IconThemes/kdeclassic/32x32/filesystems/folder_locked.png
new file mode 100644
index 00000000..d20f9a66
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_man.png b/IconThemes/kdeclassic/32x32/filesystems/folder_man.png
new file mode 100644
index 00000000..97cbfcf3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_open.png
new file mode 100644
index 00000000..b1f4869d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_orange.png b/IconThemes/kdeclassic/32x32/filesystems/folder_orange.png
new file mode 100644
index 00000000..111fedfa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_orange_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..3a945704
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_print2.png b/IconThemes/kdeclassic/32x32/filesystems/folder_print2.png
new file mode 100644
index 00000000..4f22eb2c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_print2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_red.png b/IconThemes/kdeclassic/32x32/filesystems/folder_red.png
new file mode 100644
index 00000000..9090d12d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_red_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_red_open.png
new file mode 100644
index 00000000..d967649e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_sound.png b/IconThemes/kdeclassic/32x32/filesystems/folder_sound.png
new file mode 100644
index 00000000..6adfc4ed
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_tar.png b/IconThemes/kdeclassic/32x32/filesystems/folder_tar.png
new file mode 100644
index 00000000..c242a6e8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_txt.png b/IconThemes/kdeclassic/32x32/filesystems/folder_txt.png
new file mode 100644
index 00000000..f14047fa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_video.png b/IconThemes/kdeclassic/32x32/filesystems/folder_video.png
new file mode 100644
index 00000000..5823c8fa
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_violet.png b/IconThemes/kdeclassic/32x32/filesystems/folder_violet.png
new file mode 100644
index 00000000..acd0f491
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_violet_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_violet_open.png
new file mode 100644
index 00000000..1914c17a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_violet_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_wordprocessing.png b/IconThemes/kdeclassic/32x32/filesystems/folder_wordprocessing.png
new file mode 100644
index 00000000..f6530662
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_yellow.png b/IconThemes/kdeclassic/32x32/filesystems/folder_yellow.png
new file mode 100644
index 00000000..8694a5ac
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/folder_yellow_open.png b/IconThemes/kdeclassic/32x32/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..2d638749
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/ftp.png b/IconThemes/kdeclassic/32x32/filesystems/ftp.png
new file mode 100644
index 00000000..f5e01ceb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/link.png b/IconThemes/kdeclassic/32x32/filesystems/link.png
new file mode 100644
index 00000000..48e5f827
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/lockoverlay.png b/IconThemes/kdeclassic/32x32/filesystems/lockoverlay.png
new file mode 100644
index 00000000..232d1234
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/network.png b/IconThemes/kdeclassic/32x32/filesystems/network.png
new file mode 100644
index 00000000..3fca8eaf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/network_local.png b/IconThemes/kdeclassic/32x32/filesystems/network_local.png
new file mode 100644
index 00000000..5c9ead73
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/pipe.png b/IconThemes/kdeclassic/32x32/filesystems/pipe.png
new file mode 100644
index 00000000..30a5de86
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/services.png b/IconThemes/kdeclassic/32x32/filesystems/services.png
new file mode 100644
index 00000000..ac877449
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/services.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/shredder.png b/IconThemes/kdeclassic/32x32/filesystems/shredder.png
new file mode 100644
index 00000000..72c866d1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/socket.png b/IconThemes/kdeclassic/32x32/filesystems/socket.png
new file mode 100644
index 00000000..99483fac
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/trashcan_empty.png b/IconThemes/kdeclassic/32x32/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..b8819da2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/trashcan_full.png b/IconThemes/kdeclassic/32x32/filesystems/trashcan_full.png
new file mode 100644
index 00000000..3f6e30fb
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/www.png b/IconThemes/kdeclassic/32x32/filesystems/www.png
new file mode 100644
index 00000000..44d2387b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/www.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/filesystems/zip.png b/IconThemes/kdeclassic/32x32/filesystems/zip.png
new file mode 100644
index 00000000..51023172
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/applix.png b/IconThemes/kdeclassic/32x32/mimetypes/applix.png
new file mode 100644
index 00000000..0af5ddde
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/ascii.png b/IconThemes/kdeclassic/32x32/mimetypes/ascii.png
new file mode 100644
index 00000000..78b7b105
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/binary.png b/IconThemes/kdeclassic/32x32/mimetypes/binary.png
new file mode 100644
index 00000000..cd9350e1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/binary2.png b/IconThemes/kdeclassic/32x32/mimetypes/binary2.png
new file mode 100644
index 00000000..dd0adb20
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/cdtrack.png b/IconThemes/kdeclassic/32x32/mimetypes/cdtrack.png
new file mode 100644
index 00000000..b94712b1
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/colorscm.png b/IconThemes/kdeclassic/32x32/mimetypes/colorscm.png
new file mode 100644
index 00000000..0af69c3a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/core.png b/IconThemes/kdeclassic/32x32/mimetypes/core.png
new file mode 100644
index 00000000..d5adb59c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/deb.png b/IconThemes/kdeclassic/32x32/mimetypes/deb.png
new file mode 100644
index 00000000..99f5d704
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/document.png b/IconThemes/kdeclassic/32x32/mimetypes/document.png
new file mode 100644
index 00000000..cd793a05
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/document2.png b/IconThemes/kdeclassic/32x32/mimetypes/document2.png
new file mode 100644
index 00000000..0cdc87c3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/dvi.png b/IconThemes/kdeclassic/32x32/mimetypes/dvi.png
new file mode 100644
index 00000000..68c4563d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/empty.png b/IconThemes/kdeclassic/32x32/mimetypes/empty.png
new file mode 100644
index 00000000..a121c02c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/font_bitmap.png b/IconThemes/kdeclassic/32x32/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..aa1d023a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/font_truetype.png b/IconThemes/kdeclassic/32x32/mimetypes/font_truetype.png
new file mode 100644
index 00000000..26bfe132
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/font_type1.png b/IconThemes/kdeclassic/32x32/mimetypes/font_type1.png
new file mode 100644
index 00000000..dbbc9ca4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/gf.png b/IconThemes/kdeclassic/32x32/mimetypes/gf.png
new file mode 100644
index 00000000..0639f9ae
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/gf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/html.png b/IconThemes/kdeclassic/32x32/mimetypes/html.png
new file mode 100644
index 00000000..aa888892
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/image.png b/IconThemes/kdeclassic/32x32/mimetypes/image.png
new file mode 100644
index 00000000..3e3ba06f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/info.png b/IconThemes/kdeclassic/32x32/mimetypes/info.png
new file mode 100644
index 00000000..eebf5c07
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/karbon_karbon.png b/IconThemes/kdeclassic/32x32/mimetypes/karbon_karbon.png
new file mode 100644
index 00000000..2142094a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/karbon_karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kchart_chrt.png b/IconThemes/kdeclassic/32x32/mimetypes/kchart_chrt.png
new file mode 100644
index 00000000..33ff1eff
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kchart_chrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kdevelop_project.png b/IconThemes/kdeclassic/32x32/mimetypes/kdevelop_project.png
new file mode 100644
index 00000000..364c20d3
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kdevelop_project.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kformula_kfo.png b/IconThemes/kdeclassic/32x32/mimetypes/kformula_kfo.png
new file mode 100644
index 00000000..41cfe6fe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kformula_kfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kivio_flw.png b/IconThemes/kdeclassic/32x32/mimetypes/kivio_flw.png
new file mode 100644
index 00000000..581d50da
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kivio_flw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kmultiple.png b/IconThemes/kdeclassic/32x32/mimetypes/kmultiple.png
new file mode 100644
index 00000000..69388012
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kpovmodeler_doc.png b/IconThemes/kdeclassic/32x32/mimetypes/kpovmodeler_doc.png
new file mode 100644
index 00000000..57b467ae
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kpovmodeler_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kpresenter_kpr.png b/IconThemes/kdeclassic/32x32/mimetypes/kpresenter_kpr.png
new file mode 100644
index 00000000..5b5a6d0a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kpresenter_kpr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/krec_fileempty.png b/IconThemes/kdeclassic/32x32/mimetypes/krec_fileempty.png
new file mode 100644
index 00000000..89009605
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/krec_fileempty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/krec_fileplay.png b/IconThemes/kdeclassic/32x32/mimetypes/krec_fileplay.png
new file mode 100644
index 00000000..183bf9a7
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/krec_fileplay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/krec_filerec.png b/IconThemes/kdeclassic/32x32/mimetypes/krec_filerec.png
new file mode 100644
index 00000000..3195c2a2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/krec_filerec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/krita_kra.png b/IconThemes/kdeclassic/32x32/mimetypes/krita_kra.png
new file mode 100644
index 00000000..bb47dfbe
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/krita_kra.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kspread_ksp.png b/IconThemes/kdeclassic/32x32/mimetypes/kspread_ksp.png
new file mode 100644
index 00000000..a094faea
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kspread_ksp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kugar_kud.png b/IconThemes/kdeclassic/32x32/mimetypes/kugar_kud.png
new file mode 100644
index 00000000..0ee6fd73
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kugar_kud.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kugardata.png b/IconThemes/kdeclassic/32x32/mimetypes/kugardata.png
new file mode 100644
index 00000000..057e1d12
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kugardata.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/kword_kwd.png b/IconThemes/kdeclassic/32x32/mimetypes/kword_kwd.png
new file mode 100644
index 00000000..206a95bd
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/kword_kwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/log.png b/IconThemes/kdeclassic/32x32/mimetypes/log.png
new file mode 100644
index 00000000..21c57a6e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/make.png b/IconThemes/kdeclassic/32x32/mimetypes/make.png
new file mode 100644
index 00000000..125b06e0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/man.png b/IconThemes/kdeclassic/32x32/mimetypes/man.png
new file mode 100644
index 00000000..6cb2cf64
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/message.png b/IconThemes/kdeclassic/32x32/mimetypes/message.png
new file mode 100644
index 00000000..22410e1d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/metafont.png b/IconThemes/kdeclassic/32x32/mimetypes/metafont.png
new file mode 100644
index 00000000..1795faaf
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/metafont.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/midi.png b/IconThemes/kdeclassic/32x32/mimetypes/midi.png
new file mode 100644
index 00000000..90a41cc0
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/misc_doc.png b/IconThemes/kdeclassic/32x32/mimetypes/misc_doc.png
new file mode 100644
index 00000000..56449814
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/netscape_doc.png b/IconThemes/kdeclassic/32x32/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..eff4a752
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/pdf.png b/IconThemes/kdeclassic/32x32/mimetypes/pdf.png
new file mode 100644
index 00000000..810cfaec
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/pk.png b/IconThemes/kdeclassic/32x32/mimetypes/pk.png
new file mode 100644
index 00000000..56ec6290
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/pk.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/postscript.png b/IconThemes/kdeclassic/32x32/mimetypes/postscript.png
new file mode 100644
index 00000000..90a16d54
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/readme.png b/IconThemes/kdeclassic/32x32/mimetypes/readme.png
new file mode 100644
index 00000000..3afcb660
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/real_doc.png b/IconThemes/kdeclassic/32x32/mimetypes/real_doc.png
new file mode 100644
index 00000000..6d1307e8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/recycled.png b/IconThemes/kdeclassic/32x32/mimetypes/recycled.png
new file mode 100644
index 00000000..1924fc7b
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/resource.png b/IconThemes/kdeclassic/32x32/mimetypes/resource.png
new file mode 100644
index 00000000..811c13fc
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/rpm.png b/IconThemes/kdeclassic/32x32/mimetypes/rpm.png
new file mode 100644
index 00000000..037118a6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/shellscript.png b/IconThemes/kdeclassic/32x32/mimetypes/shellscript.png
new file mode 100644
index 00000000..5d563dd8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/shellscript2.png b/IconThemes/kdeclassic/32x32/mimetypes/shellscript2.png
new file mode 100644
index 00000000..0508f4c9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/sound.png b/IconThemes/kdeclassic/32x32/mimetypes/sound.png
new file mode 100644
index 00000000..18aad466
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source.png b/IconThemes/kdeclassic/32x32/mimetypes/source.png
new file mode 100644
index 00000000..94ba0e1f
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_c.png b/IconThemes/kdeclassic/32x32/mimetypes/source_c.png
new file mode 100644
index 00000000..f9e4606c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_cpp.png b/IconThemes/kdeclassic/32x32/mimetypes/source_cpp.png
new file mode 100644
index 00000000..cf150e6a
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_f.png b/IconThemes/kdeclassic/32x32/mimetypes/source_f.png
new file mode 100644
index 00000000..84db78f8
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_h.png b/IconThemes/kdeclassic/32x32/mimetypes/source_h.png
new file mode 100644
index 00000000..5ee8990d
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_java.png b/IconThemes/kdeclassic/32x32/mimetypes/source_java.png
new file mode 100644
index 00000000..af38fe72
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_l.png b/IconThemes/kdeclassic/32x32/mimetypes/source_l.png
new file mode 100644
index 00000000..025e9435
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_moc.png b/IconThemes/kdeclassic/32x32/mimetypes/source_moc.png
new file mode 100644
index 00000000..4998af46
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_o.png b/IconThemes/kdeclassic/32x32/mimetypes/source_o.png
new file mode 100644
index 00000000..8461d8b4
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_p.png b/IconThemes/kdeclassic/32x32/mimetypes/source_p.png
new file mode 100644
index 00000000..05dbf9c2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_pl.png b/IconThemes/kdeclassic/32x32/mimetypes/source_pl.png
new file mode 100644
index 00000000..9477f3b2
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_py.png b/IconThemes/kdeclassic/32x32/mimetypes/source_py.png
new file mode 100644
index 00000000..fc1710ed
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_s.png b/IconThemes/kdeclassic/32x32/mimetypes/source_s.png
new file mode 100644
index 00000000..09c64e69
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/source_y.png b/IconThemes/kdeclassic/32x32/mimetypes/source_y.png
new file mode 100644
index 00000000..ce6a860e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/spreadsheet.png b/IconThemes/kdeclassic/32x32/mimetypes/spreadsheet.png
new file mode 100644
index 00000000..ae9e8265
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/spreadsheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/tar.png b/IconThemes/kdeclassic/32x32/mimetypes/tar.png
new file mode 100644
index 00000000..8ece3391
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/tex.png b/IconThemes/kdeclassic/32x32/mimetypes/tex.png
new file mode 100644
index 00000000..5cf50631
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/tgz.png b/IconThemes/kdeclassic/32x32/mimetypes/tgz.png
new file mode 100644
index 00000000..6e31578e
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/txt.png b/IconThemes/kdeclassic/32x32/mimetypes/txt.png
new file mode 100644
index 00000000..6a5a81b9
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/unknown.png b/IconThemes/kdeclassic/32x32/mimetypes/unknown.png
new file mode 100644
index 00000000..ddf9f036
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/vcalendar.png b/IconThemes/kdeclassic/32x32/mimetypes/vcalendar.png
new file mode 100644
index 00000000..a554e8d6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/vcalendar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/vcard.png b/IconThemes/kdeclassic/32x32/mimetypes/vcard.png
new file mode 100644
index 00000000..3ef9981c
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/vectorgfx.png b/IconThemes/kdeclassic/32x32/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..214b6e56
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/video.png b/IconThemes/kdeclassic/32x32/mimetypes/video.png
new file mode 100644
index 00000000..b1aa9829
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/widget_doc.png b/IconThemes/kdeclassic/32x32/mimetypes/widget_doc.png
new file mode 100644
index 00000000..1a30d1e6
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/32x32/mimetypes/wordprocessing.png b/IconThemes/kdeclassic/32x32/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..5f1deb58
--- /dev/null
+++ b/IconThemes/kdeclassic/32x32/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/effect.png b/IconThemes/kdeclassic/48x48/actions/effect.png
new file mode 100644
index 00000000..1394861e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/effect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/exit.png b/IconThemes/kdeclassic/48x48/actions/exit.png
new file mode 100644
index 00000000..86d9c47d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/exit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/fileclose.png b/IconThemes/kdeclassic/48x48/actions/fileclose.png
new file mode 100644
index 00000000..f5ddeaa7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/gear.png b/IconThemes/kdeclassic/48x48/actions/gear.png
new file mode 100644
index 00000000..41e5f6b7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/gear.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/indent.png b/IconThemes/kdeclassic/48x48/actions/indent.png
new file mode 100644
index 00000000..829e3207
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/indent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/ktip.png b/IconThemes/kdeclassic/48x48/actions/ktip.png
new file mode 100644
index 00000000..534eda5c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/lock.png b/IconThemes/kdeclassic/48x48/actions/lock.png
new file mode 100644
index 00000000..c658a224
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/lock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/misc.png b/IconThemes/kdeclassic/48x48/actions/misc.png
new file mode 100644
index 00000000..41e5f6b7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/misc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/share.png b/IconThemes/kdeclassic/48x48/actions/share.png
new file mode 100644
index 00000000..56ca64c0
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/share.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/actions/unindent.png b/IconThemes/kdeclassic/48x48/actions/unindent.png
new file mode 100644
index 00000000..0aa7819c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/actions/unindent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/access.png b/IconThemes/kdeclassic/48x48/apps/access.png
new file mode 100644
index 00000000..d534a964
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/access.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/agent.png b/IconThemes/kdeclassic/48x48/apps/agent.png
new file mode 100644
index 00000000..f21c6164
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/agent.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ark.png b/IconThemes/kdeclassic/48x48/apps/ark.png
new file mode 100644
index 00000000..600be914
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ark.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/atlantik.png b/IconThemes/kdeclassic/48x48/apps/atlantik.png
new file mode 100644
index 00000000..5a259675
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/atlantik.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/bell.png b/IconThemes/kdeclassic/48x48/apps/bell.png
new file mode 100644
index 00000000..2a1d48ce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/bell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/blender.png b/IconThemes/kdeclassic/48x48/apps/blender.png
new file mode 100644
index 00000000..8339e067
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/blender.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/clock.png b/IconThemes/kdeclassic/48x48/apps/clock.png
new file mode 100644
index 00000000..cecb88b5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/clock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/colors.png b/IconThemes/kdeclassic/48x48/apps/colors.png
new file mode 100644
index 00000000..e4accd93
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/colors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/cookie.png b/IconThemes/kdeclassic/48x48/apps/cookie.png
new file mode 100644
index 00000000..c1a5b689
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/date.png b/IconThemes/kdeclassic/48x48/apps/date.png
new file mode 100644
index 00000000..cecb88b5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/date.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/designer.png b/IconThemes/kdeclassic/48x48/apps/designer.png
new file mode 100644
index 00000000..774f7e12
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/designer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/dolphin.png b/IconThemes/kdeclassic/48x48/apps/dolphin.png
new file mode 100644
index 00000000..9097cf1e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/dolphin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/edu_languages.png b/IconThemes/kdeclassic/48x48/apps/edu_languages.png
new file mode 100644
index 00000000..58eb1f51
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/edu_languages.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/emacs.png b/IconThemes/kdeclassic/48x48/apps/emacs.png
new file mode 100644
index 00000000..88380f2b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/emacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/email.png b/IconThemes/kdeclassic/48x48/apps/email.png
new file mode 100644
index 00000000..a3fb06a3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/email.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/energy.png b/IconThemes/kdeclassic/48x48/apps/energy.png
new file mode 100644
index 00000000..541dacf9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/energy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/energy_star.png b/IconThemes/kdeclassic/48x48/apps/energy_star.png
new file mode 100644
index 00000000..9d60a9f2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/enhanced_browsing.png b/IconThemes/kdeclassic/48x48/apps/enhanced_browsing.png
new file mode 100644
index 00000000..c9ce6dcf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/filetypes.png b/IconThemes/kdeclassic/48x48/apps/filetypes.png
new file mode 100644
index 00000000..7b70c1e2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/flashkard.png b/IconThemes/kdeclassic/48x48/apps/flashkard.png
new file mode 100644
index 00000000..d5954049
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/flashkard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/fonts.png b/IconThemes/kdeclassic/48x48/apps/fonts.png
new file mode 100644
index 00000000..baa8cf9f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/gimp.png b/IconThemes/kdeclassic/48x48/apps/gimp.png
new file mode 100644
index 00000000..8b84a0c2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/go.png b/IconThemes/kdeclassic/48x48/apps/go.png
new file mode 100644
index 00000000..8b9eacce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/go.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/gvim.png b/IconThemes/kdeclassic/48x48/apps/gvim.png
new file mode 100644
index 00000000..cb0bfa1d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/gvim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/help_index.png b/IconThemes/kdeclassic/48x48/apps/help_index.png
new file mode 100644
index 00000000..803509fb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/help_index.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/hwinfo.png b/IconThemes/kdeclassic/48x48/apps/hwinfo.png
new file mode 100644
index 00000000..520058c3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/icons.png b/IconThemes/kdeclassic/48x48/apps/icons.png
new file mode 100644
index 00000000..7c2f3601
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/icons.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/iconthemes.png b/IconThemes/kdeclassic/48x48/apps/iconthemes.png
new file mode 100644
index 00000000..cd0741c5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/input_devices_settings.png b/IconThemes/kdeclassic/48x48/apps/input_devices_settings.png
new file mode 100644
index 00000000..5c1e16a5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kaboodle.png b/IconThemes/kdeclassic/48x48/apps/kaboodle.png
new file mode 100644
index 00000000..0bfe628d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kaboodle.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kaddressbook.png b/IconThemes/kdeclassic/48x48/apps/kaddressbook.png
new file mode 100644
index 00000000..d9e51ca7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kalarm.png b/IconThemes/kdeclassic/48x48/apps/kalarm.png
new file mode 100644
index 00000000..476d55af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kalarm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kaphorism.png b/IconThemes/kdeclassic/48x48/apps/kaphorism.png
new file mode 100644
index 00000000..1b0bc505
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kaphorism.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kappfinder.png b/IconThemes/kdeclassic/48x48/apps/kappfinder.png
new file mode 100644
index 00000000..39326805
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kappfinder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/karbon.png b/IconThemes/kdeclassic/48x48/apps/karbon.png
new file mode 100644
index 00000000..8063adb9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/karm.png b/IconThemes/kdeclassic/48x48/apps/karm.png
new file mode 100644
index 00000000..777aa0cf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/karm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kasteroids.png b/IconThemes/kdeclassic/48x48/apps/kasteroids.png
new file mode 100644
index 00000000..28dcae47
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kasteroids.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kate.png b/IconThemes/kdeclassic/48x48/apps/kate.png
new file mode 100644
index 00000000..0c630edf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kate.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kbackgammon.png b/IconThemes/kdeclassic/48x48/apps/kbackgammon.png
new file mode 100644
index 00000000..d9a3c2d3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kbackgammon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kbackgammon_engine.png b/IconThemes/kdeclassic/48x48/apps/kbackgammon_engine.png
new file mode 100644
index 00000000..00a5b968
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kbackgammon_engine.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kblackbox.png b/IconThemes/kdeclassic/48x48/apps/kblackbox.png
new file mode 100644
index 00000000..88b1c017
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kblackbox.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcalc.png b/IconThemes/kdeclassic/48x48/apps/kcalc.png
new file mode 100644
index 00000000..1025e85a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcharselect.png b/IconThemes/kdeclassic/48x48/apps/kcharselect.png
new file mode 100644
index 00000000..c806cdce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcharselect.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kchart.png b/IconThemes/kdeclassic/48x48/apps/kchart.png
new file mode 100644
index 00000000..852a204f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kchart.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmdevices.png b/IconThemes/kdeclassic/48x48/apps/kcmdevices.png
new file mode 100644
index 00000000..981b148e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmdrkonqi.png b/IconThemes/kdeclassic/48x48/apps/kcmdrkonqi.png
new file mode 100644
index 00000000..54d7ce45
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmdrkonqi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmfontinst.png b/IconThemes/kdeclassic/48x48/apps/kcmfontinst.png
new file mode 100644
index 00000000..baa8cf9f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmfontinst.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmkwm.png b/IconThemes/kdeclassic/48x48/apps/kcmkwm.png
new file mode 100644
index 00000000..58d50d37
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmmemory.png b/IconThemes/kdeclassic/48x48/apps/kcmmemory.png
new file mode 100644
index 00000000..97d12ec8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmmidi.png b/IconThemes/kdeclassic/48x48/apps/kcmmidi.png
new file mode 100644
index 00000000..3e145e6e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmpartitions.png b/IconThemes/kdeclassic/48x48/apps/kcmpartitions.png
new file mode 100644
index 00000000..ed881796
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmpci.png b/IconThemes/kdeclassic/48x48/apps/kcmpci.png
new file mode 100644
index 00000000..e4eedb6f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmprocessor.png b/IconThemes/kdeclassic/48x48/apps/kcmprocessor.png
new file mode 100644
index 00000000..34e98e2f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmscsi.png b/IconThemes/kdeclassic/48x48/apps/kcmscsi.png
new file mode 100644
index 00000000..d2abcebc
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmscsi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcmsystem.png b/IconThemes/kdeclassic/48x48/apps/kcmsystem.png
new file mode 100644
index 00000000..0a3cdb35
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kcontrol.png b/IconThemes/kdeclassic/48x48/apps/kcontrol.png
new file mode 100644
index 00000000..1dda3797
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdat.png b/IconThemes/kdeclassic/48x48/apps/kdat.png
new file mode 100644
index 00000000..737972d7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdevelop.png b/IconThemes/kdeclassic/48x48/apps/kdevelop.png
new file mode 100644
index 00000000..34a3df15
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdevelop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdict.png b/IconThemes/kdeclassic/48x48/apps/kdict.png
new file mode 100644
index 00000000..a0392ffa
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdict.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdisknav.png b/IconThemes/kdeclassic/48x48/apps/kdisknav.png
new file mode 100644
index 00000000..08fadd3b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdmconfig.png b/IconThemes/kdeclassic/48x48/apps/kdmconfig.png
new file mode 100644
index 00000000..15a87d65
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kdvi.png b/IconThemes/kdeclassic/48x48/apps/kdvi.png
new file mode 100644
index 00000000..d997fac4
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kdvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kedit.png b/IconThemes/kdeclassic/48x48/apps/kedit.png
new file mode 100644
index 00000000..899193fb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/keduca.png b/IconThemes/kdeclassic/48x48/apps/keduca.png
new file mode 100644
index 00000000..d0cdb177
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/keduca.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kenolaba.png b/IconThemes/kdeclassic/48x48/apps/kenolaba.png
new file mode 100644
index 00000000..ae785473
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kenolaba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/keyboard.png b/IconThemes/kdeclassic/48x48/apps/keyboard.png
new file mode 100644
index 00000000..b35a10f5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/keyboard_layout.png b/IconThemes/kdeclassic/48x48/apps/keyboard_layout.png
new file mode 100644
index 00000000..b7271185
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kfax.png b/IconThemes/kdeclassic/48x48/apps/kfax.png
new file mode 100644
index 00000000..39d50400
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kfax.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kfind.png b/IconThemes/kdeclassic/48x48/apps/kfind.png
new file mode 100644
index 00000000..2fa797c3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kfind.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kfloppy.png b/IconThemes/kdeclassic/48x48/apps/kfloppy.png
new file mode 100644
index 00000000..01da8c76
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kfm.png b/IconThemes/kdeclassic/48x48/apps/kfm.png
new file mode 100644
index 00000000..7c2a64fb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kfm_home.png b/IconThemes/kdeclassic/48x48/apps/kfm_home.png
new file mode 100644
index 00000000..86ffd1a9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kformula.png b/IconThemes/kdeclassic/48x48/apps/kformula.png
new file mode 100644
index 00000000..f607dfc1
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kformula.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kget.png b/IconThemes/kdeclassic/48x48/apps/kget.png
new file mode 100644
index 00000000..6108dbc6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kget.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kghostview.png b/IconThemes/kdeclassic/48x48/apps/kghostview.png
new file mode 100644
index 00000000..bfa860ad
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kghostview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/khelpcenter.png b/IconThemes/kdeclassic/48x48/apps/khelpcenter.png
new file mode 100644
index 00000000..437d25c6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/khexedit.png b/IconThemes/kdeclassic/48x48/apps/khexedit.png
new file mode 100644
index 00000000..429c4247
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/khexedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kiconedit.png b/IconThemes/kdeclassic/48x48/apps/kiconedit.png
new file mode 100644
index 00000000..b95bffae
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kiconedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kit.png b/IconThemes/kdeclassic/48x48/apps/kit.png
new file mode 100644
index 00000000..3af9412b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kivio.png b/IconThemes/kdeclassic/48x48/apps/kivio.png
new file mode 100644
index 00000000..32cd8c79
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kivio.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kjots.png b/IconThemes/kdeclassic/48x48/apps/kjots.png
new file mode 100644
index 00000000..4474393c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kjots.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/klipper.png b/IconThemes/kdeclassic/48x48/apps/klipper.png
new file mode 100644
index 00000000..2d41eafa
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmahjongg.png b/IconThemes/kdeclassic/48x48/apps/kmahjongg.png
new file mode 100644
index 00000000..3bdaba02
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmahjongg.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmail.png b/IconThemes/kdeclassic/48x48/apps/kmail.png
new file mode 100644
index 00000000..f60b87ae
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmail.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmailcvt.png b/IconThemes/kdeclassic/48x48/apps/kmailcvt.png
new file mode 100644
index 00000000..75686ebf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmailcvt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmenu.png b/IconThemes/kdeclassic/48x48/apps/kmenu.png
new file mode 100644
index 00000000..8b9eacce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmenuedit.png b/IconThemes/kdeclassic/48x48/apps/kmenuedit.png
new file mode 100644
index 00000000..e6b483a7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmid.png b/IconThemes/kdeclassic/48x48/apps/kmid.png
new file mode 100644
index 00000000..b59861d8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmid.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmidi.png b/IconThemes/kdeclassic/48x48/apps/kmidi.png
new file mode 100644
index 00000000..39f4e23f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmidi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmines.png b/IconThemes/kdeclassic/48x48/apps/kmines.png
new file mode 100644
index 00000000..0caa64a2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmines.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmix.png b/IconThemes/kdeclassic/48x48/apps/kmix.png
new file mode 100644
index 00000000..c79464eb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kmoon.png b/IconThemes/kdeclassic/48x48/apps/kmoon.png
new file mode 100644
index 00000000..1ce020f5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kmoon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/knewsticker.png b/IconThemes/kdeclassic/48x48/apps/knewsticker.png
new file mode 100644
index 00000000..a03af6a6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/knewsticker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/knode.png b/IconThemes/kdeclassic/48x48/apps/knode.png
new file mode 100644
index 00000000..a03af6a6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/knode.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/knotes.png b/IconThemes/kdeclassic/48x48/apps/knotes.png
new file mode 100644
index 00000000..adf3bf87
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/knotes.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/knotify.png b/IconThemes/kdeclassic/48x48/apps/knotify.png
new file mode 100644
index 00000000..4893ca08
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kodo.png b/IconThemes/kdeclassic/48x48/apps/kodo.png
new file mode 100644
index 00000000..905c7951
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kodo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kolf.png b/IconThemes/kdeclassic/48x48/apps/kolf.png
new file mode 100644
index 00000000..6abd32d7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kolf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/konqsidebar_mediaplayer.png b/IconThemes/kdeclassic/48x48/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..37ee41c5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/konqueror.png b/IconThemes/kdeclassic/48x48/apps/konqueror.png
new file mode 100644
index 00000000..6895519c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/konquest.png b/IconThemes/kdeclassic/48x48/apps/konquest.png
new file mode 100644
index 00000000..9303a54d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/konquest.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/konsole.png b/IconThemes/kdeclassic/48x48/apps/konsole.png
new file mode 100644
index 00000000..e8c3ea6d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kontour.png b/IconThemes/kdeclassic/48x48/apps/kontour.png
new file mode 100644
index 00000000..5312a9d7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kontour.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/korganizer.png b/IconThemes/kdeclassic/48x48/apps/korganizer.png
new file mode 100644
index 00000000..18511a51
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/korn.png b/IconThemes/kdeclassic/48x48/apps/korn.png
new file mode 100644
index 00000000..d66a0432
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/korn.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpackage.png b/IconThemes/kdeclassic/48x48/apps/kpackage.png
new file mode 100644
index 00000000..d786ccaf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpager.png b/IconThemes/kdeclassic/48x48/apps/kpager.png
new file mode 100644
index 00000000..52995400
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpager.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpaint.png b/IconThemes/kdeclassic/48x48/apps/kpaint.png
new file mode 100644
index 00000000..bc66c354
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpaint.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpat.png b/IconThemes/kdeclassic/48x48/apps/kpat.png
new file mode 100644
index 00000000..3aae2118
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpf.png b/IconThemes/kdeclassic/48x48/apps/kpf.png
new file mode 100644
index 00000000..289a4490
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpilot.png b/IconThemes/kdeclassic/48x48/apps/kpilot.png
new file mode 100644
index 00000000..84fe561d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpilotDaemon.png b/IconThemes/kdeclassic/48x48/apps/kpilotDaemon.png
new file mode 100644
index 00000000..e670472e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpilotDaemon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpoker.png b/IconThemes/kdeclassic/48x48/apps/kpoker.png
new file mode 100644
index 00000000..dbf4274a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpoker.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kppp.png b/IconThemes/kdeclassic/48x48/apps/kppp.png
new file mode 100644
index 00000000..b784532c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kpresenter.png b/IconThemes/kdeclassic/48x48/apps/kpresenter.png
new file mode 100644
index 00000000..438b1250
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/krdc.png b/IconThemes/kdeclassic/48x48/apps/krdc.png
new file mode 100644
index 00000000..0e44f527
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/krdc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/krec.png b/IconThemes/kdeclassic/48x48/apps/krec.png
new file mode 100644
index 00000000..572882d4
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/krec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kreversi.png b/IconThemes/kdeclassic/48x48/apps/kreversi.png
new file mode 100644
index 00000000..f631577a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kreversi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/krfb.png b/IconThemes/kdeclassic/48x48/apps/krfb.png
new file mode 100644
index 00000000..0e44f527
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/krita.png b/IconThemes/kdeclassic/48x48/apps/krita.png
new file mode 100644
index 00000000..21fc65f7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/krita.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kruler.png b/IconThemes/kdeclassic/48x48/apps/kruler.png
new file mode 100644
index 00000000..6e35b591
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kruler.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksame.png b/IconThemes/kdeclassic/48x48/apps/ksame.png
new file mode 100644
index 00000000..a266e0ab
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksame.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kscd.png b/IconThemes/kdeclassic/48x48/apps/kscd.png
new file mode 100644
index 00000000..2297dba8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kscreensaver.png b/IconThemes/kdeclassic/48x48/apps/kscreensaver.png
new file mode 100644
index 00000000..4dcb33fb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kshisen.png b/IconThemes/kdeclassic/48x48/apps/kshisen.png
new file mode 100644
index 00000000..2e43aa13
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kshisen.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksim.png b/IconThemes/kdeclassic/48x48/apps/ksim.png
new file mode 100644
index 00000000..ccb773ff
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksim.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksirc.png b/IconThemes/kdeclassic/48x48/apps/ksirc.png
new file mode 100644
index 00000000..6a20e8d3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksirc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksirtet.png b/IconThemes/kdeclassic/48x48/apps/ksirtet.png
new file mode 100644
index 00000000..a828b0c1
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksirtet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksmiletris.png b/IconThemes/kdeclassic/48x48/apps/ksmiletris.png
new file mode 100644
index 00000000..caeb9be7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksnake.png b/IconThemes/kdeclassic/48x48/apps/ksnake.png
new file mode 100644
index 00000000..786b16fd
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksnake.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksnapshot.png b/IconThemes/kdeclassic/48x48/apps/ksnapshot.png
new file mode 100644
index 00000000..d2fb95c0
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksnapshot.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksokoban.png b/IconThemes/kdeclassic/48x48/apps/ksokoban.png
new file mode 100644
index 00000000..4d685580
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksokoban.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kspread.png b/IconThemes/kdeclassic/48x48/apps/kspread.png
new file mode 100644
index 00000000..ec5a8fdf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kspread.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kstars.png b/IconThemes/kdeclassic/48x48/apps/kstars.png
new file mode 100644
index 00000000..f063fef8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kstars.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksysguard.png b/IconThemes/kdeclassic/48x48/apps/ksysguard.png
new file mode 100644
index 00000000..2765d034
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ksysv.png b/IconThemes/kdeclassic/48x48/apps/ksysv.png
new file mode 100644
index 00000000..5a22d5ff
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ktalkd.png b/IconThemes/kdeclassic/48x48/apps/ktalkd.png
new file mode 100644
index 00000000..f657adac
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kthememgr.png b/IconThemes/kdeclassic/48x48/apps/kthememgr.png
new file mode 100644
index 00000000..1f8a3098
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/ktip.png b/IconThemes/kdeclassic/48x48/apps/ktip.png
new file mode 100644
index 00000000..534eda5c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/ktip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kugar.png b/IconThemes/kdeclassic/48x48/apps/kugar.png
new file mode 100644
index 00000000..3ad192f9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kugar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kuser.png b/IconThemes/kdeclassic/48x48/apps/kuser.png
new file mode 100644
index 00000000..40ac51e2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kview.png b/IconThemes/kdeclassic/48x48/apps/kview.png
new file mode 100644
index 00000000..9fcf57a7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kview.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kviewshell.png b/IconThemes/kdeclassic/48x48/apps/kviewshell.png
new file mode 100644
index 00000000..f3c403e9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kviewshell.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kvoctrain.png b/IconThemes/kdeclassic/48x48/apps/kvoctrain.png
new file mode 100644
index 00000000..4d5274ee
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kvoctrain.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kwin.png b/IconThemes/kdeclassic/48x48/apps/kwin.png
new file mode 100644
index 00000000..52995400
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kwin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kwin4.png b/IconThemes/kdeclassic/48x48/apps/kwin4.png
new file mode 100644
index 00000000..5a04f731
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kwin4.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kword.png b/IconThemes/kdeclassic/48x48/apps/kword.png
new file mode 100644
index 00000000..02daacce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kword.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kworldclock.png b/IconThemes/kdeclassic/48x48/apps/kworldclock.png
new file mode 100644
index 00000000..76b0f28a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kworldclock.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kwrite.png b/IconThemes/kdeclassic/48x48/apps/kwrite.png
new file mode 100644
index 00000000..0c630edf
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/kxkb.png b/IconThemes/kdeclassic/48x48/apps/kxkb.png
new file mode 100644
index 00000000..b35a10f5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/kxkb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/laptop_battery.png b/IconThemes/kdeclassic/48x48/apps/laptop_battery.png
new file mode 100644
index 00000000..886c10f1
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/laptop_pcmcia.png b/IconThemes/kdeclassic/48x48/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..faad8ff7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/licq.png b/IconThemes/kdeclassic/48x48/apps/licq.png
new file mode 100644
index 00000000..e86f6d78
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/licq.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/locale.png b/IconThemes/kdeclassic/48x48/apps/locale.png
new file mode 100644
index 00000000..63a9bcbb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/locale.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/looknfeel.png b/IconThemes/kdeclassic/48x48/apps/looknfeel.png
new file mode 100644
index 00000000..c2135154
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/lskat.png b/IconThemes/kdeclassic/48x48/apps/lskat.png
new file mode 100644
index 00000000..596687bb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/lskat.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/mouse.png b/IconThemes/kdeclassic/48x48/apps/mouse.png
new file mode 100644
index 00000000..a0089911
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/mozilla.png b/IconThemes/kdeclassic/48x48/apps/mozilla.png
new file mode 100644
index 00000000..1ec8ad3a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/multimedia.png b/IconThemes/kdeclassic/48x48/apps/multimedia.png
new file mode 100644
index 00000000..c79464eb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/netscape.png b/IconThemes/kdeclassic/48x48/apps/netscape.png
new file mode 100644
index 00000000..ab8a7351
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/noatun.png b/IconThemes/kdeclassic/48x48/apps/noatun.png
new file mode 100644
index 00000000..37ee41c5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/opera.png b/IconThemes/kdeclassic/48x48/apps/opera.png
new file mode 100644
index 00000000..f79f5341
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/opera.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package.png b/IconThemes/kdeclassic/48x48/apps/package.png
new file mode 100644
index 00000000..62500ade
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_applications.png b/IconThemes/kdeclassic/48x48/apps/package_applications.png
new file mode 100644
index 00000000..eb275b80
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_editors.png b/IconThemes/kdeclassic/48x48/apps/package_editors.png
new file mode 100644
index 00000000..9cef0df5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_edutainment.png b/IconThemes/kdeclassic/48x48/apps/package_edutainment.png
new file mode 100644
index 00000000..8c5d1969
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_edutainment.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_favourite.png b/IconThemes/kdeclassic/48x48/apps/package_favourite.png
new file mode 100644
index 00000000..d82c17b8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_favourite.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_games.png b/IconThemes/kdeclassic/48x48/apps/package_games.png
new file mode 100644
index 00000000..f70a1d9e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_games.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_games_arcade.png b/IconThemes/kdeclassic/48x48/apps/package_games_arcade.png
new file mode 100644
index 00000000..5e80b96a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_games_arcade.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_games_board.png b/IconThemes/kdeclassic/48x48/apps/package_games_board.png
new file mode 100644
index 00000000..31b5c1e1
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_games_board.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_games_card.png b/IconThemes/kdeclassic/48x48/apps/package_games_card.png
new file mode 100644
index 00000000..5efd1ad9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_games_card.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_games_strategy.png b/IconThemes/kdeclassic/48x48/apps/package_games_strategy.png
new file mode 100644
index 00000000..146543f8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_games_strategy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_graphics.png b/IconThemes/kdeclassic/48x48/apps/package_graphics.png
new file mode 100644
index 00000000..10b860ee
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_multimedia.png b/IconThemes/kdeclassic/48x48/apps/package_multimedia.png
new file mode 100644
index 00000000..6f27cd7d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_network.png b/IconThemes/kdeclassic/48x48/apps/package_network.png
new file mode 100644
index 00000000..11dc1b86
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_settings.png b/IconThemes/kdeclassic/48x48/apps/package_settings.png
new file mode 100644
index 00000000..d413512e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_system.png b/IconThemes/kdeclassic/48x48/apps/package_system.png
new file mode 100644
index 00000000..6464fb39
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_toys.png b/IconThemes/kdeclassic/48x48/apps/package_toys.png
new file mode 100644
index 00000000..201cf600
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_utilities.png b/IconThemes/kdeclassic/48x48/apps/package_utilities.png
new file mode 100644
index 00000000..c79f0c58
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/package_wordprocessing.png b/IconThemes/kdeclassic/48x48/apps/package_wordprocessing.png
new file mode 100644
index 00000000..9a31c822
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/package_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/password.png b/IconThemes/kdeclassic/48x48/apps/password.png
new file mode 100644
index 00000000..b14045b5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/password.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/personal.png b/IconThemes/kdeclassic/48x48/apps/personal.png
new file mode 100644
index 00000000..bca9fb47
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/personal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/proxy.png b/IconThemes/kdeclassic/48x48/apps/proxy.png
new file mode 100644
index 00000000..c29e301a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/remote.png b/IconThemes/kdeclassic/48x48/apps/remote.png
new file mode 100644
index 00000000..b4cf93a0
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/remote.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/samba.png b/IconThemes/kdeclassic/48x48/apps/samba.png
new file mode 100644
index 00000000..0e5fd2c2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/samba.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/style.png b/IconThemes/kdeclassic/48x48/apps/style.png
new file mode 100644
index 00000000..49de6122
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/style.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/stylesheet.png b/IconThemes/kdeclassic/48x48/apps/stylesheet.png
new file mode 100644
index 00000000..77a65566
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/terminal.png b/IconThemes/kdeclassic/48x48/apps/terminal.png
new file mode 100644
index 00000000..d952a2af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/terminal.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/usb.png b/IconThemes/kdeclassic/48x48/apps/usb.png
new file mode 100644
index 00000000..4260b825
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/usb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/window_list.png b/IconThemes/kdeclassic/48x48/apps/window_list.png
new file mode 100644
index 00000000..e28bf7e5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/winprops.png b/IconThemes/kdeclassic/48x48/apps/winprops.png
new file mode 100644
index 00000000..1ec53c73
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/winprops.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/xedit.png b/IconThemes/kdeclassic/48x48/apps/xedit.png
new file mode 100644
index 00000000..672672f6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/xedit.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/xemacs.png b/IconThemes/kdeclassic/48x48/apps/xemacs.png
new file mode 100644
index 00000000..8ebd2108
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/xemacs.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/xmag.png b/IconThemes/kdeclassic/48x48/apps/xmag.png
new file mode 100644
index 00000000..d6df0dc2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/xmag.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/apps/xv.png b/IconThemes/kdeclassic/48x48/apps/xv.png
new file mode 100644
index 00000000..2c5dd69d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/apps/xv.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/3floppy_mount.png b/IconThemes/kdeclassic/48x48/devices/3floppy_mount.png
new file mode 100644
index 00000000..a9b4263c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/3floppy_unmount.png b/IconThemes/kdeclassic/48x48/devices/3floppy_unmount.png
new file mode 100644
index 00000000..bcb16dfd
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/5floppy_mount.png b/IconThemes/kdeclassic/48x48/devices/5floppy_mount.png
new file mode 100644
index 00000000..197786af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/5floppy_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/5floppy_unmount.png b/IconThemes/kdeclassic/48x48/devices/5floppy_unmount.png
new file mode 100644
index 00000000..837ebfa3
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/5floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdaudio_mount.png b/IconThemes/kdeclassic/48x48/devices/cdaudio_mount.png
new file mode 100644
index 00000000..3094211c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdaudio_unmount.png b/IconThemes/kdeclassic/48x48/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..ec62da23
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdrom_mount.png b/IconThemes/kdeclassic/48x48/devices/cdrom_mount.png
new file mode 100644
index 00000000..74e81650
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdrom_unmount.png b/IconThemes/kdeclassic/48x48/devices/cdrom_unmount.png
new file mode 100644
index 00000000..6d806d86
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdwriter_mount.png b/IconThemes/kdeclassic/48x48/devices/cdwriter_mount.png
new file mode 100644
index 00000000..4c60247f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/cdwriter_unmount.png b/IconThemes/kdeclassic/48x48/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..be05caf4
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/dvd_mount.png b/IconThemes/kdeclassic/48x48/devices/dvd_mount.png
new file mode 100644
index 00000000..8e418ab0
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/dvd_unmount.png b/IconThemes/kdeclassic/48x48/devices/dvd_unmount.png
new file mode 100644
index 00000000..bca64732
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/hdd_mount.png b/IconThemes/kdeclassic/48x48/devices/hdd_mount.png
new file mode 100644
index 00000000..854663f7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/hdd_unmount.png b/IconThemes/kdeclassic/48x48/devices/hdd_unmount.png
new file mode 100644
index 00000000..4e69e236
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/memory.png b/IconThemes/kdeclassic/48x48/devices/memory.png
new file mode 100644
index 00000000..bfdf64a9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/memory.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/mo_mount.png b/IconThemes/kdeclassic/48x48/devices/mo_mount.png
new file mode 100644
index 00000000..dcbdf6e7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/mo_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/mo_unmount.png b/IconThemes/kdeclassic/48x48/devices/mo_unmount.png
new file mode 100644
index 00000000..75cd7732
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/mo_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/nfs_mount.png b/IconThemes/kdeclassic/48x48/devices/nfs_mount.png
new file mode 100644
index 00000000..a945b81c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/nfs_unmount.png b/IconThemes/kdeclassic/48x48/devices/nfs_unmount.png
new file mode 100644
index 00000000..b88cf531
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/printer1.png b/IconThemes/kdeclassic/48x48/devices/printer1.png
new file mode 100644
index 00000000..c7b8982a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/printer1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/printer2.png b/IconThemes/kdeclassic/48x48/devices/printer2.png
new file mode 100644
index 00000000..324df1c2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/scanner.png b/IconThemes/kdeclassic/48x48/devices/scanner.png
new file mode 100644
index 00000000..7f9751a2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/scanner.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/tablet.png b/IconThemes/kdeclassic/48x48/devices/tablet.png
new file mode 100644
index 00000000..8890c6d6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/tablet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/zip_mount.png b/IconThemes/kdeclassic/48x48/devices/zip_mount.png
new file mode 100644
index 00000000..7769a2df
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/zip_mount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/devices/zip_unmount.png b/IconThemes/kdeclassic/48x48/devices/zip_unmount.png
new file mode 100644
index 00000000..aa6c0d3b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/devices/zip_unmount.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/blockdevice.png b/IconThemes/kdeclassic/48x48/filesystems/blockdevice.png
new file mode 100644
index 00000000..d73ed541
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/chardevice.png b/IconThemes/kdeclassic/48x48/filesystems/chardevice.png
new file mode 100644
index 00000000..c30f0804
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/desktop.png b/IconThemes/kdeclassic/48x48/filesystems/desktop.png
new file mode 100644
index 00000000..e07545ad
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/exec.png b/IconThemes/kdeclassic/48x48/filesystems/exec.png
new file mode 100644
index 00000000..71d37f02
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/file_broken.png b/IconThemes/kdeclassic/48x48/filesystems/file_broken.png
new file mode 100644
index 00000000..52c0ca79
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/file_important.png b/IconThemes/kdeclassic/48x48/filesystems/file_important.png
new file mode 100644
index 00000000..03487162
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/file_locked.png b/IconThemes/kdeclassic/48x48/filesystems/file_locked.png
new file mode 100644
index 00000000..3f51c8aa
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder.png b/IconThemes/kdeclassic/48x48/filesystems/folder.png
new file mode 100644
index 00000000..0cf528af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_blue.png b/IconThemes/kdeclassic/48x48/filesystems/folder_blue.png
new file mode 100644
index 00000000..9b46e06b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_blue_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..25bcd1b2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_cyan.png b/IconThemes/kdeclassic/48x48/filesystems/folder_cyan.png
new file mode 100644
index 00000000..e3fac28d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_cyan.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_cyan_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_cyan_open.png
new file mode 100644
index 00000000..042100da
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_cyan_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_green.png b/IconThemes/kdeclassic/48x48/filesystems/folder_green.png
new file mode 100644
index 00000000..abf38616
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_green_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_green_open.png
new file mode 100644
index 00000000..de1527c7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_grey.png b/IconThemes/kdeclassic/48x48/filesystems/folder_grey.png
new file mode 100644
index 00000000..51b87e00
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_grey_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..c9d725ca
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_home.png b/IconThemes/kdeclassic/48x48/filesystems/folder_home.png
new file mode 100644
index 00000000..a4e203da
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_html.png b/IconThemes/kdeclassic/48x48/filesystems/folder_html.png
new file mode 100644
index 00000000..a988db6f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_image.png b/IconThemes/kdeclassic/48x48/filesystems/folder_image.png
new file mode 100644
index 00000000..c2ba152e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_important.png b/IconThemes/kdeclassic/48x48/filesystems/folder_important.png
new file mode 100644
index 00000000..66188eab
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_locked.png b/IconThemes/kdeclassic/48x48/filesystems/folder_locked.png
new file mode 100644
index 00000000..070e128a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_man.png b/IconThemes/kdeclassic/48x48/filesystems/folder_man.png
new file mode 100644
index 00000000..8b6f49be
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_open.png
new file mode 100644
index 00000000..28a47bee
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_orange.png b/IconThemes/kdeclassic/48x48/filesystems/folder_orange.png
new file mode 100644
index 00000000..e88b815f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_orange_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..c9f6ad37
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_red.png b/IconThemes/kdeclassic/48x48/filesystems/folder_red.png
new file mode 100644
index 00000000..bbe8265c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_red_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_red_open.png
new file mode 100644
index 00000000..ff93ddea
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_sound.png b/IconThemes/kdeclassic/48x48/filesystems/folder_sound.png
new file mode 100644
index 00000000..0ea0b8ad
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_tar.png b/IconThemes/kdeclassic/48x48/filesystems/folder_tar.png
new file mode 100644
index 00000000..78fe1f37
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_txt.png b/IconThemes/kdeclassic/48x48/filesystems/folder_txt.png
new file mode 100644
index 00000000..6f6fb0ac
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_video.png b/IconThemes/kdeclassic/48x48/filesystems/folder_video.png
new file mode 100644
index 00000000..e454555d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_violet.png b/IconThemes/kdeclassic/48x48/filesystems/folder_violet.png
new file mode 100644
index 00000000..13a9dba1
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_violet_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_violet_open.png
new file mode 100644
index 00000000..bafde7f9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_violet_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_wordprocessing.png b/IconThemes/kdeclassic/48x48/filesystems/folder_wordprocessing.png
new file mode 100644
index 00000000..bcfa81af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_yellow.png b/IconThemes/kdeclassic/48x48/filesystems/folder_yellow.png
new file mode 100644
index 00000000..5c51ffc2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/folder_yellow_open.png b/IconThemes/kdeclassic/48x48/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..ffa5db0d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/ftp.png b/IconThemes/kdeclassic/48x48/filesystems/ftp.png
new file mode 100644
index 00000000..13b682f9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/link.png b/IconThemes/kdeclassic/48x48/filesystems/link.png
new file mode 100644
index 00000000..bc88a18c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/lockoverlay.png b/IconThemes/kdeclassic/48x48/filesystems/lockoverlay.png
new file mode 100644
index 00000000..bef58dc5
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/network.png b/IconThemes/kdeclassic/48x48/filesystems/network.png
new file mode 100644
index 00000000..fcc54f38
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/network.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/network_local.png b/IconThemes/kdeclassic/48x48/filesystems/network_local.png
new file mode 100644
index 00000000..504381c6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/services.png b/IconThemes/kdeclassic/48x48/filesystems/services.png
new file mode 100644
index 00000000..f9458fe8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/services.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/shredder.png b/IconThemes/kdeclassic/48x48/filesystems/shredder.png
new file mode 100644
index 00000000..110e2b57
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/socket.png b/IconThemes/kdeclassic/48x48/filesystems/socket.png
new file mode 100644
index 00000000..f3e0a798
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/trashcan_empty.png b/IconThemes/kdeclassic/48x48/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..bb1c5a6b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/trashcan_full.png b/IconThemes/kdeclassic/48x48/filesystems/trashcan_full.png
new file mode 100644
index 00000000..1880f077
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/www.png b/IconThemes/kdeclassic/48x48/filesystems/www.png
new file mode 100644
index 00000000..78af1b76
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/www.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/filesystems/zip.png b/IconThemes/kdeclassic/48x48/filesystems/zip.png
new file mode 100644
index 00000000..7c1d321c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/applix.png b/IconThemes/kdeclassic/48x48/mimetypes/applix.png
new file mode 100644
index 00000000..ac436fc6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/ascii.png b/IconThemes/kdeclassic/48x48/mimetypes/ascii.png
new file mode 100644
index 00000000..b66a21d8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/binary.png b/IconThemes/kdeclassic/48x48/mimetypes/binary.png
new file mode 100644
index 00000000..da08dfee
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/binary2.png b/IconThemes/kdeclassic/48x48/mimetypes/binary2.png
new file mode 100644
index 00000000..27be2b4e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/cdtrack.png b/IconThemes/kdeclassic/48x48/mimetypes/cdtrack.png
new file mode 100644
index 00000000..d369f770
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/colorscm.png b/IconThemes/kdeclassic/48x48/mimetypes/colorscm.png
new file mode 100644
index 00000000..ef468c52
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/core.png b/IconThemes/kdeclassic/48x48/mimetypes/core.png
new file mode 100644
index 00000000..6b2060af
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/deb.png b/IconThemes/kdeclassic/48x48/mimetypes/deb.png
new file mode 100644
index 00000000..c7ec89b9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/document.png b/IconThemes/kdeclassic/48x48/mimetypes/document.png
new file mode 100644
index 00000000..55725fde
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/document2.png b/IconThemes/kdeclassic/48x48/mimetypes/document2.png
new file mode 100644
index 00000000..68f0b4ea
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/dvi.png b/IconThemes/kdeclassic/48x48/mimetypes/dvi.png
new file mode 100644
index 00000000..2aeefd04
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/empty.png b/IconThemes/kdeclassic/48x48/mimetypes/empty.png
new file mode 100644
index 00000000..a9497538
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/encrypted.png b/IconThemes/kdeclassic/48x48/mimetypes/encrypted.png
new file mode 100644
index 00000000..083ff202
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/encrypted.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/font_bitmap.png b/IconThemes/kdeclassic/48x48/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..26fdaa06
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/font_truetype.png b/IconThemes/kdeclassic/48x48/mimetypes/font_truetype.png
new file mode 100644
index 00000000..38a25404
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/font_type1.png b/IconThemes/kdeclassic/48x48/mimetypes/font_type1.png
new file mode 100644
index 00000000..7699c308
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/gf.png b/IconThemes/kdeclassic/48x48/mimetypes/gf.png
new file mode 100644
index 00000000..d0a5a5fb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/gf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/html.png b/IconThemes/kdeclassic/48x48/mimetypes/html.png
new file mode 100644
index 00000000..f88b6ccd
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/image.png b/IconThemes/kdeclassic/48x48/mimetypes/image.png
new file mode 100644
index 00000000..8b071525
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/info.png b/IconThemes/kdeclassic/48x48/mimetypes/info.png
new file mode 100644
index 00000000..760d7bdb
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/karbon_karbon.png b/IconThemes/kdeclassic/48x48/mimetypes/karbon_karbon.png
new file mode 100644
index 00000000..28afda42
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/karbon_karbon.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kchart_chrt.png b/IconThemes/kdeclassic/48x48/mimetypes/kchart_chrt.png
new file mode 100644
index 00000000..6fdd71be
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kchart_chrt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kformula_kfo.png b/IconThemes/kdeclassic/48x48/mimetypes/kformula_kfo.png
new file mode 100644
index 00000000..7bf026db
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kformula_kfo.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kget_list.png b/IconThemes/kdeclassic/48x48/mimetypes/kget_list.png
new file mode 100644
index 00000000..43c94e9e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kget_list.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kivio_flw.png b/IconThemes/kdeclassic/48x48/mimetypes/kivio_flw.png
new file mode 100644
index 00000000..581dcf57
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kivio_flw.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kmultiple.png b/IconThemes/kdeclassic/48x48/mimetypes/kmultiple.png
new file mode 100644
index 00000000..07e53a18
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kpresenter_kpr.png b/IconThemes/kdeclassic/48x48/mimetypes/kpresenter_kpr.png
new file mode 100644
index 00000000..dd503da2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kpresenter_kpr.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/krita_kra.png b/IconThemes/kdeclassic/48x48/mimetypes/krita_kra.png
new file mode 100644
index 00000000..497d9381
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/krita_kra.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kspread_ksp.png b/IconThemes/kdeclassic/48x48/mimetypes/kspread_ksp.png
new file mode 100644
index 00000000..874acb04
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kspread_ksp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kugar_kud.png b/IconThemes/kdeclassic/48x48/mimetypes/kugar_kud.png
new file mode 100644
index 00000000..ccdcbc4e
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kugar_kud.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kugardata.png b/IconThemes/kdeclassic/48x48/mimetypes/kugardata.png
new file mode 100644
index 00000000..6a60eeef
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kugardata.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/kword_kwd.png b/IconThemes/kdeclassic/48x48/mimetypes/kword_kwd.png
new file mode 100644
index 00000000..5479a98b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/kword_kwd.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/log.png b/IconThemes/kdeclassic/48x48/mimetypes/log.png
new file mode 100644
index 00000000..0d526917
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/make.png b/IconThemes/kdeclassic/48x48/mimetypes/make.png
new file mode 100644
index 00000000..7b33fd51
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/man.png b/IconThemes/kdeclassic/48x48/mimetypes/man.png
new file mode 100644
index 00000000..07a6e695
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/message.png b/IconThemes/kdeclassic/48x48/mimetypes/message.png
new file mode 100644
index 00000000..48ef4436
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/metafont.png b/IconThemes/kdeclassic/48x48/mimetypes/metafont.png
new file mode 100644
index 00000000..90e9d32f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/metafont.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/midi.png b/IconThemes/kdeclassic/48x48/mimetypes/midi.png
new file mode 100644
index 00000000..01a69d63
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/misc_doc.png b/IconThemes/kdeclassic/48x48/mimetypes/misc_doc.png
new file mode 100644
index 00000000..66b7d61d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/netscape_doc.png b/IconThemes/kdeclassic/48x48/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..2d2c23fa
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/pdf.png b/IconThemes/kdeclassic/48x48/mimetypes/pdf.png
new file mode 100644
index 00000000..1cc05df0
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/pk.png b/IconThemes/kdeclassic/48x48/mimetypes/pk.png
new file mode 100644
index 00000000..cd57ddf8
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/pk.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/postscript.png b/IconThemes/kdeclassic/48x48/mimetypes/postscript.png
new file mode 100644
index 00000000..9a2fef4b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/readme.png b/IconThemes/kdeclassic/48x48/mimetypes/readme.png
new file mode 100644
index 00000000..5ade20fd
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/real_doc.png b/IconThemes/kdeclassic/48x48/mimetypes/real_doc.png
new file mode 100644
index 00000000..0e5d7c5d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/recycled.png b/IconThemes/kdeclassic/48x48/mimetypes/recycled.png
new file mode 100644
index 00000000..92b842bd
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/resource.png b/IconThemes/kdeclassic/48x48/mimetypes/resource.png
new file mode 100644
index 00000000..8fd70080
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/rpm.png b/IconThemes/kdeclassic/48x48/mimetypes/rpm.png
new file mode 100644
index 00000000..f2d84255
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/shellscript.png b/IconThemes/kdeclassic/48x48/mimetypes/shellscript.png
new file mode 100644
index 00000000..4929dd1d
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/shellscript2.png b/IconThemes/kdeclassic/48x48/mimetypes/shellscript2.png
new file mode 100644
index 00000000..f71ff411
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/sound.png b/IconThemes/kdeclassic/48x48/mimetypes/sound.png
new file mode 100644
index 00000000..eb4923c7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source.png b/IconThemes/kdeclassic/48x48/mimetypes/source.png
new file mode 100644
index 00000000..7b8c0946
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_c.png b/IconThemes/kdeclassic/48x48/mimetypes/source_c.png
new file mode 100644
index 00000000..a997a7cc
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_cpp.png b/IconThemes/kdeclassic/48x48/mimetypes/source_cpp.png
new file mode 100644
index 00000000..f9d34e48
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_f.png b/IconThemes/kdeclassic/48x48/mimetypes/source_f.png
new file mode 100644
index 00000000..9c23fa3b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_h.png b/IconThemes/kdeclassic/48x48/mimetypes/source_h.png
new file mode 100644
index 00000000..6ad2384c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_java.png b/IconThemes/kdeclassic/48x48/mimetypes/source_java.png
new file mode 100644
index 00000000..ca136bee
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_l.png b/IconThemes/kdeclassic/48x48/mimetypes/source_l.png
new file mode 100644
index 00000000..fdb50b37
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_moc.png b/IconThemes/kdeclassic/48x48/mimetypes/source_moc.png
new file mode 100644
index 00000000..9d99111b
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_o.png b/IconThemes/kdeclassic/48x48/mimetypes/source_o.png
new file mode 100644
index 00000000..130a04d7
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_p.png b/IconThemes/kdeclassic/48x48/mimetypes/source_p.png
new file mode 100644
index 00000000..f0b4732a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_pl.png b/IconThemes/kdeclassic/48x48/mimetypes/source_pl.png
new file mode 100644
index 00000000..29bbc7c4
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_py.png b/IconThemes/kdeclassic/48x48/mimetypes/source_py.png
new file mode 100644
index 00000000..0b792d09
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_s.png b/IconThemes/kdeclassic/48x48/mimetypes/source_s.png
new file mode 100644
index 00000000..3aa60124
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/source_y.png b/IconThemes/kdeclassic/48x48/mimetypes/source_y.png
new file mode 100644
index 00000000..4e3042c6
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/spreadsheet.png b/IconThemes/kdeclassic/48x48/mimetypes/spreadsheet.png
new file mode 100644
index 00000000..bf12112f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/spreadsheet.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/tar.png b/IconThemes/kdeclassic/48x48/mimetypes/tar.png
new file mode 100644
index 00000000..407251a2
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/tex.png b/IconThemes/kdeclassic/48x48/mimetypes/tex.png
new file mode 100644
index 00000000..7894313a
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/tgz.png b/IconThemes/kdeclassic/48x48/mimetypes/tgz.png
new file mode 100644
index 00000000..6634e4c9
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/txt.png b/IconThemes/kdeclassic/48x48/mimetypes/txt.png
new file mode 100644
index 00000000..decc2852
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/unknown.png b/IconThemes/kdeclassic/48x48/mimetypes/unknown.png
new file mode 100644
index 00000000..34ec68ce
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/vcalendar.png b/IconThemes/kdeclassic/48x48/mimetypes/vcalendar.png
new file mode 100644
index 00000000..c614666c
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/vcalendar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/vcard.png b/IconThemes/kdeclassic/48x48/mimetypes/vcard.png
new file mode 100644
index 00000000..effeae7f
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/vectorgfx.png b/IconThemes/kdeclassic/48x48/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..2d6f2792
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/video.png b/IconThemes/kdeclassic/48x48/mimetypes/video.png
new file mode 100644
index 00000000..777dbd10
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/widget_doc.png b/IconThemes/kdeclassic/48x48/mimetypes/widget_doc.png
new file mode 100644
index 00000000..feeffc32
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/48x48/mimetypes/wordprocessing.png b/IconThemes/kdeclassic/48x48/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..50a5c322
--- /dev/null
+++ b/IconThemes/kdeclassic/48x48/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/apps/dolphin.png b/IconThemes/kdeclassic/64x64/apps/dolphin.png
new file mode 100644
index 00000000..56a5559d
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/apps/dolphin.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/filesystems/folder.png b/IconThemes/kdeclassic/64x64/filesystems/folder.png
new file mode 100644
index 00000000..211eac57
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/filesystems/folder_html.png b/IconThemes/kdeclassic/64x64/filesystems/folder_html.png
new file mode 100644
index 00000000..521736a2
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/filesystems/link.png b/IconThemes/kdeclassic/64x64/filesystems/link.png
new file mode 100644
index 00000000..9bef8e46
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/binary2.png b/IconThemes/kdeclassic/64x64/mimetypes/binary2.png
new file mode 100644
index 00000000..7dbeba40
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/cdtrack.png b/IconThemes/kdeclassic/64x64/mimetypes/cdtrack.png
new file mode 100644
index 00000000..63445c46
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/core.png b/IconThemes/kdeclassic/64x64/mimetypes/core.png
new file mode 100644
index 00000000..fd6508e0
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/document.png b/IconThemes/kdeclassic/64x64/mimetypes/document.png
new file mode 100644
index 00000000..f01cc819
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/document2.png b/IconThemes/kdeclassic/64x64/mimetypes/document2.png
new file mode 100644
index 00000000..7a1473d8
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/empty.png b/IconThemes/kdeclassic/64x64/mimetypes/empty.png
new file mode 100644
index 00000000..ea01cfbd
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/html.png b/IconThemes/kdeclassic/64x64/mimetypes/html.png
new file mode 100644
index 00000000..00654850
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/image.png b/IconThemes/kdeclassic/64x64/mimetypes/image.png
new file mode 100644
index 00000000..f64adca3
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/make.png b/IconThemes/kdeclassic/64x64/mimetypes/make.png
new file mode 100644
index 00000000..410a6614
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/man.png b/IconThemes/kdeclassic/64x64/mimetypes/man.png
new file mode 100644
index 00000000..71af6229
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/midi.png b/IconThemes/kdeclassic/64x64/mimetypes/midi.png
new file mode 100644
index 00000000..b04edefc
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/misc_doc.png b/IconThemes/kdeclassic/64x64/mimetypes/misc_doc.png
new file mode 100644
index 00000000..6129d630
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/netscape_doc.png b/IconThemes/kdeclassic/64x64/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..ce3b6e3e
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/postscript.png b/IconThemes/kdeclassic/64x64/mimetypes/postscript.png
new file mode 100644
index 00000000..715a0a27
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/real_doc.png b/IconThemes/kdeclassic/64x64/mimetypes/real_doc.png
new file mode 100644
index 00000000..e39e26d4
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/recycled.png b/IconThemes/kdeclassic/64x64/mimetypes/recycled.png
new file mode 100644
index 00000000..da431e5a
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/rpm.png b/IconThemes/kdeclassic/64x64/mimetypes/rpm.png
new file mode 100644
index 00000000..8e20d388
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/shellscript.png b/IconThemes/kdeclassic/64x64/mimetypes/shellscript.png
new file mode 100644
index 00000000..7fadc50a
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/shellscript2.png b/IconThemes/kdeclassic/64x64/mimetypes/shellscript2.png
new file mode 100644
index 00000000..a1e65a31
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/shellscript2.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/sound.png b/IconThemes/kdeclassic/64x64/mimetypes/sound.png
new file mode 100644
index 00000000..f6c2c769
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source.png b/IconThemes/kdeclassic/64x64/mimetypes/source.png
new file mode 100644
index 00000000..67e50c7a
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_c.png b/IconThemes/kdeclassic/64x64/mimetypes/source_c.png
new file mode 100644
index 00000000..1f5b0ffd
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_cpp.png b/IconThemes/kdeclassic/64x64/mimetypes/source_cpp.png
new file mode 100644
index 00000000..bd8f257a
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_f.png b/IconThemes/kdeclassic/64x64/mimetypes/source_f.png
new file mode 100644
index 00000000..df91055a
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_h.png b/IconThemes/kdeclassic/64x64/mimetypes/source_h.png
new file mode 100644
index 00000000..f8e118be
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_l.png b/IconThemes/kdeclassic/64x64/mimetypes/source_l.png
new file mode 100644
index 00000000..101791b7
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_o.png b/IconThemes/kdeclassic/64x64/mimetypes/source_o.png
new file mode 100644
index 00000000..2533c422
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_p.png b/IconThemes/kdeclassic/64x64/mimetypes/source_p.png
new file mode 100644
index 00000000..e868b0e0
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_py.png b/IconThemes/kdeclassic/64x64/mimetypes/source_py.png
new file mode 100644
index 00000000..a69a7544
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_s.png b/IconThemes/kdeclassic/64x64/mimetypes/source_s.png
new file mode 100644
index 00000000..a07e5588
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/source_y.png b/IconThemes/kdeclassic/64x64/mimetypes/source_y.png
new file mode 100644
index 00000000..99773b93
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/tar.png b/IconThemes/kdeclassic/64x64/mimetypes/tar.png
new file mode 100644
index 00000000..38fb2a08
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/tgz.png b/IconThemes/kdeclassic/64x64/mimetypes/tgz.png
new file mode 100644
index 00000000..ee86b033
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/txt.png b/IconThemes/kdeclassic/64x64/mimetypes/txt.png
new file mode 100644
index 00000000..d3d732b4
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/unknown.png b/IconThemes/kdeclassic/64x64/mimetypes/unknown.png
new file mode 100644
index 00000000..f282a30e
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/video.png b/IconThemes/kdeclassic/64x64/mimetypes/video.png
new file mode 100644
index 00000000..94afed10
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/kdeclassic/64x64/mimetypes/widget_doc.png b/IconThemes/kdeclassic/64x64/mimetypes/widget_doc.png
new file mode 100644
index 00000000..d26a36a2
--- /dev/null
+++ b/IconThemes/kdeclassic/64x64/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/kdeclassic/LICENSE b/IconThemes/kdeclassic/LICENSE
new file mode 100644
index 00000000..8ad2078a
--- /dev/null
+++ b/IconThemes/kdeclassic/LICENSE
@@ -0,0 +1,2 @@
+The images inside this directory are COMPLETELY FREE for commercial and non-commercial use.
+Clarification: this means you can copy, modify and redistribute them.
diff --git a/IconThemes/kdeclassic/index.theme b/IconThemes/kdeclassic/index.theme
new file mode 100644
index 00000000..7cca657c
--- /dev/null
+++ b/IconThemes/kdeclassic/index.theme
@@ -0,0 +1,199 @@
+[Icon Theme]
+Name=KDE-Classic
+Name[ca]=KDE-Clàssic
+Name[cs]=Klasický
+Name[cy]=Clasurol KDE
+Name[el]=KDE-Κλασικό
+Name[eo]=KDE-Klasika
+Name[es]=KDE-Clásico
+Name[et]=KDE klassikaline
+Name[eu]=KDE-Klasikoa
+Name[fa]=KDE کلاسیک
+Name[fi]=Klassinen KDE
+Name[fy]=KDE-klassyk
+Name[ga]=KDE Clasaiceach
+Name[gl]=KDE-Clásico
+Name[he]=קלסי של KDE
+Name[hi]=केडीई-क्लासिक
+Name[is]=KDE-klassíkt
+Name[it]=KDE classico
+Name[ja]=KDE クラシック
+Name[ka]=კლასიკური
+Name[mk]=KDE-Класик
+Name[ms]=KDE-Klasik
+Name[nb]=KDE-Klassisk
+Name[ne]=केडीई-पुरानो
+Name[nl]=KDE-klassiek
+Name[nn]=Klassisk KDE
+Name[nso]=Maemo a KDE
+Name[pl]=Klasyczny KDE
+Name[pt]=KDE-Clássico
+Name[pt_BR]=KDE Clássico
+Name[ro]=KDE Clasic
+Name[ru]=Классика
+Name[sk]=KDE klasická
+Name[sl]=KDE - Klasično
+Name[sr]=Класични KDE
+Name[sr@Latn]=Klasični KDE
+Name[sv]=KDE klassisk
+Name[ta]=KDE-பழைய
+Name[tg]=Классика
+Name[tr]=Klasik KDE
+Name[uk]=Класичний KDE
+Name[uz]=KDE klassika
+Name[uz@cyrillic]=KDE классика
+Name[ven]=KDE ya tshifhingani tsho fhelaho
+Name[vi]=KDE-Truyền thống
+Name[xh]=KDE-Endala
+Name[zh_CN]=KDE 经典
+Name[zh_TW]=KDE-古典
+Name[zu]=Okwasendulo kwe-KDE
+Comment=KDE Classic Icon Theme
+Comment[bg]=Класическата тема с икони за KDE
+Comment[br]=Giz arlun da gustum evit KDE
+Comment[bs]=KDE klasična tema ikona
+Comment[ca]=Tema d'icones KDE clàssic
+Comment[cs]=Klasický motiv ikon KDE
+Comment[cy]=Thema Eicon Clasurol KDE
+Comment[da]=KDE's klassiske ikontema
+Comment[de]=KDE-Classic Symboldesign
+Comment[el]=Κλασικό θέμα εικονιδίων του KDE
+Comment[eo]=KDE-klasika piktogrametoso
+Comment[es]=Tema de iconos KDE clásico
+Comment[et]=KDE klassikaline ikooniteema
+Comment[eu]=KDE-ren ikono gai klasikoa
+Comment[fa]=چهرۀ شمایل KDE کلاسیک
+Comment[fi]=Klassisen KDE:n kuvaketeema
+Comment[fr]=Thème d'icônes KDE Classique
+Comment[fy]=It klassike KDE-piktogramtema
+Comment[ga]=Téama Deilbhíní Clasaiceach KDE
+Comment[gl]=Os ícones clásicos de KDE
+Comment[he]=ערכת סמלים קלסית של KDE
+Comment[hi]=केडीई क्लासिक प्रतीक प्रसंग
+Comment[hu]=Hagyományos KDE-s ikontéma
+Comment[is]=KDE Klassískt táknmyndaþema
+Comment[it]=Il tema di KDE con icone classiche
+Comment[ja]=KDE クラシックアイコンテーマ
+Comment[ka]=KDE პიქტოგრამების კლასიკური თემა
+Comment[lt]=KDE Classic ženkliukų tema
+Comment[mk]=Класична тема за икони во KDE
+Comment[ms]=Tema Ikon Klasik KDE
+Comment[nb]=KDE Klassisk ikontema
+Comment[nds]=Dat klass'sche Lüttbildmuster vun KDE
+Comment[ne]=केडीई पुरानो प्रतिमा विषयवस्तु
+Comment[nl]=Het klassieke KDE-pictogramthema
+Comment[nn]=Klassisk KDE-ikontema
+Comment[nso]=Molaetsa wa Seemedi sa Maemo a KDE
+Comment[pa]=KDE ਟਕਸਾਲੀ ਆਈਕਾਨ ਸਰੂਪ
+Comment[pl]=Klasyczny motyw ikon KDE
+Comment[pt]=Tema de Ícones Clássico do KDE
+Comment[pt_BR]=Temas de Ícones Clássico do KDE
+Comment[ro]=Tematică de iconiţe KDE clasică
+Comment[ru]=Классическая тема значков KDE
+Comment[sk]=Klasická ikonová téma KDE
+Comment[sl]=Tema klasičnih ikon KDE
+Comment[sr]=Класична KDE-ова тема икона
+Comment[sr@Latn]=Klasična KDE-ova tema ikona
+Comment[sv]=Klassiskt KDE-ikontema
+Comment[ta]=KDE பழைய சின்ன பொருள்
+Comment[tg]=Мавзӯъи классикии пиктограммаи KDE
+Comment[tr]=KDE Klasik Simge Teması
+Comment[uk]=Класична тема піктограм KDE
+Comment[uz]=KDE klassik nishonchalar mavzusi
+Comment[uz@cyrillic]=KDE классик нишончалар мавзуси
+Comment[ven]=Thero ya Aikhono ya KDE ya tshifhinga tsho fhelaho
+Comment[vi]=Sắc thái Biểu tượng Truyền thống KDE
+Comment[xh]=Umxholo Wephawu lomfanekiso We KDE Wakudala
+Comment[zh_CN]=KDE 经典图标主题
+Comment[zh_TW]=KDE 古典圖示主題
+Comment[zu]=Ithimu Yophawu lwesithombe se-KDE Yasendulo
+DisplayDepth=32
+Example=exec
+Inherits=default
+LinkOverlay=link
+LockOverlay=lockoverlay
+ZipOverlay=zip
+DesktopDefault=32
+DesktopSizes=16,32,48,64
+ToolbarDefault=22
+ToolbarSizes=16,22,32
+MainToolbarDefault=22
+MainToolbarSizes=16,22,32
+SmallDefault=16
+SmallSizes=16
+PanelDefault=32
+PanelSizes=16,32,48
+Directories=16x16/actions,22x22/actions,16x16/apps,32x32/apps,16x16/devices,32x32/devices,16x16/filesystems,32x32/filesystems,16x16/mimetypes,32x32/mimetypes,32x32/actions,48x48/apps,48x48/devices,48x48/filesystems,48x48/mimetypes,64x64/filesystems,64x64/mimetypes,64x64 apps
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Threshold
+[22x22/actions]
+Size=22
+Context=Actions
+Type=Threshold
+[32x32/actions]
+Size=32
+Context=Actions
+Type=Threshold
+[16x16/apps]
+Size=16
+Context=Applications
+Type=Threshold
+[16x16/devices]
+Size=16
+Context=Devices
+Type=Threshold
+[32x32/apps]
+Size=32
+Context=Applications
+Type=Threshold
+[32x32/devices]
+Size=32
+Context=Devices
+Type=Threshold
+[16x16/filesystems]
+Size=16
+Context=FileSystems
+Type=Threshold
+[32x32/filesystems]
+Size=32
+Context=FileSystems
+Type=Threshold
+[16x16/mimetypes]
+Size=16
+Context=MimeTypes
+Type=Threshold
+[32x32/mimetypes]
+Size=32
+Context=MimeTypes
+Type=Threshold
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Threshold
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Threshold
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Threshold
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Threshold
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Threshold
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Threshold
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Threshold
+
diff --git a/IconThemes/kids/16x16/actions/Untitled.png b/IconThemes/kids/16x16/actions/Untitled.png
new file mode 100644
index 00000000..e7252e66
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/about_kde.png b/IconThemes/kids/16x16/actions/about_kde.png
new file mode 100644
index 00000000..141d8697
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/appearance.png b/IconThemes/kids/16x16/actions/appearance.png
new file mode 100644
index 00000000..eba31bca
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/back.png b/IconThemes/kids/16x16/actions/back.png
new file mode 100644
index 00000000..feefbb7e
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/back.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/bookmark.png b/IconThemes/kids/16x16/actions/bookmark.png
new file mode 100644
index 00000000..0e111b3f
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/bookmark_add.png b/IconThemes/kids/16x16/actions/bookmark_add.png
new file mode 100644
index 00000000..d4868b66
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/button_cance.png b/IconThemes/kids/16x16/actions/button_cance.png
new file mode 100644
index 00000000..28e64170
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/button_cance.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/button_ok.png b/IconThemes/kids/16x16/actions/button_ok.png
new file mode 100644
index 00000000..f602ed7e
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/cd.png b/IconThemes/kids/16x16/actions/cd.png
new file mode 100644
index 00000000..bc66df9d
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/cd.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/colorize.png b/IconThemes/kids/16x16/actions/colorize.png
new file mode 100644
index 00000000..951b3da5
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/compfile.png b/IconThemes/kids/16x16/actions/compfile.png
new file mode 100644
index 00000000..3b48028e
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/compfile.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/configure.png b/IconThemes/kids/16x16/actions/configure.png
new file mode 100644
index 00000000..42a11e00
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/configure.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/decrypted.png b/IconThemes/kids/16x16/actions/decrypted.png
new file mode 100644
index 00000000..0060dc5a
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/down.png b/IconThemes/kids/16x16/actions/down.png
new file mode 100644
index 00000000..e7252e66
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/down.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/edit.png b/IconThemes/kids/16x16/actions/edit.png
new file mode 100644
index 00000000..f14f6e0b
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/edit.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/editcopy.png b/IconThemes/kids/16x16/actions/editcopy.png
new file mode 100644
index 00000000..995e5229
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/editcut.png b/IconThemes/kids/16x16/actions/editcut.png
new file mode 100644
index 00000000..447a7344
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/editdelete.png b/IconThemes/kids/16x16/actions/editdelete.png
new file mode 100644
index 00000000..b9e49231
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/editpaste.png b/IconThemes/kids/16x16/actions/editpaste.png
new file mode 100644
index 00000000..74330a0c
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/edittrash.png b/IconThemes/kids/16x16/actions/edittrash.png
new file mode 100644
index 00000000..e836924a
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/encrypted.png b/IconThemes/kids/16x16/actions/encrypted.png
new file mode 100644
index 00000000..1e181721
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/exit.png b/IconThemes/kids/16x16/actions/exit.png
new file mode 100644
index 00000000..596b5814
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/exit.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/fileclose.png b/IconThemes/kids/16x16/actions/fileclose.png
new file mode 100644
index 00000000..c1671ecd
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/filefind.png b/IconThemes/kids/16x16/actions/filefind.png
new file mode 100644
index 00000000..010a0e8a
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/filenew.png b/IconThemes/kids/16x16/actions/filenew.png
new file mode 100644
index 00000000..f33e4708
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/fileopen.png b/IconThemes/kids/16x16/actions/fileopen.png
new file mode 100644
index 00000000..b96467bb
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/fileprint.png b/IconThemes/kids/16x16/actions/fileprint.png
new file mode 100644
index 00000000..b2cf9938
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/filequickprint.png b/IconThemes/kids/16x16/actions/filequickprint.png
new file mode 100644
index 00000000..2c8bd3a6
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/filesave.png b/IconThemes/kids/16x16/actions/filesave.png
new file mode 100644
index 00000000..b7ec78c7
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/filesaveas.png b/IconThemes/kids/16x16/actions/filesaveas.png
new file mode 100644
index 00000000..e4382986
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/find.png b/IconThemes/kids/16x16/actions/find.png
new file mode 100644
index 00000000..cada4d7b
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/find.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/fonts.png b/IconThemes/kids/16x16/actions/fonts.png
new file mode 100644
index 00000000..61f4b48b
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/forward.png b/IconThemes/kids/16x16/actions/forward.png
new file mode 100644
index 00000000..5b167d83
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/forward.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/frameprint.png b/IconThemes/kids/16x16/actions/frameprint.png
new file mode 100644
index 00000000..e64e30b3
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/gohome.png b/IconThemes/kids/16x16/actions/gohome.png
new file mode 100644
index 00000000..1b3bfc66
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/help.png b/IconThemes/kids/16x16/actions/help.png
new file mode 100644
index 00000000..28086cdd
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/help.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/history.png b/IconThemes/kids/16x16/actions/history.png
new file mode 100644
index 00000000..39fddf6a
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/history.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/klipper_doc.png b/IconThemes/kids/16x16/actions/klipper_doc.png
new file mode 100644
index 00000000..809b4474
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/klipper_doc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/launch.png b/IconThemes/kids/16x16/actions/launch.png
new file mode 100644
index 00000000..11e17950
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/launch.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/misc.png b/IconThemes/kids/16x16/actions/misc.png
new file mode 100644
index 00000000..29b8f130
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/misc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/next-sail.png b/IconThemes/kids/16x16/actions/next-sail.png
new file mode 100644
index 00000000..9cc98d13
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/next-sail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/next.png b/IconThemes/kids/16x16/actions/next.png
new file mode 100644
index 00000000..c39dddf5
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/next.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/previos-sail.png b/IconThemes/kids/16x16/actions/previos-sail.png
new file mode 100644
index 00000000..31aa8c8f
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/previos-sail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/previous.png b/IconThemes/kids/16x16/actions/previous.png
new file mode 100644
index 00000000..3b430c84
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/previous.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/redo.png b/IconThemes/kids/16x16/actions/redo.png
new file mode 100644
index 00000000..c0cee29f
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/redo.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/reload.png b/IconThemes/kids/16x16/actions/reload.png
new file mode 100644
index 00000000..a8e0c74c
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/reload.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/run.png b/IconThemes/kids/16x16/actions/run.png
new file mode 100644
index 00000000..7d18b8eb
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/run.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/search.png b/IconThemes/kids/16x16/actions/search.png
new file mode 100644
index 00000000..7e26c6fd
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/search.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/stop.png b/IconThemes/kids/16x16/actions/stop.png
new file mode 100644
index 00000000..1fdb7e1e
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/stop.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/thumbnail.png b/IconThemes/kids/16x16/actions/thumbnail.png
new file mode 100644
index 00000000..4dc9c025
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/undo.png b/IconThemes/kids/16x16/actions/undo.png
new file mode 100644
index 00000000..012d162d
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/undo.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/unlock.png b/IconThemes/kids/16x16/actions/unlock.png
new file mode 100644
index 00000000..7fc333b7
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/up.png b/IconThemes/kids/16x16/actions/up.png
new file mode 100644
index 00000000..c5966c39
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/up.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_bottom.png b/IconThemes/kids/16x16/actions/view_bottom.png
new file mode 100644
index 00000000..54371de4
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_choose.png b/IconThemes/kids/16x16/actions/view_choose.png
new file mode 100644
index 00000000..42137a48
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_detailed.png b/IconThemes/kids/16x16/actions/view_detailed.png
new file mode 100644
index 00000000..baf423ac
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_icon.png b/IconThemes/kids/16x16/actions/view_icon.png
new file mode 100644
index 00000000..74b36ab7
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_left_right.png b/IconThemes/kids/16x16/actions/view_left_right.png
new file mode 100644
index 00000000..6696c66e
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_multicolumn.png b/IconThemes/kids/16x16/actions/view_multicolumn.png
new file mode 100644
index 00000000..7fe29934
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_remove.png b/IconThemes/kids/16x16/actions/view_remove.png
new file mode 100644
index 00000000..84b8d1be
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_right.png b/IconThemes/kids/16x16/actions/view_right.png
new file mode 100644
index 00000000..54371de4
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_sidetree.png b/IconThemes/kids/16x16/actions/view_sidetree.png
new file mode 100644
index 00000000..ac99bc5d
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_text.png b/IconThemes/kids/16x16/actions/view_text.png
new file mode 100644
index 00000000..92217dc0
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_top_bottom.png b/IconThemes/kids/16x16/actions/view_top_bottom.png
new file mode 100644
index 00000000..c26bb6f2
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/view_tree.png b/IconThemes/kids/16x16/actions/view_tree.png
new file mode 100644
index 00000000..343ac3c3
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/viewmag+.png b/IconThemes/kids/16x16/actions/viewmag+.png
new file mode 100644
index 00000000..d39a5296
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/viewmag-.png b/IconThemes/kids/16x16/actions/viewmag-.png
new file mode 100644
index 00000000..7847e882
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/viewmag1.png b/IconThemes/kids/16x16/actions/viewmag1.png
new file mode 100644
index 00000000..36b1a31d
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/viewmagfit.png b/IconThemes/kids/16x16/actions/viewmagfit.png
new file mode 100644
index 00000000..ae414798
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/window_fullscreen.png b/IconThemes/kids/16x16/actions/window_fullscreen.png
new file mode 100644
index 00000000..7e7109de
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/window_new.png b/IconThemes/kids/16x16/actions/window_new.png
new file mode 100644
index 00000000..739dbac5
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kids/16x16/actions/window_nofullscreen.png b/IconThemes/kids/16x16/actions/window_nofullscreen.png
new file mode 100644
index 00000000..fa4feb47
--- /dev/null
+++ b/IconThemes/kids/16x16/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/Untitled.png b/IconThemes/kids/16x16/apps/Untitled.png
new file mode 100644
index 00000000..bf0bc787
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agent.png b/IconThemes/kids/16x16/apps/agent.png
new file mode 100644
index 00000000..917be35b
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agent.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_action_fail.png b/IconThemes/kids/16x16/apps/agt_action_fail.png
new file mode 100644
index 00000000..28e64170
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_action_fail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_action_success.png b/IconThemes/kids/16x16/apps/agt_action_success.png
new file mode 100644
index 00000000..71b0a443
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_action_success.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_back.png b/IconThemes/kids/16x16/apps/agt_back.png
new file mode 100644
index 00000000..feefbb7e
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_back.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_family-off.png b/IconThemes/kids/16x16/apps/agt_family-off.png
new file mode 100644
index 00000000..2f4dbb29
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_family-off.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_family.png b/IconThemes/kids/16x16/apps/agt_family.png
new file mode 100644
index 00000000..b89c4911
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_family.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_forward.png b/IconThemes/kids/16x16/apps/agt_forward.png
new file mode 100644
index 00000000..51a8b61a
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_forward.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_login.png b/IconThemes/kids/16x16/apps/agt_login.png
new file mode 100644
index 00000000..1b3bfc66
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_login.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_print.png b/IconThemes/kids/16x16/apps/agt_print.png
new file mode 100644
index 00000000..df3773f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_print.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_reload.png b/IconThemes/kids/16x16/apps/agt_reload.png
new file mode 100644
index 00000000..a8e0c74c
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_reload.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_resume.png b/IconThemes/kids/16x16/apps/agt_resume.png
new file mode 100644
index 00000000..0dca90ea
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_resume.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_runit.png b/IconThemes/kids/16x16/apps/agt_runit.png
new file mode 100644
index 00000000..a389be40
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_runit.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_stop.png b/IconThemes/kids/16x16/apps/agt_stop.png
new file mode 100644
index 00000000..1fdb7e1e
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_stop.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_uninstall-product.png b/IconThemes/kids/16x16/apps/agt_uninstall-product.png
new file mode 100644
index 00000000..2fb046ef
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_uninstall-product.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_update_critical.png b/IconThemes/kids/16x16/apps/agt_update_critical.png
new file mode 100644
index 00000000..3f1697bf
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_update_critical.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_update_drivers.png b/IconThemes/kids/16x16/apps/agt_update_drivers.png
new file mode 100644
index 00000000..0c2c8001
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_update_drivers.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_virussafe-off.png b/IconThemes/kids/16x16/apps/agt_virussafe-off.png
new file mode 100644
index 00000000..2e46def3
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_virussafe-off.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/agt_virussafe.png b/IconThemes/kids/16x16/apps/agt_virussafe.png
new file mode 100644
index 00000000..75147865
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/agt_virussafe.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/aim.png b/IconThemes/kids/16x16/apps/aim.png
new file mode 100644
index 00000000..eccc41ad
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/aim.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/ark.png b/IconThemes/kids/16x16/apps/ark.png
new file mode 100644
index 00000000..0c2c8001
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/ark.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/babelfish.png b/IconThemes/kids/16x16/apps/babelfish.png
new file mode 100644
index 00000000..fc4c0097
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/babelfish.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/background.png b/IconThemes/kids/16x16/apps/background.png
new file mode 100644
index 00000000..a4246d4b
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/background.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/bell.png b/IconThemes/kids/16x16/apps/bell.png
new file mode 100644
index 00000000..e6ef0901
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/bell.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/browser.png b/IconThemes/kids/16x16/apps/browser.png
new file mode 100644
index 00000000..a40d3007
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/browser.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/cache.png b/IconThemes/kids/16x16/apps/cache.png
new file mode 100644
index 00000000..d17cd96c
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/cache.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/camera.png b/IconThemes/kids/16x16/apps/camera.png
new file mode 100644
index 00000000..b8305192
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/camera.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/cd-player1.png b/IconThemes/kids/16x16/apps/cd-player1.png
new file mode 100644
index 00000000..b45044fc
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/cd-player1.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/cd-player222.png b/IconThemes/kids/16x16/apps/cd-player222.png
new file mode 100644
index 00000000..c6b9a5a7
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/cd-player222.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/clicknrun.png b/IconThemes/kids/16x16/apps/clicknrun.png
new file mode 100644
index 00000000..a389be40
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/clicknrun.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/clicknrungrey.png b/IconThemes/kids/16x16/apps/clicknrungrey.png
new file mode 100644
index 00000000..87c0165f
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/clicknrungrey.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/clock.png b/IconThemes/kids/16x16/apps/clock.png
new file mode 100644
index 00000000..9aee0497
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/clock.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/colors.png b/IconThemes/kids/16x16/apps/colors.png
new file mode 100644
index 00000000..9812973e
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/colors.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/cookie.png b/IconThemes/kids/16x16/apps/cookie.png
new file mode 100644
index 00000000..f01fdfe2
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/date.png b/IconThemes/kids/16x16/apps/date.png
new file mode 100644
index 00000000..247fab61
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/date.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/display.png b/IconThemes/kids/16x16/apps/display.png
new file mode 100644
index 00000000..933cabba
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/display.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/email.png b/IconThemes/kids/16x16/apps/email.png
new file mode 100644
index 00000000..44625435
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/email.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/energy.png b/IconThemes/kids/16x16/apps/energy.png
new file mode 100644
index 00000000..1f2219a0
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/energy.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/energy_star.png b/IconThemes/kids/16x16/apps/energy_star.png
new file mode 100644
index 00000000..1f2219a0
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/enhanced_browsing.png b/IconThemes/kids/16x16/apps/enhanced_browsing.png
new file mode 100644
index 00000000..8133d139
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/file-manager.png b/IconThemes/kids/16x16/apps/file-manager.png
new file mode 100644
index 00000000..3d4fda17
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/file-manager.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/fileshare.png b/IconThemes/kids/16x16/apps/fileshare.png
new file mode 100644
index 00000000..694965eb
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/fileshare.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/filetypes.png b/IconThemes/kids/16x16/apps/filetypes.png
new file mode 100644
index 00000000..9704c0c7
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/fonts.png b/IconThemes/kids/16x16/apps/fonts.png
new file mode 100644
index 00000000..61f4b48b
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/galeon.png b/IconThemes/kids/16x16/apps/galeon.png
new file mode 100644
index 00000000..d7ae16b3
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/galeon.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/gimp.png b/IconThemes/kids/16x16/apps/gimp.png
new file mode 100644
index 00000000..79106f6e
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/go.png b/IconThemes/kids/16x16/apps/go.png
new file mode 100644
index 00000000..141d8697
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/go.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/harddrive.png b/IconThemes/kids/16x16/apps/harddrive.png
new file mode 100644
index 00000000..d79955b0
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/harddrive.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/hook.png b/IconThemes/kids/16x16/apps/hook.png
new file mode 100644
index 00000000..41331a2d
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/hook.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/hwinfo.png b/IconThemes/kids/16x16/apps/hwinfo.png
new file mode 100644
index 00000000..dd67e939
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/icons.png b/IconThemes/kids/16x16/apps/icons.png
new file mode 100644
index 00000000..024da14d
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/icons.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/iconthemes.png b/IconThemes/kids/16x16/apps/iconthemes.png
new file mode 100644
index 00000000..07794884
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/input_devices_settings.png b/IconThemes/kids/16x16/apps/input_devices_settings.png
new file mode 100644
index 00000000..48866ecc
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcalc.png b/IconThemes/kids/16x16/apps/kcalc.png
new file mode 100644
index 00000000..cac3d31b
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmmemory.png b/IconThemes/kids/16x16/apps/kcmmemory.png
new file mode 100644
index 00000000..4c22ce58
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmpci.png b/IconThemes/kids/16x16/apps/kcmpci.png
new file mode 100644
index 00000000..72213260
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmprocessor.png b/IconThemes/kids/16x16/apps/kcmprocessor.png
new file mode 100644
index 00000000..c056e568
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmsound.png b/IconThemes/kids/16x16/apps/kcmsound.png
new file mode 100644
index 00000000..bf0bc787
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmsystem.png b/IconThemes/kids/16x16/apps/kcmsystem.png
new file mode 100644
index 00000000..6f5adeb5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcmx.png b/IconThemes/kids/16x16/apps/kcmx.png
new file mode 100644
index 00000000..b95c0699
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcoloredit.png b/IconThemes/kids/16x16/apps/kcoloredit.png
new file mode 100644
index 00000000..9812973e
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kcontrol.png b/IconThemes/kids/16x16/apps/kcontrol.png
new file mode 100644
index 00000000..745b2142
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/key_bindings.png b/IconThemes/kids/16x16/apps/key_bindings.png
new file mode 100644
index 00000000..efd5d80a
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/keyboard.png b/IconThemes/kids/16x16/apps/keyboard.png
new file mode 100644
index 00000000..9b05a74a
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/keyboard_layout.png b/IconThemes/kids/16x16/apps/keyboard_layout.png
new file mode 100644
index 00000000..3347e663
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kfloppy.png b/IconThemes/kids/16x16/apps/kfloppy.png
new file mode 100644
index 00000000..cdab5d07
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kfm.png b/IconThemes/kids/16x16/apps/kfm.png
new file mode 100644
index 00000000..d7794ded
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kfm_home.png b/IconThemes/kids/16x16/apps/kfm_home.png
new file mode 100644
index 00000000..86f90f37
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/khelpcenter.png b/IconThemes/kids/16x16/apps/khelpcenter.png
new file mode 100644
index 00000000..e82017db
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kicker.png b/IconThemes/kids/16x16/apps/kicker.png
new file mode 100644
index 00000000..e62dc51f
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kjobviewer.png b/IconThemes/kids/16x16/apps/kjobviewer.png
new file mode 100644
index 00000000..df3773f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/klaptopdaemon.png b/IconThemes/kids/16x16/apps/klaptopdaemon.png
new file mode 100644
index 00000000..cb0ab8ce
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/klipper.png b/IconThemes/kids/16x16/apps/klipper.png
new file mode 100644
index 00000000..dfa98208
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/klpq.png b/IconThemes/kids/16x16/apps/klpq.png
new file mode 100644
index 00000000..df3773f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/klpq.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kmenu.png b/IconThemes/kids/16x16/apps/kmenu.png
new file mode 100644
index 00000000..141d8697
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kmix.png b/IconThemes/kids/16x16/apps/kmix.png
new file mode 100644
index 00000000..e4efe228
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/knetconfig.png b/IconThemes/kids/16x16/apps/knetconfig.png
new file mode 100644
index 00000000..85257115
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/knetconfig.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/knotify.png b/IconThemes/kids/16x16/apps/knotify.png
new file mode 100644
index 00000000..008ebd0d
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/konqueror.png b/IconThemes/kids/16x16/apps/konqueror.png
new file mode 100644
index 00000000..fa4e20cf
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/konsole.png b/IconThemes/kids/16x16/apps/konsole.png
new file mode 100644
index 00000000..8daa71d9
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kppp.png b/IconThemes/kids/16x16/apps/kppp.png
new file mode 100644
index 00000000..2926d1c2
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kreatecd.png b/IconThemes/kids/16x16/apps/kreatecd.png
new file mode 100644
index 00000000..66b446f1
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/krfb.png b/IconThemes/kids/16x16/apps/krfb.png
new file mode 100644
index 00000000..6ecb76a5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kscd.png b/IconThemes/kids/16x16/apps/kscd.png
new file mode 100644
index 00000000..f18bca6f
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kscreensaver.png b/IconThemes/kids/16x16/apps/kscreensaver.png
new file mode 100644
index 00000000..ed3e9e41
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kservices.png b/IconThemes/kids/16x16/apps/kservices.png
new file mode 100644
index 00000000..6f5adeb5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kservices.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/ksmiletris.png b/IconThemes/kids/16x16/apps/ksmiletris.png
new file mode 100644
index 00000000..bdeae6c4
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/ktalkd.png b/IconThemes/kids/16x16/apps/ktalkd.png
new file mode 100644
index 00000000..a88fc5d8
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kuser.png b/IconThemes/kids/16x16/apps/kuser.png
new file mode 100644
index 00000000..f15fe9ee
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/kxconfig.png b/IconThemes/kids/16x16/apps/kxconfig.png
new file mode 100644
index 00000000..8d3c3a50
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/laptop_battery.png b/IconThemes/kids/16x16/apps/laptop_battery.png
new file mode 100644
index 00000000..192f3be2
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/laptop_pcmcia.png b/IconThemes/kids/16x16/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..bcfa2e56
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/lin_agt_wrench.png b/IconThemes/kids/16x16/apps/lin_agt_wrench.png
new file mode 100644
index 00000000..f3d857aa
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/lin_agt_wrench.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/linneighborhood.png b/IconThemes/kids/16x16/apps/linneighborhood.png
new file mode 100644
index 00000000..362e3e37
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/linneighborhood.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/linuxconf.png b/IconThemes/kids/16x16/apps/linuxconf.png
new file mode 100644
index 00000000..5efa19a4
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/linuxconf.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/locale.png b/IconThemes/kids/16x16/apps/locale.png
new file mode 100644
index 00000000..d4dfaca5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/locale.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/looknfeel.png b/IconThemes/kids/16x16/apps/looknfeel.png
new file mode 100644
index 00000000..6a99ee42
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/mail.png b/IconThemes/kids/16x16/apps/mail.png
new file mode 100644
index 00000000..5fbfab10
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/mail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/mascot.png b/IconThemes/kids/16x16/apps/mascot.png
new file mode 100644
index 00000000..7ab367bd
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/mascot.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/mouse.png b/IconThemes/kids/16x16/apps/mouse.png
new file mode 100644
index 00000000..293c780d
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/mozilla.png b/IconThemes/kids/16x16/apps/mozilla.png
new file mode 100644
index 00000000..888569f1
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/multimedia.png b/IconThemes/kids/16x16/apps/multimedia.png
new file mode 100644
index 00000000..bf0bc787
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/mycomputer.png b/IconThemes/kids/16x16/apps/mycomputer.png
new file mode 100644
index 00000000..8769efe0
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/mycomputer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/netscape.png b/IconThemes/kids/16x16/apps/netscape.png
new file mode 100644
index 00000000..1f579770
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/network.png b/IconThemes/kids/16x16/apps/network.png
new file mode 100644
index 00000000..85257115
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/network.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/noatun.png b/IconThemes/kids/16x16/apps/noatun.png
new file mode 100644
index 00000000..7e92a737
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/os-support.png b/IconThemes/kids/16x16/apps/os-support.png
new file mode 100644
index 00000000..87daaa46
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/os-support.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/package_settings.png b/IconThemes/kids/16x16/apps/package_settings.png
new file mode 100644
index 00000000..f3d857aa
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/package_system.png b/IconThemes/kids/16x16/apps/package_system.png
new file mode 100644
index 00000000..6f5adeb5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/package_toys.png b/IconThemes/kids/16x16/apps/package_toys.png
new file mode 100644
index 00000000..bb959665
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/package_utilities.png b/IconThemes/kids/16x16/apps/package_utilities.png
new file mode 100644
index 00000000..44a6b1a3
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/password.png b/IconThemes/kids/16x16/apps/password.png
new file mode 100644
index 00000000..55aebed2
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/password.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/penguin.png b/IconThemes/kids/16x16/apps/penguin.png
new file mode 100644
index 00000000..9cfc8202
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/personal.png b/IconThemes/kids/16x16/apps/personal.png
new file mode 100644
index 00000000..f4a8d90b
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/personal.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/printer.png b/IconThemes/kids/16x16/apps/printer.png
new file mode 100644
index 00000000..df3773f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/printer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/printmgr.png b/IconThemes/kids/16x16/apps/printmgr.png
new file mode 100644
index 00000000..df3773f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/proxy.png b/IconThemes/kids/16x16/apps/proxy.png
new file mode 100644
index 00000000..0504adf5
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/renamecomputer.png b/IconThemes/kids/16x16/apps/renamecomputer.png
new file mode 100644
index 00000000..c3203811
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/renamecomputer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/samba.png b/IconThemes/kids/16x16/apps/samba.png
new file mode 100644
index 00000000..35b6bb4f
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/samba.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/sisadmin.png b/IconThemes/kids/16x16/apps/sisadmin.png
new file mode 100644
index 00000000..137aa779
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/sisadmin.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/star_here.png b/IconThemes/kids/16x16/apps/star_here.png
new file mode 100644
index 00000000..a1dfd3f6
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/star_here.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/start_here.png b/IconThemes/kids/16x16/apps/start_here.png
new file mode 100644
index 00000000..ccb62015
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/start_here.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/stylesheet.png b/IconThemes/kids/16x16/apps/stylesheet.png
new file mode 100644
index 00000000..e2e58024
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/trash.png b/IconThemes/kids/16x16/apps/trash.png
new file mode 100644
index 00000000..3a794dc1
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/trash.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/window_list.png b/IconThemes/kids/16x16/apps/window_list.png
new file mode 100644
index 00000000..36eb7481
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/windows_users.png b/IconThemes/kids/16x16/apps/windows_users.png
new file mode 100644
index 00000000..7f3016a1
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/windows_users.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/x.png b/IconThemes/kids/16x16/apps/x.png
new file mode 100644
index 00000000..e023c217
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/x.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/xcalc.png b/IconThemes/kids/16x16/apps/xcalc.png
new file mode 100644
index 00000000..c3203811
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/xmail.png b/IconThemes/kids/16x16/apps/xmail.png
new file mode 100644
index 00000000..8752521c
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/xmail.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/xmms.png b/IconThemes/kids/16x16/apps/xmms.png
new file mode 100644
index 00000000..2036be5d
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kids/16x16/apps/xpaint.png b/IconThemes/kids/16x16/apps/xpaint.png
new file mode 100644
index 00000000..88c5aa97
--- /dev/null
+++ b/IconThemes/kids/16x16/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/3floppy_mount.png b/IconThemes/kids/16x16/devices/3floppy_mount.png
new file mode 100644
index 00000000..1a7069e7
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/3floppy_unmount.png b/IconThemes/kids/16x16/devices/3floppy_unmount.png
new file mode 100644
index 00000000..c80c5d95
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/camera.png b/IconThemes/kids/16x16/devices/camera.png
new file mode 100644
index 00000000..2391facd
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/camera.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/cdrom_mount.png b/IconThemes/kids/16x16/devices/cdrom_mount.png
new file mode 100644
index 00000000..8f20f64a
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/cdrom_unmount.png b/IconThemes/kids/16x16/devices/cdrom_unmount.png
new file mode 100644
index 00000000..5351a48d
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/hdd_mount.png b/IconThemes/kids/16x16/devices/hdd_mount.png
new file mode 100644
index 00000000..db1a3c62
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/hdd_unmount.png b/IconThemes/kids/16x16/devices/hdd_unmount.png
new file mode 100644
index 00000000..d79955b0
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/memory.png b/IconThemes/kids/16x16/devices/memory.png
new file mode 100644
index 00000000..4c22ce58
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/memory.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/network_local.png b/IconThemes/kids/16x16/devices/network_local.png
new file mode 100644
index 00000000..81656cc6
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/network_local.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/nfs_unmount.png b/IconThemes/kids/16x16/devices/nfs_unmount.png
new file mode 100644
index 00000000..4fdd3bc3
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/print_printer.png b/IconThemes/kids/16x16/devices/print_printer.png
new file mode 100644
index 00000000..703b243b
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/printer.png b/IconThemes/kids/16x16/devices/printer.png
new file mode 100644
index 00000000..703b243b
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/printer.png
Binary files differ
diff --git a/IconThemes/kids/16x16/devices/printer2.png b/IconThemes/kids/16x16/devices/printer2.png
new file mode 100644
index 00000000..703b243b
--- /dev/null
+++ b/IconThemes/kids/16x16/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/connect_to_network.png b/IconThemes/kids/16x16/filesystems/connect_to_network.png
new file mode 100644
index 00000000..0423346f
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/connect_to_network.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/desktop.png b/IconThemes/kids/16x16/filesystems/desktop.png
new file mode 100644
index 00000000..1496b03e
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/exec.png b/IconThemes/kids/16x16/filesystems/exec.png
new file mode 100644
index 00000000..f9dab685
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/favorites.png b/IconThemes/kids/16x16/filesystems/favorites.png
new file mode 100644
index 00000000..108adc56
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/favorites.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/favorites2.png b/IconThemes/kids/16x16/filesystems/favorites2.png
new file mode 100644
index 00000000..fd4046fb
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/favorites2.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/file_temporary.png b/IconThemes/kids/16x16/filesystems/file_temporary.png
new file mode 100644
index 00000000..1a0709fa
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder.png b/IconThemes/kids/16x16/filesystems/folder.png
new file mode 100644
index 00000000..9717bd8c
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_blue.png b/IconThemes/kids/16x16/filesystems/folder_blue.png
new file mode 100644
index 00000000..59ef0888
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_doc.png b/IconThemes/kids/16x16/filesystems/folder_doc.png
new file mode 100644
index 00000000..8764d167
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_doc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_favorites.png b/IconThemes/kids/16x16/filesystems/folder_favorites.png
new file mode 100644
index 00000000..ceb326e1
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_favorites2.png b/IconThemes/kids/16x16/filesystems/folder_favorites2.png
new file mode 100644
index 00000000..dddce543
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_favorites2.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_home.png b/IconThemes/kids/16x16/filesystems/folder_home.png
new file mode 100644
index 00000000..b72de6e6
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_htm.png b/IconThemes/kids/16x16/filesystems/folder_htm.png
new file mode 100644
index 00000000..43a61fac
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_htm.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_html.png b/IconThemes/kids/16x16/filesystems/folder_html.png
new file mode 100644
index 00000000..55271a10
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_image.png b/IconThemes/kids/16x16/filesystems/folder_image.png
new file mode 100644
index 00000000..5a4b49c3
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_locked.png b/IconThemes/kids/16x16/filesystems/folder_locked.png
new file mode 100644
index 00000000..0644150d
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/folder_music.png b/IconThemes/kids/16x16/filesystems/folder_music.png
new file mode 100644
index 00000000..892d17c4
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/folder_music.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/link.png b/IconThemes/kids/16x16/filesystems/link.png
new file mode 100644
index 00000000..8d29428d
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/lockoverlay.png b/IconThemes/kids/16x16/filesystems/lockoverlay.png
new file mode 100644
index 00000000..74749989
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/network_local.png b/IconThemes/kids/16x16/filesystems/network_local.png
new file mode 100644
index 00000000..9dd6f89f
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/socket.png b/IconThemes/kids/16x16/filesystems/socket.png
new file mode 100644
index 00000000..31f2e124
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/trashcan_empty.png b/IconThemes/kids/16x16/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..eb937725
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kids/16x16/filesystems/trashcan_full.png b/IconThemes/kids/16x16/filesystems/trashcan_full.png
new file mode 100644
index 00000000..54a5852b
--- /dev/null
+++ b/IconThemes/kids/16x16/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/cdimage.png b/IconThemes/kids/16x16/mimetypes/cdimage.png
new file mode 100644
index 00000000..196dfdaf
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/document.png b/IconThemes/kids/16x16/mimetypes/document.png
new file mode 100644
index 00000000..65967357
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/empty.png b/IconThemes/kids/16x16/mimetypes/empty.png
new file mode 100644
index 00000000..7bbfa543
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/file_locked.png b/IconThemes/kids/16x16/mimetypes/file_locked.png
new file mode 100644
index 00000000..64ee481e
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/file_locked.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/file_temporary.png b/IconThemes/kids/16x16/mimetypes/file_temporary.png
new file mode 100644
index 00000000..6cf5597b
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/html.png b/IconThemes/kids/16x16/mimetypes/html.png
new file mode 100644
index 00000000..41f49d3f
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/image.png b/IconThemes/kids/16x16/mimetypes/image.png
new file mode 100644
index 00000000..ef2ad0eb
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/midi.png b/IconThemes/kids/16x16/mimetypes/midi.png
new file mode 100644
index 00000000..8a8f7b72
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/netscape_doc.png b/IconThemes/kids/16x16/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..c4f67508
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/sound.png b/IconThemes/kids/16x16/mimetypes/sound.png
new file mode 100644
index 00000000..0765dd12
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kids/16x16/mimetypes/unknown.png b/IconThemes/kids/16x16/mimetypes/unknown.png
new file mode 100644
index 00000000..7b4d7e33
--- /dev/null
+++ b/IconThemes/kids/16x16/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/Untitled.png b/IconThemes/kids/22x22/actions/Untitled.png
new file mode 100644
index 00000000..e53897d2
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/about_kde.png b/IconThemes/kids/22x22/actions/about_kde.png
new file mode 100644
index 00000000..e27cc685
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/appearance.png b/IconThemes/kids/22x22/actions/appearance.png
new file mode 100644
index 00000000..93a66d1c
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/back.png b/IconThemes/kids/22x22/actions/back.png
new file mode 100644
index 00000000..e4770f8d
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/back.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/bookmark.png b/IconThemes/kids/22x22/actions/bookmark.png
new file mode 100644
index 00000000..da3be040
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/bookmark_add.png b/IconThemes/kids/22x22/actions/bookmark_add.png
new file mode 100644
index 00000000..3c7a304b
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/button_cance.png b/IconThemes/kids/22x22/actions/button_cance.png
new file mode 100644
index 00000000..27de91e4
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/button_cance.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/button_ok.png b/IconThemes/kids/22x22/actions/button_ok.png
new file mode 100644
index 00000000..0cecd715
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/cd.png b/IconThemes/kids/22x22/actions/cd.png
new file mode 100644
index 00000000..2d150080
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/cd.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/colorize.png b/IconThemes/kids/22x22/actions/colorize.png
new file mode 100644
index 00000000..d8f0a86f
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/compfile.png b/IconThemes/kids/22x22/actions/compfile.png
new file mode 100644
index 00000000..96c15221
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/compfile.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/configure.png b/IconThemes/kids/22x22/actions/configure.png
new file mode 100644
index 00000000..f08dbc07
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/configure.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/decrypted.png b/IconThemes/kids/22x22/actions/decrypted.png
new file mode 100644
index 00000000..70b54434
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/down.png b/IconThemes/kids/22x22/actions/down.png
new file mode 100644
index 00000000..e53897d2
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/down.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/edit.png b/IconThemes/kids/22x22/actions/edit.png
new file mode 100644
index 00000000..44dd0855
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/edit.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/editcopy.png b/IconThemes/kids/22x22/actions/editcopy.png
new file mode 100644
index 00000000..f72fd866
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/editcut.png b/IconThemes/kids/22x22/actions/editcut.png
new file mode 100644
index 00000000..eadf48a5
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/editdelete.png b/IconThemes/kids/22x22/actions/editdelete.png
new file mode 100644
index 00000000..0ce55d5e
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/editpaste.png b/IconThemes/kids/22x22/actions/editpaste.png
new file mode 100644
index 00000000..b4899a99
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/edittrash.png b/IconThemes/kids/22x22/actions/edittrash.png
new file mode 100644
index 00000000..8b6e4ab1
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/encrypted.png b/IconThemes/kids/22x22/actions/encrypted.png
new file mode 100644
index 00000000..6b1266b1
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/exit.png b/IconThemes/kids/22x22/actions/exit.png
new file mode 100644
index 00000000..61f33c44
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/exit.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/fileclose.png b/IconThemes/kids/22x22/actions/fileclose.png
new file mode 100644
index 00000000..c7a1f76f
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/filefind.png b/IconThemes/kids/22x22/actions/filefind.png
new file mode 100644
index 00000000..61986989
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/filenew.png b/IconThemes/kids/22x22/actions/filenew.png
new file mode 100644
index 00000000..199c0cce
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/fileopen.png b/IconThemes/kids/22x22/actions/fileopen.png
new file mode 100644
index 00000000..b1678535
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/fileprint.png b/IconThemes/kids/22x22/actions/fileprint.png
new file mode 100644
index 00000000..c1c4047f
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/filequickprint.png b/IconThemes/kids/22x22/actions/filequickprint.png
new file mode 100644
index 00000000..97f7b75b
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/filesave.png b/IconThemes/kids/22x22/actions/filesave.png
new file mode 100644
index 00000000..78ee7d64
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/filesaveas.png b/IconThemes/kids/22x22/actions/filesaveas.png
new file mode 100644
index 00000000..de8cf0a6
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/find.png b/IconThemes/kids/22x22/actions/find.png
new file mode 100644
index 00000000..8eadaa61
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/find.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/fonts.png b/IconThemes/kids/22x22/actions/fonts.png
new file mode 100644
index 00000000..8a82ea0a
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/forward.png b/IconThemes/kids/22x22/actions/forward.png
new file mode 100644
index 00000000..a809977f
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/forward.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/frameprint.png b/IconThemes/kids/22x22/actions/frameprint.png
new file mode 100644
index 00000000..32648585
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/gohome.png b/IconThemes/kids/22x22/actions/gohome.png
new file mode 100644
index 00000000..a265534e
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/help.png b/IconThemes/kids/22x22/actions/help.png
new file mode 100644
index 00000000..13a62665
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/help.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/history.png b/IconThemes/kids/22x22/actions/history.png
new file mode 100644
index 00000000..8ee06df4
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/history.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/klipper_doc.png b/IconThemes/kids/22x22/actions/klipper_doc.png
new file mode 100644
index 00000000..fd31c94c
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/klipper_doc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/launch.png b/IconThemes/kids/22x22/actions/launch.png
new file mode 100644
index 00000000..31c2f2d0
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/launch.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/misc.png b/IconThemes/kids/22x22/actions/misc.png
new file mode 100644
index 00000000..c0e0604e
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/misc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/next-sail.png b/IconThemes/kids/22x22/actions/next-sail.png
new file mode 100644
index 00000000..541924d3
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/next-sail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/next.png b/IconThemes/kids/22x22/actions/next.png
new file mode 100644
index 00000000..7c751742
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/next.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/previos-sail.png b/IconThemes/kids/22x22/actions/previos-sail.png
new file mode 100644
index 00000000..6a2bb2ef
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/previos-sail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/previous.png b/IconThemes/kids/22x22/actions/previous.png
new file mode 100644
index 00000000..26d3ace9
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/previous.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/redo.png b/IconThemes/kids/22x22/actions/redo.png
new file mode 100644
index 00000000..3142295b
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/redo.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/reload.png b/IconThemes/kids/22x22/actions/reload.png
new file mode 100644
index 00000000..59acd938
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/reload.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/run.png b/IconThemes/kids/22x22/actions/run.png
new file mode 100644
index 00000000..84c6530e
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/run.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/search.png b/IconThemes/kids/22x22/actions/search.png
new file mode 100644
index 00000000..c2824441
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/search.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/stop.png b/IconThemes/kids/22x22/actions/stop.png
new file mode 100644
index 00000000..cf93a143
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/stop.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/thumbnail.png b/IconThemes/kids/22x22/actions/thumbnail.png
new file mode 100644
index 00000000..68ac6e47
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/undo.png b/IconThemes/kids/22x22/actions/undo.png
new file mode 100644
index 00000000..5df56cd4
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/undo.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/unlock.png b/IconThemes/kids/22x22/actions/unlock.png
new file mode 100644
index 00000000..32d6341b
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/up.png b/IconThemes/kids/22x22/actions/up.png
new file mode 100644
index 00000000..47588edc
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/up.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_bottom.png b/IconThemes/kids/22x22/actions/view_bottom.png
new file mode 100644
index 00000000..0430397c
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_choose.png b/IconThemes/kids/22x22/actions/view_choose.png
new file mode 100644
index 00000000..960a49f9
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_detailed.png b/IconThemes/kids/22x22/actions/view_detailed.png
new file mode 100644
index 00000000..36294778
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_icon.png b/IconThemes/kids/22x22/actions/view_icon.png
new file mode 100644
index 00000000..f765f7cb
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_left_right.png b/IconThemes/kids/22x22/actions/view_left_right.png
new file mode 100644
index 00000000..c5452082
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_multicolumn.png b/IconThemes/kids/22x22/actions/view_multicolumn.png
new file mode 100644
index 00000000..a75325e5
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_remove.png b/IconThemes/kids/22x22/actions/view_remove.png
new file mode 100644
index 00000000..f91a72de
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_right.png b/IconThemes/kids/22x22/actions/view_right.png
new file mode 100644
index 00000000..0430397c
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_sidetree.png b/IconThemes/kids/22x22/actions/view_sidetree.png
new file mode 100644
index 00000000..69255b9b
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_text.png b/IconThemes/kids/22x22/actions/view_text.png
new file mode 100644
index 00000000..6ac44445
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_top_bottom.png b/IconThemes/kids/22x22/actions/view_top_bottom.png
new file mode 100644
index 00000000..2c74a407
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/view_tree.png b/IconThemes/kids/22x22/actions/view_tree.png
new file mode 100644
index 00000000..fa7c2e08
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/viewmag+.png b/IconThemes/kids/22x22/actions/viewmag+.png
new file mode 100644
index 00000000..d17efe72
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/viewmag-.png b/IconThemes/kids/22x22/actions/viewmag-.png
new file mode 100644
index 00000000..2fabd28f
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/viewmag1.png b/IconThemes/kids/22x22/actions/viewmag1.png
new file mode 100644
index 00000000..52286092
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/viewmagfit.png b/IconThemes/kids/22x22/actions/viewmagfit.png
new file mode 100644
index 00000000..af0266e1
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/window_fullscreen.png b/IconThemes/kids/22x22/actions/window_fullscreen.png
new file mode 100644
index 00000000..b9d22e3c
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/window_new.png b/IconThemes/kids/22x22/actions/window_new.png
new file mode 100644
index 00000000..534ffeba
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kids/22x22/actions/window_nofullscreen.png b/IconThemes/kids/22x22/actions/window_nofullscreen.png
new file mode 100644
index 00000000..8ce33d19
--- /dev/null
+++ b/IconThemes/kids/22x22/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/Untitled.png b/IconThemes/kids/22x22/apps/Untitled.png
new file mode 100644
index 00000000..0e5c13e7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agent.png b/IconThemes/kids/22x22/apps/agent.png
new file mode 100644
index 00000000..a007e7b2
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agent.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt-family-off.png b/IconThemes/kids/22x22/apps/agt-family-off.png
new file mode 100644
index 00000000..49ad5ab0
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt-family-off.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_action_fail.png b/IconThemes/kids/22x22/apps/agt_action_fail.png
new file mode 100644
index 00000000..27de91e4
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_action_fail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_action_success.png b/IconThemes/kids/22x22/apps/agt_action_success.png
new file mode 100644
index 00000000..221ed0d4
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_action_success.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_back.png b/IconThemes/kids/22x22/apps/agt_back.png
new file mode 100644
index 00000000..f7685bf7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_back.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_family-off.png b/IconThemes/kids/22x22/apps/agt_family-off.png
new file mode 100644
index 00000000..8b9e4ac1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_family-off.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_family.png b/IconThemes/kids/22x22/apps/agt_family.png
new file mode 100644
index 00000000..54eb84c5
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_family.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_forward.png b/IconThemes/kids/22x22/apps/agt_forward.png
new file mode 100644
index 00000000..b69e40f7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_forward.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_login.png b/IconThemes/kids/22x22/apps/agt_login.png
new file mode 100644
index 00000000..5648d82b
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_login.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_print.png b/IconThemes/kids/22x22/apps/agt_print.png
new file mode 100644
index 00000000..28987a13
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_print.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_reload.png b/IconThemes/kids/22x22/apps/agt_reload.png
new file mode 100644
index 00000000..66c73e07
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_reload.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_resume.png b/IconThemes/kids/22x22/apps/agt_resume.png
new file mode 100644
index 00000000..da295a68
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_resume.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_runit.png b/IconThemes/kids/22x22/apps/agt_runit.png
new file mode 100644
index 00000000..527b127a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_runit.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_stop.png b/IconThemes/kids/22x22/apps/agt_stop.png
new file mode 100644
index 00000000..6abab1c1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_stop.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_uninstall-product.png b/IconThemes/kids/22x22/apps/agt_uninstall-product.png
new file mode 100644
index 00000000..d23c0e53
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_uninstall-product.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_update_critical.png b/IconThemes/kids/22x22/apps/agt_update_critical.png
new file mode 100644
index 00000000..d635e5c3
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_update_critical.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_update_drivers.png b/IconThemes/kids/22x22/apps/agt_update_drivers.png
new file mode 100644
index 00000000..ee7a11a7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_update_drivers.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_virussafe-off.png b/IconThemes/kids/22x22/apps/agt_virussafe-off.png
new file mode 100644
index 00000000..062f9435
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_virussafe-off.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/agt_virussafe.png b/IconThemes/kids/22x22/apps/agt_virussafe.png
new file mode 100644
index 00000000..4814695c
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/agt_virussafe.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/aim.png b/IconThemes/kids/22x22/apps/aim.png
new file mode 100644
index 00000000..f532184a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/aim.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/ark.png b/IconThemes/kids/22x22/apps/ark.png
new file mode 100644
index 00000000..ee7a11a7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/ark.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/babelfish.png b/IconThemes/kids/22x22/apps/babelfish.png
new file mode 100644
index 00000000..1596a212
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/babelfish.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/background.png b/IconThemes/kids/22x22/apps/background.png
new file mode 100644
index 00000000..96393b3c
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/background.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/bell.png b/IconThemes/kids/22x22/apps/bell.png
new file mode 100644
index 00000000..5d109f8e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/bell.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/browser.png b/IconThemes/kids/22x22/apps/browser.png
new file mode 100644
index 00000000..9a72e05e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/browser.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/cache.png b/IconThemes/kids/22x22/apps/cache.png
new file mode 100644
index 00000000..ff54a1d4
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/cache.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/camera.png b/IconThemes/kids/22x22/apps/camera.png
new file mode 100644
index 00000000..22489257
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/camera.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/cd-player1.png b/IconThemes/kids/22x22/apps/cd-player1.png
new file mode 100644
index 00000000..e18d25f1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/cd-player1.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/cd-player2.png b/IconThemes/kids/22x22/apps/cd-player2.png
new file mode 100644
index 00000000..c56a474e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/cd-player2.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/cd-player216.png b/IconThemes/kids/22x22/apps/cd-player216.png
new file mode 100644
index 00000000..c56a474e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/cd-player216.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/clicknrun.png b/IconThemes/kids/22x22/apps/clicknrun.png
new file mode 100644
index 00000000..65fea162
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/clicknrun.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/clicknrungrey.png b/IconThemes/kids/22x22/apps/clicknrungrey.png
new file mode 100644
index 00000000..50a1bdc0
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/clicknrungrey.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/clock.png b/IconThemes/kids/22x22/apps/clock.png
new file mode 100644
index 00000000..30fc9368
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/clock.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/colors.png b/IconThemes/kids/22x22/apps/colors.png
new file mode 100644
index 00000000..f716c82a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/colors.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/cookie.png b/IconThemes/kids/22x22/apps/cookie.png
new file mode 100644
index 00000000..d30e4457
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/date.png b/IconThemes/kids/22x22/apps/date.png
new file mode 100644
index 00000000..7fa6fd4b
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/date.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/display.png b/IconThemes/kids/22x22/apps/display.png
new file mode 100644
index 00000000..8357683a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/display.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/email.png b/IconThemes/kids/22x22/apps/email.png
new file mode 100644
index 00000000..2b990b24
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/email.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/energy.png b/IconThemes/kids/22x22/apps/energy.png
new file mode 100644
index 00000000..4fe4a747
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/energy.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/enhanced_browsing.png b/IconThemes/kids/22x22/apps/enhanced_browsing.png
new file mode 100644
index 00000000..45ef35c5
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/file-manager.png b/IconThemes/kids/22x22/apps/file-manager.png
new file mode 100644
index 00000000..6a268681
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/file-manager.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/fileshare.png b/IconThemes/kids/22x22/apps/fileshare.png
new file mode 100644
index 00000000..e487452d
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/fileshare.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/filetypes.png b/IconThemes/kids/22x22/apps/filetypes.png
new file mode 100644
index 00000000..c33a4f13
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/fonts.png b/IconThemes/kids/22x22/apps/fonts.png
new file mode 100644
index 00000000..57cb9aaa
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/galeon.png b/IconThemes/kids/22x22/apps/galeon.png
new file mode 100644
index 00000000..bf727d40
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/galeon.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/gimp.png b/IconThemes/kids/22x22/apps/gimp.png
new file mode 100644
index 00000000..3dd70aa1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/go.png b/IconThemes/kids/22x22/apps/go.png
new file mode 100644
index 00000000..d76784c1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/go.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/harddrive.png b/IconThemes/kids/22x22/apps/harddrive.png
new file mode 100644
index 00000000..e1411346
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/harddrive.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/hook.png b/IconThemes/kids/22x22/apps/hook.png
new file mode 100644
index 00000000..8422362d
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/hook.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/hwinfo.png b/IconThemes/kids/22x22/apps/hwinfo.png
new file mode 100644
index 00000000..1cc7d013
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/icons.png b/IconThemes/kids/22x22/apps/icons.png
new file mode 100644
index 00000000..dba80bac
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/icons.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/iconthemes.png b/IconThemes/kids/22x22/apps/iconthemes.png
new file mode 100644
index 00000000..e05f32e0
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/input_devices_settings.png b/IconThemes/kids/22x22/apps/input_devices_settings.png
new file mode 100644
index 00000000..e6297ce1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcalc.png b/IconThemes/kids/22x22/apps/kcalc.png
new file mode 100644
index 00000000..16b6d8b7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmmemory.png b/IconThemes/kids/22x22/apps/kcmmemory.png
new file mode 100644
index 00000000..e4039f9a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmpci.png b/IconThemes/kids/22x22/apps/kcmpci.png
new file mode 100644
index 00000000..9c57fe70
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmprocessor.png b/IconThemes/kids/22x22/apps/kcmprocessor.png
new file mode 100644
index 00000000..6e3e8fa3
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmsound.png b/IconThemes/kids/22x22/apps/kcmsound.png
new file mode 100644
index 00000000..bb57a261
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmsystem.png b/IconThemes/kids/22x22/apps/kcmsystem.png
new file mode 100644
index 00000000..573b1923
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcmx.png b/IconThemes/kids/22x22/apps/kcmx.png
new file mode 100644
index 00000000..53a0ac8a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcoloredit.png b/IconThemes/kids/22x22/apps/kcoloredit.png
new file mode 100644
index 00000000..3777914b
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kcontrol.png b/IconThemes/kids/22x22/apps/kcontrol.png
new file mode 100644
index 00000000..9b6b81d6
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/key_bindings.png b/IconThemes/kids/22x22/apps/key_bindings.png
new file mode 100644
index 00000000..57d197e7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/keyboard.png b/IconThemes/kids/22x22/apps/keyboard.png
new file mode 100644
index 00000000..7981dc72
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/keyboard_layout.png b/IconThemes/kids/22x22/apps/keyboard_layout.png
new file mode 100644
index 00000000..6e380f21
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kfloppy.png b/IconThemes/kids/22x22/apps/kfloppy.png
new file mode 100644
index 00000000..d1040247
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kfm.png b/IconThemes/kids/22x22/apps/kfm.png
new file mode 100644
index 00000000..fbf81c1d
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kfm_home.png b/IconThemes/kids/22x22/apps/kfm_home.png
new file mode 100644
index 00000000..17acdfb9
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/khelpcenter.png b/IconThemes/kids/22x22/apps/khelpcenter.png
new file mode 100644
index 00000000..e9dd5687
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kicker.png b/IconThemes/kids/22x22/apps/kicker.png
new file mode 100644
index 00000000..7dff8300
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kjobviewer.png b/IconThemes/kids/22x22/apps/kjobviewer.png
new file mode 100644
index 00000000..8b363680
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/klaptopdaemon.png b/IconThemes/kids/22x22/apps/klaptopdaemon.png
new file mode 100644
index 00000000..3f6ebe19
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/klipper.png b/IconThemes/kids/22x22/apps/klipper.png
new file mode 100644
index 00000000..1ef8da29
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/klpq.png b/IconThemes/kids/22x22/apps/klpq.png
new file mode 100644
index 00000000..8b363680
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/klpq.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kmenu.png b/IconThemes/kids/22x22/apps/kmenu.png
new file mode 100644
index 00000000..d76784c1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kmix.png b/IconThemes/kids/22x22/apps/kmix.png
new file mode 100644
index 00000000..74702216
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/knetconfig.png b/IconThemes/kids/22x22/apps/knetconfig.png
new file mode 100644
index 00000000..3fd75f5e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/knetconfig.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/knotify.png b/IconThemes/kids/22x22/apps/knotify.png
new file mode 100644
index 00000000..21df950d
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/konqueror.png b/IconThemes/kids/22x22/apps/konqueror.png
new file mode 100644
index 00000000..22983538
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/konsole.png b/IconThemes/kids/22x22/apps/konsole.png
new file mode 100644
index 00000000..6368f98c
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kppp.png b/IconThemes/kids/22x22/apps/kppp.png
new file mode 100644
index 00000000..0bcef9df
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kreatecd.png b/IconThemes/kids/22x22/apps/kreatecd.png
new file mode 100644
index 00000000..7c257554
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/krfb.png b/IconThemes/kids/22x22/apps/krfb.png
new file mode 100644
index 00000000..23b56957
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kscd.png b/IconThemes/kids/22x22/apps/kscd.png
new file mode 100644
index 00000000..c5068de2
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kscreensaver.png b/IconThemes/kids/22x22/apps/kscreensaver.png
new file mode 100644
index 00000000..7f254f52
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kservices.png b/IconThemes/kids/22x22/apps/kservices.png
new file mode 100644
index 00000000..83e839d8
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kservices.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/ksmiletris.png b/IconThemes/kids/22x22/apps/ksmiletris.png
new file mode 100644
index 00000000..becb6139
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/ktalkd.png b/IconThemes/kids/22x22/apps/ktalkd.png
new file mode 100644
index 00000000..02c31854
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kuser.png b/IconThemes/kids/22x22/apps/kuser.png
new file mode 100644
index 00000000..94c71fd7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/kxconfig.png b/IconThemes/kids/22x22/apps/kxconfig.png
new file mode 100644
index 00000000..25e99e57
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/laptop_battery.png b/IconThemes/kids/22x22/apps/laptop_battery.png
new file mode 100644
index 00000000..1651c627
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/laptop_pcmcia.png b/IconThemes/kids/22x22/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..14ada183
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/lin_agt_wrench.png b/IconThemes/kids/22x22/apps/lin_agt_wrench.png
new file mode 100644
index 00000000..58dceb35
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/lin_agt_wrench.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/linneighborhood.png b/IconThemes/kids/22x22/apps/linneighborhood.png
new file mode 100644
index 00000000..1c9b6fbf
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/linneighborhood.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/linuxconf.png b/IconThemes/kids/22x22/apps/linuxconf.png
new file mode 100644
index 00000000..47010358
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/linuxconf.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/locale.png b/IconThemes/kids/22x22/apps/locale.png
new file mode 100644
index 00000000..de24ead2
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/locale.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/looknfeel.png b/IconThemes/kids/22x22/apps/looknfeel.png
new file mode 100644
index 00000000..9ab665e2
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/mail.png b/IconThemes/kids/22x22/apps/mail.png
new file mode 100644
index 00000000..9fed4da1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/mail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/mascot.png b/IconThemes/kids/22x22/apps/mascot.png
new file mode 100644
index 00000000..968ef7fd
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/mascot.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/mouse.png b/IconThemes/kids/22x22/apps/mouse.png
new file mode 100644
index 00000000..5f643642
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/mozilla.png b/IconThemes/kids/22x22/apps/mozilla.png
new file mode 100644
index 00000000..24dfe3fb
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/multimedia.png b/IconThemes/kids/22x22/apps/multimedia.png
new file mode 100644
index 00000000..0e5c13e7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/mycomputer.png b/IconThemes/kids/22x22/apps/mycomputer.png
new file mode 100644
index 00000000..074255a7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/mycomputer.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/netscape.png b/IconThemes/kids/22x22/apps/netscape.png
new file mode 100644
index 00000000..106e7760
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/network.png b/IconThemes/kids/22x22/apps/network.png
new file mode 100644
index 00000000..3fd75f5e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/network.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/noatun.png b/IconThemes/kids/22x22/apps/noatun.png
new file mode 100644
index 00000000..53dc8cb7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/os-support.png b/IconThemes/kids/22x22/apps/os-support.png
new file mode 100644
index 00000000..6bacb4d1
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/os-support.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/package_settings.png b/IconThemes/kids/22x22/apps/package_settings.png
new file mode 100644
index 00000000..58dceb35
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/package_system.png b/IconThemes/kids/22x22/apps/package_system.png
new file mode 100644
index 00000000..83e839d8
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/package_toys.png b/IconThemes/kids/22x22/apps/package_toys.png
new file mode 100644
index 00000000..b904c69e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/package_utilities.png b/IconThemes/kids/22x22/apps/package_utilities.png
new file mode 100644
index 00000000..56e60c3d
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/password.png b/IconThemes/kids/22x22/apps/password.png
new file mode 100644
index 00000000..6170b84b
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/password.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/penguin.png b/IconThemes/kids/22x22/apps/penguin.png
new file mode 100644
index 00000000..b0fd9171
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/personal.png b/IconThemes/kids/22x22/apps/personal.png
new file mode 100644
index 00000000..41958107
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/personal.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/proxy.png b/IconThemes/kids/22x22/apps/proxy.png
new file mode 100644
index 00000000..9f4fcd76
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/renamecomputer.png b/IconThemes/kids/22x22/apps/renamecomputer.png
new file mode 100644
index 00000000..30c03969
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/renamecomputer.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/samba.png b/IconThemes/kids/22x22/apps/samba.png
new file mode 100644
index 00000000..def2bb57
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/samba.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/sisadmin.png b/IconThemes/kids/22x22/apps/sisadmin.png
new file mode 100644
index 00000000..7722805a
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/sisadmin.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/start_here.png b/IconThemes/kids/22x22/apps/start_here.png
new file mode 100644
index 00000000..b6e47da6
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/start_here.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/stylesheet.png b/IconThemes/kids/22x22/apps/stylesheet.png
new file mode 100644
index 00000000..31b3f951
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/trash.png b/IconThemes/kids/22x22/apps/trash.png
new file mode 100644
index 00000000..ec5edd31
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/trash.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/window_list.png b/IconThemes/kids/22x22/apps/window_list.png
new file mode 100644
index 00000000..37e40605
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/windows_users.png b/IconThemes/kids/22x22/apps/windows_users.png
new file mode 100644
index 00000000..8e5c1526
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/windows_users.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/x.png b/IconThemes/kids/22x22/apps/x.png
new file mode 100644
index 00000000..d20774e7
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/x.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/xcalc.png b/IconThemes/kids/22x22/apps/xcalc.png
new file mode 100644
index 00000000..30c03969
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/xmail.png b/IconThemes/kids/22x22/apps/xmail.png
new file mode 100644
index 00000000..e27e1e4b
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/xmail.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/xmms.png b/IconThemes/kids/22x22/apps/xmms.png
new file mode 100644
index 00000000..9dda6cdf
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kids/22x22/apps/xpaint.png b/IconThemes/kids/22x22/apps/xpaint.png
new file mode 100644
index 00000000..a6edbe9e
--- /dev/null
+++ b/IconThemes/kids/22x22/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/3floppy_mount.png b/IconThemes/kids/22x22/devices/3floppy_mount.png
new file mode 100644
index 00000000..a1bdb587
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/3floppy_unmount.png b/IconThemes/kids/22x22/devices/3floppy_unmount.png
new file mode 100644
index 00000000..5b31881c
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/camera.png b/IconThemes/kids/22x22/devices/camera.png
new file mode 100644
index 00000000..b3a53553
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/camera.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/cdrom_mount.png b/IconThemes/kids/22x22/devices/cdrom_mount.png
new file mode 100644
index 00000000..1497ac9b
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/cdrom_unmount.png b/IconThemes/kids/22x22/devices/cdrom_unmount.png
new file mode 100644
index 00000000..8736cecc
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/hdd_mount.png b/IconThemes/kids/22x22/devices/hdd_mount.png
new file mode 100644
index 00000000..1000dc06
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/hdd_unmount.png b/IconThemes/kids/22x22/devices/hdd_unmount.png
new file mode 100644
index 00000000..d3e350bb
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/memory.png b/IconThemes/kids/22x22/devices/memory.png
new file mode 100644
index 00000000..a4fb3e9d
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/memory.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/network_local.png b/IconThemes/kids/22x22/devices/network_local.png
new file mode 100644
index 00000000..f68d1c3e
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/network_local.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/nfs_unmount.png b/IconThemes/kids/22x22/devices/nfs_unmount.png
new file mode 100644
index 00000000..8f0dfb02
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/print_printer.png b/IconThemes/kids/22x22/devices/print_printer.png
new file mode 100644
index 00000000..9c820557
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/printer.png b/IconThemes/kids/22x22/devices/printer.png
new file mode 100644
index 00000000..9c820557
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/printer.png
Binary files differ
diff --git a/IconThemes/kids/22x22/devices/printer2.png b/IconThemes/kids/22x22/devices/printer2.png
new file mode 100644
index 00000000..9c820557
--- /dev/null
+++ b/IconThemes/kids/22x22/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/connect_to_network.png b/IconThemes/kids/22x22/filesystems/connect_to_network.png
new file mode 100644
index 00000000..feae363f
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/connect_to_network.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/desktop.png b/IconThemes/kids/22x22/filesystems/desktop.png
new file mode 100644
index 00000000..48d75610
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/exec.png b/IconThemes/kids/22x22/filesystems/exec.png
new file mode 100644
index 00000000..86660db1
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/favorites.png b/IconThemes/kids/22x22/filesystems/favorites.png
new file mode 100644
index 00000000..565f4624
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/favorites.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/favorites2.png b/IconThemes/kids/22x22/filesystems/favorites2.png
new file mode 100644
index 00000000..a7867755
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/favorites2.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/file_temporary.png b/IconThemes/kids/22x22/filesystems/file_temporary.png
new file mode 100644
index 00000000..e51258c1
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder.png b/IconThemes/kids/22x22/filesystems/folder.png
new file mode 100644
index 00000000..d1f058e0
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_blue.png b/IconThemes/kids/22x22/filesystems/folder_blue.png
new file mode 100644
index 00000000..f4bb0979
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_doc.png b/IconThemes/kids/22x22/filesystems/folder_doc.png
new file mode 100644
index 00000000..b3359926
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_doc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_favorites.png b/IconThemes/kids/22x22/filesystems/folder_favorites.png
new file mode 100644
index 00000000..7023eb0f
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_favorites2.png b/IconThemes/kids/22x22/filesystems/folder_favorites2.png
new file mode 100644
index 00000000..15b0355a
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_favorites2.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_home.png b/IconThemes/kids/22x22/filesystems/folder_home.png
new file mode 100644
index 00000000..45fb10bd
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_html.png b/IconThemes/kids/22x22/filesystems/folder_html.png
new file mode 100644
index 00000000..67084834
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_image.png b/IconThemes/kids/22x22/filesystems/folder_image.png
new file mode 100644
index 00000000..9bc3d22c
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_locked.png b/IconThemes/kids/22x22/filesystems/folder_locked.png
new file mode 100644
index 00000000..98b8a5e3
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/folder_music.png b/IconThemes/kids/22x22/filesystems/folder_music.png
new file mode 100644
index 00000000..48ecdd8e
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/folder_music.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/link.png b/IconThemes/kids/22x22/filesystems/link.png
new file mode 100644
index 00000000..1098b79d
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/lockoverlay.png b/IconThemes/kids/22x22/filesystems/lockoverlay.png
new file mode 100644
index 00000000..669799d6
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/network_local.png b/IconThemes/kids/22x22/filesystems/network_local.png
new file mode 100644
index 00000000..29efbff3
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/socket.png b/IconThemes/kids/22x22/filesystems/socket.png
new file mode 100644
index 00000000..2cac5af0
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/trashcan_empty.png b/IconThemes/kids/22x22/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..907e9c62
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kids/22x22/filesystems/trashcan_full.png b/IconThemes/kids/22x22/filesystems/trashcan_full.png
new file mode 100644
index 00000000..36990a2d
--- /dev/null
+++ b/IconThemes/kids/22x22/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/cdimage.png b/IconThemes/kids/22x22/mimetypes/cdimage.png
new file mode 100644
index 00000000..e917a636
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/document.png b/IconThemes/kids/22x22/mimetypes/document.png
new file mode 100644
index 00000000..0fe55f73
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/empty.png b/IconThemes/kids/22x22/mimetypes/empty.png
new file mode 100644
index 00000000..63b8c156
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/file_locked.png b/IconThemes/kids/22x22/mimetypes/file_locked.png
new file mode 100644
index 00000000..b9ed3ea6
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/file_locked.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/file_temporary.png b/IconThemes/kids/22x22/mimetypes/file_temporary.png
new file mode 100644
index 00000000..7ad3a5a1
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/html.png b/IconThemes/kids/22x22/mimetypes/html.png
new file mode 100644
index 00000000..1de51439
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/image.png b/IconThemes/kids/22x22/mimetypes/image.png
new file mode 100644
index 00000000..2399f051
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/midi.png b/IconThemes/kids/22x22/mimetypes/midi.png
new file mode 100644
index 00000000..0f979864
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/netscape_doc.png b/IconThemes/kids/22x22/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..fd881efc
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/sound.png b/IconThemes/kids/22x22/mimetypes/sound.png
new file mode 100644
index 00000000..14e0d072
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kids/22x22/mimetypes/unknown.png b/IconThemes/kids/22x22/mimetypes/unknown.png
new file mode 100644
index 00000000..91c4b6d1
--- /dev/null
+++ b/IconThemes/kids/22x22/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/Untitled.png b/IconThemes/kids/32x32/actions/Untitled.png
new file mode 100644
index 00000000..0e5cf632
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/about_kde.png b/IconThemes/kids/32x32/actions/about_kde.png
new file mode 100644
index 00000000..1f872577
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/appearance.png b/IconThemes/kids/32x32/actions/appearance.png
new file mode 100644
index 00000000..719c33ec
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/back.png b/IconThemes/kids/32x32/actions/back.png
new file mode 100644
index 00000000..1322c209
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/back.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/bookmark.png b/IconThemes/kids/32x32/actions/bookmark.png
new file mode 100644
index 00000000..0bfa9ea1
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/bookmark_add.png b/IconThemes/kids/32x32/actions/bookmark_add.png
new file mode 100644
index 00000000..9e69ac66
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/button_cance.png b/IconThemes/kids/32x32/actions/button_cance.png
new file mode 100644
index 00000000..bc5a31e7
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/button_cance.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/button_ok.png b/IconThemes/kids/32x32/actions/button_ok.png
new file mode 100644
index 00000000..979794c3
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/cd.png b/IconThemes/kids/32x32/actions/cd.png
new file mode 100644
index 00000000..a1e5036c
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/cd.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/colorize.png b/IconThemes/kids/32x32/actions/colorize.png
new file mode 100644
index 00000000..4dfef39f
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/compfile.png b/IconThemes/kids/32x32/actions/compfile.png
new file mode 100644
index 00000000..ee35d67d
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/compfile.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/configure.png b/IconThemes/kids/32x32/actions/configure.png
new file mode 100644
index 00000000..bb60cbf8
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/configure.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/decrypted.png b/IconThemes/kids/32x32/actions/decrypted.png
new file mode 100644
index 00000000..711d940e
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/down.png b/IconThemes/kids/32x32/actions/down.png
new file mode 100644
index 00000000..0e5cf632
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/down.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/edit.png b/IconThemes/kids/32x32/actions/edit.png
new file mode 100644
index 00000000..568a5205
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/edit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/editcopy.png b/IconThemes/kids/32x32/actions/editcopy.png
new file mode 100644
index 00000000..d63d7e04
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/editcut.png b/IconThemes/kids/32x32/actions/editcut.png
new file mode 100644
index 00000000..dcbf39dd
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/editdelete.png b/IconThemes/kids/32x32/actions/editdelete.png
new file mode 100644
index 00000000..1cb83e62
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/editpaste.png b/IconThemes/kids/32x32/actions/editpaste.png
new file mode 100644
index 00000000..0aae3827
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/edittrash.png b/IconThemes/kids/32x32/actions/edittrash.png
new file mode 100644
index 00000000..ded55cf9
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/encrypted.png b/IconThemes/kids/32x32/actions/encrypted.png
new file mode 100644
index 00000000..a7980b9a
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/exit.png b/IconThemes/kids/32x32/actions/exit.png
new file mode 100644
index 00000000..bc1d1683
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/exit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/fileclose.png b/IconThemes/kids/32x32/actions/fileclose.png
new file mode 100644
index 00000000..ed3faa97
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/filefind.png b/IconThemes/kids/32x32/actions/filefind.png
new file mode 100644
index 00000000..2b9dad17
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/filenew.png b/IconThemes/kids/32x32/actions/filenew.png
new file mode 100644
index 00000000..2b81db71
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/fileopen.png b/IconThemes/kids/32x32/actions/fileopen.png
new file mode 100644
index 00000000..348e561d
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/fileprint.png b/IconThemes/kids/32x32/actions/fileprint.png
new file mode 100644
index 00000000..21f3e6fc
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/filequickprint.png b/IconThemes/kids/32x32/actions/filequickprint.png
new file mode 100644
index 00000000..33b6d26a
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/filesave.png b/IconThemes/kids/32x32/actions/filesave.png
new file mode 100644
index 00000000..fe13cd16
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/filesaveas.png b/IconThemes/kids/32x32/actions/filesaveas.png
new file mode 100644
index 00000000..ffba62d1
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/find.png b/IconThemes/kids/32x32/actions/find.png
new file mode 100644
index 00000000..412aee27
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/find.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/fonts.png b/IconThemes/kids/32x32/actions/fonts.png
new file mode 100644
index 00000000..16118d46
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/forward.png b/IconThemes/kids/32x32/actions/forward.png
new file mode 100644
index 00000000..22842f57
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/forward.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/frameprint.png b/IconThemes/kids/32x32/actions/frameprint.png
new file mode 100644
index 00000000..5ee975fc
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/gohome.png b/IconThemes/kids/32x32/actions/gohome.png
new file mode 100644
index 00000000..bdaa1a7b
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/help.png b/IconThemes/kids/32x32/actions/help.png
new file mode 100644
index 00000000..e03d92ea
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/help.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/history.png b/IconThemes/kids/32x32/actions/history.png
new file mode 100644
index 00000000..c9618225
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/history.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/klipper_doc.png b/IconThemes/kids/32x32/actions/klipper_doc.png
new file mode 100644
index 00000000..cacff740
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/klipper_doc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/launch.png b/IconThemes/kids/32x32/actions/launch.png
new file mode 100644
index 00000000..b61c90d7
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/launch.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/misc.png b/IconThemes/kids/32x32/actions/misc.png
new file mode 100644
index 00000000..024ea14b
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/misc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/next-sail.png b/IconThemes/kids/32x32/actions/next-sail.png
new file mode 100644
index 00000000..99925579
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/next-sail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/next.png b/IconThemes/kids/32x32/actions/next.png
new file mode 100644
index 00000000..9a9d2830
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/next.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/previos-sail.png b/IconThemes/kids/32x32/actions/previos-sail.png
new file mode 100644
index 00000000..2a85c4d2
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/previos-sail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/previous.png b/IconThemes/kids/32x32/actions/previous.png
new file mode 100644
index 00000000..d3d067e8
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/previous.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/redo.png b/IconThemes/kids/32x32/actions/redo.png
new file mode 100644
index 00000000..a8744ac4
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/redo.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/reload.png b/IconThemes/kids/32x32/actions/reload.png
new file mode 100644
index 00000000..de4aa081
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/reload.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/run.png b/IconThemes/kids/32x32/actions/run.png
new file mode 100644
index 00000000..10c20ded
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/run.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/search.png b/IconThemes/kids/32x32/actions/search.png
new file mode 100644
index 00000000..130094f2
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/search.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/stop.png b/IconThemes/kids/32x32/actions/stop.png
new file mode 100644
index 00000000..5ab231f3
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/stop.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/thumbnail.png b/IconThemes/kids/32x32/actions/thumbnail.png
new file mode 100644
index 00000000..e95257f3
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/undo.png b/IconThemes/kids/32x32/actions/undo.png
new file mode 100644
index 00000000..bb12117e
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/undo.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/unlock.png b/IconThemes/kids/32x32/actions/unlock.png
new file mode 100644
index 00000000..314c1739
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/up.png b/IconThemes/kids/32x32/actions/up.png
new file mode 100644
index 00000000..6c40aade
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/up.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_bottom.png b/IconThemes/kids/32x32/actions/view_bottom.png
new file mode 100644
index 00000000..d659b8ea
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_choose.png b/IconThemes/kids/32x32/actions/view_choose.png
new file mode 100644
index 00000000..d89c2f6d
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_detailed.png b/IconThemes/kids/32x32/actions/view_detailed.png
new file mode 100644
index 00000000..0d4c3309
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_icon.png b/IconThemes/kids/32x32/actions/view_icon.png
new file mode 100644
index 00000000..85823f6c
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_left_right.png b/IconThemes/kids/32x32/actions/view_left_right.png
new file mode 100644
index 00000000..984c4f33
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_multicolumn.png b/IconThemes/kids/32x32/actions/view_multicolumn.png
new file mode 100644
index 00000000..3ac5b9da
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_remove.png b/IconThemes/kids/32x32/actions/view_remove.png
new file mode 100644
index 00000000..b0c7f866
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_right.png b/IconThemes/kids/32x32/actions/view_right.png
new file mode 100644
index 00000000..d659b8ea
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_sidetree.png b/IconThemes/kids/32x32/actions/view_sidetree.png
new file mode 100644
index 00000000..77a19a93
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_text.png b/IconThemes/kids/32x32/actions/view_text.png
new file mode 100644
index 00000000..be0a5c90
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_top_bottom.png b/IconThemes/kids/32x32/actions/view_top_bottom.png
new file mode 100644
index 00000000..049b3ffc
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/view_tree.png b/IconThemes/kids/32x32/actions/view_tree.png
new file mode 100644
index 00000000..a4496202
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/viewmag+.png b/IconThemes/kids/32x32/actions/viewmag+.png
new file mode 100644
index 00000000..dcc55d67
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/viewmag-.png b/IconThemes/kids/32x32/actions/viewmag-.png
new file mode 100644
index 00000000..829d9c13
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/viewmag1.png b/IconThemes/kids/32x32/actions/viewmag1.png
new file mode 100644
index 00000000..f215c451
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/viewmagfit.png b/IconThemes/kids/32x32/actions/viewmagfit.png
new file mode 100644
index 00000000..723c2a2f
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/window_fullscreen.png b/IconThemes/kids/32x32/actions/window_fullscreen.png
new file mode 100644
index 00000000..3339dfa3
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/window_new.png b/IconThemes/kids/32x32/actions/window_new.png
new file mode 100644
index 00000000..228e4aad
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kids/32x32/actions/window_nofullscreen.png b/IconThemes/kids/32x32/actions/window_nofullscreen.png
new file mode 100644
index 00000000..97eace31
--- /dev/null
+++ b/IconThemes/kids/32x32/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/Untitled.png b/IconThemes/kids/32x32/apps/Untitled.png
new file mode 100644
index 00000000..40308150
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agent.png b/IconThemes/kids/32x32/apps/agent.png
new file mode 100644
index 00000000..be5ae91b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agent.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt-family-off.png b/IconThemes/kids/32x32/apps/agt-family-off.png
new file mode 100644
index 00000000..b355a383
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt-family-off.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_action_fail.png b/IconThemes/kids/32x32/apps/agt_action_fail.png
new file mode 100644
index 00000000..bc5a31e7
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_action_fail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_action_success.png b/IconThemes/kids/32x32/apps/agt_action_success.png
new file mode 100644
index 00000000..3818029d
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_action_success.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_add-to-desktop.png b/IconThemes/kids/32x32/apps/agt_add-to-desktop.png
new file mode 100644
index 00000000..31983388
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_add-to-desktop.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_back.png b/IconThemes/kids/32x32/apps/agt_back.png
new file mode 100644
index 00000000..1322c209
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_back.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_family-off.png b/IconThemes/kids/32x32/apps/agt_family-off.png
new file mode 100644
index 00000000..70a379dc
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_family-off.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_family.png b/IconThemes/kids/32x32/apps/agt_family.png
new file mode 100644
index 00000000..76a03f5a
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_family.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_forward.png b/IconThemes/kids/32x32/apps/agt_forward.png
new file mode 100644
index 00000000..adcf82a9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_forward.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_login.png b/IconThemes/kids/32x32/apps/agt_login.png
new file mode 100644
index 00000000..bdaa1a7b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_login.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_print.png b/IconThemes/kids/32x32/apps/agt_print.png
new file mode 100644
index 00000000..cd8285c0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_print.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_reload.png b/IconThemes/kids/32x32/apps/agt_reload.png
new file mode 100644
index 00000000..de4aa081
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_reload.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_resume.png b/IconThemes/kids/32x32/apps/agt_resume.png
new file mode 100644
index 00000000..a3bbc8f9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_resume.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_runit.png b/IconThemes/kids/32x32/apps/agt_runit.png
new file mode 100644
index 00000000..0e7ce23c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_runit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_stop.png b/IconThemes/kids/32x32/apps/agt_stop.png
new file mode 100644
index 00000000..5ab231f3
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_stop.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_uninstall-product.png b/IconThemes/kids/32x32/apps/agt_uninstall-product.png
new file mode 100644
index 00000000..f0dc593e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_uninstall-product.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_update_critical.png b/IconThemes/kids/32x32/apps/agt_update_critical.png
new file mode 100644
index 00000000..8faf606e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_update_critical.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_update_drivers.png b/IconThemes/kids/32x32/apps/agt_update_drivers.png
new file mode 100644
index 00000000..8b5b6fb4
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_update_drivers.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_virussafe-off.png b/IconThemes/kids/32x32/apps/agt_virussafe-off.png
new file mode 100644
index 00000000..cf2dc6e8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_virussafe-off.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/agt_virussafe.png b/IconThemes/kids/32x32/apps/agt_virussafe.png
new file mode 100644
index 00000000..8f997889
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/agt_virussafe.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/aim.png b/IconThemes/kids/32x32/apps/aim.png
new file mode 100644
index 00000000..d244959d
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/aim.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/ark.png b/IconThemes/kids/32x32/apps/ark.png
new file mode 100644
index 00000000..a740a67f
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/ark.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/arts.png b/IconThemes/kids/32x32/apps/arts.png
new file mode 100644
index 00000000..7169b0a8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/arts.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/babelfish.png b/IconThemes/kids/32x32/apps/babelfish.png
new file mode 100644
index 00000000..038aecd0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/babelfish.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/background.png b/IconThemes/kids/32x32/apps/background.png
new file mode 100644
index 00000000..191b7cc0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/background.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/bell.png b/IconThemes/kids/32x32/apps/bell.png
new file mode 100644
index 00000000..3c6269a9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/bell.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/browser.png b/IconThemes/kids/32x32/apps/browser.png
new file mode 100644
index 00000000..bdf9e243
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/browser.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/cache.png b/IconThemes/kids/32x32/apps/cache.png
new file mode 100644
index 00000000..160d2947
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/cache.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/camera.png b/IconThemes/kids/32x32/apps/camera.png
new file mode 100644
index 00000000..e9b63aff
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/camera.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/cd-player1.png b/IconThemes/kids/32x32/apps/cd-player1.png
new file mode 100644
index 00000000..5e8dbbdf
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/cd-player1.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/cd-player2.png b/IconThemes/kids/32x32/apps/cd-player2.png
new file mode 100644
index 00000000..52da3932
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/cd-player2.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/clicknrun.png b/IconThemes/kids/32x32/apps/clicknrun.png
new file mode 100644
index 00000000..0e7ce23c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/clicknrun.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/clicknrungrey.png b/IconThemes/kids/32x32/apps/clicknrungrey.png
new file mode 100644
index 00000000..8bfcfee9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/clicknrungrey.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/clock.png b/IconThemes/kids/32x32/apps/clock.png
new file mode 100644
index 00000000..3b209681
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/clock.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/colors.png b/IconThemes/kids/32x32/apps/colors.png
new file mode 100644
index 00000000..27095fc9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/colors.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/cookie.png b/IconThemes/kids/32x32/apps/cookie.png
new file mode 100644
index 00000000..b642767a
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/date.png b/IconThemes/kids/32x32/apps/date.png
new file mode 100644
index 00000000..d11b61f3
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/date.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/display.png b/IconThemes/kids/32x32/apps/display.png
new file mode 100644
index 00000000..2cb18790
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/display.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/email.png b/IconThemes/kids/32x32/apps/email.png
new file mode 100644
index 00000000..5d0eba30
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/email.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/energy.png b/IconThemes/kids/32x32/apps/energy.png
new file mode 100644
index 00000000..c7511bc8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/energy.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/energy_star.png b/IconThemes/kids/32x32/apps/energy_star.png
new file mode 100644
index 00000000..c7511bc8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/enhanced_browsing.png b/IconThemes/kids/32x32/apps/enhanced_browsing.png
new file mode 100644
index 00000000..ecd3227c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/file-manager.png b/IconThemes/kids/32x32/apps/file-manager.png
new file mode 100644
index 00000000..a8f14182
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/file-manager.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/fileshare.png b/IconThemes/kids/32x32/apps/fileshare.png
new file mode 100644
index 00000000..b3099dc7
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/fileshare.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/filetypes.png b/IconThemes/kids/32x32/apps/filetypes.png
new file mode 100644
index 00000000..05be667e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/fonts.png b/IconThemes/kids/32x32/apps/fonts.png
new file mode 100644
index 00000000..16118d46
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/galeon.png b/IconThemes/kids/32x32/apps/galeon.png
new file mode 100644
index 00000000..d696cf38
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/galeon.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/gimp.png b/IconThemes/kids/32x32/apps/gimp.png
new file mode 100644
index 00000000..3a736869
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/go.png b/IconThemes/kids/32x32/apps/go.png
new file mode 100644
index 00000000..1f872577
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/go.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/harddrive.png b/IconThemes/kids/32x32/apps/harddrive.png
new file mode 100644
index 00000000..ff5ee18a
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/harddrive.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/hook.png b/IconThemes/kids/32x32/apps/hook.png
new file mode 100644
index 00000000..f40a665e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/hook.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/hwinfo.png b/IconThemes/kids/32x32/apps/hwinfo.png
new file mode 100644
index 00000000..13e84257
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/icons.png b/IconThemes/kids/32x32/apps/icons.png
new file mode 100644
index 00000000..38bbb2c8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/icons.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/iconthemes.png b/IconThemes/kids/32x32/apps/iconthemes.png
new file mode 100644
index 00000000..37bbe657
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/input_devices_settings.png b/IconThemes/kids/32x32/apps/input_devices_settings.png
new file mode 100644
index 00000000..0f433cd3
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcalc.png b/IconThemes/kids/32x32/apps/kcalc.png
new file mode 100644
index 00000000..ee08a691
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmfontinst.png b/IconThemes/kids/32x32/apps/kcmfontinst.png
new file mode 100644
index 00000000..16118d46
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmfontinst.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmkicker.png b/IconThemes/kids/32x32/apps/kcmkicker.png
new file mode 100644
index 00000000..55e6dccb
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmkwm.png b/IconThemes/kids/32x32/apps/kcmkwm.png
new file mode 100644
index 00000000..a84e7b41
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmmemory.png b/IconThemes/kids/32x32/apps/kcmmemory.png
new file mode 100644
index 00000000..29fb3825
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmmidi.png b/IconThemes/kids/32x32/apps/kcmmidi.png
new file mode 100644
index 00000000..9022ee30
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmmidi.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmpci.png b/IconThemes/kids/32x32/apps/kcmpci.png
new file mode 100644
index 00000000..47e1c9d4
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmprocessor.png b/IconThemes/kids/32x32/apps/kcmprocessor.png
new file mode 100644
index 00000000..465412fe
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmsound.png b/IconThemes/kids/32x32/apps/kcmsound.png
new file mode 100644
index 00000000..40308150
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmsystem.png b/IconThemes/kids/32x32/apps/kcmsystem.png
new file mode 100644
index 00000000..b9e5e76b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcmx.png b/IconThemes/kids/32x32/apps/kcmx.png
new file mode 100644
index 00000000..d91aba0e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcoloredit.png b/IconThemes/kids/32x32/apps/kcoloredit.png
new file mode 100644
index 00000000..27095fc9
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kcontrol.png b/IconThemes/kids/32x32/apps/kcontrol.png
new file mode 100644
index 00000000..9e3e16db
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kdmconfig.png b/IconThemes/kids/32x32/apps/kdmconfig.png
new file mode 100644
index 00000000..5041e3e5
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/key_bindings.png b/IconThemes/kids/32x32/apps/key_bindings.png
new file mode 100644
index 00000000..9400f3be
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/keyboard.png b/IconThemes/kids/32x32/apps/keyboard.png
new file mode 100644
index 00000000..de7547b1
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/keyboard_layout.png b/IconThemes/kids/32x32/apps/keyboard_layout.png
new file mode 100644
index 00000000..d7421149
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kfloppy.png b/IconThemes/kids/32x32/apps/kfloppy.png
new file mode 100644
index 00000000..f7dbaaa8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kfm.png b/IconThemes/kids/32x32/apps/kfm.png
new file mode 100644
index 00000000..e4823d91
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kfm_home.png b/IconThemes/kids/32x32/apps/kfm_home.png
new file mode 100644
index 00000000..6df36c53
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/khelpcenter.png b/IconThemes/kids/32x32/apps/khelpcenter.png
new file mode 100644
index 00000000..73f28bfc
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kicker.png b/IconThemes/kids/32x32/apps/kicker.png
new file mode 100644
index 00000000..6e480931
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kjobviewer.png b/IconThemes/kids/32x32/apps/kjobviewer.png
new file mode 100644
index 00000000..cd8285c0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/klaptopdaemon.png b/IconThemes/kids/32x32/apps/klaptopdaemon.png
new file mode 100644
index 00000000..5349177f
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/klipper.png b/IconThemes/kids/32x32/apps/klipper.png
new file mode 100644
index 00000000..4ccbda2c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/klpq.png b/IconThemes/kids/32x32/apps/klpq.png
new file mode 100644
index 00000000..cd8285c0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/klpq.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kmenu.png b/IconThemes/kids/32x32/apps/kmenu.png
new file mode 100644
index 00000000..1f872577
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kmenuedit.png b/IconThemes/kids/32x32/apps/kmenuedit.png
new file mode 100644
index 00000000..55e6dccb
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kmix.png b/IconThemes/kids/32x32/apps/kmix.png
new file mode 100644
index 00000000..7169b0a8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/knetconfig.png b/IconThemes/kids/32x32/apps/knetconfig.png
new file mode 100644
index 00000000..4d163c43
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/knetconfig.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/knotify.png b/IconThemes/kids/32x32/apps/knotify.png
new file mode 100644
index 00000000..9022ee30
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/konqueror.png b/IconThemes/kids/32x32/apps/konqueror.png
new file mode 100644
index 00000000..a419b5c4
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/konsole.png b/IconThemes/kids/32x32/apps/konsole.png
new file mode 100644
index 00000000..17ff9f54
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kppp.png b/IconThemes/kids/32x32/apps/kppp.png
new file mode 100644
index 00000000..89050983
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kreatecd.png b/IconThemes/kids/32x32/apps/kreatecd.png
new file mode 100644
index 00000000..3b3d993b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/krfb.png b/IconThemes/kids/32x32/apps/krfb.png
new file mode 100644
index 00000000..01309456
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kscd.png b/IconThemes/kids/32x32/apps/kscd.png
new file mode 100644
index 00000000..c53bfb68
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kscreensaver.png b/IconThemes/kids/32x32/apps/kscreensaver.png
new file mode 100644
index 00000000..ea04c212
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kservices.png b/IconThemes/kids/32x32/apps/kservices.png
new file mode 100644
index 00000000..b9e5e76b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kservices.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/ksmiletris.png b/IconThemes/kids/32x32/apps/ksmiletris.png
new file mode 100644
index 00000000..ef216ff7
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/ktalkd.png b/IconThemes/kids/32x32/apps/ktalkd.png
new file mode 100644
index 00000000..cfbf35c5
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kthememgr.png b/IconThemes/kids/32x32/apps/kthememgr.png
new file mode 100644
index 00000000..3108b8b2
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kthememgr.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kuser.png b/IconThemes/kids/32x32/apps/kuser.png
new file mode 100644
index 00000000..b27666bf
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/kxconfig.png b/IconThemes/kids/32x32/apps/kxconfig.png
new file mode 100644
index 00000000..1bddb877
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/laptop_battery.png b/IconThemes/kids/32x32/apps/laptop_battery.png
new file mode 100644
index 00000000..9474c945
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/laptop_pcmcia.png b/IconThemes/kids/32x32/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..4a409a6c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/lin_agt_wrench.png b/IconThemes/kids/32x32/apps/lin_agt_wrench.png
new file mode 100644
index 00000000..e228a38d
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/lin_agt_wrench.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/linneighborhood.png b/IconThemes/kids/32x32/apps/linneighborhood.png
new file mode 100644
index 00000000..6038d1c8
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/linneighborhood.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/linuxconf.png b/IconThemes/kids/32x32/apps/linuxconf.png
new file mode 100644
index 00000000..b18fadda
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/linuxconf.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/locale.png b/IconThemes/kids/32x32/apps/locale.png
new file mode 100644
index 00000000..8d889573
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/locale.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/looknfeel.png b/IconThemes/kids/32x32/apps/looknfeel.png
new file mode 100644
index 00000000..e389991d
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/mail.png b/IconThemes/kids/32x32/apps/mail.png
new file mode 100644
index 00000000..e8b9b1fe
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/mail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/mascot.png b/IconThemes/kids/32x32/apps/mascot.png
new file mode 100644
index 00000000..f932b393
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/mascot.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/mouse.png b/IconThemes/kids/32x32/apps/mouse.png
new file mode 100644
index 00000000..25d5eb96
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/mozilla.png b/IconThemes/kids/32x32/apps/mozilla.png
new file mode 100644
index 00000000..743468b0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/multimedia.png b/IconThemes/kids/32x32/apps/multimedia.png
new file mode 100644
index 00000000..40308150
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/mycomputer.png b/IconThemes/kids/32x32/apps/mycomputer.png
new file mode 100644
index 00000000..9daecd59
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/mycomputer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/netscape.png b/IconThemes/kids/32x32/apps/netscape.png
new file mode 100644
index 00000000..da7c4ddc
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/network.png b/IconThemes/kids/32x32/apps/network.png
new file mode 100644
index 00000000..4d163c43
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/network.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/noatun.png b/IconThemes/kids/32x32/apps/noatun.png
new file mode 100644
index 00000000..c15181be
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/os-support.png b/IconThemes/kids/32x32/apps/os-support.png
new file mode 100644
index 00000000..ee52415e
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/os-support.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/package_settings.png b/IconThemes/kids/32x32/apps/package_settings.png
new file mode 100644
index 00000000..e228a38d
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/package_system.png b/IconThemes/kids/32x32/apps/package_system.png
new file mode 100644
index 00000000..b9e5e76b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/package_toys.png b/IconThemes/kids/32x32/apps/package_toys.png
new file mode 100644
index 00000000..3108b8b2
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/package_utilities.png b/IconThemes/kids/32x32/apps/package_utilities.png
new file mode 100644
index 00000000..f5e3a069
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/password.png b/IconThemes/kids/32x32/apps/password.png
new file mode 100644
index 00000000..924b0dbc
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/password.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/penguin.png b/IconThemes/kids/32x32/apps/penguin.png
new file mode 100644
index 00000000..b22fdd62
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/personal.png b/IconThemes/kids/32x32/apps/personal.png
new file mode 100644
index 00000000..8aa0ec2c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/personal.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/pppoeconfig.png b/IconThemes/kids/32x32/apps/pppoeconfig.png
new file mode 100644
index 00000000..89050983
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/pppoeconfig.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/printer.png b/IconThemes/kids/32x32/apps/printer.png
new file mode 100644
index 00000000..cd8285c0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/printer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/printmgr.png b/IconThemes/kids/32x32/apps/printmgr.png
new file mode 100644
index 00000000..cd8285c0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/proxy.png b/IconThemes/kids/32x32/apps/proxy.png
new file mode 100644
index 00000000..83a79ed0
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/renamecomputer.png b/IconThemes/kids/32x32/apps/renamecomputer.png
new file mode 100644
index 00000000..c2223e22
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/renamecomputer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/samba.png b/IconThemes/kids/32x32/apps/samba.png
new file mode 100644
index 00000000..94e47327
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/samba.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/sisadmin.png b/IconThemes/kids/32x32/apps/sisadmin.png
new file mode 100644
index 00000000..5041e3e5
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/sisadmin.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/star_here.png b/IconThemes/kids/32x32/apps/star_here.png
new file mode 100644
index 00000000..247849c1
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/star_here.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/start_here.png b/IconThemes/kids/32x32/apps/start_here.png
new file mode 100644
index 00000000..034e5d8a
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/start_here.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/stylesheet.png b/IconThemes/kids/32x32/apps/stylesheet.png
new file mode 100644
index 00000000..13220759
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/trash.png b/IconThemes/kids/32x32/apps/trash.png
new file mode 100644
index 00000000..f0a06c03
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/trash.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/window_list.png b/IconThemes/kids/32x32/apps/window_list.png
new file mode 100644
index 00000000..a84e7b41
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/windows_users.png b/IconThemes/kids/32x32/apps/windows_users.png
new file mode 100644
index 00000000..ebd9c066
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/windows_users.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/x.png b/IconThemes/kids/32x32/apps/x.png
new file mode 100644
index 00000000..2ad6da2b
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/x.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/xcalc.png b/IconThemes/kids/32x32/apps/xcalc.png
new file mode 100644
index 00000000..c2223e22
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/xmail.png b/IconThemes/kids/32x32/apps/xmail.png
new file mode 100644
index 00000000..c9d9b80c
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/xmail.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/xmms.png b/IconThemes/kids/32x32/apps/xmms.png
new file mode 100644
index 00000000..1aae3023
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kids/32x32/apps/xpaint.png b/IconThemes/kids/32x32/apps/xpaint.png
new file mode 100644
index 00000000..3cdb3c93
--- /dev/null
+++ b/IconThemes/kids/32x32/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/3floppy_mount.png b/IconThemes/kids/32x32/devices/3floppy_mount.png
new file mode 100644
index 00000000..28ed6627
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/3floppy_unmount.png b/IconThemes/kids/32x32/devices/3floppy_unmount.png
new file mode 100644
index 00000000..98b303b8
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/camera.png b/IconThemes/kids/32x32/devices/camera.png
new file mode 100644
index 00000000..07f9a06c
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/camera.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/cdrom_mount.png b/IconThemes/kids/32x32/devices/cdrom_mount.png
new file mode 100644
index 00000000..101bb19b
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/cdrom_unmount.png b/IconThemes/kids/32x32/devices/cdrom_unmount.png
new file mode 100644
index 00000000..de25c9cb
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/hdd_mount.png b/IconThemes/kids/32x32/devices/hdd_mount.png
new file mode 100644
index 00000000..7a77336c
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/hdd_unmount.png b/IconThemes/kids/32x32/devices/hdd_unmount.png
new file mode 100644
index 00000000..ff5ee18a
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/memory.png b/IconThemes/kids/32x32/devices/memory.png
new file mode 100644
index 00000000..29fb3825
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/memory.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/network_local.png b/IconThemes/kids/32x32/devices/network_local.png
new file mode 100644
index 00000000..33e8f2f5
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/network_local.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/nfs_unmount.png b/IconThemes/kids/32x32/devices/nfs_unmount.png
new file mode 100644
index 00000000..68b21884
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/print_printer.png b/IconThemes/kids/32x32/devices/print_printer.png
new file mode 100644
index 00000000..a6009db5
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/printer.png b/IconThemes/kids/32x32/devices/printer.png
new file mode 100644
index 00000000..a6009db5
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/printer.png
Binary files differ
diff --git a/IconThemes/kids/32x32/devices/printer2.png b/IconThemes/kids/32x32/devices/printer2.png
new file mode 100644
index 00000000..a6009db5
--- /dev/null
+++ b/IconThemes/kids/32x32/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/connect_to_network.png b/IconThemes/kids/32x32/filesystems/connect_to_network.png
new file mode 100644
index 00000000..668e0bbb
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/connect_to_network.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/desktop.png b/IconThemes/kids/32x32/filesystems/desktop.png
new file mode 100644
index 00000000..31983388
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/exec.png b/IconThemes/kids/32x32/filesystems/exec.png
new file mode 100644
index 00000000..4e4ec94d
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/favorites.png b/IconThemes/kids/32x32/filesystems/favorites.png
new file mode 100644
index 00000000..dd2d9c43
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/favorites.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/favorites2.png b/IconThemes/kids/32x32/filesystems/favorites2.png
new file mode 100644
index 00000000..a4a6f50a
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/favorites2.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/file_temporary.png b/IconThemes/kids/32x32/filesystems/file_temporary.png
new file mode 100644
index 00000000..5e0f730d
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder.png b/IconThemes/kids/32x32/filesystems/folder.png
new file mode 100644
index 00000000..e0833608
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_blue.png b/IconThemes/kids/32x32/filesystems/folder_blue.png
new file mode 100644
index 00000000..6c66c5ab
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_doc.png b/IconThemes/kids/32x32/filesystems/folder_doc.png
new file mode 100644
index 00000000..a4ee26d5
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_doc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_favorites.png b/IconThemes/kids/32x32/filesystems/folder_favorites.png
new file mode 100644
index 00000000..1adbbcab
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_favorites2.png b/IconThemes/kids/32x32/filesystems/folder_favorites2.png
new file mode 100644
index 00000000..2e2ee920
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_favorites2.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_home.png b/IconThemes/kids/32x32/filesystems/folder_home.png
new file mode 100644
index 00000000..7bf177e1
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_htm.png b/IconThemes/kids/32x32/filesystems/folder_htm.png
new file mode 100644
index 00000000..bece15ea
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_htm.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_html.png b/IconThemes/kids/32x32/filesystems/folder_html.png
new file mode 100644
index 00000000..2fe46291
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_image.png b/IconThemes/kids/32x32/filesystems/folder_image.png
new file mode 100644
index 00000000..d4fce444
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_locked.png b/IconThemes/kids/32x32/filesystems/folder_locked.png
new file mode 100644
index 00000000..e7262803
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/folder_music.png b/IconThemes/kids/32x32/filesystems/folder_music.png
new file mode 100644
index 00000000..c6f8d4e7
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/folder_music.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/link.png b/IconThemes/kids/32x32/filesystems/link.png
new file mode 100644
index 00000000..b8096581
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/lockoverlay.png b/IconThemes/kids/32x32/filesystems/lockoverlay.png
new file mode 100644
index 00000000..e87750f7
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/network_local.png b/IconThemes/kids/32x32/filesystems/network_local.png
new file mode 100644
index 00000000..1ea66007
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/socket.png b/IconThemes/kids/32x32/filesystems/socket.png
new file mode 100644
index 00000000..04d7540f
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/trashcan_empty.png b/IconThemes/kids/32x32/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..c22e304b
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kids/32x32/filesystems/trashcan_full.png b/IconThemes/kids/32x32/filesystems/trashcan_full.png
new file mode 100644
index 00000000..170f2393
--- /dev/null
+++ b/IconThemes/kids/32x32/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/cdimage.png b/IconThemes/kids/32x32/mimetypes/cdimage.png
new file mode 100644
index 00000000..30f30bad
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/document.png b/IconThemes/kids/32x32/mimetypes/document.png
new file mode 100644
index 00000000..31d24c74
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/empty.png b/IconThemes/kids/32x32/mimetypes/empty.png
new file mode 100644
index 00000000..de84cdbf
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/file_locked.png b/IconThemes/kids/32x32/mimetypes/file_locked.png
new file mode 100644
index 00000000..3f4e6eeb
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/file_locked.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/file_temporary.png b/IconThemes/kids/32x32/mimetypes/file_temporary.png
new file mode 100644
index 00000000..bd72e9be
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/html.png b/IconThemes/kids/32x32/mimetypes/html.png
new file mode 100644
index 00000000..490426ba
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/image.png b/IconThemes/kids/32x32/mimetypes/image.png
new file mode 100644
index 00000000..9b7fcbb1
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/midi.png b/IconThemes/kids/32x32/mimetypes/midi.png
new file mode 100644
index 00000000..6ac1ff97
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/netscape_doc.png b/IconThemes/kids/32x32/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..f74477e4
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/sound.png b/IconThemes/kids/32x32/mimetypes/sound.png
new file mode 100644
index 00000000..617fbec4
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kids/32x32/mimetypes/unknown.png b/IconThemes/kids/32x32/mimetypes/unknown.png
new file mode 100644
index 00000000..9bb3d1b1
--- /dev/null
+++ b/IconThemes/kids/32x32/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/Untitled.png b/IconThemes/kids/48x48/actions/Untitled.png
new file mode 100644
index 00000000..34147e7e
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/about_kde.png b/IconThemes/kids/48x48/actions/about_kde.png
new file mode 100644
index 00000000..e934aa23
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/appearance.png b/IconThemes/kids/48x48/actions/appearance.png
new file mode 100644
index 00000000..320d8eb2
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/back.png b/IconThemes/kids/48x48/actions/back.png
new file mode 100644
index 00000000..3b900c71
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/back.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/bookmark.png b/IconThemes/kids/48x48/actions/bookmark.png
new file mode 100644
index 00000000..24e80c72
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/bookmark_add.png b/IconThemes/kids/48x48/actions/bookmark_add.png
new file mode 100644
index 00000000..75ea1129
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/button_cance.png b/IconThemes/kids/48x48/actions/button_cance.png
new file mode 100644
index 00000000..92a597a3
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/button_cance.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/button_ok.png b/IconThemes/kids/48x48/actions/button_ok.png
new file mode 100644
index 00000000..ef5ecd84
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/cd.png b/IconThemes/kids/48x48/actions/cd.png
new file mode 100644
index 00000000..ec25bd0b
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/cd.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/colorize.png b/IconThemes/kids/48x48/actions/colorize.png
new file mode 100644
index 00000000..8bcf0c85
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/compfile.png b/IconThemes/kids/48x48/actions/compfile.png
new file mode 100644
index 00000000..0d9cc293
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/compfile.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/configure.png b/IconThemes/kids/48x48/actions/configure.png
new file mode 100644
index 00000000..957ea3ff
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/configure.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/decrypted.png b/IconThemes/kids/48x48/actions/decrypted.png
new file mode 100644
index 00000000..796c58b3
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/down.png b/IconThemes/kids/48x48/actions/down.png
new file mode 100644
index 00000000..34147e7e
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/down.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/edit.png b/IconThemes/kids/48x48/actions/edit.png
new file mode 100644
index 00000000..fe2180ca
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/edit.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/editcopy.png b/IconThemes/kids/48x48/actions/editcopy.png
new file mode 100644
index 00000000..a06fb619
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/editcut.png b/IconThemes/kids/48x48/actions/editcut.png
new file mode 100644
index 00000000..1e529a3e
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/editdelete.png b/IconThemes/kids/48x48/actions/editdelete.png
new file mode 100644
index 00000000..3f519ecc
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/editpaste.png b/IconThemes/kids/48x48/actions/editpaste.png
new file mode 100644
index 00000000..bb74c2a6
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/edittrash.png b/IconThemes/kids/48x48/actions/edittrash.png
new file mode 100644
index 00000000..705c90c7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/encrypted.png b/IconThemes/kids/48x48/actions/encrypted.png
new file mode 100644
index 00000000..a4f2b4b4
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/exit.png b/IconThemes/kids/48x48/actions/exit.png
new file mode 100644
index 00000000..4c1ecb7c
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/exit.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/fileclose.png b/IconThemes/kids/48x48/actions/fileclose.png
new file mode 100644
index 00000000..ef0c8a21
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/filefind.png b/IconThemes/kids/48x48/actions/filefind.png
new file mode 100644
index 00000000..e25abd2c
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/filenew.png b/IconThemes/kids/48x48/actions/filenew.png
new file mode 100644
index 00000000..e366ab0a
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/fileopen.png b/IconThemes/kids/48x48/actions/fileopen.png
new file mode 100644
index 00000000..1a6c07a9
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/fileprint.png b/IconThemes/kids/48x48/actions/fileprint.png
new file mode 100644
index 00000000..e0b4efd7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/filequickprint.png b/IconThemes/kids/48x48/actions/filequickprint.png
new file mode 100644
index 00000000..2c7dd52a
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/filesave.png b/IconThemes/kids/48x48/actions/filesave.png
new file mode 100644
index 00000000..bb34a831
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/filesaveas.png b/IconThemes/kids/48x48/actions/filesaveas.png
new file mode 100644
index 00000000..e4178fb6
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/find.png b/IconThemes/kids/48x48/actions/find.png
new file mode 100644
index 00000000..655f3931
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/find.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/fonts.png b/IconThemes/kids/48x48/actions/fonts.png
new file mode 100644
index 00000000..bd0969f2
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/forward.png b/IconThemes/kids/48x48/actions/forward.png
new file mode 100644
index 00000000..c00d3a66
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/forward.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/frameprint.png b/IconThemes/kids/48x48/actions/frameprint.png
new file mode 100644
index 00000000..36a8b0a2
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/gohome.png b/IconThemes/kids/48x48/actions/gohome.png
new file mode 100644
index 00000000..6117d49c
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/help.png b/IconThemes/kids/48x48/actions/help.png
new file mode 100644
index 00000000..e058a7c7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/help.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/history.png b/IconThemes/kids/48x48/actions/history.png
new file mode 100644
index 00000000..93b3fe75
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/history.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/klipper_doc.png b/IconThemes/kids/48x48/actions/klipper_doc.png
new file mode 100644
index 00000000..bf601b85
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/klipper_doc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/launch.png b/IconThemes/kids/48x48/actions/launch.png
new file mode 100644
index 00000000..7924a2c3
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/launch.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/misc.png b/IconThemes/kids/48x48/actions/misc.png
new file mode 100644
index 00000000..9f0baccf
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/misc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/next-sail.png b/IconThemes/kids/48x48/actions/next-sail.png
new file mode 100644
index 00000000..b1352692
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/next-sail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/next.png b/IconThemes/kids/48x48/actions/next.png
new file mode 100644
index 00000000..4b2fde10
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/next.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/previos-sail.png b/IconThemes/kids/48x48/actions/previos-sail.png
new file mode 100644
index 00000000..4d71a7e4
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/previos-sail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/previous.png b/IconThemes/kids/48x48/actions/previous.png
new file mode 100644
index 00000000..54158849
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/previous.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/redo.png b/IconThemes/kids/48x48/actions/redo.png
new file mode 100644
index 00000000..399309af
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/redo.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/reload.png b/IconThemes/kids/48x48/actions/reload.png
new file mode 100644
index 00000000..31482428
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/reload.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/run.png b/IconThemes/kids/48x48/actions/run.png
new file mode 100644
index 00000000..987b9dd7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/run.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/search.png b/IconThemes/kids/48x48/actions/search.png
new file mode 100644
index 00000000..cb491687
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/search.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/stop.png b/IconThemes/kids/48x48/actions/stop.png
new file mode 100644
index 00000000..c29a2dd3
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/stop.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/thumbnail.png b/IconThemes/kids/48x48/actions/thumbnail.png
new file mode 100644
index 00000000..9a7a81ae
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/undo.png b/IconThemes/kids/48x48/actions/undo.png
new file mode 100644
index 00000000..b8b30c71
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/undo.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/unlock.png b/IconThemes/kids/48x48/actions/unlock.png
new file mode 100644
index 00000000..a3c80f58
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/up.png b/IconThemes/kids/48x48/actions/up.png
new file mode 100644
index 00000000..39b095c1
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/up.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_bottom.png b/IconThemes/kids/48x48/actions/view_bottom.png
new file mode 100644
index 00000000..51b110e7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_choose.png b/IconThemes/kids/48x48/actions/view_choose.png
new file mode 100644
index 00000000..612aa3f2
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_detailed.png b/IconThemes/kids/48x48/actions/view_detailed.png
new file mode 100644
index 00000000..14d8b03e
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_icon.png b/IconThemes/kids/48x48/actions/view_icon.png
new file mode 100644
index 00000000..0d05be32
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_left_right.png b/IconThemes/kids/48x48/actions/view_left_right.png
new file mode 100644
index 00000000..8530267c
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_multicolumn.png b/IconThemes/kids/48x48/actions/view_multicolumn.png
new file mode 100644
index 00000000..0e60ea3c
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_remove.png b/IconThemes/kids/48x48/actions/view_remove.png
new file mode 100644
index 00000000..7e9bdc45
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_right.png b/IconThemes/kids/48x48/actions/view_right.png
new file mode 100644
index 00000000..51b110e7
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_sidetree.png b/IconThemes/kids/48x48/actions/view_sidetree.png
new file mode 100644
index 00000000..40ab4461
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_text.png b/IconThemes/kids/48x48/actions/view_text.png
new file mode 100644
index 00000000..11646a83
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_top_bottom.png b/IconThemes/kids/48x48/actions/view_top_bottom.png
new file mode 100644
index 00000000..eddeed7b
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/view_tree.png b/IconThemes/kids/48x48/actions/view_tree.png
new file mode 100644
index 00000000..d24415ed
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/viewmag+.png b/IconThemes/kids/48x48/actions/viewmag+.png
new file mode 100644
index 00000000..94778739
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/viewmag-.png b/IconThemes/kids/48x48/actions/viewmag-.png
new file mode 100644
index 00000000..f6b92cab
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/viewmag1.png b/IconThemes/kids/48x48/actions/viewmag1.png
new file mode 100644
index 00000000..b186173b
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/viewmag1.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/viewmagfit.png b/IconThemes/kids/48x48/actions/viewmagfit.png
new file mode 100644
index 00000000..12e60b63
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/window_fullscreen.png b/IconThemes/kids/48x48/actions/window_fullscreen.png
new file mode 100644
index 00000000..fdfadb35
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/window_new.png b/IconThemes/kids/48x48/actions/window_new.png
new file mode 100644
index 00000000..583e22e0
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kids/48x48/actions/window_nofullscreen.png b/IconThemes/kids/48x48/actions/window_nofullscreen.png
new file mode 100644
index 00000000..94a72929
--- /dev/null
+++ b/IconThemes/kids/48x48/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/Untitled.png b/IconThemes/kids/48x48/apps/Untitled.png
new file mode 100644
index 00000000..802f0f0d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agent.png b/IconThemes/kids/48x48/apps/agent.png
new file mode 100644
index 00000000..bc33e12a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agent.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt-family-off.png b/IconThemes/kids/48x48/apps/agt-family-off.png
new file mode 100644
index 00000000..e24dd8f8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt-family-off.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_action_fail.png b/IconThemes/kids/48x48/apps/agt_action_fail.png
new file mode 100644
index 00000000..92a597a3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_action_fail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_action_success.png b/IconThemes/kids/48x48/apps/agt_action_success.png
new file mode 100644
index 00000000..3f87f8f6
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_action_success.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_back.png b/IconThemes/kids/48x48/apps/agt_back.png
new file mode 100644
index 00000000..3b900c71
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_back.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_family-off.png b/IconThemes/kids/48x48/apps/agt_family-off.png
new file mode 100644
index 00000000..b32e588c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_family-off.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_family.png b/IconThemes/kids/48x48/apps/agt_family.png
new file mode 100644
index 00000000..80d408fd
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_family.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_forward.png b/IconThemes/kids/48x48/apps/agt_forward.png
new file mode 100644
index 00000000..bd6b27b2
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_forward.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_login.png b/IconThemes/kids/48x48/apps/agt_login.png
new file mode 100644
index 00000000..6117d49c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_login.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_print.png b/IconThemes/kids/48x48/apps/agt_print.png
new file mode 100644
index 00000000..c3ad40d8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_print.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_reload.png b/IconThemes/kids/48x48/apps/agt_reload.png
new file mode 100644
index 00000000..31482428
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_reload.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_resume.png b/IconThemes/kids/48x48/apps/agt_resume.png
new file mode 100644
index 00000000..0d3dcc37
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_resume.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_runit.png b/IconThemes/kids/48x48/apps/agt_runit.png
new file mode 100644
index 00000000..14552d4c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_runit.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_stop.png b/IconThemes/kids/48x48/apps/agt_stop.png
new file mode 100644
index 00000000..c29a2dd3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_stop.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_uninstall-product.png b/IconThemes/kids/48x48/apps/agt_uninstall-product.png
new file mode 100644
index 00000000..da5a1c51
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_uninstall-product.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_update_critical.png b/IconThemes/kids/48x48/apps/agt_update_critical.png
new file mode 100644
index 00000000..225d8630
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_update_critical.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_update_drivers.png b/IconThemes/kids/48x48/apps/agt_update_drivers.png
new file mode 100644
index 00000000..684fa614
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_update_drivers.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_virussafe-off.png b/IconThemes/kids/48x48/apps/agt_virussafe-off.png
new file mode 100644
index 00000000..84539cf4
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_virussafe-off.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/agt_virussafe.png b/IconThemes/kids/48x48/apps/agt_virussafe.png
new file mode 100644
index 00000000..24f38f79
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/agt_virussafe.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/aim.png b/IconThemes/kids/48x48/apps/aim.png
new file mode 100644
index 00000000..7df29ba3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/aim.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/ark.png b/IconThemes/kids/48x48/apps/ark.png
new file mode 100644
index 00000000..684fa614
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/ark.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/babelfish.png b/IconThemes/kids/48x48/apps/babelfish.png
new file mode 100644
index 00000000..9d647aa7
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/babelfish.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/background.png b/IconThemes/kids/48x48/apps/background.png
new file mode 100644
index 00000000..9aeb20c0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/background.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/bell.png b/IconThemes/kids/48x48/apps/bell.png
new file mode 100644
index 00000000..f11d0c92
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/bell.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/browser.png b/IconThemes/kids/48x48/apps/browser.png
new file mode 100644
index 00000000..597021b1
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/browser.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/cache.png b/IconThemes/kids/48x48/apps/cache.png
new file mode 100644
index 00000000..bd1f82b3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/cache.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/camera.png b/IconThemes/kids/48x48/apps/camera.png
new file mode 100644
index 00000000..d64de4b1
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/camera.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/cd-player1.png b/IconThemes/kids/48x48/apps/cd-player1.png
new file mode 100644
index 00000000..ae61f979
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/cd-player1.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/cd-player2.png b/IconThemes/kids/48x48/apps/cd-player2.png
new file mode 100644
index 00000000..40708588
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/cd-player2.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/cd-player264.png b/IconThemes/kids/48x48/apps/cd-player264.png
new file mode 100644
index 00000000..e16fd7eb
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/cd-player264.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/clicknrun.png b/IconThemes/kids/48x48/apps/clicknrun.png
new file mode 100644
index 00000000..14552d4c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/clicknrun.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/clicknrungrey.png b/IconThemes/kids/48x48/apps/clicknrungrey.png
new file mode 100644
index 00000000..ed791db2
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/clicknrungrey.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/clock.png b/IconThemes/kids/48x48/apps/clock.png
new file mode 100644
index 00000000..d7c4a20a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/clock.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/colors.png b/IconThemes/kids/48x48/apps/colors.png
new file mode 100644
index 00000000..2b2ef6b0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/colors.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/cookie.png b/IconThemes/kids/48x48/apps/cookie.png
new file mode 100644
index 00000000..ec559571
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/date.png b/IconThemes/kids/48x48/apps/date.png
new file mode 100644
index 00000000..229fdb43
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/date.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/display.png b/IconThemes/kids/48x48/apps/display.png
new file mode 100644
index 00000000..65db0276
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/display.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/email.png b/IconThemes/kids/48x48/apps/email.png
new file mode 100644
index 00000000..4037f401
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/email.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/energy.png b/IconThemes/kids/48x48/apps/energy.png
new file mode 100644
index 00000000..d08220b9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/energy.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/energy_star.png b/IconThemes/kids/48x48/apps/energy_star.png
new file mode 100644
index 00000000..d08220b9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/enhanced_browsing.png b/IconThemes/kids/48x48/apps/enhanced_browsing.png
new file mode 100644
index 00000000..1ba48cfc
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/file-manager.png b/IconThemes/kids/48x48/apps/file-manager.png
new file mode 100644
index 00000000..e29e6cd0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/file-manager.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/fileshare.png b/IconThemes/kids/48x48/apps/fileshare.png
new file mode 100644
index 00000000..2c5ab195
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/fileshare.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/filetypes.png b/IconThemes/kids/48x48/apps/filetypes.png
new file mode 100644
index 00000000..24bb0f4c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/fonts.png b/IconThemes/kids/48x48/apps/fonts.png
new file mode 100644
index 00000000..bd0969f2
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/galeon.png b/IconThemes/kids/48x48/apps/galeon.png
new file mode 100644
index 00000000..ee633ed4
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/galeon.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/gimp.png b/IconThemes/kids/48x48/apps/gimp.png
new file mode 100644
index 00000000..571b888d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/go.png b/IconThemes/kids/48x48/apps/go.png
new file mode 100644
index 00000000..f548bbc9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/go.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/harddrive.png b/IconThemes/kids/48x48/apps/harddrive.png
new file mode 100644
index 00000000..ca2944fe
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/harddrive.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/hook.png b/IconThemes/kids/48x48/apps/hook.png
new file mode 100644
index 00000000..aa08e851
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/hook.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/hwinfo.png b/IconThemes/kids/48x48/apps/hwinfo.png
new file mode 100644
index 00000000..a4120ba6
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/icons.png b/IconThemes/kids/48x48/apps/icons.png
new file mode 100644
index 00000000..f00a73a9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/icons.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/iconthemes.png b/IconThemes/kids/48x48/apps/iconthemes.png
new file mode 100644
index 00000000..a8a72e19
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/input_devices_settings.png b/IconThemes/kids/48x48/apps/input_devices_settings.png
new file mode 100644
index 00000000..592248b0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcalc.png b/IconThemes/kids/48x48/apps/kcalc.png
new file mode 100644
index 00000000..cc940b11
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmmemory.png b/IconThemes/kids/48x48/apps/kcmmemory.png
new file mode 100644
index 00000000..4cfa1436
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmpci.png b/IconThemes/kids/48x48/apps/kcmpci.png
new file mode 100644
index 00000000..314b5682
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmprocessor.png b/IconThemes/kids/48x48/apps/kcmprocessor.png
new file mode 100644
index 00000000..3a6b2767
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmsound.png b/IconThemes/kids/48x48/apps/kcmsound.png
new file mode 100644
index 00000000..802f0f0d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmsystem.png b/IconThemes/kids/48x48/apps/kcmsystem.png
new file mode 100644
index 00000000..81fb65ce
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcmx.png b/IconThemes/kids/48x48/apps/kcmx.png
new file mode 100644
index 00000000..d0556c7f
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcoloredit.png b/IconThemes/kids/48x48/apps/kcoloredit.png
new file mode 100644
index 00000000..2b2ef6b0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kcontrol.png b/IconThemes/kids/48x48/apps/kcontrol.png
new file mode 100644
index 00000000..364305e3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/key_bindings.png b/IconThemes/kids/48x48/apps/key_bindings.png
new file mode 100644
index 00000000..397ce2a8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/keyboard.png b/IconThemes/kids/48x48/apps/keyboard.png
new file mode 100644
index 00000000..7df96f44
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/keyboard_layout.png b/IconThemes/kids/48x48/apps/keyboard_layout.png
new file mode 100644
index 00000000..aa05b8b0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kfloppy.png b/IconThemes/kids/48x48/apps/kfloppy.png
new file mode 100644
index 00000000..acc5a9a0
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kfm.png b/IconThemes/kids/48x48/apps/kfm.png
new file mode 100644
index 00000000..4ccc1822
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kfm_home.png b/IconThemes/kids/48x48/apps/kfm_home.png
new file mode 100644
index 00000000..abf4b5e3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/khelpcenter.png b/IconThemes/kids/48x48/apps/khelpcenter.png
new file mode 100644
index 00000000..3c0d7675
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kicker.png b/IconThemes/kids/48x48/apps/kicker.png
new file mode 100644
index 00000000..ecf7459a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kjobviewer.png b/IconThemes/kids/48x48/apps/kjobviewer.png
new file mode 100644
index 00000000..c3ad40d8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/klaptopdaemon.png b/IconThemes/kids/48x48/apps/klaptopdaemon.png
new file mode 100644
index 00000000..aa0151b4
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/klipper.png b/IconThemes/kids/48x48/apps/klipper.png
new file mode 100644
index 00000000..c7b9d2e3
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/klpq.png b/IconThemes/kids/48x48/apps/klpq.png
new file mode 100644
index 00000000..c3ad40d8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/klpq.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kmenu.png b/IconThemes/kids/48x48/apps/kmenu.png
new file mode 100644
index 00000000..f548bbc9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kmix.png b/IconThemes/kids/48x48/apps/kmix.png
new file mode 100644
index 00000000..80783a91
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/knetconfig.png b/IconThemes/kids/48x48/apps/knetconfig.png
new file mode 100644
index 00000000..fabb3f3e
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/knetconfig.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/knotify.png b/IconThemes/kids/48x48/apps/knotify.png
new file mode 100644
index 00000000..585bfecd
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/konqueror.png b/IconThemes/kids/48x48/apps/konqueror.png
new file mode 100644
index 00000000..8b6b5cfd
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/konsole.png b/IconThemes/kids/48x48/apps/konsole.png
new file mode 100644
index 00000000..5009d9af
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kppp.png b/IconThemes/kids/48x48/apps/kppp.png
new file mode 100644
index 00000000..baaf4649
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kreatecd.png b/IconThemes/kids/48x48/apps/kreatecd.png
new file mode 100644
index 00000000..21d94359
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/krfb.png b/IconThemes/kids/48x48/apps/krfb.png
new file mode 100644
index 00000000..29e5d479
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kscd.png b/IconThemes/kids/48x48/apps/kscd.png
new file mode 100644
index 00000000..a2ea6521
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kscreensaver.png b/IconThemes/kids/48x48/apps/kscreensaver.png
new file mode 100644
index 00000000..be881478
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kservices.png b/IconThemes/kids/48x48/apps/kservices.png
new file mode 100644
index 00000000..81fb65ce
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kservices.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/ksmiletris.png b/IconThemes/kids/48x48/apps/ksmiletris.png
new file mode 100644
index 00000000..2928d1ea
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/ktalkd.png b/IconThemes/kids/48x48/apps/ktalkd.png
new file mode 100644
index 00000000..123a3684
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kuser.png b/IconThemes/kids/48x48/apps/kuser.png
new file mode 100644
index 00000000..5e95e3b2
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/kxconfig.png b/IconThemes/kids/48x48/apps/kxconfig.png
new file mode 100644
index 00000000..aea2ed6f
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/laptop_battery.png b/IconThemes/kids/48x48/apps/laptop_battery.png
new file mode 100644
index 00000000..0e2a75a6
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/laptop_pcmcia.png b/IconThemes/kids/48x48/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..98dbc75d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/lin_agt_wrench.png b/IconThemes/kids/48x48/apps/lin_agt_wrench.png
new file mode 100644
index 00000000..e3a33eff
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/lin_agt_wrench.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/linneighborhood.png b/IconThemes/kids/48x48/apps/linneighborhood.png
new file mode 100644
index 00000000..1a611a9d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/linneighborhood.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/linuxconf.png b/IconThemes/kids/48x48/apps/linuxconf.png
new file mode 100644
index 00000000..5e10e7f7
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/linuxconf.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/locale.png b/IconThemes/kids/48x48/apps/locale.png
new file mode 100644
index 00000000..8b65b6a4
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/locale.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/looknfeel.png b/IconThemes/kids/48x48/apps/looknfeel.png
new file mode 100644
index 00000000..342a2f6a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/mail.png b/IconThemes/kids/48x48/apps/mail.png
new file mode 100644
index 00000000..d5811b1c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/mail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/mascot.png b/IconThemes/kids/48x48/apps/mascot.png
new file mode 100644
index 00000000..4767a078
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/mascot.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/mouse.png b/IconThemes/kids/48x48/apps/mouse.png
new file mode 100644
index 00000000..7b19cf02
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/mozilla.png b/IconThemes/kids/48x48/apps/mozilla.png
new file mode 100644
index 00000000..b60d3e3a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/multimedia.png b/IconThemes/kids/48x48/apps/multimedia.png
new file mode 100644
index 00000000..802f0f0d
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/mycomputer.png b/IconThemes/kids/48x48/apps/mycomputer.png
new file mode 100644
index 00000000..f78d7837
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/mycomputer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/netscape.png b/IconThemes/kids/48x48/apps/netscape.png
new file mode 100644
index 00000000..62ea1f43
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/network.png b/IconThemes/kids/48x48/apps/network.png
new file mode 100644
index 00000000..fabb3f3e
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/network.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/noatun.png b/IconThemes/kids/48x48/apps/noatun.png
new file mode 100644
index 00000000..3370e03a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/os-support.png b/IconThemes/kids/48x48/apps/os-support.png
new file mode 100644
index 00000000..fd5af956
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/os-support.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/package_settings.png b/IconThemes/kids/48x48/apps/package_settings.png
new file mode 100644
index 00000000..e3a33eff
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/package_system.png b/IconThemes/kids/48x48/apps/package_system.png
new file mode 100644
index 00000000..81fb65ce
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/package_toys.png b/IconThemes/kids/48x48/apps/package_toys.png
new file mode 100644
index 00000000..3815d43a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/package_utilities.png b/IconThemes/kids/48x48/apps/package_utilities.png
new file mode 100644
index 00000000..d222781a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/password.png b/IconThemes/kids/48x48/apps/password.png
new file mode 100644
index 00000000..bdc193ba
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/password.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/penguin.png b/IconThemes/kids/48x48/apps/penguin.png
new file mode 100644
index 00000000..c8498cc7
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/personal.png b/IconThemes/kids/48x48/apps/personal.png
new file mode 100644
index 00000000..e0054bec
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/personal.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/printer.png b/IconThemes/kids/48x48/apps/printer.png
new file mode 100644
index 00000000..c3ad40d8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/printer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/printmgr.png b/IconThemes/kids/48x48/apps/printmgr.png
new file mode 100644
index 00000000..c3ad40d8
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/proxy.png b/IconThemes/kids/48x48/apps/proxy.png
new file mode 100644
index 00000000..df7b0125
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/renamecomputer.png b/IconThemes/kids/48x48/apps/renamecomputer.png
new file mode 100644
index 00000000..6352ab8a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/renamecomputer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/samba.png b/IconThemes/kids/48x48/apps/samba.png
new file mode 100644
index 00000000..2c0d700c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/samba.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/sisadmin.png b/IconThemes/kids/48x48/apps/sisadmin.png
new file mode 100644
index 00000000..5d0dcb64
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/sisadmin.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/star_here.png b/IconThemes/kids/48x48/apps/star_here.png
new file mode 100644
index 00000000..0c22d4bd
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/star_here.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/start_here.png b/IconThemes/kids/48x48/apps/start_here.png
new file mode 100644
index 00000000..be39f10a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/start_here.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/stylesheet.png b/IconThemes/kids/48x48/apps/stylesheet.png
new file mode 100644
index 00000000..6b2398c4
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/trash.png b/IconThemes/kids/48x48/apps/trash.png
new file mode 100644
index 00000000..b15e8a70
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/trash.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/window_list.png b/IconThemes/kids/48x48/apps/window_list.png
new file mode 100644
index 00000000..09cad2b9
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/windows_users.png b/IconThemes/kids/48x48/apps/windows_users.png
new file mode 100644
index 00000000..0b334036
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/windows_users.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/x.png b/IconThemes/kids/48x48/apps/x.png
new file mode 100644
index 00000000..d546051c
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/x.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/xcalc.png b/IconThemes/kids/48x48/apps/xcalc.png
new file mode 100644
index 00000000..6352ab8a
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/xmail.png b/IconThemes/kids/48x48/apps/xmail.png
new file mode 100644
index 00000000..adcf1893
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/xmail.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/xmms.png b/IconThemes/kids/48x48/apps/xmms.png
new file mode 100644
index 00000000..6c515143
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kids/48x48/apps/xpaint.png b/IconThemes/kids/48x48/apps/xpaint.png
new file mode 100644
index 00000000..c77b0fd1
--- /dev/null
+++ b/IconThemes/kids/48x48/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/3floppy_mount.png b/IconThemes/kids/48x48/devices/3floppy_mount.png
new file mode 100644
index 00000000..b19aaa71
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/3floppy_unmount.png b/IconThemes/kids/48x48/devices/3floppy_unmount.png
new file mode 100644
index 00000000..6f5aedf8
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/48x48.png b/IconThemes/kids/48x48/devices/48x48.png
new file mode 100644
index 00000000..79fa2b7b
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/48x48.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/camera.png b/IconThemes/kids/48x48/devices/camera.png
new file mode 100644
index 00000000..69bc5a51
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/camera.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/cdrom_mount.png b/IconThemes/kids/48x48/devices/cdrom_mount.png
new file mode 100644
index 00000000..3f93c629
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/cdrom_unmount.png b/IconThemes/kids/48x48/devices/cdrom_unmount.png
new file mode 100644
index 00000000..6b16169e
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/hdd_mount.png b/IconThemes/kids/48x48/devices/hdd_mount.png
new file mode 100644
index 00000000..0bee8364
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/hdd_unmount.png b/IconThemes/kids/48x48/devices/hdd_unmount.png
new file mode 100644
index 00000000..ca2944fe
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/memory.png b/IconThemes/kids/48x48/devices/memory.png
new file mode 100644
index 00000000..4cfa1436
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/memory.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/network_local.png b/IconThemes/kids/48x48/devices/network_local.png
new file mode 100644
index 00000000..7b8bee31
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/network_local.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/nfs_unmount.png b/IconThemes/kids/48x48/devices/nfs_unmount.png
new file mode 100644
index 00000000..aa6c4d97
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/print_printer.png b/IconThemes/kids/48x48/devices/print_printer.png
new file mode 100644
index 00000000..29b74bb9
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/printer.png b/IconThemes/kids/48x48/devices/printer.png
new file mode 100644
index 00000000..29b74bb9
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/printer.png
Binary files differ
diff --git a/IconThemes/kids/48x48/devices/printer2.png b/IconThemes/kids/48x48/devices/printer2.png
new file mode 100644
index 00000000..29b74bb9
--- /dev/null
+++ b/IconThemes/kids/48x48/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/connect_to_network.png b/IconThemes/kids/48x48/filesystems/connect_to_network.png
new file mode 100644
index 00000000..62dceba1
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/connect_to_network.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/desktop.png b/IconThemes/kids/48x48/filesystems/desktop.png
new file mode 100644
index 00000000..7c199544
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/exec.png b/IconThemes/kids/48x48/filesystems/exec.png
new file mode 100644
index 00000000..b280540d
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/favorites.png b/IconThemes/kids/48x48/filesystems/favorites.png
new file mode 100644
index 00000000..39050be7
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/favorites.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/favorites2.png b/IconThemes/kids/48x48/filesystems/favorites2.png
new file mode 100644
index 00000000..889780e0
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/favorites2.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/file_temporary.png b/IconThemes/kids/48x48/filesystems/file_temporary.png
new file mode 100644
index 00000000..92ce2098
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder.png b/IconThemes/kids/48x48/filesystems/folder.png
new file mode 100644
index 00000000..92454e3e
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_blue.png b/IconThemes/kids/48x48/filesystems/folder_blue.png
new file mode 100644
index 00000000..e0e06038
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_doc.png b/IconThemes/kids/48x48/filesystems/folder_doc.png
new file mode 100644
index 00000000..0a61c66a
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_doc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_favorites.png b/IconThemes/kids/48x48/filesystems/folder_favorites.png
new file mode 100644
index 00000000..0bcefc83
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_favorites2.png b/IconThemes/kids/48x48/filesystems/folder_favorites2.png
new file mode 100644
index 00000000..1239f1dc
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_favorites2.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_home.png b/IconThemes/kids/48x48/filesystems/folder_home.png
new file mode 100644
index 00000000..77fa71c2
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_htm.png b/IconThemes/kids/48x48/filesystems/folder_htm.png
new file mode 100644
index 00000000..cdd22be8
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_htm.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_html.png b/IconThemes/kids/48x48/filesystems/folder_html.png
new file mode 100644
index 00000000..1592436e
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_image.png b/IconThemes/kids/48x48/filesystems/folder_image.png
new file mode 100644
index 00000000..c5a3c161
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_locked.png b/IconThemes/kids/48x48/filesystems/folder_locked.png
new file mode 100644
index 00000000..fd32e679
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/folder_music.png b/IconThemes/kids/48x48/filesystems/folder_music.png
new file mode 100644
index 00000000..bad2e96f
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/folder_music.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/link.png b/IconThemes/kids/48x48/filesystems/link.png
new file mode 100644
index 00000000..de2eee08
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/lockoverlay.png b/IconThemes/kids/48x48/filesystems/lockoverlay.png
new file mode 100644
index 00000000..d4502b67
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/network_local.png b/IconThemes/kids/48x48/filesystems/network_local.png
new file mode 100644
index 00000000..dd77e782
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/socket.png b/IconThemes/kids/48x48/filesystems/socket.png
new file mode 100644
index 00000000..433d8f88
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/trashcan_empty.png b/IconThemes/kids/48x48/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..db733ce2
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kids/48x48/filesystems/trashcan_full.png b/IconThemes/kids/48x48/filesystems/trashcan_full.png
new file mode 100644
index 00000000..99700131
--- /dev/null
+++ b/IconThemes/kids/48x48/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/cdimage.png b/IconThemes/kids/48x48/mimetypes/cdimage.png
new file mode 100644
index 00000000..c662cc52
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/document.png b/IconThemes/kids/48x48/mimetypes/document.png
new file mode 100644
index 00000000..80eae0fa
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/empty.png b/IconThemes/kids/48x48/mimetypes/empty.png
new file mode 100644
index 00000000..b9fd1c95
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/file_locked.png b/IconThemes/kids/48x48/mimetypes/file_locked.png
new file mode 100644
index 00000000..33591856
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/file_locked.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/file_temporary.png b/IconThemes/kids/48x48/mimetypes/file_temporary.png
new file mode 100644
index 00000000..8268b89e
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/html.png b/IconThemes/kids/48x48/mimetypes/html.png
new file mode 100644
index 00000000..7ec35170
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/image.png b/IconThemes/kids/48x48/mimetypes/image.png
new file mode 100644
index 00000000..65f0f33d
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/midi.png b/IconThemes/kids/48x48/mimetypes/midi.png
new file mode 100644
index 00000000..4d053aa9
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/netscape_doc.png b/IconThemes/kids/48x48/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..ed2eb56d
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/sound.png b/IconThemes/kids/48x48/mimetypes/sound.png
new file mode 100644
index 00000000..f72aa5ab
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kids/48x48/mimetypes/unknown.png b/IconThemes/kids/48x48/mimetypes/unknown.png
new file mode 100644
index 00000000..4f6c57a9
--- /dev/null
+++ b/IconThemes/kids/48x48/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/Untitled.png b/IconThemes/kids/64x64/actions/Untitled.png
new file mode 100644
index 00000000..cc9f8b4c
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/about_kde.png b/IconThemes/kids/64x64/actions/about_kde.png
new file mode 100644
index 00000000..f52c0e34
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/appearance.png b/IconThemes/kids/64x64/actions/appearance.png
new file mode 100644
index 00000000..8059e26e
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/appearance.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/back.png b/IconThemes/kids/64x64/actions/back.png
new file mode 100644
index 00000000..62212bf7
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/back.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/bookmark.png b/IconThemes/kids/64x64/actions/bookmark.png
new file mode 100644
index 00000000..9147be9d
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/bookmark_add.png b/IconThemes/kids/64x64/actions/bookmark_add.png
new file mode 100644
index 00000000..0dfa4e96
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/button_cance.png b/IconThemes/kids/64x64/actions/button_cance.png
new file mode 100644
index 00000000..15821eb9
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/button_cance.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/button_ok.png b/IconThemes/kids/64x64/actions/button_ok.png
new file mode 100644
index 00000000..184b0fda
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/cd.png b/IconThemes/kids/64x64/actions/cd.png
new file mode 100644
index 00000000..5449d328
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/cd.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/colorize.png b/IconThemes/kids/64x64/actions/colorize.png
new file mode 100644
index 00000000..bf581b64
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/colorize.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/compfile.png b/IconThemes/kids/64x64/actions/compfile.png
new file mode 100644
index 00000000..6541ac97
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/compfile.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/configure.png b/IconThemes/kids/64x64/actions/configure.png
new file mode 100644
index 00000000..f5b6d301
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/configure.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/decrypted.png b/IconThemes/kids/64x64/actions/decrypted.png
new file mode 100644
index 00000000..404f0fb2
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/down.png b/IconThemes/kids/64x64/actions/down.png
new file mode 100644
index 00000000..cc9f8b4c
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/down.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/edit.png b/IconThemes/kids/64x64/actions/edit.png
new file mode 100644
index 00000000..a0efc63f
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/edit.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/editcopy.png b/IconThemes/kids/64x64/actions/editcopy.png
new file mode 100644
index 00000000..4312ab2f
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/editcut.png b/IconThemes/kids/64x64/actions/editcut.png
new file mode 100644
index 00000000..1515a91f
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/editcut.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/editdelete.png b/IconThemes/kids/64x64/actions/editdelete.png
new file mode 100644
index 00000000..2028ca7c
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/editpaste.png b/IconThemes/kids/64x64/actions/editpaste.png
new file mode 100644
index 00000000..96e0d368
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/edittrash.png b/IconThemes/kids/64x64/actions/edittrash.png
new file mode 100644
index 00000000..f16fe891
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/encrypted.png b/IconThemes/kids/64x64/actions/encrypted.png
new file mode 100644
index 00000000..99de0578
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/exit.png b/IconThemes/kids/64x64/actions/exit.png
new file mode 100644
index 00000000..642f690b
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/exit.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/fileclose.png b/IconThemes/kids/64x64/actions/fileclose.png
new file mode 100644
index 00000000..2570da61
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/filefind.png b/IconThemes/kids/64x64/actions/filefind.png
new file mode 100644
index 00000000..5a18a8bc
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/filefind.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/filenew.png b/IconThemes/kids/64x64/actions/filenew.png
new file mode 100644
index 00000000..91393dd8
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/filenew.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/fileopen.png b/IconThemes/kids/64x64/actions/fileopen.png
new file mode 100644
index 00000000..7772cfdf
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/fileprint.png b/IconThemes/kids/64x64/actions/fileprint.png
new file mode 100644
index 00000000..cd75b3f3
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/filequickprint.png b/IconThemes/kids/64x64/actions/filequickprint.png
new file mode 100644
index 00000000..e038c5e7
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/filesave.png b/IconThemes/kids/64x64/actions/filesave.png
new file mode 100644
index 00000000..f54f294b
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/filesave.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/filesaveas.png b/IconThemes/kids/64x64/actions/filesaveas.png
new file mode 100644
index 00000000..e22bae7a
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/find.png b/IconThemes/kids/64x64/actions/find.png
new file mode 100644
index 00000000..0fe7ba12
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/find.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/fonts.png b/IconThemes/kids/64x64/actions/fonts.png
new file mode 100644
index 00000000..3486bbdd
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/fonts.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/forward.png b/IconThemes/kids/64x64/actions/forward.png
new file mode 100644
index 00000000..23b58536
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/forward.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/frameprint.png b/IconThemes/kids/64x64/actions/frameprint.png
new file mode 100644
index 00000000..87a3273b
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/gohome.png b/IconThemes/kids/64x64/actions/gohome.png
new file mode 100644
index 00000000..1d04738f
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/gohome.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/help.png b/IconThemes/kids/64x64/actions/help.png
new file mode 100644
index 00000000..2c720be3
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/help.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/history.png b/IconThemes/kids/64x64/actions/history.png
new file mode 100644
index 00000000..b0811571
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/history.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/klipper_doc.png b/IconThemes/kids/64x64/actions/klipper_doc.png
new file mode 100644
index 00000000..71cfb4ef
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/klipper_doc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/launch.png b/IconThemes/kids/64x64/actions/launch.png
new file mode 100644
index 00000000..3e281b23
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/launch.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/misc.png b/IconThemes/kids/64x64/actions/misc.png
new file mode 100644
index 00000000..5e22cc63
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/misc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/next-sail.png b/IconThemes/kids/64x64/actions/next-sail.png
new file mode 100644
index 00000000..7b6a87c7
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/next-sail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/next.png b/IconThemes/kids/64x64/actions/next.png
new file mode 100644
index 00000000..b102f1f4
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/next.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/previos-sail.png b/IconThemes/kids/64x64/actions/previos-sail.png
new file mode 100644
index 00000000..4327df43
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/previos-sail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/previous.png b/IconThemes/kids/64x64/actions/previous.png
new file mode 100644
index 00000000..8b605934
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/previous.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/redo.png b/IconThemes/kids/64x64/actions/redo.png
new file mode 100644
index 00000000..8a067207
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/redo.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/reload.png b/IconThemes/kids/64x64/actions/reload.png
new file mode 100644
index 00000000..b16d6aaf
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/reload.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/run.png b/IconThemes/kids/64x64/actions/run.png
new file mode 100644
index 00000000..36af3fc7
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/run.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/search.png b/IconThemes/kids/64x64/actions/search.png
new file mode 100644
index 00000000..dacba443
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/search.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/stop.png b/IconThemes/kids/64x64/actions/stop.png
new file mode 100644
index 00000000..1b37d56b
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/stop.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/thumbnail.png b/IconThemes/kids/64x64/actions/thumbnail.png
new file mode 100644
index 00000000..4e38695d
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/undo.png b/IconThemes/kids/64x64/actions/undo.png
new file mode 100644
index 00000000..f0bd67dd
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/undo.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/unlock.png b/IconThemes/kids/64x64/actions/unlock.png
new file mode 100644
index 00000000..555079de
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/unlock.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/up.png b/IconThemes/kids/64x64/actions/up.png
new file mode 100644
index 00000000..d59f413a
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/up.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_bottom.png b/IconThemes/kids/64x64/actions/view_bottom.png
new file mode 100644
index 00000000..e1bde8a2
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_bottom.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_choose.png b/IconThemes/kids/64x64/actions/view_choose.png
new file mode 100644
index 00000000..ca238963
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_detailed.png b/IconThemes/kids/64x64/actions/view_detailed.png
new file mode 100644
index 00000000..2d8683a5
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_icon.png b/IconThemes/kids/64x64/actions/view_icon.png
new file mode 100644
index 00000000..264ef3a3
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_left_right.png b/IconThemes/kids/64x64/actions/view_left_right.png
new file mode 100644
index 00000000..b65776de
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_left_right.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_multicolumn.png b/IconThemes/kids/64x64/actions/view_multicolumn.png
new file mode 100644
index 00000000..74cd2193
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_remove.png b/IconThemes/kids/64x64/actions/view_remove.png
new file mode 100644
index 00000000..55fd3bd5
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_right.png b/IconThemes/kids/64x64/actions/view_right.png
new file mode 100644
index 00000000..e1bde8a2
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_right.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_sidetree.png b/IconThemes/kids/64x64/actions/view_sidetree.png
new file mode 100644
index 00000000..8652a5aa
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_text.png b/IconThemes/kids/64x64/actions/view_text.png
new file mode 100644
index 00000000..1e58d770
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_text.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_top_bottom.png b/IconThemes/kids/64x64/actions/view_top_bottom.png
new file mode 100644
index 00000000..3c73ace8
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_top_bottom.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/view_tree.png b/IconThemes/kids/64x64/actions/view_tree.png
new file mode 100644
index 00000000..2be5fd15
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/viewmag+.png b/IconThemes/kids/64x64/actions/viewmag+.png
new file mode 100644
index 00000000..0c0d3a2e
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/viewmag-.png b/IconThemes/kids/64x64/actions/viewmag-.png
new file mode 100644
index 00000000..28ade555
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/viewmagfit.png b/IconThemes/kids/64x64/actions/viewmagfit.png
new file mode 100644
index 00000000..051afb4d
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/window_fullscreen.png b/IconThemes/kids/64x64/actions/window_fullscreen.png
new file mode 100644
index 00000000..4120fab7
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/window_new.png b/IconThemes/kids/64x64/actions/window_new.png
new file mode 100644
index 00000000..b030fbd2
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/window_new.png
Binary files differ
diff --git a/IconThemes/kids/64x64/actions/window_nofullscreen.png b/IconThemes/kids/64x64/actions/window_nofullscreen.png
new file mode 100644
index 00000000..d6e14e44
--- /dev/null
+++ b/IconThemes/kids/64x64/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/Untitled.png b/IconThemes/kids/64x64/apps/Untitled.png
new file mode 100644
index 00000000..065e5c79
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/Untitled.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agent.png b/IconThemes/kids/64x64/apps/agent.png
new file mode 100644
index 00000000..34c4d180
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agent.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt-family-off.png b/IconThemes/kids/64x64/apps/agt-family-off.png
new file mode 100644
index 00000000..5d198d88
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt-family-off.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_action_fail.png b/IconThemes/kids/64x64/apps/agt_action_fail.png
new file mode 100644
index 00000000..15821eb9
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_action_fail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_action_success.png b/IconThemes/kids/64x64/apps/agt_action_success.png
new file mode 100644
index 00000000..9244ecd1
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_action_success.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_back.png b/IconThemes/kids/64x64/apps/agt_back.png
new file mode 100644
index 00000000..366243f4
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_back.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_family-off.png b/IconThemes/kids/64x64/apps/agt_family-off.png
new file mode 100644
index 00000000..17be5b60
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_family-off.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_family.png b/IconThemes/kids/64x64/apps/agt_family.png
new file mode 100644
index 00000000..fdbdabce
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_family.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_forward.png b/IconThemes/kids/64x64/apps/agt_forward.png
new file mode 100644
index 00000000..7fd6c980
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_forward.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_login.png b/IconThemes/kids/64x64/apps/agt_login.png
new file mode 100644
index 00000000..87f6aa61
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_login.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_print.png b/IconThemes/kids/64x64/apps/agt_print.png
new file mode 100644
index 00000000..5fe8f95d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_print.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_reload.png b/IconThemes/kids/64x64/apps/agt_reload.png
new file mode 100644
index 00000000..1c0b153b
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_reload.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_resume.png b/IconThemes/kids/64x64/apps/agt_resume.png
new file mode 100644
index 00000000..5283693d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_resume.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_runit.png b/IconThemes/kids/64x64/apps/agt_runit.png
new file mode 100644
index 00000000..68bac288
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_runit.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_stop.png b/IconThemes/kids/64x64/apps/agt_stop.png
new file mode 100644
index 00000000..9da2ccef
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_stop.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_uninstall-product.png b/IconThemes/kids/64x64/apps/agt_uninstall-product.png
new file mode 100644
index 00000000..ee9a4234
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_uninstall-product.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_update_critical.png b/IconThemes/kids/64x64/apps/agt_update_critical.png
new file mode 100644
index 00000000..3ae500c7
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_update_critical.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_update_drivers.png b/IconThemes/kids/64x64/apps/agt_update_drivers.png
new file mode 100644
index 00000000..954d48bd
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_update_drivers.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_virussafe-off.png b/IconThemes/kids/64x64/apps/agt_virussafe-off.png
new file mode 100644
index 00000000..7d0b794c
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_virussafe-off.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/agt_virussafe.png b/IconThemes/kids/64x64/apps/agt_virussafe.png
new file mode 100644
index 00000000..655ba956
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/agt_virussafe.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/aim.png b/IconThemes/kids/64x64/apps/aim.png
new file mode 100644
index 00000000..ab510026
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/aim.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/ark.png b/IconThemes/kids/64x64/apps/ark.png
new file mode 100644
index 00000000..954d48bd
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/ark.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/babelfish.png b/IconThemes/kids/64x64/apps/babelfish.png
new file mode 100644
index 00000000..1baf1b58
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/babelfish.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/background.png b/IconThemes/kids/64x64/apps/background.png
new file mode 100644
index 00000000..4e3c727f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/background.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/bell.png b/IconThemes/kids/64x64/apps/bell.png
new file mode 100644
index 00000000..7ffe6e67
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/bell.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/browser.png b/IconThemes/kids/64x64/apps/browser.png
new file mode 100644
index 00000000..85dd7fab
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/browser.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/cache.png b/IconThemes/kids/64x64/apps/cache.png
new file mode 100644
index 00000000..8a8b753a
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/cache.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/camera.png b/IconThemes/kids/64x64/apps/camera.png
new file mode 100644
index 00000000..0ebeee22
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/camera.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/cd-player1.png b/IconThemes/kids/64x64/apps/cd-player1.png
new file mode 100644
index 00000000..7fe4b8c0
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/cd-player1.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/clicknrun.png b/IconThemes/kids/64x64/apps/clicknrun.png
new file mode 100644
index 00000000..618e4aa1
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/clicknrun.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/clicknrungrey.png b/IconThemes/kids/64x64/apps/clicknrungrey.png
new file mode 100644
index 00000000..02e9a831
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/clicknrungrey.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/clock.png b/IconThemes/kids/64x64/apps/clock.png
new file mode 100644
index 00000000..0e9caef4
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/clock.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/colors.png b/IconThemes/kids/64x64/apps/colors.png
new file mode 100644
index 00000000..48da5724
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/colors.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/cookie.png b/IconThemes/kids/64x64/apps/cookie.png
new file mode 100644
index 00000000..5e528e3d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/cookie.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/date.png b/IconThemes/kids/64x64/apps/date.png
new file mode 100644
index 00000000..9eef7119
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/date.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/display.png b/IconThemes/kids/64x64/apps/display.png
new file mode 100644
index 00000000..bcc5cf82
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/display.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/email.png b/IconThemes/kids/64x64/apps/email.png
new file mode 100644
index 00000000..61beaed1
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/email.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/energy.png b/IconThemes/kids/64x64/apps/energy.png
new file mode 100644
index 00000000..dcecd1ec
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/energy.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/energy_star.png b/IconThemes/kids/64x64/apps/energy_star.png
new file mode 100644
index 00000000..dcecd1ec
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/energy_star.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/enhanced_browsing.png b/IconThemes/kids/64x64/apps/enhanced_browsing.png
new file mode 100644
index 00000000..caca549f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/file-manager.png b/IconThemes/kids/64x64/apps/file-manager.png
new file mode 100644
index 00000000..5a0a8339
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/file-manager.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/fileshare.png b/IconThemes/kids/64x64/apps/fileshare.png
new file mode 100644
index 00000000..30fb850d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/fileshare.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/filetypes.png b/IconThemes/kids/64x64/apps/filetypes.png
new file mode 100644
index 00000000..1d8ecbfe
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/fonts.png b/IconThemes/kids/64x64/apps/fonts.png
new file mode 100644
index 00000000..27b706b6
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/fonts.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/galeon.png b/IconThemes/kids/64x64/apps/galeon.png
new file mode 100644
index 00000000..bf19e83b
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/galeon.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/gimp.png b/IconThemes/kids/64x64/apps/gimp.png
new file mode 100644
index 00000000..bf401e3b
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/gimp.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/go.png b/IconThemes/kids/64x64/apps/go.png
new file mode 100644
index 00000000..795d0c83
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/go.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/harddrive.png b/IconThemes/kids/64x64/apps/harddrive.png
new file mode 100644
index 00000000..23e014f0
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/harddrive.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/hook.png b/IconThemes/kids/64x64/apps/hook.png
new file mode 100644
index 00000000..bd25265b
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/hook.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/hwinfo.png b/IconThemes/kids/64x64/apps/hwinfo.png
new file mode 100644
index 00000000..753bb470
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/icons.png b/IconThemes/kids/64x64/apps/icons.png
new file mode 100644
index 00000000..674c1808
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/icons.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/iconthemes.png b/IconThemes/kids/64x64/apps/iconthemes.png
new file mode 100644
index 00000000..50e027e6
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/iconthemes.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/input_devices_settings.png b/IconThemes/kids/64x64/apps/input_devices_settings.png
new file mode 100644
index 00000000..948b18f3
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/input_devices_settings.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcalc.png b/IconThemes/kids/64x64/apps/kcalc.png
new file mode 100644
index 00000000..dd5870eb
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcalc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmmemory.png b/IconThemes/kids/64x64/apps/kcmmemory.png
new file mode 100644
index 00000000..68bf996c
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmpci.png b/IconThemes/kids/64x64/apps/kcmpci.png
new file mode 100644
index 00000000..6a773ff6
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmprocessor.png b/IconThemes/kids/64x64/apps/kcmprocessor.png
new file mode 100644
index 00000000..e3769100
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmsound.png b/IconThemes/kids/64x64/apps/kcmsound.png
new file mode 100644
index 00000000..ef9a3fe1
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmsystem.png b/IconThemes/kids/64x64/apps/kcmsystem.png
new file mode 100644
index 00000000..9191bdb7
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcmx.png b/IconThemes/kids/64x64/apps/kcmx.png
new file mode 100644
index 00000000..17f3831d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcoloredit.png b/IconThemes/kids/64x64/apps/kcoloredit.png
new file mode 100644
index 00000000..1814188b
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcoloredit.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kcontrol.png b/IconThemes/kids/64x64/apps/kcontrol.png
new file mode 100644
index 00000000..a8ddba71
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/key_bindings.png b/IconThemes/kids/64x64/apps/key_bindings.png
new file mode 100644
index 00000000..3a2167b3
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/keyboard.png b/IconThemes/kids/64x64/apps/keyboard.png
new file mode 100644
index 00000000..fad2c421
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/keyboard_layout.png b/IconThemes/kids/64x64/apps/keyboard_layout.png
new file mode 100644
index 00000000..574f7832
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/keyboard_layout.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kfloppy.png b/IconThemes/kids/64x64/apps/kfloppy.png
new file mode 100644
index 00000000..7eec97d5
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kfloppy.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kfm.png b/IconThemes/kids/64x64/apps/kfm.png
new file mode 100644
index 00000000..fb6626c3
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kfm.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kfm_home.png b/IconThemes/kids/64x64/apps/kfm_home.png
new file mode 100644
index 00000000..50da3cbf
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/khelpcenter.png b/IconThemes/kids/64x64/apps/khelpcenter.png
new file mode 100644
index 00000000..504170ae
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kicker.png b/IconThemes/kids/64x64/apps/kicker.png
new file mode 100644
index 00000000..8a389160
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kicker.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kjobviewer.png b/IconThemes/kids/64x64/apps/kjobviewer.png
new file mode 100644
index 00000000..1a74cd95
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/klaptopdaemon.png b/IconThemes/kids/64x64/apps/klaptopdaemon.png
new file mode 100644
index 00000000..11f0f960
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/klaptopdaemon.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/klipper.png b/IconThemes/kids/64x64/apps/klipper.png
new file mode 100644
index 00000000..3234da40
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/klipper.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/klpq.png b/IconThemes/kids/64x64/apps/klpq.png
new file mode 100644
index 00000000..1a74cd95
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/klpq.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kmenu.png b/IconThemes/kids/64x64/apps/kmenu.png
new file mode 100644
index 00000000..795d0c83
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kmix.png b/IconThemes/kids/64x64/apps/kmix.png
new file mode 100644
index 00000000..5013cca3
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kmix.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/knetconfig.png b/IconThemes/kids/64x64/apps/knetconfig.png
new file mode 100644
index 00000000..2fac8d8f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/knetconfig.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/knotify.png b/IconThemes/kids/64x64/apps/knotify.png
new file mode 100644
index 00000000..161c2ba3
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/knotify.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/konqueror.png b/IconThemes/kids/64x64/apps/konqueror.png
new file mode 100644
index 00000000..4ef03842
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/konsole.png b/IconThemes/kids/64x64/apps/konsole.png
new file mode 100644
index 00000000..3a3ed69f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/konsole.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kppp.png b/IconThemes/kids/64x64/apps/kppp.png
new file mode 100644
index 00000000..5ac0bfc4
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kppp.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kreatecd.png b/IconThemes/kids/64x64/apps/kreatecd.png
new file mode 100644
index 00000000..fa2ddc35
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/krfb.png b/IconThemes/kids/64x64/apps/krfb.png
new file mode 100644
index 00000000..6c26d770
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/krfb.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kscd.png b/IconThemes/kids/64x64/apps/kscd.png
new file mode 100644
index 00000000..6fbcbcd9
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kscd.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kscreensaver.png b/IconThemes/kids/64x64/apps/kscreensaver.png
new file mode 100644
index 00000000..11d07ddb
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kservices.png b/IconThemes/kids/64x64/apps/kservices.png
new file mode 100644
index 00000000..8fff9326
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kservices.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/ksmiletris.png b/IconThemes/kids/64x64/apps/ksmiletris.png
new file mode 100644
index 00000000..086c8746
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/ksmiletris.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/ktalkd.png b/IconThemes/kids/64x64/apps/ktalkd.png
new file mode 100644
index 00000000..68948b67
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/ktalkd.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kuser.png b/IconThemes/kids/64x64/apps/kuser.png
new file mode 100644
index 00000000..6b0dec60
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kuser.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/kxconfig.png b/IconThemes/kids/64x64/apps/kxconfig.png
new file mode 100644
index 00000000..5ccb818d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/kxconfig.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/laptop_battery.png b/IconThemes/kids/64x64/apps/laptop_battery.png
new file mode 100644
index 00000000..5848c779
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/laptop_pcmcia.png b/IconThemes/kids/64x64/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..1a27fe65
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/lin_agt_wrench.png b/IconThemes/kids/64x64/apps/lin_agt_wrench.png
new file mode 100644
index 00000000..a8abc9ea
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/lin_agt_wrench.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/linneighborhood.png b/IconThemes/kids/64x64/apps/linneighborhood.png
new file mode 100644
index 00000000..ce7a4d34
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/linneighborhood.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/linuxconf.png b/IconThemes/kids/64x64/apps/linuxconf.png
new file mode 100644
index 00000000..ff21afcc
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/linuxconf.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/locale.png b/IconThemes/kids/64x64/apps/locale.png
new file mode 100644
index 00000000..80b1db9f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/locale.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/looknfeel.png b/IconThemes/kids/64x64/apps/looknfeel.png
new file mode 100644
index 00000000..8a07c0f8
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/mail.png b/IconThemes/kids/64x64/apps/mail.png
new file mode 100644
index 00000000..91881e30
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/mail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/mascot.png b/IconThemes/kids/64x64/apps/mascot.png
new file mode 100644
index 00000000..a39bcc23
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/mascot.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/mouse.png b/IconThemes/kids/64x64/apps/mouse.png
new file mode 100644
index 00000000..cda3a04a
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/mouse.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/mozilla.png b/IconThemes/kids/64x64/apps/mozilla.png
new file mode 100644
index 00000000..1ed8fd8d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/mozilla.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/multimedia.png b/IconThemes/kids/64x64/apps/multimedia.png
new file mode 100644
index 00000000..065e5c79
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/mycomputer.png b/IconThemes/kids/64x64/apps/mycomputer.png
new file mode 100644
index 00000000..f4f2e5e9
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/mycomputer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/netscape.png b/IconThemes/kids/64x64/apps/netscape.png
new file mode 100644
index 00000000..92fa2b35
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/netscape.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/network.png b/IconThemes/kids/64x64/apps/network.png
new file mode 100644
index 00000000..2fac8d8f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/network.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/noatun.png b/IconThemes/kids/64x64/apps/noatun.png
new file mode 100644
index 00000000..2252f42f
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/noatun.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/os-support.png b/IconThemes/kids/64x64/apps/os-support.png
new file mode 100644
index 00000000..201885d6
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/os-support.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/package_settings.png b/IconThemes/kids/64x64/apps/package_settings.png
new file mode 100644
index 00000000..a8abc9ea
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/package_system.png b/IconThemes/kids/64x64/apps/package_system.png
new file mode 100644
index 00000000..8fff9326
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/package_system.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/package_toys.png b/IconThemes/kids/64x64/apps/package_toys.png
new file mode 100644
index 00000000..8f03bf12
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/package_utilities.png b/IconThemes/kids/64x64/apps/package_utilities.png
new file mode 100644
index 00000000..29a3ca51
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/password.png b/IconThemes/kids/64x64/apps/password.png
new file mode 100644
index 00000000..a1e9bd2d
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/password.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/penguin.png b/IconThemes/kids/64x64/apps/penguin.png
new file mode 100644
index 00000000..a78da37c
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/penguin.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/personal.png b/IconThemes/kids/64x64/apps/personal.png
new file mode 100644
index 00000000..f22eaab7
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/personal.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/printer.png b/IconThemes/kids/64x64/apps/printer.png
new file mode 100644
index 00000000..1a74cd95
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/printer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/printmgr.png b/IconThemes/kids/64x64/apps/printmgr.png
new file mode 100644
index 00000000..1a74cd95
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/proxy.png b/IconThemes/kids/64x64/apps/proxy.png
new file mode 100644
index 00000000..7b18c437
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/proxy.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/renamecomputer.png b/IconThemes/kids/64x64/apps/renamecomputer.png
new file mode 100644
index 00000000..cd8c3f14
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/renamecomputer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/samba.png b/IconThemes/kids/64x64/apps/samba.png
new file mode 100644
index 00000000..869eef57
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/samba.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/sisadmin.png b/IconThemes/kids/64x64/apps/sisadmin.png
new file mode 100644
index 00000000..acdf4384
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/sisadmin.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/star_here.png b/IconThemes/kids/64x64/apps/star_here.png
new file mode 100644
index 00000000..a1d54073
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/star_here.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/start_here.png b/IconThemes/kids/64x64/apps/start_here.png
new file mode 100644
index 00000000..1e06204c
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/start_here.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/stylesheet.png b/IconThemes/kids/64x64/apps/stylesheet.png
new file mode 100644
index 00000000..e39174a4
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/stylesheet.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/trash.png b/IconThemes/kids/64x64/apps/trash.png
new file mode 100644
index 00000000..1ea7c2f1
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/trash.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/window_list.png b/IconThemes/kids/64x64/apps/window_list.png
new file mode 100644
index 00000000..c4b31cfb
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/window_list.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/windows_users.png b/IconThemes/kids/64x64/apps/windows_users.png
new file mode 100644
index 00000000..35fa1dfd
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/windows_users.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/x.png b/IconThemes/kids/64x64/apps/x.png
new file mode 100644
index 00000000..163bf7d5
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/x.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/xcalc.png b/IconThemes/kids/64x64/apps/xcalc.png
new file mode 100644
index 00000000..cd8c3f14
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/xcalc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/xmail.png b/IconThemes/kids/64x64/apps/xmail.png
new file mode 100644
index 00000000..02c12659
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/xmail.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/xmms.png b/IconThemes/kids/64x64/apps/xmms.png
new file mode 100644
index 00000000..9d607e5a
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/xmms.png
Binary files differ
diff --git a/IconThemes/kids/64x64/apps/xpaint.png b/IconThemes/kids/64x64/apps/xpaint.png
new file mode 100644
index 00000000..c9ca3551
--- /dev/null
+++ b/IconThemes/kids/64x64/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/3floppy_mount.png b/IconThemes/kids/64x64/devices/3floppy_mount.png
new file mode 100644
index 00000000..4be81366
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/3floppy_unmount.png b/IconThemes/kids/64x64/devices/3floppy_unmount.png
new file mode 100644
index 00000000..13bfafd4
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/camera.png b/IconThemes/kids/64x64/devices/camera.png
new file mode 100644
index 00000000..bda8b7ca
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/camera.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/cdrom_mount.png b/IconThemes/kids/64x64/devices/cdrom_mount.png
new file mode 100644
index 00000000..b1da4c4b
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/cdrom_unmount.png b/IconThemes/kids/64x64/devices/cdrom_unmount.png
new file mode 100644
index 00000000..46fc76ce
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/hdd_mount.png b/IconThemes/kids/64x64/devices/hdd_mount.png
new file mode 100644
index 00000000..3e7cd697
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/hdd_unmount.png b/IconThemes/kids/64x64/devices/hdd_unmount.png
new file mode 100644
index 00000000..a072e694
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/memory.png b/IconThemes/kids/64x64/devices/memory.png
new file mode 100644
index 00000000..b85af489
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/memory.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/network_local.png b/IconThemes/kids/64x64/devices/network_local.png
new file mode 100644
index 00000000..9f9a043a
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/network_local.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/nfs_unmount.png b/IconThemes/kids/64x64/devices/nfs_unmount.png
new file mode 100644
index 00000000..b7b23405
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/print_printer.png b/IconThemes/kids/64x64/devices/print_printer.png
new file mode 100644
index 00000000..453bee1c
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/printer.png b/IconThemes/kids/64x64/devices/printer.png
new file mode 100644
index 00000000..453bee1c
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/printer.png
Binary files differ
diff --git a/IconThemes/kids/64x64/devices/printer2.png b/IconThemes/kids/64x64/devices/printer2.png
new file mode 100644
index 00000000..453bee1c
--- /dev/null
+++ b/IconThemes/kids/64x64/devices/printer2.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/connect_to_network.png b/IconThemes/kids/64x64/filesystems/connect_to_network.png
new file mode 100644
index 00000000..05930e4c
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/connect_to_network.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/desktop.png b/IconThemes/kids/64x64/filesystems/desktop.png
new file mode 100644
index 00000000..e2cf3e17
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/exec.png b/IconThemes/kids/64x64/filesystems/exec.png
new file mode 100644
index 00000000..35d5d46a
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/favorites.png b/IconThemes/kids/64x64/filesystems/favorites.png
new file mode 100644
index 00000000..35c880e8
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/favorites.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/favorites2.png b/IconThemes/kids/64x64/filesystems/favorites2.png
new file mode 100644
index 00000000..a17c476e
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/favorites2.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/file_temporary.png b/IconThemes/kids/64x64/filesystems/file_temporary.png
new file mode 100644
index 00000000..c317e611
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder.png b/IconThemes/kids/64x64/filesystems/folder.png
new file mode 100644
index 00000000..37bf57b6
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_blue.png b/IconThemes/kids/64x64/filesystems/folder_blue.png
new file mode 100644
index 00000000..a260a189
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_doc.png b/IconThemes/kids/64x64/filesystems/folder_doc.png
new file mode 100644
index 00000000..4228f7cd
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_doc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_favorites.png b/IconThemes/kids/64x64/filesystems/folder_favorites.png
new file mode 100644
index 00000000..b07ef863
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_favorites.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_favorites2.png b/IconThemes/kids/64x64/filesystems/folder_favorites2.png
new file mode 100644
index 00000000..f80fbd59
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_favorites2.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_home.png b/IconThemes/kids/64x64/filesystems/folder_home.png
new file mode 100644
index 00000000..0125e511
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_htm.png b/IconThemes/kids/64x64/filesystems/folder_htm.png
new file mode 100644
index 00000000..eb94cc18
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_htm.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_html.png b/IconThemes/kids/64x64/filesystems/folder_html.png
new file mode 100644
index 00000000..dbec0f7f
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_image.png b/IconThemes/kids/64x64/filesystems/folder_image.png
new file mode 100644
index 00000000..60202bdb
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_locked.png b/IconThemes/kids/64x64/filesystems/folder_locked.png
new file mode 100644
index 00000000..5199855f
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/folder_music.png b/IconThemes/kids/64x64/filesystems/folder_music.png
new file mode 100644
index 00000000..23ded727
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/folder_music.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/link.png b/IconThemes/kids/64x64/filesystems/link.png
new file mode 100644
index 00000000..48af67ef
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/link.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/lockoverlay.png b/IconThemes/kids/64x64/filesystems/lockoverlay.png
new file mode 100644
index 00000000..76ac481d
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/network_local.png b/IconThemes/kids/64x64/filesystems/network_local.png
new file mode 100644
index 00000000..608536f1
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/socket.png b/IconThemes/kids/64x64/filesystems/socket.png
new file mode 100644
index 00000000..c0852784
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/trashcan_empty.png b/IconThemes/kids/64x64/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..db4b4a2c
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/kids/64x64/filesystems/trashcan_full.png b/IconThemes/kids/64x64/filesystems/trashcan_full.png
new file mode 100644
index 00000000..fd83c40a
--- /dev/null
+++ b/IconThemes/kids/64x64/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/cdimage.png b/IconThemes/kids/64x64/mimetypes/cdimage.png
new file mode 100644
index 00000000..c55c6478
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/document.png b/IconThemes/kids/64x64/mimetypes/document.png
new file mode 100644
index 00000000..2cba19fb
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/empty.png b/IconThemes/kids/64x64/mimetypes/empty.png
new file mode 100644
index 00000000..415a26f5
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/empty.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/file_locked.png b/IconThemes/kids/64x64/mimetypes/file_locked.png
new file mode 100644
index 00000000..0ed0c55d
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/file_locked.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/file_temporary.png b/IconThemes/kids/64x64/mimetypes/file_temporary.png
new file mode 100644
index 00000000..194ede8a
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/file_temporary.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/html.png b/IconThemes/kids/64x64/mimetypes/html.png
new file mode 100644
index 00000000..5c4b7271
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/image.png b/IconThemes/kids/64x64/mimetypes/image.png
new file mode 100644
index 00000000..ed83b97c
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/midi.png b/IconThemes/kids/64x64/mimetypes/midi.png
new file mode 100644
index 00000000..ec272f8c
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/netscape_doc.png b/IconThemes/kids/64x64/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..8510a2e2
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/sound.png b/IconThemes/kids/64x64/mimetypes/sound.png
new file mode 100644
index 00000000..a9d1aeea
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/kids/64x64/mimetypes/unknown.png b/IconThemes/kids/64x64/mimetypes/unknown.png
new file mode 100644
index 00000000..5cbed212
--- /dev/null
+++ b/IconThemes/kids/64x64/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/kids/by Everaldo.txt b/IconThemes/kids/by Everaldo.txt
new file mode 100644
index 00000000..3e30109b
--- /dev/null
+++ b/IconThemes/kids/by Everaldo.txt
@@ -0,0 +1,4 @@
+Icon Theme by Everaldo Coelho
+
+www.everaldo.com
+everaldo@everaldo.com \ No newline at end of file
diff --git a/IconThemes/kids/index.theme b/IconThemes/kids/index.theme
new file mode 100644
index 00000000..d8ee1ac1
--- /dev/null
+++ b/IconThemes/kids/index.theme
@@ -0,0 +1,255 @@
+[Icon Theme]
+Name=Kids
+Name[br]=Bugale
+Name[ca]=Nens
+Name[cs]=Děti
+Name[de]=Kinder
+Name[el]=Παιδικό
+Name[eo]=Infanoj
+Name[et]=Lasteteema
+Name[eu]=Haurrak
+Name[fa]=بچه‌ها
+Name[fi]=Lapset
+Name[fr]=Enfants
+Name[he]=ילדים
+Name[hu]=Kicsiknek
+Name[is]=Krakkar
+Name[it]=Ragazzi
+Name[ka]=ბავშვებისთვის
+Name[mk]=Деца
+Name[ne]=किड्स
+Name[pa]=ਬੱਚੇ
+Name[pl]=Dzieciaki
+Name[pt]=Miúdos
+Name[ru]=Для детей
+Name[sl]=Otroci
+Name[sr]=Дечије
+Name[sr@Latn]=Dečije
+Name[sv]=Barn
+Name[ta]=குழந்தைகள்
+Name[tg]=Кӯдакона
+Name[uk]=Діти
+Name[vi]=Trẻ con
+Name[zh_CN]=孩童
+Comment=Icon Theme by Everaldo.com Design Studio
+Comment[bg]=Тема с икони от Everaldo.com Design Studio
+Comment[br]=Giz arlun gant Everaldo.com Design Studio
+Comment[bs]=Tema ikona iz Everaldo.com dizajn studija
+Comment[ca]=Tema d'icones per Everaldo.com Design Studio
+Comment[cs]=Motiv ikon od Everalda (www.everaldo.com)
+Comment[da]=Ikontema af Everaldo.com Design Studio
+Comment[de]=Symboldesign vom Everaldo.com Design Studio
+Comment[el]=Θέμα εικονιδίων από το Everaldo.com Design Studio
+Comment[es]=Tema de iconos de Everaldo.com Design Studio
+Comment[et]=Ikooniteema, autor disainistuudio Everaldo.com
+Comment[eu]=Everaldo.com Design Studio-ren ikono gaia
+Comment[fa]=چهرۀ شمایل توسط کارگاه طراحی Everaldo.com
+Comment[fi]=Everaldo Studion (www.everaldo.com) tekemä kuvaketeema
+Comment[fr]=Thème d'icônes par Everaldo.com Studio
+Comment[fy]=Byldkaaitema makke troch Everaldo.com Design Studio
+Comment[ga]=Téama Deilbhíní le Everaldo.com Design Studio
+Comment[gl]=Ícones de Everaldo.com Design Studio
+Comment[he]=ערכת סמלים מאת הסטודיו לעיצוב של Everaldo.com
+Comment[hi]=एवराल्डो.कॉम डिज़ाइन स्टूडियो का प्रतीक प्रसंग
+Comment[hu]=Ikontéma, készítette: Everaldo.com Design Studio
+Comment[is]=Táknmyndaþema eftir Everaldo.com Design Studio
+Comment[it]=Tema icone di Everaldo.com Design Studio
+Comment[ja]=Everaldo.com デザインスタジオによるアイコンテーマ
+Comment[ka]=პიქტოგრამების თემა Everaldo Studio-სგან (www.everaldo.com)
+Comment[lt]=Everaldo.com Design Studio ženkliukų tema
+Comment[mk]=Тема за икони од студиото за дизајн Everaldo.com
+Comment[ms]=Tema Ikon oleh Everaldo.com Design Studio
+Comment[nb]=Ikontema laget av Everaldo.com designstudio
+Comment[nds]=Lüttbildmuster vun dat Design-Studio Everaldo.com
+Comment[ne]=Everaldo.com डिजाइन स्टुडियोको प्रतिमा विषयवस्तु
+Comment[nl]=Pictogramthema van Everaldo.com Design Studio
+Comment[nn]=Ikontema frå Everaldo.com Design Studio
+Comment[pl]=Motyw ikon stworzony w Everaldo.com Design Studio
+Comment[pt]=Tema de Ícones por Everaldo.com Design Studio
+Comment[pt_BR]=Tema de Ícones de Alta resolução feito por Everaldo Studio
+Comment[ro]=Tematică de iconiţe de Everaldo.com Design Studio
+Comment[ru]=Тема значков от Everaldo Studio (www.everaldo.com)
+Comment[rw]=Insanganyamatsiko y'Agashushondanga ikozwe na Situdiyo ihanga Everaldo.com
+Comment[sk]=Ikonová téma, ktorú vyrobilo Everaldo.com Design Studio
+Comment[sl]=Ikonska tema od Everaldo.com Design Studio
+Comment[sr]=Тема икона Everaldo.com дизајнерског студија
+Comment[sr@Latn]=Tema ikona Everaldo.com dizajnerskog studija
+Comment[sv]=Ikontema av Everaldo.com designstudio
+Comment[tg]=Мавзӯъи пиктограмма аз Everaldo Studio (www.everaldo.com)
+Comment[tr]=Everaldo.com tasarım stüdyosu tarafından yapılan bir simge teması
+Comment[uk]=Тема піктограм із студії дизайну Everaldo.com
+Comment[vi]=Sắc thái Biểu tượng bởi Everaldo.com Design Studio
+Comment[zh_CN]=由 Everaldo 设计工作室(www.everaldo.com)制作的图标主题
+Comment[zh_TW]=由 Everaldo.com 設計團隊設計的圖示主題
+DisplayDepth=32
+
+Inherits=hicolor
+
+Example=folder
+LinkOverlay=link
+LockOverlay=lockoverlay
+ZipOverlay=zip
+DesktopDefault=48
+DesktopSizes=16,32,48,64,128
+ToolbarDefault=32
+ToolbarSizes=16,22,32,48
+MainToolbarDefault=32
+MainToolbarSizes=16,22,32,48
+SmallDefault=16
+SmallSizes=16
+PanelDefault=48
+PanelSizes=16,32,48,64,128
+Directories=16x16/actions,22x22/actions,32x32/actions,48x48/actions,64x64/actions,128x128/actions,16x16/apps,32x32/apps,48x48/apps,64x64/apps,128x128/apps,16x16/devices,32x32/devices,48x48/devices,64x64/devices,128x128/devices,16x16/filesystems,32x32/filesystems,48x48/filesystems,64x64/filesystems,128x128/filesystems,16x16/mimetypes,32x32/mimetypes,48x48/mimetypes,64x64/mimetypes,128x128/mimetypes,48x48/devices,48x48/filesystems,48x48/mimetypes,64x64/filesystems,64x64/mimetypes,64x64/devices,64x64/apps,64x64/actions,128x128/mimetypes,128x128/filesystems,128x128/apps,128x128/devices,128x128/actions
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Threshold
+[22x22/actions]
+Size=22
+Context=Actions
+Type=Threshold
+[32x32/actions]
+Size=32
+Context=Actions
+Type=Threshold
+[48x48/actions]
+Size=48
+Context=Actions
+Type=Threshold
+[64x64/actions]
+Size=64
+Context=Actions
+Type=Threshold
+[128x128/actions]
+Size=128
+Context=Actions
+Type=Threshold
+[16x16/apps]
+Size=16
+Context=Applications
+Type=Threshold
+[32x32/apps]
+Size=32
+Context=Applications
+Type=Threshold
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Threshold
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Threshold
+[128x128/apps]
+Size=128
+Context=Applications
+Type=Threshold
+[16x16/devices]
+Size=16
+Context=Devices
+Type=Threshold
+[32x32/devices]
+Size=32
+Context=Devices
+Type=Threshold
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Threshold
+[64x64/devices]
+Size=64
+Context=Devices
+Type=Threshold
+[128x128/devices]
+Size=128
+Context=Devices
+Type=Threshold
+[16x16/filesystems]
+Size=16
+Context=FileSystems
+Type=Threshold
+[32x32/filesystems]
+Size=32
+Context=FileSystems
+Type=Threshold
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Threshold
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Threshold
+[128x128/filesystems]
+Size=128
+Context=FileSystems
+Type=Threshold
+[16x16/mimetypes]
+Size=16
+Context=MimeTypes
+Type=Threshold
+[32x32/mimetypes]
+Size=32
+Context=MimeTypes
+Type=Threshold
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Threshold
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Threshold
+[128x128/mimetypes]
+Size=128
+Context=MimeTypes
+Type=Threshold
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Threshold
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Threshold
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Threshold
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Threshold
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Threshold
+[64x64/devices]
+Size=64
+Context=Devices
+Type=Threshold
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Threshold
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Threshold
+
+[128x128/apps]
+Size=128
+Context=Applications
+Type=Threshold
+[128x128/devices]
+Size=128
+Context=Devices
+Type=Threshold
+[128x128/filesystems]
+Size=128
+Context=FileSystems
+Type=Threshold
+[128x128/mimetypes]
+Size=128
+Context=MimeTypes
+Type=Threshold
diff --git a/IconThemes/slick/16x16/actions/1downarrow.png b/IconThemes/slick/16x16/actions/1downarrow.png
new file mode 100644
index 00000000..7b460b5e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/1leftarrow.png b/IconThemes/slick/16x16/actions/1leftarrow.png
new file mode 100644
index 00000000..945b6389
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/1rightarrow.png b/IconThemes/slick/16x16/actions/1rightarrow.png
new file mode 100644
index 00000000..5d79533b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/1uparrow.png b/IconThemes/slick/16x16/actions/1uparrow.png
new file mode 100644
index 00000000..ea7d5328
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/2downarrow.png b/IconThemes/slick/16x16/actions/2downarrow.png
new file mode 100644
index 00000000..1089f505
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/2leftarrow.png b/IconThemes/slick/16x16/actions/2leftarrow.png
new file mode 100644
index 00000000..f92ab030
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/2rightarrow.png b/IconThemes/slick/16x16/actions/2rightarrow.png
new file mode 100644
index 00000000..fa8766be
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/2uparrow.png b/IconThemes/slick/16x16/actions/2uparrow.png
new file mode 100644
index 00000000..710eab1e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/about_kde.png b/IconThemes/slick/16x16/actions/about_kde.png
new file mode 100644
index 00000000..12eb14d3
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/airbrush.png b/IconThemes/slick/16x16/actions/airbrush.png
new file mode 100644
index 00000000..2270a15d
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/airbrush.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/apply.png b/IconThemes/slick/16x16/actions/apply.png
new file mode 100644
index 00000000..22ce9df4
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/apply.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/arrow_bottomleft.png b/IconThemes/slick/16x16/actions/arrow_bottomleft.png
new file mode 100644
index 00000000..6999c0f1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/arrow_bottomleft.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/arrow_bottomright.png b/IconThemes/slick/16x16/actions/arrow_bottomright.png
new file mode 100644
index 00000000..9c15be35
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/arrow_bottomright.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/arrow_topleft.png b/IconThemes/slick/16x16/actions/arrow_topleft.png
new file mode 100644
index 00000000..0831f8df
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/arrow_topleft.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/arrow_topright.png b/IconThemes/slick/16x16/actions/arrow_topright.png
new file mode 100644
index 00000000..590cbe20
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/arrow_topright.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/attach.png b/IconThemes/slick/16x16/actions/attach.png
new file mode 100644
index 00000000..182c1180
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/attach.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/back.png b/IconThemes/slick/16x16/actions/back.png
new file mode 100644
index 00000000..14042367
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/back.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/backimage.png b/IconThemes/slick/16x16/actions/backimage.png
new file mode 100644
index 00000000..e19d8e34
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/backimage.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/blank.png b/IconThemes/slick/16x16/actions/blank.png
new file mode 100644
index 00000000..e0c03bb0
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/blank.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/blend.png b/IconThemes/slick/16x16/actions/blend.png
new file mode 100644
index 00000000..6bc8b2fd
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/blend.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bookmark.png b/IconThemes/slick/16x16/actions/bookmark.png
new file mode 100644
index 00000000..56fba1d6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bookmark_add.png b/IconThemes/slick/16x16/actions/bookmark_add.png
new file mode 100644
index 00000000..0162de30
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bookmark_folder.png b/IconThemes/slick/16x16/actions/bookmark_folder.png
new file mode 100644
index 00000000..56fba1d6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bookmark_toolbar.png b/IconThemes/slick/16x16/actions/bookmark_toolbar.png
new file mode 100644
index 00000000..074817fd
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bookmark_toolbar.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bookmarks_list_add.png b/IconThemes/slick/16x16/actions/bookmarks_list_add.png
new file mode 100644
index 00000000..bd3bd46c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bookmarks_list_add.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/bottom.png b/IconThemes/slick/16x16/actions/bottom.png
new file mode 100644
index 00000000..1089f505
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/bottom.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/camera_test.png b/IconThemes/slick/16x16/actions/camera_test.png
new file mode 100644
index 00000000..22ce9df4
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/camera_test.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/cancel.png b/IconThemes/slick/16x16/actions/cancel.png
new file mode 100644
index 00000000..44e3a3ed
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/cancel.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/cd.png b/IconThemes/slick/16x16/actions/cd.png
new file mode 100644
index 00000000..8ef5996c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/cd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/cdburn.png b/IconThemes/slick/16x16/actions/cdburn.png
new file mode 100644
index 00000000..44e3a3ed
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/cdburn.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/cdcopy.png b/IconThemes/slick/16x16/actions/cdcopy.png
new file mode 100644
index 00000000..380bbe03
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/cdcopy.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/cdrwblank.png b/IconThemes/slick/16x16/actions/cdrwblank.png
new file mode 100644
index 00000000..a0daf0ac
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/cdrwblank.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/charset.png b/IconThemes/slick/16x16/actions/charset.png
new file mode 100644
index 00000000..cb32499e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/charset.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/clear_left.png b/IconThemes/slick/16x16/actions/clear_left.png
new file mode 100644
index 00000000..656a8cb5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/clear_left.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/colorize.png b/IconThemes/slick/16x16/actions/colorize.png
new file mode 100644
index 00000000..02cbe030
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/colorize.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/completion.png b/IconThemes/slick/16x16/actions/completion.png
new file mode 100644
index 00000000..c43f3002
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/completion.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/compress.png b/IconThemes/slick/16x16/actions/compress.png
new file mode 100644
index 00000000..1337a9c9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/compress.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/configure.png b/IconThemes/slick/16x16/actions/configure.png
new file mode 100644
index 00000000..0ab059a5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/configure.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/configure_shortcuts.png b/IconThemes/slick/16x16/actions/configure_shortcuts.png
new file mode 100644
index 00000000..00ef316b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/configure_shortcuts.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/configure_toolbars.png b/IconThemes/slick/16x16/actions/configure_toolbars.png
new file mode 100644
index 00000000..cf03a249
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/configure_toolbars.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/connect_creating.png b/IconThemes/slick/16x16/actions/connect_creating.png
new file mode 100644
index 00000000..22b861d6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/connect_established.png b/IconThemes/slick/16x16/actions/connect_established.png
new file mode 100644
index 00000000..ba23306a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/connect_no.png b/IconThemes/slick/16x16/actions/connect_no.png
new file mode 100644
index 00000000..d3932368
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/contents.png b/IconThemes/slick/16x16/actions/contents.png
new file mode 100644
index 00000000..f9d1046f
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/contents.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/contents2.png b/IconThemes/slick/16x16/actions/contents2.png
new file mode 100644
index 00000000..f9d1046f
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/contents2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/contexthelp.png b/IconThemes/slick/16x16/actions/contexthelp.png
new file mode 100644
index 00000000..281fb8f1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/decrypted.png b/IconThemes/slick/16x16/actions/decrypted.png
new file mode 100644
index 00000000..902e7b04
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/define_clip.png b/IconThemes/slick/16x16/actions/define_clip.png
new file mode 100644
index 00000000..2d5c358e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/domtreeviewer.png b/IconThemes/slick/16x16/actions/domtreeviewer.png
new file mode 100644
index 00000000..45897273
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/domtreeviewer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/down.png b/IconThemes/slick/16x16/actions/down.png
new file mode 100644
index 00000000..a526541a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/down.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/edit.png b/IconThemes/slick/16x16/actions/edit.png
new file mode 100644
index 00000000..43f6bf49
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/edit.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editclear.png b/IconThemes/slick/16x16/actions/editclear.png
new file mode 100644
index 00000000..066eec03
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editclear.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editcopy.png b/IconThemes/slick/16x16/actions/editcopy.png
new file mode 100644
index 00000000..fc6b04dc
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editcut.png b/IconThemes/slick/16x16/actions/editcut.png
new file mode 100644
index 00000000..05df3737
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editcut.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editdelete.png b/IconThemes/slick/16x16/actions/editdelete.png
new file mode 100644
index 00000000..635a61f2
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editpaste.png b/IconThemes/slick/16x16/actions/editpaste.png
new file mode 100644
index 00000000..c7955f8d
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/editshred.png b/IconThemes/slick/16x16/actions/editshred.png
new file mode 100644
index 00000000..72c2d47a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/editshred.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/edittrash.png b/IconThemes/slick/16x16/actions/edittrash.png
new file mode 100644
index 00000000..abfcbe8f
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/emptytrash.png b/IconThemes/slick/16x16/actions/emptytrash.png
new file mode 100644
index 00000000..01f42f50
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/emptytrash.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/encrypted.png b/IconThemes/slick/16x16/actions/encrypted.png
new file mode 100644
index 00000000..559073c1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/enhanced_browsing.png b/IconThemes/slick/16x16/actions/enhanced_browsing.png
new file mode 100644
index 00000000..70a839ae
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/enhanced_browsing.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/exec.png b/IconThemes/slick/16x16/actions/exec.png
new file mode 100644
index 00000000..c8f2e7f9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/exec.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/exit.png b/IconThemes/slick/16x16/actions/exit.png
new file mode 100644
index 00000000..62d4206f
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/exit.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fileclose.png b/IconThemes/slick/16x16/actions/fileclose.png
new file mode 100644
index 00000000..d30f5dab
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fileexport.png b/IconThemes/slick/16x16/actions/fileexport.png
new file mode 100644
index 00000000..b7f5d507
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fileexport.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filefind.png b/IconThemes/slick/16x16/actions/filefind.png
new file mode 100644
index 00000000..0b20d96d
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filefind.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filenew.png b/IconThemes/slick/16x16/actions/filenew.png
new file mode 100644
index 00000000..f0e77b46
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filenew.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fileopen.png b/IconThemes/slick/16x16/actions/fileopen.png
new file mode 100644
index 00000000..a2c724bb
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fileprint.png b/IconThemes/slick/16x16/actions/fileprint.png
new file mode 100644
index 00000000..0a386b39
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filequickprint.png b/IconThemes/slick/16x16/actions/filequickprint.png
new file mode 100644
index 00000000..8873a0a5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filesave.png b/IconThemes/slick/16x16/actions/filesave.png
new file mode 100644
index 00000000..d026cf95
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filesave.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filesaveas.png b/IconThemes/slick/16x16/actions/filesaveas.png
new file mode 100644
index 00000000..f5a6449b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fill.png b/IconThemes/slick/16x16/actions/fill.png
new file mode 100644
index 00000000..e4adae0a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fill.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/filter.png b/IconThemes/slick/16x16/actions/filter.png
new file mode 100644
index 00000000..3f42aea5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/filter.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/find.png b/IconThemes/slick/16x16/actions/find.png
new file mode 100644
index 00000000..44da2e42
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/find.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/finish.png b/IconThemes/slick/16x16/actions/finish.png
new file mode 100644
index 00000000..1b2b744e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/finish.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/folder_new.png b/IconThemes/slick/16x16/actions/folder_new.png
new file mode 100644
index 00000000..74aaa8ae
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/fork.png b/IconThemes/slick/16x16/actions/fork.png
new file mode 100644
index 00000000..119f4590
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/fork.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/forward.png b/IconThemes/slick/16x16/actions/forward.png
new file mode 100644
index 00000000..aa249537
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/forward.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/frameprint.png b/IconThemes/slick/16x16/actions/frameprint.png
new file mode 100644
index 00000000..dbe38ee8
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/gear.png b/IconThemes/slick/16x16/actions/gear.png
new file mode 100644
index 00000000..a88018c0
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/gear.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/gohome.png b/IconThemes/slick/16x16/actions/gohome.png
new file mode 100644
index 00000000..28eb7e2b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/gohome.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/goto.png b/IconThemes/slick/16x16/actions/goto.png
new file mode 100644
index 00000000..373f324b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/goto.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/greenled.png b/IconThemes/slick/16x16/actions/greenled.png
new file mode 100644
index 00000000..25c701b6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/greenled.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/halfencrypted.png b/IconThemes/slick/16x16/actions/halfencrypted.png
new file mode 100644
index 00000000..f908bf95
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/help.png b/IconThemes/slick/16x16/actions/help.png
new file mode 100644
index 00000000..d8898c69
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/help.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/history.png b/IconThemes/slick/16x16/actions/history.png
new file mode 100644
index 00000000..415f6433
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/history.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/history_clear.png b/IconThemes/slick/16x16/actions/history_clear.png
new file mode 100644
index 00000000..bea141ed
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/history_clear.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/hotlistadd.png b/IconThemes/slick/16x16/actions/hotlistadd.png
new file mode 100644
index 00000000..e2d37f1c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/hotlistadd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/hotlistdel.png b/IconThemes/slick/16x16/actions/hotlistdel.png
new file mode 100644
index 00000000..a3805d49
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/hotlistdel.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/idea.png b/IconThemes/slick/16x16/actions/idea.png
new file mode 100644
index 00000000..ab2979d8
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/idea.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/identity.png b/IconThemes/slick/16x16/actions/identity.png
new file mode 100644
index 00000000..44326d15
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/identity.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/imagegallery.png b/IconThemes/slick/16x16/actions/imagegallery.png
new file mode 100644
index 00000000..bd23d5ab
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/imagegallery.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/indicator_connect.png b/IconThemes/slick/16x16/actions/indicator_connect.png
new file mode 100644
index 00000000..63df2dde
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/indicator_connect.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/indicator_empty.png b/IconThemes/slick/16x16/actions/indicator_empty.png
new file mode 100644
index 00000000..36c6ac7b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/indicator_empty.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/indicator_full.png b/IconThemes/slick/16x16/actions/indicator_full.png
new file mode 100644
index 00000000..59f92f71
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/indicator_full.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/indicator_noconnect.png b/IconThemes/slick/16x16/actions/indicator_noconnect.png
new file mode 100644
index 00000000..10bb3543
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/indicator_noconnect.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/indicator_viewactive.png b/IconThemes/slick/16x16/actions/indicator_viewactive.png
new file mode 100644
index 00000000..4f35dc8e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/indicator_viewactive.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde.png b/IconThemes/slick/16x16/actions/kde.png
new file mode 100644
index 00000000..72de7390
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde1.png b/IconThemes/slick/16x16/actions/kde1.png
new file mode 100644
index 00000000..6f4f1360
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde1.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde2.png b/IconThemes/slick/16x16/actions/kde2.png
new file mode 100644
index 00000000..7e50f3e9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde3.png b/IconThemes/slick/16x16/actions/kde3.png
new file mode 100644
index 00000000..716bdbc9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde4.png b/IconThemes/slick/16x16/actions/kde4.png
new file mode 100644
index 00000000..cf7bd66c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde4.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde5.png b/IconThemes/slick/16x16/actions/kde5.png
new file mode 100644
index 00000000..baf0c4d6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde5.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde6.png b/IconThemes/slick/16x16/actions/kde6.png
new file mode 100644
index 00000000..275f4fa9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde6.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/kde7.png b/IconThemes/slick/16x16/actions/kde7.png
new file mode 100644
index 00000000..38e52027
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/kde7.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/key_enter.png b/IconThemes/slick/16x16/actions/key_enter.png
new file mode 100644
index 00000000..607ac15e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/key_enter.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/khtml_kget.png b/IconThemes/slick/16x16/actions/khtml_kget.png
new file mode 100644
index 00000000..4875dacf
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/khtml_kget.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/klipper_dock.png b/IconThemes/slick/16x16/actions/klipper_dock.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/klipper_dock.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/ktip.png b/IconThemes/slick/16x16/actions/ktip.png
new file mode 100644
index 00000000..6074af83
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/ktip.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/launch.png b/IconThemes/slick/16x16/actions/launch.png
new file mode 100644
index 00000000..894679c2
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/launch.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/locationbar_erase.png b/IconThemes/slick/16x16/actions/locationbar_erase.png
new file mode 100644
index 00000000..656a8cb5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/lock.png b/IconThemes/slick/16x16/actions/lock.png
new file mode 100644
index 00000000..356a6257
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/lock.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_find.png b/IconThemes/slick/16x16/actions/mail_find.png
new file mode 100644
index 00000000..01e521df
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_forward.png b/IconThemes/slick/16x16/actions/mail_forward.png
new file mode 100644
index 00000000..a32fbbb8
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_generic.png b/IconThemes/slick/16x16/actions/mail_generic.png
new file mode 100644
index 00000000..e1902b88
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_get.png b/IconThemes/slick/16x16/actions/mail_get.png
new file mode 100644
index 00000000..2db9227a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_new.png b/IconThemes/slick/16x16/actions/mail_new.png
new file mode 100644
index 00000000..6dcf72c5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_reply.png b/IconThemes/slick/16x16/actions/mail_reply.png
new file mode 100644
index 00000000..43dc6080
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_replyall.png b/IconThemes/slick/16x16/actions/mail_replyall.png
new file mode 100644
index 00000000..bea27707
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_replylist.png b/IconThemes/slick/16x16/actions/mail_replylist.png
new file mode 100644
index 00000000..cbc6e484
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/mail_send.png b/IconThemes/slick/16x16/actions/mail_send.png
new file mode 100644
index 00000000..006511ce
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/misc.png b/IconThemes/slick/16x16/actions/misc.png
new file mode 100644
index 00000000..f1544369
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/misc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/move.png b/IconThemes/slick/16x16/actions/move.png
new file mode 100644
index 00000000..20ce4523
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/move.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/news.png b/IconThemes/slick/16x16/actions/news.png
new file mode 100644
index 00000000..3e4a3747
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/news.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/news_subscribe.png b/IconThemes/slick/16x16/actions/news_subscribe.png
new file mode 100644
index 00000000..686ddec9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/news_unsubscribe.png b/IconThemes/slick/16x16/actions/news_unsubscribe.png
new file mode 100644
index 00000000..eabaf1db
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/news_unsubscribe.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/next.png b/IconThemes/slick/16x16/actions/next.png
new file mode 100644
index 00000000..31356ee1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/next.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/no.png b/IconThemes/slick/16x16/actions/no.png
new file mode 100644
index 00000000..9a5841df
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/no.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunback.png b/IconThemes/slick/16x16/actions/noatunback.png
new file mode 100644
index 00000000..90547a1e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunforward.png b/IconThemes/slick/16x16/actions/noatunforward.png
new file mode 100644
index 00000000..391e4ebb
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunpause.png b/IconThemes/slick/16x16/actions/noatunpause.png
new file mode 100644
index 00000000..808445f5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunplay.png b/IconThemes/slick/16x16/actions/noatunplay.png
new file mode 100644
index 00000000..17ba9b63
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunplaylist.png b/IconThemes/slick/16x16/actions/noatunplaylist.png
new file mode 100644
index 00000000..c30fa8f9
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatunstop.png b/IconThemes/slick/16x16/actions/noatunstop.png
new file mode 100644
index 00000000..2fda1ad0
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatuntray.png b/IconThemes/slick/16x16/actions/noatuntray.png
new file mode 100644
index 00000000..675454dc
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatuntray.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatuntraypause.png b/IconThemes/slick/16x16/actions/noatuntraypause.png
new file mode 100644
index 00000000..f5b10711
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatuntraypause.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatuntrayplay.png b/IconThemes/slick/16x16/actions/noatuntrayplay.png
new file mode 100644
index 00000000..0d88ba32
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatuntrayplay.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/noatuntraystop.png b/IconThemes/slick/16x16/actions/noatuntraystop.png
new file mode 100644
index 00000000..89c1f649
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/noatuntraystop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/ok.png b/IconThemes/slick/16x16/actions/ok.png
new file mode 100644
index 00000000..22ce9df4
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/ok.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/openterm.png b/IconThemes/slick/16x16/actions/openterm.png
new file mode 100644
index 00000000..e1eef236
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/openterm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/opentermblue.png b/IconThemes/slick/16x16/actions/opentermblue.png
new file mode 100644
index 00000000..a7aae230
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/opentermblue.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/opentermred.png b/IconThemes/slick/16x16/actions/opentermred.png
new file mode 100644
index 00000000..ee42ca63
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/opentermred.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_eject.png b/IconThemes/slick/16x16/actions/player_eject.png
new file mode 100644
index 00000000..37aaa0fa
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_end.png b/IconThemes/slick/16x16/actions/player_end.png
new file mode 100644
index 00000000..93a0f767
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_end.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_fwd.png b/IconThemes/slick/16x16/actions/player_fwd.png
new file mode 100644
index 00000000..f87e8526
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_fwd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_pause.png b/IconThemes/slick/16x16/actions/player_pause.png
new file mode 100644
index 00000000..9f6d4722
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_play.png b/IconThemes/slick/16x16/actions/player_play.png
new file mode 100644
index 00000000..402df827
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_play.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_rew.png b/IconThemes/slick/16x16/actions/player_rew.png
new file mode 100644
index 00000000..2348758d
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_rew.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_start.png b/IconThemes/slick/16x16/actions/player_start.png
new file mode 100644
index 00000000..80f67dfa
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_start.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/player_stop.png b/IconThemes/slick/16x16/actions/player_stop.png
new file mode 100644
index 00000000..8e6667fb
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/previous.png b/IconThemes/slick/16x16/actions/previous.png
new file mode 100644
index 00000000..39c2a69c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/previous.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/query_erase.png b/IconThemes/slick/16x16/actions/query_erase.png
new file mode 100644
index 00000000..656a8cb5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/query_erase.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/redled.png b/IconThemes/slick/16x16/actions/redled.png
new file mode 100644
index 00000000..44e3a3ed
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/redled.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/redo.png b/IconThemes/slick/16x16/actions/redo.png
new file mode 100644
index 00000000..038d4a7e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/redo.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/reload.png b/IconThemes/slick/16x16/actions/reload.png
new file mode 100644
index 00000000..96dcd1f2
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/reload.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/reload_all_tabs.png b/IconThemes/slick/16x16/actions/reload_all_tabs.png
new file mode 100644
index 00000000..8c34dceb
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/reload_all_tabs.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/reload_page.png b/IconThemes/slick/16x16/actions/reload_page.png
new file mode 100644
index 00000000..c37b0a92
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/reload_page.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/remove.png b/IconThemes/slick/16x16/actions/remove.png
new file mode 100644
index 00000000..d30f5dab
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/remove.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/revert.png b/IconThemes/slick/16x16/actions/revert.png
new file mode 100644
index 00000000..1b061c2c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/revert.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/rotate.png b/IconThemes/slick/16x16/actions/rotate.png
new file mode 100644
index 00000000..661e1ab7
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/rotate.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/rotate_ccw.png b/IconThemes/slick/16x16/actions/rotate_ccw.png
new file mode 100644
index 00000000..87878f5d
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/rotate_cw.png b/IconThemes/slick/16x16/actions/rotate_cw.png
new file mode 100644
index 00000000..d93ed720
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/run.png b/IconThemes/slick/16x16/actions/run.png
new file mode 100644
index 00000000..70a839ae
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/run.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/save_all.png b/IconThemes/slick/16x16/actions/save_all.png
new file mode 100644
index 00000000..8cd98b38
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/save_all.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/share.png b/IconThemes/slick/16x16/actions/share.png
new file mode 100644
index 00000000..19b2d627
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/share.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/showmenu.png b/IconThemes/slick/16x16/actions/showmenu.png
new file mode 100644
index 00000000..c224761b
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/showmenu.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/spellcheck.png b/IconThemes/slick/16x16/actions/spellcheck.png
new file mode 100644
index 00000000..e14ff289
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/start.png b/IconThemes/slick/16x16/actions/start.png
new file mode 100644
index 00000000..5c4f46cf
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/start.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/stop.png b/IconThemes/slick/16x16/actions/stop.png
new file mode 100644
index 00000000..046c70d5
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/stop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tab_breakoff.png b/IconThemes/slick/16x16/actions/tab_breakoff.png
new file mode 100644
index 00000000..54dabaf3
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tab_breakoff.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tab_duplicate.png b/IconThemes/slick/16x16/actions/tab_duplicate.png
new file mode 100644
index 00000000..358bc5c0
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tab_duplicate.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tab_new.png b/IconThemes/slick/16x16/actions/tab_new.png
new file mode 100644
index 00000000..a11fc747
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tab_new.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tab_new_bg.png b/IconThemes/slick/16x16/actions/tab_new_bg.png
new file mode 100644
index 00000000..a704f32a
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tab_new_bg.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tab_remove.png b/IconThemes/slick/16x16/actions/tab_remove.png
new file mode 100644
index 00000000..05a9ba28
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tab_remove.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/text.png b/IconThemes/slick/16x16/actions/text.png
new file mode 100644
index 00000000..fada98a8
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/text.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/thumbnail.png b/IconThemes/slick/16x16/actions/thumbnail.png
new file mode 100644
index 00000000..bd23d5ab
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/tick.png b/IconThemes/slick/16x16/actions/tick.png
new file mode 100644
index 00000000..22ce9df4
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/tick.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/top.png b/IconThemes/slick/16x16/actions/top.png
new file mode 100644
index 00000000..17c689b7
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/top.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/undo.png b/IconThemes/slick/16x16/actions/undo.png
new file mode 100644
index 00000000..ce552d2f
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/undo.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/unlock.png b/IconThemes/slick/16x16/actions/unlock.png
new file mode 100644
index 00000000..7a2ab84c
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/unlock.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/up.png b/IconThemes/slick/16x16/actions/up.png
new file mode 100644
index 00000000..47c9c0c0
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/up.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_choose.png b/IconThemes/slick/16x16/actions/view_choose.png
new file mode 100644
index 00000000..5249b359
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_detailed.png b/IconThemes/slick/16x16/actions/view_detailed.png
new file mode 100644
index 00000000..389274ea
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_icon.png b/IconThemes/slick/16x16/actions/view_icon.png
new file mode 100644
index 00000000..82896824
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_multicolumn.png b/IconThemes/slick/16x16/actions/view_multicolumn.png
new file mode 100644
index 00000000..575609a6
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_sidetree.png b/IconThemes/slick/16x16/actions/view_sidetree.png
new file mode 100644
index 00000000..9237dfea
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_text.png b/IconThemes/slick/16x16/actions/view_text.png
new file mode 100644
index 00000000..e03744bb
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_text.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/view_tree.png b/IconThemes/slick/16x16/actions/view_tree.png
new file mode 100644
index 00000000..f78548b1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/viewmag+.png b/IconThemes/slick/16x16/actions/viewmag+.png
new file mode 100644
index 00000000..cabb63df
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/viewmag-.png b/IconThemes/slick/16x16/actions/viewmag-.png
new file mode 100644
index 00000000..160a2ab1
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/viewmag.png b/IconThemes/slick/16x16/actions/viewmag.png
new file mode 100644
index 00000000..2d5c358e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/viewmagfit.png b/IconThemes/slick/16x16/actions/viewmagfit.png
new file mode 100644
index 00000000..2d5c358e
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/webarchiver.png b/IconThemes/slick/16x16/actions/webarchiver.png
new file mode 100644
index 00000000..529ffbfa
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/webarchiver.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/window_fullscreen.png b/IconThemes/slick/16x16/actions/window_fullscreen.png
new file mode 100644
index 00000000..ce52f4f3
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/window_new.png b/IconThemes/slick/16x16/actions/window_new.png
new file mode 100644
index 00000000..b9af8026
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/window_new.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/window_nofullscreen.png b/IconThemes/slick/16x16/actions/window_nofullscreen.png
new file mode 100644
index 00000000..25157444
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/slick/16x16/actions/yellowled.png b/IconThemes/slick/16x16/actions/yellowled.png
new file mode 100644
index 00000000..73938ac3
--- /dev/null
+++ b/IconThemes/slick/16x16/actions/yellowled.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/ark.png b/IconThemes/slick/16x16/apps/ark.png
new file mode 100644
index 00000000..cf04dc54
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/ark.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/background.png b/IconThemes/slick/16x16/apps/background.png
new file mode 100644
index 00000000..c6ecf594
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/background.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/bell.png b/IconThemes/slick/16x16/apps/bell.png
new file mode 100644
index 00000000..3be08f66
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/bell.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/camera.png b/IconThemes/slick/16x16/apps/camera.png
new file mode 100644
index 00000000..7c86b87d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/camera.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/cdbakeoven.png b/IconThemes/slick/16x16/apps/cdbakeoven.png
new file mode 100644
index 00000000..2c7b82ac
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/cdbakeoven.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/cervisia.png b/IconThemes/slick/16x16/apps/cervisia.png
new file mode 100644
index 00000000..b304a7e5
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/cervisia.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/clock.png b/IconThemes/slick/16x16/apps/clock.png
new file mode 100644
index 00000000..82a4431c
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/clock.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/colors.png b/IconThemes/slick/16x16/apps/colors.png
new file mode 100644
index 00000000..636cbae1
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/colors.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/configure_shortcuts.png b/IconThemes/slick/16x16/apps/configure_shortcuts.png
new file mode 100644
index 00000000..f853e0ef
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/configure_shortcuts.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/date.png b/IconThemes/slick/16x16/apps/date.png
new file mode 100644
index 00000000..5d4c792a
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/date.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/energy.png b/IconThemes/slick/16x16/apps/energy.png
new file mode 100644
index 00000000..e70d927f
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/energy.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/filetypes.png b/IconThemes/slick/16x16/apps/filetypes.png
new file mode 100644
index 00000000..d99cd875
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/fonts.png b/IconThemes/slick/16x16/apps/fonts.png
new file mode 100644
index 00000000..07e51613
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/fonts.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/gimp.png b/IconThemes/slick/16x16/apps/gimp.png
new file mode 100644
index 00000000..3d906d02
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/gimp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/go.png b/IconThemes/slick/16x16/apps/go.png
new file mode 100644
index 00000000..12eb14d3
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/go.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/help_index.png b/IconThemes/slick/16x16/apps/help_index.png
new file mode 100644
index 00000000..a7d7db60
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/help_index.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/hwinfo.png b/IconThemes/slick/16x16/apps/hwinfo.png
new file mode 100644
index 00000000..100a34f9
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/hwinfo.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/icon-cartoon.png b/IconThemes/slick/16x16/apps/icon-cartoon.png
new file mode 100644
index 00000000..a65382ca
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/icon-cartoon.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/icons.png b/IconThemes/slick/16x16/apps/icons.png
new file mode 100644
index 00000000..65fd8a0d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/icons.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/k3b.png b/IconThemes/slick/16x16/apps/k3b.png
new file mode 100644
index 00000000..fece9ad6
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/k3b.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kab.png b/IconThemes/slick/16x16/apps/kab.png
new file mode 100644
index 00000000..93ef24f5
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kab.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kaddressbook.png b/IconThemes/slick/16x16/apps/kaddressbook.png
new file mode 100644
index 00000000..07040a5e
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/karchiver.png b/IconThemes/slick/16x16/apps/karchiver.png
new file mode 100644
index 00000000..7de4ccbf
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/karchiver.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kate.png b/IconThemes/slick/16x16/apps/kate.png
new file mode 100644
index 00000000..42c9c99b
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kate.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kaudiocdcreator.png b/IconThemes/slick/16x16/apps/kaudiocdcreator.png
new file mode 100644
index 00000000..4779414f
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kaudiocdcreator.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kaudiocreator.png b/IconThemes/slick/16x16/apps/kaudiocreator.png
new file mode 100644
index 00000000..e38c0829
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kaudiocreator.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kbear.png b/IconThemes/slick/16x16/apps/kbear.png
new file mode 100644
index 00000000..0af5b814
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kbear.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmdevices.png b/IconThemes/slick/16x16/apps/kcmdevices.png
new file mode 100644
index 00000000..7ac4583a
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmdevices.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmdf.png b/IconThemes/slick/16x16/apps/kcmdf.png
new file mode 100644
index 00000000..2db8a821
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmkicker.png b/IconThemes/slick/16x16/apps/kcmkicker.png
new file mode 100644
index 00000000..dffc2c53
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmkwm.png b/IconThemes/slick/16x16/apps/kcmkwm.png
new file mode 100644
index 00000000..d8afab4b
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmmemory.png b/IconThemes/slick/16x16/apps/kcmmemory.png
new file mode 100644
index 00000000..36f45d96
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmpartitions.png b/IconThemes/slick/16x16/apps/kcmpartitions.png
new file mode 100644
index 00000000..ace5c9c9
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmpartitions.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmpci.png b/IconThemes/slick/16x16/apps/kcmpci.png
new file mode 100644
index 00000000..c6473fd5
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmpci.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmprocessor.png b/IconThemes/slick/16x16/apps/kcmprocessor.png
new file mode 100644
index 00000000..68d90d0c
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmsound.png b/IconThemes/slick/16x16/apps/kcmsound.png
new file mode 100644
index 00000000..3be08f66
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmsound.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmsystem.png b/IconThemes/slick/16x16/apps/kcmsystem.png
new file mode 100644
index 00000000..f1544369
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcmx.png b/IconThemes/slick/16x16/apps/kcmx.png
new file mode 100644
index 00000000..d561f007
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcmx.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcontrol.png b/IconThemes/slick/16x16/apps/kcontrol.png
new file mode 100644
index 00000000..9c19d588
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kcontrol_2.png b/IconThemes/slick/16x16/apps/kcontrol_2.png
new file mode 100644
index 00000000..3dab4d78
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kcontrol_2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kdf.png b/IconThemes/slick/16x16/apps/kdf.png
new file mode 100644
index 00000000..aa3ec289
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kdf.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kdirstat.png b/IconThemes/slick/16x16/apps/kdirstat.png
new file mode 100644
index 00000000..9de8a241
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kdirstat.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kdisknav.png b/IconThemes/slick/16x16/apps/kdisknav.png
new file mode 100644
index 00000000..2db8a821
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kdisknav1.png b/IconThemes/slick/16x16/apps/kdisknav1.png
new file mode 100644
index 00000000..a4d401b8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kdisknav1.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kdmconfig.png b/IconThemes/slick/16x16/apps/kdmconfig.png
new file mode 100644
index 00000000..44d66584
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kedit.png b/IconThemes/slick/16x16/apps/kedit.png
new file mode 100644
index 00000000..38f2f515
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kedit.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/keditbookmarks.png b/IconThemes/slick/16x16/apps/keditbookmarks.png
new file mode 100644
index 00000000..c932e772
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/keditbookmarks.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/key_bindings.png b/IconThemes/slick/16x16/apps/key_bindings.png
new file mode 100644
index 00000000..ce2416a2
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/key_bindings.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/keyboard.png b/IconThemes/slick/16x16/apps/keyboard.png
new file mode 100644
index 00000000..ce2416a2
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/keyboard.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kfind.png b/IconThemes/slick/16x16/apps/kfind.png
new file mode 100644
index 00000000..f10f304a
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kfind.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kfm.png b/IconThemes/slick/16x16/apps/kfm.png
new file mode 100644
index 00000000..ad5a3565
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kfm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kfm2.png b/IconThemes/slick/16x16/apps/kfm2.png
new file mode 100644
index 00000000..aa3ec289
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kfm2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kfm3.png b/IconThemes/slick/16x16/apps/kfm3.png
new file mode 100644
index 00000000..b112d7e4
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kfm3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kfm_home.png b/IconThemes/slick/16x16/apps/kfm_home.png
new file mode 100644
index 00000000..28eb7e2b
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kget.png b/IconThemes/slick/16x16/apps/kget.png
new file mode 100644
index 00000000..75b42b1f
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kget.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/khelpcenter.png b/IconThemes/slick/16x16/apps/khelpcenter.png
new file mode 100644
index 00000000..24b524e7
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kicker.png b/IconThemes/slick/16x16/apps/kicker.png
new file mode 100644
index 00000000..d334e1cd
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kicker.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kio_uiserver.png b/IconThemes/slick/16x16/apps/kio_uiserver.png
new file mode 100644
index 00000000..9de8a241
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kio_uiserver.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kjobviewer.png b/IconThemes/slick/16x16/apps/kjobviewer.png
new file mode 100644
index 00000000..11287483
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kjots.png b/IconThemes/slick/16x16/apps/kjots.png
new file mode 100644
index 00000000..38f2f515
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kjots.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/klipper.png b/IconThemes/slick/16x16/apps/klipper.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/klipper.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/klpq.png b/IconThemes/slick/16x16/apps/klpq.png
new file mode 100644
index 00000000..082019b8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/klpq.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kmail.png b/IconThemes/slick/16x16/apps/kmail.png
new file mode 100644
index 00000000..38869c55
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kmail.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kmenu.png b/IconThemes/slick/16x16/apps/kmenu.png
new file mode 100644
index 00000000..12eb14d3
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kmenuedit.png b/IconThemes/slick/16x16/apps/kmenuedit.png
new file mode 100644
index 00000000..43c23461
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kmix.png b/IconThemes/slick/16x16/apps/kmix.png
new file mode 100644
index 00000000..3be08f66
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kmix.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/knode.png b/IconThemes/slick/16x16/apps/knode.png
new file mode 100644
index 00000000..a1ff61fe
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/knode.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/knotes.png b/IconThemes/slick/16x16/apps/knotes.png
new file mode 100644
index 00000000..7563ae25
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/knotes.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/knotify.png b/IconThemes/slick/16x16/apps/knotify.png
new file mode 100644
index 00000000..fd0e2a91
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/knotify.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/komba2.png b/IconThemes/slick/16x16/apps/komba2.png
new file mode 100644
index 00000000..ab418815
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/komba2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/konqsidebar_mediaplayer.png b/IconThemes/slick/16x16/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..b2e0c053
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/konqueror.png b/IconThemes/slick/16x16/apps/konqueror.png
new file mode 100644
index 00000000..26661e7e
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/konsole.png b/IconThemes/slick/16x16/apps/konsole.png
new file mode 100644
index 00000000..e1eef236
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/konsole.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kontact.png b/IconThemes/slick/16x16/apps/kontact.png
new file mode 100644
index 00000000..45c29d57
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kontact.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kopete.png b/IconThemes/slick/16x16/apps/kopete.png
new file mode 100644
index 00000000..0caebcc7
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kopete.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/korganizer.png b/IconThemes/slick/16x16/apps/korganizer.png
new file mode 100644
index 00000000..044fc8c2
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kpackage.png b/IconThemes/slick/16x16/apps/kpackage.png
new file mode 100644
index 00000000..ea5ac6f4
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kpf.png b/IconThemes/slick/16x16/apps/kpf.png
new file mode 100644
index 00000000..43f2e678
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kpf.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kpilot.png b/IconThemes/slick/16x16/apps/kpilot.png
new file mode 100644
index 00000000..118f7fb5
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kpilot.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kppp.png b/IconThemes/slick/16x16/apps/kppp.png
new file mode 100644
index 00000000..328df528
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kppp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kprintfax.png b/IconThemes/slick/16x16/apps/kprintfax.png
new file mode 100644
index 00000000..0bb3884c
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kprintfax.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kreatecd.png b/IconThemes/slick/16x16/apps/kreatecd.png
new file mode 100644
index 00000000..77b3d35d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kscd.png b/IconThemes/slick/16x16/apps/kscd.png
new file mode 100644
index 00000000..f9a25bbb
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kscd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kscreensaver.png b/IconThemes/slick/16x16/apps/kscreensaver.png
new file mode 100644
index 00000000..10471075
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/ksysguard.png b/IconThemes/slick/16x16/apps/ksysguard.png
new file mode 100644
index 00000000..42cb61f4
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/ksysguard.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/ksysv.png b/IconThemes/slick/16x16/apps/ksysv.png
new file mode 100644
index 00000000..9dcbb9b3
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kteatime.png b/IconThemes/slick/16x16/apps/kteatime.png
new file mode 100644
index 00000000..cfb8b2af
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kteatime.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/ktip.png b/IconThemes/slick/16x16/apps/ktip.png
new file mode 100644
index 00000000..7f98b956
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/ktip.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kuickshow.png b/IconThemes/slick/16x16/apps/kuickshow.png
new file mode 100644
index 00000000..9f764485
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kuickshow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kview.png b/IconThemes/slick/16x16/apps/kview.png
new file mode 100644
index 00000000..88512828
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kview.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kwikdisk.png b/IconThemes/slick/16x16/apps/kwikdisk.png
new file mode 100644
index 00000000..00ef0a90
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kwikdisk.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kwin.png b/IconThemes/slick/16x16/apps/kwin.png
new file mode 100644
index 00000000..ad5a3565
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kwin.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kword.png b/IconThemes/slick/16x16/apps/kword.png
new file mode 100644
index 00000000..78f971b6
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kword.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/kwrite.png b/IconThemes/slick/16x16/apps/kwrite.png
new file mode 100644
index 00000000..42c9c99b
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/laptop_battery.png b/IconThemes/slick/16x16/apps/laptop_battery.png
new file mode 100644
index 00000000..03c428d8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/laptop_pcmcia.png b/IconThemes/slick/16x16/apps/laptop_pcmcia.png
new file mode 100644
index 00000000..0c327483
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/laptop_pcmcia.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/licq.png b/IconThemes/slick/16x16/apps/licq.png
new file mode 100644
index 00000000..64918579
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/licq.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/looknfeel.png b/IconThemes/slick/16x16/apps/looknfeel.png
new file mode 100644
index 00000000..77f558c8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/mplayer.png b/IconThemes/slick/16x16/apps/mplayer.png
new file mode 100644
index 00000000..b2e0c053
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/mplayer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/multimedia.png b/IconThemes/slick/16x16/apps/multimedia.png
new file mode 100644
index 00000000..3be08f66
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/noatun.png b/IconThemes/slick/16x16/apps/noatun.png
new file mode 100644
index 00000000..b2e0c053
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/noatun.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/opera.png b/IconThemes/slick/16x16/apps/opera.png
new file mode 100644
index 00000000..1a3b521b
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/opera.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package.png b/IconThemes/slick/16x16/apps/package.png
new file mode 100644
index 00000000..65a7a458
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_application.png b/IconThemes/slick/16x16/apps/package_application.png
new file mode 100644
index 00000000..1849e624
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_application.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_applications.png b/IconThemes/slick/16x16/apps/package_applications.png
new file mode 100644
index 00000000..1849e624
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_applications.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_development.png b/IconThemes/slick/16x16/apps/package_development.png
new file mode 100644
index 00000000..45c605f7
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_development.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_editors.png b/IconThemes/slick/16x16/apps/package_editors.png
new file mode 100644
index 00000000..655ce2aa
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_edutainment.png b/IconThemes/slick/16x16/apps/package_edutainment.png
new file mode 100644
index 00000000..b4ef2354
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_edutainment.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_games.png b/IconThemes/slick/16x16/apps/package_games.png
new file mode 100644
index 00000000..15561e26
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_games.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_graphics.png b/IconThemes/slick/16x16/apps/package_graphics.png
new file mode 100644
index 00000000..90aca3b9
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_multimedia.png b/IconThemes/slick/16x16/apps/package_multimedia.png
new file mode 100644
index 00000000..00f2c13a
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_multimedia2.png b/IconThemes/slick/16x16/apps/package_multimedia2.png
new file mode 100644
index 00000000..48daf04c
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_multimedia2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_network.png b/IconThemes/slick/16x16/apps/package_network.png
new file mode 100644
index 00000000..43f2e678
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_network.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_settings.png b/IconThemes/slick/16x16/apps/package_settings.png
new file mode 100644
index 00000000..14ed62c1
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_settings33.png b/IconThemes/slick/16x16/apps/package_settings33.png
new file mode 100644
index 00000000..b3441318
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_settings33.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_system.png b/IconThemes/slick/16x16/apps/package_system.png
new file mode 100644
index 00000000..948eb52e
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_system.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_toys.png b/IconThemes/slick/16x16/apps/package_toys.png
new file mode 100644
index 00000000..2cbf00d6
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_utilities.png b/IconThemes/slick/16x16/apps/package_utilities.png
new file mode 100644
index 00000000..6055ebbd
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/package_wordprocessing.png b/IconThemes/slick/16x16/apps/package_wordprocessing.png
new file mode 100644
index 00000000..f32b5005
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/package_wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/panel.png b/IconThemes/slick/16x16/apps/panel.png
new file mode 100644
index 00000000..f59fded1
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/panel.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/penguin.png b/IconThemes/slick/16x16/apps/penguin.png
new file mode 100644
index 00000000..7f1cc01d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/penguin.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/personal.png b/IconThemes/slick/16x16/apps/personal.png
new file mode 100644
index 00000000..fa6e522a
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/personal.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/printmgr.png b/IconThemes/slick/16x16/apps/printmgr.png
new file mode 100644
index 00000000..14f95a42
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/randr.png b/IconThemes/slick/16x16/apps/randr.png
new file mode 100644
index 00000000..10471075
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/randr.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/remote.png b/IconThemes/slick/16x16/apps/remote.png
new file mode 100644
index 00000000..9de8a241
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/remote.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/samba.png b/IconThemes/slick/16x16/apps/samba.png
new file mode 100644
index 00000000..ab418815
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/samba.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/showimg.png b/IconThemes/slick/16x16/apps/showimg.png
new file mode 100644
index 00000000..ea689be0
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/showimg.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/smb4k.png b/IconThemes/slick/16x16/apps/smb4k.png
new file mode 100644
index 00000000..1b6cb69c
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/smb4k.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/speaker.png b/IconThemes/slick/16x16/apps/speaker.png
new file mode 100644
index 00000000..3a0d3ed8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/speaker.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/style.png b/IconThemes/slick/16x16/apps/style.png
new file mode 100644
index 00000000..d92b5fad
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/style.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/suspend.png b/IconThemes/slick/16x16/apps/suspend.png
new file mode 100644
index 00000000..1f39b386
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/suspend.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/system.png b/IconThemes/slick/16x16/apps/system.png
new file mode 100644
index 00000000..1ce23b51
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/system.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/terminal.png b/IconThemes/slick/16x16/apps/terminal.png
new file mode 100644
index 00000000..e1eef236
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/terminal.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/trees.png b/IconThemes/slick/16x16/apps/trees.png
new file mode 100644
index 00000000..03928c1f
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/trees.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/tux.png b/IconThemes/slick/16x16/apps/tux.png
new file mode 100644
index 00000000..7f1cc01d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/tux.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/vmware.png b/IconThemes/slick/16x16/apps/vmware.png
new file mode 100644
index 00000000..4c6384f8
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/vmware.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/window_list.png b/IconThemes/slick/16x16/apps/window_list.png
new file mode 100644
index 00000000..fa834b3d
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/window_list.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/xapp.png b/IconThemes/slick/16x16/apps/xapp.png
new file mode 100644
index 00000000..97419dc4
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/xapp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/xchat.png b/IconThemes/slick/16x16/apps/xchat.png
new file mode 100644
index 00000000..67e688c3
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/xchat.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/xmms.png b/IconThemes/slick/16x16/apps/xmms.png
new file mode 100644
index 00000000..38f14340
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/xmms.png
Binary files differ
diff --git a/IconThemes/slick/16x16/apps/xpaint.png b/IconThemes/slick/16x16/apps/xpaint.png
new file mode 100644
index 00000000..02cbe030
--- /dev/null
+++ b/IconThemes/slick/16x16/apps/xpaint.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/3floppy_mount.png b/IconThemes/slick/16x16/devices/3floppy_mount.png
new file mode 100644
index 00000000..5ea93c23
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/3floppy_unmount.png b/IconThemes/slick/16x16/devices/3floppy_unmount.png
new file mode 100644
index 00000000..8eb58c28
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/camera.png b/IconThemes/slick/16x16/devices/camera.png
new file mode 100644
index 00000000..7c86b87d
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/camera.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/camera_mount.png b/IconThemes/slick/16x16/devices/camera_mount.png
new file mode 100644
index 00000000..7c86b87d
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/camera_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/camera_unmount.png b/IconThemes/slick/16x16/devices/camera_unmount.png
new file mode 100644
index 00000000..7c86b87d
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/camera_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cd.png b/IconThemes/slick/16x16/devices/cd.png
new file mode 100644
index 00000000..7441466b
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cd.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdaudio_mount.png b/IconThemes/slick/16x16/devices/cdaudio_mount.png
new file mode 100644
index 00000000..4890c236
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdaudio_unmount.png b/IconThemes/slick/16x16/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..7441466b
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdrom_mount.png b/IconThemes/slick/16x16/devices/cdrom_mount.png
new file mode 100644
index 00000000..e5ac0124
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdrom_unmount.png b/IconThemes/slick/16x16/devices/cdrom_unmount.png
new file mode 100644
index 00000000..42412c96
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdwriter_mount.png b/IconThemes/slick/16x16/devices/cdwriter_mount.png
new file mode 100644
index 00000000..78ae0f07
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/cdwriter_unmount.png b/IconThemes/slick/16x16/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..ca40d8e1
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/dvd_mount.png b/IconThemes/slick/16x16/devices/dvd_mount.png
new file mode 100644
index 00000000..d47fa574
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/dvd_unmount.png b/IconThemes/slick/16x16/devices/dvd_unmount.png
new file mode 100644
index 00000000..3a6980a2
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_games.png b/IconThemes/slick/16x16/devices/hdd_games.png
new file mode 100644
index 00000000..1e2d5ca9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_games.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_gfx.png b/IconThemes/slick/16x16/devices/hdd_gfx.png
new file mode 100644
index 00000000..1e2d5ca9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_gfx.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_linux.png b/IconThemes/slick/16x16/devices/hdd_linux.png
new file mode 100644
index 00000000..1e2d5ca9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_linux.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_mount.png b/IconThemes/slick/16x16/devices/hdd_mount.png
new file mode 100644
index 00000000..ee0acfec
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_system.png b/IconThemes/slick/16x16/devices/hdd_system.png
new file mode 100644
index 00000000..1e2d5ca9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_system.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_umount.png b/IconThemes/slick/16x16/devices/hdd_umount.png
new file mode 100644
index 00000000..6494d9bc
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_umount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_unmount.png b/IconThemes/slick/16x16/devices/hdd_unmount.png
new file mode 100644
index 00000000..5b7eb98b
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/hdd_www.png b/IconThemes/slick/16x16/devices/hdd_www.png
new file mode 100644
index 00000000..1e2d5ca9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/hdd_www.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/host.png b/IconThemes/slick/16x16/devices/host.png
new file mode 100644
index 00000000..d17c51ee
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/host.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/host_down.png b/IconThemes/slick/16x16/devices/host_down.png
new file mode 100644
index 00000000..d95e7074
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/host_down.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/ksim_cpu.png b/IconThemes/slick/16x16/devices/ksim_cpu.png
new file mode 100644
index 00000000..68d90d0c
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/ksim_cpu.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/lan.png b/IconThemes/slick/16x16/devices/lan.png
new file mode 100644
index 00000000..b355eb5b
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/lan.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/lo.png b/IconThemes/slick/16x16/devices/lo.png
new file mode 100644
index 00000000..ba9714fb
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/lo.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/memory.png b/IconThemes/slick/16x16/devices/memory.png
new file mode 100644
index 00000000..36f45d96
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/memory.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/nfs_mount.png b/IconThemes/slick/16x16/devices/nfs_mount.png
new file mode 100644
index 00000000..07d7ea59
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/nfs_unmount.png b/IconThemes/slick/16x16/devices/nfs_unmount.png
new file mode 100644
index 00000000..6360a861
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/print_printer.png b/IconThemes/slick/16x16/devices/print_printer.png
new file mode 100644
index 00000000..e42cc8b9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/printer1.png b/IconThemes/slick/16x16/devices/printer1.png
new file mode 100644
index 00000000..e42cc8b9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/printer1.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/printer2.png b/IconThemes/slick/16x16/devices/printer2.png
new file mode 100644
index 00000000..e42cc8b9
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/printer2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/usbpendrive_mount.png b/IconThemes/slick/16x16/devices/usbpendrive_mount.png
new file mode 100644
index 00000000..0952fd4f
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/usbpendrive_mount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/devices/usbpendrive_unmount.png b/IconThemes/slick/16x16/devices/usbpendrive_unmount.png
new file mode 100644
index 00000000..2d451c11
--- /dev/null
+++ b/IconThemes/slick/16x16/devices/usbpendrive_unmount.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/blockdevice.png b/IconThemes/slick/16x16/filesystems/blockdevice.png
new file mode 100644
index 00000000..00ef0a90
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/chardevice.png b/IconThemes/slick/16x16/filesystems/chardevice.png
new file mode 100644
index 00000000..4b17656d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/desktop.png b/IconThemes/slick/16x16/filesystems/desktop.png
new file mode 100644
index 00000000..fda99ecf
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/documents.png b/IconThemes/slick/16x16/filesystems/documents.png
new file mode 100644
index 00000000..f63dcb4f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/documents.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/documents_3.png b/IconThemes/slick/16x16/filesystems/documents_3.png
new file mode 100644
index 00000000..c95a8bda
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/documents_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/drawer.png b/IconThemes/slick/16x16/filesystems/drawer.png
new file mode 100644
index 00000000..8fa267bd
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/drawer.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/drawer_green.png b/IconThemes/slick/16x16/filesystems/drawer_green.png
new file mode 100644
index 00000000..cc5046b6
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/drawer_green.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/drawer_metal.png b/IconThemes/slick/16x16/filesystems/drawer_metal.png
new file mode 100644
index 00000000..4932b797
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/drawer_metal.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/drawer_open.png b/IconThemes/slick/16x16/filesystems/drawer_open.png
new file mode 100644
index 00000000..669cbcbe
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/drawer_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/drawer_red.png b/IconThemes/slick/16x16/filesystems/drawer_red.png
new file mode 100644
index 00000000..6b707ca4
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/drawer_red.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/exec.png b/IconThemes/slick/16x16/filesystems/exec.png
new file mode 100644
index 00000000..2eddb275
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/exec_wine.png b/IconThemes/slick/16x16/filesystems/exec_wine.png
new file mode 100644
index 00000000..2eddb275
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/exec_wine.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/file_broken.png b/IconThemes/slick/16x16/filesystems/file_broken.png
new file mode 100644
index 00000000..04232208
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/file_important.png b/IconThemes/slick/16x16/filesystems/file_important.png
new file mode 100644
index 00000000..e0c03bb0
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/file_locked.png b/IconThemes/slick/16x16/filesystems/file_locked.png
new file mode 100644
index 00000000..e0c03bb0
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder.png b/IconThemes/slick/16x16/filesystems/folder.png
new file mode 100644
index 00000000..01bc3249
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_3.png b/IconThemes/slick/16x16/filesystems/folder_3.png
new file mode 100644
index 00000000..66030a5b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_blue.png b/IconThemes/slick/16x16/filesystems/folder_blue.png
new file mode 100644
index 00000000..86470a76
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_blue_3.png b/IconThemes/slick/16x16/filesystems/folder_blue_3.png
new file mode 100644
index 00000000..8426657b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_blue_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_blue_open.png b/IconThemes/slick/16x16/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..0bc659b3
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_dark.png b/IconThemes/slick/16x16/filesystems/folder_dark.png
new file mode 100644
index 00000000..e6f17069
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_dark.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_develop.png b/IconThemes/slick/16x16/filesystems/folder_develop.png
new file mode 100644
index 00000000..4e59af4a
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_develop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_develop_3.png b/IconThemes/slick/16x16/filesystems/folder_develop_3.png
new file mode 100644
index 00000000..ac118a7f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_develop_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_exec.png b/IconThemes/slick/16x16/filesystems/folder_exec.png
new file mode 100644
index 00000000..aa71ed9c
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_exec.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_exec_3.png b/IconThemes/slick/16x16/filesystems/folder_exec_3.png
new file mode 100644
index 00000000..d415da4b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_exec_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_find_3.png b/IconThemes/slick/16x16/filesystems/folder_find_3.png
new file mode 100644
index 00000000..72076254
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_find_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_green.png b/IconThemes/slick/16x16/filesystems/folder_green.png
new file mode 100644
index 00000000..e2066580
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_green_3.png b/IconThemes/slick/16x16/filesystems/folder_green_3.png
new file mode 100644
index 00000000..b49b0b12
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_green_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_green_open.png b/IconThemes/slick/16x16/filesystems/folder_green_open.png
new file mode 100644
index 00000000..d417ab2b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_grey.png b/IconThemes/slick/16x16/filesystems/folder_grey.png
new file mode 100644
index 00000000..bd5ab4a9
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_grey_3.png b/IconThemes/slick/16x16/filesystems/folder_grey_3.png
new file mode 100644
index 00000000..94b4c646
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_grey_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_grey_open.png b/IconThemes/slick/16x16/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..a6d338e3
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_grey_open_3.png b/IconThemes/slick/16x16/filesystems/folder_grey_open_3.png
new file mode 100644
index 00000000..b69dbc91
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_grey_open_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_home.png b/IconThemes/slick/16x16/filesystems/folder_home.png
new file mode 100644
index 00000000..28eb7e2b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_home_3.png b/IconThemes/slick/16x16/filesystems/folder_home_3.png
new file mode 100644
index 00000000..28eb7e2b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_home_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_html.png b/IconThemes/slick/16x16/filesystems/folder_html.png
new file mode 100644
index 00000000..b514b2fb
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_html_3.png b/IconThemes/slick/16x16/filesystems/folder_html_3.png
new file mode 100644
index 00000000..e3236dda
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_html_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_image.png b/IconThemes/slick/16x16/filesystems/folder_image.png
new file mode 100644
index 00000000..e6068682
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_image_3.png b/IconThemes/slick/16x16/filesystems/folder_image_3.png
new file mode 100644
index 00000000..2ade170b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_image_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_important.png b/IconThemes/slick/16x16/filesystems/folder_important.png
new file mode 100644
index 00000000..0934310d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_important_3.png b/IconThemes/slick/16x16/filesystems/folder_important_3.png
new file mode 100644
index 00000000..bc0a57cf
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_important_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_inbox.png b/IconThemes/slick/16x16/filesystems/folder_inbox.png
new file mode 100644
index 00000000..721ad8d7
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_inbox.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_light.png b/IconThemes/slick/16x16/filesystems/folder_light.png
new file mode 100644
index 00000000..cdfeb86f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_light.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_locked.png b/IconThemes/slick/16x16/filesystems/folder_locked.png
new file mode 100644
index 00000000..440d8f65
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_locked_3.png b/IconThemes/slick/16x16/filesystems/folder_locked_3.png
new file mode 100644
index 00000000..fab98b3d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_locked_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_mail.png b/IconThemes/slick/16x16/filesystems/folder_mail.png
new file mode 100644
index 00000000..31d55764
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_mail.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_metallic_3.png b/IconThemes/slick/16x16/filesystems/folder_metallic_3.png
new file mode 100644
index 00000000..15969ec2
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_metallic_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_news.png b/IconThemes/slick/16x16/filesystems/folder_news.png
new file mode 100644
index 00000000..20163fa5
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_news.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_open.png b/IconThemes/slick/16x16/filesystems/folder_open.png
new file mode 100644
index 00000000..8b71db3c
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_open_3.png b/IconThemes/slick/16x16/filesystems/folder_open_3.png
new file mode 100644
index 00000000..840833d8
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_open_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_orange.png b/IconThemes/slick/16x16/filesystems/folder_orange.png
new file mode 100644
index 00000000..8275584b
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_orange_3.png b/IconThemes/slick/16x16/filesystems/folder_orange_3.png
new file mode 100644
index 00000000..97f68201
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_orange_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_outbox.png b/IconThemes/slick/16x16/filesystems/folder_outbox.png
new file mode 100644
index 00000000..70cc6dd7
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_outbox.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_prefs.png b/IconThemes/slick/16x16/filesystems/folder_prefs.png
new file mode 100644
index 00000000..e353c964
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_prefs.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_prefs_3.png b/IconThemes/slick/16x16/filesystems/folder_prefs_3.png
new file mode 100644
index 00000000..4ff83045
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_prefs_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_print.png b/IconThemes/slick/16x16/filesystems/folder_print.png
new file mode 100644
index 00000000..0500a8a4
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_print.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_print2.png b/IconThemes/slick/16x16/filesystems/folder_print2.png
new file mode 100644
index 00000000..0500a8a4
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_print2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_purple.png b/IconThemes/slick/16x16/filesystems/folder_purple.png
new file mode 100644
index 00000000..d6460b8a
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_purple.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_purple_3.png b/IconThemes/slick/16x16/filesystems/folder_purple_3.png
new file mode 100644
index 00000000..05fc052a
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_purple_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_purple_open.png b/IconThemes/slick/16x16/filesystems/folder_purple_open.png
new file mode 100644
index 00000000..acd9740a
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_purple_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_recycle.png b/IconThemes/slick/16x16/filesystems/folder_recycle.png
new file mode 100644
index 00000000..edaa0da9
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_recycle.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_red.png b/IconThemes/slick/16x16/filesystems/folder_red.png
new file mode 100644
index 00000000..abdba25c
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_red_3.png b/IconThemes/slick/16x16/filesystems/folder_red_3.png
new file mode 100644
index 00000000..1c8b7bfb
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_red_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_sent_mail.png b/IconThemes/slick/16x16/filesystems/folder_sent_mail.png
new file mode 100644
index 00000000..7af32df5
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_sent_mail.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_sound.png b/IconThemes/slick/16x16/filesystems/folder_sound.png
new file mode 100644
index 00000000..5fd6fbba
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_sound_3.png b/IconThemes/slick/16x16/filesystems/folder_sound_3.png
new file mode 100644
index 00000000..8453ef51
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_sound_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_src.png b/IconThemes/slick/16x16/filesystems/folder_src.png
new file mode 100644
index 00000000..6d520f02
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_src.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_tar.png b/IconThemes/slick/16x16/filesystems/folder_tar.png
new file mode 100644
index 00000000..853d6689
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_tar_3.png b/IconThemes/slick/16x16/filesystems/folder_tar_3.png
new file mode 100644
index 00000000..c71659e4
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_tar_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_txt.png b/IconThemes/slick/16x16/filesystems/folder_txt.png
new file mode 100644
index 00000000..b4501be8
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_txt_3.png b/IconThemes/slick/16x16/filesystems/folder_txt_3.png
new file mode 100644
index 00000000..5e842f9d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_txt_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_video.png b/IconThemes/slick/16x16/filesystems/folder_video.png
new file mode 100644
index 00000000..918b567d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_violet.png b/IconThemes/slick/16x16/filesystems/folder_violet.png
new file mode 100644
index 00000000..1c4d1e2d
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_violet.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_www.png b/IconThemes/slick/16x16/filesystems/folder_www.png
new file mode 100644
index 00000000..b514b2fb
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_www.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_yellow.png b/IconThemes/slick/16x16/filesystems/folder_yellow.png
new file mode 100644
index 00000000..9d807192
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_yellow_3.png b/IconThemes/slick/16x16/filesystems/folder_yellow_3.png
new file mode 100644
index 00000000..eb2bf0f1
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_yellow_3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/folder_yellow_open.png b/IconThemes/slick/16x16/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..3fda3e72
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/ftp.png b/IconThemes/slick/16x16/filesystems/ftp.png
new file mode 100644
index 00000000..aff02756
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/homepage.png b/IconThemes/slick/16x16/filesystems/homepage.png
new file mode 100644
index 00000000..8354ecd1
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/homepage.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/link.png b/IconThemes/slick/16x16/filesystems/link.png
new file mode 100644
index 00000000..38c4f682
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/link.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/lockoverlay.png b/IconThemes/slick/16x16/filesystems/lockoverlay.png
new file mode 100644
index 00000000..d99721cc
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/network.png b/IconThemes/slick/16x16/filesystems/network.png
new file mode 100644
index 00000000..8c24154f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/network.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/network_local.png b/IconThemes/slick/16x16/filesystems/network_local.png
new file mode 100644
index 00000000..8c24154f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/openterm.png b/IconThemes/slick/16x16/filesystems/openterm.png
new file mode 100644
index 00000000..e1eef236
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/openterm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/pipe.png b/IconThemes/slick/16x16/filesystems/pipe.png
new file mode 100644
index 00000000..aff02756
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/server.png b/IconThemes/slick/16x16/filesystems/server.png
new file mode 100644
index 00000000..ba07c823
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/server.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/server2.png b/IconThemes/slick/16x16/filesystems/server2.png
new file mode 100644
index 00000000..635d5a31
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/server2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/services.png b/IconThemes/slick/16x16/filesystems/services.png
new file mode 100644
index 00000000..2c8c5a60
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/services.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/shredder.png b/IconThemes/slick/16x16/filesystems/shredder.png
new file mode 100644
index 00000000..72c2d47a
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/socket.png b/IconThemes/slick/16x16/filesystems/socket.png
new file mode 100644
index 00000000..ac7611c5
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/system.png b/IconThemes/slick/16x16/filesystems/system.png
new file mode 100644
index 00000000..2a25a583
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/system.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/trash.png b/IconThemes/slick/16x16/filesystems/trash.png
new file mode 100644
index 00000000..d21645a3
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/trash.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/trashcan_empty.png b/IconThemes/slick/16x16/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..01f42f50
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/trashcan_full.png b/IconThemes/slick/16x16/filesystems/trashcan_full.png
new file mode 100644
index 00000000..abfcbe8f
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/www.png b/IconThemes/slick/16x16/filesystems/www.png
new file mode 100644
index 00000000..8354ecd1
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/www.png
Binary files differ
diff --git a/IconThemes/slick/16x16/filesystems/zip.png b/IconThemes/slick/16x16/filesystems/zip.png
new file mode 100644
index 00000000..4debaee5
--- /dev/null
+++ b/IconThemes/slick/16x16/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/applix.png b/IconThemes/slick/16x16/mimetypes/applix.png
new file mode 100644
index 00000000..0d309d92
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/archive.png b/IconThemes/slick/16x16/mimetypes/archive.png
new file mode 100644
index 00000000..7ecaad99
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/archive.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/archive_2.png b/IconThemes/slick/16x16/mimetypes/archive_2.png
new file mode 100644
index 00000000..c48f0182
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/archive_2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/ascii.png b/IconThemes/slick/16x16/mimetypes/ascii.png
new file mode 100644
index 00000000..4e157385
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/binary.png b/IconThemes/slick/16x16/mimetypes/binary.png
new file mode 100644
index 00000000..2eddb275
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/binary2.png b/IconThemes/slick/16x16/mimetypes/binary2.png
new file mode 100644
index 00000000..261ec2c9
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/cdimage.png b/IconThemes/slick/16x16/mimetypes/cdimage.png
new file mode 100644
index 00000000..6b40a5f2
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/cdr.png b/IconThemes/slick/16x16/mimetypes/cdr.png
new file mode 100644
index 00000000..c6e90114
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/cdr.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/cdtrack.png b/IconThemes/slick/16x16/mimetypes/cdtrack.png
new file mode 100644
index 00000000..c33196b3
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/colorscm.png b/IconThemes/slick/16x16/mimetypes/colorscm.png
new file mode 100644
index 00000000..02cbe030
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/colorset.png b/IconThemes/slick/16x16/mimetypes/colorset.png
new file mode 100644
index 00000000..02cbe030
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/colorset.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/configure_script.png b/IconThemes/slick/16x16/mimetypes/configure_script.png
new file mode 100644
index 00000000..2eddb275
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/configure_script.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/core.png b/IconThemes/slick/16x16/mimetypes/core.png
new file mode 100644
index 00000000..199d2111
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/cpp.png b/IconThemes/slick/16x16/mimetypes/cpp.png
new file mode 100644
index 00000000..d84ae4b0
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/cpp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/deb.png b/IconThemes/slick/16x16/mimetypes/deb.png
new file mode 100644
index 00000000..1e0a6ee2
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/desktopfile.png b/IconThemes/slick/16x16/mimetypes/desktopfile.png
new file mode 100644
index 00000000..07ef72d2
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/desktopfile.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/develop.png b/IconThemes/slick/16x16/mimetypes/develop.png
new file mode 100644
index 00000000..7dd5632c
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/develop.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/disk_image.png b/IconThemes/slick/16x16/mimetypes/disk_image.png
new file mode 100644
index 00000000..36251baa
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/disk_image.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/doc.png b/IconThemes/slick/16x16/mimetypes/doc.png
new file mode 100644
index 00000000..46024bd5
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/doc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/document.png b/IconThemes/slick/16x16/mimetypes/document.png
new file mode 100644
index 00000000..46024bd5
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/document2.png b/IconThemes/slick/16x16/mimetypes/document2.png
new file mode 100644
index 00000000..46024bd5
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/dvi.png b/IconThemes/slick/16x16/mimetypes/dvi.png
new file mode 100644
index 00000000..46024bd5
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/empty2.png b/IconThemes/slick/16x16/mimetypes/empty2.png
new file mode 100644
index 00000000..31203067
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/empty2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/empty_ascii.png b/IconThemes/slick/16x16/mimetypes/empty_ascii.png
new file mode 100644
index 00000000..e0c03bb0
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/empty_ascii.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/encrypted.png b/IconThemes/slick/16x16/mimetypes/encrypted.png
new file mode 100644
index 00000000..56bca7ac
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/font.png b/IconThemes/slick/16x16/mimetypes/font.png
new file mode 100644
index 00000000..58ba234d
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/font.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/font_bitmap.png b/IconThemes/slick/16x16/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..07e51613
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/font_truetype.png b/IconThemes/slick/16x16/mimetypes/font_truetype.png
new file mode 100644
index 00000000..58ba234d
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/font_type1.png b/IconThemes/slick/16x16/mimetypes/font_type1.png
new file mode 100644
index 00000000..53e1404a
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/html.png b/IconThemes/slick/16x16/mimetypes/html.png
new file mode 100644
index 00000000..bd0ff628
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/html2.png b/IconThemes/slick/16x16/mimetypes/html2.png
new file mode 100644
index 00000000..3244ed0c
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/html2.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/image-compressed.png b/IconThemes/slick/16x16/mimetypes/image-compressed.png
new file mode 100644
index 00000000..42a9dcb4
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/image-compressed.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/image-truecolor.png b/IconThemes/slick/16x16/mimetypes/image-truecolor.png
new file mode 100644
index 00000000..af1bd110
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/image-truecolor.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/image.png b/IconThemes/slick/16x16/mimetypes/image.png
new file mode 100644
index 00000000..0cc9809f
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/info.png b/IconThemes/slick/16x16/mimetypes/info.png
new file mode 100644
index 00000000..b83f363a
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/java.png b/IconThemes/slick/16x16/mimetypes/java.png
new file mode 100644
index 00000000..e074e56f
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/java.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/kmultiple.png b/IconThemes/slick/16x16/mimetypes/kmultiple.png
new file mode 100644
index 00000000..92ef857f
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/log.png b/IconThemes/slick/16x16/mimetypes/log.png
new file mode 100644
index 00000000..55057564
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/make.png b/IconThemes/slick/16x16/mimetypes/make.png
new file mode 100644
index 00000000..b1f01045
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/man.png b/IconThemes/slick/16x16/mimetypes/man.png
new file mode 100644
index 00000000..772e45c8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/message.png b/IconThemes/slick/16x16/mimetypes/message.png
new file mode 100644
index 00000000..956b5560
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/midi.png b/IconThemes/slick/16x16/mimetypes/midi.png
new file mode 100644
index 00000000..fe5dc945
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/mime.png b/IconThemes/slick/16x16/mimetypes/mime.png
new file mode 100644
index 00000000..f721f8ce
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/mime.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/mime_empty.png b/IconThemes/slick/16x16/mimetypes/mime_empty.png
new file mode 100644
index 00000000..f721f8ce
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/mp3.png b/IconThemes/slick/16x16/mimetypes/mp3.png
new file mode 100644
index 00000000..0737aee4
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/mp3.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/netscape_doc.png b/IconThemes/slick/16x16/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..6f179057
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/pdf.png b/IconThemes/slick/16x16/mimetypes/pdf.png
new file mode 100644
index 00000000..832e6ecf
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/person.png b/IconThemes/slick/16x16/mimetypes/person.png
new file mode 100644
index 00000000..390f4507
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/person.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/postscript.png b/IconThemes/slick/16x16/mimetypes/postscript.png
new file mode 100644
index 00000000..04dfe41a
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/pov.png b/IconThemes/slick/16x16/mimetypes/pov.png
new file mode 100644
index 00000000..6301ce4c
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/pov.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/readme.png b/IconThemes/slick/16x16/mimetypes/readme.png
new file mode 100644
index 00000000..772e45c8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/real_doc.png b/IconThemes/slick/16x16/mimetypes/real_doc.png
new file mode 100644
index 00000000..b8e1e8f0
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/recycled.png b/IconThemes/slick/16x16/mimetypes/recycled.png
new file mode 100644
index 00000000..3a8c26b8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/resource.png b/IconThemes/slick/16x16/mimetypes/resource.png
new file mode 100644
index 00000000..9abfd76a
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/rpm.png b/IconThemes/slick/16x16/mimetypes/rpm.png
new file mode 100644
index 00000000..e75311b4
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/ruby.png b/IconThemes/slick/16x16/mimetypes/ruby.png
new file mode 100644
index 00000000..6335882d
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/ruby.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/shellscript.png b/IconThemes/slick/16x16/mimetypes/shellscript.png
new file mode 100644
index 00000000..d3fba363
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/soffice.png b/IconThemes/slick/16x16/mimetypes/soffice.png
new file mode 100644
index 00000000..17dfb6b0
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/soffice.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/sound.png b/IconThemes/slick/16x16/mimetypes/sound.png
new file mode 100644
index 00000000..b1453b25
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/sound1.png b/IconThemes/slick/16x16/mimetypes/sound1.png
new file mode 100644
index 00000000..3be08f66
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/sound1.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source.png b/IconThemes/slick/16x16/mimetypes/source.png
new file mode 100644
index 00000000..f721f8ce
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_c.png b/IconThemes/slick/16x16/mimetypes/source_c.png
new file mode 100644
index 00000000..bcf1ad66
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_cpp.png b/IconThemes/slick/16x16/mimetypes/source_cpp.png
new file mode 100644
index 00000000..d84ae4b0
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_f.png b/IconThemes/slick/16x16/mimetypes/source_f.png
new file mode 100644
index 00000000..e00abf56
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_h.png b/IconThemes/slick/16x16/mimetypes/source_h.png
new file mode 100644
index 00000000..1ffd3050
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_java.png b/IconThemes/slick/16x16/mimetypes/source_java.png
new file mode 100644
index 00000000..d50be317
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_l.png b/IconThemes/slick/16x16/mimetypes/source_l.png
new file mode 100644
index 00000000..eb5116b4
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_moc.png b/IconThemes/slick/16x16/mimetypes/source_moc.png
new file mode 100644
index 00000000..a0340e9e
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_o.png b/IconThemes/slick/16x16/mimetypes/source_o.png
new file mode 100644
index 00000000..96b34cf8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_pl.png b/IconThemes/slick/16x16/mimetypes/source_pl.png
new file mode 100644
index 00000000..321a41c8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_py.png b/IconThemes/slick/16x16/mimetypes/source_py.png
new file mode 100644
index 00000000..6eed421e
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_ruby.png b/IconThemes/slick/16x16/mimetypes/source_ruby.png
new file mode 100644
index 00000000..69d89b30
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_ruby.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_s.png b/IconThemes/slick/16x16/mimetypes/source_s.png
new file mode 100644
index 00000000..ee117a31
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/source_y.png b/IconThemes/slick/16x16/mimetypes/source_y.png
new file mode 100644
index 00000000..c295881a
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/tar.png b/IconThemes/slick/16x16/mimetypes/tar.png
new file mode 100644
index 00000000..23e31fa8
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/tgz.png b/IconThemes/slick/16x16/mimetypes/tgz.png
new file mode 100644
index 00000000..508650fe
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/txt.png b/IconThemes/slick/16x16/mimetypes/txt.png
new file mode 100644
index 00000000..07f71b2f
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/unknown.png b/IconThemes/slick/16x16/mimetypes/unknown.png
new file mode 100644
index 00000000..a8cb71f7
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/vcard.png b/IconThemes/slick/16x16/mimetypes/vcard.png
new file mode 100644
index 00000000..ce1cf360
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/video.png b/IconThemes/slick/16x16/mimetypes/video.png
new file mode 100644
index 00000000..89273083
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/war.png b/IconThemes/slick/16x16/mimetypes/war.png
new file mode 100644
index 00000000..5bbbb9f6
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/war.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/widget_doc.png b/IconThemes/slick/16x16/mimetypes/widget_doc.png
new file mode 100644
index 00000000..ea65e880
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/wordprocessing.png b/IconThemes/slick/16x16/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..bea14e47
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/16x16/mimetypes/xcf.png b/IconThemes/slick/16x16/mimetypes/xcf.png
new file mode 100644
index 00000000..5163624e
--- /dev/null
+++ b/IconThemes/slick/16x16/mimetypes/xcf.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/1downarrow.png b/IconThemes/slick/22x22/actions/1downarrow.png
new file mode 100644
index 00000000..7b460b5e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/1leftarrow.png b/IconThemes/slick/22x22/actions/1leftarrow.png
new file mode 100644
index 00000000..945b6389
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/1rightarrow.png b/IconThemes/slick/22x22/actions/1rightarrow.png
new file mode 100644
index 00000000..5d79533b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/1uparrow.png b/IconThemes/slick/22x22/actions/1uparrow.png
new file mode 100644
index 00000000..ea7d5328
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2arrowback.png b/IconThemes/slick/22x22/actions/2arrowback.png
new file mode 100644
index 00000000..2348758d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2arrowback.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2arrowforward.png b/IconThemes/slick/22x22/actions/2arrowforward.png
new file mode 100644
index 00000000..f87e8526
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2arrowforward.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2downarrow.png b/IconThemes/slick/22x22/actions/2downarrow.png
new file mode 100644
index 00000000..14fac66d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2leftarrow.png b/IconThemes/slick/22x22/actions/2leftarrow.png
new file mode 100644
index 00000000..84e6ba5c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2rightarrow.png b/IconThemes/slick/22x22/actions/2rightarrow.png
new file mode 100644
index 00000000..ae8fa7ae
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/2uparrow.png b/IconThemes/slick/22x22/actions/2uparrow.png
new file mode 100644
index 00000000..9e4bdd15
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/agent.png b/IconThemes/slick/22x22/actions/agent.png
new file mode 100644
index 00000000..9bbcdd8e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/agent.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/airbrush.png b/IconThemes/slick/22x22/actions/airbrush.png
new file mode 100644
index 00000000..2270a15d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/airbrush.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/apply.png b/IconThemes/slick/22x22/actions/apply.png
new file mode 100644
index 00000000..2a1d9b01
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/apply.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/arrowback.png b/IconThemes/slick/22x22/actions/arrowback.png
new file mode 100644
index 00000000..b55f37f7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/arrowback.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/arrowforward.png b/IconThemes/slick/22x22/actions/arrowforward.png
new file mode 100644
index 00000000..5af1ee69
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/arrowforward.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/attach.png b/IconThemes/slick/22x22/actions/attach.png
new file mode 100644
index 00000000..7655c822
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/attach.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/babelfish.png b/IconThemes/slick/22x22/actions/babelfish.png
new file mode 100644
index 00000000..ddb1e6fc
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/babelfish.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/back.png b/IconThemes/slick/22x22/actions/back.png
new file mode 100644
index 00000000..e70614ae
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/back.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar0.png b/IconThemes/slick/22x22/actions/bar0.png
new file mode 100644
index 00000000..bbaa8d58
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar0.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar1.png b/IconThemes/slick/22x22/actions/bar1.png
new file mode 100644
index 00000000..9e9a1f97
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar2.png b/IconThemes/slick/22x22/actions/bar2.png
new file mode 100644
index 00000000..9bb7041d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar2.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar3.png b/IconThemes/slick/22x22/actions/bar3.png
new file mode 100644
index 00000000..7846446e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar3.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar4.png b/IconThemes/slick/22x22/actions/bar4.png
new file mode 100644
index 00000000..6342bb0d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar4.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar5.png b/IconThemes/slick/22x22/actions/bar5.png
new file mode 100644
index 00000000..e3649c1f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar5.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bar6.png b/IconThemes/slick/22x22/actions/bar6.png
new file mode 100644
index 00000000..9d08fec4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bar6.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bookmark.png b/IconThemes/slick/22x22/actions/bookmark.png
new file mode 100644
index 00000000..5237606e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bookmark_add.png b/IconThemes/slick/22x22/actions/bookmark_add.png
new file mode 100644
index 00000000..f058793c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bookmark_folder.png b/IconThemes/slick/22x22/actions/bookmark_folder.png
new file mode 100644
index 00000000..422d7b85
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bookmark_folder.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bookmark_toolbar.png b/IconThemes/slick/22x22/actions/bookmark_toolbar.png
new file mode 100644
index 00000000..9bbcdd8e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bookmark_toolbar.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/bottom.png b/IconThemes/slick/22x22/actions/bottom.png
new file mode 100644
index 00000000..d17ceaba
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/bottom.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/button_cancel.png b/IconThemes/slick/22x22/actions/button_cancel.png
new file mode 100644
index 00000000..b10760e2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/button_cancel.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/button_cancel1.png b/IconThemes/slick/22x22/actions/button_cancel1.png
new file mode 100644
index 00000000..6208a5a4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/button_cancel1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/button_ok.png b/IconThemes/slick/22x22/actions/button_ok.png
new file mode 100644
index 00000000..44e3718c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/button_ok.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/cancel.png b/IconThemes/slick/22x22/actions/cancel.png
new file mode 100644
index 00000000..d1390be5
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/cancel.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/cd.png b/IconThemes/slick/22x22/actions/cd.png
new file mode 100644
index 00000000..87410cb9
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/cd.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/cdburn.png b/IconThemes/slick/22x22/actions/cdburn.png
new file mode 100644
index 00000000..d91daa87
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/cdburn.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/cdcopy.png b/IconThemes/slick/22x22/actions/cdcopy.png
new file mode 100644
index 00000000..8e851854
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/cdcopy.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/cdrwblank.png b/IconThemes/slick/22x22/actions/cdrwblank.png
new file mode 100644
index 00000000..aef11aac
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/cdrwblank.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/colorpicker.png b/IconThemes/slick/22x22/actions/colorpicker.png
new file mode 100644
index 00000000..b543c812
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/colorpicker.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/configure.png b/IconThemes/slick/22x22/actions/configure.png
new file mode 100644
index 00000000..3e3e760d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/configure.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/connect_creating.png b/IconThemes/slick/22x22/actions/connect_creating.png
new file mode 100644
index 00000000..ccdcd74b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/connect_established.png b/IconThemes/slick/22x22/actions/connect_established.png
new file mode 100644
index 00000000..69900f66
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/connect_no.png b/IconThemes/slick/22x22/actions/connect_no.png
new file mode 100644
index 00000000..b65611ed
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/contents.png b/IconThemes/slick/22x22/actions/contents.png
new file mode 100644
index 00000000..24a73e32
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/contents.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/contexthelp.png b/IconThemes/slick/22x22/actions/contexthelp.png
new file mode 100644
index 00000000..45532cdd
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/contexthelp.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/decrypted.png b/IconThemes/slick/22x22/actions/decrypted.png
new file mode 100644
index 00000000..bc95e0b4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/define_clip.png b/IconThemes/slick/22x22/actions/define_clip.png
new file mode 100644
index 00000000..f37e517a
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/dock.png b/IconThemes/slick/22x22/actions/dock.png
new file mode 100644
index 00000000..22602a50
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/dock.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/domtreeviewer.png b/IconThemes/slick/22x22/actions/domtreeviewer.png
new file mode 100644
index 00000000..143193d7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/domtreeviewer.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/down.png b/IconThemes/slick/22x22/actions/down.png
new file mode 100644
index 00000000..22602a50
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/down.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/edit.png b/IconThemes/slick/22x22/actions/edit.png
new file mode 100644
index 00000000..28b2cdcb
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/edit.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/editcopy.png b/IconThemes/slick/22x22/actions/editcopy.png
new file mode 100644
index 00000000..99301e78
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/editcut.png b/IconThemes/slick/22x22/actions/editcut.png
new file mode 100644
index 00000000..870c85d7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/editcut.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/editdelete.png b/IconThemes/slick/22x22/actions/editdelete.png
new file mode 100644
index 00000000..525dd66e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/editpaste.png b/IconThemes/slick/22x22/actions/editpaste.png
new file mode 100644
index 00000000..fa7b7234
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/edittrash.png b/IconThemes/slick/22x22/actions/edittrash.png
new file mode 100644
index 00000000..8c732e04
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/encrypted.png b/IconThemes/slick/22x22/actions/encrypted.png
new file mode 100644
index 00000000..63d3e6bc
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/exec.png b/IconThemes/slick/22x22/actions/exec.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/exec.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/exit.png b/IconThemes/slick/22x22/actions/exit.png
new file mode 100644
index 00000000..f67278f0
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/exit.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/fileclose.png b/IconThemes/slick/22x22/actions/fileclose.png
new file mode 100644
index 00000000..ebbe8302
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filefind.png b/IconThemes/slick/22x22/actions/filefind.png
new file mode 100644
index 00000000..171acc7d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filefind.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filenew.png b/IconThemes/slick/22x22/actions/filenew.png
new file mode 100644
index 00000000..ed6e5be4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filenew.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/fileopen.png b/IconThemes/slick/22x22/actions/fileopen.png
new file mode 100644
index 00000000..5c217b7d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/fileprint.png b/IconThemes/slick/22x22/actions/fileprint.png
new file mode 100644
index 00000000..428c971c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filequickprint.png b/IconThemes/slick/22x22/actions/filequickprint.png
new file mode 100644
index 00000000..1da4269b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filesave.png b/IconThemes/slick/22x22/actions/filesave.png
new file mode 100644
index 00000000..b59939f5
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filesave.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filesaveas.png b/IconThemes/slick/22x22/actions/filesaveas.png
new file mode 100644
index 00000000..e8816e18
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/filter.png b/IconThemes/slick/22x22/actions/filter.png
new file mode 100644
index 00000000..80187fc9
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/filter.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/find.png b/IconThemes/slick/22x22/actions/find.png
new file mode 100644
index 00000000..f9fba7cd
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/find.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/finish.png b/IconThemes/slick/22x22/actions/finish.png
new file mode 100644
index 00000000..a7736456
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/finish.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/folder_new.png b/IconThemes/slick/22x22/actions/folder_new.png
new file mode 100644
index 00000000..5a0e561d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/forward.png b/IconThemes/slick/22x22/actions/forward.png
new file mode 100644
index 00000000..02cb0a82
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/forward.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/frameprint.png b/IconThemes/slick/22x22/actions/frameprint.png
new file mode 100644
index 00000000..28101adf
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/fsview.png b/IconThemes/slick/22x22/actions/fsview.png
new file mode 100644
index 00000000..2e4eb5cf
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/fsview.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/ftin.png b/IconThemes/slick/22x22/actions/ftin.png
new file mode 100644
index 00000000..a42abb94
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/ftin.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/ftout.png b/IconThemes/slick/22x22/actions/ftout.png
new file mode 100644
index 00000000..3989650d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/ftout.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/gear.png b/IconThemes/slick/22x22/actions/gear.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/gear.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/gohome.png b/IconThemes/slick/22x22/actions/gohome.png
new file mode 100644
index 00000000..90b3eee7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/gohome.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/halfencrypted.png b/IconThemes/slick/22x22/actions/halfencrypted.png
new file mode 100644
index 00000000..996f44fb
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/help.png b/IconThemes/slick/22x22/actions/help.png
new file mode 100644
index 00000000..aa66ffa1
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/help.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/history.png b/IconThemes/slick/22x22/actions/history.png
new file mode 100644
index 00000000..24243a65
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/history.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/htmlvalidator.png b/IconThemes/slick/22x22/actions/htmlvalidator.png
new file mode 100644
index 00000000..043ffa44
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/htmlvalidator.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/idea.png b/IconThemes/slick/22x22/actions/idea.png
new file mode 100644
index 00000000..ddeaee90
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/idea.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/identity.png b/IconThemes/slick/22x22/actions/identity.png
new file mode 100644
index 00000000..a1cd3a1d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/identity.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/imagegallery.png b/IconThemes/slick/22x22/actions/imagegallery.png
new file mode 100644
index 00000000..f121fa48
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/imagegallery.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kalarmdgui.png b/IconThemes/slick/22x22/actions/kalarmdgui.png
new file mode 100644
index 00000000..3690384f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kalarmdgui.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kalarmdgui_disabled.png b/IconThemes/slick/22x22/actions/kalarmdgui_disabled.png
new file mode 100644
index 00000000..aadf7bb5
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kalarmdgui_disabled.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde.png b/IconThemes/slick/22x22/actions/kde.png
new file mode 100644
index 00000000..6390817e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde1.png b/IconThemes/slick/22x22/actions/kde1.png
new file mode 100644
index 00000000..b94ba153
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde2.png b/IconThemes/slick/22x22/actions/kde2.png
new file mode 100644
index 00000000..bb2ce18d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde2.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde3.png b/IconThemes/slick/22x22/actions/kde3.png
new file mode 100644
index 00000000..645976b3
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde3.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde4.png b/IconThemes/slick/22x22/actions/kde4.png
new file mode 100644
index 00000000..50f09608
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde4.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde5.png b/IconThemes/slick/22x22/actions/kde5.png
new file mode 100644
index 00000000..f860c650
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde5.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde6.png b/IconThemes/slick/22x22/actions/kde6.png
new file mode 100644
index 00000000..bd1649d7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde6.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/kde7.png b/IconThemes/slick/22x22/actions/kde7.png
new file mode 100644
index 00000000..335d3647
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/kde7.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/khtml_kget.png b/IconThemes/slick/22x22/actions/khtml_kget.png
new file mode 100644
index 00000000..69d57b86
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/khtml_kget.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/klipper_dock.png b/IconThemes/slick/22x22/actions/klipper_dock.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/klipper_dock.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/korgac.png b/IconThemes/slick/22x22/actions/korgac.png
new file mode 100644
index 00000000..f12348b1
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/korgac.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/korgac_disabled.png b/IconThemes/slick/22x22/actions/korgac_disabled.png
new file mode 100644
index 00000000..6496d0cd
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/korgac_disabled.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/launch.png b/IconThemes/slick/22x22/actions/launch.png
new file mode 100644
index 00000000..564a5d05
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/launch.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/locationbar_erase.png b/IconThemes/slick/22x22/actions/locationbar_erase.png
new file mode 100644
index 00000000..2103f681
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/locationbar_erase.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/lock.png b/IconThemes/slick/22x22/actions/lock.png
new file mode 100644
index 00000000..ed25cf45
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/lock.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_find.png b/IconThemes/slick/22x22/actions/mail_find.png
new file mode 100644
index 00000000..fd9b22ea
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_forward.png b/IconThemes/slick/22x22/actions/mail_forward.png
new file mode 100644
index 00000000..109a34d0
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_generic.png b/IconThemes/slick/22x22/actions/mail_generic.png
new file mode 100644
index 00000000..9295b6c6
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_get.png b/IconThemes/slick/22x22/actions/mail_get.png
new file mode 100644
index 00000000..b74560ac
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_new.png b/IconThemes/slick/22x22/actions/mail_new.png
new file mode 100644
index 00000000..bd51eb3a
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_reply.png b/IconThemes/slick/22x22/actions/mail_reply.png
new file mode 100644
index 00000000..7ef287a8
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_replyall.png b/IconThemes/slick/22x22/actions/mail_replyall.png
new file mode 100644
index 00000000..422581c3
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_replylist.png b/IconThemes/slick/22x22/actions/mail_replylist.png
new file mode 100644
index 00000000..dcc2372a
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mail_send.png b/IconThemes/slick/22x22/actions/mail_send.png
new file mode 100644
index 00000000..23985bb9
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/mime_empty.png b/IconThemes/slick/22x22/actions/mime_empty.png
new file mode 100644
index 00000000..dc8a3d6e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/misc.png b/IconThemes/slick/22x22/actions/misc.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/misc.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/move.png b/IconThemes/slick/22x22/actions/move.png
new file mode 100644
index 00000000..fac4d7fe
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/move.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/network_connected.png b/IconThemes/slick/22x22/actions/network_connected.png
new file mode 100644
index 00000000..44411c7b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/network_connected.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/network_disconnected.png b/IconThemes/slick/22x22/actions/network_disconnected.png
new file mode 100644
index 00000000..2b34c7fd
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/network_disconnected.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/network_incoming.png b/IconThemes/slick/22x22/actions/network_incoming.png
new file mode 100644
index 00000000..95c10b4b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/network_incoming.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/network_outgoing.png b/IconThemes/slick/22x22/actions/network_outgoing.png
new file mode 100644
index 00000000..c90b483b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/network_outgoing.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/next.png b/IconThemes/slick/22x22/actions/next.png
new file mode 100644
index 00000000..33b07b8b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/next.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunback.png b/IconThemes/slick/22x22/actions/noatunback.png
new file mode 100644
index 00000000..75d6e211
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunback.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunforward.png b/IconThemes/slick/22x22/actions/noatunforward.png
new file mode 100644
index 00000000..fd035e27
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunforward.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunloopnone.png b/IconThemes/slick/22x22/actions/noatunloopnone.png
new file mode 100644
index 00000000..85f2ae8f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunloopnone.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunloopplaylist.png b/IconThemes/slick/22x22/actions/noatunloopplaylist.png
new file mode 100644
index 00000000..39c18352
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunloopplaylist.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunlooprandom.png b/IconThemes/slick/22x22/actions/noatunlooprandom.png
new file mode 100644
index 00000000..1bec0092
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunlooprandom.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunloopsong.png b/IconThemes/slick/22x22/actions/noatunloopsong.png
new file mode 100644
index 00000000..00baf404
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunloopsong.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunpause.png b/IconThemes/slick/22x22/actions/noatunpause.png
new file mode 100644
index 00000000..ea11a4ab
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunpause.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunplay.png b/IconThemes/slick/22x22/actions/noatunplay.png
new file mode 100644
index 00000000..b9b6b73b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunplay.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunplaylist.png b/IconThemes/slick/22x22/actions/noatunplaylist.png
new file mode 100644
index 00000000..aa751342
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunplaylist.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatunstop.png b/IconThemes/slick/22x22/actions/noatunstop.png
new file mode 100644
index 00000000..a9ee1479
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatunstop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatuntray.png b/IconThemes/slick/22x22/actions/noatuntray.png
new file mode 100644
index 00000000..68c42aa7
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatuntray.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatuntraypause.png b/IconThemes/slick/22x22/actions/noatuntraypause.png
new file mode 100644
index 00000000..6fe2902e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatuntraypause.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatuntrayplay.png b/IconThemes/slick/22x22/actions/noatuntrayplay.png
new file mode 100644
index 00000000..b9b6b73b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatuntrayplay.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/noatuntraystop.png b/IconThemes/slick/22x22/actions/noatuntraystop.png
new file mode 100644
index 00000000..466c55cc
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/noatuntraystop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/openterm.png b/IconThemes/slick/22x22/actions/openterm.png
new file mode 100644
index 00000000..46bb4b67
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/openterm.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_eject.png b/IconThemes/slick/22x22/actions/player_eject.png
new file mode 100644
index 00000000..148e65a0
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_end.png b/IconThemes/slick/22x22/actions/player_end.png
new file mode 100644
index 00000000..93a0f767
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_end.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_pause.png b/IconThemes/slick/22x22/actions/player_pause.png
new file mode 100644
index 00000000..9f6d4722
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_play.png b/IconThemes/slick/22x22/actions/player_play.png
new file mode 100644
index 00000000..402df827
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_play.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_playlist_2.png b/IconThemes/slick/22x22/actions/player_playlist_2.png
new file mode 100644
index 00000000..c5288b3c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_playlist_2.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_start.png b/IconThemes/slick/22x22/actions/player_start.png
new file mode 100644
index 00000000..80f67dfa
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_start.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/player_stop.png b/IconThemes/slick/22x22/actions/player_stop.png
new file mode 100644
index 00000000..8e6667fb
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/previous.png b/IconThemes/slick/22x22/actions/previous.png
new file mode 100644
index 00000000..4d702327
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/previous.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/query_erase.png b/IconThemes/slick/22x22/actions/query_erase.png
new file mode 100644
index 00000000..2103f681
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/query_erase.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/queue.png b/IconThemes/slick/22x22/actions/queue.png
new file mode 100644
index 00000000..5a95b5ee
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/queue.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/random.png b/IconThemes/slick/22x22/actions/random.png
new file mode 100644
index 00000000..1bec0092
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/random.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/rebuild.png b/IconThemes/slick/22x22/actions/rebuild.png
new file mode 100644
index 00000000..17a79511
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/rebuild.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/redo.png b/IconThemes/slick/22x22/actions/redo.png
new file mode 100644
index 00000000..8bb21218
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/redo.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/reload.png b/IconThemes/slick/22x22/actions/reload.png
new file mode 100644
index 00000000..f54ae8a1
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/reload.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/reload1.png b/IconThemes/slick/22x22/actions/reload1.png
new file mode 100644
index 00000000..43138d75
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/reload1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/repeat_playlist.png b/IconThemes/slick/22x22/actions/repeat_playlist.png
new file mode 100644
index 00000000..39c18352
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/repeat_playlist.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/repeat_track.png b/IconThemes/slick/22x22/actions/repeat_track.png
new file mode 100644
index 00000000..f54ae8a1
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/repeat_track.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/revert.png b/IconThemes/slick/22x22/actions/revert.png
new file mode 100644
index 00000000..c5288b3c
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/revert.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/rotate.png b/IconThemes/slick/22x22/actions/rotate.png
new file mode 100644
index 00000000..086a3dd0
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/rotate.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/rotate_ccw.png b/IconThemes/slick/22x22/actions/rotate_ccw.png
new file mode 100644
index 00000000..1ac50147
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/rotate_cw.png b/IconThemes/slick/22x22/actions/rotate_cw.png
new file mode 100644
index 00000000..5091dd91
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/run.png b/IconThemes/slick/22x22/actions/run.png
new file mode 100644
index 00000000..aca34e74
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/run.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/save_all.png b/IconThemes/slick/22x22/actions/save_all.png
new file mode 100644
index 00000000..117adb62
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/save_all.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/showmenu.png b/IconThemes/slick/22x22/actions/showmenu.png
new file mode 100644
index 00000000..80f8d608
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/showmenu.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/spellcheck.png b/IconThemes/slick/22x22/actions/spellcheck.png
new file mode 100644
index 00000000..3d835922
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/sphere.png b/IconThemes/slick/22x22/actions/sphere.png
new file mode 100644
index 00000000..7716d1df
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/sphere.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/start.png b/IconThemes/slick/22x22/actions/start.png
new file mode 100644
index 00000000..eb9d74b4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/start.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/stop.png b/IconThemes/slick/22x22/actions/stop.png
new file mode 100644
index 00000000..5410ec18
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/stop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tab_breakoff.png b/IconThemes/slick/22x22/actions/tab_breakoff.png
new file mode 100644
index 00000000..6910523e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tab_breakoff.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tab_duplicate.png b/IconThemes/slick/22x22/actions/tab_duplicate.png
new file mode 100644
index 00000000..d7f95416
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tab_duplicate.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tab_new.png b/IconThemes/slick/22x22/actions/tab_new.png
new file mode 100644
index 00000000..2a1d9b01
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tab_new.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tab_new_bg.png b/IconThemes/slick/22x22/actions/tab_new_bg.png
new file mode 100644
index 00000000..ed59b04f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tab_new_bg.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tab_remove.png b/IconThemes/slick/22x22/actions/tab_remove.png
new file mode 100644
index 00000000..b10760e2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tab_remove.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/thumbnail.png b/IconThemes/slick/22x22/actions/thumbnail.png
new file mode 100644
index 00000000..1a85934b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/toggle_log.png b/IconThemes/slick/22x22/actions/toggle_log.png
new file mode 100644
index 00000000..6f9d390b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/toggle_log.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_clipboard.png b/IconThemes/slick/22x22/actions/tool_clipboard.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_clipboard.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_delete.png b/IconThemes/slick/22x22/actions/tool_delete.png
new file mode 100644
index 00000000..8c732e04
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_delete.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_disconnect.png b/IconThemes/slick/22x22/actions/tool_disconnect.png
new file mode 100644
index 00000000..b65611ed
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_disconnect.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_dock.png b/IconThemes/slick/22x22/actions/tool_dock.png
new file mode 100644
index 00000000..fc643264
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_dock.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_drop_target.png b/IconThemes/slick/22x22/actions/tool_drop_target.png
new file mode 100644
index 00000000..fc643264
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_drop_target.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_expert.png b/IconThemes/slick/22x22/actions/tool_expert.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_expert.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_logwindow.png b/IconThemes/slick/22x22/actions/tool_logwindow.png
new file mode 100644
index 00000000..24a73e32
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_logwindow.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_normal.png b/IconThemes/slick/22x22/actions/tool_normal.png
new file mode 100644
index 00000000..60c209d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_normal.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_offline_mode_off.png b/IconThemes/slick/22x22/actions/tool_offline_mode_off.png
new file mode 100644
index 00000000..b65611ed
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_offline_mode_off.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_offline_mode_on.png b/IconThemes/slick/22x22/actions/tool_offline_mode_on.png
new file mode 100644
index 00000000..97e08100
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_offline_mode_on.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_paste.png b/IconThemes/slick/22x22/actions/tool_paste.png
new file mode 100644
index 00000000..fa7b7234
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_paste.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_pause.png b/IconThemes/slick/22x22/actions/tool_pause.png
new file mode 100644
index 00000000..6fe2902e
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_pause.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_preferences.png b/IconThemes/slick/22x22/actions/tool_preferences.png
new file mode 100644
index 00000000..3e3e760d
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_preferences.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_restart.png b/IconThemes/slick/22x22/actions/tool_restart.png
new file mode 100644
index 00000000..b316e798
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_restart.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_resume.png b/IconThemes/slick/22x22/actions/tool_resume.png
new file mode 100644
index 00000000..b9b6b73b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_resume.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_shutdown.png b/IconThemes/slick/22x22/actions/tool_shutdown.png
new file mode 100644
index 00000000..0e540e6b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_shutdown.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_timer.png b/IconThemes/slick/22x22/actions/tool_timer.png
new file mode 100644
index 00000000..b34ce779
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_timer.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/tool_uselastdir.png b/IconThemes/slick/22x22/actions/tool_uselastdir.png
new file mode 100644
index 00000000..940a385a
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/tool_uselastdir.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/top.png b/IconThemes/slick/22x22/actions/top.png
new file mode 100644
index 00000000..6c18c041
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/top.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/translate.png b/IconThemes/slick/22x22/actions/translate.png
new file mode 100644
index 00000000..ddb1e6fc
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/translate.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/undo.png b/IconThemes/slick/22x22/actions/undo.png
new file mode 100644
index 00000000..c82153b6
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/undo.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/unlock.png b/IconThemes/slick/22x22/actions/unlock.png
new file mode 100644
index 00000000..bc95e0b4
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/unlock.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/up.png b/IconThemes/slick/22x22/actions/up.png
new file mode 100644
index 00000000..eae45c9f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/up.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/validators.png b/IconThemes/slick/22x22/actions/validators.png
new file mode 100644
index 00000000..043ffa44
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/validators.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_choose.png b/IconThemes/slick/22x22/actions/view_choose.png
new file mode 100644
index 00000000..5249b359
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_detailed.png b/IconThemes/slick/22x22/actions/view_detailed.png
new file mode 100644
index 00000000..0cce988f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_icon.png b/IconThemes/slick/22x22/actions/view_icon.png
new file mode 100644
index 00000000..7ffe29de
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_multicolumn.png b/IconThemes/slick/22x22/actions/view_multicolumn.png
new file mode 100644
index 00000000..4e823eec
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_remove.png b/IconThemes/slick/22x22/actions/view_remove.png
new file mode 100644
index 00000000..60c209d2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_remove.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_sidetree.png b/IconThemes/slick/22x22/actions/view_sidetree.png
new file mode 100644
index 00000000..160b9b3f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_text.png b/IconThemes/slick/22x22/actions/view_text.png
new file mode 100644
index 00000000..47866121
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_text.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/view_tree.png b/IconThemes/slick/22x22/actions/view_tree.png
new file mode 100644
index 00000000..f31e24db
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/viewmag+.png b/IconThemes/slick/22x22/actions/viewmag+.png
new file mode 100644
index 00000000..b7a25a73
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/viewmag-.png b/IconThemes/slick/22x22/actions/viewmag-.png
new file mode 100644
index 00000000..4e8e4280
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/viewmag.png b/IconThemes/slick/22x22/actions/viewmag.png
new file mode 100644
index 00000000..d246b5e6
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/viewmagfit.png b/IconThemes/slick/22x22/actions/viewmagfit.png
new file mode 100644
index 00000000..5cd15eed
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/wallet_closed.png b/IconThemes/slick/22x22/actions/wallet_closed.png
new file mode 100644
index 00000000..12795dfa
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/wallet_closed.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/wallet_open.png b/IconThemes/slick/22x22/actions/wallet_open.png
new file mode 100644
index 00000000..3479bf00
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/wallet_open.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/webarchiver.png b/IconThemes/slick/22x22/actions/webarchiver.png
new file mode 100644
index 00000000..89a0c53f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/webarchiver.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/window_fullscreen.png b/IconThemes/slick/22x22/actions/window_fullscreen.png
new file mode 100644
index 00000000..91bc5c5f
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/window_new.png b/IconThemes/slick/22x22/actions/window_new.png
new file mode 100644
index 00000000..df49143b
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/window_new.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/window_nofullscreen.png b/IconThemes/slick/22x22/actions/window_nofullscreen.png
new file mode 100644
index 00000000..70dbf233
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/slick/22x22/actions/wizard.png b/IconThemes/slick/22x22/actions/wizard.png
new file mode 100644
index 00000000..135dfdb2
--- /dev/null
+++ b/IconThemes/slick/22x22/actions/wizard.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/1randr.png b/IconThemes/slick/22x22/apps/1randr.png
new file mode 100644
index 00000000..c60e4e7c
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/1randr.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/bell.png b/IconThemes/slick/22x22/apps/bell.png
new file mode 100644
index 00000000..b61486de
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/bell.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/cervisia.png b/IconThemes/slick/22x22/apps/cervisia.png
new file mode 100644
index 00000000..d742830e
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/cervisia.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/date.png b/IconThemes/slick/22x22/apps/date.png
new file mode 100644
index 00000000..b34ce779
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/date.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/fonts.png b/IconThemes/slick/22x22/apps/fonts.png
new file mode 100644
index 00000000..d93b9ec8
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/fonts.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/go.png b/IconThemes/slick/22x22/apps/go.png
new file mode 100644
index 00000000..a9a8d691
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/go.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/icon-cartoon.png b/IconThemes/slick/22x22/apps/icon-cartoon.png
new file mode 100644
index 00000000..c1789a07
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/icon-cartoon.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/k3b.png b/IconThemes/slick/22x22/apps/k3b.png
new file mode 100644
index 00000000..347a35b7
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/k3b.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kcmdf.png b/IconThemes/slick/22x22/apps/kcmdf.png
new file mode 100644
index 00000000..e83a17ee
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kcmdf.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kcmsystem.png b/IconThemes/slick/22x22/apps/kcmsystem.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kdmconfig.png b/IconThemes/slick/22x22/apps/kdmconfig.png
new file mode 100644
index 00000000..f7c937e0
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kdmconfig.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kfind.png b/IconThemes/slick/22x22/apps/kfind.png
new file mode 100644
index 00000000..f9fba7cd
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kfind.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kfm.png b/IconThemes/slick/22x22/apps/kfm.png
new file mode 100644
index 00000000..45269709
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kfm.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kfm_home.png b/IconThemes/slick/22x22/apps/kfm_home.png
new file mode 100644
index 00000000..90b3eee7
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kget.png b/IconThemes/slick/22x22/apps/kget.png
new file mode 100644
index 00000000..fc643264
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kget.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/khelpcenter.png b/IconThemes/slick/22x22/apps/khelpcenter.png
new file mode 100644
index 00000000..ffd61d87
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kjobviewer.png b/IconThemes/slick/22x22/apps/kjobviewer.png
new file mode 100644
index 00000000..bc1ccf55
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/klipper.png b/IconThemes/slick/22x22/apps/klipper.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/klipper.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmail.png b/IconThemes/slick/22x22/apps/kmail.png
new file mode 100644
index 00000000..d692aa04
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmail.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmenu.png b/IconThemes/slick/22x22/apps/kmenu.png
new file mode 100644
index 00000000..56c1235f
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmenuedit.png b/IconThemes/slick/22x22/apps/kmenuedit.png
new file mode 100644
index 00000000..d2fae441
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmenuedit.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmixdocked.png b/IconThemes/slick/22x22/apps/kmixdocked.png
new file mode 100644
index 00000000..51f36903
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmixdocked.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmixdocked1.png b/IconThemes/slick/22x22/apps/kmixdocked1.png
new file mode 100644
index 00000000..b61486de
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmixdocked1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kmixdocked_mute.png b/IconThemes/slick/22x22/apps/kmixdocked_mute.png
new file mode 100644
index 00000000..9979229c
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kmixdocked_mute.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/knotes.png b/IconThemes/slick/22x22/apps/knotes.png
new file mode 100644
index 00000000..8ad58174
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/knotes.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/konqsidebar_mediaplayer.png b/IconThemes/slick/22x22/apps/konqsidebar_mediaplayer.png
new file mode 100644
index 00000000..4994a0af
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/konqsidebar_mediaplayer.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/konqueror.png b/IconThemes/slick/22x22/apps/konqueror.png
new file mode 100644
index 00000000..548bdde4
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/konsole.png b/IconThemes/slick/22x22/apps/konsole.png
new file mode 100644
index 00000000..86aa6061
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/konsole.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kopete.png b/IconThemes/slick/22x22/apps/kopete.png
new file mode 100644
index 00000000..ff5f3dbb
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kopete.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kwalletmanager.png b/IconThemes/slick/22x22/apps/kwalletmanager.png
new file mode 100644
index 00000000..3d056b6f
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kwalletmanager.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/kwin.png b/IconThemes/slick/22x22/apps/kwin.png
new file mode 100644
index 00000000..b3b6f29d
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/kwin.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/mix_cd.png b/IconThemes/slick/22x22/apps/mix_cd.png
new file mode 100644
index 00000000..fc809af1
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/mix_cd.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/mix_ext.png b/IconThemes/slick/22x22/apps/mix_ext.png
new file mode 100644
index 00000000..be28d724
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/mix_ext.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/mix_microphone.png b/IconThemes/slick/22x22/apps/mix_microphone.png
new file mode 100644
index 00000000..5a1ebce0
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/mix_microphone.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/noatun.png b/IconThemes/slick/22x22/apps/noatun.png
new file mode 100644
index 00000000..4994a0af
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/noatun.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/package.png b/IconThemes/slick/22x22/apps/package.png
new file mode 100644
index 00000000..7f8fbec1
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/package.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/package_network.png b/IconThemes/slick/22x22/apps/package_network.png
new file mode 100644
index 00000000..afe4ec8d
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/package_network.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/package_settings.png b/IconThemes/slick/22x22/apps/package_settings.png
new file mode 100644
index 00000000..3e3e760d
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/package_system.png b/IconThemes/slick/22x22/apps/package_system.png
new file mode 100644
index 00000000..816335d2
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/package_system.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/personal.png b/IconThemes/slick/22x22/apps/personal.png
new file mode 100644
index 00000000..2064d5e2
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/personal.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/printmgr.png b/IconThemes/slick/22x22/apps/printmgr.png
new file mode 100644
index 00000000..bc1ccf55
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/printmgr.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/randr.png b/IconThemes/slick/22x22/apps/randr.png
new file mode 100644
index 00000000..d08e86ac
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/randr.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/window_list.png b/IconThemes/slick/22x22/apps/window_list.png
new file mode 100644
index 00000000..c1b69add
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/window_list.png
Binary files differ
diff --git a/IconThemes/slick/22x22/apps/xmms.png b/IconThemes/slick/22x22/apps/xmms.png
new file mode 100644
index 00000000..22cdabbb
--- /dev/null
+++ b/IconThemes/slick/22x22/apps/xmms.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/3floppy_mount.png b/IconThemes/slick/22x22/devices/3floppy_mount.png
new file mode 100644
index 00000000..3914657c
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/3floppy_unmount.png b/IconThemes/slick/22x22/devices/3floppy_unmount.png
new file mode 100644
index 00000000..3914657c
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdaudio_mount.png b/IconThemes/slick/22x22/devices/cdaudio_mount.png
new file mode 100644
index 00000000..c3881f0f
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdaudio_unmount.png b/IconThemes/slick/22x22/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..b7e344a9
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdrom_mount.png b/IconThemes/slick/22x22/devices/cdrom_mount.png
new file mode 100644
index 00000000..4eca4726
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdrom_unmount.png b/IconThemes/slick/22x22/devices/cdrom_unmount.png
new file mode 100644
index 00000000..87410cb9
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdwriter_mount.png b/IconThemes/slick/22x22/devices/cdwriter_mount.png
new file mode 100644
index 00000000..ebe2000a
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/cdwriter_unmount.png b/IconThemes/slick/22x22/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..dbf643de
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/dvd_mount.png b/IconThemes/slick/22x22/devices/dvd_mount.png
new file mode 100644
index 00000000..1887333c
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/dvd_unmount.png b/IconThemes/slick/22x22/devices/dvd_unmount.png
new file mode 100644
index 00000000..cc1486ac
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/floppy_mount.png b/IconThemes/slick/22x22/devices/floppy_mount.png
new file mode 100644
index 00000000..f89edb07
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/floppy_unmount.png b/IconThemes/slick/22x22/devices/floppy_unmount.png
new file mode 100644
index 00000000..b59939f5
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/hdd.png b/IconThemes/slick/22x22/devices/hdd.png
new file mode 100644
index 00000000..228accb4
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/hdd.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/hdd_mount.png b/IconThemes/slick/22x22/devices/hdd_mount.png
new file mode 100644
index 00000000..e66243f7
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/hdd_unmount.png b/IconThemes/slick/22x22/devices/hdd_unmount.png
new file mode 100644
index 00000000..49d39cd1
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/lan.png b/IconThemes/slick/22x22/devices/lan.png
new file mode 100644
index 00000000..1e66b66d
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/lan.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/nfs_mount.png b/IconThemes/slick/22x22/devices/nfs_mount.png
new file mode 100644
index 00000000..d700e271
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/nfs_unmount.png b/IconThemes/slick/22x22/devices/nfs_unmount.png
new file mode 100644
index 00000000..1fe6e5da
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/usbpendrive_mount.png b/IconThemes/slick/22x22/devices/usbpendrive_mount.png
new file mode 100644
index 00000000..16c5a15f
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/usbpendrive_mount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/devices/usbpendrive_unmount.png b/IconThemes/slick/22x22/devices/usbpendrive_unmount.png
new file mode 100644
index 00000000..e835e832
--- /dev/null
+++ b/IconThemes/slick/22x22/devices/usbpendrive_unmount.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/chardevice.png b/IconThemes/slick/22x22/filesystems/chardevice.png
new file mode 100644
index 00000000..ed59b04f
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/desktop.png b/IconThemes/slick/22x22/filesystems/desktop.png
new file mode 100644
index 00000000..7c25b573
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/drawer_metal.png b/IconThemes/slick/22x22/filesystems/drawer_metal.png
new file mode 100644
index 00000000..e383db42
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/drawer_metal.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/file_broken.png b/IconThemes/slick/22x22/filesystems/file_broken.png
new file mode 100644
index 00000000..897a8467
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/file_important.png b/IconThemes/slick/22x22/filesystems/file_important.png
new file mode 100644
index 00000000..a90f5f0d
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/file_locked.png b/IconThemes/slick/22x22/filesystems/file_locked.png
new file mode 100644
index 00000000..91ff1742
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder.png b/IconThemes/slick/22x22/filesystems/folder.png
new file mode 100644
index 00000000..9293aea7
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_blue.png b/IconThemes/slick/22x22/filesystems/folder_blue.png
new file mode 100644
index 00000000..6f9ff649
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_develop.png b/IconThemes/slick/22x22/filesystems/folder_develop.png
new file mode 100644
index 00000000..b4d2e0b6
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_develop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_green.png b/IconThemes/slick/22x22/filesystems/folder_green.png
new file mode 100644
index 00000000..1838fa6a
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_grey.png b/IconThemes/slick/22x22/filesystems/folder_grey.png
new file mode 100644
index 00000000..106a7661
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_home.png b/IconThemes/slick/22x22/filesystems/folder_home.png
new file mode 100644
index 00000000..90b3eee7
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_image.png b/IconThemes/slick/22x22/filesystems/folder_image.png
new file mode 100644
index 00000000..2e494952
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_locked.png b/IconThemes/slick/22x22/filesystems/folder_locked.png
new file mode 100644
index 00000000..969ba6a2
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_mail.png b/IconThemes/slick/22x22/filesystems/folder_mail.png
new file mode 100644
index 00000000..1cdc71ba
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_mail.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_open.png b/IconThemes/slick/22x22/filesystems/folder_open.png
new file mode 100644
index 00000000..76646cd8
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_sound.png b/IconThemes/slick/22x22/filesystems/folder_sound.png
new file mode 100644
index 00000000..bf0dc042
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_txt.png b/IconThemes/slick/22x22/filesystems/folder_txt.png
new file mode 100644
index 00000000..7f2221b5
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/folder_video.png b/IconThemes/slick/22x22/filesystems/folder_video.png
new file mode 100644
index 00000000..75428ae4
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/link.png b/IconThemes/slick/22x22/filesystems/link.png
new file mode 100644
index 00000000..2f6cc343
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/link.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/lockoverlay.png b/IconThemes/slick/22x22/filesystems/lockoverlay.png
new file mode 100644
index 00000000..d99721cc
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/mime_empty.png b/IconThemes/slick/22x22/filesystems/mime_empty.png
new file mode 100644
index 00000000..dc8a3d6e
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/network.png b/IconThemes/slick/22x22/filesystems/network.png
new file mode 100644
index 00000000..548bdde4
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/network.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/network_local.png b/IconThemes/slick/22x22/filesystems/network_local.png
new file mode 100644
index 00000000..d5cce7f8
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/pipe.png b/IconThemes/slick/22x22/filesystems/pipe.png
new file mode 100644
index 00000000..97bcc572
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/server.png b/IconThemes/slick/22x22/filesystems/server.png
new file mode 100644
index 00000000..cb9f6be9
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/server.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/server2.png b/IconThemes/slick/22x22/filesystems/server2.png
new file mode 100644
index 00000000..777c580e
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/server2.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/socket.png b/IconThemes/slick/22x22/filesystems/socket.png
new file mode 100644
index 00000000..1e66b66d
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/system.png b/IconThemes/slick/22x22/filesystems/system.png
new file mode 100644
index 00000000..132367e7
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/system.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/trashcan_empty.png b/IconThemes/slick/22x22/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..752fdf2f
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/trashcan_full.png b/IconThemes/slick/22x22/filesystems/trashcan_full.png
new file mode 100644
index 00000000..3a97dfad
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/slick/22x22/filesystems/www.png b/IconThemes/slick/22x22/filesystems/www.png
new file mode 100644
index 00000000..548bdde4
--- /dev/null
+++ b/IconThemes/slick/22x22/filesystems/www.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/ascii.png b/IconThemes/slick/22x22/mimetypes/ascii.png
new file mode 100644
index 00000000..26ac568f
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/binary.png b/IconThemes/slick/22x22/mimetypes/binary.png
new file mode 100644
index 00000000..9a82f960
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/cdtrack.png b/IconThemes/slick/22x22/mimetypes/cdtrack.png
new file mode 100644
index 00000000..8a338bac
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/core.png b/IconThemes/slick/22x22/mimetypes/core.png
new file mode 100644
index 00000000..1b7fbcdc
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/deb.png b/IconThemes/slick/22x22/mimetypes/deb.png
new file mode 100644
index 00000000..946e07dd
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/develop.png b/IconThemes/slick/22x22/mimetypes/develop.png
new file mode 100644
index 00000000..ba6c571d
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/develop.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/disk_image.png b/IconThemes/slick/22x22/mimetypes/disk_image.png
new file mode 100644
index 00000000..1df70be5
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/disk_image.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/document.png b/IconThemes/slick/22x22/mimetypes/document.png
new file mode 100644
index 00000000..8a447013
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/font.png b/IconThemes/slick/22x22/mimetypes/font.png
new file mode 100644
index 00000000..d93b9ec8
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/font.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/font_bitmap.png b/IconThemes/slick/22x22/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..d93b9ec8
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/font_truetype.png b/IconThemes/slick/22x22/mimetypes/font_truetype.png
new file mode 100644
index 00000000..02f7f6f8
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/html.png b/IconThemes/slick/22x22/mimetypes/html.png
new file mode 100644
index 00000000..1063606e
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/image.png b/IconThemes/slick/22x22/mimetypes/image.png
new file mode 100644
index 00000000..8ec0a6cb
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/info.png b/IconThemes/slick/22x22/mimetypes/info.png
new file mode 100644
index 00000000..8229b982
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/kmultiple.png b/IconThemes/slick/22x22/mimetypes/kmultiple.png
new file mode 100644
index 00000000..485cc80d
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/kword_kwd.png b/IconThemes/slick/22x22/mimetypes/kword_kwd.png
new file mode 100644
index 00000000..81f9bdf2
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/kword_kwd.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/log.png b/IconThemes/slick/22x22/mimetypes/log.png
new file mode 100644
index 00000000..379a73f9
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/message.png b/IconThemes/slick/22x22/mimetypes/message.png
new file mode 100644
index 00000000..379a73f9
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/mime_empty.png b/IconThemes/slick/22x22/mimetypes/mime_empty.png
new file mode 100644
index 00000000..dc8a3d6e
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/pdf.png b/IconThemes/slick/22x22/mimetypes/pdf.png
new file mode 100644
index 00000000..b7ad8c21
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/pov.png b/IconThemes/slick/22x22/mimetypes/pov.png
new file mode 100644
index 00000000..1b7fbcdc
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/pov.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/real_doc.png b/IconThemes/slick/22x22/mimetypes/real_doc.png
new file mode 100644
index 00000000..b228bf70
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/recycled.png b/IconThemes/slick/22x22/mimetypes/recycled.png
new file mode 100644
index 00000000..c97061dc
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/resource.png b/IconThemes/slick/22x22/mimetypes/resource.png
new file mode 100644
index 00000000..7699df14
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/rpm.png b/IconThemes/slick/22x22/mimetypes/rpm.png
new file mode 100644
index 00000000..040037df
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/shellscript.png b/IconThemes/slick/22x22/mimetypes/shellscript.png
new file mode 100644
index 00000000..1960978a
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/sound.png b/IconThemes/slick/22x22/mimetypes/sound.png
new file mode 100644
index 00000000..960c00a6
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/source_java.png b/IconThemes/slick/22x22/mimetypes/source_java.png
new file mode 100644
index 00000000..fd078237
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/source_moc.png b/IconThemes/slick/22x22/mimetypes/source_moc.png
new file mode 100644
index 00000000..5f6b962c
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/tar.png b/IconThemes/slick/22x22/mimetypes/tar.png
new file mode 100644
index 00000000..ce8dad48
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/text.png b/IconThemes/slick/22x22/mimetypes/text.png
new file mode 100644
index 00000000..df5f149a
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/text.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/text1.png b/IconThemes/slick/22x22/mimetypes/text1.png
new file mode 100644
index 00000000..6f84e324
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/text1.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/tgz.png b/IconThemes/slick/22x22/mimetypes/tgz.png
new file mode 100644
index 00000000..a0700997
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/unknown.png b/IconThemes/slick/22x22/mimetypes/unknown.png
new file mode 100644
index 00000000..1c340476
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/vectorgfx.png b/IconThemes/slick/22x22/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..dc8a3d6e
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/video.png b/IconThemes/slick/22x22/mimetypes/video.png
new file mode 100644
index 00000000..8e0667ad
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/webarchiver.png b/IconThemes/slick/22x22/mimetypes/webarchiver.png
new file mode 100644
index 00000000..89a0c53f
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/webarchiver.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/wordprocessing.png b/IconThemes/slick/22x22/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..df5f149a
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/22x22/mimetypes/workprocessing.png b/IconThemes/slick/22x22/mimetypes/workprocessing.png
new file mode 100644
index 00000000..df5f149a
--- /dev/null
+++ b/IconThemes/slick/22x22/mimetypes/workprocessing.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/1downarrow.png b/IconThemes/slick/32x32/actions/1downarrow.png
new file mode 100644
index 00000000..10bbce11
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/1downarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/1leftarrow.png b/IconThemes/slick/32x32/actions/1leftarrow.png
new file mode 100644
index 00000000..46618e4f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/1leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/1rightarrow.png b/IconThemes/slick/32x32/actions/1rightarrow.png
new file mode 100644
index 00000000..1ae28918
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/1rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/1uparrow.png b/IconThemes/slick/32x32/actions/1uparrow.png
new file mode 100644
index 00000000..41e0ddb4
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/1uparrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/2downarrow.png b/IconThemes/slick/32x32/actions/2downarrow.png
new file mode 100644
index 00000000..ca6dd43c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/2downarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/2leftarrow.png b/IconThemes/slick/32x32/actions/2leftarrow.png
new file mode 100644
index 00000000..08659c3c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/2leftarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/2rightarrow.png b/IconThemes/slick/32x32/actions/2rightarrow.png
new file mode 100644
index 00000000..9fcce450
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/2rightarrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/2uparrow.png b/IconThemes/slick/32x32/actions/2uparrow.png
new file mode 100644
index 00000000..438a4d25
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/2uparrow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/about_kde.png b/IconThemes/slick/32x32/actions/about_kde.png
new file mode 100644
index 00000000..14b35ba0
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/about_kde.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/apply.png b/IconThemes/slick/32x32/actions/apply.png
new file mode 100644
index 00000000..08e5950f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/apply.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/attach.png b/IconThemes/slick/32x32/actions/attach.png
new file mode 100644
index 00000000..3e03583b
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/attach.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/autozoom.png b/IconThemes/slick/32x32/actions/autozoom.png
new file mode 100644
index 00000000..9f253eb7
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/autozoom.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/babelfish.png b/IconThemes/slick/32x32/actions/babelfish.png
new file mode 100644
index 00000000..c4ef7f82
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/babelfish.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/back.png b/IconThemes/slick/32x32/actions/back.png
new file mode 100644
index 00000000..13c8e54e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/back.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/blank.png b/IconThemes/slick/32x32/actions/blank.png
new file mode 100644
index 00000000..b2a14ef2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/blank.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/bookmark.png b/IconThemes/slick/32x32/actions/bookmark.png
new file mode 100644
index 00000000..9a468ce5
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/bookmark_add.png b/IconThemes/slick/32x32/actions/bookmark_add.png
new file mode 100644
index 00000000..555b7bc3
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/bottom.png b/IconThemes/slick/32x32/actions/bottom.png
new file mode 100644
index 00000000..b55fb56e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/bottom.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/button_cancel.png b/IconThemes/slick/32x32/actions/button_cancel.png
new file mode 100644
index 00000000..c6464d90
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/button_cancel.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/cancel.png b/IconThemes/slick/32x32/actions/cancel.png
new file mode 100644
index 00000000..46fb68c9
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/cancel.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/cdcopy.png b/IconThemes/slick/32x32/actions/cdcopy.png
new file mode 100644
index 00000000..6f5e6174
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/cdcopy.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/cdrwblank.png b/IconThemes/slick/32x32/actions/cdrwblank.png
new file mode 100644
index 00000000..7119f900
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/cdrwblank.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/colorpicker.png b/IconThemes/slick/32x32/actions/colorpicker.png
new file mode 100644
index 00000000..ae391595
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/colorpicker.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/configure.png b/IconThemes/slick/32x32/actions/configure.png
new file mode 100644
index 00000000..9a0b14d3
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/configure.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/connect_creating.png b/IconThemes/slick/32x32/actions/connect_creating.png
new file mode 100644
index 00000000..04e07013
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/connect_creating.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/connect_established.png b/IconThemes/slick/32x32/actions/connect_established.png
new file mode 100644
index 00000000..65f19dd7
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/connect_established.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/connect_no.png b/IconThemes/slick/32x32/actions/connect_no.png
new file mode 100644
index 00000000..f8b4b842
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/connect_no.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/contents.png b/IconThemes/slick/32x32/actions/contents.png
new file mode 100644
index 00000000..8da408f2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/contents.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/decrypted.png b/IconThemes/slick/32x32/actions/decrypted.png
new file mode 100644
index 00000000..4bd70f94
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/decrypted.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/define_clip.png b/IconThemes/slick/32x32/actions/define_clip.png
new file mode 100644
index 00000000..464abeb8
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/define_clip.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/domtreeviewer.png b/IconThemes/slick/32x32/actions/domtreeviewer.png
new file mode 100644
index 00000000..2dabb9d2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/domtreeviewer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/down.png b/IconThemes/slick/32x32/actions/down.png
new file mode 100644
index 00000000..2fa00f4b
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/down.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/edit.png b/IconThemes/slick/32x32/actions/edit.png
new file mode 100644
index 00000000..d22af047
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/edit.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/editcopy.png b/IconThemes/slick/32x32/actions/editcopy.png
new file mode 100644
index 00000000..40b85e78
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/editcopy.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/editcut.png b/IconThemes/slick/32x32/actions/editcut.png
new file mode 100644
index 00000000..7a441eb5
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/editcut.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/editdelete.png b/IconThemes/slick/32x32/actions/editdelete.png
new file mode 100644
index 00000000..9c496428
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/editdelete.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/editpaste.png b/IconThemes/slick/32x32/actions/editpaste.png
new file mode 100644
index 00000000..ca0c5ea7
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/editpaste.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/editshred.png b/IconThemes/slick/32x32/actions/editshred.png
new file mode 100644
index 00000000..3a5c452f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/editshred.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/edittrash.png b/IconThemes/slick/32x32/actions/edittrash.png
new file mode 100644
index 00000000..36028aae
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/edittrash.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/encrypted.png b/IconThemes/slick/32x32/actions/encrypted.png
new file mode 100644
index 00000000..0fc41f5c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/exec.png b/IconThemes/slick/32x32/actions/exec.png
new file mode 100644
index 00000000..e88f67eb
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/exec.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/exit.png b/IconThemes/slick/32x32/actions/exit.png
new file mode 100644
index 00000000..9e4017f4
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/exit.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/fileclose.png b/IconThemes/slick/32x32/actions/fileclose.png
new file mode 100644
index 00000000..0e1773ce
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/fileclose.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filefind.png b/IconThemes/slick/32x32/actions/filefind.png
new file mode 100644
index 00000000..77043688
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filefind.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filenew.png b/IconThemes/slick/32x32/actions/filenew.png
new file mode 100644
index 00000000..2571387f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filenew.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/fileopen.png b/IconThemes/slick/32x32/actions/fileopen.png
new file mode 100644
index 00000000..367638a0
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/fileprint.png b/IconThemes/slick/32x32/actions/fileprint.png
new file mode 100644
index 00000000..8eca7651
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filequickprint.png b/IconThemes/slick/32x32/actions/filequickprint.png
new file mode 100644
index 00000000..c16e8af5
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filequickprint.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filesave.png b/IconThemes/slick/32x32/actions/filesave.png
new file mode 100644
index 00000000..ea983ab4
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filesave.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filesaveas.png b/IconThemes/slick/32x32/actions/filesaveas.png
new file mode 100644
index 00000000..758b6e5e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filesaveas.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/filter.png b/IconThemes/slick/32x32/actions/filter.png
new file mode 100644
index 00000000..a9d25fa5
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/filter.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/find.png b/IconThemes/slick/32x32/actions/find.png
new file mode 100644
index 00000000..fec671c0
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/find.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/finish.png b/IconThemes/slick/32x32/actions/finish.png
new file mode 100644
index 00000000..4c1eee19
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/finish.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/flip.png b/IconThemes/slick/32x32/actions/flip.png
new file mode 100644
index 00000000..684a7ecf
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/flip.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/folder_new.png b/IconThemes/slick/32x32/actions/folder_new.png
new file mode 100644
index 00000000..d61b2412
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/folder_new.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/fork.png b/IconThemes/slick/32x32/actions/fork.png
new file mode 100644
index 00000000..67d08ef6
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/fork.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/forward.png b/IconThemes/slick/32x32/actions/forward.png
new file mode 100644
index 00000000..2c1b146f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/forward.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/frameprint.png b/IconThemes/slick/32x32/actions/frameprint.png
new file mode 100644
index 00000000..56d74c70
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/frameprint.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/fsview.png b/IconThemes/slick/32x32/actions/fsview.png
new file mode 100644
index 00000000..3748583d
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/fsview.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/gear.png b/IconThemes/slick/32x32/actions/gear.png
new file mode 100644
index 00000000..337a7d9f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/gear.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/gohome.1.png b/IconThemes/slick/32x32/actions/gohome.1.png
new file mode 100644
index 00000000..c23344fc
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/gohome.1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/gohome.png b/IconThemes/slick/32x32/actions/gohome.png
new file mode 100644
index 00000000..eb174f5f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/gohome.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/halfencrypted.png b/IconThemes/slick/32x32/actions/halfencrypted.png
new file mode 100644
index 00000000..abce4ba1
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/halfencrypted.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/help.png b/IconThemes/slick/32x32/actions/help.png
new file mode 100644
index 00000000..9f64aeee
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/help.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/history.png b/IconThemes/slick/32x32/actions/history.png
new file mode 100644
index 00000000..de1e0b2d
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/history.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/idea.png b/IconThemes/slick/32x32/actions/idea.png
new file mode 100644
index 00000000..08e5950f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/idea.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/identity.png b/IconThemes/slick/32x32/actions/identity.png
new file mode 100644
index 00000000..989d19f8
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/identity.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/imagegallery.png b/IconThemes/slick/32x32/actions/imagegallery.png
new file mode 100644
index 00000000..540f0bef
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/imagegallery.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kde.png b/IconThemes/slick/32x32/actions/kde.png
new file mode 100644
index 00000000..0194f6bf
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kde.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kde1.png b/IconThemes/slick/32x32/actions/kde1.png
new file mode 100644
index 00000000..d498eb4e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kde1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/khtml_kget.png b/IconThemes/slick/32x32/actions/khtml_kget.png
new file mode 100644
index 00000000..5cb66552
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/khtml_kget.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/klipper_dock.png b/IconThemes/slick/32x32/actions/klipper_dock.png
new file mode 100644
index 00000000..41dc4691
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/klipper_dock.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_contacts.png b/IconThemes/slick/32x32/actions/kontact_contacts.png
new file mode 100644
index 00000000..d728fedf
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_contacts.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_date.png b/IconThemes/slick/32x32/actions/kontact_date.png
new file mode 100644
index 00000000..5af521a9
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_date.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_journal.png b/IconThemes/slick/32x32/actions/kontact_journal.png
new file mode 100644
index 00000000..ee7344a4
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_journal.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_mail.png b/IconThemes/slick/32x32/actions/kontact_mail.png
new file mode 100644
index 00000000..2f703262
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_mail.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_news.png b/IconThemes/slick/32x32/actions/kontact_news.png
new file mode 100644
index 00000000..eeadb02c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_news.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_notes.png b/IconThemes/slick/32x32/actions/kontact_notes.png
new file mode 100644
index 00000000..7ca1ba96
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_notes.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_summary.png b/IconThemes/slick/32x32/actions/kontact_summary.png
new file mode 100644
index 00000000..cf659341
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_summary.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/kontact_todo.png b/IconThemes/slick/32x32/actions/kontact_todo.png
new file mode 100644
index 00000000..de7e319a
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/kontact_todo.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/lock.png b/IconThemes/slick/32x32/actions/lock.png
new file mode 100644
index 00000000..9dde255f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/lock.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mag.png b/IconThemes/slick/32x32/actions/mag.png
new file mode 100644
index 00000000..886e9a93
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mag.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_find.png b/IconThemes/slick/32x32/actions/mail_find.png
new file mode 100644
index 00000000..bce45244
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_find.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_forward.png b/IconThemes/slick/32x32/actions/mail_forward.png
new file mode 100644
index 00000000..3f186391
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_forward.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_generic.png b/IconThemes/slick/32x32/actions/mail_generic.png
new file mode 100644
index 00000000..4c70bf99
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_generic.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_get.png b/IconThemes/slick/32x32/actions/mail_get.png
new file mode 100644
index 00000000..c556c2a6
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_get.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_new.png b/IconThemes/slick/32x32/actions/mail_new.png
new file mode 100644
index 00000000..aac3294f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_new.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_reply.png b/IconThemes/slick/32x32/actions/mail_reply.png
new file mode 100644
index 00000000..2a945223
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_reply.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_replyall.png b/IconThemes/slick/32x32/actions/mail_replyall.png
new file mode 100644
index 00000000..85021819
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_replyall.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_replylist.png b/IconThemes/slick/32x32/actions/mail_replylist.png
new file mode 100644
index 00000000..b0e65fbb
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_replylist.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/mail_send.png b/IconThemes/slick/32x32/actions/mail_send.png
new file mode 100644
index 00000000..2330f694
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/mail_send.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/medthumbnails.png b/IconThemes/slick/32x32/actions/medthumbnails.png
new file mode 100644
index 00000000..2c250d7d
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/medthumbnails.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/messagebox_critical.png b/IconThemes/slick/32x32/actions/messagebox_critical.png
new file mode 100644
index 00000000..4cc273b7
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/messagebox_critical.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/messagebox_info.png b/IconThemes/slick/32x32/actions/messagebox_info.png
new file mode 100644
index 00000000..bcd4962e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/messagebox_info.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/messagebox_warning.png b/IconThemes/slick/32x32/actions/messagebox_warning.png
new file mode 100644
index 00000000..fe17358a
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/messagebox_warning.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/messagebox_warning2.png b/IconThemes/slick/32x32/actions/messagebox_warning2.png
new file mode 100644
index 00000000..ae723b20
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/messagebox_warning2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/miror.png b/IconThemes/slick/32x32/actions/miror.png
new file mode 100644
index 00000000..26495228
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/miror.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/misc.png b/IconThemes/slick/32x32/actions/misc.png
new file mode 100644
index 00000000..337a7d9f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/misc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/move.png b/IconThemes/slick/32x32/actions/move.png
new file mode 100644
index 00000000..32966d83
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/move.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/multisynk.png b/IconThemes/slick/32x32/actions/multisynk.png
new file mode 100644
index 00000000..e5262bda
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/multisynk.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/news.png b/IconThemes/slick/32x32/actions/news.png
new file mode 100644
index 00000000..13b5ca94
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/news.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/news_subscribe.png b/IconThemes/slick/32x32/actions/news_subscribe.png
new file mode 100644
index 00000000..846e6a59
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/news_subscribe.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/news_unsubscribe.png b/IconThemes/slick/32x32/actions/news_unsubscribe.png
new file mode 100644
index 00000000..b66a9f14
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/news_unsubscribe.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/next.png b/IconThemes/slick/32x32/actions/next.png
new file mode 100644
index 00000000..82d07730
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/next.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/openterm.png b/IconThemes/slick/32x32/actions/openterm.png
new file mode 100644
index 00000000..ab19e553
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/openterm.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/opentermblue.png b/IconThemes/slick/32x32/actions/opentermblue.png
new file mode 100644
index 00000000..36adb017
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/opentermblue.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_eject.png b/IconThemes/slick/32x32/actions/player_eject.png
new file mode 100644
index 00000000..92974088
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_eject.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_end.png b/IconThemes/slick/32x32/actions/player_end.png
new file mode 100644
index 00000000..ba31cff3
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_end.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_pause.png b/IconThemes/slick/32x32/actions/player_pause.png
new file mode 100644
index 00000000..b3968731
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_pause.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_play.png b/IconThemes/slick/32x32/actions/player_play.png
new file mode 100644
index 00000000..1ae28918
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_play.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_start.png b/IconThemes/slick/32x32/actions/player_start.png
new file mode 100644
index 00000000..717076ad
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_start.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/player_stop.png b/IconThemes/slick/32x32/actions/player_stop.png
new file mode 100644
index 00000000..4c400fe2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/player_stop.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/previous.png b/IconThemes/slick/32x32/actions/previous.png
new file mode 100644
index 00000000..2a2a83ad
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/previous.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/queue.png b/IconThemes/slick/32x32/actions/queue.png
new file mode 100644
index 00000000..10092ffc
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/queue.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/redo.png b/IconThemes/slick/32x32/actions/redo.png
new file mode 100644
index 00000000..03912a37
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/redo.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/reload.png b/IconThemes/slick/32x32/actions/reload.png
new file mode 100644
index 00000000..53856756
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/reload.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/reload1.png b/IconThemes/slick/32x32/actions/reload1.png
new file mode 100644
index 00000000..54b96a7e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/reload1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/revert.png b/IconThemes/slick/32x32/actions/revert.png
new file mode 100644
index 00000000..be429515
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/revert.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/rotate.png b/IconThemes/slick/32x32/actions/rotate.png
new file mode 100644
index 00000000..90c7bd6e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/rotate.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/rotate_ccw.png b/IconThemes/slick/32x32/actions/rotate_ccw.png
new file mode 100644
index 00000000..5207d078
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/rotate_ccw.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/rotate_cw.png b/IconThemes/slick/32x32/actions/rotate_cw.png
new file mode 100644
index 00000000..e2b09de6
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/rotate_cw.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/rotation_acw.png b/IconThemes/slick/32x32/actions/rotation_acw.png
new file mode 100644
index 00000000..b3586bb1
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/rotation_acw.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/rotation_cw.png b/IconThemes/slick/32x32/actions/rotation_cw.png
new file mode 100644
index 00000000..5ce45b91
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/rotation_cw.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/run.png b/IconThemes/slick/32x32/actions/run.png
new file mode 100644
index 00000000..8b8dc1f9
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/run.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/share.png b/IconThemes/slick/32x32/actions/share.png
new file mode 100644
index 00000000..5c9ad174
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/share.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/showmenu.png b/IconThemes/slick/32x32/actions/showmenu.png
new file mode 100644
index 00000000..7a63219b
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/showmenu.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/smallthumbnails.png b/IconThemes/slick/32x32/actions/smallthumbnails.png
new file mode 100644
index 00000000..27d35568
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/smallthumbnails.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/spellcheck.png b/IconThemes/slick/32x32/actions/spellcheck.png
new file mode 100644
index 00000000..1e23598f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/spellcheck.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/start.png b/IconThemes/slick/32x32/actions/start.png
new file mode 100644
index 00000000..50400d56
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/start.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/stop.png b/IconThemes/slick/32x32/actions/stop.png
new file mode 100644
index 00000000..bb156167
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/stop.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/text_bold.png b/IconThemes/slick/32x32/actions/text_bold.png
new file mode 100644
index 00000000..1ff513a1
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/text_bold.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/text_italic.png b/IconThemes/slick/32x32/actions/text_italic.png
new file mode 100644
index 00000000..4135c043
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/text_italic.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/text_under.png b/IconThemes/slick/32x32/actions/text_under.png
new file mode 100644
index 00000000..a61789c6
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/text_under.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/thumbnail.png b/IconThemes/slick/32x32/actions/thumbnail.png
new file mode 100644
index 00000000..36cf5c0e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/thumbnail.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/top.png b/IconThemes/slick/32x32/actions/top.png
new file mode 100644
index 00000000..56d90f5e
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/top.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/undo.png b/IconThemes/slick/32x32/actions/undo.png
new file mode 100644
index 00000000..cc626884
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/undo.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/unlock.png b/IconThemes/slick/32x32/actions/unlock.png
new file mode 100644
index 00000000..7c81a488
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/unlock.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/up.png b/IconThemes/slick/32x32/actions/up.png
new file mode 100644
index 00000000..4c46de0b
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/up.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_choose.png b/IconThemes/slick/32x32/actions/view_choose.png
new file mode 100644
index 00000000..d99aeaea
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_choose.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_detailed.png b/IconThemes/slick/32x32/actions/view_detailed.png
new file mode 100644
index 00000000..22a4a6b1
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_detailed.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_icon.png b/IconThemes/slick/32x32/actions/view_icon.png
new file mode 100644
index 00000000..7cce57f3
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_icon.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_multicolumn.png b/IconThemes/slick/32x32/actions/view_multicolumn.png
new file mode 100644
index 00000000..154eedb3
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_multicolumn.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_sidetree.png b/IconThemes/slick/32x32/actions/view_sidetree.png
new file mode 100644
index 00000000..582074bb
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_sidetree.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_text.png b/IconThemes/slick/32x32/actions/view_text.png
new file mode 100644
index 00000000..9194a10c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_text.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/view_tree.png b/IconThemes/slick/32x32/actions/view_tree.png
new file mode 100644
index 00000000..ed491655
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/view_tree.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag+.png b/IconThemes/slick/32x32/actions/viewmag+.png
new file mode 100644
index 00000000..b28edbbf
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag+.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag-.png b/IconThemes/slick/32x32/actions/viewmag-.png
new file mode 100644
index 00000000..f59f17cc
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag-.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag.png b/IconThemes/slick/32x32/actions/viewmag.png
new file mode 100644
index 00000000..aa420014
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_bis+.png b/IconThemes/slick/32x32/actions/viewmag_bis+.png
new file mode 100644
index 00000000..188015e2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_bis+.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_bis-.png b/IconThemes/slick/32x32/actions/viewmag_bis-.png
new file mode 100644
index 00000000..635ebf48
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_bis-.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_factor.png b/IconThemes/slick/32x32/actions/viewmag_factor.png
new file mode 100644
index 00000000..b6d2e860
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_factor.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_full.png b/IconThemes/slick/32x32/actions/viewmag_full.png
new file mode 100644
index 00000000..9f253eb7
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_full.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_h.png b/IconThemes/slick/32x32/actions/viewmag_h.png
new file mode 100644
index 00000000..cf790dc2
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_h.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_lock.png b/IconThemes/slick/32x32/actions/viewmag_lock.png
new file mode 100644
index 00000000..e2bf729c
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_lock.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_no.png b/IconThemes/slick/32x32/actions/viewmag_no.png
new file mode 100644
index 00000000..b56466d6
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_no.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_old.png b/IconThemes/slick/32x32/actions/viewmag_old.png
new file mode 100644
index 00000000..5d6bbbdc
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_old.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmag_w.png b/IconThemes/slick/32x32/actions/viewmag_w.png
new file mode 100644
index 00000000..5433fe33
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmag_w.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/viewmagfit.png b/IconThemes/slick/32x32/actions/viewmagfit.png
new file mode 100644
index 00000000..f908da45
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/viewmagfit.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/window.png b/IconThemes/slick/32x32/actions/window.png
new file mode 100644
index 00000000..25b49ded
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/window.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/window_fullscreen.png b/IconThemes/slick/32x32/actions/window_fullscreen.png
new file mode 100644
index 00000000..7a081e4f
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/window_fullscreen.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/window_new.png b/IconThemes/slick/32x32/actions/window_new.png
new file mode 100644
index 00000000..0188ddea
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/window_new.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/window_nofullscreen.png b/IconThemes/slick/32x32/actions/window_nofullscreen.png
new file mode 100644
index 00000000..a52fa788
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/window_nofullscreen.png
Binary files differ
diff --git a/IconThemes/slick/32x32/actions/wizard.png b/IconThemes/slick/32x32/actions/wizard.png
new file mode 100644
index 00000000..e1d426cc
--- /dev/null
+++ b/IconThemes/slick/32x32/actions/wizard.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/akregator.png b/IconThemes/slick/32x32/apps/akregator.png
new file mode 100644
index 00000000..8fb8ec37
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/akregator.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/ark.png b/IconThemes/slick/32x32/apps/ark.png
new file mode 100644
index 00000000..b2b476fb
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/ark.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/bell.png b/IconThemes/slick/32x32/apps/bell.png
new file mode 100644
index 00000000..8c040710
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/bell.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/camera.png b/IconThemes/slick/32x32/apps/camera.png
new file mode 100644
index 00000000..6972c51c
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/camera.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/clock.png b/IconThemes/slick/32x32/apps/clock.png
new file mode 100644
index 00000000..490f3018
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/clock.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/date.png b/IconThemes/slick/32x32/apps/date.png
new file mode 100644
index 00000000..5af521a9
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/date.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/energy.png b/IconThemes/slick/32x32/apps/energy.png
new file mode 100644
index 00000000..306a2d2e
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/energy.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/filetypes.png b/IconThemes/slick/32x32/apps/filetypes.png
new file mode 100644
index 00000000..869ef694
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/fonts.png b/IconThemes/slick/32x32/apps/fonts.png
new file mode 100644
index 00000000..fb9d6905
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/fonts.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/gimp.png b/IconThemes/slick/32x32/apps/gimp.png
new file mode 100644
index 00000000..cc6ec1d7
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/gimp.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/go.png b/IconThemes/slick/32x32/apps/go.png
new file mode 100644
index 00000000..319d88bc
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/go.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/help_index.png b/IconThemes/slick/32x32/apps/help_index.png
new file mode 100644
index 00000000..87c48348
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/help_index.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/icon-cartoon.png b/IconThemes/slick/32x32/apps/icon-cartoon.png
new file mode 100644
index 00000000..d5dd63d9
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/icon-cartoon.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/icons.png b/IconThemes/slick/32x32/apps/icons.png
new file mode 100644
index 00000000..0c9a73b1
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/icons.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/k3b.png b/IconThemes/slick/32x32/apps/k3b.png
new file mode 100644
index 00000000..ef4d1399
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/k3b.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kab.png b/IconThemes/slick/32x32/apps/kab.png
new file mode 100644
index 00000000..d728fedf
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kab.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kaddressbook.png b/IconThemes/slick/32x32/apps/kaddressbook.png
new file mode 100644
index 00000000..239a0c7d
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kaudiocreator.png b/IconThemes/slick/32x32/apps/kaudiocreator.png
new file mode 100644
index 00000000..f0f5a079
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kaudiocreator.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kchart.png b/IconThemes/slick/32x32/apps/kchart.png
new file mode 100644
index 00000000..d1f85e31
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kchart.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kcmkicker.png b/IconThemes/slick/32x32/apps/kcmkicker.png
new file mode 100644
index 00000000..91d1a4a9
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kcmmemory.png b/IconThemes/slick/32x32/apps/kcmmemory.png
new file mode 100644
index 00000000..df74a6a7
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kcmmemory.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kcmsystem.png b/IconThemes/slick/32x32/apps/kcmsystem.png
new file mode 100644
index 00000000..337a7d9f
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kcontrol.png b/IconThemes/slick/32x32/apps/kcontrol.png
new file mode 100644
index 00000000..915e9ca7
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kcontrol_2.png b/IconThemes/slick/32x32/apps/kcontrol_2.png
new file mode 100644
index 00000000..d00c4a51
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kcontrol_2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kdf.png b/IconThemes/slick/32x32/apps/kdf.png
new file mode 100644
index 00000000..60f80360
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kdf.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kdisknav.png b/IconThemes/slick/32x32/apps/kdisknav.png
new file mode 100644
index 00000000..05b1b0f7
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kfind.png b/IconThemes/slick/32x32/apps/kfind.png
new file mode 100644
index 00000000..1eba6fd4
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kfind.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kfm.png b/IconThemes/slick/32x32/apps/kfm.png
new file mode 100644
index 00000000..8df1a85b
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kfm.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kfm_home.png b/IconThemes/slick/32x32/apps/kfm_home.png
new file mode 100644
index 00000000..eb174f5f
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kformula.png b/IconThemes/slick/32x32/apps/kformula.png
new file mode 100644
index 00000000..204fef23
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kformula.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kget.png b/IconThemes/slick/32x32/apps/kget.png
new file mode 100644
index 00000000..28cccab2
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kget.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/khelpcenter.png b/IconThemes/slick/32x32/apps/khelpcenter.png
new file mode 100644
index 00000000..bcd4962e
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kicker.png b/IconThemes/slick/32x32/apps/kicker.png
new file mode 100644
index 00000000..fca02555
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kicker.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kjobviewer.png b/IconThemes/slick/32x32/apps/kjobviewer.png
new file mode 100644
index 00000000..05b95ce4
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/klpq.png b/IconThemes/slick/32x32/apps/klpq.png
new file mode 100644
index 00000000..5022682d
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/klpq.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kmail.png b/IconThemes/slick/32x32/apps/kmail.png
new file mode 100644
index 00000000..e471cade
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kmail.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kmenu.png b/IconThemes/slick/32x32/apps/kmenu.png
new file mode 100644
index 00000000..c41a88ad
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kmix.png b/IconThemes/slick/32x32/apps/kmix.png
new file mode 100644
index 00000000..8c040710
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kmix.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/knode.png b/IconThemes/slick/32x32/apps/knode.png
new file mode 100644
index 00000000..198891b1
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/knode.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/komba2.png b/IconThemes/slick/32x32/apps/komba2.png
new file mode 100644
index 00000000..6e43ff62
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/komba2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/konqueror.png b/IconThemes/slick/32x32/apps/konqueror.png
new file mode 100644
index 00000000..9d3cdc6b
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/konsole.png b/IconThemes/slick/32x32/apps/konsole.png
new file mode 100644
index 00000000..b5679eff
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/konsole.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kontact.png b/IconThemes/slick/32x32/apps/kontact.png
new file mode 100644
index 00000000..78ea2846
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kontact.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kontour.png b/IconThemes/slick/32x32/apps/kontour.png
new file mode 100644
index 00000000..ab212cff
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kontour.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kopete.png b/IconThemes/slick/32x32/apps/kopete.png
new file mode 100644
index 00000000..26083682
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kopete.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/korganizer.png b/IconThemes/slick/32x32/apps/korganizer.png
new file mode 100644
index 00000000..9c170a98
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kpackage.png b/IconThemes/slick/32x32/apps/kpackage.png
new file mode 100644
index 00000000..669599c8
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kpf.png b/IconThemes/slick/32x32/apps/kpf.png
new file mode 100644
index 00000000..e4a7c44c
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kpf.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kppp.png b/IconThemes/slick/32x32/apps/kppp.png
new file mode 100644
index 00000000..6d7f6563
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kppp.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kpresenter.png b/IconThemes/slick/32x32/apps/kpresenter.png
new file mode 100644
index 00000000..fa5366fc
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/krayon.png b/IconThemes/slick/32x32/apps/krayon.png
new file mode 100644
index 00000000..be9c7a48
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/krayon.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kreatecd.png b/IconThemes/slick/32x32/apps/kreatecd.png
new file mode 100644
index 00000000..36472e21
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kscreensaver.png b/IconThemes/slick/32x32/apps/kscreensaver.png
new file mode 100644
index 00000000..bf14c72c
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kspread.png b/IconThemes/slick/32x32/apps/kspread.png
new file mode 100644
index 00000000..ca0eae72
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kspread.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/ksysv.png b/IconThemes/slick/32x32/apps/ksysv.png
new file mode 100644
index 00000000..e32f76b6
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/ktip.png b/IconThemes/slick/32x32/apps/ktip.png
new file mode 100644
index 00000000..08e5950f
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/ktip.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kugar.png b/IconThemes/slick/32x32/apps/kugar.png
new file mode 100644
index 00000000..f9b93520
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kugar.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kword.png b/IconThemes/slick/32x32/apps/kword.png
new file mode 100644
index 00000000..03191520
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kword.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/kwrite.png b/IconThemes/slick/32x32/apps/kwrite.png
new file mode 100644
index 00000000..ee7344a4
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/laptop_battery.png b/IconThemes/slick/32x32/apps/laptop_battery.png
new file mode 100644
index 00000000..76296fc3
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/licq.png b/IconThemes/slick/32x32/apps/licq.png
new file mode 100644
index 00000000..b814da9d
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/licq.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/looknfeel.png b/IconThemes/slick/32x32/apps/looknfeel.png
new file mode 100644
index 00000000..c1a38200
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/mplayer.png b/IconThemes/slick/32x32/apps/mplayer.png
new file mode 100644
index 00000000..6b66317d
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/mplayer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/multimedia.png b/IconThemes/slick/32x32/apps/multimedia.png
new file mode 100644
index 00000000..8c040710
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/noatun.png b/IconThemes/slick/32x32/apps/noatun.png
new file mode 100644
index 00000000..07db5d5f
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/noatun.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/noatun2.png b/IconThemes/slick/32x32/apps/noatun2.png
new file mode 100644
index 00000000..521350f3
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/noatun2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/opera.png b/IconThemes/slick/32x32/apps/opera.png
new file mode 100644
index 00000000..0edffd98
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/opera.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package.png b/IconThemes/slick/32x32/apps/package.png
new file mode 100644
index 00000000..908b382b
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_development.png b/IconThemes/slick/32x32/apps/package_development.png
new file mode 100644
index 00000000..9d5f8264
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_development.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_editors.png b/IconThemes/slick/32x32/apps/package_editors.png
new file mode 100644
index 00000000..65c1a783
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_games.png b/IconThemes/slick/32x32/apps/package_games.png
new file mode 100644
index 00000000..a03a0616
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_games.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_games1.png b/IconThemes/slick/32x32/apps/package_games1.png
new file mode 100644
index 00000000..ef31470e
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_games1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_graphics.png b/IconThemes/slick/32x32/apps/package_graphics.png
new file mode 100644
index 00000000..6fb62daf
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_graphics1.png b/IconThemes/slick/32x32/apps/package_graphics1.png
new file mode 100644
index 00000000..7713025b
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_graphics1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_graphics2.png b/IconThemes/slick/32x32/apps/package_graphics2.png
new file mode 100644
index 00000000..673e9bf1
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_graphics2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_multimedia.png b/IconThemes/slick/32x32/apps/package_multimedia.png
new file mode 100644
index 00000000..990977da
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_network.png b/IconThemes/slick/32x32/apps/package_network.png
new file mode 100644
index 00000000..c23259f8
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_network.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_office.png b/IconThemes/slick/32x32/apps/package_office.png
new file mode 100644
index 00000000..01bdc698
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_office.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_settings.png b/IconThemes/slick/32x32/apps/package_settings.png
new file mode 100644
index 00000000..4f749d7e
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_system.png b/IconThemes/slick/32x32/apps/package_system.png
new file mode 100644
index 00000000..39d06edd
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_system.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_toys.png b/IconThemes/slick/32x32/apps/package_toys.png
new file mode 100644
index 00000000..252bfe24
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/package_utilities.png b/IconThemes/slick/32x32/apps/package_utilities.png
new file mode 100644
index 00000000..46182b56
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/penguin.png b/IconThemes/slick/32x32/apps/penguin.png
new file mode 100644
index 00000000..8a58d6c6
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/penguin.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/remote.png b/IconThemes/slick/32x32/apps/remote.png
new file mode 100644
index 00000000..3496b784
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/remote.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/samba.png b/IconThemes/slick/32x32/apps/samba.png
new file mode 100644
index 00000000..8daa15e9
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/samba.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/showimg.png b/IconThemes/slick/32x32/apps/showimg.png
new file mode 100644
index 00000000..4e50f9ec
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/showimg.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/smb4k.png b/IconThemes/slick/32x32/apps/smb4k.png
new file mode 100644
index 00000000..8daa15e9
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/smb4k.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/speaker.png b/IconThemes/slick/32x32/apps/speaker.png
new file mode 100644
index 00000000..6912f9e7
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/speaker.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/trees.png b/IconThemes/slick/32x32/apps/trees.png
new file mode 100644
index 00000000..1985ffb0
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/trees.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/tux.png b/IconThemes/slick/32x32/apps/tux.png
new file mode 100644
index 00000000..8a58d6c6
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/tux.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/vmware.png b/IconThemes/slick/32x32/apps/vmware.png
new file mode 100644
index 00000000..e6c33ba3
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/vmware.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/window_list.png b/IconThemes/slick/32x32/apps/window_list.png
new file mode 100644
index 00000000..0c9a73b1
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/window_list.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/xapp.png b/IconThemes/slick/32x32/apps/xapp.png
new file mode 100644
index 00000000..9e86a3ca
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/xapp.png
Binary files differ
diff --git a/IconThemes/slick/32x32/apps/xmms.png b/IconThemes/slick/32x32/apps/xmms.png
new file mode 100644
index 00000000..f84731f3
--- /dev/null
+++ b/IconThemes/slick/32x32/apps/xmms.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/3floppy_mount.png b/IconThemes/slick/32x32/devices/3floppy_mount.png
new file mode 100644
index 00000000..4dd9adf0
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/3floppy_unmount.png b/IconThemes/slick/32x32/devices/3floppy_unmount.png
new file mode 100644
index 00000000..c47d7a50
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/camera.png b/IconThemes/slick/32x32/devices/camera.png
new file mode 100644
index 00000000..6972c51c
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/camera.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cd.png b/IconThemes/slick/32x32/devices/cd.png
new file mode 100644
index 00000000..d64b7c6b
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cd.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdaudio_mount.png b/IconThemes/slick/32x32/devices/cdaudio_mount.png
new file mode 100644
index 00000000..f5cb8a92
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdaudio_unmount.png b/IconThemes/slick/32x32/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..62b3226c
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdrom_mount.png b/IconThemes/slick/32x32/devices/cdrom_mount.png
new file mode 100644
index 00000000..38ea925d
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdrom_unmount.png b/IconThemes/slick/32x32/devices/cdrom_unmount.png
new file mode 100644
index 00000000..90d0a7c4
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdwriter_mount.png b/IconThemes/slick/32x32/devices/cdwriter_mount.png
new file mode 100644
index 00000000..538228fb
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/cdwriter_unmount.png b/IconThemes/slick/32x32/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..e733b8a3
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/dvd_mount.png b/IconThemes/slick/32x32/devices/dvd_mount.png
new file mode 100644
index 00000000..d38f75cb
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/dvd_unmount.png b/IconThemes/slick/32x32/devices/dvd_unmount.png
new file mode 100644
index 00000000..300412d2
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_games.png b/IconThemes/slick/32x32/devices/hdd_games.png
new file mode 100644
index 00000000..c77c170a
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_games.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_gfx.png b/IconThemes/slick/32x32/devices/hdd_gfx.png
new file mode 100644
index 00000000..063c28fe
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_gfx.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_linux.png b/IconThemes/slick/32x32/devices/hdd_linux.png
new file mode 100644
index 00000000..fa189d50
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_linux.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_mount.png b/IconThemes/slick/32x32/devices/hdd_mount.png
new file mode 100644
index 00000000..004a52df
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_system.png b/IconThemes/slick/32x32/devices/hdd_system.png
new file mode 100644
index 00000000..f4a42a12
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_system.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_unmount.png b/IconThemes/slick/32x32/devices/hdd_unmount.png
new file mode 100644
index 00000000..f4a67bdc
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/hdd_www.png b/IconThemes/slick/32x32/devices/hdd_www.png
new file mode 100644
index 00000000..4196b9dd
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/hdd_www.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/memory.png b/IconThemes/slick/32x32/devices/memory.png
new file mode 100644
index 00000000..f7996994
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/memory.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/nfs_mount.png b/IconThemes/slick/32x32/devices/nfs_mount.png
new file mode 100644
index 00000000..24e13c2b
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/nfs_unmount.png b/IconThemes/slick/32x32/devices/nfs_unmount.png
new file mode 100644
index 00000000..64ce28ce
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/print_printer.png b/IconThemes/slick/32x32/devices/print_printer.png
new file mode 100644
index 00000000..c70d1808
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/printer1.png b/IconThemes/slick/32x32/devices/printer1.png
new file mode 100644
index 00000000..c70d1808
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/printer1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/printer2.png b/IconThemes/slick/32x32/devices/printer2.png
new file mode 100644
index 00000000..c70d1808
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/printer2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/usbpendrive_mount.png b/IconThemes/slick/32x32/devices/usbpendrive_mount.png
new file mode 100644
index 00000000..c6de13c3
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/usbpendrive_mount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/devices/usbpendrive_unmount.png b/IconThemes/slick/32x32/devices/usbpendrive_unmount.png
new file mode 100644
index 00000000..7dbf9e3f
--- /dev/null
+++ b/IconThemes/slick/32x32/devices/usbpendrive_unmount.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/blockdevice.png b/IconThemes/slick/32x32/filesystems/blockdevice.png
new file mode 100644
index 00000000..b3facf78
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/chardevice.png b/IconThemes/slick/32x32/filesystems/chardevice.png
new file mode 100644
index 00000000..ad97eceb
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/desktop.png b/IconThemes/slick/32x32/filesystems/desktop.png
new file mode 100644
index 00000000..74b52b2f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/documents.png b/IconThemes/slick/32x32/filesystems/documents.png
new file mode 100644
index 00000000..d448769c
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/documents.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/documents_3.png b/IconThemes/slick/32x32/filesystems/documents_3.png
new file mode 100644
index 00000000..c655d55e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/documents_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/drawer.png b/IconThemes/slick/32x32/filesystems/drawer.png
new file mode 100644
index 00000000..06c664f5
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/drawer.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/drawer_green.png b/IconThemes/slick/32x32/filesystems/drawer_green.png
new file mode 100644
index 00000000..37528c6b
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/drawer_green.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/drawer_metal.png b/IconThemes/slick/32x32/filesystems/drawer_metal.png
new file mode 100644
index 00000000..ba68f9f7
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/drawer_metal.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/drawer_open.png b/IconThemes/slick/32x32/filesystems/drawer_open.png
new file mode 100644
index 00000000..14bea84e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/drawer_open.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/drawer_red.png b/IconThemes/slick/32x32/filesystems/drawer_red.png
new file mode 100644
index 00000000..232d0810
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/drawer_red.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/exec.png b/IconThemes/slick/32x32/filesystems/exec.png
new file mode 100644
index 00000000..e90f08e9
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/file_broken.png b/IconThemes/slick/32x32/filesystems/file_broken.png
new file mode 100644
index 00000000..31cd40d7
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/file_important.png b/IconThemes/slick/32x32/filesystems/file_important.png
new file mode 100644
index 00000000..ccacfaca
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/file_locked.png b/IconThemes/slick/32x32/filesystems/file_locked.png
new file mode 100644
index 00000000..966f48bc
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/file_temporary.png b/IconThemes/slick/32x32/filesystems/file_temporary.png
new file mode 100644
index 00000000..4fb5c383
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/file_temporary.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder.png b/IconThemes/slick/32x32/filesystems/folder.png
new file mode 100644
index 00000000..c8f61a60
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_3.png b/IconThemes/slick/32x32/filesystems/folder_3.png
new file mode 100644
index 00000000..7fda9e81
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_blue.png b/IconThemes/slick/32x32/filesystems/folder_blue.png
new file mode 100644
index 00000000..be347f25
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_blue_3.png b/IconThemes/slick/32x32/filesystems/folder_blue_3.png
new file mode 100644
index 00000000..742ece4e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_blue_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_blue_open.png b/IconThemes/slick/32x32/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..be347f25
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_blue_open_3.png b/IconThemes/slick/32x32/filesystems/folder_blue_open_3.png
new file mode 100644
index 00000000..c72ed902
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_blue_open_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_configure.png b/IconThemes/slick/32x32/filesystems/folder_configure.png
new file mode 100644
index 00000000..d22eb06d
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_configure.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_dark.png b/IconThemes/slick/32x32/filesystems/folder_dark.png
new file mode 100644
index 00000000..a97ba0a4
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_dark.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_develop.png b/IconThemes/slick/32x32/filesystems/folder_develop.png
new file mode 100644
index 00000000..c3d947e4
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_develop.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_develop_3.png b/IconThemes/slick/32x32/filesystems/folder_develop_3.png
new file mode 100644
index 00000000..8bd36823
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_develop_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_exec.png b/IconThemes/slick/32x32/filesystems/folder_exec.png
new file mode 100644
index 00000000..8e3aa0a8
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_exec.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_exec_3.png b/IconThemes/slick/32x32/filesystems/folder_exec_3.png
new file mode 100644
index 00000000..e432664b
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_exec_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_green.png b/IconThemes/slick/32x32/filesystems/folder_green.png
new file mode 100644
index 00000000..b70e0678
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_green_3.png b/IconThemes/slick/32x32/filesystems/folder_green_3.png
new file mode 100644
index 00000000..be2451d5
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_green_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_green_open.png b/IconThemes/slick/32x32/filesystems/folder_green_open.png
new file mode 100644
index 00000000..63121226
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_green_open_3.png b/IconThemes/slick/32x32/filesystems/folder_green_open_3.png
new file mode 100644
index 00000000..75d47d24
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_green_open_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_grey.png b/IconThemes/slick/32x32/filesystems/folder_grey.png
new file mode 100644
index 00000000..a7ce806e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_grey_3.png b/IconThemes/slick/32x32/filesystems/folder_grey_3.png
new file mode 100644
index 00000000..98bfd992
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_grey_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_grey_open_3.png b/IconThemes/slick/32x32/filesystems/folder_grey_open_3.png
new file mode 100644
index 00000000..b0182ffb
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_grey_open_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_home.png b/IconThemes/slick/32x32/filesystems/folder_home.png
new file mode 100644
index 00000000..eb174f5f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_home_3.png b/IconThemes/slick/32x32/filesystems/folder_home_3.png
new file mode 100644
index 00000000..58896420
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_home_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_html.png b/IconThemes/slick/32x32/filesystems/folder_html.png
new file mode 100644
index 00000000..166c3a15
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_html_3.png b/IconThemes/slick/32x32/filesystems/folder_html_3.png
new file mode 100644
index 00000000..51943a00
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_html_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_image.png b/IconThemes/slick/32x32/filesystems/folder_image.png
new file mode 100644
index 00000000..fc2cee68
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_image_3.png b/IconThemes/slick/32x32/filesystems/folder_image_3.png
new file mode 100644
index 00000000..026eee7e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_image_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_important.png b/IconThemes/slick/32x32/filesystems/folder_important.png
new file mode 100644
index 00000000..76da319a
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_important_3.png b/IconThemes/slick/32x32/filesystems/folder_important_3.png
new file mode 100644
index 00000000..3b689b9d
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_important_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_light.png b/IconThemes/slick/32x32/filesystems/folder_light.png
new file mode 100644
index 00000000..3446b770
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_light.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_locked.png b/IconThemes/slick/32x32/filesystems/folder_locked.png
new file mode 100644
index 00000000..1c941cfd
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_locked_3.png b/IconThemes/slick/32x32/filesystems/folder_locked_3.png
new file mode 100644
index 00000000..fa7f5773
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_locked_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_mag.png b/IconThemes/slick/32x32/filesystems/folder_mag.png
new file mode 100644
index 00000000..21a6bfbc
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_mag.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_mail.png b/IconThemes/slick/32x32/filesystems/folder_mail.png
new file mode 100644
index 00000000..fcc68b7a
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_mail.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_metallic_3.png b/IconThemes/slick/32x32/filesystems/folder_metallic_3.png
new file mode 100644
index 00000000..b7daa3a8
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_metallic_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_news.png b/IconThemes/slick/32x32/filesystems/folder_news.png
new file mode 100644
index 00000000..8b6755c2
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_news.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_open.png b/IconThemes/slick/32x32/filesystems/folder_open.png
new file mode 100644
index 00000000..ff1a1805
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_open_3.png b/IconThemes/slick/32x32/filesystems/folder_open_3.png
new file mode 100644
index 00000000..9c529263
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_open_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_orange.png b/IconThemes/slick/32x32/filesystems/folder_orange.png
new file mode 100644
index 00000000..5dc5895f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_orange_3.png b/IconThemes/slick/32x32/filesystems/folder_orange_3.png
new file mode 100644
index 00000000..c6358a86
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_orange_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_orange_open_3.png b/IconThemes/slick/32x32/filesystems/folder_orange_open_3.png
new file mode 100644
index 00000000..eb248e02
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_orange_open_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_prefs.png b/IconThemes/slick/32x32/filesystems/folder_prefs.png
new file mode 100644
index 00000000..61d70f8a
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_prefs.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_purple.png b/IconThemes/slick/32x32/filesystems/folder_purple.png
new file mode 100644
index 00000000..cb44aac3
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_purple.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_recycle.png b/IconThemes/slick/32x32/filesystems/folder_recycle.png
new file mode 100644
index 00000000..e29218af
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_recycle.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_red.png b/IconThemes/slick/32x32/filesystems/folder_red.png
new file mode 100644
index 00000000..f9300ddc
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_red_3.png b/IconThemes/slick/32x32/filesystems/folder_red_3.png
new file mode 100644
index 00000000..fcc9e90b
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_red_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_shells.png b/IconThemes/slick/32x32/filesystems/folder_shells.png
new file mode 100644
index 00000000..a1dd7899
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_shells.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_sound.png b/IconThemes/slick/32x32/filesystems/folder_sound.png
new file mode 100644
index 00000000..a2bf3b7f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_sound_3.png b/IconThemes/slick/32x32/filesystems/folder_sound_3.png
new file mode 100644
index 00000000..b45463a0
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_sound_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_src.png b/IconThemes/slick/32x32/filesystems/folder_src.png
new file mode 100644
index 00000000..c8f61a60
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_src.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_tar.png b/IconThemes/slick/32x32/filesystems/folder_tar.png
new file mode 100644
index 00000000..8cfb2df0
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_trash.png b/IconThemes/slick/32x32/filesystems/folder_trash.png
new file mode 100644
index 00000000..47d9cf50
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_trash.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_tux.png b/IconThemes/slick/32x32/filesystems/folder_tux.png
new file mode 100644
index 00000000..e192e39a
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_tux.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_txt.png b/IconThemes/slick/32x32/filesystems/folder_txt.png
new file mode 100644
index 00000000..8651d5be
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_video.png b/IconThemes/slick/32x32/filesystems/folder_video.png
new file mode 100644
index 00000000..aa5dcd8f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_video_3.png b/IconThemes/slick/32x32/filesystems/folder_video_3.png
new file mode 100644
index 00000000..2983e436
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_video_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_yellow.png b/IconThemes/slick/32x32/filesystems/folder_yellow.png
new file mode 100644
index 00000000..1c40f47d
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_yellow_3.png b/IconThemes/slick/32x32/filesystems/folder_yellow_3.png
new file mode 100644
index 00000000..615731a8
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_yellow_3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/folder_yellow_open.png b/IconThemes/slick/32x32/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..969a95d3
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/link.png b/IconThemes/slick/32x32/filesystems/link.png
new file mode 100644
index 00000000..b31c27ef
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/link.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/lockoverlay.png b/IconThemes/slick/32x32/filesystems/lockoverlay.png
new file mode 100644
index 00000000..b423a128
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/network.png b/IconThemes/slick/32x32/filesystems/network.png
new file mode 100644
index 00000000..511ccf51
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/network.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/network_local.png b/IconThemes/slick/32x32/filesystems/network_local.png
new file mode 100644
index 00000000..5bb14a4e
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/pipe.png b/IconThemes/slick/32x32/filesystems/pipe.png
new file mode 100644
index 00000000..ee0e6ef5
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/server.png b/IconThemes/slick/32x32/filesystems/server.png
new file mode 100644
index 00000000..db1de88f
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/server.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/server2.png b/IconThemes/slick/32x32/filesystems/server2.png
new file mode 100644
index 00000000..fe536870
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/server2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/socket.png b/IconThemes/slick/32x32/filesystems/socket.png
new file mode 100644
index 00000000..4568636d
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/system.png b/IconThemes/slick/32x32/filesystems/system.png
new file mode 100644
index 00000000..dc877d6d
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/system.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/trashcan_empty.png b/IconThemes/slick/32x32/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..9904465c
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/trashcan_full.png b/IconThemes/slick/32x32/filesystems/trashcan_full.png
new file mode 100644
index 00000000..717c6597
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/www.png b/IconThemes/slick/32x32/filesystems/www.png
new file mode 100644
index 00000000..511ccf51
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/www.png
Binary files differ
diff --git a/IconThemes/slick/32x32/filesystems/zip.png b/IconThemes/slick/32x32/filesystems/zip.png
new file mode 100644
index 00000000..d760a2a2
--- /dev/null
+++ b/IconThemes/slick/32x32/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/applix.png b/IconThemes/slick/32x32/mimetypes/applix.png
new file mode 100644
index 00000000..74d9d9be
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/archive.png b/IconThemes/slick/32x32/mimetypes/archive.png
new file mode 100644
index 00000000..d24d92c5
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/archive.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/ascii.png b/IconThemes/slick/32x32/mimetypes/ascii.png
new file mode 100644
index 00000000..e15b2ae9
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/binary.png b/IconThemes/slick/32x32/mimetypes/binary.png
new file mode 100644
index 00000000..e90f08e9
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/binary2.png b/IconThemes/slick/32x32/mimetypes/binary2.png
new file mode 100644
index 00000000..1f9e6d4a
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/cdimage.png b/IconThemes/slick/32x32/mimetypes/cdimage.png
new file mode 100644
index 00000000..379a16f2
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/cdr.png b/IconThemes/slick/32x32/mimetypes/cdr.png
new file mode 100644
index 00000000..9d5f5887
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/cdr.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/cdtrack.png b/IconThemes/slick/32x32/mimetypes/cdtrack.png
new file mode 100644
index 00000000..9a8b5d1a
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/colorscm.png b/IconThemes/slick/32x32/mimetypes/colorscm.png
new file mode 100644
index 00000000..b83abc57
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/colorset.png b/IconThemes/slick/32x32/mimetypes/colorset.png
new file mode 100644
index 00000000..b83abc57
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/colorset.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/configure_script.png b/IconThemes/slick/32x32/mimetypes/configure_script.png
new file mode 100644
index 00000000..d7a1ab0b
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/configure_script.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/core.png b/IconThemes/slick/32x32/mimetypes/core.png
new file mode 100644
index 00000000..b1bc4c63
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/deb.png b/IconThemes/slick/32x32/mimetypes/deb.png
new file mode 100644
index 00000000..71dbdcc5
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/develop.png b/IconThemes/slick/32x32/mimetypes/develop.png
new file mode 100644
index 00000000..df327419
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/develop.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/disk_image.png b/IconThemes/slick/32x32/mimetypes/disk_image.png
new file mode 100644
index 00000000..bd612e45
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/disk_image.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/doc.png b/IconThemes/slick/32x32/mimetypes/doc.png
new file mode 100644
index 00000000..351a2f8d
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/doc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/document.png b/IconThemes/slick/32x32/mimetypes/document.png
new file mode 100644
index 00000000..351a2f8d
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/document2.png b/IconThemes/slick/32x32/mimetypes/document2.png
new file mode 100644
index 00000000..8def855a
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/dvi.png b/IconThemes/slick/32x32/mimetypes/dvi.png
new file mode 100644
index 00000000..88ae742e
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/font_bitmap.png b/IconThemes/slick/32x32/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..90ff4f52
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/font_truetype.png b/IconThemes/slick/32x32/mimetypes/font_truetype.png
new file mode 100644
index 00000000..97ed58e2
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/font_type1.png b/IconThemes/slick/32x32/mimetypes/font_type1.png
new file mode 100644
index 00000000..fb9d6905
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/html.png b/IconThemes/slick/32x32/mimetypes/html.png
new file mode 100644
index 00000000..3f5729c9
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/image.png b/IconThemes/slick/32x32/mimetypes/image.png
new file mode 100644
index 00000000..0275b422
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/info.png b/IconThemes/slick/32x32/mimetypes/info.png
new file mode 100644
index 00000000..d9f8cb2a
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/karchiveur_trash.png b/IconThemes/slick/32x32/mimetypes/karchiveur_trash.png
new file mode 100644
index 00000000..a045d992
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/karchiveur_trash.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/kmultiple.png b/IconThemes/slick/32x32/mimetypes/kmultiple.png
new file mode 100644
index 00000000..1b23017b
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/log.png b/IconThemes/slick/32x32/mimetypes/log.png
new file mode 100644
index 00000000..5a12d1bc
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/make.png b/IconThemes/slick/32x32/mimetypes/make.png
new file mode 100644
index 00000000..feb0aa18
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/man.png b/IconThemes/slick/32x32/mimetypes/man.png
new file mode 100644
index 00000000..69d36345
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/message.png b/IconThemes/slick/32x32/mimetypes/message.png
new file mode 100644
index 00000000..672d6ad4
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/midi.png b/IconThemes/slick/32x32/mimetypes/midi.png
new file mode 100644
index 00000000..8b589c07
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/mime_empty.png b/IconThemes/slick/32x32/mimetypes/mime_empty.png
new file mode 100644
index 00000000..9530155d
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/misc_doc.png b/IconThemes/slick/32x32/mimetypes/misc_doc.png
new file mode 100644
index 00000000..9e31d743
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/mp3.png b/IconThemes/slick/32x32/mimetypes/mp3.png
new file mode 100644
index 00000000..0eb109cb
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/mp3.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/netscape_doc.png b/IconThemes/slick/32x32/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..48ba82b2
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/pdf.png b/IconThemes/slick/32x32/mimetypes/pdf.png
new file mode 100644
index 00000000..c9e978f3
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/postscript.png b/IconThemes/slick/32x32/mimetypes/postscript.png
new file mode 100644
index 00000000..ab79394c
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/pov.png b/IconThemes/slick/32x32/mimetypes/pov.png
new file mode 100644
index 00000000..757f3762
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/pov.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/readme.png b/IconThemes/slick/32x32/mimetypes/readme.png
new file mode 100644
index 00000000..0d92fc23
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/real_doc.png b/IconThemes/slick/32x32/mimetypes/real_doc.png
new file mode 100644
index 00000000..46539cfc
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/recycled.png b/IconThemes/slick/32x32/mimetypes/recycled.png
new file mode 100644
index 00000000..493108c6
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/resource.png b/IconThemes/slick/32x32/mimetypes/resource.png
new file mode 100644
index 00000000..0af88713
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/rpm.png b/IconThemes/slick/32x32/mimetypes/rpm.png
new file mode 100644
index 00000000..1ad12820
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/ruby.png b/IconThemes/slick/32x32/mimetypes/ruby.png
new file mode 100644
index 00000000..c510299d
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/ruby.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/shellscript.png b/IconThemes/slick/32x32/mimetypes/shellscript.png
new file mode 100644
index 00000000..93b5a009
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/soffice.png b/IconThemes/slick/32x32/mimetypes/soffice.png
new file mode 100644
index 00000000..3c0bc6fa
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/soffice.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/sound.png b/IconThemes/slick/32x32/mimetypes/sound.png
new file mode 100644
index 00000000..6da784ea
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source.png b/IconThemes/slick/32x32/mimetypes/source.png
new file mode 100644
index 00000000..6ed732db
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_c.png b/IconThemes/slick/32x32/mimetypes/source_c.png
new file mode 100644
index 00000000..8c30c7ee
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_cpp.png b/IconThemes/slick/32x32/mimetypes/source_cpp.png
new file mode 100644
index 00000000..b4cb9cf9
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_f.png b/IconThemes/slick/32x32/mimetypes/source_f.png
new file mode 100644
index 00000000..14c39b02
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_h.png b/IconThemes/slick/32x32/mimetypes/source_h.png
new file mode 100644
index 00000000..82083252
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_java.png b/IconThemes/slick/32x32/mimetypes/source_java.png
new file mode 100644
index 00000000..d20ef5c3
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_l.png b/IconThemes/slick/32x32/mimetypes/source_l.png
new file mode 100644
index 00000000..5cab2066
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_moc.png b/IconThemes/slick/32x32/mimetypes/source_moc.png
new file mode 100644
index 00000000..c61d243f
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_o.png b/IconThemes/slick/32x32/mimetypes/source_o.png
new file mode 100644
index 00000000..37a0edcd
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_p.png b/IconThemes/slick/32x32/mimetypes/source_p.png
new file mode 100644
index 00000000..e3246336
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_pl.png b/IconThemes/slick/32x32/mimetypes/source_pl.png
new file mode 100644
index 00000000..3ba29556
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_py.png b/IconThemes/slick/32x32/mimetypes/source_py.png
new file mode 100644
index 00000000..0521715e
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_s.png b/IconThemes/slick/32x32/mimetypes/source_s.png
new file mode 100644
index 00000000..c5b828e6
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/source_y.png b/IconThemes/slick/32x32/mimetypes/source_y.png
new file mode 100644
index 00000000..b271e2a4
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/tar.png b/IconThemes/slick/32x32/mimetypes/tar.png
new file mode 100644
index 00000000..8f342e4c
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/tgz.png b/IconThemes/slick/32x32/mimetypes/tgz.png
new file mode 100644
index 00000000..7efcdfef
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/txt.png b/IconThemes/slick/32x32/mimetypes/txt.png
new file mode 100644
index 00000000..de7e319a
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/unknown.png b/IconThemes/slick/32x32/mimetypes/unknown.png
new file mode 100644
index 00000000..b5c681a2
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/vcard.png b/IconThemes/slick/32x32/mimetypes/vcard.png
new file mode 100644
index 00000000..ba9561df
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/video.png b/IconThemes/slick/32x32/mimetypes/video.png
new file mode 100644
index 00000000..1eaf7549
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/war.png b/IconThemes/slick/32x32/mimetypes/war.png
new file mode 100644
index 00000000..002d2cae
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/war.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/widget_doc.png b/IconThemes/slick/32x32/mimetypes/widget_doc.png
new file mode 100644
index 00000000..1de72ba5
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/wordprocessing.png b/IconThemes/slick/32x32/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..523cfa72
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/32x32/mimetypes/xcf.png b/IconThemes/slick/32x32/mimetypes/xcf.png
new file mode 100644
index 00000000..7cd1c523
--- /dev/null
+++ b/IconThemes/slick/32x32/mimetypes/xcf.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/cdcopy.png b/IconThemes/slick/48x48/actions/cdcopy.png
new file mode 100644
index 00000000..d06b2dcc
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/cdcopy.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/configure.png b/IconThemes/slick/48x48/actions/configure.png
new file mode 100644
index 00000000..5a05f977
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/configure.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/fileopen.png b/IconThemes/slick/48x48/actions/fileopen.png
new file mode 100644
index 00000000..8f2481c3
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/fileopen.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/fork.png b/IconThemes/slick/48x48/actions/fork.png
new file mode 100644
index 00000000..3b02c151
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/fork.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/gear.png b/IconThemes/slick/48x48/actions/gear.png
new file mode 100644
index 00000000..fb0f2de5
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/gear.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/gohome.png b/IconThemes/slick/48x48/actions/gohome.png
new file mode 100644
index 00000000..3f22c27d
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/gohome.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/help.png b/IconThemes/slick/48x48/actions/help.png
new file mode 100644
index 00000000..dc49825f
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/help.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_calender.png b/IconThemes/slick/48x48/actions/kontact_calender.png
new file mode 100644
index 00000000..8ec18924
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_calender.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_contacts.png b/IconThemes/slick/48x48/actions/kontact_contacts.png
new file mode 100644
index 00000000..7cc76a3a
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_contacts.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_date.png b/IconThemes/slick/48x48/actions/kontact_date.png
new file mode 100644
index 00000000..e81799d6
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_date.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_journal.png b/IconThemes/slick/48x48/actions/kontact_journal.png
new file mode 100644
index 00000000..58e24bb5
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_journal.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_mail.png b/IconThemes/slick/48x48/actions/kontact_mail.png
new file mode 100644
index 00000000..1bf3ec0a
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_mail.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_notes.png b/IconThemes/slick/48x48/actions/kontact_notes.png
new file mode 100644
index 00000000..5207eb2b
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_notes.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_summary.png b/IconThemes/slick/48x48/actions/kontact_summary.png
new file mode 100644
index 00000000..6322d0d4
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_summary.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/kontact_todo.png b/IconThemes/slick/48x48/actions/kontact_todo.png
new file mode 100644
index 00000000..66799cf3
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/kontact_todo.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/launch.png b/IconThemes/slick/48x48/actions/launch.png
new file mode 100644
index 00000000..3b02c151
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/launch.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/lock.png b/IconThemes/slick/48x48/actions/lock.png
new file mode 100644
index 00000000..5e8939be
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/lock.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/messagebox_critical.png b/IconThemes/slick/48x48/actions/messagebox_critical.png
new file mode 100644
index 00000000..6b52adbc
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/messagebox_critical.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/messagebox_info.png b/IconThemes/slick/48x48/actions/messagebox_info.png
new file mode 100644
index 00000000..4efd2fe7
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/messagebox_info.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/messagebox_warning.png b/IconThemes/slick/48x48/actions/messagebox_warning.png
new file mode 100644
index 00000000..6961b6c5
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/messagebox_warning.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/multisynk.png b/IconThemes/slick/48x48/actions/multisynk.png
new file mode 100644
index 00000000..4c6f1076
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/multisynk.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/player_play.png b/IconThemes/slick/48x48/actions/player_play.png
new file mode 100644
index 00000000..57a58f4d
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/player_play.png
Binary files differ
diff --git a/IconThemes/slick/48x48/actions/share.png b/IconThemes/slick/48x48/actions/share.png
new file mode 100644
index 00000000..00d99e02
--- /dev/null
+++ b/IconThemes/slick/48x48/actions/share.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/ark.png b/IconThemes/slick/48x48/apps/ark.png
new file mode 100644
index 00000000..3174a1fa
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/ark.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/background.png b/IconThemes/slick/48x48/apps/background.png
new file mode 100644
index 00000000..a81cbbd5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/background.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/bell.png b/IconThemes/slick/48x48/apps/bell.png
new file mode 100644
index 00000000..266140ff
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/bell.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/cdbakeoven.png b/IconThemes/slick/48x48/apps/cdbakeoven.png
new file mode 100644
index 00000000..b8b4089b
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/cdbakeoven.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/clock.png b/IconThemes/slick/48x48/apps/clock.png
new file mode 100644
index 00000000..e81799d6
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/clock.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/energy.png b/IconThemes/slick/48x48/apps/energy.png
new file mode 100644
index 00000000..b1c7c6b5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/energy.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/filetypes.png b/IconThemes/slick/48x48/apps/filetypes.png
new file mode 100644
index 00000000..cb0c7821
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/filetypes.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/fonts.png b/IconThemes/slick/48x48/apps/fonts.png
new file mode 100644
index 00000000..5d67faf3
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/fonts.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/gimp.png b/IconThemes/slick/48x48/apps/gimp.png
new file mode 100644
index 00000000..77b94560
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/gimp.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/go.png b/IconThemes/slick/48x48/apps/go.png
new file mode 100644
index 00000000..577b982e
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/go.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/help_index.png b/IconThemes/slick/48x48/apps/help_index.png
new file mode 100644
index 00000000..5d38c1e4
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/help_index.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/icon-cartoon.png b/IconThemes/slick/48x48/apps/icon-cartoon.png
new file mode 100644
index 00000000..e43ace66
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/icon-cartoon.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/icon-confused.png b/IconThemes/slick/48x48/apps/icon-confused.png
new file mode 100644
index 00000000..548e35bb
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/icon-confused.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/icon-greenies.png b/IconThemes/slick/48x48/apps/icon-greenies.png
new file mode 100644
index 00000000..723cd249
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/icon-greenies.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/icons.png b/IconThemes/slick/48x48/apps/icons.png
new file mode 100644
index 00000000..653372cf
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/icons.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/k3b.png b/IconThemes/slick/48x48/apps/k3b.png
new file mode 100644
index 00000000..0d374b51
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/k3b.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kab.png b/IconThemes/slick/48x48/apps/kab.png
new file mode 100644
index 00000000..7cc76a3a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kab.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kaddressbook.png b/IconThemes/slick/48x48/apps/kaddressbook.png
new file mode 100644
index 00000000..da6476b4
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kaddressbook.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kate.png b/IconThemes/slick/48x48/apps/kate.png
new file mode 100644
index 00000000..58e24bb5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kate.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kchart.png b/IconThemes/slick/48x48/apps/kchart.png
new file mode 100644
index 00000000..e0e8c5ab
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kchart.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcmkicker.png b/IconThemes/slick/48x48/apps/kcmkicker.png
new file mode 100644
index 00000000..b6ad4a55
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcmkicker.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcmkwm.png b/IconThemes/slick/48x48/apps/kcmkwm.png
new file mode 100644
index 00000000..62daf594
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcmkwm.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcmprocessor.png b/IconThemes/slick/48x48/apps/kcmprocessor.png
new file mode 100644
index 00000000..e114f156
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcmprocessor.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcmsystem.png b/IconThemes/slick/48x48/apps/kcmsystem.png
new file mode 100644
index 00000000..5f72018b
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcmsystem.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcontrol.png b/IconThemes/slick/48x48/apps/kcontrol.png
new file mode 100644
index 00000000..5cdda4fc
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kcontrol_2.png b/IconThemes/slick/48x48/apps/kcontrol_2.png
new file mode 100644
index 00000000..3a657eee
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kcontrol_2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kdf.png b/IconThemes/slick/48x48/apps/kdf.png
new file mode 100644
index 00000000..7682943b
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kdf.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kdisknav.png b/IconThemes/slick/48x48/apps/kdisknav.png
new file mode 100644
index 00000000..647b651d
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kdisknav.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kfind.png b/IconThemes/slick/48x48/apps/kfind.png
new file mode 100644
index 00000000..aef70d41
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kfind.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kfm.png b/IconThemes/slick/48x48/apps/kfm.png
new file mode 100644
index 00000000..9bfc4536
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kfm.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kfm_home.png b/IconThemes/slick/48x48/apps/kfm_home.png
new file mode 100644
index 00000000..31a535c1
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kfm_home.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kformula.png b/IconThemes/slick/48x48/apps/kformula.png
new file mode 100644
index 00000000..ea96bebe
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kformula.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/khelpcenter.png b/IconThemes/slick/48x48/apps/khelpcenter.png
new file mode 100644
index 00000000..dc49825f
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/khelpcenter.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kicker.png b/IconThemes/slick/48x48/apps/kicker.png
new file mode 100644
index 00000000..88e7b40d
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kicker.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kjobviewer.png b/IconThemes/slick/48x48/apps/kjobviewer.png
new file mode 100644
index 00000000..040d638a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kjobviewer.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/klpg.png b/IconThemes/slick/48x48/apps/klpg.png
new file mode 100644
index 00000000..040d638a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/klpg.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/klpq.png b/IconThemes/slick/48x48/apps/klpq.png
new file mode 100644
index 00000000..040d638a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/klpq.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kmail.old.png b/IconThemes/slick/48x48/apps/kmail.old.png
new file mode 100644
index 00000000..39d35d78
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kmail.old.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kmail.png b/IconThemes/slick/48x48/apps/kmail.png
new file mode 100644
index 00000000..1bf3ec0a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kmail.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kmenu.png b/IconThemes/slick/48x48/apps/kmenu.png
new file mode 100644
index 00000000..4d4d1e05
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kmenu.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kmix.png b/IconThemes/slick/48x48/apps/kmix.png
new file mode 100644
index 00000000..266140ff
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kmix.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/knode.png b/IconThemes/slick/48x48/apps/knode.png
new file mode 100644
index 00000000..2d0defb5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/knode.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/komba2.png b/IconThemes/slick/48x48/apps/komba2.png
new file mode 100644
index 00000000..fb88d2ae
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/komba2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/koncd.png b/IconThemes/slick/48x48/apps/koncd.png
new file mode 100644
index 00000000..84ea0701
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/koncd.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/konqueror.png b/IconThemes/slick/48x48/apps/konqueror.png
new file mode 100644
index 00000000..05f36290
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/konqueror.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/konsole.png b/IconThemes/slick/48x48/apps/konsole.png
new file mode 100644
index 00000000..def54280
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/konsole.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kontact.png b/IconThemes/slick/48x48/apps/kontact.png
new file mode 100644
index 00000000..6ba34a60
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kontact.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kontour.png b/IconThemes/slick/48x48/apps/kontour.png
new file mode 100644
index 00000000..e9b7a0e1
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kontour.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kopete.png b/IconThemes/slick/48x48/apps/kopete.png
new file mode 100644
index 00000000..363dbe22
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kopete.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/korganizer.png b/IconThemes/slick/48x48/apps/korganizer.png
new file mode 100644
index 00000000..8ec18924
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/korganizer.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kpackage.png b/IconThemes/slick/48x48/apps/kpackage.png
new file mode 100644
index 00000000..576938c4
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kpackage.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kpf.png b/IconThemes/slick/48x48/apps/kpf.png
new file mode 100644
index 00000000..6ea41f4b
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kpf.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kppp.png b/IconThemes/slick/48x48/apps/kppp.png
new file mode 100644
index 00000000..1d48f2c6
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kppp.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kpresenter.png b/IconThemes/slick/48x48/apps/kpresenter.png
new file mode 100644
index 00000000..14884562
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kpresenter.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kprintfax.png b/IconThemes/slick/48x48/apps/kprintfax.png
new file mode 100644
index 00000000..040d638a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kprintfax.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/krayon.png b/IconThemes/slick/48x48/apps/krayon.png
new file mode 100644
index 00000000..518e3121
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/krayon.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kreatecd.png b/IconThemes/slick/48x48/apps/kreatecd.png
new file mode 100644
index 00000000..e384907f
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kreatecd.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/krfb.png b/IconThemes/slick/48x48/apps/krfb.png
new file mode 100644
index 00000000..7d5764d7
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/krfb.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kscreensaver.png b/IconThemes/slick/48x48/apps/kscreensaver.png
new file mode 100644
index 00000000..3d85dab3
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kscreensaver.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kspread.png b/IconThemes/slick/48x48/apps/kspread.png
new file mode 100644
index 00000000..b9bbdf55
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kspread.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/ksysv.png b/IconThemes/slick/48x48/apps/ksysv.png
new file mode 100644
index 00000000..06cfe9e8
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/ksysv.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kugar.png b/IconThemes/slick/48x48/apps/kugar.png
new file mode 100644
index 00000000..76bbe0fd
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kugar.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kword.png b/IconThemes/slick/48x48/apps/kword.png
new file mode 100644
index 00000000..afa94faf
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kword.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/kwrite.png b/IconThemes/slick/48x48/apps/kwrite.png
new file mode 100644
index 00000000..58e24bb5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/kwrite.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/laptop_battery.png b/IconThemes/slick/48x48/apps/laptop_battery.png
new file mode 100644
index 00000000..9067f52f
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/laptop_battery.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/licq.png b/IconThemes/slick/48x48/apps/licq.png
new file mode 100644
index 00000000..d8b673b4
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/licq.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/looknfeel.png b/IconThemes/slick/48x48/apps/looknfeel.png
new file mode 100644
index 00000000..d7543bb9
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/looknfeel.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/mplayer.png b/IconThemes/slick/48x48/apps/mplayer.png
new file mode 100644
index 00000000..6b66317d
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/mplayer.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/multimedia.png b/IconThemes/slick/48x48/apps/multimedia.png
new file mode 100644
index 00000000..266140ff
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/multimedia.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/noatun.png b/IconThemes/slick/48x48/apps/noatun.png
new file mode 100644
index 00000000..9144b8cb
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/noatun.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/noatun2.png b/IconThemes/slick/48x48/apps/noatun2.png
new file mode 100644
index 00000000..d786fa5a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/noatun2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/opera.png b/IconThemes/slick/48x48/apps/opera.png
new file mode 100644
index 00000000..a0a4178d
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/opera.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package.png b/IconThemes/slick/48x48/apps/package.png
new file mode 100644
index 00000000..3bdcf3fe
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_development.png b/IconThemes/slick/48x48/apps/package_development.png
new file mode 100644
index 00000000..187f483c
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_development.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_editors.png b/IconThemes/slick/48x48/apps/package_editors.png
new file mode 100644
index 00000000..4fc79ffb
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_editors.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_games.png b/IconThemes/slick/48x48/apps/package_games.png
new file mode 100644
index 00000000..39a7542f
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_games.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_games1.png b/IconThemes/slick/48x48/apps/package_games1.png
new file mode 100644
index 00000000..1edd4987
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_games1.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_graphics.png b/IconThemes/slick/48x48/apps/package_graphics.png
new file mode 100644
index 00000000..daa1dc73
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_graphics.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_graphics1.png b/IconThemes/slick/48x48/apps/package_graphics1.png
new file mode 100644
index 00000000..38538094
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_graphics1.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_graphics2.png b/IconThemes/slick/48x48/apps/package_graphics2.png
new file mode 100644
index 00000000..02ab97f4
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_graphics2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_multimedia.png b/IconThemes/slick/48x48/apps/package_multimedia.png
new file mode 100644
index 00000000..8cdd618c
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_multimedia.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_network.png b/IconThemes/slick/48x48/apps/package_network.png
new file mode 100644
index 00000000..6f099e43
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_network.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_settings.png b/IconThemes/slick/48x48/apps/package_settings.png
new file mode 100644
index 00000000..93671f6f
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_system.png b/IconThemes/slick/48x48/apps/package_system.png
new file mode 100644
index 00000000..8a7ae1d5
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_system.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_toys.png b/IconThemes/slick/48x48/apps/package_toys.png
new file mode 100644
index 00000000..882e5d7a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_toys.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/package_utilities.png b/IconThemes/slick/48x48/apps/package_utilities.png
new file mode 100644
index 00000000..cd13b87d
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/package_utilities.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/penguin.png b/IconThemes/slick/48x48/apps/penguin.png
new file mode 100644
index 00000000..b2fe4b43
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/penguin.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/personal.png b/IconThemes/slick/48x48/apps/personal.png
new file mode 100644
index 00000000..6ce52e16
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/personal.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/remote.png b/IconThemes/slick/48x48/apps/remote.png
new file mode 100644
index 00000000..07aaca05
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/remote.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/samba.png b/IconThemes/slick/48x48/apps/samba.png
new file mode 100644
index 00000000..9215eace
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/samba.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/showimg.png b/IconThemes/slick/48x48/apps/showimg.png
new file mode 100644
index 00000000..d514014c
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/showimg.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/smb4k.png b/IconThemes/slick/48x48/apps/smb4k.png
new file mode 100644
index 00000000..9215eace
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/smb4k.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/speaker.png b/IconThemes/slick/48x48/apps/speaker.png
new file mode 100644
index 00000000..7de8f5ad
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/speaker.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/telnet.png b/IconThemes/slick/48x48/apps/telnet.png
new file mode 100644
index 00000000..b1152d79
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/telnet.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/trees.png b/IconThemes/slick/48x48/apps/trees.png
new file mode 100644
index 00000000..3e98b585
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/trees.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/tux.png b/IconThemes/slick/48x48/apps/tux.png
new file mode 100644
index 00000000..b2fe4b43
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/tux.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/vmware.png b/IconThemes/slick/48x48/apps/vmware.png
new file mode 100644
index 00000000..c5ba7247
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/vmware.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/window_list.png b/IconThemes/slick/48x48/apps/window_list.png
new file mode 100644
index 00000000..176d3e9a
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/window_list.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/xapp.png b/IconThemes/slick/48x48/apps/xapp.png
new file mode 100644
index 00000000..9bcb1e0b
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/xapp.png
Binary files differ
diff --git a/IconThemes/slick/48x48/apps/xmms.png b/IconThemes/slick/48x48/apps/xmms.png
new file mode 100644
index 00000000..54944399
--- /dev/null
+++ b/IconThemes/slick/48x48/apps/xmms.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/3floppy_mount.png b/IconThemes/slick/48x48/devices/3floppy_mount.png
new file mode 100644
index 00000000..5b3dc3b6
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/3floppy_unmount.png b/IconThemes/slick/48x48/devices/3floppy_unmount.png
new file mode 100644
index 00000000..f5c0a5da
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/camera.png b/IconThemes/slick/48x48/devices/camera.png
new file mode 100644
index 00000000..93efb202
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/camera.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cd.png b/IconThemes/slick/48x48/devices/cd.png
new file mode 100644
index 00000000..e089a274
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cd.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdaudio_mount.png b/IconThemes/slick/48x48/devices/cdaudio_mount.png
new file mode 100644
index 00000000..1291b077
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdaudio_unmount.png b/IconThemes/slick/48x48/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..3ef67287
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdrom_mount.png b/IconThemes/slick/48x48/devices/cdrom_mount.png
new file mode 100644
index 00000000..c59492af
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdrom_mount_1.png b/IconThemes/slick/48x48/devices/cdrom_mount_1.png
new file mode 100644
index 00000000..dfd22f86
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdrom_mount_1.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdrom_unmount.png b/IconThemes/slick/48x48/devices/cdrom_unmount.png
new file mode 100644
index 00000000..e089a274
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdwriter_mount.png b/IconThemes/slick/48x48/devices/cdwriter_mount.png
new file mode 100644
index 00000000..5a169e61
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/cdwriter_unmount.png b/IconThemes/slick/48x48/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..2da81892
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/dvd_mount.png b/IconThemes/slick/48x48/devices/dvd_mount.png
new file mode 100644
index 00000000..d0a823eb
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/dvd_unmount.png b/IconThemes/slick/48x48/devices/dvd_unmount.png
new file mode 100644
index 00000000..9c2598fe
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_games.png b/IconThemes/slick/48x48/devices/hdd_games.png
new file mode 100644
index 00000000..4f8d696f
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_games.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_gfx.png b/IconThemes/slick/48x48/devices/hdd_gfx.png
new file mode 100644
index 00000000..c5ad1130
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_gfx.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_linux.png b/IconThemes/slick/48x48/devices/hdd_linux.png
new file mode 100644
index 00000000..37dc18aa
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_linux.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_mount.png b/IconThemes/slick/48x48/devices/hdd_mount.png
new file mode 100644
index 00000000..69329fe3
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_system.png b/IconThemes/slick/48x48/devices/hdd_system.png
new file mode 100644
index 00000000..8117388c
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_system.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_unmount.png b/IconThemes/slick/48x48/devices/hdd_unmount.png
new file mode 100644
index 00000000..cf7dbfd2
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/hdd_www.png b/IconThemes/slick/48x48/devices/hdd_www.png
new file mode 100644
index 00000000..d96058ec
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/hdd_www.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/memory.png b/IconThemes/slick/48x48/devices/memory.png
new file mode 100644
index 00000000..93fd5340
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/memory.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/nfs_mount.png b/IconThemes/slick/48x48/devices/nfs_mount.png
new file mode 100644
index 00000000..9111790c
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/nfs_unmount.png b/IconThemes/slick/48x48/devices/nfs_unmount.png
new file mode 100644
index 00000000..343b15be
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/print_printer.png b/IconThemes/slick/48x48/devices/print_printer.png
new file mode 100644
index 00000000..45b5c75b
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/printer1.png b/IconThemes/slick/48x48/devices/printer1.png
new file mode 100644
index 00000000..45b5c75b
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/printer1.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/usbpendrive_mount.png b/IconThemes/slick/48x48/devices/usbpendrive_mount.png
new file mode 100644
index 00000000..ed9a05fd
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/usbpendrive_mount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/devices/usbpendrive_unmount.png b/IconThemes/slick/48x48/devices/usbpendrive_unmount.png
new file mode 100644
index 00000000..16fe7dae
--- /dev/null
+++ b/IconThemes/slick/48x48/devices/usbpendrive_unmount.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/blockdevice.png b/IconThemes/slick/48x48/filesystems/blockdevice.png
new file mode 100644
index 00000000..c1e2d038
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/blockdevice.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/chardevice.png b/IconThemes/slick/48x48/filesystems/chardevice.png
new file mode 100644
index 00000000..b9df6c5a
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/desktop.png b/IconThemes/slick/48x48/filesystems/desktop.png
new file mode 100644
index 00000000..5fc0978e
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/documents.png b/IconThemes/slick/48x48/filesystems/documents.png
new file mode 100644
index 00000000..4e099a40
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/documents.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/documents_3.png b/IconThemes/slick/48x48/filesystems/documents_3.png
new file mode 100644
index 00000000..1e68340f
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/documents_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/drawer.png b/IconThemes/slick/48x48/filesystems/drawer.png
new file mode 100644
index 00000000..2ffd2b84
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/drawer.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/drawer_green.png b/IconThemes/slick/48x48/filesystems/drawer_green.png
new file mode 100644
index 00000000..d1586b0b
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/drawer_green.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/drawer_metal.png b/IconThemes/slick/48x48/filesystems/drawer_metal.png
new file mode 100644
index 00000000..49f1322c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/drawer_metal.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/drawer_open.png b/IconThemes/slick/48x48/filesystems/drawer_open.png
new file mode 100644
index 00000000..3b237ba4
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/drawer_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/drawer_red.png b/IconThemes/slick/48x48/filesystems/drawer_red.png
new file mode 100644
index 00000000..7d17f00c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/drawer_red.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/exec.png b/IconThemes/slick/48x48/filesystems/exec.png
new file mode 100644
index 00000000..034c3b25
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/file_broken.png b/IconThemes/slick/48x48/filesystems/file_broken.png
new file mode 100644
index 00000000..6ef5b934
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/file_important.png b/IconThemes/slick/48x48/filesystems/file_important.png
new file mode 100644
index 00000000..66d05f6e
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/file_locked.png b/IconThemes/slick/48x48/filesystems/file_locked.png
new file mode 100644
index 00000000..3f200570
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder.png b/IconThemes/slick/48x48/filesystems/folder.png
new file mode 100644
index 00000000..265eeee6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_3.png b/IconThemes/slick/48x48/filesystems/folder_3.png
new file mode 100644
index 00000000..f013e48f
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_auto.png b/IconThemes/slick/48x48/filesystems/folder_auto.png
new file mode 100644
index 00000000..e7d981e1
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_auto.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_blue.png b/IconThemes/slick/48x48/filesystems/folder_blue.png
new file mode 100644
index 00000000..df9c4a2d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_blue_3.png b/IconThemes/slick/48x48/filesystems/folder_blue_3.png
new file mode 100644
index 00000000..778d8fee
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_blue_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_blue_open.png b/IconThemes/slick/48x48/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..3ff5bec1
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_blue_open_3.png b/IconThemes/slick/48x48/filesystems/folder_blue_open_3.png
new file mode 100644
index 00000000..064209a2
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_blue_open_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_configure.png b/IconThemes/slick/48x48/filesystems/folder_configure.png
new file mode 100644
index 00000000..ff64dd53
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_configure.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_dark.png b/IconThemes/slick/48x48/filesystems/folder_dark.png
new file mode 100644
index 00000000..20d428f2
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_dark.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_dark_3.png b/IconThemes/slick/48x48/filesystems/folder_dark_3.png
new file mode 100644
index 00000000..0023caf0
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_dark_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_develop.png b/IconThemes/slick/48x48/filesystems/folder_develop.png
new file mode 100644
index 00000000..e8cf715d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_develop.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_develop_3.png b/IconThemes/slick/48x48/filesystems/folder_develop_3.png
new file mode 100644
index 00000000..f6fb0a7e
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_develop_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_exec_3.png b/IconThemes/slick/48x48/filesystems/folder_exec_3.png
new file mode 100644
index 00000000..3139f1e3
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_exec_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_find_3.png b/IconThemes/slick/48x48/filesystems/folder_find_3.png
new file mode 100644
index 00000000..bfa73273
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_find_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_green.png b/IconThemes/slick/48x48/filesystems/folder_green.png
new file mode 100644
index 00000000..abda413d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_green_3.png b/IconThemes/slick/48x48/filesystems/folder_green_3.png
new file mode 100644
index 00000000..18123298
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_green_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_green_open.png b/IconThemes/slick/48x48/filesystems/folder_green_open.png
new file mode 100644
index 00000000..dba67de0
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_grey.png b/IconThemes/slick/48x48/filesystems/folder_grey.png
new file mode 100644
index 00000000..fb44b0b6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_grey_2.png b/IconThemes/slick/48x48/filesystems/folder_grey_2.png
new file mode 100644
index 00000000..b5726982
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_grey_2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_grey_3.png b/IconThemes/slick/48x48/filesystems/folder_grey_3.png
new file mode 100644
index 00000000..459f3d6c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_grey_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_grey_open.png b/IconThemes/slick/48x48/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..53674945
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_grey_open_3.png b/IconThemes/slick/48x48/filesystems/folder_grey_open_3.png
new file mode 100644
index 00000000..cb81f6f1
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_grey_open_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_home.png b/IconThemes/slick/48x48/filesystems/folder_home.png
new file mode 100644
index 00000000..3f22c27d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_home_3.png b/IconThemes/slick/48x48/filesystems/folder_home_3.png
new file mode 100644
index 00000000..b8946887
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_home_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_html.png b/IconThemes/slick/48x48/filesystems/folder_html.png
new file mode 100644
index 00000000..3ab38797
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_html_3.png b/IconThemes/slick/48x48/filesystems/folder_html_3.png
new file mode 100644
index 00000000..0adbf9a7
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_html_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_image.png b/IconThemes/slick/48x48/filesystems/folder_image.png
new file mode 100644
index 00000000..b9ac0aa0
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_image_3.png b/IconThemes/slick/48x48/filesystems/folder_image_3.png
new file mode 100644
index 00000000..b6c63c49
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_image_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_important.png b/IconThemes/slick/48x48/filesystems/folder_important.png
new file mode 100644
index 00000000..9bd98880
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_important_3.png b/IconThemes/slick/48x48/filesystems/folder_important_3.png
new file mode 100644
index 00000000..16d59fac
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_important_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_light.png b/IconThemes/slick/48x48/filesystems/folder_light.png
new file mode 100644
index 00000000..4f1b66e5
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_light.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_light_3.png b/IconThemes/slick/48x48/filesystems/folder_light_3.png
new file mode 100644
index 00000000..e6eee89a
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_light_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_locked.png b/IconThemes/slick/48x48/filesystems/folder_locked.png
new file mode 100644
index 00000000..4c18d496
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_locked_3.png b/IconThemes/slick/48x48/filesystems/folder_locked_3.png
new file mode 100644
index 00000000..9f5e45b4
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_locked_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_mag.png b/IconThemes/slick/48x48/filesystems/folder_mag.png
new file mode 100644
index 00000000..45cf8c72
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_mag.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_mail.png b/IconThemes/slick/48x48/filesystems/folder_mail.png
new file mode 100644
index 00000000..d4cc948d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_mail.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_metallic_3.png b/IconThemes/slick/48x48/filesystems/folder_metallic_3.png
new file mode 100644
index 00000000..5298d7bd
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_metallic_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_metallic_open_3.png b/IconThemes/slick/48x48/filesystems/folder_metallic_open_3.png
new file mode 100644
index 00000000..52d22667
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_metallic_open_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_news.png b/IconThemes/slick/48x48/filesystems/folder_news.png
new file mode 100644
index 00000000..83731319
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_news.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_open.png b/IconThemes/slick/48x48/filesystems/folder_open.png
new file mode 100644
index 00000000..11fa82c5
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_open_3.png b/IconThemes/slick/48x48/filesystems/folder_open_3.png
new file mode 100644
index 00000000..d395293d
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_open_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_orange.png b/IconThemes/slick/48x48/filesystems/folder_orange.png
new file mode 100644
index 00000000..71293c2b
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_orange_3.png b/IconThemes/slick/48x48/filesystems/folder_orange_3.png
new file mode 100644
index 00000000..a83209d2
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_orange_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_prefs.png b/IconThemes/slick/48x48/filesystems/folder_prefs.png
new file mode 100644
index 00000000..070227ad
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_prefs.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_prefs_3.png b/IconThemes/slick/48x48/filesystems/folder_prefs_3.png
new file mode 100644
index 00000000..f3647456
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_prefs_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_purple.png b/IconThemes/slick/48x48/filesystems/folder_purple.png
new file mode 100644
index 00000000..43615c5c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_purple.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_purple_3.png b/IconThemes/slick/48x48/filesystems/folder_purple_3.png
new file mode 100644
index 00000000..0ac87ed2
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_purple_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_purple_open.png b/IconThemes/slick/48x48/filesystems/folder_purple_open.png
new file mode 100644
index 00000000..bbe05b82
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_purple_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_purple_open_3.png b/IconThemes/slick/48x48/filesystems/folder_purple_open_3.png
new file mode 100644
index 00000000..193c90ec
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_purple_open_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_recycle.png b/IconThemes/slick/48x48/filesystems/folder_recycle.png
new file mode 100644
index 00000000..c4334cb6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_recycle.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_red.png b/IconThemes/slick/48x48/filesystems/folder_red.png
new file mode 100644
index 00000000..b4c840f5
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_red_3.png b/IconThemes/slick/48x48/filesystems/folder_red_3.png
new file mode 100644
index 00000000..945ae24c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_red_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_shells.png b/IconThemes/slick/48x48/filesystems/folder_shells.png
new file mode 100644
index 00000000..0fa12729
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_shells.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_sound.png b/IconThemes/slick/48x48/filesystems/folder_sound.png
new file mode 100644
index 00000000..30c7f171
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_sound_3.png b/IconThemes/slick/48x48/filesystems/folder_sound_3.png
new file mode 100644
index 00000000..b9665fdf
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_sound_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_src.png b/IconThemes/slick/48x48/filesystems/folder_src.png
new file mode 100644
index 00000000..143c31fb
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_src.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_src_3.png b/IconThemes/slick/48x48/filesystems/folder_src_3.png
new file mode 100644
index 00000000..df8cc3d6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_src_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_tar.png b/IconThemes/slick/48x48/filesystems/folder_tar.png
new file mode 100644
index 00000000..4fbcb402
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_tar_3.png b/IconThemes/slick/48x48/filesystems/folder_tar_3.png
new file mode 100644
index 00000000..bffcab7b
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_tar_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_trash.png b/IconThemes/slick/48x48/filesystems/folder_trash.png
new file mode 100644
index 00000000..b76053f9
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_trash.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_tux.png b/IconThemes/slick/48x48/filesystems/folder_tux.png
new file mode 100644
index 00000000..73568ae8
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_tux.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_txt.png b/IconThemes/slick/48x48/filesystems/folder_txt.png
new file mode 100644
index 00000000..2dd35097
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_txt_3.png b/IconThemes/slick/48x48/filesystems/folder_txt_3.png
new file mode 100644
index 00000000..9d28f3df
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_txt_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_video.png b/IconThemes/slick/48x48/filesystems/folder_video.png
new file mode 100644
index 00000000..8d36e8e9
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_video_3.png b/IconThemes/slick/48x48/filesystems/folder_video_3.png
new file mode 100644
index 00000000..2602f050
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_video_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_yellow.png b/IconThemes/slick/48x48/filesystems/folder_yellow.png
new file mode 100644
index 00000000..5d7dcd97
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_yellow_3.png b/IconThemes/slick/48x48/filesystems/folder_yellow_3.png
new file mode 100644
index 00000000..36509dc6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_yellow_3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/folder_yellow_open.png b/IconThemes/slick/48x48/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..2a32c582
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/ftp.png b/IconThemes/slick/48x48/filesystems/ftp.png
new file mode 100644
index 00000000..66057a21
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/homepage.png b/IconThemes/slick/48x48/filesystems/homepage.png
new file mode 100644
index 00000000..04c3d742
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/homepage.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/link.png b/IconThemes/slick/48x48/filesystems/link.png
new file mode 100644
index 00000000..74e514f0
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/link.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/lockoverlay.png b/IconThemes/slick/48x48/filesystems/lockoverlay.png
new file mode 100644
index 00000000..b86ebec8
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/network.png b/IconThemes/slick/48x48/filesystems/network.png
new file mode 100644
index 00000000..4dd377f6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/network.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/network_local.png b/IconThemes/slick/48x48/filesystems/network_local.png
new file mode 100644
index 00000000..22604e4c
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/pipe.png b/IconThemes/slick/48x48/filesystems/pipe.png
new file mode 100644
index 00000000..f8f65e74
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/server.png b/IconThemes/slick/48x48/filesystems/server.png
new file mode 100644
index 00000000..1c6e1dd3
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/server.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/server2.png b/IconThemes/slick/48x48/filesystems/server2.png
new file mode 100644
index 00000000..669cbb31
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/server2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/shredder.png b/IconThemes/slick/48x48/filesystems/shredder.png
new file mode 100644
index 00000000..5c07dd08
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/socket.png b/IconThemes/slick/48x48/filesystems/socket.png
new file mode 100644
index 00000000..679ff0bd
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/system.png b/IconThemes/slick/48x48/filesystems/system.png
new file mode 100644
index 00000000..545a2283
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/system.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/trashcan_empty.png b/IconThemes/slick/48x48/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..0fbbbbfb
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/trashcan_full.png b/IconThemes/slick/48x48/filesystems/trashcan_full.png
new file mode 100644
index 00000000..1d68c6d6
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/www.png b/IconThemes/slick/48x48/filesystems/www.png
new file mode 100644
index 00000000..e9feb884
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/www.png
Binary files differ
diff --git a/IconThemes/slick/48x48/filesystems/zip.png b/IconThemes/slick/48x48/filesystems/zip.png
new file mode 100644
index 00000000..fa1b803a
--- /dev/null
+++ b/IconThemes/slick/48x48/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/applix.png b/IconThemes/slick/48x48/mimetypes/applix.png
new file mode 100644
index 00000000..9d5e5a9c
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/archive.png b/IconThemes/slick/48x48/mimetypes/archive.png
new file mode 100644
index 00000000..087b43c5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/archive.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ascii.png b/IconThemes/slick/48x48/mimetypes/ascii.png
new file mode 100644
index 00000000..cab96215
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/binary.png b/IconThemes/slick/48x48/mimetypes/binary.png
new file mode 100644
index 00000000..034c3b25
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/binary2.png b/IconThemes/slick/48x48/mimetypes/binary2.png
new file mode 100644
index 00000000..034c3b25
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/cdimage.png b/IconThemes/slick/48x48/mimetypes/cdimage.png
new file mode 100644
index 00000000..1f8dc473
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/cdr.png b/IconThemes/slick/48x48/mimetypes/cdr.png
new file mode 100644
index 00000000..56f15ff6
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/cdr.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/cdtrack.png b/IconThemes/slick/48x48/mimetypes/cdtrack.png
new file mode 100644
index 00000000..14eb64e6
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/colorscm.png b/IconThemes/slick/48x48/mimetypes/colorscm.png
new file mode 100644
index 00000000..b02a4b43
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/colorset.png b/IconThemes/slick/48x48/mimetypes/colorset.png
new file mode 100644
index 00000000..b02a4b43
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/colorset.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/configure_script.png b/IconThemes/slick/48x48/mimetypes/configure_script.png
new file mode 100644
index 00000000..2dc206bd
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/configure_script.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/core.png b/IconThemes/slick/48x48/mimetypes/core.png
new file mode 100644
index 00000000..cd1dc0e4
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/deb.png b/IconThemes/slick/48x48/mimetypes/deb.png
new file mode 100644
index 00000000..01cdf7b5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/develop.png b/IconThemes/slick/48x48/mimetypes/develop.png
new file mode 100644
index 00000000..9925769d
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/develop.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/disk_image.png b/IconThemes/slick/48x48/mimetypes/disk_image.png
new file mode 100644
index 00000000..2929a0d8
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/disk_image.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/document.png b/IconThemes/slick/48x48/mimetypes/document.png
new file mode 100644
index 00000000..787588c8
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/document2.png b/IconThemes/slick/48x48/mimetypes/document2.png
new file mode 100644
index 00000000..60d00c99
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/dvi.png b/IconThemes/slick/48x48/mimetypes/dvi.png
new file mode 100644
index 00000000..48484030
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/encrypted.png b/IconThemes/slick/48x48/mimetypes/encrypted.png
new file mode 100644
index 00000000..d5faeeed
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/font_bitmap.png b/IconThemes/slick/48x48/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..6b6d63c5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/font_truetype.png b/IconThemes/slick/48x48/mimetypes/font_truetype.png
new file mode 100644
index 00000000..fa5a0a7b
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/font_type1.png b/IconThemes/slick/48x48/mimetypes/font_type1.png
new file mode 100644
index 00000000..5d67faf3
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/gettext.png b/IconThemes/slick/48x48/mimetypes/gettext.png
new file mode 100644
index 00000000..5d67faf3
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/gettext.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/html.png b/IconThemes/slick/48x48/mimetypes/html.png
new file mode 100644
index 00000000..36572088
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/image.png b/IconThemes/slick/48x48/mimetypes/image.png
new file mode 100644
index 00000000..614c5067
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/images.png b/IconThemes/slick/48x48/mimetypes/images.png
new file mode 100644
index 00000000..5cdb8f48
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/images.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/info.png b/IconThemes/slick/48x48/mimetypes/info.png
new file mode 100644
index 00000000..d9a8966e
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/jar.png b/IconThemes/slick/48x48/mimetypes/jar.png
new file mode 100644
index 00000000..982201a5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/jar.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/kmultiple.png b/IconThemes/slick/48x48/mimetypes/kmultiple.png
new file mode 100644
index 00000000..4cb9e2ca
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/log.png b/IconThemes/slick/48x48/mimetypes/log.png
new file mode 100644
index 00000000..87e309df
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/make.png b/IconThemes/slick/48x48/mimetypes/make.png
new file mode 100644
index 00000000..23e1448d
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/man.png b/IconThemes/slick/48x48/mimetypes/man.png
new file mode 100644
index 00000000..c237160b
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/message.png b/IconThemes/slick/48x48/mimetypes/message.png
new file mode 100644
index 00000000..afd01785
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/midi.png b/IconThemes/slick/48x48/mimetypes/midi.png
new file mode 100644
index 00000000..5dd20ef4
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mime_empty.png b/IconThemes/slick/48x48/mimetypes/mime_empty.png
new file mode 100644
index 00000000..61c91408
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mime_html.png b/IconThemes/slick/48x48/mimetypes/mime_html.png
new file mode 100644
index 00000000..36572088
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mime_html.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mime_sound.png b/IconThemes/slick/48x48/mimetypes/mime_sound.png
new file mode 100644
index 00000000..900a818f
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mime_sound.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mime_track.png b/IconThemes/slick/48x48/mimetypes/mime_track.png
new file mode 100644
index 00000000..1f8dc473
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mime_track.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mime_txt.png b/IconThemes/slick/48x48/mimetypes/mime_txt.png
new file mode 100644
index 00000000..cb7b75bc
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mime_txt.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/misc_doc.png b/IconThemes/slick/48x48/mimetypes/misc_doc.png
new file mode 100644
index 00000000..13fe131a
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/mp3.png b/IconThemes/slick/48x48/mimetypes/mp3.png
new file mode 100644
index 00000000..f858ac8c
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/mp3.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ms_access.png b/IconThemes/slick/48x48/mimetypes/ms_access.png
new file mode 100644
index 00000000..1fc1a3e9
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ms_access.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ms_excel.png b/IconThemes/slick/48x48/mimetypes/ms_excel.png
new file mode 100644
index 00000000..a62594f5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ms_excel.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ms_powerpoint.png b/IconThemes/slick/48x48/mimetypes/ms_powerpoint.png
new file mode 100644
index 00000000..22f3e7df
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ms_powerpoint.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ms_word.png b/IconThemes/slick/48x48/mimetypes/ms_word.png
new file mode 100644
index 00000000..9363283b
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ms_word.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/netscape_doc.png b/IconThemes/slick/48x48/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..a2778c01
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/pdf.png b/IconThemes/slick/48x48/mimetypes/pdf.png
new file mode 100644
index 00000000..d6911382
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/person.png b/IconThemes/slick/48x48/mimetypes/person.png
new file mode 100644
index 00000000..a9a320b4
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/person.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/postscript.png b/IconThemes/slick/48x48/mimetypes/postscript.png
new file mode 100644
index 00000000..ca053e65
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/pov.png b/IconThemes/slick/48x48/mimetypes/pov.png
new file mode 100644
index 00000000..df4d5713
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/pov.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/readme.png b/IconThemes/slick/48x48/mimetypes/readme.png
new file mode 100644
index 00000000..14229bed
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/real_doc.png b/IconThemes/slick/48x48/mimetypes/real_doc.png
new file mode 100644
index 00000000..d4ee243e
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/recycled.png b/IconThemes/slick/48x48/mimetypes/recycled.png
new file mode 100644
index 00000000..ee2e65d0
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/resource.png b/IconThemes/slick/48x48/mimetypes/resource.png
new file mode 100644
index 00000000..f5579345
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/rpm.png b/IconThemes/slick/48x48/mimetypes/rpm.png
new file mode 100644
index 00000000..a1e2cd26
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/ruby.png b/IconThemes/slick/48x48/mimetypes/ruby.png
new file mode 100644
index 00000000..16dfbee5
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/ruby.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/shellscript.png b/IconThemes/slick/48x48/mimetypes/shellscript.png
new file mode 100644
index 00000000..6faa6aec
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/soffice.png b/IconThemes/slick/48x48/mimetypes/soffice.png
new file mode 100644
index 00000000..43365795
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/soffice.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/sound.png b/IconThemes/slick/48x48/mimetypes/sound.png
new file mode 100644
index 00000000..efc0fc4b
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source.png b/IconThemes/slick/48x48/mimetypes/source.png
new file mode 100644
index 00000000..26c08984
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_c.png b/IconThemes/slick/48x48/mimetypes/source_c.png
new file mode 100644
index 00000000..e70f6531
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_cpp.png b/IconThemes/slick/48x48/mimetypes/source_cpp.png
new file mode 100644
index 00000000..efc0b6ff
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_f.png b/IconThemes/slick/48x48/mimetypes/source_f.png
new file mode 100644
index 00000000..9ee6e3a6
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_h.png b/IconThemes/slick/48x48/mimetypes/source_h.png
new file mode 100644
index 00000000..fa7aa861
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_java.png b/IconThemes/slick/48x48/mimetypes/source_java.png
new file mode 100644
index 00000000..82fb4e53
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_l.png b/IconThemes/slick/48x48/mimetypes/source_l.png
new file mode 100644
index 00000000..d6d581e0
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_moc.png b/IconThemes/slick/48x48/mimetypes/source_moc.png
new file mode 100644
index 00000000..0a5dd444
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_o.png b/IconThemes/slick/48x48/mimetypes/source_o.png
new file mode 100644
index 00000000..7c370c10
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_p.png b/IconThemes/slick/48x48/mimetypes/source_p.png
new file mode 100644
index 00000000..c9f31460
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_pl.png b/IconThemes/slick/48x48/mimetypes/source_pl.png
new file mode 100644
index 00000000..14f21daa
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_py.png b/IconThemes/slick/48x48/mimetypes/source_py.png
new file mode 100644
index 00000000..1ba028b3
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_s.png b/IconThemes/slick/48x48/mimetypes/source_s.png
new file mode 100644
index 00000000..8726898e
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/source_y.png b/IconThemes/slick/48x48/mimetypes/source_y.png
new file mode 100644
index 00000000..1904d826
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/spreadsheet.png b/IconThemes/slick/48x48/mimetypes/spreadsheet.png
new file mode 100644
index 00000000..a4ce45b9
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/spreadsheet.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/tar.png b/IconThemes/slick/48x48/mimetypes/tar.png
new file mode 100644
index 00000000..4d114f1f
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/tex.png b/IconThemes/slick/48x48/mimetypes/tex.png
new file mode 100644
index 00000000..e63f6647
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/tgz.png b/IconThemes/slick/48x48/mimetypes/tgz.png
new file mode 100644
index 00000000..1f2e582d
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/txt.png b/IconThemes/slick/48x48/mimetypes/txt.png
new file mode 100644
index 00000000..cb1175c8
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/unknown.png b/IconThemes/slick/48x48/mimetypes/unknown.png
new file mode 100644
index 00000000..15cbc2a4
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/vcard.png b/IconThemes/slick/48x48/mimetypes/vcard.png
new file mode 100644
index 00000000..6cf7ced7
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/vectorgfx.png b/IconThemes/slick/48x48/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..43365795
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/video.png b/IconThemes/slick/48x48/mimetypes/video.png
new file mode 100644
index 00000000..c2a208b4
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/war.png b/IconThemes/slick/48x48/mimetypes/war.png
new file mode 100644
index 00000000..87d1e428
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/war.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/widget_doc.png b/IconThemes/slick/48x48/mimetypes/widget_doc.png
new file mode 100644
index 00000000..4a75c250
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/wordprocessing.png b/IconThemes/slick/48x48/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..c6922a12
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/xcf.png b/IconThemes/slick/48x48/mimetypes/xcf.png
new file mode 100644
index 00000000..0acff0a0
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/xcf.png
Binary files differ
diff --git a/IconThemes/slick/48x48/mimetypes/zip.png b/IconThemes/slick/48x48/mimetypes/zip.png
new file mode 100644
index 00000000..6c1ce3f7
--- /dev/null
+++ b/IconThemes/slick/48x48/mimetypes/zip.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/bookmark.png b/IconThemes/slick/64x64/actions/bookmark.png
new file mode 100644
index 00000000..e6e95e6b
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/bookmark.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/bookmark_add.png b/IconThemes/slick/64x64/actions/bookmark_add.png
new file mode 100644
index 00000000..ccdc24e3
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/bookmark_add.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/cdcopy.png b/IconThemes/slick/64x64/actions/cdcopy.png
new file mode 100644
index 00000000..d06b2dcc
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/cdcopy.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/fileprint.png b/IconThemes/slick/64x64/actions/fileprint.png
new file mode 100644
index 00000000..45b5c75b
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/fileprint.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/fork.png b/IconThemes/slick/64x64/actions/fork.png
new file mode 100644
index 00000000..3b02c151
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/fork.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/gear.png b/IconThemes/slick/64x64/actions/gear.png
new file mode 100644
index 00000000..fb0f2de5
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/gear.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/gohome.png b/IconThemes/slick/64x64/actions/gohome.png
new file mode 100644
index 00000000..deb9ff0f
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/gohome.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/launch.png b/IconThemes/slick/64x64/actions/launch.png
new file mode 100644
index 00000000..3b02c151
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/launch.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/lock.png b/IconThemes/slick/64x64/actions/lock.png
new file mode 100644
index 00000000..5e8939be
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/lock.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/share.png b/IconThemes/slick/64x64/actions/share.png
new file mode 100644
index 00000000..1f0bfd73
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/share.png
Binary files differ
diff --git a/IconThemes/slick/64x64/actions/share1.png b/IconThemes/slick/64x64/actions/share1.png
new file mode 100644
index 00000000..2e2b45d9
--- /dev/null
+++ b/IconThemes/slick/64x64/actions/share1.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/kcontrol.png b/IconThemes/slick/64x64/apps/kcontrol.png
new file mode 100644
index 00000000..d1b0caa7
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/kcontrol.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/komba2.png b/IconThemes/slick/64x64/apps/komba2.png
new file mode 100644
index 00000000..12d49961
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/komba2.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/konsole.png b/IconThemes/slick/64x64/apps/konsole.png
new file mode 100644
index 00000000..36eea6f3
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/konsole.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/package_settings.png b/IconThemes/slick/64x64/apps/package_settings.png
new file mode 100644
index 00000000..8748e8a9
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/package_settings.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/samba.png b/IconThemes/slick/64x64/apps/samba.png
new file mode 100644
index 00000000..12d49961
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/samba.png
Binary files differ
diff --git a/IconThemes/slick/64x64/apps/terminal.png b/IconThemes/slick/64x64/apps/terminal.png
new file mode 100644
index 00000000..8f48ef68
--- /dev/null
+++ b/IconThemes/slick/64x64/apps/terminal.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/3floppy_mount.png b/IconThemes/slick/64x64/devices/3floppy_mount.png
new file mode 100644
index 00000000..cf5981d8
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/3floppy_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/3floppy_unmount.png b/IconThemes/slick/64x64/devices/3floppy_unmount.png
new file mode 100644
index 00000000..ae57a3d1
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/3floppy_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/blockdevice.png b/IconThemes/slick/64x64/devices/blockdevice.png
new file mode 100644
index 00000000..5e35fe5d
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/blockdevice.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/camera.png b/IconThemes/slick/64x64/devices/camera.png
new file mode 100644
index 00000000..93efb202
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/camera.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cd.png b/IconThemes/slick/64x64/devices/cd.png
new file mode 100644
index 00000000..f7aa71a5
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cd.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdaudio_mount.png b/IconThemes/slick/64x64/devices/cdaudio_mount.png
new file mode 100644
index 00000000..e97f8739
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdaudio_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdaudio_unmount.png b/IconThemes/slick/64x64/devices/cdaudio_unmount.png
new file mode 100644
index 00000000..194efc1e
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdaudio_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdrom_mount.png b/IconThemes/slick/64x64/devices/cdrom_mount.png
new file mode 100644
index 00000000..0a98a8e9
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdrom_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdrom_unmount.png b/IconThemes/slick/64x64/devices/cdrom_unmount.png
new file mode 100644
index 00000000..976352be
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdrom_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdwriter_mount.png b/IconThemes/slick/64x64/devices/cdwriter_mount.png
new file mode 100644
index 00000000..a5373c9d
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdwriter_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/cdwriter_unmount.png b/IconThemes/slick/64x64/devices/cdwriter_unmount.png
new file mode 100644
index 00000000..fbefd0c2
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/cdwriter_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/dvd_mount.png b/IconThemes/slick/64x64/devices/dvd_mount.png
new file mode 100644
index 00000000..93ef3f60
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/dvd_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/dvd_unmount.png b/IconThemes/slick/64x64/devices/dvd_unmount.png
new file mode 100644
index 00000000..4f758fac
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/dvd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd.png b/IconThemes/slick/64x64/devices/hdd.png
new file mode 100644
index 00000000..2fcd071a
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_games.png b/IconThemes/slick/64x64/devices/hdd_games.png
new file mode 100644
index 00000000..ddd83db2
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_games.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_gfx.png b/IconThemes/slick/64x64/devices/hdd_gfx.png
new file mode 100644
index 00000000..aceb756a
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_gfx.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_linux.png b/IconThemes/slick/64x64/devices/hdd_linux.png
new file mode 100644
index 00000000..631eb917
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_linux.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_mount.png b/IconThemes/slick/64x64/devices/hdd_mount.png
new file mode 100644
index 00000000..78dda956
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_system.png b/IconThemes/slick/64x64/devices/hdd_system.png
new file mode 100644
index 00000000..1f21ec9f
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_system.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_unmount.png b/IconThemes/slick/64x64/devices/hdd_unmount.png
new file mode 100644
index 00000000..56d1b6e4
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/hdd_www.png b/IconThemes/slick/64x64/devices/hdd_www.png
new file mode 100644
index 00000000..d0d7f01a
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/hdd_www.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/memory.png b/IconThemes/slick/64x64/devices/memory.png
new file mode 100644
index 00000000..93fd5340
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/memory.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/nfs.png b/IconThemes/slick/64x64/devices/nfs.png
new file mode 100644
index 00000000..818ba35f
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/nfs.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/nfs_mount.png b/IconThemes/slick/64x64/devices/nfs_mount.png
new file mode 100644
index 00000000..818ba35f
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/nfs_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/nfs_unmount.png b/IconThemes/slick/64x64/devices/nfs_unmount.png
new file mode 100644
index 00000000..ffa6c15b
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/nfs_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/print_printer.png b/IconThemes/slick/64x64/devices/print_printer.png
new file mode 100644
index 00000000..45b5c75b
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/print_printer.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/printer1.png b/IconThemes/slick/64x64/devices/printer1.png
new file mode 100644
index 00000000..45b5c75b
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/printer1.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/usbpendrive_mount.png b/IconThemes/slick/64x64/devices/usbpendrive_mount.png
new file mode 100644
index 00000000..251e4ebb
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/usbpendrive_mount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/devices/usbpendrive_unmount.png b/IconThemes/slick/64x64/devices/usbpendrive_unmount.png
new file mode 100644
index 00000000..bec36e98
--- /dev/null
+++ b/IconThemes/slick/64x64/devices/usbpendrive_unmount.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/chardevice.png b/IconThemes/slick/64x64/filesystems/chardevice.png
new file mode 100644
index 00000000..23aff99b
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/chardevice.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/desktop.png b/IconThemes/slick/64x64/filesystems/desktop.png
new file mode 100644
index 00000000..8ce9dee7
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/desktop.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/exec.png b/IconThemes/slick/64x64/filesystems/exec.png
new file mode 100644
index 00000000..56df682f
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/exec.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/file_broken.png b/IconThemes/slick/64x64/filesystems/file_broken.png
new file mode 100644
index 00000000..3eaca9d5
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/file_broken.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/file_important.png b/IconThemes/slick/64x64/filesystems/file_important.png
new file mode 100644
index 00000000..fb8c496b
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/file_important.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/file_locked.png b/IconThemes/slick/64x64/filesystems/file_locked.png
new file mode 100644
index 00000000..ec5f96bf
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/file_locked.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder.png b/IconThemes/slick/64x64/filesystems/folder.png
new file mode 100644
index 00000000..09550bc2
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_blue.png b/IconThemes/slick/64x64/filesystems/folder_blue.png
new file mode 100644
index 00000000..eacc7558
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_blue.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_blue_open.png b/IconThemes/slick/64x64/filesystems/folder_blue_open.png
new file mode 100644
index 00000000..a74ca246
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_blue_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_develop.png b/IconThemes/slick/64x64/filesystems/folder_develop.png
new file mode 100644
index 00000000..d74523b1
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_develop.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_exec.png b/IconThemes/slick/64x64/filesystems/folder_exec.png
new file mode 100644
index 00000000..23bdc5e3
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_exec.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_green.png b/IconThemes/slick/64x64/filesystems/folder_green.png
new file mode 100644
index 00000000..dce956e8
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_green.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_green_open.png b/IconThemes/slick/64x64/filesystems/folder_green_open.png
new file mode 100644
index 00000000..f0b50833
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_green_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_grey.png b/IconThemes/slick/64x64/filesystems/folder_grey.png
new file mode 100644
index 00000000..f54f5ee0
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_grey.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_grey_open.png b/IconThemes/slick/64x64/filesystems/folder_grey_open.png
new file mode 100644
index 00000000..933cb407
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_grey_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_home.png b/IconThemes/slick/64x64/filesystems/folder_home.png
new file mode 100644
index 00000000..59ce2ee1
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_home.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_html.png b/IconThemes/slick/64x64/filesystems/folder_html.png
new file mode 100644
index 00000000..0286bbb2
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_html.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_image.png b/IconThemes/slick/64x64/filesystems/folder_image.png
new file mode 100644
index 00000000..4465aff1
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_image.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_important.png b/IconThemes/slick/64x64/filesystems/folder_important.png
new file mode 100644
index 00000000..e374e15a
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_important.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_locked.png b/IconThemes/slick/64x64/filesystems/folder_locked.png
new file mode 100644
index 00000000..9405b74a
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_locked.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_mail.png b/IconThemes/slick/64x64/filesystems/folder_mail.png
new file mode 100644
index 00000000..5bf401fd
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_mail.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_open.png b/IconThemes/slick/64x64/filesystems/folder_open.png
new file mode 100644
index 00000000..fca6c87f
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_orange.png b/IconThemes/slick/64x64/filesystems/folder_orange.png
new file mode 100644
index 00000000..22c45342
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_orange.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_orange_open.png b/IconThemes/slick/64x64/filesystems/folder_orange_open.png
new file mode 100644
index 00000000..10759fc9
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_orange_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_print.png b/IconThemes/slick/64x64/filesystems/folder_print.png
new file mode 100644
index 00000000..6b663b3c
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_print.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_purple.png b/IconThemes/slick/64x64/filesystems/folder_purple.png
new file mode 100644
index 00000000..04490667
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_purple.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_purple_open.png b/IconThemes/slick/64x64/filesystems/folder_purple_open.png
new file mode 100644
index 00000000..931bc6da
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_purple_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_recycle.png b/IconThemes/slick/64x64/filesystems/folder_recycle.png
new file mode 100644
index 00000000..fe23267f
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_recycle.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_red.png b/IconThemes/slick/64x64/filesystems/folder_red.png
new file mode 100644
index 00000000..6b612b8e
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_red.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_red_open.png b/IconThemes/slick/64x64/filesystems/folder_red_open.png
new file mode 100644
index 00000000..5f52452e
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_red_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_sound.png b/IconThemes/slick/64x64/filesystems/folder_sound.png
new file mode 100644
index 00000000..0fef7b45
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_sound.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_src.png b/IconThemes/slick/64x64/filesystems/folder_src.png
new file mode 100644
index 00000000..21334d31
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_src.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_tar.png b/IconThemes/slick/64x64/filesystems/folder_tar.png
new file mode 100644
index 00000000..e4d88809
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_tar.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_tux.png b/IconThemes/slick/64x64/filesystems/folder_tux.png
new file mode 100644
index 00000000..0c9a52d3
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_tux.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_txt.png b/IconThemes/slick/64x64/filesystems/folder_txt.png
new file mode 100644
index 00000000..3614ab7a
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_txt.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_video.png b/IconThemes/slick/64x64/filesystems/folder_video.png
new file mode 100644
index 00000000..3d583df5
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_video.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_yellow.png b/IconThemes/slick/64x64/filesystems/folder_yellow.png
new file mode 100644
index 00000000..9db48906
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_yellow.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/folder_yellow_open.png b/IconThemes/slick/64x64/filesystems/folder_yellow_open.png
new file mode 100644
index 00000000..3aa992b4
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/folder_yellow_open.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/ftp.png b/IconThemes/slick/64x64/filesystems/ftp.png
new file mode 100644
index 00000000..7389f571
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/ftp.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/homepage.png b/IconThemes/slick/64x64/filesystems/homepage.png
new file mode 100644
index 00000000..4675de51
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/homepage.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/link.png b/IconThemes/slick/64x64/filesystems/link.png
new file mode 100644
index 00000000..ae39c2f7
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/link.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/lockoverlay.png b/IconThemes/slick/64x64/filesystems/lockoverlay.png
new file mode 100644
index 00000000..08159c2a
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/lockoverlay.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/network.png b/IconThemes/slick/64x64/filesystems/network.png
new file mode 100644
index 00000000..38932fe3
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/network.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/network_local.png b/IconThemes/slick/64x64/filesystems/network_local.png
new file mode 100644
index 00000000..dc5ed07f
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/network_local.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/pipe.png b/IconThemes/slick/64x64/filesystems/pipe.png
new file mode 100644
index 00000000..9004c209
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/pipe.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/server.png b/IconThemes/slick/64x64/filesystems/server.png
new file mode 100644
index 00000000..a9fc230c
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/server.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/server2.png b/IconThemes/slick/64x64/filesystems/server2.png
new file mode 100644
index 00000000..cfe0f2dc
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/server2.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/share.png b/IconThemes/slick/64x64/filesystems/share.png
new file mode 100644
index 00000000..1f0bfd73
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/share.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/shredder.png b/IconThemes/slick/64x64/filesystems/shredder.png
new file mode 100644
index 00000000..3eaca9d5
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/shredder.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/socket.png b/IconThemes/slick/64x64/filesystems/socket.png
new file mode 100644
index 00000000..8bd71fa3
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/socket.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/system.png b/IconThemes/slick/64x64/filesystems/system.png
new file mode 100644
index 00000000..376d3843
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/system.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/trashcan_empty.png b/IconThemes/slick/64x64/filesystems/trashcan_empty.png
new file mode 100644
index 00000000..09e00235
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/trashcan_empty.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/trashcan_full.png b/IconThemes/slick/64x64/filesystems/trashcan_full.png
new file mode 100644
index 00000000..a4b4262c
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/trashcan_full.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/www.png b/IconThemes/slick/64x64/filesystems/www.png
new file mode 100644
index 00000000..38932fe3
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/www.png
Binary files differ
diff --git a/IconThemes/slick/64x64/filesystems/zip.png b/IconThemes/slick/64x64/filesystems/zip.png
new file mode 100644
index 00000000..a5c3aa5d
--- /dev/null
+++ b/IconThemes/slick/64x64/filesystems/zip.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/applix.png b/IconThemes/slick/64x64/mimetypes/applix.png
new file mode 100644
index 00000000..9d5e5a9c
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/applix.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/archive.png b/IconThemes/slick/64x64/mimetypes/archive.png
new file mode 100644
index 00000000..2e5d4db9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/archive.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ascii.png b/IconThemes/slick/64x64/mimetypes/ascii.png
new file mode 100644
index 00000000..1e1746a9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ascii.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/binary.png b/IconThemes/slick/64x64/mimetypes/binary.png
new file mode 100644
index 00000000..ea10e6d5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/binary.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/binary2.png b/IconThemes/slick/64x64/mimetypes/binary2.png
new file mode 100644
index 00000000..58a82739
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/binary2.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/cdimage.png b/IconThemes/slick/64x64/mimetypes/cdimage.png
new file mode 100644
index 00000000..bc67647d
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/cdimage.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/cdr.png b/IconThemes/slick/64x64/mimetypes/cdr.png
new file mode 100644
index 00000000..56f15ff6
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/cdr.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/cdtrack.png b/IconThemes/slick/64x64/mimetypes/cdtrack.png
new file mode 100644
index 00000000..962cfb38
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/cdtrack.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/colorscm.png b/IconThemes/slick/64x64/mimetypes/colorscm.png
new file mode 100644
index 00000000..b02a4b43
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/colorscm.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/colorset.png b/IconThemes/slick/64x64/mimetypes/colorset.png
new file mode 100644
index 00000000..b02a4b43
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/colorset.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/configure_script.png b/IconThemes/slick/64x64/mimetypes/configure_script.png
new file mode 100644
index 00000000..69863d55
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/configure_script.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/core.png b/IconThemes/slick/64x64/mimetypes/core.png
new file mode 100644
index 00000000..cd1dc0e4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/core.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/deb.png b/IconThemes/slick/64x64/mimetypes/deb.png
new file mode 100644
index 00000000..01cdf7b5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/deb.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/develop.png b/IconThemes/slick/64x64/mimetypes/develop.png
new file mode 100644
index 00000000..bb6b9827
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/develop.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/disk_image.png b/IconThemes/slick/64x64/mimetypes/disk_image.png
new file mode 100644
index 00000000..471629fb
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/disk_image.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/document.png b/IconThemes/slick/64x64/mimetypes/document.png
new file mode 100644
index 00000000..dbdc053d
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/document.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/document2.png b/IconThemes/slick/64x64/mimetypes/document2.png
new file mode 100644
index 00000000..2d51c7bb
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/document2.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/dvi.png b/IconThemes/slick/64x64/mimetypes/dvi.png
new file mode 100644
index 00000000..48484030
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/dvi.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/encrypted.png b/IconThemes/slick/64x64/mimetypes/encrypted.png
new file mode 100644
index 00000000..bbc0c0fc
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/encrypted.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/font_bitmap.png b/IconThemes/slick/64x64/mimetypes/font_bitmap.png
new file mode 100644
index 00000000..6b6d63c5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/font_bitmap.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/font_truetype.png b/IconThemes/slick/64x64/mimetypes/font_truetype.png
new file mode 100644
index 00000000..fa5a0a7b
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/font_truetype.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/font_type1.png b/IconThemes/slick/64x64/mimetypes/font_type1.png
new file mode 100644
index 00000000..5d67faf3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/font_type1.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/gettext.png b/IconThemes/slick/64x64/mimetypes/gettext.png
new file mode 100644
index 00000000..5d67faf3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/gettext.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/html.png b/IconThemes/slick/64x64/mimetypes/html.png
new file mode 100644
index 00000000..d60a7453
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/html.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/image.png b/IconThemes/slick/64x64/mimetypes/image.png
new file mode 100644
index 00000000..ceef03ef
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/image.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/images.png b/IconThemes/slick/64x64/mimetypes/images.png
new file mode 100644
index 00000000..5cdb8f48
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/images.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/info.png b/IconThemes/slick/64x64/mimetypes/info.png
new file mode 100644
index 00000000..ff43bfc3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/info.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/jar.png b/IconThemes/slick/64x64/mimetypes/jar.png
new file mode 100644
index 00000000..982201a5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/jar.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/kget.png b/IconThemes/slick/64x64/mimetypes/kget.png
new file mode 100644
index 00000000..d9be1d89
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/kget.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/kmultiple.png b/IconThemes/slick/64x64/mimetypes/kmultiple.png
new file mode 100644
index 00000000..104dac37
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/kmultiple.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/log.png b/IconThemes/slick/64x64/mimetypes/log.png
new file mode 100644
index 00000000..1243fb08
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/log.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/make.png b/IconThemes/slick/64x64/mimetypes/make.png
new file mode 100644
index 00000000..23e1448d
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/make.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/man.png b/IconThemes/slick/64x64/mimetypes/man.png
new file mode 100644
index 00000000..2b06301f
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/man.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/message.png b/IconThemes/slick/64x64/mimetypes/message.png
new file mode 100644
index 00000000..6e8975df
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/message.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/midi.png b/IconThemes/slick/64x64/mimetypes/midi.png
new file mode 100644
index 00000000..5dd20ef4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/midi.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_empty.png b/IconThemes/slick/64x64/mimetypes/mime_empty.png
new file mode 100644
index 00000000..3dda33d1
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_empty.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_html.png b/IconThemes/slick/64x64/mimetypes/mime_html.png
new file mode 100644
index 00000000..d60a7453
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_html.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_image.png b/IconThemes/slick/64x64/mimetypes/mime_image.png
new file mode 100644
index 00000000..ceef03ef
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_image.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_sound.png b/IconThemes/slick/64x64/mimetypes/mime_sound.png
new file mode 100644
index 00000000..bae9d1f3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_sound.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_track.png b/IconThemes/slick/64x64/mimetypes/mime_track.png
new file mode 100644
index 00000000..962cfb38
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_track.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mime_txt.png b/IconThemes/slick/64x64/mimetypes/mime_txt.png
new file mode 100644
index 00000000..346e54a9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mime_txt.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/misc_doc.png b/IconThemes/slick/64x64/mimetypes/misc_doc.png
new file mode 100644
index 00000000..13fe131a
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/misc_doc.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/mp3.png b/IconThemes/slick/64x64/mimetypes/mp3.png
new file mode 100644
index 00000000..f858ac8c
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/mp3.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ms_access.png b/IconThemes/slick/64x64/mimetypes/ms_access.png
new file mode 100644
index 00000000..1fc1a3e9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ms_access.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ms_excel.png b/IconThemes/slick/64x64/mimetypes/ms_excel.png
new file mode 100644
index 00000000..a62594f5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ms_excel.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ms_powerpoint.png b/IconThemes/slick/64x64/mimetypes/ms_powerpoint.png
new file mode 100644
index 00000000..22f3e7df
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ms_powerpoint.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ms_word.png b/IconThemes/slick/64x64/mimetypes/ms_word.png
new file mode 100644
index 00000000..36326eb4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ms_word.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/netscape_doc.png b/IconThemes/slick/64x64/mimetypes/netscape_doc.png
new file mode 100644
index 00000000..12d432f4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/netscape_doc.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/pdf.png b/IconThemes/slick/64x64/mimetypes/pdf.png
new file mode 100644
index 00000000..608911ea
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/pdf.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/person.png b/IconThemes/slick/64x64/mimetypes/person.png
new file mode 100644
index 00000000..a9a320b4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/person.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/postscript.png b/IconThemes/slick/64x64/mimetypes/postscript.png
new file mode 100644
index 00000000..ca053e65
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/postscript.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/pov.png b/IconThemes/slick/64x64/mimetypes/pov.png
new file mode 100644
index 00000000..df4d5713
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/pov.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/readme.png b/IconThemes/slick/64x64/mimetypes/readme.png
new file mode 100644
index 00000000..14229bed
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/readme.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/real_doc.png b/IconThemes/slick/64x64/mimetypes/real_doc.png
new file mode 100644
index 00000000..d4ee243e
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/real_doc.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/recycled.png b/IconThemes/slick/64x64/mimetypes/recycled.png
new file mode 100644
index 00000000..ee2e65d0
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/recycled.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/resource.png b/IconThemes/slick/64x64/mimetypes/resource.png
new file mode 100644
index 00000000..f5579345
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/resource.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/rpm.png b/IconThemes/slick/64x64/mimetypes/rpm.png
new file mode 100644
index 00000000..7d7e21c7
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/rpm.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/ruby.png b/IconThemes/slick/64x64/mimetypes/ruby.png
new file mode 100644
index 00000000..16dfbee5
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/ruby.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/shellscript.png b/IconThemes/slick/64x64/mimetypes/shellscript.png
new file mode 100644
index 00000000..f029b53c
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/shellscript.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/soffice.png b/IconThemes/slick/64x64/mimetypes/soffice.png
new file mode 100644
index 00000000..43365795
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/soffice.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/sound.png b/IconThemes/slick/64x64/mimetypes/sound.png
new file mode 100644
index 00000000..bae9d1f3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/sound.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source.png b/IconThemes/slick/64x64/mimetypes/source.png
new file mode 100644
index 00000000..f6da7661
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_c.png b/IconThemes/slick/64x64/mimetypes/source_c.png
new file mode 100644
index 00000000..63ed3a74
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_c.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_cpp.png b/IconThemes/slick/64x64/mimetypes/source_cpp.png
new file mode 100644
index 00000000..17f56fd1
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_cpp.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_f.png b/IconThemes/slick/64x64/mimetypes/source_f.png
new file mode 100644
index 00000000..f6fc52a9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_f.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_h.png b/IconThemes/slick/64x64/mimetypes/source_h.png
new file mode 100644
index 00000000..d8dfe2a0
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_h.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_java.png b/IconThemes/slick/64x64/mimetypes/source_java.png
new file mode 100644
index 00000000..82fb4e53
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_java.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_l.png b/IconThemes/slick/64x64/mimetypes/source_l.png
new file mode 100644
index 00000000..631432f7
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_l.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_moc.png b/IconThemes/slick/64x64/mimetypes/source_moc.png
new file mode 100644
index 00000000..5cb5109d
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_moc.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_o.png b/IconThemes/slick/64x64/mimetypes/source_o.png
new file mode 100644
index 00000000..bf760832
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_o.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_p.png b/IconThemes/slick/64x64/mimetypes/source_p.png
new file mode 100644
index 00000000..a50b1ce9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_p.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_pl.png b/IconThemes/slick/64x64/mimetypes/source_pl.png
new file mode 100644
index 00000000..9964fad4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_pl.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_py.png b/IconThemes/slick/64x64/mimetypes/source_py.png
new file mode 100644
index 00000000..1ba028b3
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_py.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_s.png b/IconThemes/slick/64x64/mimetypes/source_s.png
new file mode 100644
index 00000000..527177e6
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_s.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/source_y.png b/IconThemes/slick/64x64/mimetypes/source_y.png
new file mode 100644
index 00000000..32a356a4
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/source_y.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/spreadsheet.png b/IconThemes/slick/64x64/mimetypes/spreadsheet.png
new file mode 100644
index 00000000..fcab6550
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/spreadsheet.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/tar.png b/IconThemes/slick/64x64/mimetypes/tar.png
new file mode 100644
index 00000000..61f4944a
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/tar.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/tex.png b/IconThemes/slick/64x64/mimetypes/tex.png
new file mode 100644
index 00000000..e63f6647
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/tex.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/tgz.png b/IconThemes/slick/64x64/mimetypes/tgz.png
new file mode 100644
index 00000000..2e5d4db9
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/tgz.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/txt.png b/IconThemes/slick/64x64/mimetypes/txt.png
new file mode 100644
index 00000000..170d2c1b
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/txt.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/unknown.png b/IconThemes/slick/64x64/mimetypes/unknown.png
new file mode 100644
index 00000000..43d60b72
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/unknown.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/vcard.png b/IconThemes/slick/64x64/mimetypes/vcard.png
new file mode 100644
index 00000000..6cf7ced7
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/vcard.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/vectorgfx.png b/IconThemes/slick/64x64/mimetypes/vectorgfx.png
new file mode 100644
index 00000000..6d58a186
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/vectorgfx.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/video.png b/IconThemes/slick/64x64/mimetypes/video.png
new file mode 100644
index 00000000..e492d788
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/video.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/war.png b/IconThemes/slick/64x64/mimetypes/war.png
new file mode 100644
index 00000000..87d1e428
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/war.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/widget_doc.png b/IconThemes/slick/64x64/mimetypes/widget_doc.png
new file mode 100644
index 00000000..4a75c250
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/widget_doc.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/wordprocessing.png b/IconThemes/slick/64x64/mimetypes/wordprocessing.png
new file mode 100644
index 00000000..1151a35a
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/wordprocessing.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/xcf.png b/IconThemes/slick/64x64/mimetypes/xcf.png
new file mode 100644
index 00000000..0acff0a0
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/xcf.png
Binary files differ
diff --git a/IconThemes/slick/64x64/mimetypes/zip.png b/IconThemes/slick/64x64/mimetypes/zip.png
new file mode 100644
index 00000000..a5c3aa5d
--- /dev/null
+++ b/IconThemes/slick/64x64/mimetypes/zip.png
Binary files differ
diff --git a/IconThemes/slick/index.theme b/IconThemes/slick/index.theme
new file mode 100644
index 00000000..79905594
--- /dev/null
+++ b/IconThemes/slick/index.theme
@@ -0,0 +1,276 @@
+[Icon Theme]
+Name=Slick Icons
+Name[bs]=Slick ikone
+Name[ca]=Icones Slick
+Name[cs]=Slick ikony
+Name[cy]=Eiconau Slick
+Name[de]=Slick-Symbole
+Name[el]=Slick εικονίδια
+Name[eo]=Agrablaj piktogramoj
+Name[es]=Iconos Slick
+Name[et]=Slick ikoonid
+Name[eu]=Slick ikonoak
+Name[fa]=شمایلهای حرفه‌ای
+Name[fi]=Slick-kuvakkeet
+Name[fr]=Icônes Slick
+Name[fy]=Slick
+Name[gl]=Ícones Slick
+Name[he]=סמלי Slick
+Name[hi]=स्लिक आइकॉन्स
+Name[hu]=Slick
+Name[is]=Slick táknmyndir
+Name[it]=Icone Slick
+Name[ja]=スリックアイコン
+Name[ka]=პრიალა
+Name[lt]=Aptakūs ženkliukai
+Name[mk]=Елегантни икони
+Name[nb]=Stæsja ikoner
+Name[nds]=Slick-Lüttbiller
+Name[ne]=स्लिक प्रतिमा
+Name[nl]=Slick
+Name[nn]=Slick-ikon
+Name[pl]=Ikony Slick
+Name[pt]=Ícones Slick
+Name[pt_BR]=Ícones Slick
+Name[ru]=Глянец
+Name[sk]=Slick
+Name[sl]=Ikone Slick
+Name[sr]=Slick иконе
+Name[sr@Latn]=Slick ikone
+Name[sv]=Slick-ikoner
+Name[ta]=திறன் சின்னங்கள்
+Name[tg]=Пардоз
+Name[tr]=Slick Simgeleri
+Name[uk]=Глянцеві піктограми
+Name[vi]=Biểu tượng Bóng mượt
+Name[zh_CN]=靓丽图标
+Name[zh_TW]=Slick 圖示
+Comment=Slick Icons Version 1.6
+Comment[bg]=Гладки икони - версия 1.6
+Comment[bs]=Slick ikone verzija 1.6
+Comment[ca]=Icones Slick versió 1.6
+Comment[cs]=Slick ikony verze 1.6
+Comment[de]=Slick-Symbole Version 1.6
+Comment[el]=Slick εικονίδια έκδοση 1.6
+Comment[es]=Iconos Slick versión 1.6
+Comment[et]=Slick ikoonid versioon 1.6
+Comment[eu]=Slick ikonoak 1.6 bertsioa
+Comment[fa]=شمایلهای حرفه‌ای نسخۀ ۶/۱
+Comment[fi]=Slick-kuvakkeet versio 1.6
+Comment[fr]=Icônes Slick (version 1.6)
+Comment[fy]=Slick-byldkaaikes, ferzje 1.6
+Comment[ga]=Slick Icons Leagan 1.6
+Comment[gl]=Ícones Slick Versión 1.6
+Comment[he]=סמלי Slick גרסה 1.6
+Comment[hu]=Slick Icons 1.6
+Comment[is]=Slick táknmyndir útgáfa 1.6
+Comment[it]=Icone Slick versione 1.6
+Comment[ja]=スリックアイコン Version 1.6
+Comment[ka]=პრიალა პიქტოგრამები, ვერსია 1.6
+Comment[lt]=Aptakūs ženkliukai, versija 1.6
+Comment[mk]=Елегантни икони верзија 1.6
+Comment[ms]=Slick Icons Versi 1.6
+Comment[nb]=Stæsja ikoner versjon 1.6
+Comment[nds]=Slick-Lüttbiller, Verschoon 1.6
+Comment[ne]=स्लिक प्रतिमा संस्करण १.६
+Comment[nl]=Slick-pictogrammen, versie 1.6
+Comment[nn]=Slick-ikon versjon 1.5
+Comment[pl]=Ikony Slick wersja 1.6
+Comment[pt]=Ícones Slick Versão 1.6
+Comment[pt_BR]=Ícones Slick Versão 1.6
+Comment[ru]=Глянцевые значки, версия 1.6
+Comment[sk]=Slick ikony verzia 1.6
+Comment[sl]=Ikone Slick različica 1.6
+Comment[sr]=Slick иконе издање 1.6
+Comment[sr@Latn]=Slick ikone izdanje 1.6
+Comment[sv]=Slick-ikoner version 1.6
+Comment[tr]=Slick Simgeleri Sürüm 1.6
+Comment[uk]=Глянцеві піктограми, версія 1.6
+Comment[vi]=Biểu tượng Bóng mượt Phiên bản 1.6
+Comment[zh_CN]=靓丽图标版本 1.6
+Comment[zh_TW]=Slick 圖示 1.6 版
+DisplayDepth=32
+Inherits=crystalsvg
+Example=folder
+LinkOverlay=link
+LockOverlay=lockoverlay
+ZipOverlay=zip
+DesktopDefault=48
+DesktopSizes=16,22,32,48,64,128
+ToolbarDefault=32
+ToolbarSizes=16,22,32,48
+MainToolbarDefault=32
+MainToolbarSizes=16,22,32,48
+SmallDefault=16
+SmallSizes=16,22
+PanelDefault=32
+PanelSizes=16,22,32,48,64,128
+Directories=16x16/actions,22x22/actions,22x22/apps,22x22/mimetypes,22x22/filesystems,32x32/actions,48x48/actions,64x64/actions,128x128/actions,16x16/apps,32x32/apps,48x48/apps,64x64/apps,128x128/apps,16x16/devices,22x22/devices,32x32/devices,48x48/devices,64x64/devices,128x128/devices,16x16/filesystems,32x32/filesystems,48x48/filesystems,64x64/filesystems,128x128/filesystems,16x16/mimetypes,32x32/mimetypes,48x48/mimetypes,64x64/mimetypes,128x128/mimetypes,48x48/devices,48x48/filesystems,48x48/mimetypes,64x64/filesystems,64x64/mimetypes,64x64/devices,64x64/apps,64x64/actions,128x128/mimetypes,128x128/filesystems,128x128/apps,128x128/devices,128x128/actions
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Threshold
+[22x22/actions]
+Size=22
+Context=Actions
+Type=Threshold
+[32x32/actions]
+Size=32
+Context=Actions
+Type=Threshold
+[48x48/actions]
+Size=48
+Context=Actions
+Type=Threshold
+[64x64/actions]
+Size=64
+Context=Actions
+Type=Threshold
+[128x128/actions]
+Size=128
+Context=Actions
+Type=Threshold
+[16x16/apps]
+Size=16
+Context=Applications
+Type=Threshold
+[32x32/apps]
+Size=32
+Context=Applications
+Type=Threshold
+[22x22/apps]
+Size=22
+Context=Applications
+Type=Threshold
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Threshold
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Threshold
+[128x128/apps]
+Size=128
+Context=Applications
+Type=Threshold
+[16x16/devices]
+Size=16
+Context=Devices
+Type=Threshold
+[32x32/devices]
+Size=32
+Context=Devices
+Type=Threshold
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Threshold
+[64x64/devices]
+Size=64
+Context=Devices
+Type=Threshold
+[128x128/devices]
+Size=128
+Context=Devices
+Type=Threshold
+[22x22/devices]
+Size=22
+Context=Devices
+Type=Threshold
+[16x16/filesystems]
+Size=16
+Context=FileSystems
+Type=Threshold
+[32x32/filesystems]
+Size=32
+Context=FileSystems
+Type=Threshold
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Threshold
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Threshold
+[128x128/filesystems]
+Size=128
+Context=FileSystems
+Type=Threshold
+[16x16/mimetypes]
+Size=16
+Context=MimeTypes
+Type=Threshold
+[22x22/mimetypes]
+Size=22
+Context=MimeTypes
+Type=Threshold
+[32x32/mimetypes]
+Size=32
+Context=MimeTypes
+Type=Threshold
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Threshold
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Threshold
+[128x128/mimetypes]
+Size=128
+Context=MimeTypes
+Type=Threshold
+[48x48/apps]
+Size=48
+Context=Applications
+Type=Threshold
+[48x48/devices]
+Size=48
+Context=Devices
+Type=Threshold
+[48x48/filesystems]
+Size=48
+Context=FileSystems
+Type=Threshold
+[22x22/filesystems]
+Size=22
+Context=FileSystems
+Type=Threshold
+[48x48/mimetypes]
+Size=48
+Context=MimeTypes
+Type=Threshold
+[64x64/apps]
+Size=64
+Context=Applications
+Type=Threshold
+[64x64/devices]
+Size=64
+Context=Devices
+Type=Threshold
+[64x64/filesystems]
+Size=64
+Context=FileSystems
+Type=Threshold
+[64x64/mimetypes]
+Size=64
+Context=MimeTypes
+Type=Threshold
+[128x128/apps]
+Size=128
+Context=Applications
+Type=Threshold
+[128x128/devices]
+Size=128
+Context=Devices
+Type=Threshold
+[128x128/filesystems]
+Size=128
+Context=FileSystems
+Type=Threshold
+[128x128/mimetypes]
+Size=128
+Context=MimeTypes
+Type=Threshold
diff --git a/IconThemes/slick/readme.txt b/IconThemes/slick/readme.txt
new file mode 100644
index 00000000..0128b546
--- /dev/null
+++ b/IconThemes/slick/readme.txt
@@ -0,0 +1,10 @@
+Slick 1.6 (C) 2005 - Robert Cosgrove <rob@digital-confusion.net>
+
+The Slick icon theme.
+
+----------------------------------------
+Credit where credit is due
+
+The cdrom icons are not 100% original. the disc part of the image while modified was created by someone else.
+I dont know who did them originally but credit partly goes to you.
+The Gimp icon is care of Tigert. Various other things are modified icons from Noia and Crystal.
diff --git a/Makefile.am.in b/Makefile.am.in
new file mode 100644
index 00000000..262faf2b
--- /dev/null
+++ b/Makefile.am.in
@@ -0,0 +1,11 @@
+## kdeartwork/Makefile.am
+## (C) 1997-2001 Stephan Kulow
+
+AUTOMAKE_OPTIONS = foreign 1.6.1
+
+EXTRA_DIST = admin
+dist-hook:
+ cd $(top_distdir) && perl $(top_srcdir)/admin/am_edit -padmin
+
+include admin/deps.am
+
diff --git a/Makefile.cvs b/Makefile.cvs
new file mode 100644
index 00000000..d5c4a7b2
--- /dev/null
+++ b/Makefile.cvs
@@ -0,0 +1,15 @@
+
+all:
+ @echo "This Makefile is only for the CVS repository"
+ @echo "This will be deleted before making the distribution"
+ @echo ""
+ @if test ! -d admin; then \
+ echo "Please recheckout this module!" ;\
+ echo "for cvs: use checkout once and after that update again" ;\
+ echo "for cvsup: checkout kde-common from cvsup and" ;\
+ echo " link kde-common/admin to ./admin" ;\
+ exit 1 ;\
+ fi
+ $(MAKE) -f admin/Makefile.common cvs
+
+.SILENT:
diff --git a/README b/README
new file mode 100644
index 00000000..e1d87c58
--- /dev/null
+++ b/README
@@ -0,0 +1,18 @@
+In this file:
+
+* What it is
+
+What it is
+----------
+
+This package contains additional
+
+* themes,
+* screensaver,
+* sounds,
+* wallpapers,
+* widget styles and
+* window styles
+
+for KDE. We placed them into this module so that kdebase won't be too bloated.
+
diff --git a/configure.in.in b/configure.in.in
new file mode 100644
index 00000000..a8f2c56e
--- /dev/null
+++ b/configure.in.in
@@ -0,0 +1,5 @@
+#MIN_CONFIG
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+dnl Themes are installed by the toplevel Makefile.am
+DO_NOT_COMPILE="$DO_NOT_COMPILE Themes"
diff --git a/emoticons/BoxedEmoticonSet/Makefile.am b/emoticons/BoxedEmoticonSet/Makefile.am
new file mode 100644
index 00000000..ac61855f
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/Makefile.am
@@ -0,0 +1,3 @@
+icondir = $(datadir)/emoticons/Boxed
+icon_DATA = emoticons.xml angry.png bigsmile.png confused.png \
+cry.png oh.png sad.png shade.png smile.png tongue.png wink.png
diff --git a/emoticons/BoxedEmoticonSet/README b/emoticons/BoxedEmoticonSet/README
new file mode 100644
index 00000000..9687ddfe
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/README
@@ -0,0 +1,4 @@
+Got permission by the author (AreFX) to add this emoticon-theme to Kopete.
+AreFX can be reached via the following URLs:
+http://arefx.deviantart.com/
+http://www.xboxfanatics.tk/
diff --git a/emoticons/BoxedEmoticonSet/angry.png b/emoticons/BoxedEmoticonSet/angry.png
new file mode 100644
index 00000000..1f9663b0
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/angry.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/bigsmile.png b/emoticons/BoxedEmoticonSet/bigsmile.png
new file mode 100644
index 00000000..4932dbe4
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/bigsmile.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/confused.png b/emoticons/BoxedEmoticonSet/confused.png
new file mode 100644
index 00000000..b46268d1
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/confused.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/cry.png b/emoticons/BoxedEmoticonSet/cry.png
new file mode 100644
index 00000000..099da409
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/cry.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/emoticons.xml b/emoticons/BoxedEmoticonSet/emoticons.xml
new file mode 100644
index 00000000..d257bf33
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/emoticons.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angry">
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+</emoticon>
+
+<emoticon file="bigsmile">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:/</string>
+ <string>:-/</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sad">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="shade">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/BoxedEmoticonSet/oh.png b/emoticons/BoxedEmoticonSet/oh.png
new file mode 100644
index 00000000..ae5fa919
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/oh.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/sad.png b/emoticons/BoxedEmoticonSet/sad.png
new file mode 100644
index 00000000..e34ac346
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/sad.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/shade.png b/emoticons/BoxedEmoticonSet/shade.png
new file mode 100644
index 00000000..0e8b4d3f
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/shade.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/smile.png b/emoticons/BoxedEmoticonSet/smile.png
new file mode 100644
index 00000000..60e9affd
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/smile.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/tongue.png b/emoticons/BoxedEmoticonSet/tongue.png
new file mode 100644
index 00000000..43c98d67
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/tongue.png
Binary files differ
diff --git a/emoticons/BoxedEmoticonSet/wink.png b/emoticons/BoxedEmoticonSet/wink.png
new file mode 100644
index 00000000..b7536e52
--- /dev/null
+++ b/emoticons/BoxedEmoticonSet/wink.png
Binary files differ
diff --git a/emoticons/GroupWise/Makefile.am b/emoticons/GroupWise/Makefile.am
new file mode 100644
index 00000000..5a70d66b
--- /dev/null
+++ b/emoticons/GroupWise/Makefile.am
@@ -0,0 +1,15 @@
+icondir = $(datadir)/emoticons/GroupWise
+icon_DATA = emoticons.xml
+
+#smile.png
+#frown.png
+#wink.png
+#surprised.png
+#angry.png
+#undecided.png
+#bigsmile.png
+#crying.png
+#innocent.png
+#embarrassed.png
+#lipssealed.png
+#footinmouth.png
diff --git a/emoticons/GroupWise/emoticons.xml b/emoticons/GroupWise/emoticons.xml
new file mode 100644
index 00000000..a24fcadb
--- /dev/null
+++ b/emoticons/GroupWise/emoticons.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="smile">
+ <string>:)</string>
+ <string>:-)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="frown">
+ <string>:(</string>
+ <string>:-(</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;)</string>
+ <string>;-)</string>
+</emoticon>
+
+<emoticon file="surprised">
+ <string>:O</string>
+ <string>:-O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="angry">
+ <string>:@</string>
+ <string>:-@</string>
+ <string>&gt;:(</string>
+ <string>&gt;:-(</string>
+</emoticon>
+
+<emoticon file="undecided">
+ <string>:/</string>
+ <string>:-/</string>
+</emoticon>
+
+<emoticon file="bigsmile">
+ <string>:D</string>
+ <string>:-D</string>
+</emoticon>
+
+<emoticon file="crying">
+ <string>:'(</string>
+ <string>:'-(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="innocent">
+ <string>O:)</string>
+</emoticon>
+
+<emoticon file="embarrassed">
+ <string>:[</string>
+ <string>:-[</string>
+</emoticon>
+
+<emoticon file="lipssealed">
+ <string>:X</string>
+ <string>:-X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="footinmouth">
+ <string>:!</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/KMess-Blue/Makefile.am b/emoticons/KMess-Blue/Makefile.am
new file mode 100644
index 00000000..266fc576
--- /dev/null
+++ b/emoticons/KMess-Blue/Makefile.am
@@ -0,0 +1,14 @@
+icondir = $(datadir)/emoticons/KMess-Blue
+
+icon_DATA = emoticons.xml \
+angry.png confused.png cry.png \
+embarassed.png omg.png sad.png \
+shade.png smile.png teeth.png \
+tongue.png wink.png
+
+# Currently without a mapping and not installed:
+# arrogant.png
+# satisfied.png
+# shout.png
+# sorry.png
+# ugly.png
diff --git a/emoticons/KMess-Blue/angry.png b/emoticons/KMess-Blue/angry.png
new file mode 100644
index 00000000..476ed9c6
--- /dev/null
+++ b/emoticons/KMess-Blue/angry.png
Binary files differ
diff --git a/emoticons/KMess-Blue/arrogant.png b/emoticons/KMess-Blue/arrogant.png
new file mode 100644
index 00000000..2d5ec7d4
--- /dev/null
+++ b/emoticons/KMess-Blue/arrogant.png
Binary files differ
diff --git a/emoticons/KMess-Blue/confused.png b/emoticons/KMess-Blue/confused.png
new file mode 100644
index 00000000..461c16d9
--- /dev/null
+++ b/emoticons/KMess-Blue/confused.png
Binary files differ
diff --git a/emoticons/KMess-Blue/cry.png b/emoticons/KMess-Blue/cry.png
new file mode 100644
index 00000000..8fc019e5
--- /dev/null
+++ b/emoticons/KMess-Blue/cry.png
Binary files differ
diff --git a/emoticons/KMess-Blue/embarassed.png b/emoticons/KMess-Blue/embarassed.png
new file mode 100644
index 00000000..346a7a62
--- /dev/null
+++ b/emoticons/KMess-Blue/embarassed.png
Binary files differ
diff --git a/emoticons/KMess-Blue/emoticons.xml b/emoticons/KMess-Blue/emoticons.xml
new file mode 100644
index 00000000..50295ab2
--- /dev/null
+++ b/emoticons/KMess-Blue/emoticons.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angry">
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+ <string>:-@</string>
+ <string>:@</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="embarassed">
+ <string>:-$</string>
+ <string>:$</string>
+</emoticon>
+
+<emoticon file="omg">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sad">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="shade">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="teeth">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/KMess-Blue/omg.png b/emoticons/KMess-Blue/omg.png
new file mode 100644
index 00000000..89fc8a05
--- /dev/null
+++ b/emoticons/KMess-Blue/omg.png
Binary files differ
diff --git a/emoticons/KMess-Blue/sad.png b/emoticons/KMess-Blue/sad.png
new file mode 100644
index 00000000..dc77c5f5
--- /dev/null
+++ b/emoticons/KMess-Blue/sad.png
Binary files differ
diff --git a/emoticons/KMess-Blue/satisfied.png b/emoticons/KMess-Blue/satisfied.png
new file mode 100644
index 00000000..c43e269c
--- /dev/null
+++ b/emoticons/KMess-Blue/satisfied.png
Binary files differ
diff --git a/emoticons/KMess-Blue/shade.png b/emoticons/KMess-Blue/shade.png
new file mode 100644
index 00000000..148ffb58
--- /dev/null
+++ b/emoticons/KMess-Blue/shade.png
Binary files differ
diff --git a/emoticons/KMess-Blue/shout.png b/emoticons/KMess-Blue/shout.png
new file mode 100644
index 00000000..796788ca
--- /dev/null
+++ b/emoticons/KMess-Blue/shout.png
Binary files differ
diff --git a/emoticons/KMess-Blue/smile.png b/emoticons/KMess-Blue/smile.png
new file mode 100644
index 00000000..2ea263da
--- /dev/null
+++ b/emoticons/KMess-Blue/smile.png
Binary files differ
diff --git a/emoticons/KMess-Blue/sorry.png b/emoticons/KMess-Blue/sorry.png
new file mode 100644
index 00000000..0b1877c7
--- /dev/null
+++ b/emoticons/KMess-Blue/sorry.png
Binary files differ
diff --git a/emoticons/KMess-Blue/teeth.png b/emoticons/KMess-Blue/teeth.png
new file mode 100644
index 00000000..17e1284e
--- /dev/null
+++ b/emoticons/KMess-Blue/teeth.png
Binary files differ
diff --git a/emoticons/KMess-Blue/tongue.png b/emoticons/KMess-Blue/tongue.png
new file mode 100644
index 00000000..52c90c12
--- /dev/null
+++ b/emoticons/KMess-Blue/tongue.png
Binary files differ
diff --git a/emoticons/KMess-Blue/ugly.png b/emoticons/KMess-Blue/ugly.png
new file mode 100644
index 00000000..555106f9
--- /dev/null
+++ b/emoticons/KMess-Blue/ugly.png
Binary files differ
diff --git a/emoticons/KMess-Blue/wink.png b/emoticons/KMess-Blue/wink.png
new file mode 100644
index 00000000..8582fe00
--- /dev/null
+++ b/emoticons/KMess-Blue/wink.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/Makefile.am b/emoticons/KMess-Cartoon/Makefile.am
new file mode 100644
index 00000000..f8021ca4
--- /dev/null
+++ b/emoticons/KMess-Cartoon/Makefile.am
@@ -0,0 +1,4 @@
+icondir = $(datadir)/emoticons/KMess-Cartoon
+
+icon_DATA = emoticons.xml \
+angel.png angry.png confused.png cry.png devil.png embarrassed.png omg.png sad.png shade.png smile.png teeth.png tongue.png ugly.png wink.png \ No newline at end of file
diff --git a/emoticons/KMess-Cartoon/angel.png b/emoticons/KMess-Cartoon/angel.png
new file mode 100644
index 00000000..87f6fc3a
--- /dev/null
+++ b/emoticons/KMess-Cartoon/angel.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/angry.png b/emoticons/KMess-Cartoon/angry.png
new file mode 100644
index 00000000..a94e7541
--- /dev/null
+++ b/emoticons/KMess-Cartoon/angry.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/confused.png b/emoticons/KMess-Cartoon/confused.png
new file mode 100644
index 00000000..340e4945
--- /dev/null
+++ b/emoticons/KMess-Cartoon/confused.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/cry.png b/emoticons/KMess-Cartoon/cry.png
new file mode 100644
index 00000000..331ac3be
--- /dev/null
+++ b/emoticons/KMess-Cartoon/cry.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/devil.png b/emoticons/KMess-Cartoon/devil.png
new file mode 100644
index 00000000..bd71f372
--- /dev/null
+++ b/emoticons/KMess-Cartoon/devil.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/embarrassed.png b/emoticons/KMess-Cartoon/embarrassed.png
new file mode 100644
index 00000000..e02d3148
--- /dev/null
+++ b/emoticons/KMess-Cartoon/embarrassed.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/emoticons.xml b/emoticons/KMess-Cartoon/emoticons.xml
new file mode 100644
index 00000000..351e1fd8
--- /dev/null
+++ b/emoticons/KMess-Cartoon/emoticons.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+ <string>(A)</string>
+ <string>(a)</string>
+</emoticon>
+
+<emoticon file="angry">
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+ <string>:-@</string>
+ <string>:@</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+ <string>(6)</string>
+</emoticon>
+
+<emoticon file="omg">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sad">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="embarrassed">
+ <string>:$</string>
+ <string>:-$</string>
+</emoticon>
+
+<emoticon file="shade">
+ <string>8-)</string>
+ <string>8)</string>
+ <string>(H)</string>
+ <string>(h)</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+</emoticon>
+
+<emoticon file="teeth">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="ugly">
+ <string>:|</string>
+ <string>:-|</string>
+ <string>:/</string>
+ <string>:-/</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/KMess-Cartoon/omg.png b/emoticons/KMess-Cartoon/omg.png
new file mode 100644
index 00000000..403a9982
--- /dev/null
+++ b/emoticons/KMess-Cartoon/omg.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/sad.png b/emoticons/KMess-Cartoon/sad.png
new file mode 100644
index 00000000..0c91b9f5
--- /dev/null
+++ b/emoticons/KMess-Cartoon/sad.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/shade.png b/emoticons/KMess-Cartoon/shade.png
new file mode 100644
index 00000000..e89819c4
--- /dev/null
+++ b/emoticons/KMess-Cartoon/shade.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/smile.png b/emoticons/KMess-Cartoon/smile.png
new file mode 100644
index 00000000..389c507b
--- /dev/null
+++ b/emoticons/KMess-Cartoon/smile.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/teeth.png b/emoticons/KMess-Cartoon/teeth.png
new file mode 100644
index 00000000..0eabf0fd
--- /dev/null
+++ b/emoticons/KMess-Cartoon/teeth.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/tongue.png b/emoticons/KMess-Cartoon/tongue.png
new file mode 100644
index 00000000..7cd0df4b
--- /dev/null
+++ b/emoticons/KMess-Cartoon/tongue.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/ugly.png b/emoticons/KMess-Cartoon/ugly.png
new file mode 100644
index 00000000..21f562f9
--- /dev/null
+++ b/emoticons/KMess-Cartoon/ugly.png
Binary files differ
diff --git a/emoticons/KMess-Cartoon/wink.png b/emoticons/KMess-Cartoon/wink.png
new file mode 100644
index 00000000..3885b04e
--- /dev/null
+++ b/emoticons/KMess-Cartoon/wink.png
Binary files differ
diff --git a/emoticons/KMess-Violet/Makefile.am b/emoticons/KMess-Violet/Makefile.am
new file mode 100644
index 00000000..e7ccc8a3
--- /dev/null
+++ b/emoticons/KMess-Violet/Makefile.am
@@ -0,0 +1,14 @@
+icondir = $(datadir)/emoticons/KMess-Violet
+
+icon_DATA = emoticons.xml \
+angry.png confused.png cry.png \
+embarassed.png omg.png sad.png \
+shade.png smile.png teeth.png \
+tongue.png wink.png
+
+# Currently without a mapping and not installed:
+# arrogant.png
+# satisfied.png
+# shout.png
+# sorry.png
+# ugly.png
diff --git a/emoticons/KMess-Violet/angry.png b/emoticons/KMess-Violet/angry.png
new file mode 100644
index 00000000..476ed9c6
--- /dev/null
+++ b/emoticons/KMess-Violet/angry.png
Binary files differ
diff --git a/emoticons/KMess-Violet/arrogant.png b/emoticons/KMess-Violet/arrogant.png
new file mode 100644
index 00000000..6dda88cc
--- /dev/null
+++ b/emoticons/KMess-Violet/arrogant.png
Binary files differ
diff --git a/emoticons/KMess-Violet/confused.png b/emoticons/KMess-Violet/confused.png
new file mode 100644
index 00000000..c032ccee
--- /dev/null
+++ b/emoticons/KMess-Violet/confused.png
Binary files differ
diff --git a/emoticons/KMess-Violet/cry.png b/emoticons/KMess-Violet/cry.png
new file mode 100644
index 00000000..677d66b1
--- /dev/null
+++ b/emoticons/KMess-Violet/cry.png
Binary files differ
diff --git a/emoticons/KMess-Violet/embarassed.png b/emoticons/KMess-Violet/embarassed.png
new file mode 100644
index 00000000..2dea76d5
--- /dev/null
+++ b/emoticons/KMess-Violet/embarassed.png
Binary files differ
diff --git a/emoticons/KMess-Violet/emoticons.xml b/emoticons/KMess-Violet/emoticons.xml
new file mode 100644
index 00000000..50295ab2
--- /dev/null
+++ b/emoticons/KMess-Violet/emoticons.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angry">
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+ <string>:-@</string>
+ <string>:@</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="embarassed">
+ <string>:-$</string>
+ <string>:$</string>
+</emoticon>
+
+<emoticon file="omg">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sad">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="shade">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="teeth">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/KMess-Violet/omg.png b/emoticons/KMess-Violet/omg.png
new file mode 100644
index 00000000..3ea751e0
--- /dev/null
+++ b/emoticons/KMess-Violet/omg.png
Binary files differ
diff --git a/emoticons/KMess-Violet/sad.png b/emoticons/KMess-Violet/sad.png
new file mode 100644
index 00000000..2e0d4992
--- /dev/null
+++ b/emoticons/KMess-Violet/sad.png
Binary files differ
diff --git a/emoticons/KMess-Violet/satisfied.png b/emoticons/KMess-Violet/satisfied.png
new file mode 100644
index 00000000..1a19a8d2
--- /dev/null
+++ b/emoticons/KMess-Violet/satisfied.png
Binary files differ
diff --git a/emoticons/KMess-Violet/shade.png b/emoticons/KMess-Violet/shade.png
new file mode 100644
index 00000000..7ac74e49
--- /dev/null
+++ b/emoticons/KMess-Violet/shade.png
Binary files differ
diff --git a/emoticons/KMess-Violet/shout.png b/emoticons/KMess-Violet/shout.png
new file mode 100644
index 00000000..415df790
--- /dev/null
+++ b/emoticons/KMess-Violet/shout.png
Binary files differ
diff --git a/emoticons/KMess-Violet/smile.png b/emoticons/KMess-Violet/smile.png
new file mode 100644
index 00000000..08f531e1
--- /dev/null
+++ b/emoticons/KMess-Violet/smile.png
Binary files differ
diff --git a/emoticons/KMess-Violet/sorry.png b/emoticons/KMess-Violet/sorry.png
new file mode 100644
index 00000000..ef10e953
--- /dev/null
+++ b/emoticons/KMess-Violet/sorry.png
Binary files differ
diff --git a/emoticons/KMess-Violet/teeth.png b/emoticons/KMess-Violet/teeth.png
new file mode 100644
index 00000000..a381fe4f
--- /dev/null
+++ b/emoticons/KMess-Violet/teeth.png
Binary files differ
diff --git a/emoticons/KMess-Violet/tongue.png b/emoticons/KMess-Violet/tongue.png
new file mode 100644
index 00000000..46bfb341
--- /dev/null
+++ b/emoticons/KMess-Violet/tongue.png
Binary files differ
diff --git a/emoticons/KMess-Violet/ugly.png b/emoticons/KMess-Violet/ugly.png
new file mode 100644
index 00000000..f0a2f886
--- /dev/null
+++ b/emoticons/KMess-Violet/ugly.png
Binary files differ
diff --git a/emoticons/KMess-Violet/wink.png b/emoticons/KMess-Violet/wink.png
new file mode 100644
index 00000000..52096632
--- /dev/null
+++ b/emoticons/KMess-Violet/wink.png
Binary files differ
diff --git a/emoticons/KMess/COPYING b/emoticons/KMess/COPYING
new file mode 100644
index 00000000..0b84a43f
--- /dev/null
+++ b/emoticons/KMess/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/emoticons/KMess/Makefile.am b/emoticons/KMess/Makefile.am
new file mode 100644
index 00000000..bf12987a
--- /dev/null
+++ b/emoticons/KMess/Makefile.am
@@ -0,0 +1,31 @@
+icondir = $(datadir)/emoticons/KMess
+icon_DATA = emoticons.xml \
+angel.png angry.png bat.png \
+beer.png boy.png cake.png \
+camera.png cat.png clock.png \
+cocktail.png confused.png cry.png \
+cup.png devil.png dog.png \
+dude_hug.png embarassed.png email.png \
+film.png girl.png girl_hug.png \
+kiss.png lightbulb.png love.png \
+messenger.png note.png \
+omg.png phone.png present.png \
+rose.png sad.png shade.png \
+smile.png star.png \
+teeth.png thumbs_down.png thumbs_up.png \
+tongue.png unlove.png wilted_rose.png \
+wink.png
+
+# Currently without a mapping and not installed:
+# arrogant.png
+# asl.png
+# bad.png
+# envelope.png
+# handcuffs.png
+# moon.png
+# rainbow.png
+# satisfied.png
+# shout.png
+# sorry.png
+# sun.png
+# ugly.png
diff --git a/emoticons/KMess/angel.png b/emoticons/KMess/angel.png
new file mode 100644
index 00000000..8dd4e71a
--- /dev/null
+++ b/emoticons/KMess/angel.png
Binary files differ
diff --git a/emoticons/KMess/angry.png b/emoticons/KMess/angry.png
new file mode 100644
index 00000000..476ed9c6
--- /dev/null
+++ b/emoticons/KMess/angry.png
Binary files differ
diff --git a/emoticons/KMess/bat.png b/emoticons/KMess/bat.png
new file mode 100644
index 00000000..3db620b2
--- /dev/null
+++ b/emoticons/KMess/bat.png
Binary files differ
diff --git a/emoticons/KMess/beer.png b/emoticons/KMess/beer.png
new file mode 100644
index 00000000..b1d60afc
--- /dev/null
+++ b/emoticons/KMess/beer.png
Binary files differ
diff --git a/emoticons/KMess/boy.png b/emoticons/KMess/boy.png
new file mode 100644
index 00000000..f9078e80
--- /dev/null
+++ b/emoticons/KMess/boy.png
Binary files differ
diff --git a/emoticons/KMess/cake.png b/emoticons/KMess/cake.png
new file mode 100644
index 00000000..1d2bd092
--- /dev/null
+++ b/emoticons/KMess/cake.png
Binary files differ
diff --git a/emoticons/KMess/camera.png b/emoticons/KMess/camera.png
new file mode 100644
index 00000000..1d65751f
--- /dev/null
+++ b/emoticons/KMess/camera.png
Binary files differ
diff --git a/emoticons/KMess/cat.png b/emoticons/KMess/cat.png
new file mode 100644
index 00000000..634525b5
--- /dev/null
+++ b/emoticons/KMess/cat.png
Binary files differ
diff --git a/emoticons/KMess/clock.png b/emoticons/KMess/clock.png
new file mode 100644
index 00000000..1a802361
--- /dev/null
+++ b/emoticons/KMess/clock.png
Binary files differ
diff --git a/emoticons/KMess/cocktail.png b/emoticons/KMess/cocktail.png
new file mode 100644
index 00000000..3444224a
--- /dev/null
+++ b/emoticons/KMess/cocktail.png
Binary files differ
diff --git a/emoticons/KMess/confused.png b/emoticons/KMess/confused.png
new file mode 100644
index 00000000..25a544c9
--- /dev/null
+++ b/emoticons/KMess/confused.png
Binary files differ
diff --git a/emoticons/KMess/cry.png b/emoticons/KMess/cry.png
new file mode 100644
index 00000000..43d9eb99
--- /dev/null
+++ b/emoticons/KMess/cry.png
Binary files differ
diff --git a/emoticons/KMess/cup.png b/emoticons/KMess/cup.png
new file mode 100644
index 00000000..9931a1f3
--- /dev/null
+++ b/emoticons/KMess/cup.png
Binary files differ
diff --git a/emoticons/KMess/devil.png b/emoticons/KMess/devil.png
new file mode 100644
index 00000000..61b8bede
--- /dev/null
+++ b/emoticons/KMess/devil.png
Binary files differ
diff --git a/emoticons/KMess/dog.png b/emoticons/KMess/dog.png
new file mode 100644
index 00000000..0b3dd2ba
--- /dev/null
+++ b/emoticons/KMess/dog.png
Binary files differ
diff --git a/emoticons/KMess/dude_hug.png b/emoticons/KMess/dude_hug.png
new file mode 100644
index 00000000..b0fc1035
--- /dev/null
+++ b/emoticons/KMess/dude_hug.png
Binary files differ
diff --git a/emoticons/KMess/email.png b/emoticons/KMess/email.png
new file mode 100644
index 00000000..a8888108
--- /dev/null
+++ b/emoticons/KMess/email.png
Binary files differ
diff --git a/emoticons/KMess/embarassed.png b/emoticons/KMess/embarassed.png
new file mode 100644
index 00000000..424b8296
--- /dev/null
+++ b/emoticons/KMess/embarassed.png
Binary files differ
diff --git a/emoticons/KMess/emoticons.xml b/emoticons/KMess/emoticons.xml
new file mode 100644
index 00000000..00cc4ecd
--- /dev/null
+++ b/emoticons/KMess/emoticons.xml
@@ -0,0 +1,225 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angel">
+ <string>(A)</string>
+ <string>(a)</string>
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="angry">
+ <string>:-@</string>
+ <string>:@</string>
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+</emoticon>
+
+<emoticon file="bat">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="beer">
+ <string>(B)</string>
+ <string>(b)</string>
+</emoticon>
+
+<emoticon file="boy">
+ <string>(Z)</string>
+ <string>(z)</string>
+</emoticon>
+
+<emoticon file="cake">
+ <string>(^)</string>
+</emoticon>
+
+<emoticon file="camera">
+ <string>(P)</string>
+ <string>(p)</string>
+</emoticon>
+
+<emoticon file="cat">
+ <string>(@)</string>
+</emoticon>
+
+<emoticon file="clock">
+ <string>(O)</string>
+ <string>(o)</string>
+</emoticon>
+
+<emoticon file="cocktail">
+ <string>(D)</string>
+ <string>(d)</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'(</string>
+ <string>:'-(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="cup">
+ <string>(C)</string>
+ <string>(c)</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>(6)</string>
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="dog">
+ <string>(&amp;)</string>
+</emoticon>
+
+<emoticon file="dude_hug">
+ <string>({)</string>
+</emoticon>
+
+<emoticon file="embarassed">
+ <string>:-$</string>
+ <string>:$</string>
+</emoticon>
+
+<emoticon file="email">
+ <string>(E)</string>
+ <string>(e)</string>
+</emoticon>
+
+<emoticon file="film">
+ <string>(~)</string>
+</emoticon>
+
+<emoticon file="girl">
+ <string>(X)</string>
+ <string>(x)</string>
+</emoticon>
+
+<emoticon file="girl_hug">
+ <string>(})</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>(K)</string>
+ <string>(k)</string>
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="lightbulb">
+ <string>(I)</string>
+ <string>(i)</string>
+</emoticon>
+
+<emoticon file="love">
+ <string>(L)</string>
+ <string>(l)</string>
+</emoticon>
+
+<emoticon file="messenger">
+ <string>(M)</string>
+ <string>(m)</string>
+</emoticon>
+
+<emoticon file="note">
+ <string>(8)</string>
+</emoticon>
+
+<emoticon file="omg">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="phone">
+ <string>(T)</string>
+ <string>(t)</string>
+</emoticon>
+
+<emoticon file="present">
+ <string>(G)</string>
+ <string>(g)</string>
+</emoticon>
+
+<emoticon file="rose">
+ <string>(F)</string>
+ <string>(f)</string>
+</emoticon>
+
+<emoticon file="sad">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="shade">
+ <string>(H)</string>
+ <string>(h)</string>
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="star">
+ <string>(*)</string>
+</emoticon>
+
+<emoticon file="teeth">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="thumbs_down">
+ <string>(N)</string>
+ <string>(n)</string>
+</emoticon>
+
+<emoticon file="thumbs_up">
+ <string>(Y)</string>
+ <string>(y)</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="unlove">
+ <string>(U)</string>
+ <string>(u)</string>
+</emoticon>
+
+<emoticon file="wilted_rose">
+ <string>(W)</string>
+ <string>(w)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+</messaging-emoticon-map>
diff --git a/emoticons/KMess/film.png b/emoticons/KMess/film.png
new file mode 100644
index 00000000..e88a6b29
--- /dev/null
+++ b/emoticons/KMess/film.png
Binary files differ
diff --git a/emoticons/KMess/girl.png b/emoticons/KMess/girl.png
new file mode 100644
index 00000000..206b1d0d
--- /dev/null
+++ b/emoticons/KMess/girl.png
Binary files differ
diff --git a/emoticons/KMess/girl_hug.png b/emoticons/KMess/girl_hug.png
new file mode 100644
index 00000000..8625e6c4
--- /dev/null
+++ b/emoticons/KMess/girl_hug.png
Binary files differ
diff --git a/emoticons/KMess/kiss.png b/emoticons/KMess/kiss.png
new file mode 100644
index 00000000..97949112
--- /dev/null
+++ b/emoticons/KMess/kiss.png
Binary files differ
diff --git a/emoticons/KMess/lightbulb.png b/emoticons/KMess/lightbulb.png
new file mode 100644
index 00000000..626e44b6
--- /dev/null
+++ b/emoticons/KMess/lightbulb.png
Binary files differ
diff --git a/emoticons/KMess/love.png b/emoticons/KMess/love.png
new file mode 100644
index 00000000..ab46e014
--- /dev/null
+++ b/emoticons/KMess/love.png
Binary files differ
diff --git a/emoticons/KMess/messenger.png b/emoticons/KMess/messenger.png
new file mode 100644
index 00000000..ee75bf86
--- /dev/null
+++ b/emoticons/KMess/messenger.png
Binary files differ
diff --git a/emoticons/KMess/note.png b/emoticons/KMess/note.png
new file mode 100644
index 00000000..fff4cdb1
--- /dev/null
+++ b/emoticons/KMess/note.png
Binary files differ
diff --git a/emoticons/KMess/omg.png b/emoticons/KMess/omg.png
new file mode 100644
index 00000000..e6e37047
--- /dev/null
+++ b/emoticons/KMess/omg.png
Binary files differ
diff --git a/emoticons/KMess/phone.png b/emoticons/KMess/phone.png
new file mode 100644
index 00000000..adbafeaf
--- /dev/null
+++ b/emoticons/KMess/phone.png
Binary files differ
diff --git a/emoticons/KMess/present.png b/emoticons/KMess/present.png
new file mode 100644
index 00000000..f255168d
--- /dev/null
+++ b/emoticons/KMess/present.png
Binary files differ
diff --git a/emoticons/KMess/readme.txt b/emoticons/KMess/readme.txt
new file mode 100644
index 00000000..c12c446b
--- /dev/null
+++ b/emoticons/KMess/readme.txt
@@ -0,0 +1,35 @@
+version 1.0.2 - 27 october 2002
+---------------------------
+ dave's Emoticons for Kmess
+---------------------------
+
+ This icons are a complete set of emoticons
+ made for the KDE msn messenger Kmess.
+
+ Icons design by David Vignoni: dave.linux@libero.it
+ Site: http://www3.csr.unibo.it/~vignoni
+
+ Kmess site: http://kmess.sourceforge.net
+
+--------
+ License
+--------
+
+This emoticon's iconset is under GNU General Public License
+
+--------
+ History
+--------
+
+ 1.0.2 - 27 october 2002
+ Added "sun" (sun.png) and "asl" (asl.png) emoticons.
+ Removed satisfied.png and dog_realistic.png.
+
+ 1.0.1 - 2 june 2002
+ Added "film" (film.png) emoticon.
+
+ 1.0 - 29 may 2002
+ First release, 50 default icons, violet smilies, blue smilies.
+
+
+
diff --git a/emoticons/KMess/rose.png b/emoticons/KMess/rose.png
new file mode 100644
index 00000000..03fec1b6
--- /dev/null
+++ b/emoticons/KMess/rose.png
Binary files differ
diff --git a/emoticons/KMess/sad.png b/emoticons/KMess/sad.png
new file mode 100644
index 00000000..87652502
--- /dev/null
+++ b/emoticons/KMess/sad.png
Binary files differ
diff --git a/emoticons/KMess/shade.png b/emoticons/KMess/shade.png
new file mode 100644
index 00000000..a3076954
--- /dev/null
+++ b/emoticons/KMess/shade.png
Binary files differ
diff --git a/emoticons/KMess/smile.png b/emoticons/KMess/smile.png
new file mode 100644
index 00000000..9d3e4731
--- /dev/null
+++ b/emoticons/KMess/smile.png
Binary files differ
diff --git a/emoticons/KMess/star.png b/emoticons/KMess/star.png
new file mode 100644
index 00000000..e40e64ce
--- /dev/null
+++ b/emoticons/KMess/star.png
Binary files differ
diff --git a/emoticons/KMess/teeth.png b/emoticons/KMess/teeth.png
new file mode 100644
index 00000000..c365e1c0
--- /dev/null
+++ b/emoticons/KMess/teeth.png
Binary files differ
diff --git a/emoticons/KMess/thumbs_down.png b/emoticons/KMess/thumbs_down.png
new file mode 100644
index 00000000..7378219a
--- /dev/null
+++ b/emoticons/KMess/thumbs_down.png
Binary files differ
diff --git a/emoticons/KMess/thumbs_up.png b/emoticons/KMess/thumbs_up.png
new file mode 100644
index 00000000..d9122e36
--- /dev/null
+++ b/emoticons/KMess/thumbs_up.png
Binary files differ
diff --git a/emoticons/KMess/tongue.png b/emoticons/KMess/tongue.png
new file mode 100644
index 00000000..35e542f4
--- /dev/null
+++ b/emoticons/KMess/tongue.png
Binary files differ
diff --git a/emoticons/KMess/unlove.png b/emoticons/KMess/unlove.png
new file mode 100644
index 00000000..1eda5b12
--- /dev/null
+++ b/emoticons/KMess/unlove.png
Binary files differ
diff --git a/emoticons/KMess/unused/arrogant.png b/emoticons/KMess/unused/arrogant.png
new file mode 100644
index 00000000..03071c8a
--- /dev/null
+++ b/emoticons/KMess/unused/arrogant.png
Binary files differ
diff --git a/emoticons/KMess/unused/asl.png b/emoticons/KMess/unused/asl.png
new file mode 100644
index 00000000..07961e30
--- /dev/null
+++ b/emoticons/KMess/unused/asl.png
Binary files differ
diff --git a/emoticons/KMess/unused/bad.png b/emoticons/KMess/unused/bad.png
new file mode 100644
index 00000000..6a25bc08
--- /dev/null
+++ b/emoticons/KMess/unused/bad.png
Binary files differ
diff --git a/emoticons/KMess/unused/envelope.png b/emoticons/KMess/unused/envelope.png
new file mode 100644
index 00000000..e74162de
--- /dev/null
+++ b/emoticons/KMess/unused/envelope.png
Binary files differ
diff --git a/emoticons/KMess/unused/handcuffs.png b/emoticons/KMess/unused/handcuffs.png
new file mode 100644
index 00000000..267ceb0f
--- /dev/null
+++ b/emoticons/KMess/unused/handcuffs.png
Binary files differ
diff --git a/emoticons/KMess/unused/moon.png b/emoticons/KMess/unused/moon.png
new file mode 100644
index 00000000..54aab811
--- /dev/null
+++ b/emoticons/KMess/unused/moon.png
Binary files differ
diff --git a/emoticons/KMess/unused/rainbow.png b/emoticons/KMess/unused/rainbow.png
new file mode 100644
index 00000000..ade69ded
--- /dev/null
+++ b/emoticons/KMess/unused/rainbow.png
Binary files differ
diff --git a/emoticons/KMess/unused/satisfied.png b/emoticons/KMess/unused/satisfied.png
new file mode 100644
index 00000000..dcef2e2a
--- /dev/null
+++ b/emoticons/KMess/unused/satisfied.png
Binary files differ
diff --git a/emoticons/KMess/unused/shout.png b/emoticons/KMess/unused/shout.png
new file mode 100644
index 00000000..07e8cea4
--- /dev/null
+++ b/emoticons/KMess/unused/shout.png
Binary files differ
diff --git a/emoticons/KMess/unused/sorry.png b/emoticons/KMess/unused/sorry.png
new file mode 100644
index 00000000..d05bd833
--- /dev/null
+++ b/emoticons/KMess/unused/sorry.png
Binary files differ
diff --git a/emoticons/KMess/unused/sun.png b/emoticons/KMess/unused/sun.png
new file mode 100644
index 00000000..ed758606
--- /dev/null
+++ b/emoticons/KMess/unused/sun.png
Binary files differ
diff --git a/emoticons/KMess/unused/ugly.png b/emoticons/KMess/unused/ugly.png
new file mode 100644
index 00000000..3fb3b0a5
--- /dev/null
+++ b/emoticons/KMess/unused/ugly.png
Binary files differ
diff --git a/emoticons/KMess/wilted_rose.png b/emoticons/KMess/wilted_rose.png
new file mode 100644
index 00000000..be6b9229
--- /dev/null
+++ b/emoticons/KMess/wilted_rose.png
Binary files differ
diff --git a/emoticons/KMess/wink.png b/emoticons/KMess/wink.png
new file mode 100644
index 00000000..c024980d
--- /dev/null
+++ b/emoticons/KMess/wink.png
Binary files differ
diff --git a/emoticons/Makefile.am b/emoticons/Makefile.am
new file mode 100644
index 00000000..3bac5ba5
--- /dev/null
+++ b/emoticons/Makefile.am
@@ -0,0 +1,4 @@
+SUBDIRS = ccmathteam.com greggman.com phpBB plain redones set1 \
+ BoxedEmoticonSet KMess KMess-Blue KMess-Violet KMess-Cartoon \
+ GroupWise
+
diff --git a/emoticons/ccmathteam.com/Makefile.am b/emoticons/ccmathteam.com/Makefile.am
new file mode 100644
index 00000000..657bd156
--- /dev/null
+++ b/emoticons/ccmathteam.com/Makefile.am
@@ -0,0 +1,4 @@
+icondir = $(datadir)/emoticons/ccmathteam.com
+icon_DATA = biggrin.png confused.png cry.png devil.png \
+ oh.png smile.png sunglasses.png tongue.png \
+ unhappy.png wink.png emoticons.xml
diff --git a/emoticons/ccmathteam.com/README b/emoticons/ccmathteam.com/README
new file mode 100644
index 00000000..9b44af7e
--- /dev/null
+++ b/emoticons/ccmathteam.com/README
@@ -0,0 +1,5 @@
+ ccmathteam.com emoticons
+
+These Emoticons were found on http://www.phpbb.com/styles/downloads/
+and have been submitted to the phpBB-Homepage by the folks
+that run http://www.ccmathteam.com
diff --git a/emoticons/ccmathteam.com/biggrin.png b/emoticons/ccmathteam.com/biggrin.png
new file mode 100644
index 00000000..4b762067
--- /dev/null
+++ b/emoticons/ccmathteam.com/biggrin.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/confused.png b/emoticons/ccmathteam.com/confused.png
new file mode 100644
index 00000000..71efc47d
--- /dev/null
+++ b/emoticons/ccmathteam.com/confused.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/cry.png b/emoticons/ccmathteam.com/cry.png
new file mode 100644
index 00000000..a990a523
--- /dev/null
+++ b/emoticons/ccmathteam.com/cry.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/devil.png b/emoticons/ccmathteam.com/devil.png
new file mode 100644
index 00000000..8cdda6ae
--- /dev/null
+++ b/emoticons/ccmathteam.com/devil.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/emoticons.xml b/emoticons/ccmathteam.com/emoticons.xml
new file mode 100644
index 00000000..8b0c8c96
--- /dev/null
+++ b/emoticons/ccmathteam.com/emoticons.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sleep">
+ <string>:-Z</string>
+ <string>:Z</string>
+ <string>:-z</string>
+ <string>:z</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="vempire">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="scream">
+ <string>:-@</string>
+ <string>:@</string>
+ <string></string>
+ <string></string>
+</emoticon>
+
+<emoticon file="smoke">
+ <string>:-Q</string>
+ <string>:Q</string>
+ <string>:-q</string>
+ <string>:q</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
+
diff --git a/emoticons/ccmathteam.com/oh.png b/emoticons/ccmathteam.com/oh.png
new file mode 100644
index 00000000..7d074ced
--- /dev/null
+++ b/emoticons/ccmathteam.com/oh.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/smile.png b/emoticons/ccmathteam.com/smile.png
new file mode 100644
index 00000000..00d4e2fa
--- /dev/null
+++ b/emoticons/ccmathteam.com/smile.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/sunglasses.png b/emoticons/ccmathteam.com/sunglasses.png
new file mode 100644
index 00000000..28a68e54
--- /dev/null
+++ b/emoticons/ccmathteam.com/sunglasses.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/tongue.png b/emoticons/ccmathteam.com/tongue.png
new file mode 100644
index 00000000..d3733f4f
--- /dev/null
+++ b/emoticons/ccmathteam.com/tongue.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/unhappy.png b/emoticons/ccmathteam.com/unhappy.png
new file mode 100644
index 00000000..f13f8912
--- /dev/null
+++ b/emoticons/ccmathteam.com/unhappy.png
Binary files differ
diff --git a/emoticons/ccmathteam.com/wink.png b/emoticons/ccmathteam.com/wink.png
new file mode 100644
index 00000000..f7ee09c3
--- /dev/null
+++ b/emoticons/ccmathteam.com/wink.png
Binary files differ
diff --git a/emoticons/greggman.com/Makefile.am b/emoticons/greggman.com/Makefile.am
new file mode 100644
index 00000000..ab037164
--- /dev/null
+++ b/emoticons/greggman.com/Makefile.am
@@ -0,0 +1,4 @@
+icondir = $(datadir)/emoticons/greggman.com
+icon_DATA = biggrin.png confused.png kiss.png oh.png \
+ smile.png sunglasses.png tongue.png unhappy.png \
+ vampire.png wink.png emoticons.xml
diff --git a/emoticons/greggman.com/README b/emoticons/greggman.com/README
new file mode 100644
index 00000000..789909ca
--- /dev/null
+++ b/emoticons/greggman.com/README
@@ -0,0 +1,8 @@
+ greggman.com emoticons
+
+These Emoticons were found on http://www.greggman.com/pages/emoticons.htm
+and are made downloadable from there as well.
+
+Copyright-Information from that site is:
+"All images not copyright me copyright their respective companies.
+Everything else copyright me."
diff --git a/emoticons/greggman.com/biggrin.png b/emoticons/greggman.com/biggrin.png
new file mode 100644
index 00000000..334c10a1
--- /dev/null
+++ b/emoticons/greggman.com/biggrin.png
Binary files differ
diff --git a/emoticons/greggman.com/confused.png b/emoticons/greggman.com/confused.png
new file mode 100644
index 00000000..4b337030
--- /dev/null
+++ b/emoticons/greggman.com/confused.png
Binary files differ
diff --git a/emoticons/greggman.com/emoticons.xml b/emoticons/greggman.com/emoticons.xml
new file mode 100644
index 00000000..8b0c8c96
--- /dev/null
+++ b/emoticons/greggman.com/emoticons.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sleep">
+ <string>:-Z</string>
+ <string>:Z</string>
+ <string>:-z</string>
+ <string>:z</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="vempire">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="scream">
+ <string>:-@</string>
+ <string>:@</string>
+ <string></string>
+ <string></string>
+</emoticon>
+
+<emoticon file="smoke">
+ <string>:-Q</string>
+ <string>:Q</string>
+ <string>:-q</string>
+ <string>:q</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
+
diff --git a/emoticons/greggman.com/kiss.png b/emoticons/greggman.com/kiss.png
new file mode 100644
index 00000000..4596beef
--- /dev/null
+++ b/emoticons/greggman.com/kiss.png
Binary files differ
diff --git a/emoticons/greggman.com/oh.png b/emoticons/greggman.com/oh.png
new file mode 100644
index 00000000..32cb828d
--- /dev/null
+++ b/emoticons/greggman.com/oh.png
Binary files differ
diff --git a/emoticons/greggman.com/smile.png b/emoticons/greggman.com/smile.png
new file mode 100644
index 00000000..c8bdf633
--- /dev/null
+++ b/emoticons/greggman.com/smile.png
Binary files differ
diff --git a/emoticons/greggman.com/sunglasses.png b/emoticons/greggman.com/sunglasses.png
new file mode 100644
index 00000000..aef9b39e
--- /dev/null
+++ b/emoticons/greggman.com/sunglasses.png
Binary files differ
diff --git a/emoticons/greggman.com/tongue.png b/emoticons/greggman.com/tongue.png
new file mode 100644
index 00000000..d414ac1b
--- /dev/null
+++ b/emoticons/greggman.com/tongue.png
Binary files differ
diff --git a/emoticons/greggman.com/unhappy.png b/emoticons/greggman.com/unhappy.png
new file mode 100644
index 00000000..4ae662df
--- /dev/null
+++ b/emoticons/greggman.com/unhappy.png
Binary files differ
diff --git a/emoticons/greggman.com/vampire.png b/emoticons/greggman.com/vampire.png
new file mode 100644
index 00000000..bd85068f
--- /dev/null
+++ b/emoticons/greggman.com/vampire.png
Binary files differ
diff --git a/emoticons/greggman.com/wink.png b/emoticons/greggman.com/wink.png
new file mode 100644
index 00000000..75c6a883
--- /dev/null
+++ b/emoticons/greggman.com/wink.png
Binary files differ
diff --git a/emoticons/phpBB/Makefile.am b/emoticons/phpBB/Makefile.am
new file mode 100644
index 00000000..7dd3fbec
--- /dev/null
+++ b/emoticons/phpBB/Makefile.am
@@ -0,0 +1,4 @@
+icondir = $(datadir)/emoticons/phpBB
+icon_DATA = biggrin.png confused.png cry.png devil.png \
+ oh.png smile.png sunglasses.png tongue.png \
+ unhappy.png wink.png emoticons.xml
diff --git a/emoticons/phpBB/README.txt b/emoticons/phpBB/README.txt
new file mode 100644
index 00000000..75151d21
--- /dev/null
+++ b/emoticons/phpBB/README.txt
@@ -0,0 +1,3 @@
+These are the emoticons used by default in phpBB.
+phpBB can be found at http://www.phpbb.com and is Copyright 2002 The phpBB Group
+The emoticons were designed by Tom Beddard and his homepage can be found at http://www.subBlue.com
diff --git a/emoticons/phpBB/biggrin.png b/emoticons/phpBB/biggrin.png
new file mode 100644
index 00000000..b43246f9
--- /dev/null
+++ b/emoticons/phpBB/biggrin.png
Binary files differ
diff --git a/emoticons/phpBB/confused.png b/emoticons/phpBB/confused.png
new file mode 100644
index 00000000..6a018eb0
--- /dev/null
+++ b/emoticons/phpBB/confused.png
Binary files differ
diff --git a/emoticons/phpBB/cry.png b/emoticons/phpBB/cry.png
new file mode 100644
index 00000000..30bbf24d
--- /dev/null
+++ b/emoticons/phpBB/cry.png
Binary files differ
diff --git a/emoticons/phpBB/devil.png b/emoticons/phpBB/devil.png
new file mode 100644
index 00000000..eb43315d
--- /dev/null
+++ b/emoticons/phpBB/devil.png
Binary files differ
diff --git a/emoticons/phpBB/emoticons.xml b/emoticons/phpBB/emoticons.xml
new file mode 100644
index 00000000..8b0c8c96
--- /dev/null
+++ b/emoticons/phpBB/emoticons.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sleep">
+ <string>:-Z</string>
+ <string>:Z</string>
+ <string>:-z</string>
+ <string>:z</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="vempire">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="scream">
+ <string>:-@</string>
+ <string>:@</string>
+ <string></string>
+ <string></string>
+</emoticon>
+
+<emoticon file="smoke">
+ <string>:-Q</string>
+ <string>:Q</string>
+ <string>:-q</string>
+ <string>:q</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
+
diff --git a/emoticons/phpBB/oh.png b/emoticons/phpBB/oh.png
new file mode 100644
index 00000000..ebe88be9
--- /dev/null
+++ b/emoticons/phpBB/oh.png
Binary files differ
diff --git a/emoticons/phpBB/smile.png b/emoticons/phpBB/smile.png
new file mode 100644
index 00000000..1806c0d8
--- /dev/null
+++ b/emoticons/phpBB/smile.png
Binary files differ
diff --git a/emoticons/phpBB/sunglasses.png b/emoticons/phpBB/sunglasses.png
new file mode 100644
index 00000000..3540cd8f
--- /dev/null
+++ b/emoticons/phpBB/sunglasses.png
Binary files differ
diff --git a/emoticons/phpBB/tongue.png b/emoticons/phpBB/tongue.png
new file mode 100644
index 00000000..5fe7c7af
--- /dev/null
+++ b/emoticons/phpBB/tongue.png
Binary files differ
diff --git a/emoticons/phpBB/unhappy.png b/emoticons/phpBB/unhappy.png
new file mode 100644
index 00000000..421c115f
--- /dev/null
+++ b/emoticons/phpBB/unhappy.png
Binary files differ
diff --git a/emoticons/phpBB/wink.png b/emoticons/phpBB/wink.png
new file mode 100644
index 00000000..c80f5177
--- /dev/null
+++ b/emoticons/phpBB/wink.png
Binary files differ
diff --git a/emoticons/plain/Makefile.am b/emoticons/plain/Makefile.am
new file mode 100644
index 00000000..b7a23f1a
--- /dev/null
+++ b/emoticons/plain/Makefile.am
@@ -0,0 +1,2 @@
+icondir = $(datadir)/emoticons/Plain
+icon_DATA = biggrin.png confused.png cry.png oh.png smile.png sunglasses.png tongue.png unhappy.png wink.png pig.png emoticons.xml
diff --git a/emoticons/plain/README.txt b/emoticons/plain/README.txt
new file mode 100644
index 00000000..95194d5f
--- /dev/null
+++ b/emoticons/plain/README.txt
@@ -0,0 +1,6 @@
+This theme was created by me :)
+It's not meant to be hyper-cool or something similar, it just
+has to look plain and clean, nothing more.
+Of course these pixmaps can be freely copied by everbody.
+
+27.10.2002, Stefan Gehn <stefan@gehn.net> \ No newline at end of file
diff --git a/emoticons/plain/biggrin.png b/emoticons/plain/biggrin.png
new file mode 100644
index 00000000..345bb04d
--- /dev/null
+++ b/emoticons/plain/biggrin.png
Binary files differ
diff --git a/emoticons/plain/confused.png b/emoticons/plain/confused.png
new file mode 100644
index 00000000..53f0f187
--- /dev/null
+++ b/emoticons/plain/confused.png
Binary files differ
diff --git a/emoticons/plain/cry.png b/emoticons/plain/cry.png
new file mode 100644
index 00000000..5d14e74a
--- /dev/null
+++ b/emoticons/plain/cry.png
Binary files differ
diff --git a/emoticons/plain/emoticons.xml b/emoticons/plain/emoticons.xml
new file mode 100644
index 00000000..26d0468c
--- /dev/null
+++ b/emoticons/plain/emoticons.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="pig">
+ <string>:3)</string>
+ <string>;3)</string>
+ <string>:-3</string>
+ <string>;-3</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
diff --git a/emoticons/plain/oh.png b/emoticons/plain/oh.png
new file mode 100644
index 00000000..38726b46
--- /dev/null
+++ b/emoticons/plain/oh.png
Binary files differ
diff --git a/emoticons/plain/pig.png b/emoticons/plain/pig.png
new file mode 100644
index 00000000..ec85fecb
--- /dev/null
+++ b/emoticons/plain/pig.png
Binary files differ
diff --git a/emoticons/plain/smile.png b/emoticons/plain/smile.png
new file mode 100644
index 00000000..d6f148c3
--- /dev/null
+++ b/emoticons/plain/smile.png
Binary files differ
diff --git a/emoticons/plain/sunglasses.png b/emoticons/plain/sunglasses.png
new file mode 100644
index 00000000..4af82eda
--- /dev/null
+++ b/emoticons/plain/sunglasses.png
Binary files differ
diff --git a/emoticons/plain/tongue.png b/emoticons/plain/tongue.png
new file mode 100644
index 00000000..8afcb3de
--- /dev/null
+++ b/emoticons/plain/tongue.png
Binary files differ
diff --git a/emoticons/plain/unhappy.png b/emoticons/plain/unhappy.png
new file mode 100644
index 00000000..8ffd0682
--- /dev/null
+++ b/emoticons/plain/unhappy.png
Binary files differ
diff --git a/emoticons/plain/wink.png b/emoticons/plain/wink.png
new file mode 100644
index 00000000..1ab40a57
--- /dev/null
+++ b/emoticons/plain/wink.png
Binary files differ
diff --git a/emoticons/redones/Makefile.am b/emoticons/redones/Makefile.am
new file mode 100644
index 00000000..53d04482
--- /dev/null
+++ b/emoticons/redones/Makefile.am
@@ -0,0 +1,4 @@
+icondir = $(datadir)/emoticons/RedOnes
+icon_DATA = angel.png biggrin.png confused.png cry.png \
+ oh.png smile.png sunglasses.png tongue.png \
+ unhappy.png wink.png emoticons.xml
diff --git a/emoticons/redones/angel.png b/emoticons/redones/angel.png
new file mode 100644
index 00000000..d97923e8
--- /dev/null
+++ b/emoticons/redones/angel.png
Binary files differ
diff --git a/emoticons/redones/angry.png b/emoticons/redones/angry.png
new file mode 100644
index 00000000..a1a7b93d
--- /dev/null
+++ b/emoticons/redones/angry.png
Binary files differ
diff --git a/emoticons/redones/biggrin.png b/emoticons/redones/biggrin.png
new file mode 100644
index 00000000..388ac3cb
--- /dev/null
+++ b/emoticons/redones/biggrin.png
Binary files differ
diff --git a/emoticons/redones/confused.png b/emoticons/redones/confused.png
new file mode 100644
index 00000000..39cb8bdc
--- /dev/null
+++ b/emoticons/redones/confused.png
Binary files differ
diff --git a/emoticons/redones/cry.png b/emoticons/redones/cry.png
new file mode 100644
index 00000000..c076987f
--- /dev/null
+++ b/emoticons/redones/cry.png
Binary files differ
diff --git a/emoticons/redones/emoticons.xml b/emoticons/redones/emoticons.xml
new file mode 100644
index 00000000..80c8e10b
--- /dev/null
+++ b/emoticons/redones/emoticons.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="angry">
+ <string>&gt;:-(</string>
+ <string>&gt;:(</string>
+</emoticon>
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sleep">
+ <string>:-Z</string>
+ <string>:Z</string>
+ <string>:-z</string>
+ <string>:z</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="vempire">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="scream">
+ <string>:-@</string>
+ <string>:@</string>
+ <string></string>
+ <string></string>
+</emoticon>
+
+<emoticon file="smoke">
+ <string>:-Q</string>
+ <string>:Q</string>
+ <string>:-q</string>
+ <string>:q</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
+
diff --git a/emoticons/redones/oh.png b/emoticons/redones/oh.png
new file mode 100644
index 00000000..69bc8f8b
--- /dev/null
+++ b/emoticons/redones/oh.png
Binary files differ
diff --git a/emoticons/redones/smile.png b/emoticons/redones/smile.png
new file mode 100644
index 00000000..2e249840
--- /dev/null
+++ b/emoticons/redones/smile.png
Binary files differ
diff --git a/emoticons/redones/sunglasses.png b/emoticons/redones/sunglasses.png
new file mode 100644
index 00000000..783b0f85
--- /dev/null
+++ b/emoticons/redones/sunglasses.png
Binary files differ
diff --git a/emoticons/redones/tongue.png b/emoticons/redones/tongue.png
new file mode 100644
index 00000000..b2c7172b
--- /dev/null
+++ b/emoticons/redones/tongue.png
Binary files differ
diff --git a/emoticons/redones/unhappy.png b/emoticons/redones/unhappy.png
new file mode 100644
index 00000000..aeb0d3b5
--- /dev/null
+++ b/emoticons/redones/unhappy.png
Binary files differ
diff --git a/emoticons/redones/wink.png b/emoticons/redones/wink.png
new file mode 100644
index 00000000..cb292f00
--- /dev/null
+++ b/emoticons/redones/wink.png
Binary files differ
diff --git a/emoticons/set1/Makefile.am b/emoticons/set1/Makefile.am
new file mode 100644
index 00000000..7ed47b68
--- /dev/null
+++ b/emoticons/set1/Makefile.am
@@ -0,0 +1,2 @@
+icondir = $(datadir)/emoticons/tweakers.net
+icon_DATA = biggrin.png cry.png oh.png sleep.png smile.png tongue.png unhappy.png wink.png emoticons.xml
diff --git a/emoticons/set1/biggrin.png b/emoticons/set1/biggrin.png
new file mode 100644
index 00000000..63983c8a
--- /dev/null
+++ b/emoticons/set1/biggrin.png
Binary files differ
diff --git a/emoticons/set1/cry.png b/emoticons/set1/cry.png
new file mode 100644
index 00000000..1bb7a28f
--- /dev/null
+++ b/emoticons/set1/cry.png
Binary files differ
diff --git a/emoticons/set1/emoticons.xml b/emoticons/set1/emoticons.xml
new file mode 100644
index 00000000..8b0c8c96
--- /dev/null
+++ b/emoticons/set1/emoticons.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<messaging-emoticon-map >
+
+<emoticon file="smile">
+ <string>:-)</string>
+ <string>:)</string>
+ <string>:o)</string>
+</emoticon>
+
+<emoticon file="wink">
+ <string>;-)</string>
+ <string>;)</string>
+</emoticon>
+
+<emoticon file="unhappy">
+ <string>:-(</string>
+ <string>:(</string>
+</emoticon>
+
+<emoticon file="tongue">
+ <string>:-P</string>
+ <string>:P</string>
+ <string>:-p</string>
+ <string>:p</string>
+</emoticon>
+
+<emoticon file="biggrin">
+ <string>:-D</string>
+ <string>:D</string>
+</emoticon>
+
+
+<emoticon file="cry">
+ <string>:'-(</string>
+ <string>:'(</string>
+ <string>;-(</string>
+ <string>;(</string>
+</emoticon>
+
+<emoticon file="oh">
+ <string>:-O</string>
+ <string>:O</string>
+ <string>:-o</string>
+ <string>:o</string>
+</emoticon>
+
+<emoticon file="sleep">
+ <string>:-Z</string>
+ <string>:Z</string>
+ <string>:-z</string>
+ <string>:z</string>
+</emoticon>
+
+<emoticon file="confused">
+ <string>:-S</string>
+ <string>:S</string>
+ <string>:-s</string>
+ <string>:s</string>
+</emoticon>
+
+<emoticon file="kiss">
+ <string>:-X</string>
+ <string>:X</string>
+ <string>:-x</string>
+ <string>:x</string>
+</emoticon>
+
+<emoticon file="vempire">
+ <string>:-[</string>
+ <string>:[</string>
+</emoticon>
+
+<emoticon file="devil">
+ <string>&gt;:-)</string>
+ <string>&gt;:)</string>
+ <string>}:-&gt;</string>
+ <string>}:&gt;</string>
+</emoticon>
+
+<emoticon file="angel">
+ <string>O:-)</string>
+ <string>O:)</string>
+ <string>o:-)</string>
+ <string>o:)</string>
+</emoticon>
+
+<emoticon file="sunglasses">
+ <string>8-)</string>
+ <string>8)</string>
+</emoticon>
+
+<emoticon file="scream">
+ <string>:-@</string>
+ <string>:@</string>
+ <string></string>
+ <string></string>
+</emoticon>
+
+<emoticon file="smoke">
+ <string>:-Q</string>
+ <string>:Q</string>
+ <string>:-q</string>
+ <string>:q</string>
+</emoticon>
+
+
+</messaging-emoticon-map>
+
diff --git a/emoticons/set1/oh.png b/emoticons/set1/oh.png
new file mode 100644
index 00000000..56b07b4a
--- /dev/null
+++ b/emoticons/set1/oh.png
Binary files differ
diff --git a/emoticons/set1/sleep.png b/emoticons/set1/sleep.png
new file mode 100644
index 00000000..a1769125
--- /dev/null
+++ b/emoticons/set1/sleep.png
Binary files differ
diff --git a/emoticons/set1/smile.png b/emoticons/set1/smile.png
new file mode 100644
index 00000000..13c2ffbe
--- /dev/null
+++ b/emoticons/set1/smile.png
Binary files differ
diff --git a/emoticons/set1/tongue.png b/emoticons/set1/tongue.png
new file mode 100644
index 00000000..dc202599
--- /dev/null
+++ b/emoticons/set1/tongue.png
Binary files differ
diff --git a/emoticons/set1/unhappy.png b/emoticons/set1/unhappy.png
new file mode 100644
index 00000000..1a8332ee
--- /dev/null
+++ b/emoticons/set1/unhappy.png
Binary files differ
diff --git a/emoticons/set1/wink.png b/emoticons/set1/wink.png
new file mode 100644
index 00000000..3c85192b
--- /dev/null
+++ b/emoticons/set1/wink.png
Binary files differ
diff --git a/icewm-themes/Makefile.am b/icewm-themes/Makefile.am
new file mode 100644
index 00000000..eea905c3
--- /dev/null
+++ b/icewm-themes/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = Model MenschMaschine
diff --git a/icewm-themes/MenschMaschine/Makefile.am b/icewm-themes/MenschMaschine/Makefile.am
new file mode 100644
index 00000000..ea2f7011
--- /dev/null
+++ b/icewm-themes/MenschMaschine/Makefile.am
@@ -0,0 +1,8 @@
+pics_DATA = closeA.xpm closeI.xpm frameAB.xpm frameABL.xpm frameABR.xpm frameAL.xpm frameAR.xpm frameAT.xpm \
+ frameATL.xpm frameATR.xpm frameIB.xpm frameIBL.xpm frameIBR.xpm frameIL.xpm frameIR.xpm frameIT.xpm \
+ frameITL.xpm frameITR.xpm maximizeA.xpm maximizeI.xpm menuButtonA.xpm menuButtonI.xpm minimizeA.xpm \
+ minimizeI.xpm restoreA.xpm restoreI.xpm titleAB.xpm titleAL.xpm titleAM.xpm titleAR.xpm titleAT.xpm \
+ titleIB.xpm titleIL.xpm titleIM.xpm titleIR.xpm titleIT.xpm default.theme
+
+picsdir = $(kde_datadir)/kwin/icewm-themes/MenschMaschine
+
diff --git a/icewm-themes/MenschMaschine/closeA.xpm b/icewm-themes/MenschMaschine/closeA.xpm
new file mode 100644
index 00000000..3bae11a4
--- /dev/null
+++ b/icewm-themes/MenschMaschine/closeA.xpm
@@ -0,0 +1,77 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 33 1",
+" c #00547c",
+". c #005983",
+"X c #006291",
+"o c #006595",
+"O c #00699b",
+"+ c #006b9e",
+"@ c #006c9f",
+"# c #006fa3",
+"$ c #0070a6",
+"% c #0072a8",
+"& c #0073a9",
+"* c #0074ac",
+"= c #0076ae",
+"- c #0077af",
+"; c #0078b1",
+": c #007ab4",
+"> c #007bb5",
+", c #007eba",
+"< c #0082bf",
+"1 c #0083c1",
+"2 c #0085c4",
+"3 c #0087c7",
+"4 c #0087c8",
+"5 c #0089ca",
+"6 c #008bcd",
+"7 c #008dd0",
+"8 c #008ed1",
+"9 c #0090d4",
+"0 c #0091d6",
+"q c #0092d7",
+"w c #0093d9",
+"e c #9dc8ff",
+"r c Gray100",
+/* pixels */
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwqrr8qqwwqrr89qww",
+"wwq6rr38qqrr<26qww",
+"wwq3:rr18rr;&;3qww",
+"wwq5:#rrrr=@#:5qww",
+"wwq81=+rr+O+=18qww",
+"wwwq8<rrrrX&<8qwww",
+"wwwwqrrX rr=4qwwww",
+"wwwqrr&X..rr<8qwww",
+"wwqrr=+O++Orr18qww",
+"wwq5:#@=,,=@#:5qww",
+"wwq3:&;1881;&:3qww",
+"wwq63<38qq83<26qww",
+"wwq988qqwwq988qqww",
+"eeeeeeeeeeeeeeeeee",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"www8<<8wwww8<<8www",
+"www4rr=8ww8=rr4www",
+"www8=rr=88=rr=8www",
+"wwww8=rr$$rr=8wwww",
+"wwwww8=rrrr=8wwwww",
+"wwwwww4orro4wwwwww",
+"wwwww8=rrrr=8wwwww",
+"wwww8=rr$$rr=8wwww",
+"www8=rr=88=rr=8www",
+"www4rr=8ww8=rr4www",
+"www8<<8wwww8<<8www",
+"wwwwwwwwwwwwwwwwww",
+"wwwwwwwwwwwwwwwwww",
+"eeeeeeeeeeeeeeeeee"
+};
diff --git a/icewm-themes/MenschMaschine/closeI.xpm b/icewm-themes/MenschMaschine/closeI.xpm
new file mode 100644
index 00000000..776d9b50
--- /dev/null
+++ b/icewm-themes/MenschMaschine/closeI.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 45 1",
+" c #878c93",
+". c #929292",
+"X c #959aa3",
+"o c #9a9fa7",
+"O c #aaaaaa",
+"+ c #a4a9b3",
+"@ c #a9aeb8",
+"# c #abb1bb",
+"$ c #aeb3bd",
+"% c #b6b6b6",
+"& c Gray73",
+"* c #b1b7c1",
+"= c #b4bac4",
+"- c #9dc8ff",
+"; c #bbc1cc",
+": c #bfc5d1",
+"> c Gray78",
+", c Gray80",
+"< c #cdcdcd",
+"1 c #cecece",
+"2 c #c6ccd7",
+"3 c #cad0dc",
+"4 c #d0d0d0",
+"5 c #d3d3d3",
+"6 c #ced4e0",
+"7 c #ced5e1",
+"8 c #ced6e5",
+"9 c #d0d7e3",
+"0 c #d4dae7",
+"q c #d8dfeb",
+"w c #d3ddf0",
+"e c #dae2f2",
+"r c #dce3f0",
+"t c #dee5f2",
+"y c #e1e1e1",
+"u c Gray89",
+"i c #eaeaea",
+"p c Gray92",
+"a c #e0e7f4",
+"s c #f4f4f4",
+"d c #f6f6f6",
+"f c #f9f9f9",
+"g c #fbfbfb",
+"h c #fdfdfd",
+"j c Gray100",
+/* pixels */
+"wwwwwwwwwwwwwwwwww",
+"jjjjjjjjjjjjjjjjjj",
+"aaaaaaaaaaaaaaaaaa",
+"jjjjjjjjjjjjjjjjjj",
+"aaaaaaaaaaaaaaaaaa",
+"jjjjjdfjjjjjjdfjjj",
+"aar0jj6qttjj230raa",
+"jjfi5jjudjj5>5ifjj",
+"aar9;@jjjj*+@;9raa",
+"jjjdu,&jj&%&,udjjj",
+"aaatq2jjjjX$2qtaaa",
+"jjjjfjjO.jj,ifjjjj",
+"aaatjj$X jj2qtaaa",
+"jjjjj,&%&&%jjudjjj",
+"aar9;@+*::*+@;9raa",
+"jjfi5>5uddu,>5ifjj",
+"aar8326qttq6230raa",
+"jjjfddfjjjjfddfjjj",
+"------------------",
+"wwwwwwwwwwwwwwwwww",
+"jjjjjjjjjjjjjjjjjj",
+"aaaaaaaaaaaaaaaaaa",
+"jjjjjjjjjjjjjjjjjj",
+"aaaaaaaaaaaaaaaaaa",
+"jjjduudjjjjduudjjj",
+"aaa6jj=qaaq=jj6aaa",
+"jjjd,jj,dd,jj,djjj",
+"aaaaq=jj##jj=qaaaa",
+"jjjjjd,jjjj,djjjjj",
+"aaaaaa6ojjo6aaaaaa",
+"jjjjjd,jjjj,djjjjj",
+"aaaaq=jj##jj=qaaaa",
+"jjjd,jj,dd,jj,djjj",
+"aaa6jj=qaaq=jj6aaa",
+"jjjduudjjjjduudjjj",
+"aaaeaaaaaaaataaaaa",
+"jjjjjjjjjjjjjjjjjj",
+"------------------"
+};
diff --git a/icewm-themes/MenschMaschine/default.theme b/icewm-themes/MenschMaschine/default.theme
new file mode 100644
index 00000000..f4d3ca41
--- /dev/null
+++ b/icewm-themes/MenschMaschine/default.theme
@@ -0,0 +1,28 @@
+# MenschMaschine
+# by qwertz kraftw@gmx.de for KDE2.2
+
+ThemeDescription="MenschMaschine(kwin)"
+ThemeAuthor="kraftw@gmx.de"
+Look=pixmap
+
+TitleButtonsLeft="s"
+TitleButtonsRight="xmi"
+
+TitleBarHeight=19
+
+BorderSizeX=4
+BorderSizeY=3
+CornerSizeX=20
+CornerSizeY=22
+DlgBorderSizeX=2
+DlgBorderSizeY=2
+
+ColorNormalTitleBarText="#6E8CAB"
+ColorActiveTitleBarText="#ffffff"
+ColorActiveBorder="#000000"
+ColorNormalBorder="#575757"
+
+#ColorNormalTitleBarShadow="#6B8FAE"
+ColorActiveTitleBarShadow="#6788E1"
+
+ShowMenuButtonIcon=1
diff --git a/icewm-themes/MenschMaschine/frameAB.xpm b/icewm-themes/MenschMaschine/frameAB.xpm
new file mode 100644
index 00000000..a9a4f358
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameAB.xpm
@@ -0,0 +1,11 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"3 3 2 1",
+" c #0073ae",
+". c #9dccff",
+/* pixels */
+"...",
+"...",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameABL.xpm b/icewm-themes/MenschMaschine/frameABL.xpm
new file mode 100644
index 00000000..9aab9fda
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameABL.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 8 1",
+" c #0073ae",
+". c #09aaff",
+"X c #53a2ff",
+"o c #9dc8ff",
+"O c #9dcaff",
+"+ c #9dccff",
+"@ c Gray87",
+"# c #cee5ff",
+/* pixels */
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXXXXXXXXXX++++++++",
+"#XXXXXXXXXXX++++++++",
+"# "
+};
diff --git a/icewm-themes/MenschMaschine/frameABR.xpm b/icewm-themes/MenschMaschine/frameABR.xpm
new file mode 100644
index 00000000..243c24a5
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameABR.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 5 1",
+" c #0073ae",
+". c #53a2ff",
+"X c #9dc8ff",
+"o c #9dccff",
+"O c Gray87",
+/* pixels */
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"oooooooo........... ",
+"oooooooo........... ",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameAL.xpm b/icewm-themes/MenschMaschine/frameAL.xpm
new file mode 100644
index 00000000..37247d3b
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameAL.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 4 1",
+" c #09aaff",
+". c #9dc8ff",
+"X c #9dcaff",
+"o c #cee5ff",
+/* pixels */
+"oX X",
+"oX X",
+"oX .",
+"oX ."
+};
diff --git a/icewm-themes/MenschMaschine/frameAR.xpm b/icewm-themes/MenschMaschine/frameAR.xpm
new file mode 100644
index 00000000..42fbea8e
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameAR.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 3 1",
+" c #0073ae",
+". c #9dc8ff",
+"X c #9dccff",
+/* pixels */
+".XX ",
+".XX ",
+".XX ",
+".XX "
+};
diff --git a/icewm-themes/MenschMaschine/frameAT.xpm b/icewm-themes/MenschMaschine/frameAT.xpm
new file mode 100644
index 00000000..e30fdab5
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameAT.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"3 3 3 1",
+" c #09aaff",
+". c #9dcaff",
+"X c #cee5ff",
+/* pixels */
+"XXX",
+"...",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameATL.xpm b/icewm-themes/MenschMaschine/frameATL.xpm
new file mode 100644
index 00000000..4dc90d80
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameATL.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * frameATL_xpm[] = {
+"20 22 28 1",
+" c None",
+". c #CEE5FF",
+"+ c #9DCAFF",
+"@ c #09AAFF",
+"# c #FFFFFF",
+"$ c #D3DDF0",
+"% c #CED9EE",
+"& c #E0E7F4",
+"* c #738CBC",
+"= c #8DA7D8",
+"- c #7793C8",
+"; c #B6C6E6",
+"> c #4C4C4C",
+", c #606C83",
+"' c #EDF1F9",
+") c #5C667A",
+"! c #6E83AD",
+"~ c #6C81A8",
+"{ c #63728F",
+"] c #DDE4F3",
+"^ c #52565D",
+"/ c #99B0DC",
+"( c #A7BBE1",
+"_ c #4F5052",
+": c #F1F4FA",
+"< c #697DA2",
+"[ c #555B65",
+"} c #9DC8FF",
+"....................",
+".+++++++++++++++++++",
+".+@@@@@@@@@@@@@@@@@@",
+".+@@#$$$$$$$$$$$$$$$",
+".+@@%###############",
+".+@@&&&&&&&&&&&&&&&&",
+".+@@################",
+".+@@&&&*=&&&&$-*;&&&",
+".+@@###>,###')>!####",
+".+@@&&&>,&&$)>~&&&&&",
+".+@@###>,#')>!######",
+".+@@&&&>{$)>~&&&&&&&",
+".+@@###>))>>]#######",
+".+@@&&&>>>)>)&&&&&&&",
+".+@@###>>!#{>*######",
+".+@@&&&>)&&%^>/&&&&&",
+".+@@###>,###(>_:####",
+".+@@&&&>,&&&&<>,&&&&",
+".+@@###>,####:[>-###",
+".+@@&&&&&&&&&&&&&&&&",
+".+@@################",
+".+@@++}}}}}}}}+}}+++"};
diff --git a/icewm-themes/MenschMaschine/frameATR.xpm b/icewm-themes/MenschMaschine/frameATR.xpm
new file mode 100644
index 00000000..8426644f
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameATR.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 11 1",
+" c #0070ae",
+". c #0073ae",
+"X c #09aaff",
+"o c #9dc8ff",
+"O c #9dcaff",
+"+ c #9dccff",
+"@ c #d3ddf0",
+"# c #cee5ff",
+"$ c #dae2f2",
+"% c #e0e7f4",
+"& c Gray100",
+/* pixels */
+"###################.",
+"OOOOOOOOOOOOOOOOOOO.",
+"XXXXXXXXXXXXXXXXX++.",
+"@@@@@@@@@@@@@@@@O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%$%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"ooooOOooooooooOoO++."
+};
diff --git a/icewm-themes/MenschMaschine/frameIB.xpm b/icewm-themes/MenschMaschine/frameIB.xpm
new file mode 100644
index 00000000..a9a4f358
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIB.xpm
@@ -0,0 +1,11 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"3 3 2 1",
+" c #0073ae",
+". c #9dccff",
+/* pixels */
+"...",
+"...",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameIBL.xpm b/icewm-themes/MenschMaschine/frameIBL.xpm
new file mode 100644
index 00000000..9aab9fda
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIBL.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 8 1",
+" c #0073ae",
+". c #09aaff",
+"X c #53a2ff",
+"o c #9dc8ff",
+"O c #9dcaff",
+"+ c #9dccff",
+"@ c Gray87",
+"# c #cee5ff",
+/* pixels */
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.O@@@@@@@@@@@@@@@@",
+"#O.o@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXX@@@@@@@@@@@@@@@@",
+"#XXXXXXXXXXX++++++++",
+"#XXXXXXXXXXX++++++++",
+"# "
+};
diff --git a/icewm-themes/MenschMaschine/frameIBR.xpm b/icewm-themes/MenschMaschine/frameIBR.xpm
new file mode 100644
index 00000000..243c24a5
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIBR.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 5 1",
+" c #0073ae",
+". c #53a2ff",
+"X c #9dc8ff",
+"o c #9dccff",
+"O c Gray87",
+/* pixels */
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOOXoo ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"OOOOOOOOOOOOOOOO... ",
+"oooooooo........... ",
+"oooooooo........... ",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameIL.xpm b/icewm-themes/MenschMaschine/frameIL.xpm
new file mode 100644
index 00000000..37247d3b
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIL.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 4 1",
+" c #09aaff",
+". c #9dc8ff",
+"X c #9dcaff",
+"o c #cee5ff",
+/* pixels */
+"oX X",
+"oX X",
+"oX .",
+"oX ."
+};
diff --git a/icewm-themes/MenschMaschine/frameIR.xpm b/icewm-themes/MenschMaschine/frameIR.xpm
new file mode 100644
index 00000000..42fbea8e
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIR.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 3 1",
+" c #0073ae",
+". c #9dc8ff",
+"X c #9dccff",
+/* pixels */
+".XX ",
+".XX ",
+".XX ",
+".XX "
+};
diff --git a/icewm-themes/MenschMaschine/frameIT.xpm b/icewm-themes/MenschMaschine/frameIT.xpm
new file mode 100644
index 00000000..e30fdab5
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameIT.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"3 3 3 1",
+" c #09aaff",
+". c #9dcaff",
+"X c #cee5ff",
+/* pixels */
+"XXX",
+"...",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/frameITL.xpm b/icewm-themes/MenschMaschine/frameITL.xpm
new file mode 100644
index 00000000..3f71045a
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameITL.xpm
@@ -0,0 +1,56 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 28 1",
+" c #4c4c4c",
+". c #4f5052",
+"X c #52565d",
+"o c #555b65",
+"O c #5c667a",
+"+ c #606c83",
+"@ c #63728f",
+"# c #697da2",
+"$ c #09aaff",
+"% c #6c81a8",
+"& c #6e83ad",
+"* c #738cbc",
+"= c #7793c8",
+"- c #8da7d8",
+"; c #99b0dc",
+": c #a7bbe1",
+"> c #9dc8ff",
+", c #9dcaff",
+"< c #b6c6e6",
+"1 c #ced9ee",
+"2 c #cfdaee",
+"3 c #d3ddf0",
+"4 c #cee5ff",
+"5 c #dde4f3",
+"6 c #e0e7f4",
+"7 c #edf1f9",
+"8 c #f1f4fa",
+"9 c Gray100",
+/* pixels */
+"44444444444444444444",
+"4,,,,,,,,,,,,,,,,,,,",
+"4,$$$$$$$$$$$$$$$$$$",
+"4,$19333333333333333",
+"4,$91999999999999999",
+"4,$36666666666666666",
+"4,$39999999999999999",
+"4,$3666*-66663=*<666",
+"4,$3999 +9997O &9999",
+"4,$3666 +663O %66666",
+"4,$3999 +97O &999999",
+"4,$3666 @3O %6666666",
+"4,$3999 OO 59999999",
+"4,$3666 O O6666666",
+"4,$3999 &9@ *999999",
+"4,$3666 O661X ;66666",
+"4,$3999 +999: .89999",
+"4,$3666 +6666# +6666",
+"4,$3999 +99998o =999",
+"4,$36666666666666666",
+"4,$39999999999999999",
+"4,$>,,>>>>>>>>,>>,,,"
+};
diff --git a/icewm-themes/MenschMaschine/frameITR.xpm b/icewm-themes/MenschMaschine/frameITR.xpm
new file mode 100644
index 00000000..8426644f
--- /dev/null
+++ b/icewm-themes/MenschMaschine/frameITR.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 11 1",
+" c #0070ae",
+". c #0073ae",
+"X c #09aaff",
+"o c #9dc8ff",
+"O c #9dcaff",
+"+ c #9dccff",
+"@ c #d3ddf0",
+"# c #cee5ff",
+"$ c #dae2f2",
+"% c #e0e7f4",
+"& c Gray100",
+/* pixels */
+"###################.",
+"OOOOOOOOOOOOOOOOOOO.",
+"XXXXXXXXXXXXXXXXX++.",
+"@@@@@@@@@@@@@@@@O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%%%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"%$%%%%%%%%%%%%%%O++.",
+"&&&&&&&&&&&&&&&&O++.",
+"ooooOOooooooooOoO++."
+};
diff --git a/icewm-themes/MenschMaschine/maximizeA.xpm b/icewm-themes/MenschMaschine/maximizeA.xpm
new file mode 100644
index 00000000..2853e5a4
--- /dev/null
+++ b/icewm-themes/MenschMaschine/maximizeA.xpm
@@ -0,0 +1,71 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 27 1",
+" c #005c88",
+". c #005f8c",
+"X c #00608d",
+"o c #006392",
+"O c #006797",
+"+ c #006a9d",
+"@ c #006b9d",
+"# c #006ea2",
+"$ c #0071a7",
+"% c #0073a9",
+"& c #0074ab",
+"* c #0078b1",
+"= c #007bb5",
+"- c #007cb7",
+"; c #007eba",
+": c #007fbb",
+"> c #0080bd",
+", c #0082bf",
+"< c #0089ca",
+"1 c #008acb",
+"2 c #008dd0",
+"3 c #008ed1",
+"4 c #0090d4",
+"5 c #0092d7",
+"6 c #0093d9",
+"7 c #9dc8ff",
+"8 c Gray100",
+/* pixels */
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666488888888882446",
+"66648888888888:146",
+"66628#o.XXXX.8#,26",
+"66618O. XXXX 8O=16",
+"66618++#&&&&#8+=16",
+"66618$*,1111,8$:16",
+"66618&:1666618&:16",
+"66618&:1666618&:16",
+"66618888888888$:16",
+"6661:$%*::::*%$:16",
+"6662,&$$&&&&$$&,26",
+"66641,::::::::,146",
+"666442111111112446",
+"777777777777777777",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"66662,--------,266",
+"6666,8888888888,66",
+"6666-8888888888-66",
+"6666-8+------+8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8+------+8-66",
+"6666,8888888888,66",
+"66662,--------,266",
+"666666666666666666",
+"666666666666666666",
+"777777777777777777"
+};
diff --git a/icewm-themes/MenschMaschine/maximizeI.xpm b/icewm-themes/MenschMaschine/maximizeI.xpm
new file mode 100644
index 00000000..cd94a9bf
--- /dev/null
+++ b/icewm-themes/MenschMaschine/maximizeI.xpm
@@ -0,0 +1,86 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 42 1",
+" c #8d9199",
+". c #90959d",
+"X c #92969f",
+"o c #9ca1aa",
+"O c #a4a4a4",
+"+ c Gray65",
+"@ c #acacac",
+"# c #a3a8b1",
+"$ c #acb2bc",
+"% c #afb4be",
+"& c Gray72",
+"* c #b9b9b9",
+"= c #bebebe",
+"- c #b1b6c0",
+"; c #b7bcc7",
+": c #9dc8ff",
+"> c #bbc1cc",
+", c #bdc3ce",
+"< c #bfc5d1",
+"1 c Gray77",
+"2 c Gray79",
+"3 c #c1c7d3",
+"4 c #c3c9d4",
+"5 c #c6ccd7",
+"6 c #d5d5d5",
+"7 c #d7d7d7",
+"8 c #dadada",
+"9 c gainsboro",
+"0 c Gray87",
+"q c #d0d7e3",
+"w c #d2d9e5",
+"e c #d3ddf0",
+"r c #dbe2ee",
+"t c #e1e1e1",
+"y c Gray93",
+"u c #efefef",
+"i c #e0e7f4",
+"p c #f4f4f4",
+"a c #f6f6f6",
+"s c #f9f9f9",
+"d c #fdfdfd",
+"f c Gray100",
+/* pixels */
+"eeeeeeeeeeeeeeeeee",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffpsff",
+"iiirffffffffff3qri",
+"fffpf=@OOOOOOf=9pf",
+"iiiwfo. ...X fo>wi",
+"fffyf&&=2222=f&6yf",
+"iiiqf$;4qqqq4f$<qi",
+"fffyf29yffffyf29yf",
+"iiiqf-3qiiiiqf-3qi",
+"fffyffffffffff18yf",
+"iiiw3$%;3333;%$3wi",
+"fffpt2112222112tpf",
+"iiirw53<3333<35wri",
+"ffffspyyyyyyyypsff",
+"::::::::::::::::::",
+"eeeeeeeeeeeeeeeeee",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffpt66668668tpff",
+"iiii5ffffffffff5ii",
+"ffff6ffffffffff6ff",
+"iiii,f#,,,,,,#f,ii",
+"ffff6f6ffffff6f6ff",
+"iiii,f,iiiiii,f,ii",
+"ffff6f6ffffff6f6ff",
+"iiii,f,iiiiii,f,ii",
+"ffff6f&668668&f6ff",
+"iiii5ffffffffff5ii",
+"ffffpt66666866tpff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"::::::::::::::::::"
+};
diff --git a/icewm-themes/MenschMaschine/menuButtonA.xpm b/icewm-themes/MenschMaschine/menuButtonA.xpm
new file mode 100644
index 00000000..f104e863
--- /dev/null
+++ b/icewm-themes/MenschMaschine/menuButtonA.xpm
@@ -0,0 +1,46 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"22 38 2 1",
+" c #09afff",
+". c #9dc8ff",
+/* pixels */
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+"......................",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+"......................"
+};
diff --git a/icewm-themes/MenschMaschine/menuButtonI.xpm b/icewm-themes/MenschMaschine/menuButtonI.xpm
new file mode 100644
index 00000000..6bae497d
--- /dev/null
+++ b/icewm-themes/MenschMaschine/menuButtonI.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"22 38 4 1",
+" c #9dc8ff",
+". c #d3ddf0",
+"X c #e0e7f4",
+"o c Gray100",
+/* pixels */
+"......................",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+" ",
+"......................",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+"XXXXXXXXXXXXXXXXXXXXXX",
+"oooooooooooooooooooooo",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/minimizeA.xpm b/icewm-themes/MenschMaschine/minimizeA.xpm
new file mode 100644
index 00000000..8501b8c7
--- /dev/null
+++ b/icewm-themes/MenschMaschine/minimizeA.xpm
@@ -0,0 +1,61 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"22 38 17 1",
+" c #00608d",
+". c #006596",
+"X c #0071a7",
+"o c #0074ab",
+"O c #0078b1",
+"+ c #007cb7",
+"@ c #007fbb",
+"# c #0082bf",
+"$ c #0089ca",
+"% c #008acb",
+"& c #008dd0",
+"* c #008ed1",
+"= c #0090d4",
+"- c #0092d7",
+"; c #0093d9",
+": c #9dc8ff",
+"> c Gray100",
+/* pixels */
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;->>>>>>>>>>%=-;",
+";;;;;;;->>>>>>>>>>@$-;",
+";;;;;;;*#X. .X#*;",
+";;;;;;;*#X. .X#*;",
+";;;;;;;-$@OooooooO@$-;",
+";;;;;;;--*$$$$$$$$*--;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+"::::::::::::::::::::::",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;*#++++++++#*;;",
+";;;;;;;;#>>>>>>>>>>#;;",
+";;;;;;;;#>>>>>>>>>>#;;",
+";;;;;;;;*#++++++++#*;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+";;;;;;;;;;;;;;;;;;;;;;",
+"::::::::::::::::::::::"
+};
diff --git a/icewm-themes/MenschMaschine/minimizeI.xpm b/icewm-themes/MenschMaschine/minimizeI.xpm
new file mode 100644
index 00000000..cc3d1e2d
--- /dev/null
+++ b/icewm-themes/MenschMaschine/minimizeI.xpm
@@ -0,0 +1,73 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"22 38 29 1",
+" c #92969f",
+". c #9b9fa8",
+"X c Gray65",
+"o c #acb2bc",
+"O c Gray69",
+"+ c #b1b6c0",
+"@ c #b7bcc7",
+"# c #9dc8ff",
+"$ c #bdc3ce",
+"% c Gray77",
+"& c #c1c7d3",
+"* c #c6ccd7",
+"= c #d7d7d7",
+"- c gainsboro",
+"; c #d0d7e3",
+": c #d6dde9",
+"> c #d8dfeb",
+", c #d3ddf0",
+"< c #dbe2ee",
+"1 c #dee5f2",
+"2 c #e1e1e1",
+"3 c Gray93",
+"4 c #efefef",
+"5 c #e0e7f4",
+"6 c #f4f4f4",
+"7 c #f6f6f6",
+"8 c #f9f9f9",
+"9 c #fdfdfd",
+"0 c Gray100",
+/* pixels */
+",,,,,,,,,,,,,,,,,,,,,,",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"555555510000000000:<15",
+"000000080000000000-380",
+"5555555>*o. .o*>5",
+"000000072%OXXXXXXO%270",
+"5555555<;&@++++++@&;<5",
+"0000000087333333337800",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"######################",
+",,,,,,,,,,,,,,,,,,,,,,",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"55555555>*$$$$$$$$*>55",
+"0000000020000000000200",
+"55555555*0000000000*55",
+"0000000072========2700",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"5555555555555555555555",
+"0000000000000000000000",
+"######################"
+};
diff --git a/icewm-themes/MenschMaschine/restoreA.xpm b/icewm-themes/MenschMaschine/restoreA.xpm
new file mode 100644
index 00000000..2853e5a4
--- /dev/null
+++ b/icewm-themes/MenschMaschine/restoreA.xpm
@@ -0,0 +1,71 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 27 1",
+" c #005c88",
+". c #005f8c",
+"X c #00608d",
+"o c #006392",
+"O c #006797",
+"+ c #006a9d",
+"@ c #006b9d",
+"# c #006ea2",
+"$ c #0071a7",
+"% c #0073a9",
+"& c #0074ab",
+"* c #0078b1",
+"= c #007bb5",
+"- c #007cb7",
+"; c #007eba",
+": c #007fbb",
+"> c #0080bd",
+", c #0082bf",
+"< c #0089ca",
+"1 c #008acb",
+"2 c #008dd0",
+"3 c #008ed1",
+"4 c #0090d4",
+"5 c #0092d7",
+"6 c #0093d9",
+"7 c #9dc8ff",
+"8 c Gray100",
+/* pixels */
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666488888888882446",
+"66648888888888:146",
+"66628#o.XXXX.8#,26",
+"66618O. XXXX 8O=16",
+"66618++#&&&&#8+=16",
+"66618$*,1111,8$:16",
+"66618&:1666618&:16",
+"66618&:1666618&:16",
+"66618888888888$:16",
+"6661:$%*::::*%$:16",
+"6662,&$$&&&&$$&,26",
+"66641,::::::::,146",
+"666442111111112446",
+"777777777777777777",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"666666666666666666",
+"66662,--------,266",
+"6666,8888888888,66",
+"6666-8888888888-66",
+"6666-8+------+8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8-666666-8-66",
+"6666-8+------+8-66",
+"6666,8888888888,66",
+"66662,--------,266",
+"666666666666666666",
+"666666666666666666",
+"777777777777777777"
+};
diff --git a/icewm-themes/MenschMaschine/restoreI.xpm b/icewm-themes/MenschMaschine/restoreI.xpm
new file mode 100644
index 00000000..cd94a9bf
--- /dev/null
+++ b/icewm-themes/MenschMaschine/restoreI.xpm
@@ -0,0 +1,86 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 38 42 1",
+" c #8d9199",
+". c #90959d",
+"X c #92969f",
+"o c #9ca1aa",
+"O c #a4a4a4",
+"+ c Gray65",
+"@ c #acacac",
+"# c #a3a8b1",
+"$ c #acb2bc",
+"% c #afb4be",
+"& c Gray72",
+"* c #b9b9b9",
+"= c #bebebe",
+"- c #b1b6c0",
+"; c #b7bcc7",
+": c #9dc8ff",
+"> c #bbc1cc",
+", c #bdc3ce",
+"< c #bfc5d1",
+"1 c Gray77",
+"2 c Gray79",
+"3 c #c1c7d3",
+"4 c #c3c9d4",
+"5 c #c6ccd7",
+"6 c #d5d5d5",
+"7 c #d7d7d7",
+"8 c #dadada",
+"9 c gainsboro",
+"0 c Gray87",
+"q c #d0d7e3",
+"w c #d2d9e5",
+"e c #d3ddf0",
+"r c #dbe2ee",
+"t c #e1e1e1",
+"y c Gray93",
+"u c #efefef",
+"i c #e0e7f4",
+"p c #f4f4f4",
+"a c #f6f6f6",
+"s c #f9f9f9",
+"d c #fdfdfd",
+"f c Gray100",
+/* pixels */
+"eeeeeeeeeeeeeeeeee",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffpsff",
+"iiirffffffffff3qri",
+"fffpf=@OOOOOOf=9pf",
+"iiiwfo. ...X fo>wi",
+"fffyf&&=2222=f&6yf",
+"iiiqf$;4qqqq4f$<qi",
+"fffyf29yffffyf29yf",
+"iiiqf-3qiiiiqf-3qi",
+"fffyffffffffff18yf",
+"iiiw3$%;3333;%$3wi",
+"fffpt2112222112tpf",
+"iiirw53<3333<35wri",
+"ffffspyyyyyyyypsff",
+"::::::::::::::::::",
+"eeeeeeeeeeeeeeeeee",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"iiiiiiiiiiiiiiiiii",
+"ffffpt66668668tpff",
+"iiii5ffffffffff5ii",
+"ffff6ffffffffff6ff",
+"iiii,f#,,,,,,#f,ii",
+"ffff6f6ffffff6f6ff",
+"iiii,f,iiiiii,f,ii",
+"ffff6f6ffffff6f6ff",
+"iiii,f,iiiiii,f,ii",
+"ffff6f&668668&f6ff",
+"iiii5ffffffffff5ii",
+"ffffpt66666866tpff",
+"iiiiiiiiiiiiiiiiii",
+"ffffffffffffffffff",
+"::::::::::::::::::"
+};
diff --git a/icewm-themes/MenschMaschine/titleAB.xpm b/icewm-themes/MenschMaschine/titleAB.xpm
new file mode 100644
index 00000000..add9f449
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleAB.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 2 1",
+" c #09afff",
+". c #9dc8ff",
+/* pixels */
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+".."
+};
diff --git a/icewm-themes/MenschMaschine/titleAL.xpm b/icewm-themes/MenschMaschine/titleAL.xpm
new file mode 100644
index 00000000..22e53912
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleAL.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"15 19 3 1",
+" c #09afff",
+". c #9dc8ff",
+"X c #e5f6ff",
+/* pixels */
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" X ",
+" ",
+" ",
+"..............."
+};
diff --git a/icewm-themes/MenschMaschine/titleAM.xpm b/icewm-themes/MenschMaschine/titleAM.xpm
new file mode 100644
index 00000000..add9f449
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleAM.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 2 1",
+" c #09afff",
+". c #9dc8ff",
+/* pixels */
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+".."
+};
diff --git a/icewm-themes/MenschMaschine/titleAR.xpm b/icewm-themes/MenschMaschine/titleAR.xpm
new file mode 100644
index 00000000..e603765b
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleAR.xpm
@@ -0,0 +1,274 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"101 19 249 2",
+" c #0d6aa3",
+". c #0d6ba5",
+"X c #0c6da7",
+"o c #0c6da8",
+"O c #0c6ea9",
+"+ c #0c6faa",
+"@ c #0b71ad",
+"# c #0b72af",
+"$ c #077cbb",
+"% c #067fbf",
+"& c #0976b3",
+"* c #0a74b1",
+"= c #0977b4",
+"- c #0f73b0",
+"; c #0f74b1",
+": c #0f75b2",
+"> c #0f76b3",
+", c #0f77b5",
+"< c #0f78b6",
+"1 c #0879b8",
+"2 c #087ab9",
+"3 c #087bba",
+"4 c #087cba",
+"5 c #0f79b8",
+"6 c #0f7ab9",
+"7 c #0f7bba",
+"8 c #0f7cbb",
+"9 c #0e7dbd",
+"0 c #0e7ebf",
+"q c #1071ad",
+"w c #1071ae",
+"e c #1072ae",
+"r c #1074b4",
+"t c #1178b7",
+"y c #0f7fc0",
+"u c #147ec2",
+"i c #0582c3",
+"p c #0681c1",
+"a c #0681c2",
+"s c #0682c2",
+"d c #0583c4",
+"f c #0585c7",
+"g c #0486c8",
+"h c #0388cb",
+"j c #0389cc",
+"k c #038acd",
+"l c #038ace",
+"z c #0488cb",
+"x c #0e80c1",
+"c c #0e81c2",
+"v c #0e82c3",
+"b c #0e83c5",
+"n c #0e84c6",
+"m c #0d85c8",
+"M c #0d86c9",
+"N c #0d87ca",
+"B c #0e85c8",
+"V c #0f86cb",
+"C c #0d89cd",
+"Z c #0d8bcf",
+"A c #018fd3",
+"S c #028cd0",
+"D c #028dd2",
+"F c #028ed3",
+"G c #018fd4",
+"H c #058fd5",
+"J c #0d8bd0",
+"K c #0d8cd1",
+"L c #0d8dd3",
+"P c #0d8ed3",
+"I c #0c8fd5",
+"U c #0190d5",
+"Y c #0191d6",
+"T c #0092d7",
+"R c #0093d9",
+"E c #0c90d7",
+"W c #0c91d8",
+"Q c #0c92d9",
+"! c #0c93da",
+"~ c #0c94db",
+"^ c #0c95dd",
+"/ c #0d97dd",
+"( c #0c96de",
+") c #1287cf",
+"_ c #1587d2",
+"` c #1687d1",
+"' c #178ad7",
+"] c #108eda",
+"[ c #168cd8",
+"{ c #188ddb",
+"} c #1390db",
+"| c #1090da",
+" . c #1c9bdf",
+".. c #0c97e0",
+"X. c #0b99e1",
+"o. c #0b9ae3",
+"O. c #0b9be5",
+"+. c #0b9ce5",
+"@. c #0b9de7",
+"#. c #0c98e0",
+"$. c #0b9ee9",
+"%. c #0b9fea",
+"&. c #1396e4",
+"*. c #1497e7",
+"=. c #1697e8",
+"-. c #1399e8",
+";. c #119ded",
+":. c #109fef",
+">. c #1893e1",
+",. c #1894e6",
+"<. c #1e93e3",
+"1. c #1f98e8",
+"2. c #0ba0eb",
+"3. c #0ba1ec",
+"4. c #0aa2ee",
+"5. c #0aa3f0",
+"6. c #0aa4f1",
+"7. c #0aa5f2",
+"8. c #0aa6f3",
+"9. c #0aa7f4",
+"0. c #0ea3f1",
+"q. c #0ea5f5",
+"w. c #0aa8f5",
+"e. c #0aa9f7",
+"r. c #09aaf9",
+"t. c #09abfa",
+"y. c #0aaaf8",
+"u. c #09acfb",
+"i. c #09adfc",
+"p. c #09aefd",
+"a. c #09afff",
+"s. c #0cabfb",
+"d. c #0caffe",
+"f. c #0faffe",
+"g. c #11aaf9",
+"h. c #13acfb",
+"j. c #13aefb",
+"k. c #11affd",
+"l. c #19acf9",
+"z. c #19affb",
+"x. c #1aadf9",
+"c. c #1caffb",
+"v. c #1ab0fb",
+"b. c #1db0fb",
+"n. c #1fb0fb",
+"m. c #2697e3",
+"M. c #2298e8",
+"N. c #2a98e4",
+"B. c #289fe1",
+"V. c #2c9ae4",
+"C. c #2b9be8",
+"Z. c #289ae8",
+"A. c #289dea",
+"S. c #2d9ee9",
+"D. c #2d9eea",
+"F. c #2e9ee9",
+"G. c #2e9fea",
+"H. c #2c9ce8",
+"J. c #3199e5",
+"K. c #339be6",
+"L. c #339ce5",
+"P. c #369fe5",
+"I. c #369ce6",
+"U. c #389de6",
+"Y. c #3a9ee7",
+"T. c #3c9fe7",
+"R. c #2ba3ef",
+"E. c #29a4ef",
+"W. c #2da0eb",
+"Q. c #2fa5ee",
+"!. c #21a4f1",
+"~. c #27acf6",
+"^. c #29adf6",
+"/. c #2faff6",
+"(. c #25b0f9",
+"). c #26b0f9",
+"_. c #2db1f7",
+"`. c #29b0f8",
+"'. c #2db1f8",
+"]. c #33a3ec",
+"[. c #33a4ec",
+"{. c #35a0e9",
+"}. c #36a3eb",
+"|. c #35a6ee",
+" X c #37a7ee",
+".X c #37a9ef",
+"XX c #3fa1e7",
+"oX c #3ba2e9",
+"OX c #3ea4ea",
+"+X c #3aa8ef",
+"@X c #33abf1",
+"#X c #38a9f0",
+"$X c #3babf0",
+"%X c #3aacf1",
+"&X c #3daff3",
+"*X c #32b1f6",
+"=X c #35b1f6",
+"-X c #3db0f3",
+";X c #3eb0f3",
+":X c #3cb1f4",
+">X c #3fb1f4",
+",X c #39b1f5",
+"<X c #41a1e7",
+"1X c #43a3e8",
+"2X c #45a4e8",
+"3X c #47a6ea",
+"4X c #46a4e8",
+"5X c #47a9eb",
+"6X c #48a5e8",
+"7X c #4aa6e9",
+"8X c #49aaeb",
+"9X c #4ea8e9",
+"0X c #4fabeb",
+"qX c #40aff2",
+"wX c #4fb1ef",
+"eX c #42b1f3",
+"rX c #43b2f3",
+"tX c #40b1f4",
+"yX c #45b2f3",
+"uX c #49b0f0",
+"iX c #4ab2f2",
+"pX c #4cb2f1",
+"aX c #4fb2f0",
+"sX c #51a9e9",
+"dX c #50abeb",
+"fX c #53abea",
+"gX c #52ace8",
+"hX c #55abea",
+"jX c #56acea",
+"kX c #58adea",
+"lX c #5aaeea",
+"zX c #5dafeb",
+"xX c #55b0ed",
+"cX c #54b2ef",
+"vX c #57b0ed",
+"bX c #59b2ef",
+"nX c #5ab3ee",
+"mX c #59b0ec",
+"MX c #5db0eb",
+"NX c #5eb0eb",
+"BX c #5cb3ee",
+"VX c #5fb1ec",
+"CX c #5fb3ed",
+"ZX c #53b2f0",
+"AX c #50b2f0",
+"SX c #61b1eb",
+"DX c #62b3ec",
+"FX c #65b3ec",
+"GX c #9dc8ff",
+/* pixels */
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.c.rXcX*Xc.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.>XFXFXXXI.I.I.I.I.I.I.I.I.1X7XFXFXZ.t ; , 5 5 0 y F.FXFXkXK.I.I.I.I.I.I.1XFXFX>.% g H .^ R R R R R R R R ",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.rXFXFXFXFXFXrXz.t.t.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.;XFXFXXXI.I.I.I.I.I.I.1X7XFXoX` - , 5 0 c n M C C } ].FXkXK.I.I.I.I.I.I.XXFXDXFXFXFXFXFXB.T T R R R R R ",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.>XFXBX=Xa.a.a.a.a.a.a.FXFX<XY.fXFXFXqX9.w.t.a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.^.FXFXI.I.I.I.I.I.I.2XFXZ.w ; < 0 c M P E Q ^ ^ ^ Q |.FXfXY.I.I.I.I.I.I.XXFXFXFXNX7XFXgXA G G T T R R ",
+"a.a.a.a.a.a.a.a.a.a.a.,XBXFXFXFXBXu.t.u.a.a.a.f.FXSXI.I.I.I.FX@X2.3.6.t.t.a.a.a.a.a.a.a.a.a.a.a.a.a.z.FXfXI.I.I.I.I.I.XXFX2Xw ; < 0 n J Q ..O.%.%.2.%.%.@.$XFXXXI.I.I.I.I.I.I.I.I.I.I.I.FXFXk k A A T R R ",
+"a.a.a.a.a.a.a.a.a.a.>XFXFXjXK.hXFX&X9.9.w.t.a.(.FX7XI.I.I.1XFX!.#.O.3.9.t.a.a.a.a.a.a.a.a.a.a.a.a.a./.FXXXI.I.I.I.I.I.FXFX{ r < 0 M P ^ @.3.6.6.9.9.9.6.6.q.FXFXT.I.I.I.I.I.I.I.I.I.I.I.FXFXd f h k A T R ",
+"a.a.a.a.a.a.a.a.a.f.FXNXK.I.I.K.FXFX0.3.6.w.h.>XFXK.I.I.I.0XFX-.P Q O.3.9.u.a.f.a.a.a.a.a.a.a.a.a.a.uXFX2XI.I.I.I.I.K.FXZ.w , 8 n P ^ %.5.w.t.t.a.a.a.t.t.w.%XFXXXI.I.I.I.I.I.I.I.I.I.I.7XFX] % d h S T R ",
+"a.a.a.a.a.a.a.a.a.a.DXFXXXI.I.I.XXFX.XxXFXFXFXFXFXI.I.I.I.DXFXM M P ^ 2.9.t.;XFXtXz.a.a.a.a.a.a.a.a.FXFXI.I.I.I.I.I.hXFXu ; 5 c C ^ %.5.w.a.a.a.a.a.a.a.a.a.s.FXFXI.I.I.I.I.I.I.I.I.I.I.Y.FXI.3 % f k A T ",
+"a.a.a.a.a.a.a.a.a.a.>XFXXXI.I.I.Y.XXFXFXFXFXkX0XY.I.I.I.I.2XFXDXW.C Q @.9.&XFXSXFX;Xh.u.t.u.a.a.a.a.FXFXI.I.I.I.I.I.FXFXw , 0 M Q O.5.w.a.a.a.a.a.a.a.a.a.a.u.FXFXI.I.I.I.I.I.I.I.I.T.Y.kXFXzX* 3 d k A T ",
+"a.a.a.a.a.a.a.a.a.a.a.FXFXXXI.I.I.I.K.XXI.I.I.I.I.I.I.I.I.1X2XFXFXBXQ.:.%XFXfXI.XXFX&Xg.9.w.t.a.a._.FXhXI.I.I.I.I.I.FXFX- < c J ^ 2.9.u.a.a.a.a.a.a.a.a.a.a.a.nXFXXXI.I.I.I.I.I.XXFXFXFXFXNXm.* 3 a h A T ",
+"a.a.a.a.a.a.a.a.a.a.a.>XFX<XI.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.1X7XFXFXFXFXXXXXI.Y.XXFX%X3.5.~.wXFXFXFXK.I.I.I.I.I.I.FXFX; 5 n I O.5.t.a.a.a.a.a.a.a.a.a.a.a.a.xXFXXXI.I.I.I.I.Y.FXFXkX<.r O @ * 3 a h A T ",
+"a.a.a.a.a.a.a.a.a.a.n.yXFXI.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.K.hXFXXXI.I.I.I.<XNXFX:.$XFXFXFXjXK.I.I.I.I.I.I.I.FXFX; 0 M Q @.6.t.a.a.a.a.a.a.a.a.a.a.a.a.nXFXT.I.I.I.I.I.fXFX' . O @ * 3 % f k A T ",
+"a.a.a.`.f.a.a.a.a.v.yXFXXXY.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.1XFX|.|.FX7X1XI.I.I.I.I.I.I.I.I.I.FXFX; 0 M ~ %.9.u.a.a.a.a.a.a.a.a.a.a.a.a.FXFXI.I.I.I.I.I.FXFX . O @ * 3 % f h S G T ",
+"a.a.>XFXFXZX_.a.z.>XFXXXI.I.I.I.I.I.I.I.I.Y.T.I.Y.K.XXI.I.I.I.I.I.I.I.I.I.I.I.I.XXFX].n *.FX7XI.I.I.I.I.I.I.I.I.I.I.fXFX[ 0 M ^ %.9.a.a.a.a.a.a.a.a.a.a.a.a.n.FXSXI.I.I.I.I.I.FXFX. O @ = $ a f k S G T R ",
+"a.'.FXDXNXFXFXnXuXFXXXI.I.I.I.I.I.I.1X7XFXFXFXFXFXFXFXFXfXK.I.I.I.I.I.I.I.I.I.XXFXfX) 0 M FXSXI.I.I.I.I.I.I.I.I.I.I.Y.FXOX0 M ~ %.9.t.a.a.a.a.a.a.a.a.a.a.a.rXFXXXI.I.I.I.I.XXFX0X. O * 3 a g k A G T R R ",
+"a.ZXFXXXI.K.jXFXFXXXI.I.I.I.I.I.XXXXFXFXFXNX{.M.1.F.0XFXFXFXhXK.I.I.I.I.I.I.I.FXFX,.< 8 b FXFXI.I.I.I.I.I.I.I.I.I.I.I.SXFXA.M Q @.6.t.a.a.a.a.a.a.a.a.a.a.(.FXFXI.I.I.I.I.I.Y.FXL.X @ = % f k A G T R R R ",
+">XFXFXI.I.I.I.T.2XI.I.I.I.I.I.XXFXFXSXZ.- ; , 5 0 0 c c =.5XFXFXXXI.I.I.I.I.I.hXFXF., 0 n xXFXT.I.I.Y.<XI.I.I.I.I.I.I.XXFXNX} I O.3.w.a.a.a.a.a.a.a.a.a.f.aXFXXXI.I.I.I.I.I.2XFX` O @ 3 a z A T R R R R R ",
+"FXFXXXI.I.I.I.I.I.I.I.I.I.I.XXFXFXF.; ; , 5 0 b M C J P P C [.FXFXXXI.I.I.I.I.K.FXFX, 0 M +XFXzXFXFXFXFXXXXXI.I.I.I.I.I.XXFX{.&.^ %.9.t.a.a.a.a.a.a.a.k.>XFXXXI.I.I.I.I.I.I.SXFXN.O * 3 d k A T R R R R R ",
+">XFXFXXXI.I.I.I.I.I.I.I.I.XXFXFXF.; ; 5 0 n C P Q ^ ..X.X.#.^ E.nXFXXXI.I.I.I.I.0XFXF.y C :.FXFXFXFXNX8XFXXXI.I.I.I.I.I.I.XXFXnXR.X.3.w.u.a.a.a.a.a.`.aXFXXXT.I.I.I.I.I.I.I.XXSXFXV.* 4 d k A T R R R R R ",
+"GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX"
+};
diff --git a/icewm-themes/MenschMaschine/titleAT.xpm b/icewm-themes/MenschMaschine/titleAT.xpm
new file mode 100644
index 00000000..add9f449
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleAT.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 2 1",
+" c #09afff",
+". c #9dc8ff",
+/* pixels */
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+".."
+};
diff --git a/icewm-themes/MenschMaschine/titleIB.xpm b/icewm-themes/MenschMaschine/titleIB.xpm
new file mode 100644
index 00000000..89892c19
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleIB.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 4 1",
+" c #9dc8ff",
+". c #d3ddf0",
+"X c #e0e7f4",
+"o c Gray100",
+/* pixels */
+"..",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/titleIL.xpm b/icewm-themes/MenschMaschine/titleIL.xpm
new file mode 100644
index 00000000..a8836af8
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleIL.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"15 19 5 1",
+" c #9dc8ff",
+". c #d3ddf0",
+"X c #e0e7f4",
+"o c #e5f6ff",
+"O c Gray100",
+/* pixels */
+"...............",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOoOOO",
+"XXXXXXXXXXXXXXX",
+"OOOOOOOOOOOOOOO",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/titleIM.xpm b/icewm-themes/MenschMaschine/titleIM.xpm
new file mode 100644
index 00000000..89892c19
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleIM.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 4 1",
+" c #9dc8ff",
+". c #d3ddf0",
+"X c #e0e7f4",
+"o c Gray100",
+/* pixels */
+"..",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+" "
+};
diff --git a/icewm-themes/MenschMaschine/titleIR.xpm b/icewm-themes/MenschMaschine/titleIR.xpm
new file mode 100644
index 00000000..3dd5b5fe
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleIR.xpm
@@ -0,0 +1,321 @@
+/* XPM */
+static char * titleIR_xpm[] = {
+"101 19 299 2",
+" c None",
+". c #D3DDF0",
+"+ c #DCE4F3",
+"@ c #EFF2F9",
+"# c #F5F7FC",
+"$ c #E7ECF7",
+"% c #D2DCEF",
+"& c #EDF1F9",
+"* c #FFFFFF",
+"= c #F4F8FC",
+"- c #EDF5FB",
+"; c #F3F8FC",
+"> c #F7FAFD",
+", c #D4E0EC",
+"' c #A1B9D2",
+") c #A4B4C9",
+"! c #A5B6CB",
+"~ c #A8B8CD",
+"{ c #A9B9CE",
+"] c #ABBACF",
+"^ c #ABBDD3",
+"/ c #DAE4EF",
+"( c #FBFDFF",
+"_ c #F0F6FB",
+": c #F2F9FC",
+"< c #CCDAE9",
+"[ c #BBC8DC",
+"} c #C3CFE3",
+"| c #CCD8EC",
+"1 c #DEE6F3",
+"2 c #D8E1F1",
+"3 c #FEFEFE",
+"4 c #FCFDFD",
+"5 c #FDFDFE",
+"6 c #F2F7FD",
+"7 c #E9F0F4",
+"8 c #CDDCE6",
+"9 c #C4CDD4",
+"0 c #C7D0D6",
+"a c #CBD3D9",
+"b c #CFD6DC",
+"c c #D2D9DE",
+"d c #D6DCE1",
+"e c #D8DEE2",
+"f c #DADFE4",
+"g c #DAE5ED",
+"h c #ECF2F6",
+"i c #EFF5FB",
+"j c #FEFFFF",
+"k c #E0E7F4",
+"l c #F2F5FA",
+"m c #FCFDFE",
+"n c #EEF2F9",
+"o c #DFE6F3",
+"p c #F0F6FC",
+"q c #F2F7FC",
+"r c #F9FBFD",
+"s c #F1F4F9",
+"t c #D9E1EF",
+"u c #DAE2EF",
+"v c #DCE3F1",
+"w c #DDE5F2",
+"x c #E8EDF6",
+"y c #EBF4FB",
+"z c #F6FAFD",
+"A c #D8E3ED",
+"B c #ABBACA",
+"C c #ADBBCC",
+"D c #B0BECE",
+"E c #B4C2D2",
+"F c #B9C6D6",
+"G c #BECAD9",
+"H c #C3CEDD",
+"I c #C6D1E0",
+"J c #C9D3E2",
+"K c #C9D4E2",
+"L c #CAD4E3",
+"M c #E6EDF4",
+"N c #FDFEFF",
+"O c #F8FAFC",
+"P c #DBE3F0",
+"Q c #FBFCFC",
+"R c #EAF4FB",
+"S c #F0F5FC",
+"T c #F6F9FB",
+"U c #F1F3F4",
+"V c #F3F4F6",
+"W c #F6F8F9",
+"X c #FAFBFB",
+"Y c #FBFCFD",
+"Z c #EFF3F7",
+"` c #C2CCD3",
+" . c #C9D2D8",
+".. c #DCE2E6",
+"+. c #E2E7EA",
+"@. c #E8ECEE",
+"#. c #ECEFF1",
+"$. c #EEF0F2",
+"%. c #F0F2F4",
+"&. c #EFF1F3",
+"*. c #F4F7F9",
+"=. c #F5F7F8",
+"-. c #F8F9FA",
+";. c #F9FCFE",
+">. c #F0F3F9",
+",. c #D8E1EE",
+"'. c #DDE4F1",
+"). c #E9EEF7",
+"!. c #DCE5F0",
+"~. c #CCD6E4",
+"{. c #CFD9E7",
+"]. c #D4DDEB",
+"^. c #EBF0F8",
+"/. c #F5F9FC",
+"(. c #C3D4E4",
+"_. c #B6C3D3",
+":. c #BDC9D8",
+"<. c #C3CFDE",
+"[. c #D3DCEA",
+"}. c #D7DFED",
+"|. c #D8E2EF",
+"1. c #ECF5FC",
+"2. c #CED8E6",
+"3. c #D2DBE9",
+"4. c #F2F9FD",
+"5. c #E9F4FC",
+"6. c #F0F4F7",
+"7. c #F2F4F5",
+"8. c #F4F6F7",
+"9. c #F7F9F9",
+"0. c #E3EBF1",
+"a. c #DEE3E7",
+"b. c #E4E8EB",
+"c. c #EFF6FC",
+"d. c #F3F8FD",
+"e. c #E1E9F0",
+"f. c #C3CDD3",
+"g. c #CDD5DA",
+"h. c #D5DBE0",
+"i. c #E6EAED",
+"j. c #F3F5F7",
+"k. c #FAFBFC",
+"l. c #F1F7FC",
+"m. c #E2EBF1",
+"n. c #E1E6E9",
+"o. c #E7EBED",
+"p. c #FEFEFF",
+"q. c #E8F2FC",
+"r. c #E8EEF5",
+"s. c #F7F8FB",
+"t. c #E9F3FC",
+"u. c #BBC9D9",
+"v. c #CBD5E4",
+"w. c #D3DCE9",
+"x. c #F2F5FB",
+"y. c #E5EBF6",
+"z. c #F9FBFE",
+"A. c #B1C7DB",
+"B. c #AEBCCC",
+"C. c #B2C0D0",
+"D. c #B9C5D5",
+"E. c #C1CCDC",
+"F. c #D1DAE8",
+"G. c #F1F7FD",
+"H. c #E3EBF3",
+"I. c #BFCBDA",
+"J. c #C5D0DF",
+"K. c #CED7E6",
+"L. c #D5DEEB",
+"M. c #E6F2FC",
+"N. c #E8EFF3",
+"O. c #D9DFE3",
+"P. c #E3E7EB",
+"Q. c #FDFEFE",
+"R. c #CED6DB",
+"S. c #F9FAFB",
+"T. c #EAF4FC",
+"U. c #EFF5FC",
+"V. c #D4DADF",
+"W. c #E5F2FC",
+"X. c #F1F8FD",
+"Y. c #EDF6FC",
+"Z. c #E2E9F2",
+"`. c #D3DEED",
+" + c #EEF2F8",
+".+ c #ECF0F8",
+"++ c #B1BFCF",
+"@+ c #C2CDDC",
+"#+ c #FBFCFE",
+"$+ c #D8E3EE",
+"%+ c #C0CCDB",
+"&+ c #F5F9FD",
+"*+ c #F8F9FB",
+"=+ c #F9FBFC",
+"-+ c #C5CED5",
+";+ c #E0E5E9",
+">+ c #EBEEF0",
+",+ c #F8FAFB",
+"'+ c #DCE7EE",
+")+ c #C3D5E1",
+"!+ c #CCD4DA",
+"~+ c #E7EDF7",
+"{+ c #F4F7FB",
+"]+ c #F3F9FD",
+"^+ c #F0F7FD",
+"/+ c #F8FBFE",
+"(+ c #EFF5FD",
+"_+ c #D3DFEC",
+":+ c #ECF1F7",
+"<+ c #AEBDCD",
+"[+ c #C7D1E0",
+"}+ c #D8E0ED",
+"|+ c #E8F3FC",
+"1+ c #C5D5E4",
+"2+ c #E2F1FC",
+"3+ c #F0F6FD",
+"4+ c #F1F5F8",
+"5+ c #F5FAFD",
+"6+ c #EBF6FC",
+"7+ c #C8D1D7",
+"8+ c #DAE0E4",
+"9+ c #E9ECEF",
+"0+ c #F9FAFD",
+"a+ c #E4EAF5",
+"b+ c #F1F5FA",
+"c+ c #E2F0FC",
+"d+ c #EDF6FD",
+"e+ c #F2F8FD",
+"f+ c #EFF6FD",
+"g+ c #E7F3FC",
+"h+ c #DFE8F1",
+"i+ c #BBC7D7",
+"j+ c #CEDBE9",
+"k+ c #C2D3E3",
+"l+ c #B5C2D2",
+"m+ c #BECADA",
+"n+ c #E7ECF6",
+"o+ c #FDFFFF",
+"p+ c #ACBBCB",
+"q+ c #AFBDCE",
+"r+ c #E1F0FC",
+"s+ c #EAF4FD",
+"t+ c #F6FAFE",
+"u+ c #EEF6FD",
+"v+ c #F5F8FA",
+"w+ c #CFDDE7",
+"x+ c #D1DDE6",
+"y+ c #F2F9FE",
+"z+ c #F4F7FA",
+"A+ c #CAD2D8",
+"B+ c #DBE1E5",
+"C+ c #E0EFFC",
+"D+ c #F9FAFC",
+"E+ c #E1E9F1",
+"F+ c #D3DFEB",
+"G+ c #D2DEEA",
+"H+ c #DCE5EF",
+"I+ c #CDDAE8",
+"J+ c #B4C1D1",
+"K+ c #BAC7D6",
+"L+ c #D9E3EE",
+"M+ c #D0D9E7",
+"N+ c #EAEFF7",
+"O+ c #ECF6FD",
+"P+ c #DFE8F0",
+"Q+ c #BCC8D8",
+"R+ c #DFEFFC",
+"S+ c #E3F2FC",
+"T+ c #E8F4FD",
+"U+ c #E1EAF0",
+"V+ c #D0D7DD",
+"W+ c #D1D8DD",
+"X+ c #DEE7EE",
+"Y+ c #E4EBF1",
+"Z+ c #FBFBFC",
+"`+ c #E4F2FC",
+" @ c #E8F3FD",
+".@ c #F2F8FE",
+"+@ c #D8E3EC",
+"@@ c #DFE4E8",
+"#@ c #EAEDF0",
+"$@ c #D2DFE9",
+"%@ c #E5E9EC",
+"&@ c #F3F9FE",
+"*@ c #DEEDFC",
+"=@ c #DAE4EE",
+"-@ c #B7C4D4",
+";@ c #E2EAF2",
+">@ c #CAD8E8",
+",@ c #E3E9F5",
+"'@ c #B8C5D4",
+")@ c #DDEDFC",
+"!@ c #E5EDF2",
+"~@ c #EFF4F7",
+"{@ c #E6EDF2",
+"]@ c #E8EEF3",
+"^@ c #EEF3F7",
+"/@ c #F1F8FE",
+"(@ c #9DC8FF",
+". . . . . . . . . . . . . . . . . . . . . . . . + @ # $ + % % % % . . . . . . . . . . . . . . . & * * = - - - - - - - - - ; > * * , ' ) ! ~ { ] ^ / * * ( _ - - - - - - : * * < [ } | 1 2 % . . . . . . . ",
+"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3 4 4 4 5 3 3 * * * * * * * * * * * 3 3 * * = - - - - - - - 6 > * 7 8 9 0 a b c d e f f g h * ( i - - - - - - = * j * * * * * 5 4 5 5 3 3 * * ",
+"k k k k k k k k k k k k k l * m n o o o o k k k * * p q r * * s t u v w 1 o k k k k k k k k k k o w x * * y y y y y y y z * A B C D E F G H I J K L L J M * r - y y y y y y ; * * * N z * O t P v w 1 o k ",
+"* * * * * * * * * * * * * * * * * 4 Q 4 4 5 3 * * j R R R S * T U V W X 4 3 * * * * * * * * * * * 5 Y * r R R R R R R ; * Z ` 9 .b d ..+.@.#.$.%.%.%.&.#.*.* ; R R R R R R R y R R R R * * U V =.-.Q 5 3 ",
+"k k k k k k k k k k l * * ;.: r * >.,.t P '.1 ).* z R R R ; * !.~.{.].,.v 1 o k k k k k k k k k k o ^.* /.R R R R R R * * (.C D _.:.<.L {.[.}.,.t t t ,.}.|.* * 1.R R R R R R R R R R R * * ~.2.3.}.u w o ",
+"* * * * * * * * * * * N 4.5.5.4.* * 6.7.8.9.4 3 * 4.5.5.5.z * 0.a.b.#.V -.4 3 * * * * * * * * * * 3 j * c.5.5.5.5.5.d.* e.f.0 g.h.a.i.$.j.9.X Q 4 4 4 4 X -.k.* l.5.5.5.5.5.5.5.5.5.5.5.z * m.n.o.&.=.X 5 ",
+"k k k k k k k k k k p.* 1.q.q.q.l.* r.s.* * * * * t.q.q.q.* * u.G H v.w.,.'.l * x.y.o o o o k k k k * * q.q.q.q.q.q.z.* A.B.C.D.E.K F.}.P w o o k k k o o w w * * q.q.q.q.q.q.q.q.q.q.q.G.* H.I.J.K.L.u w ",
+"* * * * * * * * * * * * p M.M.M.5.p * * * * z.z c.M.M.M.M.d.* j N.O.P.$.*.Q.* j * 3 4 4 4 5 5 3 * * * * M.M.M.M.M.M.* * ` 0 R.e +.#.j.S.4 3 * * * * * * * 3 5 * * M.M.M.M.M.M.M.M.M.T.U.( * m V...o.%.9.4 ",
+"k k k k k k k k k k k * * T.W.W.W.W.X.T.W.W.W.W.W.W.W.W.W.Y.d.* * m Z.`. +* > c.p * >.w t P '.1 o .+* z.W.W.W.W.W.W.* * C ++D.@+v.[.t w o k k k k k k k k k o Y * 5.W.W.W.W.W.W.p * * * * #+$+D.%+K 3.,.'.",
+"* * * * * * * * * * * * * p W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.Y.&+* * * * c.5.W.W.c.* *+7.j.=+j * * * X.W.W.W.W.W.W.* * -+a h.;+>+j.X 5 * * * * * * * * * * * * * 5.W.W.W.W.W.c.* * ,+'+)+0 !+V...i.%.W Q ",
+"k k k k k k k k k k ~+{+* ]+W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.^+/+* (+W.W.W.W.T.( * _+:+* * * z.^+W.W.W.W.W.W.W.* * <+E :.[+F.}+'.o k k k k k k k k k k k #+* |+W.W.W.W.W.z * 1+B C D E F I.I K.].t w ",
+"* * * * * * * * * * * * (+W.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+3+* 6.4+* 5+6+2+2+2+2+2+2+2+2+2+2+* * 0 R.e b.&.W 4 * * * * * * * * * * * * * * 2+2+2+2+2+2+* * ` 9 7+R.V.8++.9+%.=.X 5 ",
+"k k l * * 0+.+1 a+b+* (+c+c+c+c+c+c+c+c+c+W.d+e+e+f+g+c+c+c+c+c+c+c+c+c+c+c+c+c+(+* h+i+j+* d.c+c+c+c+c+c+c+c+c+c+c+z * k+l+m+K 3.,.w k k k k k k k k k k k n+* o+c+c+c+c+c+c+* * p+q+E i+@+J 2.[.}.P w 1 ",
+"* * * j N * * j j * 6 r+r+r+r+r+r+r+s+e+* * * * * * * * t+u+r+r+r+r+r+r+r+r+r+6 * v+w+b x+* o+r+r+r+r+r+r+r+r+r+r+r+d+* h R.e b.&.W 4 * * * * * * * * * * * * * y+r+r+r+r+r+W.* z+9 A+c B+b.#.V W S.Q 5 3 ",
+"k 0+* y+C+u+/+* * 6 C+C+C+C+C+C+M.6 * * * D+E+F+G+H+4+* * * /+u+C+C+C+C+C+C+C+* * I+++J+K+* * C+C+C+C+C+C+C+C+C+C+C+C+o+* L+:.[+M+}+'.o k k k k k k k k k N+* * C+C+C+C+C+C+O+* P+<+E Q+J.2.L.t '.1 o o k ",
+"* * * R+R+R+R+S+T+R+R+R+R+R+R+y+* * Q.U+9 -+7+a g.V+W+c X+*.* * y+R+R+R+R+R+R+t+* Y+0 g.d Z+* `+R+R+C+ @R+R+R+R+R+R+R+.@* m +@@@#@j.S.5 * * * * * * * * * * * y+R+R+R+R+R+R+f+* $@7+b f %@&.W Q 3 * * * * ",
+"* * &@*@*@*@*@*@*@*@*@*@*@*@&@* * =@C B.D J+-@K+:.I.E.H H @+;@* * &@*@*@*@*@*@d+* * D _.m+r.* ;.* * * * .@`+*@*@*@*@*@*@.@* ;@>@L w.,.'.o k k k k k k ,@l * &@*@*@*@*@*@*@*@o+* A ++'@E.~.].u 1 k k k k k ",
+"* * * .@)@)@)@)@)@)@)@)@)@.@* * !@-+0 A+b V.f a.+.i.@.9+9+@.i.~@Z+* .@)@)@)@)@)@d.* {@V+8+]@* * * * j *.* .@)@)@)@)@)@)@)@.@* k.^@#@V -.4 3 * * * * * * * .@r+)@)@)@)@)@)@)@/@o+* {@c ..@.7.-.5 * * * * * ",
+"(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@"};
diff --git a/icewm-themes/MenschMaschine/titleIT.xpm b/icewm-themes/MenschMaschine/titleIT.xpm
new file mode 100644
index 00000000..89892c19
--- /dev/null
+++ b/icewm-themes/MenschMaschine/titleIT.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 19 4 1",
+" c #9dc8ff",
+". c #d3ddf0",
+"X c #e0e7f4",
+"o c Gray100",
+/* pixels */
+"..",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+"XX",
+"oo",
+" "
+};
diff --git a/icewm-themes/Model/Makefile.am b/icewm-themes/Model/Makefile.am
new file mode 100644
index 00000000..81858be7
--- /dev/null
+++ b/icewm-themes/Model/Makefile.am
@@ -0,0 +1,8 @@
+pics_DATA = closeA.xpm closeI.xpm frameAB.xpm frameABL.xpm frameABR.xpm frameAL.xpm frameAR.xpm \
+ frameAT.xpm frameATL.xpm frameATR.xpm frameIB.xpm frameIBL.xpm frameIBR.xpm frameIL.xpm \
+ frameIR.xpm frameIT.xpm frameITL.xpm frameITR.xpm maximizeA.xpm maximizeI.xpm \
+ menuButtonA.xpm menuButtonI.xpm minimizeA.xpm minimizeI.xpm restoreA.xpm restoreI.xpm \
+ titleAB.xpm titleAL.xpm titleAM.xpm titleAT.xpm titleIB.xpm titleIL.xpm titleIM.xpm \
+ titleIT.xpm default.theme
+
+picsdir = $(kde_datadir)/kwin/icewm-themes/Model
diff --git a/icewm-themes/Model/closeA.xpm b/icewm-themes/Model/closeA.xpm
new file mode 100644
index 00000000..dd372878
--- /dev/null
+++ b/icewm-themes/Model/closeA.xpm
@@ -0,0 +1,246 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 204 2",
+" c #19385d",
+". c #003263",
+"X c #003870",
+"o c #173e69",
+"O c #193f69",
+"+ c #243f5d",
+"@ c #05417e",
+"# c #06417e",
+"$ c #06427e",
+"% c #26476b",
+"& c #28466b",
+"* c #2d5079",
+"= c #004e9b",
+"- c #174d8a",
+"; c #1b4d80",
+": c #005bb7",
+"> c #1459a2",
+", c #195ca2",
+"< c #1561b4",
+"1 c #1661b4",
+"2 c #1763b4",
+"3 c #1863b4",
+"4 c #1964b4",
+"5 c #1a65b4",
+"6 c #1c66b4",
+"7 c #1f67b4",
+"8 c #1e68b4",
+"9 c #215080",
+"0 c #20538a",
+"q c #236bb4",
+"w c #306eb3",
+"e c #3170b3",
+"r c #006ad3",
+"t c #1768c1",
+"y c #1d73d2",
+"u c #1f74d2",
+"i c #236fc1",
+"p c #2670c7",
+"a c #2871c7",
+"s c #2b73c7",
+"d c #2579d2",
+"f c #2f7ed2",
+"g c #3a7cc7",
+"h c #3c7fc7",
+"j c #4272b0",
+"k c #4473b0",
+"l c #4e7cb0",
+"z c #3f81c7",
+"x c #2e81e4",
+"c c #3183e4",
+"v c #3885e2",
+"b c #3d88e9",
+"n c #3e8ae9",
+"m c #398dff",
+"M c #3b8eff",
+"N c #3c8fff",
+"B c #3e8fff",
+"V c #3b90ff",
+"C c #3d91ff",
+"Z c #3f91ff",
+"A c #5c83b0",
+"S c #4584c7",
+"D c #4885c7",
+"F c #4481d0",
+"G c #4d8bd6",
+"H c #5390d6",
+"J c #5691d6",
+"K c #5a95d6",
+"L c #5f94d0",
+"P c #428ae2",
+"I c #418be4",
+"U c #418de4",
+"Y c #408ee4",
+"T c #408ae9",
+"R c #438ce9",
+"E c #4890e9",
+"W c #4c92e9",
+"Q c #4e94e9",
+"! c #4391f6",
+"~ c #4093ff",
+"^ c #4293ff",
+"/ c #4395ff",
+"( c #4796ff",
+") c #4991f0",
+"_ c #4997ff",
+"` c #4a98ff",
+"' c #4d99ff",
+"] c #4c9aff",
+"[ c #4e9bff",
+"{ c #4f9cff",
+"} c #5197e9",
+"| c #5296e9",
+" . c #559ae4",
+".. c #5398e9",
+"X. c #599ce9",
+"o. c #5b9fe9",
+"O. c #5d9fe9",
+"+. c #549ef6",
+"@. c #519cff",
+"#. c #549fff",
+"$. c #569fff",
+"%. c #599cf0",
+"&. c #5a9ff6",
+"*. c #5d9ef0",
+"=. c #5ea1e9",
+"-. c #57a0ff",
+";. c #5ba0f6",
+":. c #5ca0f6",
+">. c #58a1ff",
+",. c #58a2ff",
+"<. c #5aa3ff",
+"1. c #5ca4ff",
+"2. c #5fa8ff",
+"3. c #6192d0",
+"4. c #6095d0",
+"5. c #6498d0",
+"6. c #649adb",
+"7. c #699fdb",
+"8. c #729ed0",
+"9. c #63a4e9",
+"0. c #68a6e9",
+"q. c #63a5f6",
+"w. c #61a6ff",
+"e. c #65a6ff",
+"r. c #66a7ff",
+"t. c #61a8ff",
+"y. c #62a9ff",
+"u. c #64a9ff",
+"i. c #65aaff",
+"p. c #67a8ff",
+"a. c #67abff",
+"s. c #67acff",
+"d. c #6babf0",
+"f. c #69a8f0",
+"g. c #68acf6",
+"h. c #6dabf6",
+"j. c #68a9ff",
+"k. c #69aaff",
+"l. c #6aabff",
+"z. c #68adff",
+"x. c #69aeff",
+"c. c #6db0ff",
+"v. c #6fb0ff",
+"b. c #6eb3ff",
+"n. c #71aef0",
+"m. c #70adff",
+"M. c #71aeff",
+"N. c #76b0f0",
+"B. c #70b1ff",
+"V. c #73b3ff",
+"C. c #73b6ff",
+"Z. c #74b4ff",
+"A. c #75b7ff",
+"S. c #76b7ff",
+"D. c #77b8ff",
+"F. c #78b3ff",
+"G. c #79b4ff",
+"H. c #78b7ff",
+"J. c #7ab5ff",
+"K. c #7cb7ff",
+"L. c #79b8ff",
+"P. c #7bb9ff",
+"I. c #7abaff",
+"U. c #7dbbff",
+"Y. c #7fbcff",
+"T. c #83bbff",
+"R. c #81bdff",
+"E. c #82beff",
+"W. c #84bcff",
+"Q. c #86bdff",
+"!. c #89c0ff",
+"~. c #8bc1ff",
+"^. c #8bc2ff",
+"/. c #8fc3ff",
+"(. c #90c3ff",
+"). c #90c6ff",
+"_. c #93c7ff",
+"`. c #94c7ff",
+"'. c #93c8ff",
+"]. c #94c8ff",
+"[. c #96c9ff",
+"{. c #97caff",
+"}. c #99cbff",
+"|. c #9acbff",
+" X c #9bccff",
+".X c #9ccbff",
+"XX c #9ccdff",
+"oX c #9fceff",
+"OX c #a0ceff",
+"+X c #a2cfff",
+"@X c #a3d1ff",
+"#X c #a6d1ff",
+"$X c #a6d2ff",
+"%X c #a8d2ff",
+"&X c #b8dcff",
+"*X c #cae4ff",
+"=X c #d3e9ff",
+"-X c #d4e9ff",
+";X c #d5eaff",
+":X c #d7ebff",
+">X c #d8ebff",
+",X c #d9ecff",
+"<X c #daedff",
+"1X c Gray100",
+/* pixels */
+"m m m B V m m B B C C C C C C C C C ",
+"B C C C C ~ ~ ~ ~ ~ ~ / ~ / ~ / ( / ",
+"e.e.e.&.I I &.p.p.p.;.Y Y :.k.k.k.k.",
+"( _ _ x 1X1Xt n ` ! y 1X1Xa ) ' ' { ",
+"' ' ' c 1X1X1X< v u 1X1X1X- F #.#.#.",
+"M.M.M.q.i 1X1X1X: 1X1X1X@ & 3.F.G.G.",
+"#.#.-.-.E < 1X1X1X1X1X@ j %.w.w.t.",
+"<.<.<.<.1.P : 1X1X1X: o k *.p.p.p.p.",
+"F.G.G.G.h.f 1X1X1X1X1X, 6.T.T.W.W.W.",
+"t.t.2.+.d 1X1X1X: 1X1X1X6 o.b.x.b.V.",
+"z.z.s.Y 1X1X1X@ O > 1X1X1Xw f.V.V.A.",
+"!.!.!. .1X1X@ + A 7.q 1X1X9 8././.(.",
+"P.L.G.g.h 0 % l f.b.o.e ; * 4.L.L.L.",
+"R.R.Y.Y.N.5.5.n.D.A.C.f.L 4.n.L.P.P.",
+"OXXXXX.X|.|.|.[.[.[._._._._._.`.[.[.",
+"%X%X$X$X@X@XOXOXXXXXXX X|.[.[.|.|.[.",
+"<X,X,X,X,X>X>X-X-X-X-X-X=X=X=X=X*X&X",
+". . . . . . . . . . . . . . . X = r ",
+"m m m m V m m B B C C C C C C C C C ",
+"B C ~ C C ~ ~ ~ ~ ~ ~ / ~ / ~ / / / ",
+"e.e.e.e.e.e.p.p.p.p.k.k.k.k.k.k.k.k.",
+"_ _ _ _ n p p n ` ' ' n a a T ' ' { ",
+"' ' ' ' a 1X1X< R @.R < 1X1Xa #.#.#.",
+"M.M.M.M.g 1X1X1X6 G 6 1X1X1Xh F.G.G.",
+"#.#.-.-.E < 1X1X1X: 1X1X1X4 Q w.w.t.",
+"<.<.<.<.1.W 3 1X1X1X1X1X4 | p.p.p.p.",
+"F.G.G.G.K.K.H : 1X1X1X: J T.T.W.W.W.",
+"t.t.2.w.t.| 4 1X1X1X1X1X6 o.b.x.b.V.",
+"z.z.s.s...4 1X1X1X: 1X1X1X6 O.V.V.A.",
+"!.!.!.!.S 1X1X1Xq K q 1X1X1XD /./.(.",
+"L.L.G.A.h 1X1X8 o.b.o.8 1X1Xh L.L.L.",
+"R.R.Y.Y.0.z z 9.D.A.C.=.h h 9.L.P.P.",
+"OXXXXX.X|.|.|.[.[.[._._._./._.`.[.[.",
+"%X%X$X$X@X$XOXOXXXXXXXXX|.[.[.|.|.'.",
+",X,X,X,X,X>X>X-X-X-X-X-X=X=X=X=X*X&X",
+". . . . . . . . . . . . . . . X = r "
+};
diff --git a/icewm-themes/Model/closeI.xpm b/icewm-themes/Model/closeI.xpm
new file mode 100644
index 00000000..7507ba71
--- /dev/null
+++ b/icewm-themes/Model/closeI.xpm
@@ -0,0 +1,177 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 135 2",
+" c #003263",
+". c #003870",
+"X c #0a437e",
+"o c #0a447e",
+"O c #3a4b5d",
+"+ c #2f4d69",
+"@ c #314d69",
+"# c #43576b",
+"$ c #495a6b",
+"% c #4e6479",
+"& c #004e9b",
+"* c #005bb6",
+"= c #005bb7",
+"- c #015bb7",
+"; c #305880",
+": c #325980",
+"> c #38618a",
+", c #3b638a",
+"< c #2664a2",
+"1 c #2965a2",
+"2 c #3474b4",
+"3 c #3574b4",
+"4 c #3675b4",
+"5 c #3775b4",
+"6 c #3776b4",
+"7 c #3876b4",
+"8 c #3976b4",
+"9 c #3977b4",
+"0 c #006ad3",
+"q c #5784b3",
+"w c #5886b3",
+"e c #4281c1",
+"r c #4381c1",
+"t c #4c8fd2",
+"y c #5091d2",
+"u c #5191d2",
+"i c #6697c7",
+"p c #6797c7",
+"a c #6897c7",
+"s c #6898c7",
+"d c #6b98c7",
+"f c #6c99c7",
+"g c #6d9ac7",
+"h c #6e9ac7",
+"j c #709cc7",
+"k c #7db1e4",
+"l c #8b9db0",
+"z c #90a0b0",
+"x c #91a1b0",
+"c c #92a1b0",
+"v c #8bb1d6",
+"b c #8cb2d6",
+"n c #8fb2d6",
+"m c #90b3d6",
+"M c #83b3e4",
+"N c #84b4e4",
+"B c #85b5e4",
+"V c #8ab7e4",
+"C c #8bb8e4",
+"Z c #91b9e2",
+"A c #96bbe2",
+"S c #a3bad0",
+"D c #a4bad0",
+"F c #a6bbd0",
+"G c #a6bcd0",
+"H c #a3bfdb",
+"J c #aebfd0",
+"K c #a7c0db",
+"L c #aec0d0",
+"P c #b3c2d0",
+"I c #a4c7e9",
+"U c #a5c8e9",
+"Y c #a6c8e9",
+"T c #a7c9e9",
+"R c #a9c9e9",
+"E c #aacae9",
+"W c #adcbe9",
+"Q c #afcbe9",
+"! c #b0cce9",
+"~ c #b1cde9",
+"^ c #b0d3f6",
+"/ c #b2d4f6",
+"( c #bbd6f0",
+") c #bcd7f0",
+"_ c #bad9f6",
+"` c #bbd9f6",
+"' c #bed8f0",
+"] c #bed9f6",
+"[ c #c0d8f0",
+"{ c #c2d9f0",
+"} c #c1dcf6",
+"| c #c2dcf6",
+" . c #c2ddf6",
+".. c #c3ddf6",
+"X. c #c5daf0",
+"o. c #c7dbf0",
+"O. c #caddf0",
+"+. c #c7e3ff",
+"@. c #c8e4ff",
+"#. c #c9e4ff",
+"$. c #cae5ff",
+"%. c #cbe5ff",
+"&. c #cce6ff",
+"*. c #cde6ff",
+"=. c #cee7ff",
+"-. c #cfe7ff",
+";. c #d0e8ff",
+":. c #d1e8ff",
+">. c #d2e9ff",
+",. c #d3e9ff",
+"<. c #d4eaff",
+"1. c #d5eaff",
+"2. c #d5ebff",
+"3. c #d6ebff",
+"4. c #d7ebff",
+"5. c #d8ebff",
+"6. c #d8ecff",
+"7. c #d9ecff",
+"8. c #daedff",
+"9. c #dbedff",
+"0. c #dceeff",
+"q. c #ddeeff",
+"w. c #ddefff",
+"e. c #deefff",
+"r. c #dfefff",
+"t. c #e1f0ff",
+"y. c #e8f4ff",
+"u. c #ebf5ff",
+"i. c #ecf6ff",
+"p. c #edf6ff",
+"a. c #eef6ff",
+"s. c #eef7ff",
+"d. c #eff7ff",
+"f. c #f0f7ff",
+"g. c Gray100",
+/* pixels */
+"1.1.1.1.1.5.1.5.8.8.8.8.8.8.8.8.8.8.",
+"1.1.1.1.1.1.1.1.1.1.1.8.4.8.8.8.8.8.",
+"8.8.8.} V V } q.q.q.} C C } q.r.q.q.",
+":.:.:.N g.g.e ! 1._ u g.g.h O.1.1.8.",
+"&.:.:.M g.g.g.6 A u g.g.g.> J 1.1.5.",
+"1.1.1.] e g.g.g.- g.g.g.o $ P q.q.q.",
+"&.&.&.&.E 6 g.g.g.g.g.X O x o.1.1.1.",
+"%.%.%.%.&.Z - g.g.g.- @ x o.:.:.:.1.",
+":.:.:.1._ u g.g.g.g.g.1 K 8.8.8.8.8.",
+"%.%.+.^ t g.g.g.- g.g.g.6 E &.:.:.:.",
+"%.%.%.k g.g.g.X + < g.g.g.w [ &.&.:.",
+"1.1.1.N g.g.X O x H 7 g.g.; L 1.1.5.",
+"&.&.&./ a > # l ) +.U q ; % F &.&.&.",
+"&.&.&.&.[ G F ' %.%.%.( S F ' %.&.&.",
+"8.8.5.1.5.1.1.1.:.1.:.:.:.:.:.1.1.1.",
+"q.8.8.8.8.8.5.5.1.1.1.1.1.1.:.1.:.:.",
+"f.i.f.i.f.f.i.i.i.i.i.i.i.i.i.y.y.t.",
+" . & 0 ",
+"1.1.1.1.1.5.1.1.8.8.8.8.8.8.8.8.8.8.",
+"1.1.1.1.1.1.1.1.1.1.1.4.8.8.8.8.8.8.",
+"8.8.8.q.q.q.q.q.q.q.q.q.q.q.q.r.q.q.",
+":.:.:.:.W h h ! 1.1.1.! h h ! 1.1.8.",
+"&.:.:.:.d g.g.6 W :.! 7 g.g.h 1.1.1.",
+"1.1.1.5.h g.g.g.7 m 7 g.g.g.j q.q.q.",
+"&.&.&.&.E 6 g.g.g.- g.g.g.7 W 1.1.1.",
+"%.%.%.%.&.E 6 g.g.g.g.g.6 W :.:.:.1.",
+":.:.:.1.1.:.n - g.g.g.- n 8.8.8.8.8.",
+"%.%.+.%.%.U 6 g.g.g.g.g.6 E &.:.:.:.",
+"%.%.%.%.I 2 g.g.g.- g.g.g.6 E &.&.:.",
+"1.1.:.1.h g.g.g.6 v 6 g.g.g.h 1.5.5.",
+"&.&.&.%.p g.g.6 I +.U 6 g.g.a &.&.&.",
+"&.&.&.&.E d a U %.%.%.I p p U %.&.&.",
+"8.8.5.1.5.1.1.1.1.1.:.:.:.:.:.1.1.1.",
+"q.8.8.8.8.8.5.5.1.1.1.1.1.1.:.1.1.:.",
+"f.i.i.f.f.i.i.i.i.i.i.i.i.i.i.y.y.t.",
+" . & 0 "
+};
diff --git a/icewm-themes/Model/default.theme b/icewm-themes/Model/default.theme
new file mode 100644
index 00000000..21d2c527
--- /dev/null
+++ b/icewm-themes/Model/default.theme
@@ -0,0 +1,28 @@
+# Model
+# by qwertz kraftw@gmx.de for KDE2.2
+
+ThemeDescription="Model(kwin)"
+ThemeAuthor="kraftw@gmx.de"
+Look=pixmap
+
+TitleButtonsLeft="s"
+TitleButtonsRight="xmi"
+
+TitleBarHeight=18
+
+BorderSizeX=5
+BorderSizeY=4
+CornerSizeX=20
+CornerSizeY=22
+DlgBorderSizeX=2
+DlgBorderSizeY=2
+
+ColorNormalTitleBarText="#ffffff"
+ColorActiveTitleBarText="#ffffff"
+ColorActiveBorder="#000000"
+ColorNormalBorder="#575757"
+
+ColorNormalTitleBarShadow="#98B5D8"
+ColorActiveTitleBarShadow="#5D7ACA"
+
+ShowMenuButtonIcon=1
diff --git a/icewm-themes/Model/frameAB.xpm b/icewm-themes/Model/frameAB.xpm
new file mode 100644
index 00000000..66f655fb
--- /dev/null
+++ b/icewm-themes/Model/frameAB.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 5 1",
+" c #003263",
+". c #9dceff",
+"X c #9eceff",
+"o c #9fcfff",
+"O c #dceeff",
+/* pixels */
+"OOOO",
+"XXXX",
+"XXXX",
+" "
+};
diff --git a/icewm-themes/Model/frameABL.xpm b/icewm-themes/Model/frameABL.xpm
new file mode 100644
index 00000000..dd190b43
--- /dev/null
+++ b/icewm-themes/Model/frameABL.xpm
@@ -0,0 +1,81 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 53 1",
+" c #003263",
+". c #003264",
+"X c #00376e",
+"o c #003f7e",
+"O c #535253",
+"+ c #0050a0",
+"@ c #0058b0",
+"# c #006cd7",
+"$ c #0074e8",
+"% c #0079f2",
+"& c #3198ff",
+"* c #53a9ff",
+"= c #9bcdff",
+"- c #9bceff",
+"; c #9cceff",
+": c #9dceff",
+"> c #9fcfff",
+", c #a0cfff",
+"< c #a0d0ff",
+"1 c #a1d0ff",
+"2 c #a2d1ff",
+"3 c #a3d2ff",
+"4 c #a4d2ff",
+"5 c #a5d2ff",
+"6 c #a6d2ff",
+"7 c #a6d3ff",
+"8 c #a7d3ff",
+"9 c #add7ff",
+"0 c #aed7ff",
+"q c #afd7ff",
+"w c #b0d8ff",
+"e c #b3d9ff",
+"r c #b4daff",
+"t c #bcdeff",
+"y c #dfdfdf",
+"u c #c8e4ff",
+"i c #cde6ff",
+"p c #d3e9ff",
+"a c #d4e9ff",
+"s c #d4eaff",
+"d c #d5eaff",
+"f c #d6eaff",
+"g c #d6ebff",
+"h c #d7ebff",
+"j c #dbedff",
+"k c #dcedff",
+"l c #dceeff",
+"z c #ddeeff",
+"x c #ddefff",
+"c c #deefff",
+"v c #e8f4ff",
+"b c Gray94",
+"n c Gray100",
+/* pixels */
+"*j0kXyyyyyybyyyyyyyO",
+"*p;pXyyyyyybyyyyyyyO",
+"*p-pXyyyyyybyyyyyyyO",
+"*j0jXyyyyyybyyyyyyyO",
+"*a-pXyyyyyybyyyyyyyO",
+"*a;pXyyyyyybyyyyyyyO",
+"*k0jXyyyyyybyyyyyyyO",
+"*a;pXyyyyyybyyyyyyyO",
+"*a;pXyyyyyybyyyyyyyO",
+"*k0kXyyyyyybyyyyyyyO",
+"*a;aXyyyyyybyyyyyyyO",
+"*a;aXyyyyyybyyyyyyyO",
+"*kwkXyyyyyyyyyyyyyyy",
+"*a<aXyyyyyyyyyyyyyyy",
+"*a<aXyyyyyyyyyyyyyyy",
+"*kwkoyyyyyyyyyyyyyyy",
+"*h,i@yyyyyyyyyyyyyyy",
+"*h-t$yyyyyyyyyyyyyyy",
+"*c7ruakkkkkkjkkjjjjk",
+"&v77444444<<<<<<<<;;",
+"%n;,,,;,;,;,,;,;;,;,",
+"#+. "
+};
diff --git a/icewm-themes/Model/frameABR.xpm b/icewm-themes/Model/frameABR.xpm
new file mode 100644
index 00000000..196b3b10
--- /dev/null
+++ b/icewm-themes/Model/frameABR.xpm
@@ -0,0 +1,45 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 17 1",
+" c #002e5c",
+". c #00305f",
+"X c #003162",
+"o c #003263",
+"O c #003365",
+"+ c #00376e",
+"@ c #004e9c",
+"# c #7dbeff",
+"$ c #a0d0ff",
+"% c #a1d0ff",
+"& c #a2d1ff",
+"* c #b1d8ff",
+"= c #b2d8ff",
+"- c #b3d9ff",
+"; c #dfdfdf",
+": c #d5eaff",
+"> c #ddeeff",
+/* pixels */
+";;;;;;;;;;;;;;;>---+",
+";;;;;;;;;;;;;;;:%%%+",
+";;;;;;;;;;;;;;;:%%%+",
+";;;;;;;;;;;;;;;>---+",
+";;;;;;;;;;;;;;;:%%%+",
+";;;;;;;;;;;;;;;>%%%+",
+";;;;;;;;;;;;;;;>---+",
+";;;;;;;;;;;;;;;>%%%+",
+";;;;;;;;;;;;;;;>%%%+",
+";;;;;;;;;;;;;;;>---+",
+";;;;;;;;;;;;;;;>%%%+",
+";;;;;;;;;;;;;;;>%%%+",
+";;;;;;;;;;;;;;;-###+",
+";;;;;;;;;;;;;;;-###+",
+";;;;;;;;;;;;;;;-###+",
+";;;;;;;;;;;;;;;-###+",
+";;;;;;;;;;;;;;;-###+",
+";;;;;;;;;;;;;;;-###+",
+"#---------------###+",
+"###################O",
+"###################.",
+"ooooooooooooooooo. @"
+};
diff --git a/icewm-themes/Model/frameAL.xpm b/icewm-themes/Model/frameAL.xpm
new file mode 100644
index 00000000..84683cea
--- /dev/null
+++ b/icewm-themes/Model/frameAL.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"5 3 6 1",
+" c #00376e",
+". c #53a9ff",
+"X c #9bceff",
+"o c #add7ff",
+"O c #d3e9ff",
+"+ c #dbedff",
+/* pixels */
+".+o+ ",
+".OXO ",
+".OXO "
+};
diff --git a/icewm-themes/Model/frameAR.xpm b/icewm-themes/Model/frameAR.xpm
new file mode 100644
index 00000000..09235284
--- /dev/null
+++ b/icewm-themes/Model/frameAR.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"5 3 5 1",
+" c #00376e",
+". c #9bceff",
+"X c #add7ff",
+"o c #d3e9ff",
+"O c #dbedff",
+/* pixels */
+"o... ",
+"o... ",
+"OXXX "
+};
diff --git a/icewm-themes/Model/frameAT.xpm b/icewm-themes/Model/frameAT.xpm
new file mode 100644
index 00000000..7ff11798
--- /dev/null
+++ b/icewm-themes/Model/frameAT.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 3 1",
+" c #5093ff",
+". c #8cc6ff",
+"X c #b7d6ff",
+/* pixels */
+"....",
+"XXXX",
+" ",
+" "
+};
diff --git a/icewm-themes/Model/frameATL.xpm b/icewm-themes/Model/frameATL.xpm
new file mode 100644
index 00000000..0ce4dca8
--- /dev/null
+++ b/icewm-themes/Model/frameATL.xpm
@@ -0,0 +1,239 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 211 2",
+" c #002d5a",
+". c #003060",
+"X c #003263",
+"o c #003971",
+"O c #0a3a71",
+"+ c #113c71",
+"@ c #104278",
+"# c #1e4377",
+"$ c #274569",
+"% c #205596",
+"& c #2c5790",
+"* c #2d70ba",
+"= c #356eb8",
+"- c #3f71b7",
+"; c #216ace",
+": c #236ec9",
+"> c #336ec6",
+", c #3e7bd4",
+"< c #2074e5",
+"1 c #2577ec",
+"2 c #2677ec",
+"3 c #2a7aec",
+"4 c #2576ff",
+"5 c #2676ff",
+"6 c #2677ff",
+"7 c #2678ff",
+"8 c #2778ff",
+"9 c #2879ff",
+"0 c #2979ff",
+"q c #297aff",
+"w c #2a7aff",
+"e c #2b7bff",
+"r c #2b7cff",
+"t c #2c7df9",
+"y c #2c7cff",
+"u c #2c7dff",
+"i c #2d7dff",
+"p c #337df1",
+"a c #507ab7",
+"s c #3382ec",
+"d c #3f88e5",
+"f c #3080f9",
+"g c #3281ff",
+"h c #3382ff",
+"j c #3583ff",
+"k c #3683ff",
+"l c #3684ff",
+"z c #3a87ff",
+"x c #3b88ff",
+"c c #3c88ff",
+"v c #3c8aff",
+"b c #3d8aff",
+"n c #4f83d4",
+"m c #418cff",
+"M c #418dff",
+"N c #428dff",
+"B c #428eff",
+"V c #458aff",
+"C c #458bff",
+"Z c #458cff",
+"A c #468cff",
+"S c #478cff",
+"D c #488eff",
+"F c #488fff",
+"G c #498fff",
+"H c #4a8cff",
+"J c #4a8dff",
+"K c #4b8dff",
+"L c #4c8eff",
+"P c #4c8fff",
+"I c #4d91ec",
+"U c #4691f9",
+"Y c #4792ff",
+"T c #4892ff",
+"R c #4893ff",
+"E c #4993ff",
+"W c #4a93ff",
+"Q c #4c90ff",
+"! c #4d90ff",
+"~ c #4d91ff",
+"^ c #4e96ff",
+"/ c #4e97ff",
+"( c #4f98ff",
+") c #5490e3",
+"_ c #5496f1",
+"` c #5394ff",
+"' c #5494ff",
+"] c #5495ff",
+"[ c #5595ff",
+"{ c #5596ff",
+"} c #5697ff",
+"| c #5698ff",
+" . c #549cff",
+".. c #569dff",
+"X. c #569eff",
+"o. c #579eff",
+"O. c #589af1",
+"+. c #589bf1",
+"@. c #5a9fff",
+"#. c #5e9dff",
+"$. c #5f9eff",
+"%. c #53a9ff",
+"&. c #55aaff",
+"*. c #5aa0ff",
+"=. c #5aa1ff",
+"-. c #5ca0ff",
+";. c #5ca1ff",
+":. c #5ca2ff",
+">. c #5da2ff",
+",. c #5ea2ff",
+"<. c #5ea3ff",
+"1. c #5fa3ff",
+"2. c #5fa4ff",
+"3. c #629eec",
+"4. c #63a1ff",
+"5. c #60a4ff",
+"6. c #61a4ff",
+"7. c #62a5ff",
+"8. c #62a6ff",
+"9. c #64a2ff",
+"0. c #65a2ff",
+"q. c #6aa1f1",
+"w. c #69aaff",
+"e. c #69abff",
+"r. c #6aabff",
+"t. c #6aacff",
+"y. c #6bacff",
+"u. c #6eaaff",
+"i. c #6fabff",
+"p. c #6cacff",
+"a. c #6cadff",
+"s. c #6daeff",
+"d. c #6eaeff",
+"f. c #6eafff",
+"g. c #63b1ff",
+"h. c #6ab5ff",
+"j. c #6fb0ff",
+"k. c #70abff",
+"l. c #70afff",
+"z. c #73aeff",
+"x. c #74aeff",
+"c. c #74afff",
+"v. c #70b0ff",
+"b. c #71b0ff",
+"n. c #72b0ff",
+"m. c #72b1ff",
+"M. c #73b1ff",
+"N. c #74b1ff",
+"B. c #7eb7ff",
+"V. c #7fb7ff",
+"C. c #7eb9ff",
+"Z. c #80b7ff",
+"A. c #81b7ff",
+"S. c #82b7ff",
+"D. c #81b8ff",
+"F. c #82b8ff",
+"G. c #82b9ff",
+"H. c #83b9ff",
+"J. c #82bbff",
+"K. c #85b9ff",
+"L. c #86bdff",
+"P. c #88beff",
+"I. c #8bc0ff",
+"U. c #8bc1ff",
+"Y. c #8ac5ff",
+"T. c #8cc1ff",
+"R. c #8dc1ff",
+"E. c #8dc2ff",
+"W. c #8ec1ff",
+"Q. c #8fc1ff",
+"!. c #8ec2ff",
+"~. c #8fc2ff",
+"^. c #8cc6ff",
+"/. c #8fc7ff",
+"(. c #90c2ff",
+"). c #91c2ff",
+"_. c #91c3ff",
+"`. c #92c0ff",
+"'. c #94c2ff",
+"]. c #98c4ff",
+"[. c #9ac6ff",
+"{. c #9ec9ff",
+"}. c #a1cbff",
+"|. c #a1cdff",
+" X c #a2ceff",
+".X c #a5caff",
+"XX c #a5cdff",
+"oX c #a9cdff",
+"OX c #a9ceff",
+"+X c #a7d0ff",
+"@X c #abd3ff",
+"#X c #aad4ff",
+"$X c #aed1ff",
+"%X c #acd4ff",
+"&X c #aed4ff",
+"*X c #b0d5ff",
+"=X c #b1d6ff",
+"-X c #b2d7ff",
+";X c #b4d5ff",
+":X c #b7d6ff",
+">X c #b4d8ff",
+",X c #b9d9ff",
+"<X c #bddcff",
+"1X c #c0deff",
+"2X c #cce6ff",
+"3X c #edf4ff",
+"4X c #eef5ff",
+"5X c #eff5ff",
+"6X c #f1f6ff",
+"7X c #f1f7ff",
+"8X c #f2f8ff",
+/* pixels */
+"g.#X/./.Y./.Y./.Y./././.Y./.Y./.Y./.Y./.",
+"Y.2X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X",
+"h.OXZ C C C C Z Z Z Z Z Z Z Z J J J J J ",
+"&..XJ J J J J J J J L L ! L ! ! ! ! ! ! ",
+"%.`.8 8 6 6 6 6 6 6 6 6 8 e 8 e e e e e ",
+"%.'.r e e e e e e e e e e e e e u u u u ",
+"%.OX| } } } } ` ` ` ` ` ' } ` ` } } } } ",
+"%.].k l k k k f 1 < < < 1 t g g g g g g ",
+"%.].c c c x z 3 3X3X4X4X4X; p k l l l l ",
+"%.$X9.9.9.4.4.d 6X6X6X6X6X% n $.$.$.$.$.",
+"%.{.W W W W Y s 4X4X4X4X4X+ > B B B B B ",
+"%.|.( ( / / / U : 4X4X4XO # , W W Y W Y ",
+"%.:Xx.x.x.x.z.z.3.* 8X@ $ a q.k.u.u.u.u.",
+"%.XX<.<.<.<.@.@.@.I = & - _ X.X.X.X.X.X.",
+"%.+X5.5.5.5.5.5.2.<.O.) O.<.<.<.<.:.<.<.",
+"%.,XK.D.D.D.D.D.D.Z.D.Z.Z.Z.Z.V.V.V.V.V.",
+"%.@Xj.f.f.f.f.f.f.y.y.y.y.y.e.e.e.e.e.e.",
+"%.&XM.N.N.M.M.M.M.M.M.M.j.j.j.z.M.j.j.f.",
+"%.<X`.`.`.`.`.!.!.!.!.!.!.!.!.!.!.!.!.!.",
+"%.*XC.D.L.U.!.!.!.U.!.!.U.!.!.U.U.U.U.U.",
+"%.*XL.`.|.&X*X*X*X*X*X*X*X*X*X*X*X*X*X*X",
+"%.1X|.>Xo X X X X X X X X X X X X X X "
+};
diff --git a/icewm-themes/Model/frameATR.xpm b/icewm-themes/Model/frameATR.xpm
new file mode 100644
index 00000000..3e9619ca
--- /dev/null
+++ b/icewm-themes/Model/frameATR.xpm
@@ -0,0 +1,265 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 237 2",
+" c #19385d",
+". c #003263",
+"X c #00376e",
+"o c #003870",
+"O c #173e69",
+"+ c #193f69",
+"@ c #243f5d",
+"# c #05407e",
+"$ c #05417e",
+"% c #06417e",
+"& c #06427e",
+"* c #26476b",
+"= c #28466b",
+"- c #2d5079",
+"; c #004283",
+": c #004e9b",
+"> c #174d8a",
+", c #1b4d80",
+"< c #005bb5",
+"1 c #005bb6",
+"2 c #005bb7",
+"3 c #1459a2",
+"4 c #195ca2",
+"5 c #1561b4",
+"6 c #1763b4",
+"7 c #1c66b4",
+"8 c #215080",
+"9 c #20538a",
+"0 c #236bb4",
+"q c #306eb3",
+"w c #3170b3",
+"e c #006ad3",
+"r c #1768c1",
+"t c #1d73d2",
+"y c #1f74d2",
+"u c #0075ea",
+"i c #236fc1",
+"p c #2871c7",
+"a c #2579d2",
+"s c #2f7ed2",
+"d c #3c7fc7",
+"f c #4272b0",
+"g c #4473b0",
+"h c #4e7cb0",
+"j c #2e81e4",
+"k c #3183e4",
+"l c #3885e2",
+"z c #3e8ae9",
+"x c #3b8eff",
+"c c #3b8fff",
+"v c #3c8fff",
+"b c #3b90ff",
+"n c #3c90ff",
+"m c #3c91ff",
+"M c #3d90ff",
+"N c #3d91ff",
+"B c #3e91ff",
+"V c #3f91ff",
+"C c #3c9dff",
+"Z c #5c83b0",
+"A c #4481d0",
+"S c #5f94d0",
+"D c #428ae2",
+"F c #408be4",
+"G c #418be4",
+"H c #418de4",
+"J c #408ee4",
+"K c #4890e9",
+"L c #4391f6",
+"P c #4092ff",
+"I c #4093ff",
+"U c #4192ff",
+"Y c #4193ff",
+"T c #4292ff",
+"R c #4293ff",
+"E c #4393ff",
+"W c #4294ff",
+"Q c #4394ff",
+"! c #4395ff",
+"~ c #4991f0",
+"^ c #4a91ff",
+"/ c #4a92ff",
+"( c #4a98ff",
+") c #4e9bff",
+"_ c #4f9cff",
+"` c #559ae4",
+"' c #599ce9",
+"] c #5b9fe9",
+"[ c #5093ff",
+"{ c #5094ff",
+"} c #549ef6",
+"| c #549fff",
+" . c #559fff",
+".. c #569fff",
+"X. c #599cf0",
+"o. c #5a9ef6",
+"O. c #5a9ff6",
+"+. c #5d9ef0",
+"@. c #56a0ff",
+"#. c #57a0ff",
+"$. c #5ba0f6",
+"%. c #5ca0f6",
+"&. c #5aa3ff",
+"*. c #5ca4ff",
+"=. c #6192d0",
+"-. c #6094d0",
+";. c #6095d0",
+":. c #6498d0",
+">. c #649adb",
+",. c #699fdb",
+"<. c #729ed0",
+"1. c #63a5f6",
+"2. c #60a6ff",
+"3. c #61a6ff",
+"4. c #61a7ff",
+"5. c #63a8ff",
+"6. c #64a9ff",
+"7. c #65aaff",
+"8. c #67a8ff",
+"9. c #67a9ff",
+"0. c #66aaff",
+"q. c #67abff",
+"w. c #68a8f0",
+"e. c #6aa8f0",
+"r. c #6babf0",
+"t. c #68acf6",
+"y. c #6dabf6",
+"u. c #68abff",
+"i. c #69abff",
+"p. c #6aaaff",
+"a. c #6aabff",
+"s. c #6cacff",
+"d. c #6db0ff",
+"f. c #6eb0ff",
+"g. c #6fb0ff",
+"h. c #6eb3ff",
+"j. c #71aef0",
+"k. c #76b0f0",
+"l. c #70b1ff",
+"z. c #71b1ff",
+"x. c #71b2ff",
+"c. c #72b2ff",
+"v. c #73b3ff",
+"b. c #73b6ff",
+"n. c #75b1ff",
+"m. c #74b4ff",
+"M. c #75b5ff",
+"N. c #75b7ff",
+"B. c #76b4ff",
+"V. c #74b9ff",
+"C. c #77b8ff",
+"Z. c #78b3ff",
+"A. c #79b4ff",
+"S. c #79b5ff",
+"D. c #7ab4ff",
+"F. c #7ab5ff",
+"G. c #7fb6ff",
+"H. c #78b8ff",
+"J. c #7ab9ff",
+"K. c #7bb9ff",
+"L. c #7abaff",
+"P. c #7cbaff",
+"I. c #7dbaff",
+"U. c #7dbbff",
+"Y. c #7fbcff",
+"T. c #82baff",
+"R. c #83bbff",
+"E. c #80bcff",
+"W. c #80bdff",
+"Q. c #84bbff",
+"!. c #87baff",
+"~. c #84bcff",
+"^. c #86bcff",
+"/. c #86bdff",
+"(. c #87bdff",
+"). c #89bdff",
+"_. c #8abdff",
+"`. c #88c2ff",
+"'. c #8ec3ff",
+"]. c #8fc2ff",
+"[. c #8cc4ff",
+"{. c #8cc6ff",
+"}. c #8fc6ff",
+"|. c #90c3ff",
+" X c #91c3ff",
+".X c #91c4ff",
+"XX c #90c6ff",
+"oX c #92c4ff",
+"OX c #92c6ff",
+"+X c #93c7ff",
+"@X c #94c6ff",
+"#X c #94c7ff",
+"$X c #96c5ff",
+"%X c #93c8ff",
+"&X c #94c8ff",
+"*X c #95c9ff",
+"=X c #96c9ff",
+"-X c #97caff",
+";X c #98caff",
+":X c #99cbff",
+">X c #9acaff",
+",X c #9acbff",
+"<X c #9bccff",
+"1X c #9ccbff",
+"2X c #9dcbff",
+"3X c #9ccdff",
+"4X c #9eceff",
+"5X c #9fceff",
+"6X c #9fcfff",
+"7X c #a1cbff",
+"8X c #a0ceff",
+"9X c #a0cfff",
+"0X c #a2cfff",
+"qX c #a1d0ff",
+"wX c #a3d0ff",
+"eX c #a3d1ff",
+"rX c #a6d1ff",
+"tX c #aad2ff",
+"yX c #abd5ff",
+"uX c #add7ff",
+"iX c #b0d6ff",
+"pX c #b7d6ff",
+"aX c #b3d9ff",
+"sX c #b8dcff",
+"dX c #c6e3ff",
+"fX c #cae4ff",
+"gX c #d5e7ff",
+"hX c #d2e8ff",
+"jX c #d2e9ff",
+"kX c #d3e9ff",
+"lX c #d4e9ff",
+"zX c #d5eaff",
+"xX c #d6ebff",
+"cX c #d7ebff",
+"vX c #d8ebff",
+"bX c #d9ecff",
+"nX c Gray100",
+/* pixels */
+"{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.C.C u ",
+"pXpXpXpXpXpXpXpXpXpXpXpXpXpXpXpXpXgXnX1 ",
+"/ / / / / / / / / / / / / / / / / Q.uX; ",
+"[ [ [ [ [ [ { / [ [ [ [ [ [ [ [ [ G.uXo ",
+"x b x x v v V V V V V V V V V V V 9.uXX ",
+"V V I I I I I I ! I ! I ! ! ! ! ! s.uXX ",
+"o.F F o.9.9.9.$.H H %.i.i.i.i.i.i.).uXX ",
+"j nXnXr z ( L t nXnXp ~ ) ) _ _ _ n.uXX ",
+"k nXnXnX5 l y nXnXnX> A | | | | #.A.uXX ",
+"1.i nXnXnX1 nXnXnX$ = =.Z.A.A.A.A.#XuXX ",
+"#.K 5 nXnXnXnXnX$ f X.4.4.4.4.5.Q.uXX ",
+"&.*.D 1 nXnXnX1 O g +.9.9.9.9.9.i.).uXX ",
+"A.y.s nXnXnXnXnX4 >.R.R.~.~.~.).~.7XuXX ",
+"} a nXnXnX1 nXnXnX7 ' f.f.f.z.z.z.|.uXX ",
+"H nXnXnX$ + 3 nXnXnXq e.z.z.m.m.m.#XuXX ",
+"` nXnX$ @ Z ,.0 nXnX8 <.].].|..X.XtXuXX ",
+"t.d 9 * h e.f.' w , - ;.H.H.H.P.P.,XuXX ",
+"Y.k.:.:.j.C.C.b.r.S ;.j.H.P.P.E.E.1XuXX ",
+"1X,X,X,X&X&X&X.X.X%X.X.X#X&X&X,X,XiXuXX ",
+"rXeXeX0X0X3X3X3X<X<X&X&X,X,X%X{.`.0XuXX ",
+"bXbXvXvXbXxXxXxXxXhXhXhXhXfXsX3X{.eXuXX ",
+". . . . . . . . . . . . o : e dXyXaXuXX "
+};
diff --git a/icewm-themes/Model/frameIB.xpm b/icewm-themes/Model/frameIB.xpm
new file mode 100644
index 00000000..1b7bdeb2
--- /dev/null
+++ b/icewm-themes/Model/frameIB.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 4 1",
+" c #003263",
+". c #d4eaff",
+"X c #d7ebff",
+"o c #eff8ff",
+/* pixels */
+"oooo",
+"....",
+"XX..",
+" "
+};
diff --git a/icewm-themes/Model/frameIBL.xpm b/icewm-themes/Model/frameIBL.xpm
new file mode 100644
index 00000000..743db166
--- /dev/null
+++ b/icewm-themes/Model/frameIBL.xpm
@@ -0,0 +1,69 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 41 1",
+" c #003263",
+". c #003264",
+"X c #00376e",
+"o c #003f7e",
+"O c #535253",
+"+ c #0050a0",
+"@ c #0058b0",
+"# c #006cd7",
+"$ c #0074e8",
+"% c #0079f2",
+"& c #3198ff",
+"* c #53a9ff",
+"= c #dfdfdf",
+"- c #d3e9ff",
+"; c #d3eaff",
+": c #d4eaff",
+"> c #d5eaff",
+", c #d5ebff",
+"< c #d6ebff",
+"1 c #d7ebff",
+"2 c #d8ebff",
+"3 c #d8ecff",
+"4 c #d9ecff",
+"5 c #dbedff",
+"6 c #dceeff",
+"7 c #ddeeff",
+"8 c #ddefff",
+"9 c #deefff",
+"0 c #e2f0ff",
+"q c #e7f3ff",
+"w c #e9f4ff",
+"e c #ebf5ff",
+"r c #ecf6ff",
+"t c #edf6ff",
+"y c #eff7ff",
+"u c #eff8ff",
+"i c Gray94",
+"p c AliceBlue",
+"a c #f1f8ff",
+"s c #f5faff",
+"d c Gray100",
+/* pixels */
+"*u6uX======i=======O",
+"*r:rX======i=======O",
+"*r-rX======i=======O",
+"*u5uX======i=======O",
+"*r-eX======i=======O",
+"*r:eX======i=======O",
+"*u6rX======i=======O",
+"*r:eX======i=======O",
+"*r:rX======i=======O",
+"*p6uX======i=======O",
+"*r:rX======i=======O",
+"*r:rX======i=======O",
+"*p6uX======i=======O",
+"*r:rX======i=======O",
+"*r:rX===============",
+"*p6po===============",
+"*r:e@===============",
+"*r-0$===============",
+"*p56qrpppuupupuryypu",
+"&s5:222:2:::::::::::",
+"%d2::2:22:22:2::2:2:",
+"#+. "
+};
diff --git a/icewm-themes/Model/frameIBR.xpm b/icewm-themes/Model/frameIBR.xpm
new file mode 100644
index 00000000..3786df8e
--- /dev/null
+++ b/icewm-themes/Model/frameIBR.xpm
@@ -0,0 +1,62 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 34 1",
+" c #002e5c",
+". c #00305f",
+"X c #003162",
+"o c #003263",
+"O c #003365",
+"+ c #00376e",
+"@ c #004e9c",
+"# c #a5dcff",
+"$ c #a7dcff",
+"% c #a9ddff",
+"& c #abddff",
+"* c #abdfff",
+"= c #addfff",
+"- c #bbdfff",
+"; c #bbe4ff",
+": c #bbe5ff",
+"> c #bde5ff",
+", c #dfdfdf",
+"< c #c3e7ff",
+"1 c #cdecff",
+"2 c #d3edff",
+"3 c #d5ebff",
+"4 c #d6ebff",
+"5 c #ddefff",
+"6 c #d9f1ff",
+"7 c #dbf1ff",
+"8 c #dff2ff",
+"9 c #dff4ff",
+"0 c #e1f1ff",
+"q c #e1f4ff",
+"w c #e9f5ff",
+"e c #edf6ff",
+"r c AliceBlue",
+"t c Gray100",
+/* pixels */
+",,,,,,,,,,,,,,,r55r+",
+",,,,,,,,,,,,,,,e44e+",
+",,,,,,,,,,,,,,,e44e+",
+",,,,,,,,,,,,,,,r55r+",
+",,,,,,,,,,,,,,,e44e+",
+",,,,,,,,,,,,,,,e44e+",
+",,,,,,,,,,,,,,,0--0+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,q;;q+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,q;;q+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,7==7+",
+",,,,,,,,,,,,,,,q;;q+",
+",,,,,,,,,,,,,,,2&=7+",
+",,,,,,,,,,,,,,,<$&7+",
+"&88888888889971;=;q+",
+"&&&&&&&&&&&&&$$$&>wO",
+"****&&&******&**&&t.",
+"ooooooooooooooooo. @"
+};
diff --git a/icewm-themes/Model/frameIL.xpm b/icewm-themes/Model/frameIL.xpm
new file mode 100644
index 00000000..bbfbde25
--- /dev/null
+++ b/icewm-themes/Model/frameIL.xpm
@@ -0,0 +1,16 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"5 3 7 1",
+" c #00376e",
+". c #53a9ff",
+"X c #d4eaff",
+"o c #dceeff",
+"O c #ebf5ff",
+"+ c #ecf6ff",
+"@ c #eff8ff",
+/* pixels */
+".OX+ ",
+".OX+ ",
+".@o@ "
+};
diff --git a/icewm-themes/Model/frameIR.xpm b/icewm-themes/Model/frameIR.xpm
new file mode 100644
index 00000000..a24c5a4c
--- /dev/null
+++ b/icewm-themes/Model/frameIR.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"5 3 6 1",
+" c #00376e",
+". c #d5ebff",
+"X c #d6ebff",
+"o c #ddefff",
+"O c #edf6ff",
+"+ c AliceBlue",
+/* pixels */
+"O..O ",
+"O..O ",
+"+oo+ "
+};
diff --git a/icewm-themes/Model/frameIT.xpm b/icewm-themes/Model/frameIT.xpm
new file mode 100644
index 00000000..13a154de
--- /dev/null
+++ b/icewm-themes/Model/frameIT.xpm
@@ -0,0 +1,16 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"4 4 6 1",
+" c #8cc6ff",
+". c #b9daff",
+"X c #b9dbff",
+"o c #c0dfff",
+"O c #c1dfff",
+"+ c #ddeeff",
+/* pixels */
+" ",
+"oooo",
+"++++",
+"XXXX"
+};
diff --git a/icewm-themes/Model/frameITL.xpm b/icewm-themes/Model/frameITL.xpm
new file mode 100644
index 00000000..8c3c5861
--- /dev/null
+++ b/icewm-themes/Model/frameITL.xpm
@@ -0,0 +1,122 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 94 2",
+" c #002d5a",
+". c #003060",
+"X c #003263",
+"o c #003971",
+"O c #144271",
+"+ c #1b4978",
+"@ c #294d71",
+"# c #3e5369",
+"$ c #425b77",
+"% c #3b6896",
+"& c #537290",
+"* c #4a82ba",
+"= c #638db8",
+"- c #7896b7",
+"; c #4d8ac9",
+": c #53a9ff",
+"> c #55aaff",
+", c #6395ce",
+"< c #7ea0c6",
+"1 c #65a3e5",
+"2 c #67a3e5",
+"3 c #63b1ff",
+"4 c #6ab5ff",
+"5 c #72aae5",
+"6 c #74aeec",
+"7 c #77afec",
+"8 c #79b0ec",
+"9 c #829bb7",
+"0 c #88add4",
+"q c #95b2d4",
+"w c #95bae3",
+"e c #90bdec",
+"r c #8ac5ff",
+"t c #8cc6ff",
+"y c #8fc7ff",
+"u c #9cc4ec",
+"i c #97c2f1",
+"p c #90c2f9",
+"a c #94c4f9",
+"s c #97c6f9",
+"d c #9dc6f1",
+"f c #9ec6f1",
+"g c #9fc7f1",
+"h c #9fccff",
+"j c #a0cdff",
+"k c #a1cdff",
+"l c #a2ceff",
+"z c #a3cfff",
+"x c #a4cfff",
+"c c #abccf1",
+"v c #a5d0ff",
+"b c #a6d0ff",
+"n c #a6d1ff",
+"m c #a7d1ff",
+"M c #a8d2ff",
+"N c #a9d2ff",
+"B c #aad3ff",
+"V c #aad4ff",
+"C c #abd4ff",
+"Z c #add4ff",
+"A c #aed4ff",
+"S c #b0d5ff",
+"D c #b1d6ff",
+"F c #b2d6ff",
+"G c #b2d7ff",
+"H c #b3d7ff",
+"J c #b4d8ff",
+"K c #b5d8ff",
+"L c #b6d8ff",
+"P c #b6d9ff",
+"I c #b7d9ff",
+"U c #b8daff",
+"Y c #b9daff",
+"T c #b9dbff",
+"R c #badcff",
+"E c #bcddff",
+"W c #bdddff",
+"Q c #beddff",
+"! c #bfddff",
+"~ c #bedeff",
+"^ c #bfdeff",
+"/ c #c0dfff",
+"( c #c1dfff",
+") c #c3e1ff",
+"_ c #c6e2ff",
+"` c #cae3ff",
+"' c #cbe4ff",
+"] c #cbe5ff",
+"[ c #cce5ff",
+"{ c #cce6ff",
+"} c #ddeeff",
+"| c #f7faff",
+" . c #f7fbff",
+".. c #f8fbff",
+/* pixels */
+"3 V y y y y r y y r y y y y y r y y y y ",
+"r { E E E E E E E E E E E E E E E / E E ",
+"4 ) } } } } } } } } } } } } } } } } } } ",
+"> ` F F F F A F F F F F J J J J J J J J ",
+": E l l l l l h h l l l l l l l x x v v ",
+"> E l l l l l l h h l l l l l l l l l x ",
+": ` J J F F F F F F F F F F F F F F F J ",
+": E v x l l l a 6 1 1 1 6 p l l l l l l ",
+"> E v v v x x 7 .. . . . ., i l h l l l ",
+"> { J J J J J 5 ..........% q F F F F A ",
+": E v v v v v 8 . . . . .@ < l l l l l ",
+": / M M v v v a ; . . .O $ 0 l l l l l ",
+": ' U U U U U J u * ..+ # 9 c J J J J J ",
+": / M M M M M M v e = & - d v v v v v v ",
+"> / M M M M M M M M d w d v v v v v v v ",
+": { U U U U U U U U U U U U U U J U U J ",
+": / M M M M M C M C M M M M M M M M M M ",
+": / V V A M C M M M M C C M M M C M M M ",
+": { R R R R R U U U U U U U U U U U U U ",
+": / A A F F F F F F F F F F F F H F F F ",
+"> / A F R E / / / / / / / / / / / / / / ",
+": { E _ o X X X X X X X X X X X X X X "
+};
diff --git a/icewm-themes/Model/frameITR.xpm b/icewm-themes/Model/frameITR.xpm
new file mode 100644
index 00000000..3c5e81e9
--- /dev/null
+++ b/icewm-themes/Model/frameITR.xpm
@@ -0,0 +1,163 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"20 22 135 2",
+" c #003263",
+". c #00376e",
+"X c #003870",
+"o c #0a437e",
+"O c #0a447e",
+"+ c #3a4b5d",
+"@ c #2f4d69",
+"# c #314d69",
+"$ c #43576b",
+"% c #495a6b",
+"& c #4e6479",
+"* c #004283",
+"= c #004e9b",
+"- c #005bb5",
+"; c #005bb6",
+": c #015bb7",
+"> c #305880",
+", c #325980",
+"< c #38618a",
+"1 c #3b638a",
+"2 c #2664a2",
+"3 c #2965a2",
+"4 c #3675b4",
+"5 c #3776b4",
+"6 c #3876b4",
+"7 c #006ad3",
+"8 c #0075ea",
+"9 c #3c9dff",
+"0 c #5784b3",
+"q c #5886b3",
+"w c #4281c1",
+"e c #4381c1",
+"r c #4c8fd2",
+"t c #5091d2",
+"y c #5191d2",
+"u c #6897c7",
+"i c #6e9ac7",
+"p c #7db1e4",
+"a c #74b9ff",
+"s c #8b9db0",
+"d c #90a0b0",
+"f c #91a1b0",
+"g c #92a1b0",
+"h c #83b3e4",
+"j c #84b4e4",
+"k c #85b5e4",
+"l c #8ab7e4",
+"z c #8bb8e4",
+"x c #91b9e2",
+"c c #96bbe2",
+"v c #a3bad0",
+"b c #a4bad0",
+"n c #a6bbd0",
+"m c #a6bcd0",
+"M c #a3bfdb",
+"N c #aebfd0",
+"B c #8cc6ff",
+"V c #a7c0db",
+"C c #aec0d0",
+"Z c #b3c2d0",
+"A c #a5c8e9",
+"S c #aacae9",
+"D c #b0cce9",
+"F c #b0d3f6",
+"G c #b2d4f6",
+"H c #bbd6f0",
+"J c #bcd7f0",
+"K c #bad9f6",
+"L c #bbd9f6",
+"P c #bed8f0",
+"I c #bed9f6",
+"U c #b9dbff",
+"Y c #c0d8f0",
+"T c #c2d9f0",
+"R c #c1dcf6",
+"E c #c2dcf6",
+"W c #c2ddf6",
+"Q c #c3ddf6",
+"! c #c5daf0",
+"~ c #c7dbf0",
+"^ c #c1dfff",
+"/ c #caddf0",
+"( c #c7e3ff",
+") c #c8e4ff",
+"_ c #c9e4ff",
+"` c #cbe5ff",
+"' c #cce6ff",
+"] c #cde6ff",
+"[ c #cde7ff",
+"{ c #cee7ff",
+"} c #cfe7ff",
+"| c #d0e8ff",
+" . c #d1e8ff",
+".. c #d2e9ff",
+"X. c #d3e9ff",
+"o. c #d4eaff",
+"O. c #d5eaff",
+"+. c #d5ebff",
+"@. c #d6ebff",
+"#. c #d7ebff",
+"$. c #d8ebff",
+"%. c #d8ecff",
+"&. c #d9ecff",
+"*. c #daedff",
+"=. c #dbedff",
+"-. c #dceeff",
+";. c #ddeeff",
+":. c #ddefff",
+">. c #deefff",
+",. c #dfefff",
+"<. c #e0efff",
+"1. c #e0f0ff",
+"2. c #e1f0ff",
+"3. c #e2f1ff",
+"4. c #e3f2ff",
+"5. c #e5f2ff",
+"6. c #e6f3ff",
+"7. c #e7f4ff",
+"8. c #e8f4ff",
+"9. c #e9f4ff",
+"0. c #ebf5ff",
+"q. c #ecf6ff",
+"w. c #edf6ff",
+"e. c #eef6ff",
+"r. c #eef7ff",
+"t. c #eff7ff",
+"y. c #f0f7ff",
+"u. c AliceBlue",
+"i. c #f1f8ff",
+"p. c #f2f8ff",
+"a. c #f3f9ff",
+"s. c #f4f9ff",
+"d. c #f4faff",
+"f. c #f7fbff",
+"g. c Gray100",
+/* pixels */
+"B B B B B B B B B B B B B B B B B a 9 8 ",
+"^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ s.g.; ",
+";.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.8.s.* ",
+"U U U U U U U U U U U U U U U U U 8.s.X ",
+"@.@.@.@.@.%.%.%.%.%.%.%.%.%.%.%.%.2.i.. ",
+"@.@.@.@.@.@.@.@.%.%.%.%.%.%.%.%.%.2.i.. ",
+"R l l R ;.;.;.R z z R ;.<.<.<.<.<.6.s.. ",
+"j g.g.w D @.L y g.g.i / @.$.%.%.%.2.i.. ",
+"h g.g.g.4 c y g.g.g.1 N @.@.@.@.@.<.i.. ",
+"I w g.g.g.; g.g.g.O % Z ;.;.;.;.;.6.s.. ",
+"} S 4 g.g.g.g.g.o + d ! ..@.@.@.@.;.i.. ",
+"` } x ; g.g.g.; # d ! ......@.@.@.;.i.. ",
+"..L y g.g.g.g.g.3 V %.%.%.%.%.%.%.2.s.. ",
+"F r g.g.g.; g.g.g.4 S } ..........;.y.. ",
+"p g.g.g.o @ 2 g.g.g.q T } } ......;.r.. ",
+"j g.g.o + d M 6 g.g., C @.@.$.%.%.2.i.. ",
+"G u 1 $ s J ( A 0 , & n } } } } } %.r.. ",
+"} T m n P ` ` ` H v n P ` ` ` } } %.r.. ",
+"@.@.@.@.@.@...............@.@.@.@.<.i.. ",
+"%.%.%.$.@.@.@.@.@.@.@...@.....} } $.r.. ",
+"r.r.r.r.r.r.r.r.r.r.r.r.8.8.2.@.} @.r.. ",
+" X = 7 6.%.;.i.. "
+};
diff --git a/icewm-themes/Model/maximizeA.xpm b/icewm-themes/Model/maximizeA.xpm
new file mode 100644
index 00000000..383145da
--- /dev/null
+++ b/icewm-themes/Model/maximizeA.xpm
@@ -0,0 +1,232 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 190 2",
+" c #003263",
+". c #133e6c",
+"X c #143f6c",
+"o c #10457b",
+"O c #315379",
+"+ c #064f99",
+"@ c #104b8b",
+"# c #1d5793",
+"$ c #005bb7",
+"% c #155eab",
+"& c #115fb2",
+"* c #1260b1",
+"= c #1260b3",
+"- c #1567bd",
+"; c #1a65bc",
+": c #214f82",
+"> c #28588a",
+", c #2264af",
+"< c #2b68a9",
+"1 c #2e72bc",
+"2 c #2f72bc",
+"3 c #3376bc",
+"4 c #3476bc",
+"5 c #3477bc",
+"6 c #206ac3",
+"7 c #206bc3",
+"8 c #2475cf",
+"9 c #2b74c7",
+"0 c #2c74c7",
+"q c #2c75d0",
+"w c #2b7edb",
+"e c #2c79d8",
+"r c #3378c7",
+"t c #357ac7",
+"y c #3178d2",
+"u c #317ddd",
+"i c #327ddd",
+"p c #3180db",
+"a c #3284e4",
+"s c #3083ea",
+"d c #3a86e1",
+"f c #3a87e2",
+"g c #3889ef",
+"h c #378bff",
+"j c #378cff",
+"k c #388cff",
+"l c #398cff",
+"z c #398dff",
+"x c #3b8dff",
+"c c #3a8eff",
+"v c #3b8eff",
+"b c #3c8dff",
+"n c #3c8eff",
+"m c #3c8fff",
+"M c #3d8fff",
+"N c #3e8fff",
+"B c #3d90ff",
+"V c #4182c7",
+"C c #4282c7",
+"Z c #4684c7",
+"A c #4785c7",
+"S c #4985c7",
+"D c #4a87c7",
+"F c #4583d0",
+"G c #498bd6",
+"H c #4a8cd6",
+"J c #4b8ad9",
+"K c #4c8cda",
+"L c #508bc8",
+"P c #558ec9",
+"I c #5b88c0",
+"U c #518ad0",
+"Y c #5392d5",
+"T c #5691d0",
+"R c #5591de",
+"E c #428ce9",
+"W c #438de9",
+"Q c #438ef6",
+"! c #418ef8",
+"~ c #418ef9",
+"^ c #428ff9",
+"/ c #4691e4",
+"( c #4d94e4",
+") c #4e97ed",
+"_ c #4590f6",
+"` c #4090fc",
+"' c #4393ff",
+"] c #4492ff",
+"[ c #4493ff",
+"{ c #4594ff",
+"} c #4694ff",
+"| c #4695ff",
+" . c #4c94f0",
+".. c #4e96f1",
+"X. c #4f96f1",
+"o. c #4893f9",
+"O. c #4895ff",
+"+. c #4896ff",
+"@. c #4a97ff",
+"#. c #4b97ff",
+"$. c #4b98ff",
+"%. c #5a9ce4",
+"&. c #509cff",
+"*. c #529dff",
+"=. c #539dff",
+"-. c #539eff",
+";. c #56a0ff",
+":. c #57a1ff",
+">. c #5fa1f6",
+",. c #5fa1fc",
+"<. c #5fa2fc",
+"1. c #6691c0",
+"2. c #6791c0",
+"3. c #6792c0",
+"4. c #6599cf",
+"5. c #679acf",
+"6. c #6892c0",
+"7. c #6799d0",
+"8. c #6b9dd0",
+"9. c #6f9dd0",
+"0. c #719ed0",
+"q. c #759ed0",
+"w. c #619be0",
+"e. c #6ca1da",
+"r. c #6faae9",
+"t. c #62a4ff",
+"y. c #62a5ff",
+"u. c #63a5ff",
+"i. c #63a6ff",
+"p. c #64a6ff",
+"a. c #62a9ff",
+"s. c #63a9ff",
+"d. c #64aaff",
+"f. c #66abff",
+"g. c #67abff",
+"h. c #67acff",
+"j. c #6bafff",
+"k. c #6cabff",
+"l. c #6cacff",
+"z. c #6dacff",
+"x. c #6eacff",
+"c. c #6eadff",
+"v. c #6fadff",
+"b. c #6cb0ff",
+"n. c #6fb1ff",
+"m. c #72ace9",
+"M. c #71b0f6",
+"N. c #7eb5f0",
+"B. c #78b4ff",
+"V. c #79b4ff",
+"C. c #7bb6ff",
+"Z. c #7bbaff",
+"A. c #7dbbff",
+"S. c #7ebbff",
+"D. c #82b7f0",
+"F. c #81bcff",
+"G. c #81bdff",
+"H. c #83bfff",
+"J. c #85bfff",
+"K. c #85c0ff",
+"L. c #89c1ff",
+"P. c #89c2ff",
+"I. c #8cc2ff",
+"U. c #8dc2ff",
+"Y. c #8ec3ff",
+"T. c #90c3ff",
+"R. c #90c4ff",
+"E. c #a0ceff",
+"W. c #a1ceff",
+"Q. c #a2cfff",
+"!. c #a3cfff",
+"~. c #a3d0ff",
+"^. c #a4d0ff",
+"/. c #a5d0ff",
+"(. c #a5d1ff",
+"). c #a6d0ff",
+"_. c #a6d1ff",
+"`. c #aad3ff",
+"'. c #aad4ff",
+"]. c #abd4ff",
+"[. c #acd5ff",
+"{. c #add5ff",
+"}. c #aed5ff",
+"|. c #aed6ff",
+" X c #dbedff",
+".X c #dcedff",
+"XX c #dceeff",
+"oX c #ddeeff",
+"OX c #fafcfe",
+"+X c Gray100",
+/* pixels */
+"k j h h h h h k k k k k k k k k k k ",
+"k k b k b k k b b b b b b b b b B B ",
+"u.u.u.u.u.,.X.f p f ..,.u.u.u.p.p.p.",
+"[ [ [ [ ` s Y +X+X+XT e ! { { { { { ",
+"O.O.O.O.g e.OX+X+X+XOX4.y o.O.O.$.$.",
+"k.k.l.>.8 +X+X+X+X+X+X+X% R l.l.l.v.",
+"&.&.&.a +X+X+X+X+X+X+X+X+X, .&.-.-.",
+";.;.;.w +X+X+X+X+X+X+X+X+X@ F ;.;.:.",
+"C.C.C.( +X+X+X+X+X+X+X+X+X. I C.C.C.",
+"f.f.h.) - $ $ $ $ $ $ $ + : U s.s.s.",
+"n.n.n./ +X+X+X+X+X+X+X+X+X< w.n.j.j.",
+"R.R.R.%.+X+X+X+X+X+X+X+X+X> q.Y.Y.P.",
+"G.G.G.M.C # o o o o o o X O 7.S.S.Z.",
+"P.P.P.P.D.0.6.3.3.3.3.3.3.9.N.K.J.G.",
+"/././././././././././.~./.!.!.!.!.!.",
+"|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.'.'.`.",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X",
+" ",
+"k k h h h h h k k k k k k k k k k k ",
+"b k b k b b k k b B b b b b b b b B ",
+"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.p.p.p.",
+"[ [ [ [ ` [ ! i 7 ; 7 i _ { { { { { ",
+"O.O.O.O.O.Q q L +X+X+XP q _ O.O.$.$.",
+"k.k.l.k.k.J 8.OX+X+X+XOX5.K l.l.l.v.",
+"&.&.&.&.E & +X+X+X+X+X+X+X* E &.-.-.",
+";.;.;.;.0 +X+X+X+X+X+X+X+X+X9 ;.;.:.",
+"C.C.C.C.1 +X+X+X+X+X+X+X+X+X1 C.C.C.",
+"f.f.h.f.t +X+X+X+X+X+X+X+X+Xr f.s.s.",
+"n.n.n.n.H * $ $ $ $ $ $ $ * G n.j.j.",
+"R.R.R.T.S +X+X+X+X+X+X+X+X+XS Y.Y.Y.",
+"G.G.G.G.C +X+X+X+X+X+X+X+X+XC S.S.Z.",
+"P.P.P.P.m.Z 4 4 4 4 4 4 3 Z r.K.J.G.",
+"/././././././././././.~./.!.!.!.!.!.",
+"|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.'.'.`.",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
+" "
+};
diff --git a/icewm-themes/Model/maximizeI.xpm b/icewm-themes/Model/maximizeI.xpm
new file mode 100644
index 00000000..968cc26e
--- /dev/null
+++ b/icewm-themes/Model/maximizeI.xpm
@@ -0,0 +1,156 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 114 2",
+" c #003263",
+". c #1a4a7b",
+"X c #21466c",
+"o c #506579",
+"O c #0d5299",
+"+ c #005bb7",
+"@ c #26588b",
+"# c #2e6193",
+"$ c #3b638a",
+"% c #296aab",
+"& c #2169b1",
+"* c #2c6fb2",
+"= c #2d6fb3",
+"- c #2a74bd",
+"; c #436382",
+": c #507ca9",
+"> c #4e85bc",
+", c #4f85bc",
+"< c #5481af",
+"1 c #5085bc",
+"2 c #5086bc",
+"3 c #468acf",
+"4 c #5a91c8",
+"5 c #5e93c9",
+"6 c #6092c3",
+"7 c #6192c3",
+"8 c #6697c7",
+"9 c #6897c7",
+"0 c #6898c7",
+"q c #6b98c7",
+"w c #6c99c7",
+"e c #6e9ac7",
+"r c #6e9bc7",
+"t c #6d9ecf",
+"y c #649ad0",
+"u c #659dd5",
+"i c #64a0db",
+"p c #6ca4db",
+"a c #71a0d0",
+"s c #7ca6d0",
+"d c #78a9da",
+"f c #7fb0e1",
+"g c #7db1e4",
+"h c #87afd6",
+"j c #84aed8",
+"k c #89aed2",
+"l c #88afd6",
+"z c #9eafc0",
+"x c #9fafc0",
+"c c #93b6d9",
+"v c #94b7da",
+"b c #95b9dd",
+"n c #96b9dd",
+"m c #80b1e2",
+"M c #81b3e4",
+"N c #85b5e4",
+"B c #88b5e4",
+"V c #92beea",
+"C c #a3bad0",
+"Z c #a5bbd0",
+"A c #aabdd0",
+"S c #acbed0",
+"D c #9ac4ed",
+"F c #9ec7ef",
+"G c #a6c2de",
+"H c #afc0d0",
+"J c #a5c8e9",
+"K c #a7c9e9",
+"L c #adcbe9",
+"P c #afcbe9",
+"I c #adcff1",
+"U c #aecff1",
+"Y c #b3cae0",
+"T c #b8d7f6",
+"R c #bad9f6",
+"E c #bed8f0",
+"W c #bedbf6",
+"Q c #bfdbf6",
+"! c #c5daf0",
+"~ c #c7dbf0",
+"^ c #c1ddf8",
+"/ c #c4def9",
+"( c #c4e0fc",
+") c #c8e1f9",
+"_ c #c8e4ff",
+"` c #c9e4ff",
+"' c #cae5ff",
+"] c #cbe5ff",
+"[ c #cce6ff",
+"{ c #cde6ff",
+"} c #cee7ff",
+"| c #cfe7ff",
+" . c #d0e6fc",
+".. c #d0e7fc",
+"X. c #d0e8ff",
+"o. c #d1e8ff",
+"O. c #d2e9ff",
+"+. c #d3e9ff",
+"@. c #d4eaff",
+"#. c #d5eaff",
+"$. c #d5ebff",
+"%. c #d6ebff",
+"&. c #d8ebff",
+"*. c #d8ecff",
+"=. c #d9ecff",
+"-. c #daedff",
+";. c #dbedff",
+":. c #dceeff",
+">. c #ddefff",
+",. c #deefff",
+"<. c AliceBlue",
+"1. c #f1f8ff",
+"2. c #fafcfe",
+"3. c Gray100",
+/* pixels */
+"O.O.O.O.O.O.O.O.O.O.O.O.O.@.@.@.@.@.",
+"O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.",
+"&.&.&.&.&. .U m p f U .;.;.;.;.;.;.",
+"} } } } ( V u 3.3.3.y j ^ } } } O.O.",
+"} } } } F d 2.3.3.3.2.t k ) } } } } ",
+"O.@.O.R 3 3.3.3.3.3.3.3.% G @.@.@.@.",
+"_ _ _ g 3.3.3.3.3.3.3.3.3.< E _ _ _ ",
+"_ _ _ i 3.3.3.3.3.3.3.3.3.@ C _ _ _ ",
+"@.O.@.N 3.3.3.3.3.3.3.3.3.X z O.O.O.",
+"} } } D - + + + + + + + O ; Z _ _ _ ",
+"} } } M 3.3.3.3.3.3.3.3.3.: Y } _ } ",
+"&.&.&.B 3.3.3.3.3.3.3.3.3.$ H @.@.@.",
+"O.O.O.T q # . . . . . . X o A } .} ",
+"O.O.O.O.~ S x x z z z z z A ~ O.O.O.",
+":.:.:.:.:.:.:.:.:.:.:.:.:.;.;.;.;.;.",
+":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.",
+"<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.",
+" ",
+"O.O.O.O.O.O.O.O.O.O.O.O.O.@.@.@.@.@.",
+"O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.",
+"&.&.&.&.&.&.&.;.;.;.*.*.;.;.;.;.;.;.",
+"} } } } } } / b 6 , 5 b / } } } O.O.",
+"} } } } } Q s 4 3.3.3.5 s Q } } } } ",
+"O.@.@.O.@.c a 2.3.3.3.2.t v @.@.@.@.",
+"_ _ _ _ K = 3.3.3.3.3.3.3.= K _ } _ ",
+"_ _ _ _ 8 3.3.3.3.3.3.3.3.3.8 _ _ _ ",
+"@.O.@.O.2 3.3.3.3.3.3.3.3.3., O.O.O.",
+"} } } } q 3.3.3.3.3.3.3.3.3.9 _ _ _ ",
+"} } } } l & + + + + + + + & h } _ } ",
+"&.&.&.&.e 3.3.3.3.3.3.3.3.3.e @.@.@.",
+"O.O.O.O.q 3.3.3.3.3.3.3.3.3.q } } } ",
+"O.O.O.O.L e 2 , , , , , , q L O.O.O.",
+":.:.:.:.:.:.:.:.:.:.:.:.:.:.;.;.;.;.",
+":.:.:.:.,.:.,.,.,.,.,.,.:.:.:.:.:.:.",
+"<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.",
+" "
+};
diff --git a/icewm-themes/Model/menuButtonA.xpm b/icewm-themes/Model/menuButtonA.xpm
new file mode 100644
index 00000000..0f21679e
--- /dev/null
+++ b/icewm-themes/Model/menuButtonA.xpm
@@ -0,0 +1,77 @@
+/* XPM */
+static char * menuButtonA_xpm[] = {
+"22 36 38 1",
+" c None",
+". c #2677FF",
+"+ c #2A7AFF",
+"@ c #2C7CFF",
+"# c #5596FF",
+"$ c #3583FF",
+"% c #3281FF",
+"& c #3B88FF",
+"* c #3A87FF",
+"= c #3684FF",
+"- c #63A1FF",
+"; c #5E9DFF",
+"> c #4893FF",
+", c #4792FF",
+"' c #428DFF",
+") c #4E97FF",
+"! c #74AEFF",
+"~ c #73AEFF",
+"{ c #70ABFF",
+"] c #6FABFF",
+"^ c #5AA1FF",
+"/ c #5A9FFF",
+"( c #569DFF",
+"_ c #61A4FF",
+": c #5DA2FF",
+"< c #82B8FF",
+"[ c #7FB7FF",
+"} c #6EAEFF",
+"| c #69ABFF",
+"1 c #72B0FF",
+"2 c #6FB0FF",
+"3 c #90C2FF",
+"4 c #8EC2FF",
+"5 c #8BC1FF",
+"6 c #ACD4FF",
+"7 c #B1D6FF",
+"8 c #002D5A",
+"9 c #003263",
+"..++++++++++++++++++++",
+"+++@@@@@@@@@@@@+@@@@@@",
+"######################",
+"$$%%%%%%%%%%%%%%%%%%%%",
+"&*$============$======",
+"--;;;;;;;;;;;;;;;;;;;;",
+">,''''''''''''''''''''",
+"))>>>>>>>'''>>,>>>>>>>",
+"!~{]]]]]]]]]]]]]]]]]]]",
+"^/((((((((((((((((((((",
+"__::::::::::::::::::::",
+"<<[[[[[[[[[[[[[[[[[[[[",
+"}}||||||||||||||||||||",
+"11~12222122122}~122122",
+"3344444444444444444444",
+"5455555555555555555555",
+"6777777777777777777777",
+"8999999999999999999999",
+"..++++++++++++++++++++",
+"+++@@@@@@@@@@@@+@@@@@@",
+"######################",
+"$$%%%%%%%%%%%%%%%%%%%%",
+"&*$============$======",
+"--;;;;;;;;;;;;;;;;;;;;",
+">,''''''''''''''''''''",
+"))>>>>>>>>>>>>,>>>>>>>",
+"!~{]]]]]]]]]]]]]]]]]]]",
+"^/((((((((((((((((((((",
+"__::::::::::::::::::::",
+"<<[[[[[[[[[[[[[[[[[[[[",
+"}}||||||||||||||||||||",
+"11~12222122122}~122122",
+"3344444444444444444444",
+"5455555555555555555555",
+"6777777777777777777777",
+"8999999999999999999999"};
diff --git a/icewm-themes/Model/menuButtonI.xpm b/icewm-themes/Model/menuButtonI.xpm
new file mode 100644
index 00000000..e4936dfc
--- /dev/null
+++ b/icewm-themes/Model/menuButtonI.xpm
@@ -0,0 +1,52 @@
+/* XPM */
+static char * menuButtonI_xpm[] = {
+"22 36 13 1",
+" c None",
+". c #A3CFFF",
+"+ c #A4CFFF",
+"@ c #A5D0FF",
+"# c #B3D7FF",
+"$ c #B4D8FF",
+"% c #9FCCFF",
+"& c #A0CDFF",
+"* c #AAD3FF",
+"= c #A9D2FF",
+"- c #B8DAFF",
+"; c #C1DFFF",
+"> c #003263",
+".+.+@@+@@@.++@@@.++@+@",
+"....+@..+@....+@....++",
+"####$$########$$######",
+"..........%.....%.....",
+"%%.....%.&%%%.%..%.%..",
+"###**####*####*####*#*",
+"....%................&",
+"......................",
+"#$$$$$$$$$$$$$$$$$$$$$",
+"+@@@@+@@@+@@@@@+@@@@@+",
+"@@@@=@@@@@@@@@@@@@@@@@",
+"-$-$$$$$$$--$-$$--$-$$",
+"======================",
+"======================",
+"----------------------",
+"######################",
+";;;;;;;;;;;;;;;;;;;;;;",
+">>>>>>>>>>>>>>>>>>>>>>",
+".++@.+.+@@.++@@@.++@@@",
+"........+@....++.....+",
+"########$$############",
+"....%.................",
+"%%%%%%%...%%%%..%%.%..",
+"########*######*####*#",
+"......................",
+"......................",
+"$$$$$$##$$$$#$$$$$$$#$",
+"@@@@@@++@+@@+@@+@@@@@+",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"--$$-$--$$-$$-$$-$--$$",
+"======================",
+"======================",
+"----------------------",
+"######################",
+";;;;;;;;;;;;;;;;;;;;;;",
+">>>>>>>>>>>>>>>>>>>>>>"};
diff --git a/icewm-themes/Model/minimizeA.xpm b/icewm-themes/Model/minimizeA.xpm
new file mode 100644
index 00000000..375aaaff
--- /dev/null
+++ b/icewm-themes/Model/minimizeA.xpm
@@ -0,0 +1,119 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 77 1",
+" c #003263",
+". c #143f6c",
+"X c #17416c",
+"o c #10457b",
+"O c #325479",
+"+ c #195493",
+"@ c #1d5793",
+"# c #276ebc",
+"$ c #276fbc",
+"% c #3476bc",
+"& c #3477bc",
+"* c #3677bc",
+"= c #3678bc",
+"- c #347ac7",
+"; c #357ac7",
+": c #397cc7",
+"> c #3886db",
+", c #3e89db",
+"< c #378bff",
+"1 c #378cff",
+"2 c #388bff",
+"3 c #388cff",
+"4 c #3b8dff",
+"5 c #3b8eff",
+"6 c #3c8dff",
+"7 c #3c8eff",
+"8 c #4283c7",
+"9 c #4684c7",
+"0 c #4685c7",
+"q c #5b90d0",
+"w c #418de4",
+"e c #4d94e4",
+"r c #4392ff",
+"t c #4393ff",
+"y c #4492ff",
+"u c #4493ff",
+"i c #4895ff",
+"p c #4896ff",
+"a c #5498e9",
+"s c #5598e9",
+"d c #5a9de4",
+"f c #509bff",
+"g c #509cff",
+"h c #55a0ff",
+"j c #56a0ff",
+"k c #6791c0",
+"l c #6792c0",
+"z c #6c94c0",
+"x c #699ad0",
+"c c #709dd0",
+"v c #709ed0",
+"b c #60a1f0",
+"n c #62a4ff",
+"m c #62a5ff",
+"M c #66abff",
+"N c #67abff",
+"B c #66acff",
+"V c #67acff",
+"C c #6cabf6",
+"Z c #6cabff",
+"A c #6cacff",
+"S c #6fb1ff",
+"D c #71ace9",
+"F c #71b1f6",
+"G c #7bb6ff",
+"H c #81b7f0",
+"J c #81bcff",
+"K c #81bdff",
+"L c #89c1ff",
+"P c #89c2ff",
+"I c #90c4ff",
+"U c #a4d0ff",
+"Y c #a5d0ff",
+"T c #aed5ff",
+"R c #aed6ff",
+"E c #ddeeff",
+"W c Gray100",
+/* pixels */
+"<<1<12<22<<2<<22<4",
+"774444444444444474",
+"nnnnnnnnnnnnnnnnnn",
+"utuuuuuuuuuutuutuu",
+"iiiiiiiiiiiiiiiiii",
+"ZZZZAZZZZZZZZZZZZZ",
+"ggggggfggggfgggggg",
+"jjjjjjjjjjjjjjjjjj",
+"GGGCe,,,,,,,eCGGGG",
+"BNBwWWWWWWWWW-bNBN",
+"SSS>WWWWWWWWW+qSSS",
+"IIIdWWWWWWWWWXzIII",
+"KKKF8@oooooo.OxKKK",
+"PPPPHckkkkkkkcHPPP",
+"UUUUUUUUUUUUUUUUUU",
+"RRRRRRRRRRRRRRRRRR",
+"EEEEEEEEEEEEEEEEEE",
+" ",
+"<<1<12<22<<2<<22<4",
+"774444444444444474",
+"nnnnnnnnnnnnnnnnnn",
+"utuuuuuuuuuutuutuu",
+"iiiiiiiiiiiiiiiiii",
+"ZZZZAZZZZZZZZZZZZZ",
+"ggggggfggggfgggggg",
+"jjjjjjjjjjjjjjjjjj",
+"GGGGGGGGGGGGGGGGGG",
+"BNBNa-$$$$$$$-aNBN",
+"SSSS:WWWWWWWWW:SSS",
+"IIII&WWWWWWWWW=III",
+"KKKK8WWWWWWWWW8KKK",
+"PPPPD0&&&&&&&0DPPP",
+"UUUUUUUUUUUUUUUUUU",
+"RRRRRRRRRRRRRRRRRR",
+"EEEEEEEEEEEEEEEEEE",
+" "
+};
diff --git a/icewm-themes/Model/minimizeI.xpm b/icewm-themes/Model/minimizeI.xpm
new file mode 100644
index 00000000..4c51ddd7
--- /dev/null
+++ b/icewm-themes/Model/minimizeI.xpm
@@ -0,0 +1,83 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 41 1",
+" c #003263",
+". c #1a4a7b",
+"X c #21466c",
+"o c #22476c",
+"O c #516579",
+"+ c #2d6093",
+"@ c #2e6193",
+"# c #4d84bc",
+"$ c #4f85bc",
+"% c #5286bc",
+"& c #6898c7",
+"* c #6998c7",
+"= c #6b98c7",
+"- c #6b99c7",
+"; c #67a1db",
+": c #6aa3db",
+"> c #9eafc0",
+", c #80b2e4",
+"< c #85b5e4",
+"1 c #88b5e4",
+"2 c #a3b1c0",
+"3 c #a8bcd0",
+"4 c #aabdd0",
+"5 c #abbed0",
+"6 c #a9c9e9",
+"7 c #aecbe9",
+"8 c #b8d7f6",
+"9 c #bad9f6",
+"0 c #c0d8f0",
+"q c #c6dbf0",
+"w c #c8e4ff",
+"e c #cce6ff",
+"r c #cee7ff",
+"t c #d1e8ff",
+"y c #d2e9ff",
+"u c #d4eaff",
+"i c #d8ebff",
+"p c #dceeff",
+"a c #deefff",
+"s c #f1f8ff",
+"d c Gray100",
+/* pixels */
+"yyyyyyyyyyyyyyyyyy",
+"yyyyyyyyyyyyyyyyyy",
+"iiiiiiiiiiiiiiiiii",
+"rrrrrrrrrrrrrrrrrr",
+"rrrrrrrerrerrrrrrr",
+"yuyyuuuyuyyuyuyyuy",
+"ewwwwwewwwwwewwwew",
+"wwwwwwwwwwwwwwweww",
+"yyu9<:::::::<9yuuy",
+"rrr,ddddddddd=0rre",
+"rrr;ddddddddd@5rrr",
+"iii1dddddddddo2iii",
+"yyy8=@......oO5yyy",
+"yyyyq5>>>>>>>5quyy",
+"pppppppppppppppppp",
+"ppppppppppppppaapp",
+"ssssssssssssssssss",
+" ",
+"yyyyyyyyyyyyyyyyyy",
+"yyyyyyyyyyyyyyyyyy",
+"iiiiuiiiiiiiuiiiii",
+"rrrrrrrrrrrrrrrrrr",
+"rrrrrrrrrrrrrrrrrr",
+"yuuyuuyuyuuyuuyyuu",
+"ewwwwwwwwwwwwwwwww",
+"wwwewwwwwewwwwwewe",
+"yyuyuyyuyuuuyyuuyu",
+"rrrr6&$$$$$$$=6rrr",
+"rrrr=ddddddddd=rrr",
+"iiii%ddddddddd%iui",
+"yyyy=ddddddddd=yyy",
+"yyyy7=$$$$$$$=7yyy",
+"pppppppppppppppppp",
+"ppppppppaaaappaaap",
+"ssssssssssssssssss",
+" "
+};
diff --git a/icewm-themes/Model/restoreA.xpm b/icewm-themes/Model/restoreA.xpm
new file mode 100644
index 00000000..a23121e2
--- /dev/null
+++ b/icewm-themes/Model/restoreA.xpm
@@ -0,0 +1,166 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 124 2",
+" c #173a5f",
+". c #18385d",
+"X c #003263",
+"o c #133f6c",
+"O c #02407f",
+"+ c #134171",
+"@ c #22446b",
+"# c #23456a",
+"$ c #074f99",
+"% c #164d87",
+"& c #144b8a",
+"* c #135093",
+"= c #005bb7",
+"- c #0d5db1",
+"; c #1f5fa9",
+": c #1667bd",
+"> c #1864b2",
+", c #1964b3",
+"< c #1965bc",
+"1 c #1a65bc",
+"2 c #1c6bbf",
+"3 c #234f82",
+"4 c #2e67a5",
+"5 c #2f72bc",
+"6 c #3477bc",
+"7 c #236dc7",
+"8 c #256ec7",
+"9 c #2c74c7",
+"0 c #2b7edb",
+"q c #3579c7",
+"w c #357ac7",
+"e c #3779c7",
+"r c #357ed6",
+"t c #3b7ad0",
+"y c #2b7ee4",
+"u c #2d7fe4",
+"i c #496f98",
+"p c #4f7095",
+"a c #4a76aa",
+"s c #3180db",
+"d c #3284e4",
+"f c #3884e9",
+"g c #3d89e4",
+"h c #378bff",
+"j c #378cff",
+"k c #388bff",
+"l c #388cff",
+"z c #3b8dff",
+"x c #3b8eff",
+"c c #3c8dff",
+"v c #3c8eff",
+"b c #5083b7",
+"n c #4080c3",
+"m c #4180c3",
+"M c #4683d0",
+"N c #4e8dd0",
+"B c #558dc7",
+"V c #548dc8",
+"C c #5d89c0",
+"Z c #548cd0",
+"A c #588bd0",
+"S c #5991c9",
+"D c #5894d3",
+"F c #5b96d6",
+"G c #4689e0",
+"H c #408af0",
+"J c #4d94e4",
+"K c #4492ff",
+"L c #4493ff",
+"P c #4895ff",
+"I c #4896ff",
+"U c #5196e3",
+"Y c #5197ed",
+"T c #5b9ee9",
+"R c #569cf6",
+"E c #509cff",
+"W c #55a0ff",
+"Q c #56a0ff",
+"! c #5aa2f6",
+"~ c #6291c2",
+"^ c #6792c0",
+"/ c #699bcf",
+"( c #6d9acb",
+") c #639bd9",
+"_ c #639edd",
+"` c #659cda",
+"' c #649fdd",
+"] c #6d9ed0",
+"[ c #6d9fd3",
+"{ c #6ea1da",
+"} c #62a4ff",
+"| c #62a5ff",
+" . c #66abff",
+".. c #67abff",
+"X. c #66acff",
+"o. c #67acff",
+"O. c #68a7f0",
+"+. c #6cabff",
+"@. c #6cacff",
+"#. c #6fb1ff",
+"$. c #7cafe6",
+"%. c #70b1ff",
+"&. c #78b4f6",
+"*. c #78b5f6",
+"=. c #7ab6f7",
+"-. c #7bb6ff",
+";. c #7eb8f9",
+":. c #81aee3",
+">. c #82bbf9",
+",. c #81bcff",
+"<. c #81bdff",
+"1. c #87bffb",
+"2. c #89bffc",
+"3. c #89c1ff",
+"4. c #89c2ff",
+"5. c #90c3ff",
+"6. c #90c4ff",
+"7. c #a4d0ff",
+"8. c #a5d0ff",
+"9. c #aed5ff",
+"0. c #aed6ff",
+"q. c #ddeeff",
+"w. c #fafcfe",
+"e. c Gray100",
+/* pixels */
+"h h h h x k h k k h k j h k k h h h ",
+"x x x x c c c x x x x x x x x x x c ",
+"} } } R g s s s s s s s g R } } } } ",
+"K K K y e.e.e.e.e.e.e.e.e.7 H K K K ",
+"I I I u e.e.e.e.e.e.e.e.e.& t I I I ",
+"+.@.+.Y : = = = = = = = $ 3 A +.+.+.",
+"E E E d e.e.e.e.e.e.e.e.e.; G E E E ",
+"Q Q Q 0 e.e.e.e.e.e.e.e.e.* M Q Q Q ",
+"-.-.-.J e.e.e.e.e.e.e.e.e.o C -.-.-.",
+"X. . .! 2 e.e.e.e.e.e.e.O # Z X. .X.",
+"%.#.#.%.U [ w.e.e.e.w.~ . a O.#.#.#.",
+"6.6.6.5.2.F B e.e.e.b p :.5.5.5.6.",
+",.,.,.,.,.=.D 4 % + # i { ;.,.,.,.,.",
+"4.4.4.4.4.4.1.$.( ^ ( $.1.4.4.4.4.4.",
+"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
+"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.",
+"q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.",
+"X X X X X X X X X X X X X X X X X X ",
+"h h h h x k h k k h k j h k k h h h ",
+"x x x x c c c x x x x x x x x x x c ",
+"} } } } } } } } } } } } } } } } } } ",
+"K K K K f 7 1 1 1 1 1 1 1 7 f K K K ",
+"I I I I 8 e.e.e.e.e.e.e.e.e.8 I I I ",
+"+.@.+.+.w e.e.e.e.e.e.e.e.e.w +.+.+.",
+"E E E E r - = = = = = = = - r E E E ",
+"Q Q Q Q 9 e.e.e.e.e.e.e.e.e.9 Q Q Q ",
+"-.-.-.-.5 e.e.e.e.e.e.e.e.e.5 -.-.-.",
+"X. . .X.w e.e.e.e.e.e.e.e.e.w X. .X.",
+"%.#.#.%.T , e.e.e.e.e.e.e., T #.#.#.",
+"6.6.6.5.6.) [ w.e.e.e.w./ ` 5.5.5.6.",
+",.,.,.,.,.=.N B e.e.e.S N =.,.,.,.,.",
+"4.4.4.4.4.4.>.' n 6 n _ >.4.4.4.4.4.",
+"8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
+"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.",
+"q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.",
+"X X X X X X X X X X X X X X X X X X "
+};
diff --git a/icewm-themes/Model/restoreI.xpm b/icewm-themes/Model/restoreI.xpm
new file mode 100644
index 00000000..874eac84
--- /dev/null
+++ b/icewm-themes/Model/restoreI.xpm
@@ -0,0 +1,132 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"18 36 90 1",
+" c #003263",
+". c #04417f",
+"X c #1f4871",
+"o c #23415f",
+"O c #2b445d",
+"+ c #21476c",
+"@ c #39516a",
+"# c #44576b",
+"$ c #0e5399",
+"% c #005bb7",
+"& c #245587",
+"* c #2c6093",
+"= c #38618a",
+"- c #2068b1",
+"; c #2d6fb2",
+": c #2e70b3",
+"> c #2c74bd",
+", c #377bbf",
+"< c #466482",
+"1 c #4a77a5",
+"2 c #4e7ca9",
+"3 c #4e85bc",
+"4 c #4f85bc",
+"5 c #5083b7",
+"6 c #5086bc",
+"7 c #778595",
+"8 c #788798",
+"9 c #5a90c7",
+"0 c #5b91c8",
+"q c #5f93c9",
+"w c #6291c2",
+"e c #6292c3",
+"r c #6393c3",
+"t c #6697c7",
+"y c #6898c7",
+"u c #6998c7",
+"i c #6d9ac7",
+"p c #6d9ecf",
+"a c #64a0db",
+"s c #6ca3db",
+"d c #71a1d0",
+"f c #72a2d3",
+"g c #7fa7d0",
+"h c #7db1e4",
+"j c #899aaa",
+"k c #85add6",
+"l c #88afd6",
+"z c #9eafc0",
+"x c #90b1d3",
+"c c #95b7d9",
+"v c #97b8da",
+"b c #97badd",
+"n c #98bbdd",
+"m c #80b2e4",
+"M c #81b3e4",
+"N c #85b5e4",
+"B c #88b5e4",
+"V c #97bde3",
+"C c #a0b0c0",
+"Z c #a7b9cb",
+"A c #a3bad0",
+"S c #a6bcd0",
+"D c #adbfd0",
+"F c #b3c6da",
+"G c #a0c7ed",
+"H c #aacae9",
+"J c #b0c8e0",
+"K c #bdd2e6",
+"L c #b3d5f6",
+"P c #bed9f6",
+"I c #c0d1e3",
+"U c #c2d9f0",
+"Y c #c2ddf6",
+"T c #c5def7",
+"R c #c8e0f9",
+"E c #c8e4ff",
+"W c #cce3f9",
+"Q c #cfe5fb",
+"! c #cce6ff",
+"~ c #cee4fc",
+"^ c #cee7ff",
+"/ c #d1e8ff",
+"( c #d2e9ff",
+") c #d4eaff",
+"_ c #d8ebff",
+"` c #dceeff",
+"' c #deefff",
+"] c #f1f8ff",
+"[ c #fafcfe",
+"{ c Gray100",
+/* pixels */
+"((((((((((((((((((",
+"((((((((((((((((((",
+"___PBsssssssBP____",
+"^^^M{{{{{{{{{uU^^^",
+"^^^M{{{{{{{{{=S^^^",
+"())G>%%%%%%%$<D))(",
+"EEEh{{{{{{{{{2JEEE",
+"EEEa{{{{{{{{{*AEEE",
+")()N{{{{{{{{{+C)))",
+"^^^L,{{{{{{{.#S^^^",
+"^^^^Vf[{{{[wOjU^^^",
+"____^l9{{{5o7I____",
+"(((((Tx1&X@8FW((((",
+"((((((QKZzZKQ)()((",
+"``````````````````",
+"``````````````''``",
+"]]]]]]]]]]]]]]]]]]",
+" ",
+"((((((((((((((((((",
+"((((((((((((((((((",
+"__________________",
+"^^^^Hu4444444uH^^^",
+"^^^^u{{{{{{{{{u^^^",
+"())(i{{{{{{{{{i)))",
+"EEEEk-%%%%%%%-kEEE",
+"EEEEt{{{{{{{{{tEEE",
+")()(6{{{{{{{{{6)))",
+"^^^^u{{{{{{{{{u^^^",
+"^^^^H;{{{{{{{:H^^^",
+"_____cf[{{{[pv__)_",
+"(((((Yg0{{{qgY((((",
+"((((((Rnw4wbR(((((",
+"``````````````````",
+"````````''''``'''`",
+"]]]]]]]]]]]]]]]]]]",
+" "
+};
diff --git a/icewm-themes/Model/titleAB.xpm b/icewm-themes/Model/titleAB.xpm
new file mode 100644
index 00000000..5c4ecfb1
--- /dev/null
+++ b/icewm-themes/Model/titleAB.xpm
@@ -0,0 +1,49 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 25 1",
+" c #003263",
+". c #378bff",
+"X c #3b8dff",
+"o c #3c8eff",
+"O c #4492ff",
+"+ c #4493ff",
+"@ c #4895ff",
+"# c #4896ff",
+"$ c #509cff",
+"% c #56a0ff",
+"& c #62a4ff",
+"* c #62a5ff",
+"= c #67abff",
+"- c #67acff",
+"; c #6cabff",
+": c #6fb1ff",
+"> c #7bb6ff",
+", c #81bcff",
+"< c #81bdff",
+"1 c #89c1ff",
+"2 c #89c2ff",
+"3 c #90c4ff",
+"4 c #a5d0ff",
+"5 c #aed5ff",
+"6 c #ddeeff",
+/* pixels */
+"..",
+"Xo",
+"**",
+"++",
+"##",
+";;",
+"$$",
+"%%",
+">>",
+"-=",
+"::",
+"33",
+",,",
+"22",
+"44",
+"55",
+"66",
+" "
+};
diff --git a/icewm-themes/Model/titleAL.xpm b/icewm-themes/Model/titleAL.xpm
new file mode 100644
index 00000000..618b36da
--- /dev/null
+++ b/icewm-themes/Model/titleAL.xpm
@@ -0,0 +1,49 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 25 1",
+" c #003263",
+". c #2c7dff",
+"X c #2d7dff",
+"o c #2f80ff",
+"O c #3080ff",
+"+ c #3684ff",
+"@ c #3a86ff",
+"# c #3a87ff",
+"$ c #408cff",
+"% c #4590ff",
+"& c #529bff",
+"* c #5899ff",
+"= c #599fff",
+"- c #609fff",
+"; c #67a9ff",
+": c #67aaff",
+"> c #6ba8ff",
+", c #6eafff",
+"< c #7db4ff",
+"1 c #7db5ff",
+"2 c #8bc0ff",
+"3 c #8bc1ff",
+"4 c #8cc0ff",
+"5 c #8dc0ff",
+"6 c #b1d6ff",
+/* pixels */
+"..",
+"oO",
+"**",
+"++",
+"@@",
+"--",
+"$$",
+"%%",
+">>",
+"&&",
+"==",
+"11",
+";;",
+",,",
+"55",
+"33",
+"66",
+" "
+};
diff --git a/icewm-themes/Model/titleAM.xpm b/icewm-themes/Model/titleAM.xpm
new file mode 100644
index 00000000..075b3e24
--- /dev/null
+++ b/icewm-themes/Model/titleAM.xpm
@@ -0,0 +1,84 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"24 18 60 1",
+" c #003263",
+". c #2c7dff",
+"X c #2d7dff",
+"o c #2f7fff",
+"O c #307fff",
+"+ c #2f80ff",
+"@ c #3080ff",
+"# c #3683ff",
+"$ c #3684ff",
+"% c #378bff",
+"& c #3a86ff",
+"* c #3a87ff",
+"= c #388bff",
+"- c #3b8dff",
+"; c #3b8eff",
+": c #3c8eff",
+"> c #408cff",
+", c #4490ff",
+"< c #4590ff",
+"1 c #4493ff",
+"2 c #4895ff",
+"3 c #4896ff",
+"4 c #529aff",
+"5 c #529bff",
+"6 c #509cff",
+"7 c #5899ff",
+"8 c #599fff",
+"9 c #56a0ff",
+"0 c #609fff",
+"q c #60a0ff",
+"w c #62a4ff",
+"e c #62a5ff",
+"r c #67a9ff",
+"t c #66abff",
+"y c #67aaff",
+"u c #67abff",
+"i c #67acff",
+"p c #6ba8ff",
+"a c #6cabff",
+"s c #6eafff",
+"d c #6fb1ff",
+"f c #7bb6ff",
+"g c #7db4ff",
+"h c #7db5ff",
+"j c #81bcff",
+"k c #81bdff",
+"l c #89c1ff",
+"z c #89c2ff",
+"x c #8bc0ff",
+"c c #8bc1ff",
+"v c #8cc0ff",
+"b c #8dc0ff",
+"n c #90c3ff",
+"m c #90c4ff",
+"M c #a4d0ff",
+"N c #a5d0ff",
+"B c #aed5ff",
+"V c #aed6ff",
+"C c #b1d6ff",
+"Z c #ddeeff",
+/* pixels */
+"......%......=...%....%.",
+"+@++++:+O+.++-+@O-O@++-+",
+"777777e777777e777e7777e7",
+"$$$#$$<$##$$$<$##<$$$$<$",
+"&&&&&&3&&&&&&3&&&3&&&&3&",
+"00q000a000000a000a0q00a0",
+">>>>>>6>>>>>>6>>>6>>>>6>",
+"<<<<<<9<<<<<<9<<<9<<<<9<",
+"ppppppfppppppfpppfppppfp",
+"555555i555555t555t5555t5",
+"888888d888888d888d8888d8",
+"hhhhhhnhhhhhhmhhhnhghhnh",
+"ttttptkttttttktttkttttkt",
+"sssssszsssssszssszsssszs",
+"vvvvvvNvknvvvNvvvNvvknNv",
+"vzvzzvBvvvvzvBzzvBvvvvBz",
+"CCCCCCZCCCCCCZCCCZCCCCZC",
+" "
+};
diff --git a/icewm-themes/Model/titleAT.xpm b/icewm-themes/Model/titleAT.xpm
new file mode 100644
index 00000000..afe537bb
--- /dev/null
+++ b/icewm-themes/Model/titleAT.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 29 1",
+" c #003263",
+". c #297aff",
+"X c #2a7aff",
+"o c #2c7cff",
+"O c #2c7dff",
+"+ c #3281ff",
+"@ c #3684ff",
+"# c #428dff",
+"$ c #428eff",
+"% c #4892ff",
+"& c #4993ff",
+"* c #5595ff",
+"= c #5596ff",
+"- c #569dff",
+"; c #569eff",
+": c #5e9dff",
+"> c #5ca2ff",
+", c #5ea2ff",
+"< c #69abff",
+"1 c #6aabff",
+"2 c #6eaaff",
+"3 c #6fabff",
+"4 c #6fb0ff",
+"5 c #70b0ff",
+"6 c #7fb7ff",
+"7 c #8bc0ff",
+"8 c #8ec1ff",
+"9 c #8fc1ff",
+"0 c #b1d6ff",
+/* pixels */
+"..",
+"oo",
+"==",
+"++",
+"@@",
+"::",
+"$$",
+"&&",
+"22",
+";;",
+",,",
+"66",
+"11",
+"54",
+"88",
+"77",
+"00",
+" "
+};
diff --git a/icewm-themes/Model/titleIB.xpm b/icewm-themes/Model/titleIB.xpm
new file mode 100644
index 00000000..41a8540e
--- /dev/null
+++ b/icewm-themes/Model/titleIB.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 11 1",
+" c #003263",
+". c #c8e4ff",
+"X c #cce6ff",
+"o c #cee7ff",
+"O c #d1e8ff",
+"+ c #d2e9ff",
+"@ c #d4eaff",
+"# c #d8ebff",
+"$ c #dceeff",
+"% c #deefff",
+"& c #f1f8ff",
+/* pixels */
+"++",
+"++",
+"##",
+"oo",
+"oo",
+"@+",
+"..",
+"..",
+"@@",
+"oo",
+"oo",
+"##",
+"++",
+"++",
+"%%",
+"%%",
+"&&",
+" "
+};
diff --git a/icewm-themes/Model/titleIL.xpm b/icewm-themes/Model/titleIL.xpm
new file mode 100644
index 00000000..cccb3d54
--- /dev/null
+++ b/icewm-themes/Model/titleIL.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 11 1",
+" c #003263",
+". c #a0cdff",
+"X c #a3cfff",
+"o c #a5d0ff",
+"O c #a7d1ff",
+"+ c #a8d2ff",
+"@ c #b2d7ff",
+"# c #b3d7ff",
+"$ c #b6d8ff",
+"% c #b9dbff",
+"& c #c1dfff",
+/* pixels */
+"++",
+"OO",
+"$$",
+"OO",
+"XX",
+"##",
+"X.",
+"..",
+"##",
+"XX",
+"OO",
+"$$",
+"OO",
+"OO",
+"%%",
+"##",
+"&&",
+" "
+};
diff --git a/icewm-themes/Model/titleIM.xpm b/icewm-themes/Model/titleIM.xpm
new file mode 100644
index 00000000..29012c7a
--- /dev/null
+++ b/icewm-themes/Model/titleIM.xpm
@@ -0,0 +1,45 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"24 18 21 1",
+" c #003263",
+". c #a0cdff",
+"X c #a3cfff",
+"o c #a5d0ff",
+"O c #a7d1ff",
+"+ c #a8d2ff",
+"@ c #b2d7ff",
+"# c #b3d7ff",
+"$ c #b6d8ff",
+"% c #b9dbff",
+"& c #c1dfff",
+"* c #c8e4ff",
+"= c #cce6ff",
+"- c #cee7ff",
+"; c #d1e8ff",
+": c #d2e9ff",
+"> c #d4eaff",
+", c #d8ebff",
+"< c #dceeff",
+"1 c #deefff",
+"2 c #f1f8ff",
+/* pixels */
+"++++++:+++OOO:+++:++++:+",
+"OOOOOO:OOOOOO:OOO:OOOO:O",
+"$$$$$$,$$$$$$,$$$,$$$$>$",
+"OOOOOO=XOOOOO=OOO=OOOO=O",
+"XXXXXX=XXXXXX=XXX=XXXX=X",
+"@@@@@@>@@@@@@>@@@:@@@@>@",
+"X...X.*.XX...*XX.*..XX*X",
+"....X.*......*...*....*X",
+"@@@@@@>@@@@@@>@@@>@@@@>@",
+"XXXXXX=XXXXXX=XXX=XXXX=X",
+"OOOOOO=OXOOOO=OOO=OOOO=O",
+"$$$$$$,$$$$$$,$$$>$$$$,$",
+"OOOOOO:OOOOOO:OOO:OOOO:O",
+"++++++:++++++:+++:++++:+",
+"%%%%%%1%%%%%%1%%%1%%%%1%",
+"@@@@@@1@@@@@@1@@@1@@@@1@",
+"&&&&&&2&&&&&&2&&&2&&&&2&",
+" "
+};
diff --git a/icewm-themes/Model/titleIT.xpm b/icewm-themes/Model/titleIT.xpm
new file mode 100644
index 00000000..cccb3d54
--- /dev/null
+++ b/icewm-themes/Model/titleIT.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"2 18 11 1",
+" c #003263",
+". c #a0cdff",
+"X c #a3cfff",
+"o c #a5d0ff",
+"O c #a7d1ff",
+"+ c #a8d2ff",
+"@ c #b2d7ff",
+"# c #b3d7ff",
+"$ c #b6d8ff",
+"% c #b9dbff",
+"& c #c1dfff",
+/* pixels */
+"++",
+"OO",
+"$$",
+"OO",
+"XX",
+"##",
+"X.",
+"..",
+"##",
+"XX",
+"OO",
+"$$",
+"OO",
+"OO",
+"%%",
+"##",
+"&&",
+" "
+};
diff --git a/kdeartwork.lsm b/kdeartwork.lsm
new file mode 100644
index 00000000..5999d019
--- /dev/null
+++ b/kdeartwork.lsm
@@ -0,0 +1,11 @@
+Begin4
+Title: kdeartwork
+Version: 3.5.10
+Entered-date: 2008-08-26
+Description: Artwork for the K Desktop Environment (KDE)
+Keywords: KDE X11 desktop Qt
+Author: http://bugs.kde.org/ (KDE Bugtracking System)
+Primary-site: http://www.kde.org/download/
+Platforms: Unix, Qt
+Copying-policy: GPL, Artistic
+End
diff --git a/kscreensaver/Makefile.am b/kscreensaver/Makefile.am
new file mode 100644
index 00000000..f374ce3b
--- /dev/null
+++ b/kscreensaver/Makefile.am
@@ -0,0 +1,14 @@
+if include_XSCREENSAVER
+KXSCONFIG_SUBDIR = kxsconfig
+endif
+
+if COMPILE_X11_KSAVERS
+XSAVERS_SUBDIR = xsavers
+endif
+
+SUBDIRS = kdesavers kpartsaver $(KXSCONFIG_SUBDIR) $(XSAVERS_SUBDIR)
+
+messages:
+ $(EXTRACTRC) kdesavers/*.ui > rc.cpp
+ $(XGETTEXT) kdesavers/*.cpp kdesavers/*.h xsavers/*.cpp xsavers/*.h rc.cpp -o $(podir)/klock.pot
+ rm -f rc.cpp
diff --git a/kscreensaver/configure.in.bot b/kscreensaver/configure.in.bot
new file mode 100644
index 00000000..8d4e595b
--- /dev/null
+++ b/kscreensaver/configure.in.bot
@@ -0,0 +1,17 @@
+if test x$have_gl = xno; then
+ echo ""
+ echo "You are missing"
+ if test "$ac_cv_header_GL_gl_h" = "no"; then
+ echo " - OpenGL (mesa)"
+ fi
+ if test "$ac_cv_header_GL_glu_h" = "no"; then
+ echo " - GLU"
+ fi
+ if test "$ac_cv_header_GL_glut_h" = "no"; then
+ echo " - GLUT"
+ fi
+ echo "OpenGL support has been disabled."
+ echo "Some of the screensavers wont be compiled."
+ echo ""
+ all_tests=bad
+fi
diff --git a/kscreensaver/configure.in.in b/kscreensaver/configure.in.in
new file mode 100644
index 00000000..d748182f
--- /dev/null
+++ b/kscreensaver/configure.in.in
@@ -0,0 +1,86 @@
+
+AC_MSG_CHECKING(for Qt with OpenGL support)
+AC_CACHE_VAL(ac_cv_kde_qt_has_opengl,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ save_CXXFLAGS="$CXXFLAGS"
+ save_LIBS="$LIBS"
+ save_LDFLAGS="$LDFLAGS"
+
+ CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+ LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+ LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
+
+ AC_TRY_LINK([
+ #include <qgl.h>
+ ],
+ [
+ (void)new QGLWidget((QWidget*)0, "qgl");
+ ],
+ ac_cv_kde_qt_has_opengl=yes,
+ ac_cv_kde_qt_has_opengl=no)
+
+ CXXFLAGS="$save_CXXFLAGS"
+ LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"
+ AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_kde_qt_has_opengl)
+
+AC_HAVE_GL( have_gl=yes, have_gl=no )
+
+AM_CONDITIONAL(COMPILE_GL_XSAVERS, test x$have_gl = xyes)
+AM_CONDITIONAL(COMPILE_GL_KSAVERS, test x$have_gl = xyes && test x$ac_cv_kde_qt_has_opengl = xyes)
+AM_CONDITIONAL(COMPILE_X11_KSAVERS, test "x$ac_x_includes" != x && test "x$ac_x_libraries" != x)
+AM_CONDITIONAL(COMPILE_ARTS_KSAVERS, test x$build_arts = xyes)
+AM_CONDITIONAL(COMPILE_ARTS_GL_KSAVERS, test x$have_gl = xyes && test x$ac_cv_kde_qt_has_opengl = xyes && test x$build_arts = xyes)
+
+AC_ARG_WITH(libart,
+ [AC_HELP_STRING(--with-libart,
+ [enable support for libart @<:@default=check@:>@])],
+ [], with_libart=check)
+
+LIBART=
+if test "x$with_libart" != xno; then
+ KDE_FIND_PATH(libart2-config, LIBART_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [
+ AC_MSG_WARN([Could not find libart anywhere, check http://www.levien.com/libart/])
+ ])
+
+ if test -n "$LIBART_CONFIG"; then
+ vers=`$LIBART_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ if test -n "$vers" && test "$vers" -ge 2003008; then
+ LIBART_LIBS="`$LIBART_CONFIG --libs`"
+ LIBART_RPATH=
+ for args in $LIBART_LIBS; do
+ case $args in
+ -L*)
+ LIBART_RPATH="$LIBART_RPATH $args"
+ ;;
+ esac
+ done
+ LIBART_RPATH=`echo $LIBART_RPATH | sed -e "s/-L/-R/g"`
+ LIBART_CFLAGS="`$LIBART_CONFIG --cflags`"
+ LIBART=yes
+
+ AC_DEFINE_UNQUOTED(HAVE_LIBART, 1, [Defines if your system has the libart library])
+ else
+ AC_MSG_WARN([You need at least libart 2.3.8])
+ fi
+ fi
+
+ if test "x$with_libart" != xcheck && test -z "$LIBART"; then
+ AC_MSG_ERROR([--with-libart was given, but test for libart failed])
+ fi
+fi
+
+AC_SUBST(LIBART_LIBS)
+AC_SUBST(LIBART_CFLAGS)
+AC_SUBST(LIBART_RPATH)
+AM_CONDITIONAL(COMPILE_LIBART_KSAVERS, test -n "$LIBART")
+
+
+AC_CHECK_FUNCS(gettimeofday)
+
+AC_HAVE_DPMS()
diff --git a/kscreensaver/kdesavers/Euphoria.cpp b/kscreensaver/kdesavers/Euphoria.cpp
new file mode 100644
index 00000000..740e957c
--- /dev/null
+++ b/kscreensaver/kdesavers/Euphoria.cpp
@@ -0,0 +1,1084 @@
+//============================================================================
+//
+// Terence Welsh Screensaver - Euphoria
+// http://www.reallyslick.com/
+//
+// Ported to KDE by Karl Robillard
+//
+/*
+ * Copyright (C) 2002 Terence M. Welsh
+ *
+ * Euphoria is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Euphoria is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+//============================================================================
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+#include <qtimer.h>
+#include "Euphoria.h"
+#include "Euphoria.moc"
+#include "EuphoriaTexture.h"
+
+
+#define NUMCONSTS 9
+#define PIx2 6.28318530718f
+
+
+//----------------------------------------------------------------------------
+
+
+#include <sys/time.h>
+#include <unistd.h>
+
+
+// Returns the system time, in seconds.
+double timeGetTime()
+{
+ struct timeval tp;
+ gettimeofday( &tp, 0 );
+ return (double)tp.tv_sec + (double)tp.tv_usec / 1000000;
+}
+
+
+//----------------------------------------------------------------------------
+
+
+class rsVec
+{
+public:
+
+ float v[3];
+
+ rsVec() {}
+ rsVec(float xx, float yy, float zz);
+
+ void set(float xx, float yy, float zz);
+ float normalize();
+ float dot(rsVec);
+ void cross(rsVec, rsVec);
+
+ float & operator [] (int i) {return v[i];}
+ const float & operator [] (int i) const {return v[i];}
+ rsVec & operator = (const rsVec &vec)
+ {v[0]=vec[0];v[1]=vec[1];v[2]=vec[2];return *this;};
+ rsVec operator + (const rsVec &vec)
+ {return(rsVec(v[0]+vec[0], v[1]+vec[1], v[2]+vec[2]));};
+ rsVec operator - (const rsVec &vec)
+ {return(rsVec(v[0]-vec[0], v[1]-vec[1], v[2]-vec[2]));};
+ rsVec operator * (const float &mul)
+ {return(rsVec(v[0]*mul, v[1]*mul, v[2]*mul));};
+ rsVec operator / (const float &div)
+ {float rec = 1.0f/div; return(rsVec(v[0]*rec, v[1]*rec, v[2]*rec));};
+ rsVec & operator += (const rsVec &vec)
+ {v[0]+=vec[0];v[1]+=vec[1];v[2]+=vec[2];return *this;};
+ rsVec & operator -= (const rsVec &vec)
+ {v[0]-=vec[0];v[1]-=vec[1];v[2]-=vec[2];return *this;};
+ rsVec & operator *= (const rsVec &vec)
+ {v[0]*=vec[0];v[1]*=vec[1];v[2]*=vec[2];return *this;};
+ rsVec & operator *= (const float &mul)
+ {v[0]*=mul;v[1]*=mul;v[2]*=mul;return *this;};
+};
+
+
+rsVec::rsVec(float xx, float yy, float zz){
+ v[0] = xx;
+ v[1] = yy;
+ v[2] = zz;
+}
+
+
+void rsVec::set(float xx, float yy, float zz){
+ v[0] = xx;
+ v[1] = yy;
+ v[2] = zz;
+}
+
+
+float rsVec::normalize(){
+ float length = float(sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]));
+ if(length == 0.0f){
+ v[1] = 1.0f;
+ return(0.0f);
+ }
+ float reciprocal = 1.0f / length;
+ v[0] *= reciprocal;
+ v[1] *= reciprocal;
+ v[2] *= reciprocal;
+ // Really freakin' stupid compiler bug fix for VC++ 5.0
+ /*v[0] /= length;
+ v[1] /= length;
+ v[2] /= length;*/
+ return(length);
+}
+
+
+float rsVec::dot(rsVec vec1){
+ return(v[0] * vec1[0] + v[1] * vec1[1] + v[2] * vec1[2]);
+}
+
+
+void rsVec::cross(rsVec vec1, rsVec vec2){
+ v[0] = vec1[1] * vec2[2] - vec2[1] * vec1[2];
+ v[1] = vec1[2] * vec2[0] - vec2[2] * vec1[0];
+ v[2] = vec1[0] * vec2[1] - vec2[0] * vec1[1];
+}
+
+
+//----------------------------------------------------------------------------
+
+
+void hsl2rgb(float h, float s, float l, float &r, float &g, float &b)
+{
+ // hue influence
+ if(h < 0.166667){ // full red, some green
+ r = 1.0;
+ g = h * 6.0f;
+ b = 0.0;
+ }
+ else {
+ if(h < 0.5){ // full green
+ g = 1.0;
+ if(h < 0.333333){ // some red
+ r = 1.0f - ((h - 0.166667f) * 6.0f);
+ b = 0.0;
+ }
+ else{ // some blue
+ b = (h - 0.333333f) * 6.0f;
+ r = 0.0;
+ }
+ }
+ else{
+ if(h < 0.833333){ // full blue
+ b = 1.0;
+ if(h < 0.666667){ // some green
+ g = 1.0f - ((h - 0.5f) * 6.0f);
+ r = 0.0;
+ }
+ else{ // some red
+ r = (h - 0.666667f) * 6.0f;
+ g = 0.0;
+ }
+ }
+ else{ // full red, some blue
+ r = 1.0;
+ b = 1.0f - ((h - 0.833333f) * 6.0f);
+ g = 0.0;
+ }
+ }
+ }
+
+ // saturation influence
+ r = 1.0f - (s * (1.0f - r));
+ g = 1.0f - (s * (1.0f - g));
+ b = 1.0f - (s * (1.0f - b));
+
+ // luminosity influence
+ r *= l;
+ g *= l;
+ b *= l;
+}
+
+
+// Useful random number macros
+// Don't forget to initialize with srand()
+inline int myRandi(int x){
+ return((rand() * x) / RAND_MAX);
+}
+inline float myRandf(float x){
+ return(float(rand() * x) / float(RAND_MAX));
+}
+
+
+//----------------------------------------------------------------------------
+
+
+// Context pointer to allow many instances.
+static EuphoriaWidget* _ec = 0;
+
+
+class wisp
+{
+public:
+
+ wisp();
+ ~wisp();
+ void update();
+ void draw();
+ void drawAsBackground();
+
+
+ int density;
+ float*** vertices;
+ float c[NUMCONSTS]; // constants
+ float cr[NUMCONSTS]; // constants' radial position
+ float cv[NUMCONSTS]; // constants' change velocities
+ float hsl[3];
+ float rgb[3];
+ float hueSpeed;
+ float saturationSpeed;
+};
+
+
+wisp::wisp()
+{
+ int i, j;
+ float recHalfDens = 1.0f / (float(_ec->dDensity) * 0.5f);
+
+ density = _ec->dDensity;
+ vertices = new float**[density+1];
+ for(i=0; i<=density; i++)
+ {
+ vertices[i] = new float*[density+1];
+ for(j=0; j<=density; j++)
+ {
+ vertices[i][j] = new float[7];
+ vertices[i][j][3] = float(i) * recHalfDens - 1.0f; // x position on grid
+ vertices[i][j][4] = float(j) * recHalfDens - 1.0f; // y position on grid
+ // distance squared from the center
+ vertices[i][j][5] = vertices[i][j][3] * vertices[i][j][3]
+ + vertices[i][j][4] * vertices[i][j][4];
+ vertices[i][j][6] = 0.0f; // intensity
+ }
+ }
+
+ // initialize constants
+ for(i=0; i<NUMCONSTS; i++)
+ {
+ c[i] = myRandf(2.0f) - 1.0f;
+ cr[i] = myRandf(PIx2);
+ cv[i] = myRandf(_ec->dSpeed * 0.03f) + (_ec->dSpeed * 0.001f);
+ }
+
+ // pick color
+ hsl[0] = myRandf(1.0f);
+ hsl[1] = 0.1f + myRandf(0.9f);
+ hsl[2] = 1.0f;
+ hueSpeed = myRandf(0.1f) - 0.05f;
+ saturationSpeed = myRandf(0.04f) + 0.001f;
+}
+
+
+wisp::~wisp()
+{
+ int i, j;
+
+ for(i=0; i<=density; i++)
+ {
+ for(j=0; j<=density; j++)
+ {
+ delete[] vertices[i][j];
+ }
+ delete[] vertices[i];
+ }
+ delete[] vertices;
+}
+
+
+void wisp::update()
+{
+ int i, j;
+ rsVec up, right, crossvec;
+ // visibility constants
+ static float viscon1 = float(_ec->dVisibility) * 0.01f;
+ static float viscon2 = 1.0f / viscon1;
+
+ // update constants
+ for(i=0; i<NUMCONSTS; i++){
+ cr[i] += cv[i] * _ec->elapsedTime;
+ if(cr[i] > PIx2)
+ cr[i] -= PIx2;
+ c[i] = cos(cr[i]);
+ }
+
+ // update vertex positions
+ for(i=0; i<=density; i++){
+ for(j=0; j<=density; j++){
+ vertices[i][j][0] = vertices[i][j][3] * vertices[i][j][3] * vertices[i][j][4] * c[0]
+ + vertices[i][j][5] * c[1] + 0.5f * c[2];
+ vertices[i][j][1] = vertices[i][j][4] * vertices[i][j][4] * vertices[i][j][5] * c[3]
+ + vertices[i][j][3] * c[4] + 0.5f * c[5];
+ vertices[i][j][2] = vertices[i][j][5] * vertices[i][j][5] * vertices[i][j][3] * c[6]
+ + vertices[i][j][4] * c[7] + c[8];
+ }
+ }
+
+ // update vertex normals for most of mesh
+ for(i=1; i<density; i++){
+ for(j=1; j<density; j++){
+ up.set(vertices[i][j+1][0] - vertices[i][j-1][0],
+ vertices[i][j+1][1] - vertices[i][j-1][1],
+ vertices[i][j+1][2] - vertices[i][j-1][2]);
+ right.set(vertices[i+1][j][0] - vertices[i-1][j][0],
+ vertices[i+1][j][1] - vertices[i-1][j][1],
+ vertices[i+1][j][2] - vertices[i-1][j][2]);
+ up.normalize();
+ right.normalize();
+ crossvec.cross(right, up);
+ // Use depth component of normal to compute intensity
+ // This way only edges of wisp are bright
+ if(crossvec[2] < 0.0f)
+ crossvec[2] *= -1.0f;
+ vertices[i][j][6] = viscon2 * (viscon1 - crossvec[2]);
+ if(vertices[i][j][6] > 1.0f)
+ vertices[i][j][6] = 1.0f;
+ if(vertices[i][j][6] < 0.0f)
+ vertices[i][j][6] = 0.0f;
+ }
+ }
+
+ // update color
+ hsl[0] += hueSpeed * _ec->elapsedTime;
+ if(hsl[0] < 0.0f)
+ hsl[0] += 1.0f;
+ if(hsl[0] > 1.0f)
+ hsl[0] -= 1.0f;
+ hsl[1] += saturationSpeed * _ec->elapsedTime;
+ if(hsl[1] <= 0.1f){
+ hsl[1] = 0.1f;
+ saturationSpeed = -saturationSpeed;
+ }
+ if(hsl[1] >= 1.0f){
+ hsl[1] = 1.0f;
+ saturationSpeed = -saturationSpeed;
+ }
+ hsl2rgb(hsl[0], hsl[1], hsl[2], rgb[0], rgb[1], rgb[2]);
+}
+
+
+void wisp::draw()
+{
+ int i, j;
+
+ glPushMatrix();
+
+ if(_ec->dWireframe)
+ {
+ for(i=1; i<density; i++){
+ glBegin(GL_LINE_STRIP);
+ for(j=0; j<=density; j++){
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3fv(vertices[i][j]);
+ }
+ glEnd();
+ }
+ for(j=1; j<density; j++){
+ glBegin(GL_LINE_STRIP);
+ for(i=0; i<=density; i++){
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3fv(vertices[i][j]);
+ }
+ glEnd();
+ }
+ }
+ else
+ {
+ for(i=0; i<density; i++){
+ glBegin(GL_TRIANGLE_STRIP);
+ for(j=0; j<=density; j++){
+ glColor3f(rgb[0] + vertices[i+1][j][6] - 1.0f, rgb[1] + vertices[i+1][j][6] - 1.0f, rgb[2] + vertices[i+1][j][6] - 1.0f);
+ glTexCoord2d(vertices[i+1][j][3] - vertices[i+1][j][0], vertices[i+1][j][4] - vertices[i+1][j][1]);
+ glVertex3fv(vertices[i+1][j]);
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3fv(vertices[i][j]);
+ }
+ glEnd();
+ }
+ }
+
+ glPopMatrix();
+}
+
+
+void wisp::drawAsBackground()
+{
+ int i, j;
+
+ glPushMatrix();
+ glTranslatef(c[0] * 0.2f, c[1] * 0.2f, 1.6f);
+
+ if(_ec->dWireframe)
+ {
+ for(i=1; i<density; i++){
+ glBegin(GL_LINE_STRIP);
+ for(j=0; j<=density; j++){
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3f(vertices[i][j][3], vertices[i][j][4], vertices[i][j][6]);
+ }
+ glEnd();
+ }
+ for(j=1; j<density; j++){
+ glBegin(GL_LINE_STRIP);
+ for(i=0; i<=density; i++){
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3f(vertices[i][j][3], vertices[i][j][4], vertices[i][j][6]);
+ }
+ glEnd();
+ }
+ }
+ else
+ {
+ for(i=0; i<density; i++){
+ glBegin(GL_TRIANGLE_STRIP);
+ for(j=0; j<=density; j++){
+ glColor3f(rgb[0] + vertices[i+1][j][6] - 1.0f, rgb[1] + vertices[i+1][j][6] - 1.0f, rgb[2] + vertices[i+1][j][6] - 1.0f);
+ glTexCoord2d(vertices[i+1][j][3] - vertices[i+1][j][0], vertices[i+1][j][4] - vertices[i+1][j][1]);
+ glVertex3f(vertices[i+1][j][3], vertices[i+1][j][4], vertices[i+1][j][6]);
+ glColor3f(rgb[0] + vertices[i][j][6] - 1.0f, rgb[1] + vertices[i][j][6] - 1.0f, rgb[2] + vertices[i][j][6] - 1.0f);
+ glTexCoord2d(vertices[i][j][3] - vertices[i][j][0], vertices[i][j][4] - vertices[i][j][1]);
+ glVertex3f(vertices[i][j][3], vertices[i][j][4], vertices[i][j][6]);
+ }
+ glEnd();
+ }
+ }
+
+ glPopMatrix();
+}
+
+
+//----------------------------------------------------------------------------
+
+
+EuphoriaWidget::EuphoriaWidget( QWidget* parent, const char* name )
+ : QGLWidget(parent, name), texName(0), _wisps(0), _backwisps(0),
+ feedbackmap(0), feedbacktex(0)
+{
+ setDefaults( Regular );
+
+ _frameTime = 1000 / 60;
+ _timer = new QTimer( this );
+ connect( _timer, SIGNAL(timeout()), this, SLOT(nextFrame()) );
+}
+
+
+EuphoriaWidget::~EuphoriaWidget()
+{
+ // Free memory
+ if ( texName )
+ glDeleteTextures( 1, &texName );
+ if ( feedbacktex )
+ glDeleteTextures( 1, &feedbacktex );
+ delete[] _wisps;
+ delete[] _backwisps;
+}
+
+
+void EuphoriaWidget::paintGL()
+{
+ int i;
+ static double lastTime = timeGetTime();
+
+ // update time
+ elapsedTime = timeGetTime() - lastTime;
+ lastTime += elapsedTime;
+
+ _ec = this;
+
+ // Update wisps
+ for(i=0; i<dWisps; i++)
+ _wisps[i].update();
+ for(i=0; i<dBackground; i++)
+ _backwisps[i].update();
+
+
+ if(dFeedback)
+ {
+ float feedbackIntensity = float(dFeedback) / 101.0f;
+
+ // update feedback variables
+ for(i=0; i<4; i++)
+ {
+ fr[i] += elapsedTime * fv[i];
+ if(fr[i] > PIx2)
+ fr[i] -= PIx2;
+ }
+ f[0] = 30.0f * cos(fr[0]);
+ f[1] = 0.2f * cos(fr[1]);
+ f[2] = 0.2f * cos(fr[2]);
+ f[3] = 0.8f * cos(fr[3]);
+ for(i=0; i<3; i++)
+ {
+ lr[i] += elapsedTime * lv[i];
+ if(lr[i] > PIx2)
+ lr[i] -= PIx2;
+ l[i] = cos(lr[i]);
+ l[i] = l[i] * l[i];
+ }
+
+ // Create drawing area for feedback texture
+ glViewport(0, 0, feedbacktexsize, feedbacktexsize);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(30.0, aspectRatio, 0.01f, 20.0f);
+ glMatrixMode(GL_MODELVIEW);
+
+ // Draw
+ glClear(GL_COLOR_BUFFER_BIT);
+ glColor3f(feedbackIntensity, feedbackIntensity, feedbackIntensity);
+ glBindTexture(GL_TEXTURE_2D, feedbacktex);
+ glPushMatrix();
+ glTranslatef(f[1] * l[1], f[2] * l[1], f[3] * l[2]);
+ glRotatef(f[0] * l[0], 0, 0, 1);
+ glBegin(GL_TRIANGLE_STRIP);
+ glTexCoord2f(-0.5f, -0.5f);
+ glVertex3f(-aspectRatio*2.0f, -2.0f, 1.25f);
+ glTexCoord2f(1.5f, -0.5f);
+ glVertex3f(aspectRatio*2.0f, -2.0f, 1.25f);
+ glTexCoord2f(-0.5f, 1.5f);
+ glVertex3f(-aspectRatio*2.0f, 2.0f, 1.25f);
+ glTexCoord2f(1.5f, 1.5f);
+ glVertex3f(aspectRatio*2.0f, 2.0f, 1.25f);
+ glEnd();
+ glPopMatrix();
+ glBindTexture(GL_TEXTURE_2D, texName);
+ for(i=0; i<dBackground; i++)
+ _backwisps[i].drawAsBackground();
+ for(i=0; i<dWisps; i++)
+ _wisps[i].draw();
+
+ // readback feedback texture
+ glReadBuffer(GL_BACK);
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, feedbacktexsize);
+ glBindTexture(GL_TEXTURE_2D, feedbacktex);
+ glReadPixels(0, 0, feedbacktexsize, feedbacktexsize, GL_RGB, GL_UNSIGNED_BYTE, feedbackmap);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, feedbacktexsize, feedbacktexsize, GL_RGB, GL_UNSIGNED_BYTE, feedbackmap);
+
+ // create regular drawing area
+ glViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(20.0, aspectRatio, 0.01f, 20.0f);
+ glMatrixMode(GL_MODELVIEW);
+
+ // Draw again
+ glClear(GL_COLOR_BUFFER_BIT);
+ glColor3f(feedbackIntensity, feedbackIntensity, feedbackIntensity);
+ glPushMatrix();
+ glTranslatef(f[1] * l[1], f[2] * l[1], f[3] * l[2]);
+ glRotatef(f[0] * l[0], 0, 0, 1);
+ glBegin(GL_TRIANGLE_STRIP);
+ glTexCoord2f(-0.5f, -0.5f);
+ glVertex3f(-aspectRatio*2.0f, -2.0f, 1.25f);
+ glTexCoord2f(1.5f, -0.5f);
+ glVertex3f(aspectRatio*2.0f, -2.0f, 1.25f);
+ glTexCoord2f(-0.5f, 1.5f);
+ glVertex3f(-aspectRatio*2.0f, 2.0f, 1.25f);
+ glTexCoord2f(1.5f, 1.5f);
+ glVertex3f(aspectRatio*2.0f, 2.0f, 1.25f);
+ glEnd();
+ glPopMatrix();
+
+ glBindTexture(GL_TEXTURE_2D, texName);
+ }
+ else
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ //
+ for(i=0; i<dBackground; i++)
+ _backwisps[i].drawAsBackground();
+ for(i=0; i<dWisps; i++)
+ _wisps[i].draw();
+
+ glFlush();
+}
+
+
+void EuphoriaWidget::resizeGL( int w, int h )
+{
+ glViewport(0, 0, w, h );
+
+ viewport[0] = 0;
+ viewport[1] = 0;
+ viewport[2] = w;
+ viewport[3] = h;
+
+ aspectRatio = (float) w / (float) h;
+
+ // setup regular drawing area just in case feedback isn't used
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(20.0, aspectRatio, 0.01, 20);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -5.0);
+}
+
+
+// Window initialization
+void EuphoriaWidget::initializeGL()
+{
+ // Need to call this to setup viewport[] parameters used in
+ // the next updateParameters() call
+ resizeGL( width(), height() );
+
+ updateParameters();
+
+ _timer->start( _frameTime, true );
+}
+
+
+#ifdef UNIT_TEST
+void EuphoriaWidget::keyPressEvent( QKeyEvent* e )
+{
+ if( e->key() == Qt::Key_0 ) { setDefaults( 0 ); updateParameters(); }
+ if( e->key() == Qt::Key_1 ) { setDefaults( 1 ); updateParameters(); }
+ if( e->key() == Qt::Key_2 ) { setDefaults( 2 ); updateParameters(); }
+ if( e->key() == Qt::Key_3 ) { setDefaults( 3 ); updateParameters(); }
+ if( e->key() == Qt::Key_4 ) { setDefaults( 4 ); updateParameters(); }
+ if( e->key() == Qt::Key_5 ) { setDefaults( 5 ); updateParameters(); }
+ if( e->key() == Qt::Key_6 ) { setDefaults( 6 ); updateParameters(); }
+ if( e->key() == Qt::Key_7 ) { setDefaults( 7 ); updateParameters(); }
+ if( e->key() == Qt::Key_8 ) { setDefaults( 8 ); updateParameters(); }
+}
+#endif
+
+
+void EuphoriaWidget::nextFrame()
+{
+ updateGL();
+ _timer->start( _frameTime, true );
+}
+
+
+void EuphoriaWidget::updateParameters()
+{
+ srand((unsigned)time(NULL));
+ rand(); rand(); rand(); rand(); rand();
+
+ elapsedTime = 0.0f;
+
+ fr[0] = 0.0f;
+ fr[1] = 0.0f;
+ fr[2] = 0.0f;
+ fr[3] = 0.0f;
+
+ lr[0] = 0.0f;
+ lr[1] = 0.0f;
+ lr[2] = 0.0f;
+
+ glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+ glClear(GL_COLOR_BUFFER_BIT);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_ONE, GL_ONE);
+ glLineWidth(2.0f);
+
+ // Commented out because smooth lines and textures don't mix on my TNT.
+ // It's like it rendering in software mode
+ glEnable(GL_LINE_SMOOTH);
+ //glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
+
+ if(dTexture)
+ {
+ int whichtex = dTexture;
+ if(whichtex == 4) // random texture
+ whichtex = myRandi(3) + 1;
+ glEnable(GL_TEXTURE_2D);
+ glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+ // Initialize texture
+ glGenTextures(1, &texName);
+ glBindTexture(GL_TEXTURE_2D, texName);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ switch(whichtex){
+ case 1:
+ gluBuild2DMipmaps(GL_TEXTURE_2D, 1, TEXSIZE, TEXSIZE, GL_LUMINANCE, GL_UNSIGNED_BYTE, plasmamap);
+ break;
+ case 2:
+ gluBuild2DMipmaps(GL_TEXTURE_2D, 1, TEXSIZE, TEXSIZE, GL_LUMINANCE, GL_UNSIGNED_BYTE, stringymap);
+ break;
+ case 3:
+ gluBuild2DMipmaps(GL_TEXTURE_2D, 1, TEXSIZE, TEXSIZE, GL_LUMINANCE, GL_UNSIGNED_BYTE, linesmap);
+ }
+ } else if ( texName ) {
+ glDeleteTextures( 1, &texName );
+ texName = 0;
+ }
+
+ if(dFeedback)
+ {
+ feedbacktexsize = int(pow(2.0, dFeedbacksize));
+ while(feedbacktexsize > viewport[2] || feedbacktexsize > viewport[3]){
+ dFeedbacksize -= 1;
+ feedbacktexsize = int(pow(2.0, dFeedbacksize));
+ }
+
+ // feedback texture setup
+ glEnable(GL_TEXTURE_2D);
+ delete [] feedbackmap;
+ feedbackmap = new unsigned char[feedbacktexsize*feedbacktexsize*3];
+ glGenTextures(1, &feedbacktex);
+ glBindTexture(GL_TEXTURE_2D, feedbacktex);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ glTexImage2D(GL_TEXTURE_2D, 0, 3, feedbacktexsize, feedbacktexsize, 0, GL_RGB, GL_UNSIGNED_BYTE, feedbackmap);
+
+ // feedback velocity variable setup
+ fv[0] = float(dFeedbackspeed) * (myRandf(0.025f) + 0.025f);
+ fv[1] = float(dFeedbackspeed) * (myRandf(0.05f) + 0.05f);
+ fv[2] = float(dFeedbackspeed) * (myRandf(0.05f) + 0.05f);
+ fv[3] = float(dFeedbackspeed) * (myRandf(0.1f) + 0.1f);
+ lv[0] = float(dFeedbackspeed) * (myRandf(0.0025f) + 0.0025f);
+ lv[1] = float(dFeedbackspeed) * (myRandf(0.0025f) + 0.0025f);
+ lv[2] = float(dFeedbackspeed) * (myRandf(0.0025f) + 0.0025f);
+ } else if ( feedbacktex ) {
+ glDeleteTextures( 1, &feedbacktex );
+ feedbacktex = 0;
+ }
+
+ // Initialize wisps
+ _ec = this;
+ delete[] _wisps;
+ delete[] _backwisps;
+ _wisps = new wisp[dWisps];
+ _backwisps = new wisp[dBackground];
+}
+
+
+/**
+ May be called at any time - makes no OpenGL calls.
+*/
+void EuphoriaWidget::setDefaults(int which)
+{
+ switch(which)
+ {
+ case Grid:
+ dWisps = 4;
+ dBackground = 1;
+ dDensity = 25;
+ dVisibility = 70;
+ dSpeed = 15;
+ dFeedback = 0;
+ dFeedbackspeed = 1;
+ dFeedbacksize = 8;
+ dWireframe = 1;
+ dTexture = 0;
+ break;
+
+ case Cubism:
+ dWisps = 15;
+ dBackground = 0;
+ dDensity = 4;
+ dVisibility = 15;
+ dSpeed = 10;
+ dFeedback = 0;
+ dFeedbackspeed = 1;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 0;
+ break;
+
+ case BadMath:
+ dWisps = 2;
+ dBackground = 2;
+ dDensity = 20;
+ dVisibility = 40;
+ dSpeed = 30;
+ dFeedback = 40;
+ dFeedbackspeed = 5;
+ dFeedbacksize = 8;
+ dWireframe = 1;
+ dTexture = 2;
+ break;
+
+ case MTheory:
+ dWisps = 3;
+ dBackground = 0;
+ dDensity = 25;
+ dVisibility = 15;
+ dSpeed = 20;
+ dFeedback = 40;
+ dFeedbackspeed = 20;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 0;
+ break;
+
+ case UHFTEM:
+ dWisps = 0;
+ dBackground = 3;
+ dDensity = 35;
+ dVisibility = 5;
+ dSpeed = 50;
+ dFeedback = 0;
+ dFeedbackspeed = 1;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 0;
+ break;
+
+ case Nowhere:
+ dWisps = 0;
+ dBackground = 3;
+ dDensity = 30;
+ dVisibility = 40;
+ dSpeed = 20;
+ dFeedback = 80;
+ dFeedbackspeed = 10;
+ dFeedbacksize = 8;
+ dWireframe = 1;
+ dTexture = 3;
+ break;
+
+ case Echo:
+ dWisps = 3;
+ dBackground = 0;
+ dDensity = 25;
+ dVisibility = 30;
+ dSpeed = 20;
+ dFeedback = 85;
+ dFeedbackspeed = 30;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 1;
+ break;
+
+ case Kaleidoscope:
+ dWisps = 3;
+ dBackground = 0;
+ dDensity = 25;
+ dVisibility = 40;
+ dSpeed = 15;
+ dFeedback = 90;
+ dFeedbackspeed = 3;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 0;
+ break;
+
+ case Regular:
+ default:
+ dWisps = 5;
+ dBackground = 0;
+ dDensity = 25;
+ dVisibility = 35;
+ dSpeed = 15;
+ dFeedback = 0;
+ dFeedbackspeed = 1;
+ dFeedbacksize = 8;
+ dWireframe = 0;
+ dTexture = 2;
+ break;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#ifndef UNIT_TEST
+#include <klocale.h>
+#include <kglobal.h>
+#include <kconfig.h>
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char* kss_applicationName = "keuphoria.kss";
+ KDE_EXPORT const char* kss_description = I18N_NOOP( "Euphoria" );
+ KDE_EXPORT const char* kss_version = "1.0";
+
+ KDE_EXPORT KScreenSaver* kss_create( WId id )
+ {
+ return new KEuphoriaScreenSaver( id );
+ }
+
+ KDE_EXPORT QDialog* kss_setup()
+ {
+ return new KEuphoriaSetup;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+KEuphoriaScreenSaver::KEuphoriaScreenSaver( WId id ) : KScreenSaver( id )
+{
+ _effect = new EuphoriaWidget;
+
+ readSettings();
+
+ embed( _effect );
+ _effect->show();
+}
+
+
+KEuphoriaScreenSaver::~KEuphoriaScreenSaver()
+{
+}
+
+
+static int filterRandom( int n )
+{
+ if( (n < 0) || (n >= EuphoriaWidget::DefaultModes) )
+ {
+ srand((unsigned)time(NULL));
+ n = rand() % EuphoriaWidget::DefaultModes;
+ }
+ return n;
+}
+
+
+void KEuphoriaScreenSaver::readSettings()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ _mode = config->readNumEntry( "Mode", EuphoriaWidget::Regular );
+ _effect->setDefaults( filterRandom(_mode) );
+}
+
+
+/**
+ Any invalid mode will select one at random.
+*/
+void KEuphoriaScreenSaver::setMode( int id )
+{
+ _mode = id;
+ _effect->setDefaults( filterRandom(id) );
+ _effect->updateParameters();
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <kmessagebox.h>
+
+
+static const char* defaultText[] =
+{
+ I18N_NOOP( "Regular" ),
+ I18N_NOOP( "Grid" ),
+ I18N_NOOP( "Cubism" ),
+ I18N_NOOP( "Bad Math" ),
+ I18N_NOOP( "M-Theory" ),
+ I18N_NOOP( "UHFTEM" ), //"ultra high frequency tunneling electron microscope",
+ I18N_NOOP( "Nowhere" ),
+ I18N_NOOP( "Echo" ),
+ I18N_NOOP( "Kaleidoscope" ),
+ I18N_NOOP( "(Random)" ),
+ 0
+};
+
+
+KEuphoriaSetup::KEuphoriaSetup( QWidget* parent, const char* name )
+ : KDialogBase( parent, name, true, i18n("Setup Euphoria Screen Saver"),
+ Ok|Cancel|Help, Ok, true )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout* top = new QHBoxLayout(main, 0, spacingHint());
+ QVBoxLayout* leftCol = new QVBoxLayout;
+ top->addLayout( leftCol );
+
+ QLabel* label = new QLabel( i18n("Mode:"), main );
+ leftCol->addWidget( label );
+
+ modeW = new QComboBox( main );
+ int i = 0;
+ while (defaultText[i])
+ modeW->insertItem( i18n(defaultText[i++]) );
+ leftCol->addWidget( modeW );
+
+ leftCol->addStretch();
+
+ // Preview
+ QWidget* preview;
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ _saver = new KEuphoriaScreenSaver( preview->winId() );
+ top->addWidget(preview);
+
+ // Now that we have _saver...
+ modeW->setCurrentItem( _saver->mode() ); // set before we connect
+ connect( modeW, SIGNAL(activated(int)), _saver, SLOT(setMode(int)) );
+
+ setMinimumSize( sizeHint() );
+}
+
+
+KEuphoriaSetup::~KEuphoriaSetup()
+{
+ delete _saver;
+}
+
+
+void KEuphoriaSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Euphoria 1.0</h3>\n<p>Copyright (c) 2002 Terence M. Welsh<br>\n<a href=\"http://www.reallyslick.com/\">http://www.reallyslick.com/</a></p>\n\n<p>Ported to KDE by Karl Robillard</p>"),
+ QString::null, KMessageBox::AllowLink);
+}
+
+
+/**
+ Ok pressed - save settings and exit
+*/
+void KEuphoriaSetup::slotOk()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ QString val;
+ val.setNum( modeW->currentItem() );
+ config->writeEntry("Mode", val );
+
+ config->sync();
+ accept();
+}
+#endif
+//----------------------------------------------------------------------------
+
+
+#ifdef UNIT_TEST
+// moc Euphoria.h -o Euphoria.moc
+// g++ -g -DUNIT_TEST Euphoria.cpp -I/usr/lib/qt3/include -lqt -L/usr/lib/qt3/lib -lGLU -lGL
+
+#include <qapplication.h>
+
+int main( int argc, char** argv )
+{
+ QApplication app( argc, argv );
+
+ EuphoriaWidget w;
+ w.setDefaults( EuphoriaWidget::UHFTEM );
+ app.setMainWidget( &w );
+ w.show();
+
+ return app.exec();
+}
+#endif
+
+
+//EOF
diff --git a/kscreensaver/kdesavers/Euphoria.h b/kscreensaver/kdesavers/Euphoria.h
new file mode 100644
index 00000000..b7de2677
--- /dev/null
+++ b/kscreensaver/kdesavers/Euphoria.h
@@ -0,0 +1,155 @@
+#ifndef __EUPHORIASS_H__
+#define __EUPHORIASS_H__
+//============================================================================
+//
+// Terence Welsh Screensaver - Euphoria
+// http://www.reallyslick.com/
+//
+// KDE port by Karl Robillard
+//
+//============================================================================
+
+
+#include <qgl.h>
+
+#include <kdialogbase.h>
+
+class wisp;
+class QTimer;
+
+class EuphoriaWidget : public QGLWidget
+{
+ Q_OBJECT
+
+public:
+
+ enum eDefault
+ {
+ Regular,
+ Grid,
+ Cubism,
+ BadMath,
+ MTheory,
+ UHFTEM, // ultra high frequency tunneling electron microscope
+ Nowhere,
+ Echo,
+ Kaleidoscope,
+ DefaultModes
+ };
+
+ EuphoriaWidget( QWidget* parent=0, const char* name=0 );
+ ~EuphoriaWidget();
+
+ void updateParameters();
+ void setDefaults( int which );
+
+protected:
+
+ void paintGL();
+ void resizeGL( int w, int h );
+ void initializeGL();
+#ifdef UNIT_TEST
+ void keyPressEvent( QKeyEvent* );
+#endif
+
+private slots:
+
+ void nextFrame();
+
+private:
+
+ GLuint texName;
+ wisp* _wisps;
+ wisp* _backwisps;
+ unsigned char* feedbackmap;
+ float aspectRatio;
+ int viewport[4];
+ double elapsedTime;
+
+ // feedback texture object
+ unsigned int feedbacktex;
+ int feedbacktexsize;
+ // feedback variables
+ float fr[4];
+ float fv[4];
+ float f[4];
+ // feedback limiters
+ float lr[3];
+ float lv[3];
+ float l[3];
+
+
+
+ int dWisps;
+ int dBackground;
+ int dDensity;
+ int dVisibility;
+ float dSpeed;
+ int dFeedback;
+ int dFeedbackspeed;
+ int dFeedbacksize;
+ int dWireframe;
+ int dTexture;
+ int dPriority;
+
+
+ // Using QTimer rather than timerEvent() to avoid getting locked out of
+ // the QEvent loop on lower-end systems. Ian Geiser <geiseri@kde.org>
+ // says this is the way to go.
+ QTimer* _timer;
+ int _frameTime;
+
+ friend class wisp;
+};
+
+
+#ifndef UNIT_TEST
+#include <qdialog.h>
+#include <kscreensaver.h>
+
+
+class KEuphoriaScreenSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+public:
+
+ KEuphoriaScreenSaver( WId id );
+ virtual ~KEuphoriaScreenSaver();
+
+ int mode() const { return _mode; }
+
+public slots:
+
+ void setMode( int );
+
+private:
+
+ void readSettings();
+
+ EuphoriaWidget* _effect;
+ int _mode;
+};
+
+
+class QComboBox;
+
+class KEuphoriaSetup : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+ KEuphoriaSetup( QWidget* parent = 0, const char* name = 0 );
+ ~KEuphoriaSetup();
+
+private slots:
+ void slotHelp();
+ void slotOk();
+
+private:
+ QComboBox* modeW;
+ KEuphoriaScreenSaver* _saver;
+};
+#endif
+
+#endif //__EUPHORIASS_H__
diff --git a/kscreensaver/kdesavers/EuphoriaTexture.h b/kscreensaver/kdesavers/EuphoriaTexture.h
new file mode 100644
index 00000000..5a6962b4
--- /dev/null
+++ b/kscreensaver/kdesavers/EuphoriaTexture.h
@@ -0,0 +1,4138 @@
+/*
+ * Copyright (C) 2002 Terence M. Welsh
+ *
+ * Euphoria is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Euphoria is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#ifndef TEXTURE_H
+#define TEXTURE_H
+
+
+
+#define TEXSIZE 256
+
+
+
+unsigned char plasmamap[TEXSIZE * TEXSIZE] = {
+224,235,221,199,206,186,153,139,173,154,105,108,129,82,34,16,9,12,17,21,21,19,14,5,1,6,21,61,84,114,185,164,183,190,176,161,173,199,191,157,194,193,187,163,150,139,121,114,
+104,84,72,68,63,66,69,66,58,51,44,34,30,28,27,22,17,9,6,9,10,5,0,0,0,6,17,28,37,49,56,64,62,59,64,73,83,88,84,73,75,84,105,130,116,91,97,97,
+109,123,146,189,247,253,178,184,210,186,151,122,84,91,92,90,100,92,88,111,165,219,217,207,204,190,225,252,239,250,255,255,252,252,239,224,191,173,177,165,120,78,66,83,51,50,115,137,
+95,104,150,149,100,86,80,72,75,87,83,58,45,28,24,15,7,2,0,0,1,6,7,3,3,3,8,9,19,36,47,51,45,44,52,71,83,72,61,57,63,86,108,147,191,186,165,172,
+160,147,107,88,95,122,135,157,193,227,241,229,221,229,243,253,255,255,254,252,248,238,229,228,233,245,247,239,246,248,235,226,184,147,98,55,44,36,43,43,34,29,49,59,63,194,255,255,
+255,255,255,255,255,255,255,255,255,242,252,233,213,231,221,228,205,192,193,191,190,175,153,156,173,184,172,127,104,62,24,8,5,9,14,19,23,23,16,6,1,8,30,66,77,114,192,217,
+219,210,177,148,142,149,130,111,147,157,155,162,162,157,154,148,129,100,84,75,68,68,70,63,57,51,45,37,30,28,27,22,16,10,6,7,6,0,0,0,0,1,15,27,35,43,55,62,
+63,58,61,70,88,84,75,73,73,85,111,134,125,101,85,82,107,150,183,186,236,247,133,100,113,107,98,72,63,85,78,83,108,121,116,135,160,163,161,158,155,147,192,246,253,254,254,250,
+253,248,232,233,227,236,224,201,171,149,120,69,83,140,158,130,94,143,142,118,113,120,94,70,62,64,71,55,41,31,29,17,3,0,0,0,0,0,7,7,7,10,14,16,27,45,58,63,
+58,65,78,86,86,77,62,55,59,71,94,130,142,125,114,99,83,84,78,82,92,99,123,169,207,214,224,217,222,233,249,254,252,250,246,226,205,206,210,211,221,245,245,243,248,248,242,226,
+178,99,57,36,28,29,30,30,27,28,64,116,162,235,255,255,255,255,255,255,255,255,255,255,255,255,255,252,203,196,176,203,164,144,121,143,172,180,169,178,163,141,118,85,48,21,6,1,
+1,7,14,20,24,22,15,8,5,10,28,44,71,106,155,208,194,175,140,116,113,98,88,83,88,106,136,158,165,164,153,141,126,109,92,78,70,65,63,63,56,49,43,37,33,28,26,22,
+16,14,8,5,0,0,0,0,0,0,9,22,31,38,49,57,61,59,59,64,92,94,100,80,78,107,136,143,154,121,84,94,165,183,140,158,253,218,84,68,68,73,76,56,52,44,47,88,
+153,162,144,146,149,163,186,172,156,196,227,245,248,238,234,241,247,232,199,211,221,219,191,141,168,175,164,137,153,178,151,112,102,151,144,104,111,123,76,40,33,34,29,27,29,19,19,9,
+0,0,0,0,0,3,7,7,10,15,19,23,35,49,56,61,68,83,92,88,80,70,59,51,50,52,64,98,100,65,51,50,63,70,77,84,80,91,108,168,217,199,194,205,227,243,253,253,
+252,243,224,187,160,163,191,203,215,225,238,241,241,241,239,221,190,106,50,27,23,21,21,28,27,24,62,130,211,255,255,255,255,254,254,255,255,255,255,255,255,255,248,243,224,200,190,182,
+91,79,72,79,73,132,164,172,140,61,22,23,16,6,0,0,0,2,12,20,21,20,17,10,9,14,20,28,65,98,104,147,142,141,123,111,94,87,84,78,78,84,97,123,146,149,126,106,
+111,109,95,84,71,64,63,64,52,44,41,34,30,27,24,23,19,14,9,7,2,0,1,0,0,0,8,19,33,43,49,62,76,75,66,65,86,99,104,73,88,133,149,165,175,132,114,143,
+185,187,123,127,238,203,72,61,54,59,71,48,38,43,85,148,189,183,133,154,157,175,184,177,184,219,238,253,247,222,236,243,234,229,206,194,207,180,141,97,123,132,118,126,142,151,143,122,
+128,147,156,144,109,87,50,20,13,19,10,3,5,2,1,0,0,0,12,16,3,7,13,8,14,16,22,31,41,57,69,72,84,90,90,75,66,59,50,44,40,36,43,57,49,33,30,34,
+42,51,66,77,84,109,115,168,219,204,185,205,240,246,250,252,248,232,215,200,190,190,201,213,213,220,194,210,229,231,235,204,162,102,55,35,26,26,26,28,30,29,45,92,170,239,247,246,
+235,235,254,255,255,255,255,255,255,255,253,253,222,198,183,126,75,57,49,61,61,82,121,134,125,50,13,6,0,0,0,0,0,0,8,17,21,23,20,16,22,22,16,28,44,52,61,77,
+91,106,97,79,69,63,65,70,78,90,118,146,155,136,118,102,104,102,90,82,72,64,61,58,48,40,34,29,27,23,23,21,20,15,14,12,7,5,6,5,2,6,15,23,31,43,56,77,
+114,98,86,76,76,71,70,66,109,151,187,203,170,153,155,193,194,161,116,113,154,134,71,65,51,49,61,44,37,61,113,140,134,119,113,149,191,200,187,198,171,198,208,193,199,176,201,228,
+219,213,175,192,196,155,109,73,72,71,59,50,83,115,120,115,121,107,95,83,61,37,21,8,6,13,8,0,0,0,0,0,1,28,30,15,5,8,10,17,22,23,28,38,47,71,72,65,
+76,78,73,62,52,44,40,35,30,30,31,33,28,27,29,30,40,59,98,109,101,122,155,205,219,218,207,219,245,241,229,248,229,226,218,212,214,210,184,153,168,157,140,139,178,199,207,184,
+134,90,55,42,37,35,33,30,34,41,45,65,109,167,196,208,218,235,255,255,255,255,255,255,255,255,255,255,218,150,133,106,82,51,43,40,50,52,69,88,78,36,10,3,0,0,0,0,
+0,0,8,20,26,26,27,27,35,30,19,22,34,34,37,47,47,57,55,49,45,44,47,61,86,125,148,155,161,128,106,99,92,86,82,76,70,65,61,55,43,35,28,26,23,20,16,15,
+17,16,17,19,15,13,10,8,7,10,16,26,28,41,68,87,92,105,107,73,56,50,64,86,106,130,185,196,182,197,180,193,210,143,99,92,104,85,71,63,49,47,50,44,45,68,93,120,
+111,102,116,155,179,161,168,186,182,162,143,106,120,105,140,180,207,165,128,150,144,109,82,54,27,19,15,17,30,34,58,78,77,55,24,14,19,16,12,7,8,16,14,3,0,1,1,0,
+19,44,28,13,8,14,19,24,30,37,41,41,55,75,66,58,55,57,59,56,45,35,30,26,24,27,23,23,22,23,33,49,63,108,158,123,101,147,193,229,224,224,224,231,238,186,125,142,
+130,180,217,218,210,162,119,80,86,82,83,71,102,151,171,162,112,71,56,41,35,35,31,33,37,45,50,57,72,101,130,158,217,255,255,255,255,255,255,255,255,255,255,255,215,125,115,112,
+97,66,58,43,40,44,34,37,35,23,10,3,0,0,0,0,0,2,16,33,36,38,40,31,27,20,19,23,34,37,33,30,27,35,37,40,34,34,45,68,98,95,78,78,85,79,80,79,
+76,77,75,71,69,65,63,52,42,35,30,26,23,17,14,14,16,19,21,20,19,19,19,16,14,14,21,27,31,45,78,100,91,99,101,70,44,45,68,104,113,149,186,221,249,253,232,208,
+217,129,122,125,78,66,63,51,43,47,51,54,59,79,101,115,87,76,101,127,130,123,153,175,168,122,100,84,95,98,121,141,167,135,137,141,118,106,66,24,9,9,10,12,16,13,15,27,
+23,20,8,13,14,9,7,10,26,30,24,14,10,10,9,10,14,21,23,23,20,22,34,33,34,42,61,62,62,58,58,69,65,51,50,49,40,35,31,26,22,19,22,26,26,35,48,73,
+120,162,187,161,126,180,229,229,224,227,234,228,147,90,54,37,45,115,208,200,146,87,77,77,72,73,82,78,90,102,108,136,113,83,49,29,34,35,34,35,36,37,38,43,51,56,61,111,
+183,248,255,255,255,255,255,255,255,255,255,255,228,136,111,123,109,85,73,52,44,44,30,22,19,12,8,3,2,0,1,2,3,8,34,50,36,44,49,37,23,16,16,31,59,58,31,20,
+16,22,27,28,31,47,65,99,112,57,42,52,61,58,61,65,69,71,69,65,65,61,57,49,38,35,31,26,22,17,13,15,17,21,26,26,24,27,29,27,24,23,27,31,36,54,78,107,
+129,139,119,75,49,45,62,107,171,247,255,253,255,255,255,252,233,156,165,171,76,58,56,43,42,49,51,69,85,95,102,106,87,73,79,78,87,104,128,144,135,98,88,104,108,121,139,133,
+137,113,130,135,95,93,69,21,13,10,10,15,9,3,1,3,0,0,3,19,21,14,15,15,27,37,36,24,20,20,20,20,19,21,21,24,30,59,75,61,61,57,85,84,62,54,63,85,
+78,51,45,48,44,44,36,29,24,21,23,27,43,73,100,132,156,177,172,162,147,187,232,224,219,235,241,194,101,51,28,31,43,116,182,179,148,105,100,120,112,115,128,134,112,97,100,122,
+72,48,37,38,42,43,38,34,33,37,41,43,45,42,52,73,128,178,226,255,255,255,255,255,255,248,225,232,179,123,130,137,84,79,73,64,62,47,31,23,19,13,9,9,8,8,9,9,
+12,20,42,45,30,41,55,51,33,20,22,65,107,73,36,23,21,19,20,22,30,37,56,82,93,66,45,52,61,52,51,59,63,68,65,62,62,56,50,42,35,35,34,28,22,20,17,20,
+24,24,28,31,31,35,36,37,33,31,33,36,41,54,76,121,170,163,142,84,55,49,62,98,144,193,229,255,255,255,254,253,245,176,172,128,63,50,48,41,44,52,66,91,106,116,111,102,
+86,86,72,65,78,92,105,120,119,104,113,136,135,140,126,102,100,112,109,93,62,63,56,23,13,10,16,21,10,1,6,17,2,0,15,30,29,28,22,17,28,40,40,33,28,27,28,30,
+40,37,34,47,73,109,125,112,73,55,80,93,76,69,66,77,68,54,54,57,50,44,38,35,36,40,36,40,86,146,167,175,184,191,186,162,155,194,222,211,192,205,211,162,85,45,30,33,
+31,36,72,148,149,125,126,150,135,126,126,126,106,111,147,119,56,43,50,50,48,49,44,40,38,43,49,54,61,51,54,64,97,123,175,219,247,255,255,255,255,222,178,167,140,115,129,122,
+80,69,69,85,92,62,42,35,30,20,16,16,14,16,19,19,20,29,45,42,36,55,65,65,50,34,66,119,99,62,50,35,31,28,27,35,40,31,37,66,92,92,72,87,72,51,58,65,
+65,65,59,58,55,49,45,38,34,31,33,28,23,23,23,26,28,29,33,36,42,41,41,42,42,37,36,38,47,59,90,136,165,146,154,86,54,57,65,65,73,94,189,255,255,255,255,254,
+254,245,147,80,57,50,49,48,48,56,77,106,121,129,118,98,91,94,78,77,77,79,88,100,111,127,141,162,170,161,121,78,76,105,115,93,77,55,40,21,6,8,14,22,26,12,22,36,
+10,10,31,44,40,22,26,26,37,50,49,47,42,38,41,44,55,42,52,84,108,128,129,118,73,61,91,114,104,65,57,59,65,75,63,54,44,37,33,42,59,93,84,99,171,208,199,196,
+218,217,199,179,184,208,213,185,136,129,141,90,51,38,28,28,29,23,27,64,102,100,115,112,76,94,123,125,143,139,141,100,50,52,56,56,54,50,45,44,43,47,54,66,69,50,50,59,
+93,118,171,189,204,243,255,253,213,156,140,144,126,112,129,108,116,115,112,105,100,75,52,45,37,27,24,24,23,27,30,26,30,31,47,62,93,106,85,75,70,70,112,130,101,82,76,62,
+63,45,28,43,33,30,82,122,119,120,92,85,87,97,101,79,65,58,54,51,48,45,42,38,36,30,33,31,29,27,29,31,34,36,41,44,47,48,47,48,45,41,40,43,49,71,92,123,
+153,121,115,97,75,75,78,66,64,68,108,170,217,211,232,255,255,215,97,69,58,55,51,51,55,66,85,111,127,132,136,134,125,111,106,106,66,56,62,76,94,118,156,170,154,148,130,91,
+125,128,112,102,84,68,40,21,10,7,19,34,27,15,26,30,14,22,43,54,57,34,37,37,42,54,56,55,51,52,52,51,55,48,57,79,102,121,122,107,102,112,111,111,100,66,57,57,
+54,59,50,42,38,36,43,69,115,160,180,217,242,236,225,225,227,191,171,187,217,245,242,192,111,84,68,54,44,33,28,28,22,16,17,23,38,45,51,55,43,42,77,135,178,175,140,94,
+55,50,56,57,54,49,48,44,44,44,55,76,75,44,40,64,80,95,161,189,184,238,254,225,155,92,93,127,118,107,123,137,173,171,158,136,92,80,71,57,33,28,35,37,40,33,37,40,
+41,35,51,80,104,98,79,80,95,129,141,108,90,82,88,83,82,63,56,69,51,68,101,140,136,107,71,70,99,122,107,76,58,51,51,47,43,40,38,35,34,36,35,33,31,33,35,37,
+41,41,45,49,51,54,52,51,49,48,50,50,57,83,94,106,142,123,100,107,98,97,95,82,63,56,61,80,114,139,187,246,241,207,112,88,72,62,55,55,62,77,101,123,140,151,162,172,
+160,121,90,75,47,38,45,57,70,90,162,196,146,149,175,142,148,123,100,102,71,51,33,29,27,24,42,42,22,17,34,35,20,31,43,43,66,75,70,51,51,56,57,55,59,63,57,54,
+58,45,51,65,86,120,126,132,120,109,118,106,92,76,64,57,48,54,42,35,38,54,85,153,201,215,240,255,254,248,247,250,250,194,180,235,253,255,255,193,90,70,57,50,47,42,34,28,
+17,10,13,20,22,23,29,35,36,36,40,69,164,183,135,77,59,49,51,52,48,49,49,47,45,42,58,72,68,45,41,66,76,77,136,189,197,218,214,190,164,119,119,120,111,129,133,173,
+201,205,210,189,128,82,77,63,47,42,44,71,79,55,49,44,38,55,83,82,70,68,58,68,147,163,147,118,84,75,79,79,77,116,146,123,112,104,70,90,137,128,102,114,114,99,95,71,
+50,44,43,41,37,37,36,30,31,35,35,33,33,34,40,43,43,44,50,55,56,56,57,59,57,59,65,63,77,93,105,135,137,139,107,86,85,80,88,80,52,47,55,66,85,100,128,196,
+212,203,167,148,93,65,62,62,73,82,97,121,146,168,180,169,141,107,68,38,26,23,42,64,80,92,164,199,175,165,171,180,142,94,88,98,65,42,35,33,40,36,45,41,27,29,51,47,
+30,40,42,38,55,57,68,68,66,65,70,72,78,70,62,58,48,42,58,78,97,116,132,146,113,118,118,94,63,64,58,48,40,36,34,33,40,72,154,233,255,253,253,255,255,255,255,255,
+252,241,241,255,255,252,254,175,91,90,73,52,48,45,38,29,20,14,10,9,12,15,19,24,30,38,40,48,127,162,136,93,56,44,43,45,48,48,49,44,41,42,52,62,62,48,43,58,
+70,77,126,160,167,176,177,165,157,125,121,115,115,155,172,199,210,211,211,206,170,105,80,65,98,101,101,147,129,102,72,45,38,80,101,100,68,70,65,78,144,153,165,175,148,95,84,80,
+70,119,161,135,136,122,78,86,147,160,150,121,97,86,78,55,40,37,37,36,38,40,37,33,28,31,34,36,38,40,42,44,45,48,55,59,59,62,64,64,65,79,86,79,83,90,118,167,
+175,133,90,48,54,65,78,72,51,42,50,57,70,105,156,165,162,175,176,142,97,71,72,71,83,97,105,100,109,139,162,144,106,79,50,28,21,27,49,104,153,160,175,183,176,167,135,165,
+137,85,88,92,62,42,38,41,49,48,52,40,36,43,61,65,50,62,62,55,51,48,56,68,70,88,76,71,79,84,90,73,58,75,86,92,111,129,137,142,137,146,136,113,75,61,51,45,
+40,30,28,29,45,109,215,255,255,254,255,255,255,255,255,255,254,255,253,254,250,248,248,227,196,179,135,86,61,58,52,44,29,14,6,5,5,6,13,21,28,33,35,42,95,148,136,87,
+48,43,36,40,45,47,48,45,44,45,54,58,62,52,44,52,70,105,133,142,172,183,190,164,137,122,129,150,175,193,200,210,193,203,217,214,194,168,157,150,179,204,213,196,172,157,108,64,
+54,80,115,120,70,73,101,115,135,143,168,196,171,140,114,78,87,136,172,164,149,147,105,93,109,98,90,91,72,54,52,40,30,33,35,37,38,38,33,29,27,29,31,38,41,44,42,44,
+47,51,57,59,63,69,72,73,86,112,104,88,77,79,113,168,179,102,50,35,43,63,66,58,49,42,37,36,55,111,164,147,132,158,167,129,91,77,78,80,90,116,122,100,100,105,125,133,
+95,85,56,34,27,36,51,120,168,204,193,162,130,123,126,150,123,102,93,84,58,43,43,58,76,71,58,49,52,71,71,68,84,100,91,62,63,57,50,61,85,102,76,69,71,85,105,100,
+122,134,98,59,102,154,141,135,142,136,133,108,106,82,59,49,42,31,28,33,66,161,249,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,249,236,225,197,176,154,118,99,83,79,
+51,9,0,0,0,0,12,24,35,41,35,41,83,125,113,66,71,72,56,50,56,59,57,65,73,80,91,94,92,78,55,59,109,136,150,172,189,196,191,157,127,142,157,183,214,211,214,205,
+177,200,242,239,234,228,227,224,217,225,234,217,208,189,137,141,150,158,194,172,94,123,142,155,161,167,179,180,178,191,148,121,137,179,189,175,155,140,107,63,37,48,59,64,48,41,41,33,
+33,37,41,38,37,37,31,26,30,31,34,38,42,43,42,43,48,52,59,63,68,73,78,85,107,137,129,92,76,79,106,135,112,68,43,38,44,45,43,45,41,45,40,45,83,141,172,146,
+126,125,156,163,121,97,91,95,104,134,137,116,118,114,122,128,90,73,52,36,30,45,48,102,168,208,193,154,136,153,160,132,105,100,87,64,45,45,47,65,76,71,58,69,86,98,97,105,
+111,108,95,72,62,50,45,59,108,108,69,76,79,82,106,141,168,160,90,57,76,146,155,143,130,126,114,107,115,107,71,48,30,30,33,40,90,203,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,254,253,241,215,201,205,184,111,95,84,66,40,10,1,0,0,6,22,33,42,52,47,70,113,120,78,83,118,112,114,111,105,128,113,122,147,164,158,144,125,99,64,70,
+107,139,175,193,191,193,167,137,163,203,205,222,218,212,222,200,220,242,255,248,249,254,253,247,242,242,243,241,241,214,201,231,221,193,196,203,162,170,140,148,148,147,153,168,182,203,193,189,
+205,198,189,177,151,118,85,52,33,30,41,42,38,34,29,30,41,52,49,45,38,35,34,30,34,36,35,40,42,43,43,47,49,52,58,63,71,78,83,90,107,123,113,85,77,86,97,97,
+70,56,51,49,51,43,37,50,54,56,62,75,129,173,190,171,157,156,171,177,147,109,87,99,112,136,139,150,160,157,164,151,121,86,50,29,26,49,55,80,119,170,217,180,170,177,139,107,
+99,86,77,55,38,42,45,51,56,62,83,107,114,102,129,150,118,97,99,85,68,51,52,68,102,105,79,97,104,97,105,154,173,148,129,121,121,141,147,144,134,129,125,132,134,104,58,35,
+23,27,35,43,97,211,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,243,228,218,206,189,154,143,100,61,26,9,3,8,19,26,27,41,56,51,44,86,76,34,24,35,
+79,142,169,168,150,156,160,180,201,205,185,165,141,99,77,79,93,133,175,184,193,185,133,149,179,215,240,234,226,218,228,229,249,255,254,254,255,255,255,255,255,255,254,255,254,248,255,250,
+218,183,169,196,176,196,191,142,95,100,156,148,176,200,200,212,212,200,142,149,141,84,51,35,33,37,37,33,34,31,34,36,48,61,52,41,35,30,30,31,36,36,37,41,44,47,47,49,
+51,54,59,68,75,82,86,90,101,120,97,77,75,82,85,80,63,51,58,66,65,65,64,71,77,73,77,114,163,213,232,236,228,225,214,158,170,114,106,132,133,133,130,170,192,182,189,170,
+132,94,55,30,24,33,40,76,84,80,204,199,197,160,82,91,97,68,63,55,41,41,48,54,70,93,132,134,109,94,121,144,142,150,130,82,62,47,49,82,104,93,97,118,150,141,151,176,
+183,165,160,164,163,153,137,132,137,133,130,144,134,71,34,19,21,30,47,69,113,219,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,253,249,245,239,226,210,182,164,149,101,49,
+20,13,10,27,44,40,30,52,58,45,41,59,33,22,29,38,63,108,173,156,129,136,149,182,205,205,192,182,161,137,129,107,106,128,156,175,215,185,167,190,170,189,239,240,249,246,249,252,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,242,236,218,200,186,197,177,135,134,172,169,141,187,191,183,194,201,172,91,105,114,69,49,40,40,47,41,33,31,35,41,38,
+37,42,47,42,31,30,31,33,35,40,43,43,52,57,54,55,56,58,63,71,77,84,92,99,102,114,97,79,76,82,80,70,58,54,71,88,87,86,79,91,95,92,106,143,193,240,255,255,
+255,255,214,129,140,133,167,176,170,157,168,187,205,198,192,160,109,65,34,30,30,26,29,55,78,87,151,192,177,105,77,93,79,57,52,49,44,49,61,94,127,113,118,112,95,98,120,128,
+133,167,128,75,63,43,49,87,112,114,112,128,167,177,182,194,194,161,146,164,173,167,157,155,160,153,148,153,120,42,21,22,38,56,115,189,213,248,255,255,255,255,255,255,255,255,255,254,
+255,255,255,255,255,255,253,248,240,171,121,100,95,97,58,31,22,20,23,42,57,48,54,90,88,68,61,65,57,42,44,62,94,118,154,142,151,171,189,199,207,204,200,199,196,194,179,132,
+125,128,154,173,212,213,178,151,144,192,232,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,246,218,199,213,201,178,173,187,183,184,116,126,176,193,157,168,
+179,151,109,85,71,61,51,45,41,40,38,40,41,41,44,33,24,29,37,36,30,29,31,35,38,48,55,57,59,63,64,61,61,61,65,78,86,95,106,112,119,121,105,83,73,73,70,66,
+61,63,88,115,113,108,102,105,112,130,158,186,214,250,255,255,255,252,236,201,168,168,194,203,179,184,200,204,212,219,192,157,98,49,26,29,35,41,49,50,51,70,113,179,169,94,102,88,
+58,50,48,50,54,66,86,129,164,113,85,90,92,93,121,120,115,154,123,85,77,51,57,85,126,139,147,154,157,185,182,180,183,177,178,184,180,170,171,167,167,160,144,126,68,21,28,62,
+79,123,217,255,255,255,255,255,255,255,255,255,255,254,248,245,255,247,180,197,213,186,212,241,194,91,66,87,102,92,61,29,24,24,34,51,70,72,73,85,121,119,78,92,95,58,64,79,
+120,144,160,167,183,196,217,226,232,227,220,212,206,193,178,128,127,139,154,150,136,183,176,149,179,226,226,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,
+229,200,187,212,236,228,221,211,185,139,85,128,149,161,118,107,151,156,120,82,80,71,59,49,33,31,41,47,52,56,49,26,19,23,28,31,31,33,37,41,47,55,65,75,69,68,70,71,
+70,66,70,83,100,109,125,141,156,146,132,111,100,83,68,68,77,86,108,136,147,139,136,123,116,157,205,218,224,250,255,255,255,235,232,198,176,175,191,201,177,185,199,220,227,224,197,176,
+99,57,35,41,57,65,63,49,54,76,149,187,200,143,90,68,52,55,59,62,80,100,116,132,129,98,85,90,106,113,139,123,118,119,111,99,85,65,72,104,151,158,169,162,135,151,184,177,
+186,215,221,210,198,177,175,161,161,157,94,37,29,29,44,65,99,176,253,255,255,255,255,255,255,255,255,255,255,252,234,227,231,160,54,52,63,65,95,160,137,66,57,64,90,84,57,31,
+30,41,56,70,82,78,65,83,111,119,115,148,118,64,77,102,143,173,191,206,219,231,246,250,250,247,239,227,212,192,189,134,102,126,133,123,97,151,200,201,224,238,241,252,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,240,236,247,242,248,241,238,225,167,139,144,165,123,132,136,98,108,107,83,94,98,97,92,82,70,45,50,57,56,65,45,27,
+21,26,28,31,40,44,48,52,59,64,70,75,75,79,83,82,78,72,77,84,102,121,143,167,189,164,156,149,132,101,97,95,102,107,107,135,157,147,160,157,151,186,210,232,249,254,255,255,
+255,227,198,205,183,185,178,185,196,199,197,206,211,207,185,160,106,85,71,84,115,105,85,64,59,93,178,219,218,182,109,88,73,77,86,115,160,168,161,137,121,114,112,120,129,129,141,130,
+120,122,121,88,79,86,102,151,177,156,171,170,108,115,167,190,221,236,234,229,219,187,177,162,168,111,20,7,31,30,35,27,33,100,247,255,235,247,255,255,255,255,255,255,255,252,228,213,
+137,73,45,36,38,45,50,92,107,63,56,51,51,44,33,33,41,66,90,80,70,73,61,61,102,100,153,169,128,92,78,112,144,176,224,238,243,254,255,255,255,254,255,240,208,192,186,130,
+90,102,91,92,90,127,186,224,224,236,249,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,247,249,253,247,245,241,225,217,221,226,205,153,146,118,95,
+77,70,86,107,105,120,125,132,128,83,68,69,55,54,42,30,24,31,40,44,52,58,61,65,69,72,71,71,73,77,80,83,80,75,80,101,121,135,150,172,196,180,171,172,160,129,109,126,
+132,146,149,148,164,163,168,176,197,222,210,224,250,255,255,255,255,246,220,228,217,189,169,203,218,205,199,198,178,189,182,160,130,112,112,141,176,147,92,84,88,121,190,218,219,215,171,129,
+98,104,142,206,242,241,239,212,170,142,132,137,139,136,141,143,120,137,116,98,115,126,142,190,197,170,176,164,111,112,136,162,211,228,229,226,212,198,184,180,156,62,0,0,12,8,12,14,
+9,35,150,222,211,245,255,255,255,255,255,255,255,250,232,208,122,73,56,49,48,50,50,76,93,72,62,56,43,34,29,33,42,54,79,70,69,85,68,68,106,113,151,142,161,157,115,93,
+123,183,238,250,255,255,255,255,255,255,250,198,173,189,182,148,101,91,78,78,86,109,132,173,220,240,243,254,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,254,253,250,250,247,245,236,236,233,221,161,114,87,92,79,92,106,120,133,142,156,164,112,72,70,63,63,49,40,33,30,37,49,56,62,66,70,72,70,68,65,69,71,75,75,76,
+78,76,79,120,154,149,149,186,212,190,171,197,192,161,93,82,112,178,197,186,183,182,173,191,226,224,212,222,248,254,255,255,255,253,240,231,208,184,203,234,221,198,205,212,189,187,193,185,
+182,177,196,201,179,182,112,106,119,185,186,189,217,239,222,194,161,154,220,255,255,255,255,238,190,165,157,155,153,151,147,140,127,139,141,133,136,135,167,212,205,197,199,150,126,129,129,155,
+206,226,231,224,206,204,182,178,136,70,24,16,15,24,29,21,9,7,30,115,146,171,234,245,236,253,255,255,255,250,247,236,151,83,65,61,50,43,47,63,77,78,72,57,41,33,29,33,
+41,45,50,49,61,76,78,80,92,135,126,142,176,137,100,112,127,189,239,247,255,255,255,255,255,254,231,170,167,185,183,158,107,98,90,93,105,120,127,141,197,234,240,254,255,255,254,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,248,247,247,234,225,214,190,156,119,102,104,122,137,134,141,137,150,182,185,111,55,52,56,65,51,49,44,
+31,37,47,56,61,62,65,65,64,65,66,70,75,75,76,72,72,73,77,102,148,175,183,196,215,217,198,192,194,146,78,62,90,171,189,158,146,150,142,180,226,210,215,225,229,232,242,252,
+255,255,247,220,199,192,232,248,228,213,213,218,208,204,203,201,212,239,255,245,207,206,178,143,156,211,213,219,242,248,249,245,228,219,240,255,255,255,255,245,219,205,196,220,224,204,200,172,
+146,153,162,160,141,148,177,213,226,235,224,158,125,164,153,167,212,228,231,225,203,200,211,184,128,90,95,137,125,107,66,33,16,12,28,37,41,88,196,225,232,254,255,255,255,254,255,253,
+186,98,70,66,58,49,52,61,71,77,70,52,40,33,30,30,36,38,38,34,43,58,77,76,95,151,160,156,116,101,113,143,172,192,211,228,234,250,255,255,255,255,221,191,192,193,182,146,
+105,120,121,126,139,154,144,130,185,227,242,253,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,248,248,243,236,231,221,192,187,182,170,167,
+175,157,120,126,119,134,169,185,134,73,59,62,68,56,47,38,35,36,37,48,54,56,58,58,59,64,68,75,83,79,79,80,76,72,73,86,122,155,190,191,191,205,196,163,158,161,98,73,
+85,125,158,161,123,113,112,151,194,201,200,201,197,191,207,234,247,234,224,207,190,193,221,233,221,204,208,222,222,232,219,225,229,245,255,255,248,235,255,238,245,247,247,239,254,255,255,253,
+250,249,254,255,255,255,255,255,250,252,248,250,255,252,255,240,225,217,193,191,192,182,187,221,238,243,228,193,165,185,156,185,217,226,227,217,193,158,184,208,162,142,160,192,199,135,86,58,
+35,24,42,56,38,90,173,224,240,255,255,255,255,255,255,255,198,106,71,68,62,55,61,65,75,72,64,50,38,31,34,35,37,36,33,30,36,43,55,61,105,161,143,127,115,116,135,150,
+199,194,197,207,187,226,255,255,255,253,219,203,208,196,167,128,112,132,140,149,161,155,157,154,199,235,247,252,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,250,242,245,240,238,241,236,231,233,231,220,211,192,162,133,120,100,105,135,155,121,85,87,100,59,49,45,43,57,52,43,47,58,59,61,69,77,92,104,109,125,112,101,99,
+100,90,78,82,93,133,210,221,194,191,197,170,146,191,155,104,125,160,170,164,123,125,118,132,142,147,179,191,182,162,182,212,214,201,197,183,179,185,204,212,199,189,214,232,229,217,218,235,
+235,238,252,255,255,255,255,255,255,255,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,255,255,255,255,255,249,242,246,250,234,227,242,249,246,239,213,193,200,178,201,
+220,226,224,207,164,127,154,149,177,210,164,153,184,151,121,86,61,41,50,68,68,99,175,214,240,255,255,255,255,255,255,243,165,98,77,69,63,58,62,72,78,68,64,58,48,34,36,41,
+43,38,33,30,31,35,34,42,88,128,109,93,135,154,168,184,189,171,190,172,161,226,254,255,255,248,218,194,206,193,163,143,141,140,160,169,173,167,161,156,194,234,242,249,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,234,239,235,228,227,233,239,239,232,217,207,194,175,151,116,91,85,108,122,73,69,86,105,63,43,48,66,
+87,92,107,88,106,116,100,122,153,164,162,167,170,164,148,136,119,107,91,95,115,154,194,180,184,193,199,182,167,199,198,167,179,207,205,180,120,115,113,107,123,114,143,164,157,153,167,182,
+187,182,171,157,160,171,192,205,183,176,199,211,203,180,211,239,245,247,245,254,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,253,252,248,236,220,208,196,220,228,233,228,211,163,132,182,148,192,238,168,184,187,149,148,106,73,58,49,51,64,86,160,191,212,255,255,255,255,255,255,217,
+130,91,85,75,68,65,64,82,82,66,63,59,55,41,41,45,47,38,33,31,33,41,47,44,48,59,65,66,93,141,189,211,197,167,142,151,162,194,228,249,238,222,204,193,205,194,156,154,
+176,178,192,208,198,178,176,169,201,228,234,224,243,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,246,253,255,255,248,236,238,236,233,226,222,226,229,226,212,203,
+193,176,149,122,91,73,98,94,57,61,65,71,66,41,28,26,68,139,158,137,115,132,143,171,182,185,176,147,139,157,171,171,142,116,94,105,128,137,157,156,136,170,192,189,169,190,207,201,
+197,199,189,179,121,91,91,73,78,82,95,116,115,108,125,139,153,155,136,133,142,160,183,185,178,160,163,155,154,162,199,234,248,252,254,255,255,255,255,255,255,255,255,255,253,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,246,242,240,234,233,241,245,246,235,218,176,143,186,207,215,162,142,206,229,177,133,107,
+72,79,93,108,105,100,132,177,196,232,228,239,255,255,255,219,150,111,87,73,66,66,72,86,85,76,79,73,62,47,43,47,47,43,40,35,34,36,41,43,36,36,45,69,85,137,189,158,
+155,141,134,151,168,150,161,189,191,185,175,175,182,182,179,194,203,194,189,201,200,200,192,179,208,228,221,197,220,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,248,252,250,
+250,253,253,253,248,240,240,236,232,226,225,222,220,218,208,203,191,173,151,123,92,80,84,73,73,65,58,64,62,57,35,12,8,107,144,51,22,37,57,132,172,170,132,112,136,153,168,177,
+139,128,97,93,109,111,126,168,148,140,158,162,158,171,180,189,190,179,160,156,146,102,64,52,42,44,59,83,83,79,97,104,119,122,116,120,137,154,178,171,168,153,161,142,143,165,198,234,
+252,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,249,233,203,214,232,229,242,250,252,
+253,252,243,224,180,157,193,218,196,141,133,161,219,233,170,104,68,88,79,82,87,136,165,192,199,163,172,212,252,255,255,234,183,130,79,61,58,59,71,101,109,93,94,85,64,51,57,63,
+65,63,45,42,40,30,33,33,29,35,50,90,98,115,146,120,123,121,126,127,130,127,143,163,170,161,160,164,176,183,201,221,205,199,205,199,193,213,215,204,197,210,192,186,218,249,255,255,
+255,255,255,249,255,255,255,255,255,255,255,255,254,248,250,253,254,254,253,252,248,246,240,243,240,232,234,225,225,219,211,199,170,142,125,108,79,90,80,57,63,61,45,47,38,52,45,15,
+0,54,76,10,14,29,42,95,149,154,144,155,160,164,157,161,156,155,112,86,91,101,106,129,154,154,127,132,144,143,119,146,167,150,134,135,125,75,31,23,22,24,36,55,58,64,76,82,
+95,101,108,114,129,140,153,147,129,140,151,146,156,187,225,243,246,255,255,255,255,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,235,182,160,178,214,225,238,247,253,255,255,247,224,176,151,190,206,168,154,137,82,77,151,155,113,66,70,48,29,36,99,189,196,175,154,190,217,239,255,255,250,
+197,115,71,65,64,62,71,111,119,104,99,92,73,72,73,77,90,78,50,43,38,35,34,30,33,54,71,88,86,92,111,90,80,79,92,122,139,119,121,143,142,134,142,165,178,187,211,229,
+217,229,242,229,212,217,225,224,217,200,192,171,214,249,255,255,255,255,245,238,254,255,255,255,255,255,252,246,245,241,252,252,252,254,254,253,247,247,246,243,235,241,243,240,236,218,207,178,
+144,108,86,93,88,82,66,57,49,38,22,21,28,33,35,14,3,12,14,10,16,33,48,90,160,177,176,175,164,155,129,143,172,171,148,106,85,97,106,116,150,158,125,108,108,98,64,93,
+119,113,116,113,76,27,13,10,13,20,34,49,54,57,61,68,84,100,115,125,135,149,153,142,119,126,146,169,190,215,240,245,248,255,255,255,255,255,255,255,255,255,255,255,255,254,254,253,
+250,255,255,249,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,238,224,253,247,187,164,177,204,234,240,250,255,255,255,246,225,199,162,180,193,142,93,84,57,42,70,98,87,
+47,33,36,41,80,109,126,165,163,169,199,203,231,242,249,229,170,97,71,76,75,71,78,101,132,139,120,111,99,105,98,90,87,64,44,38,34,36,36,31,31,45,61,66,68,66,79,59,
+54,62,73,122,139,99,92,108,122,148,156,170,186,197,213,221,231,250,252,239,221,222,232,225,219,207,200,170,220,249,254,255,231,220,203,215,247,255,255,255,255,255,240,228,239,245,249,248,
+249,252,254,252,250,252,248,240,236,241,247,241,232,204,199,182,160,108,77,82,84,93,77,59,41,24,13,10,15,16,15,9,5,7,8,15,16,26,40,64,148,180,175,165,149,150,146,144,
+158,165,164,139,100,86,93,115,132,127,108,92,85,80,61,73,79,83,85,82,44,19,7,5,15,28,48,59,61,61,58,64,78,101,118,136,164,183,163,155,153,149,147,182,210,218,221,232,
+245,252,254,255,255,255,255,255,255,255,255,255,255,255,255,253,233,236,238,241,248,255,255,255,255,255,255,255,255,255,255,255,255,255,232,218,199,168,213,249,208,161,175,207,228,242,253,255,
+255,255,243,220,196,182,169,147,111,63,56,40,33,38,62,47,36,28,23,28,71,106,119,155,182,168,173,155,149,139,142,139,100,80,71,76,78,76,80,98,134,162,140,112,102,106,109,101,
+71,48,38,34,33,34,30,27,30,38,52,52,57,52,54,44,54,68,95,137,122,95,100,123,168,182,171,172,182,207,218,229,240,248,253,254,247,233,227,231,240,206,179,172,222,255,255,247,
+172,158,176,200,225,252,254,255,255,255,250,245,236,236,241,236,247,250,255,253,248,233,235,241,246,247,246,238,224,208,191,167,128,107,73,56,78,93,82,57,27,13,12,14,16,13,10,8,
+8,15,17,14,12,15,24,33,70,132,153,130,104,107,134,147,157,149,155,162,125,69,72,86,99,105,93,77,63,62,61,59,61,72,66,55,33,14,5,1,19,47,79,94,84,75,62,68,
+83,104,126,150,171,194,176,168,170,157,146,182,222,228,227,234,241,235,229,248,255,255,255,255,255,255,255,255,255,255,249,246,231,206,221,235,249,255,255,255,255,255,255,255,255,255,255,255,
+255,253,221,208,217,190,165,180,175,162,177,201,228,246,255,255,255,255,241,219,190,184,173,108,58,47,41,33,26,27,29,27,30,33,26,24,36,71,133,184,150,113,106,70,55,52,55,64,
+72,78,76,77,79,79,84,104,143,186,167,118,106,109,121,114,77,52,37,34,33,31,31,31,31,34,44,44,49,51,55,57,62,78,134,139,95,94,114,136,154,163,165,157,163,208,233,242,
+248,246,248,248,253,252,241,246,245,204,175,173,177,212,214,197,122,144,185,214,206,201,247,255,255,254,254,247,226,205,220,234,239,231,243,252,234,194,201,234,242,247,245,241,229,221,173,132,
+88,88,102,112,104,98,77,50,20,16,21,23,22,14,10,10,15,20,19,13,8,10,19,22,31,48,77,101,94,75,104,147,153,125,150,153,90,49,58,73,85,86,86,68,44,40,38,38,
+44,54,48,34,19,6,3,10,44,79,106,101,90,86,63,71,114,139,135,144,176,201,182,170,185,172,155,162,214,234,234,226,232,235,240,240,247,255,255,255,255,254,255,255,255,255,236,232,
+234,213,211,220,234,254,253,255,255,255,255,255,255,255,255,255,255,254,240,215,204,200,200,173,167,184,182,186,220,246,255,255,255,253,235,214,200,199,205,156,76,40,37,31,16,17,23,15,
+22,30,24,27,34,47,104,126,78,42,30,30,29,41,62,82,100,86,82,79,77,79,88,104,142,201,187,129,107,108,133,157,132,76,43,33,34,42,44,43,41,38,42,41,44,68,101,87,
+78,134,164,130,94,98,130,147,156,187,196,197,207,233,249,250,253,248,246,247,248,254,239,229,221,208,179,157,130,133,140,139,105,123,158,189,173,210,255,255,255,254,249,239,229,233,238,231,
+207,213,229,235,225,182,189,215,227,235,231,231,235,231,210,185,164,161,156,161,150,119,73,35,23,28,26,27,28,23,19,19,30,33,16,13,15,16,20,24,30,31,55,93,82,62,85,144,
+149,114,150,107,45,42,51,70,76,71,73,63,38,23,19,23,40,59,44,17,10,7,13,31,65,106,139,135,108,95,73,71,114,161,161,158,191,218,203,177,192,180,149,140,179,221,229,218,
+196,197,234,238,227,243,255,255,255,253,253,255,255,252,221,228,221,214,221,219,234,250,252,255,255,255,255,255,255,255,255,254,252,241,219,220,222,222,217,196,198,205,182,154,187,245,255,255,
+255,252,231,211,208,208,208,178,111,69,47,23,16,16,17,14,20,26,28,29,38,66,76,70,55,22,22,26,45,94,136,162,146,98,85,77,72,73,85,97,114,151,146,127,113,113,141,183,
+189,116,68,38,41,64,69,64,54,51,58,54,57,101,161,139,126,193,204,165,148,146,167,185,197,205,208,222,245,254,254,255,253,249,248,238,235,228,231,210,187,185,171,144,111,106,108,105,
+88,104,153,165,151,217,255,253,252,240,246,246,227,226,247,239,198,196,199,211,184,186,206,208,206,210,180,178,203,215,213,207,208,194,167,157,146,123,87,56,41,34,24,29,36,34,28,34,
+56,49,27,20,23,24,19,22,27,37,48,55,56,48,64,139,158,147,154,71,41,45,51,64,58,54,59,58,40,16,14,27,73,93,42,19,22,27,41,72,94,125,172,163,119,83,71,68,
+83,134,165,183,183,198,212,198,175,173,150,128,154,199,228,197,160,180,193,217,215,224,252,255,241,238,254,255,255,252,238,241,215,218,231,243,253,253,254,255,255,255,255,255,255,255,255,255,
+249,235,219,238,242,233,210,194,206,197,190,182,208,252,254,254,254,247,228,215,208,211,208,178,144,109,56,17,19,20,21,21,26,28,33,37,44,73,82,77,72,54,51,61,77,118,160,162,
+130,84,70,61,65,69,77,91,97,111,119,109,115,121,139,176,173,148,108,64,62,71,86,82,62,56,71,84,92,115,192,240,232,235,233,220,199,193,204,203,207,217,228,245,254,255,255,255,
+252,242,238,220,215,224,219,186,171,199,176,141,109,90,86,88,90,95,135,155,154,180,224,242,233,224,252,242,210,211,238,252,229,198,193,222,183,191,199,189,200,206,172,176,210,224,222,220,
+212,189,184,178,169,143,108,77,52,40,30,26,26,27,24,33,41,35,36,33,31,36,31,29,31,45,54,51,47,49,55,100,150,133,100,54,43,42,44,49,45,44,48,48,37,28,23,76,
+108,66,34,29,41,59,78,113,122,128,163,163,144,97,75,62,63,88,129,198,205,183,189,187,157,148,173,153,157,193,213,179,180,185,168,198,214,211,224,234,231,240,255,255,255,254,252,252,
+247,247,253,255,252,248,250,255,255,255,255,255,255,255,255,255,254,246,245,245,229,214,199,196,196,182,172,200,245,252,254,254,252,241,222,213,205,213,210,204,193,108,56,34,23,27,29,29,
+35,35,38,54,49,87,113,75,73,75,102,129,133,142,158,146,118,70,48,37,58,69,72,80,83,83,86,85,100,119,126,142,149,147,119,102,97,97,102,93,70,65,75,92,121,136,176,253,
+255,248,218,220,210,214,219,219,219,233,246,255,255,255,255,255,253,228,204,182,185,204,219,185,183,204,165,120,111,83,82,93,87,90,129,204,199,192,208,234,235,252,252,203,182,215,246,253,
+254,247,250,246,208,201,204,199,217,219,205,218,222,205,208,232,222,210,206,196,155,123,119,107,59,37,27,26,20,23,24,30,33,33,40,61,70,70,64,44,37,45,55,48,38,38,34,36,
+58,44,33,48,54,37,34,40,47,56,50,44,48,58,64,112,109,73,58,56,73,101,111,147,154,122,119,137,136,119,85,73,78,87,137,221,212,192,189,192,175,165,197,184,175,187,203,205,
+187,167,180,207,217,208,200,205,228,252,255,255,255,255,255,245,246,252,255,255,252,245,250,248,250,253,255,255,255,255,255,255,255,250,249,236,207,189,190,210,211,187,184,207,248,250,255,254,
+248,232,214,207,206,207,207,198,197,123,43,52,38,36,38,35,35,43,59,79,78,69,56,44,49,62,125,146,148,157,164,156,129,75,52,42,56,64,69,70,68,64,66,73,83,105,112,121,
+156,134,114,118,105,105,106,92,83,77,87,126,171,190,229,255,255,235,199,210,211,217,220,222,229,245,255,255,255,255,255,255,247,214,183,170,160,185,215,196,193,184,121,101,102,78,86,93,
+93,118,149,186,194,206,203,240,255,255,227,184,208,225,241,252,252,253,249,249,232,220,215,199,203,232,225,219,211,194,205,222,229,231,227,219,153,135,154,142,80,38,27,23,17,17,29,34,
+28,31,50,82,107,104,93,69,47,42,48,44,34,19,24,20,22,29,33,51,57,36,33,52,65,63,49,50,69,94,132,132,97,76,68,76,98,128,146,165,156,127,111,127,132,130,93,84,
+114,165,179,182,146,144,179,196,185,176,204,204,200,194,196,207,190,179,206,225,227,224,204,208,227,254,255,255,255,255,255,243,242,245,249,255,253,243,228,228,240,242,250,255,255,255,255,255,
+255,254,249,221,184,196,213,222,210,190,198,196,233,252,254,253,246,227,212,217,208,205,211,203,200,165,94,92,78,61,52,49,43,47,79,105,90,58,44,43,38,41,65,108,141,165,154,98,
+66,61,57,51,56,57,62,65,62,57,59,65,72,90,111,146,167,135,134,104,80,83,86,79,82,91,151,218,249,243,250,255,255,246,212,213,219,224,235,247,253,254,255,255,255,255,255,250,
+231,203,178,173,167,184,200,214,198,160,106,104,112,86,82,79,111,111,148,193,176,175,178,220,239,215,157,155,183,238,241,248,248,246,217,200,210,210,204,183,199,215,198,185,200,213,201,197,
+208,224,224,220,170,116,132,127,62,28,26,22,24,22,21,35,43,52,69,83,105,109,109,80,49,40,45,55,51,35,27,38,62,66,63,83,65,42,76,100,97,72,55,45,83,160,160,151,
+115,80,68,76,99,135,180,164,137,106,100,116,105,80,72,75,128,146,130,143,167,121,144,175,177,169,184,196,205,220,217,217,226,189,203,213,199,201,186,197,218,249,255,245,226,226,236,233,
+235,232,229,233,241,233,228,238,252,248,249,255,255,255,255,255,255,255,246,217,207,225,228,225,201,185,206,224,239,248,250,247,240,221,207,206,203,204,211,206,201,194,189,155,122,127,97,73,
+54,59,105,118,73,52,50,43,43,43,31,72,115,137,76,40,52,63,57,55,52,54,55,57,56,55,57,59,64,77,104,143,176,158,161,94,63,69,80,87,104,128,207,255,255,255,255,253,
+254,248,232,219,221,232,250,255,255,255,254,255,255,255,249,228,207,184,163,154,151,165,193,213,157,116,105,119,115,107,93,94,147,140,144,178,151,146,160,171,163,185,207,198,204,249,249,241,
+232,205,168,133,151,165,178,192,205,214,194,155,194,224,212,197,193,194,197,203,161,113,125,112,56,28,21,19,35,34,22,38,69,85,86,84,112,129,118,71,51,38,34,55,50,50,95,140,
+136,112,85,84,90,116,162,154,127,83,82,71,104,163,162,176,177,136,86,82,95,120,172,148,153,120,72,88,77,57,47,51,84,109,118,106,148,147,129,130,143,156,165,168,198,215,204,212,
+228,211,185,171,137,141,130,144,175,211,228,196,141,160,186,215,229,214,217,227,234,227,241,254,255,255,255,255,255,255,255,255,255,255,254,246,240,238,239,232,211,197,224,238,236,246,246,241,
+233,210,201,201,199,204,210,208,210,207,212,191,170,186,144,111,82,87,105,100,79,71,61,55,49,45,45,47,65,58,21,29,48,59,56,50,45,44,49,50,48,48,51,55,58,73,92,132,
+172,169,142,88,64,58,75,118,171,225,246,255,255,255,254,253,249,218,224,217,215,234,253,255,255,255,253,241,240,242,233,204,184,161,149,146,148,165,196,196,148,101,97,108,115,136,142,129,
+189,163,146,154,133,132,164,150,161,213,253,255,255,253,242,225,213,149,115,115,123,142,170,193,192,183,142,115,170,206,210,214,205,177,160,172,139,111,121,99,55,35,23,27,48,34,27,45,
+75,95,80,101,111,122,113,88,59,31,28,62,50,79,180,203,164,123,95,79,98,146,171,168,139,88,98,112,129,146,150,175,198,162,133,108,88,122,167,155,170,144,101,88,70,65,43,49,
+70,94,127,112,112,144,158,118,114,122,121,109,155,182,173,208,231,203,154,132,102,97,90,99,112,140,163,150,111,105,137,184,180,182,205,220,222,220,247,250,249,252,255,255,255,255,255,255,
+255,255,255,254,253,250,245,236,226,215,225,238,246,248,246,243,229,207,197,191,192,203,210,215,215,222,215,203,218,190,155,141,122,113,92,105,122,91,87,85,64,57,51,37,42,36,22,30,
+42,47,48,41,37,36,38,37,40,43,44,48,52,68,93,118,128,133,121,82,58,61,78,120,171,232,245,248,255,255,255,247,234,196,213,218,201,226,250,255,255,255,240,206,192,206,217,203,
+171,150,150,150,144,154,207,224,178,134,115,115,153,164,200,198,206,183,144,134,127,132,164,185,165,217,254,238,192,179,143,134,127,104,108,119,108,126,136,156,160,116,88,88,120,183,207,214,
+196,158,140,136,122,113,127,90,58,48,40,56,68,50,63,99,123,105,99,128,130,134,125,95,52,35,44,62,68,88,146,182,160,153,121,87,134,170,193,214,163,113,143,143,157,151,154,167,
+167,180,183,137,122,147,169,161,164,141,118,102,78,69,62,56,72,98,119,120,126,143,139,113,93,88,86,73,109,139,156,200,210,164,109,83,82,80,70,77,73,77,93,95,82,78,97,105,
+106,136,167,198,219,219,235,242,248,249,254,254,255,254,252,254,255,255,255,255,255,254,247,239,231,222,204,206,229,242,229,224,204,180,172,179,176,196,208,229,231,232,222,225,227,184,182,190,
+183,135,93,100,109,86,86,87,80,70,55,40,31,29,23,29,40,38,37,29,26,27,29,27,31,37,41,44,45,58,87,107,99,107,111,82,59,65,88,120,126,153,189,218,239,245,225,214,
+226,172,183,212,203,211,240,252,253,245,229,211,207,212,220,212,183,161,149,169,178,165,214,246,222,172,157,142,179,197,219,228,246,245,214,194,150,150,179,210,221,243,255,201,149,140,134,144,
+128,95,111,99,104,106,105,149,141,92,75,91,139,196,212,192,135,92,120,140,115,113,134,113,68,59,64,90,85,86,116,165,167,125,127,168,184,160,147,95,68,68,65,50,52,125,170,183,
+191,194,171,177,212,201,199,205,194,165,163,137,141,140,127,147,146,185,203,187,186,191,183,183,176,147,116,91,70,63,71,65,61,71,82,91,102,108,105,90,78,72,77,78,97,118,147,179,
+186,133,80,65,66,57,51,59,57,50,48,52,56,73,93,93,88,105,136,158,206,219,213,226,225,233,250,253,249,247,245,243,253,252,254,254,254,254,253,245,235,219,160,171,225,246,222,206,
+183,155,132,146,172,197,203,229,241,240,240,240,240,235,235,225,220,175,122,104,88,69,63,65,77,58,40,29,28,24,21,23,27,28,21,15,12,15,20,22,27,34,38,45,47,50,68,86,
+95,104,111,84,73,70,84,102,132,156,204,210,190,200,200,217,229,212,208,224,221,186,192,232,236,235,225,224,222,212,185,183,173,148,140,176,221,214,219,238,215,206,194,175,219,249,247,243,
+242,242,210,168,162,136,106,143,235,248,235,169,149,147,168,169,180,154,125,99,111,105,120,139,150,133,105,147,192,206,203,177,130,98,135,154,128,118,107,113,91,69,70,104,100,115,119,170,
+189,169,163,204,164,126,112,105,114,94,65,43,82,208,239,235,250,240,239,255,226,187,179,186,196,176,199,180,120,84,98,153,139,184,201,205,211,207,187,153,165,148,111,80,49,44,48,47,
+48,55,57,64,76,80,84,80,65,54,61,68,77,97,132,161,189,132,93,70,42,36,47,44,43,48,41,41,47,73,122,123,111,122,126,132,172,183,133,141,125,101,149,235,242,236,235,227,
+233,241,247,250,253,254,253,243,240,228,180,196,231,222,205,182,169,149,133,149,184,203,201,236,246,249,250,252,253,253,250,246,240,190,141,114,77,56,49,43,42,36,34,31,29,27,26,26,
+22,16,12,3,0,1,9,14,20,26,33,41,48,51,56,69,85,84,82,77,86,92,94,90,126,167,191,210,193,180,197,220,232,235,227,222,228,175,135,150,165,214,228,225,191,156,156,176,
+169,151,128,162,215,228,220,236,204,234,241,234,249,255,255,253,247,225,169,137,155,143,94,121,189,168,144,113,128,177,200,189,186,153,102,94,112,123,164,161,182,193,179,160,168,179,171,168,
+164,161,180,163,132,140,140,170,158,134,135,128,91,82,92,154,212,212,206,179,136,105,102,112,105,82,61,48,151,246,246,255,255,255,250,250,242,235,231,213,196,187,196,161,126,136,177,156,
+151,194,192,192,204,203,160,108,129,114,82,62,47,41,27,27,30,33,36,47,68,69,63,69,62,44,44,49,59,77,115,136,148,130,98,58,31,24,29,33,37,41,40,38,51,85,157,168,
+119,130,132,130,149,105,64,86,72,44,50,133,218,212,220,210,211,200,208,236,245,250,252,246,235,233,219,213,221,187,170,167,168,167,155,169,192,207,227,247,252,253,255,255,255,255,254,249,
+213,155,130,100,68,55,49,49,40,31,37,40,34,27,29,28,19,10,3,0,0,0,0,5,10,16,24,33,38,44,50,58,61,65,62,64,91,105,115,92,99,137,161,175,191,165,183,212,
+234,239,218,201,252,213,93,83,102,187,224,191,123,97,113,157,204,200,156,168,168,184,204,200,207,239,247,254,254,255,255,253,255,233,184,196,190,184,160,160,148,108,83,84,122,186,183,178,
+154,97,83,94,111,120,175,186,200,213,185,139,146,162,172,161,149,143,158,148,148,165,183,194,186,187,201,192,136,128,132,141,225,225,189,184,177,140,119,104,88,106,129,126,238,255,253,255,
+255,255,253,253,243,207,192,191,210,187,168,168,179,179,163,107,137,186,187,158,180,182,146,114,90,68,57,54,44,36,23,17,15,15,23,34,58,50,45,56,58,44,33,38,56,88,125,123,
+100,85,62,35,23,22,24,31,40,37,34,37,50,68,115,191,146,123,136,149,121,49,45,61,48,34,42,73,173,207,208,206,179,148,163,217,236,239,246,242,221,184,155,192,204,163,156,144,
+128,154,164,196,205,214,247,253,253,255,255,255,255,255,255,250,199,137,101,80,71,64,61,61,49,38,41,44,59,43,31,26,15,8,0,0,0,0,0,0,2,13,20,26,30,35,41,45,
+47,45,51,61,86,86,86,79,84,109,142,160,179,172,184,191,212,233,220,199,245,225,98,82,116,185,206,183,146,118,122,144,171,176,164,162,170,179,199,191,175,200,234,249,254,255,255,254,
+255,250,234,227,205,183,165,142,130,99,78,97,127,146,161,160,112,79,71,82,97,107,167,193,186,186,186,173,187,192,187,153,134,146,160,171,187,190,196,191,183,193,206,212,212,229,221,227,
+252,247,227,238,226,194,135,98,125,214,239,241,250,253,254,255,255,254,254,255,238,144,149,172,212,227,219,218,198,168,108,85,137,150,150,104,123,168,155,115,72,57,48,43,37,33,23,19,
+14,17,29,30,38,34,35,45,54,44,31,40,77,118,118,98,72,66,45,28,26,27,28,33,38,36,34,41,48,58,80,160,163,150,137,156,116,30,24,36,33,23,29,44,90,175,203,167,
+87,79,122,200,235,238,240,235,221,186,141,169,167,133,136,122,128,146,155,210,222,224,238,253,255,255,255,255,255,255,255,253,197,109,85,83,79,76,77,69,59,50,50,51,66,43,23,15,
+8,5,0,0,0,0,0,0,0,6,12,17,24,30,35,36,36,36,43,58,75,72,65,62,70,87,113,144,151,147,140,143,175,220,226,208,242,250,147,121,139,136,168,187,162,161,167,161,
+155,150,136,149,170,185,180,187,207,228,246,255,255,255,255,255,252,246,225,217,182,146,127,127,128,102,86,94,94,113,139,122,72,66,64,65,76,118,165,176,178,176,215,200,187,189,175,142,
+155,177,177,204,205,207,203,165,158,190,231,241,250,248,254,255,255,255,252,249,248,248,219,179,208,255,254,255,250,253,255,255,255,255,255,253,240,182,197,226,224,241,233,233,205,136,116,151,
+156,115,136,129,115,132,115,87,72,57,42,37,35,30,20,15,13,16,20,17,23,27,37,41,40,44,52,62,118,127,92,78,63,56,45,35,34,33,33,34,35,34,36,42,58,102,135,135,
+135,120,112,135,98,27,17,16,17,20,24,34,48,102,151,120,56,52,73,125,199,231,234,231,236,215,171,171,161,133,142,118,118,105,132,190,214,225,235,254,255,255,255,255,255,255,255,241,
+150,91,84,83,83,77,73,69,63,62,54,45,43,28,20,13,5,0,0,0,1,0,0,0,0,3,6,12,19,26,30,30,29,33,45,71,78,73,71,65,68,82,101,130,119,94,99,107,
+147,167,155,182,242,250,190,203,229,210,175,172,155,148,154,140,136,127,116,130,185,238,236,233,239,255,255,255,255,255,255,255,221,183,180,201,179,160,129,116,120,119,113,102,104,122,116,93,
+65,51,61,58,79,123,165,193,215,233,221,189,184,173,130,137,187,218,213,215,199,201,200,165,167,226,252,247,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,255,255,
+255,255,255,254,254,234,212,234,238,232,231,226,212,197,199,215,179,157,163,154,143,105,76,75,70,54,40,36,31,23,17,13,14,10,3,6,22,37,49,42,48,69,85,108,127,106,84,71,
+63,61,56,42,37,35,35,36,38,40,40,52,70,116,179,139,127,164,155,122,79,47,36,36,34,34,35,31,36,49,58,51,47,48,57,80,143,193,183,178,211,196,162,180,157,128,128,104,
+102,106,119,183,196,197,238,255,255,255,255,255,255,255,255,227,143,93,85,83,75,72,66,64,57,61,48,36,31,24,16,12,5,0,0,0,0,0,0,0,0,1,2,6,15,22,24,24,
+28,38,54,83,91,82,72,70,69,78,104,128,101,88,100,93,153,135,119,168,224,210,217,253,255,246,182,157,147,107,100,112,120,105,118,148,225,255,252,254,253,255,255,255,255,255,255,255,
+203,142,127,167,218,199,156,144,139,161,162,134,118,101,70,57,50,45,57,61,95,136,194,219,221,232,204,186,206,157,149,183,162,199,221,208,226,217,221,224,236,255,254,254,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,250,246,243,233,228,221,229,215,213,212,196,163,153,163,162,114,88,87,88,62,37,30,22,28,30,15,
+14,7,1,17,45,51,43,40,48,77,129,153,132,88,68,59,58,57,52,47,40,38,38,41,43,47,54,65,107,156,200,173,173,183,160,129,102,99,107,105,83,61,45,37,36,36,31,35,
+41,45,55,83,126,123,123,134,144,149,170,157,128,116,114,108,111,113,132,187,196,211,239,254,255,255,255,255,255,255,253,220,154,106,93,94,84,79,72,69,55,45,43,34,33,27,20,15,
+6,2,0,0,0,0,0,0,0,0,0,6,15,20,21,23,31,45,59,87,94,86,69,72,69,77,112,140,141,112,91,88,118,115,111,146,180,154,172,229,255,240,225,206,134,98,106,127,
+129,107,120,179,234,254,255,255,255,255,255,255,255,255,255,253,224,140,122,149,198,207,180,197,179,160,162,139,108,93,73,51,43,51,65,90,126,148,176,179,169,170,191,210,238,189,179,160,
+146,190,217,226,250,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,246,228,213,219,218,201,214,211,
+192,176,165,170,150,132,118,84,70,51,44,26,35,57,33,19,12,5,17,65,83,73,51,57,54,95,161,146,134,105,76,57,58,54,49,50,43,40,38,41,43,44,54,73,146,204,221,213,
+203,146,147,175,146,149,149,125,83,58,40,33,35,33,24,24,29,38,48,78,134,130,118,118,119,132,156,177,155,123,137,142,112,111,127,182,217,233,242,254,255,255,255,255,255,255,252,226,
+178,153,105,106,104,90,71,65,54,44,38,35,38,31,28,21,12,5,2,0,0,0,0,0,0,0,0,3,13,17,19,24,34,45,64,95,107,76,70,79,80,95,115,146,173,137,90,76,
+79,80,78,92,113,127,168,176,215,219,196,182,127,105,113,140,169,173,197,241,228,247,255,255,255,255,255,255,255,255,255,255,241,136,128,160,201,210,203,189,158,129,140,128,104,86,90,69,
+48,55,71,92,115,137,137,150,148,148,184,171,187,200,156,136,161,208,217,236,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,254,253,246,227,217,221,217,214,221,217,198,203,200,183,153,140,111,58,40,34,48,95,112,82,34,27,17,10,29,72,94,93,63,79,86,104,135,136,132,121,88,62,
+56,50,48,51,48,41,37,40,42,41,44,68,134,208,224,208,205,173,157,200,194,160,157,114,54,43,34,24,30,26,21,20,24,29,42,68,126,129,115,115,122,114,121,162,170,135,167,165,
+109,112,129,180,220,243,254,255,255,255,255,255,255,254,247,228,201,196,137,115,105,75,54,51,51,48,45,38,40,38,33,22,14,10,7,2,0,0,0,0,0,0,0,5,10,16,19,22,
+31,54,78,120,107,52,69,85,90,116,122,128,156,150,107,78,72,68,64,78,99,115,129,126,162,214,162,177,148,109,116,153,199,219,249,255,249,253,255,255,255,255,255,255,255,255,255,255,
+217,136,135,158,224,228,210,154,135,154,163,135,90,90,95,85,55,52,61,73,78,99,119,113,134,165,165,130,104,176,164,140,151,192,196,238,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,213,191,205,200,210,222,217,217,214,208,185,155,105,65,40,28,24,50,154,149,82,62,55,
+31,37,69,107,155,122,65,98,130,144,132,116,114,100,80,68,52,45,50,54,48,44,41,37,40,38,40,55,104,172,203,197,187,187,162,179,205,180,148,86,45,38,33,30,34,29,23,24,
+27,29,42,66,116,126,111,107,102,94,99,121,127,164,203,161,107,105,141,173,210,249,255,255,255,255,255,255,255,255,252,229,205,204,139,78,72,51,47,49,51,52,47,42,41,41,31,19,
+16,17,14,9,7,2,0,0,0,0,1,7,13,16,19,22,26,50,86,143,75,41,57,71,83,93,119,142,143,165,143,98,78,72,69,77,95,116,121,120,180,229,150,140,132,123,146,178,
+214,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,164,151,168,240,225,192,146,118,146,158,116,79,84,88,82,57,48,54,62,62,71,83,78,121,153,119,94,83,134,160,133,
+116,157,182,215,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,253,184,153,192,197,194,178,193,
+219,225,196,161,128,79,43,31,29,37,77,129,157,118,115,98,80,147,172,187,210,169,125,148,132,137,128,111,94,80,73,66,55,47,48,51,49,47,43,41,41,41,42,69,107,143,198,208,
+156,130,126,148,173,206,184,133,86,54,41,43,44,40,34,30,28,31,44,65,93,116,106,95,100,82,79,129,128,177,177,163,151,119,119,140,180,249,255,255,255,255,255,255,255,255,227,191,
+196,191,137,79,64,52,52,51,55,64,55,47,47,43,23,17,21,29,27,20,10,7,2,0,3,7,7,9,14,17,23,22,20,42,95,136,69,42,49,61,76,86,137,183,171,165,123,115,
+109,84,66,75,90,127,157,133,183,207,133,143,153,171,192,204,190,234,250,255,255,255,255,254,255,255,255,255,255,255,255,255,233,201,183,185,192,160,132,132,125,109,100,66,64,63,59,59,
+45,40,49,48,49,48,45,56,80,87,73,65,69,98,121,101,108,147,184,207,234,232,242,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,254,235,218,249,255,246,186,157,192,210,205,171,168,211,213,173,133,111,72,41,34,38,59,164,198,189,199,190,186,212,208,173,158,176,193,167,163,139,113,91,77,80,69,66,63,
+52,48,48,50,50,50,45,43,42,43,42,64,133,179,191,203,155,125,108,140,176,196,207,197,123,71,57,57,70,54,37,26,26,31,44,58,79,98,105,104,94,86,90,112,143,154,155,194,
+175,130,112,125,191,248,254,255,255,255,255,255,254,236,165,155,184,189,162,99,71,59,68,77,83,99,72,56,48,31,17,22,29,35,30,20,22,26,12,6,8,9,9,13,14,20,20,17,
+23,37,111,125,75,45,49,61,75,102,176,208,190,186,180,162,151,123,87,76,80,119,142,118,148,179,127,143,172,198,199,215,176,205,243,255,255,255,255,254,255,255,255,255,255,255,255,255,
+255,234,193,196,158,130,149,151,111,72,52,44,43,35,31,33,30,34,38,44,48,36,38,57,70,75,77,72,78,93,90,78,104,163,207,214,191,200,226,254,255,255,255,255,255,255,255,254,
+254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,249,243,234,226,236,221,206,180,161,172,203,214,199,196,197,165,140,106,99,70,48,38,43,114,220,225,226,235,231,231,
+243,225,199,189,186,186,168,179,146,90,71,78,77,64,65,52,48,52,52,54,52,52,50,48,44,44,41,54,111,143,161,165,153,136,119,146,189,205,201,187,163,109,78,86,78,45,27,24,
+27,33,41,55,76,93,112,109,94,101,101,120,162,154,165,160,128,115,140,150,190,232,239,253,255,255,255,255,255,222,163,165,191,194,170,108,100,90,113,127,141,151,106,72,50,27,23,28,
+35,31,24,23,45,56,22,13,15,14,15,16,16,21,17,17,41,61,95,80,43,37,47,63,98,146,178,170,148,183,239,225,190,151,129,95,75,95,100,104,132,136,118,118,141,168,192,199,
+176,192,239,255,255,255,255,255,255,255,255,255,255,255,255,255,255,246,210,210,180,153,137,109,75,65,49,40,30,23,20,19,21,29,41,50,54,50,56,90,111,119,113,108,121,130,102,76,
+115,178,201,211,197,219,238,250,255,255,255,255,254,254,249,247,247,253,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,249,235,236,241,232,191,135,130,141,146,169,196,227,227,206,
+158,155,140,109,94,75,73,75,78,194,236,231,236,245,240,234,247,247,238,221,200,189,171,148,118,99,88,83,68,64,68,58,56,55,52,52,54,54,50,49,48,47,47,55,82,104,115,108,
+120,129,113,125,158,185,208,225,194,142,87,84,48,34,28,26,29,36,41,55,54,71,99,95,105,115,98,112,164,171,161,122,118,140,161,201,201,199,218,211,239,255,255,255,255,218,194,203,
+197,178,130,97,123,133,134,139,144,161,109,85,54,34,27,30,30,26,26,34,62,68,30,20,26,22,21,17,17,23,24,33,76,105,105,73,50,37,41,56,92,139,164,154,137,148,212,217,
+175,126,116,90,70,90,100,82,111,155,134,135,143,172,200,196,203,236,246,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,187,176,178,169,122,73,57,64,50,31,24,17,14,15,
+17,29,42,58,92,97,90,128,146,151,143,153,157,143,111,82,127,177,206,212,226,241,235,247,253,254,254,253,252,246,236,245,241,250,254,255,255,255,255,246,248,255,255,255,255,255,255,253,
+248,236,208,213,198,153,112,101,119,129,185,197,198,232,241,210,186,185,156,142,116,114,160,192,191,247,245,246,248,246,242,246,253,238,163,157,167,193,172,143,123,104,78,63,55,64,62,59,
+58,55,52,52,54,52,54,52,51,52,52,66,69,72,93,98,87,87,90,112,132,143,183,215,175,149,118,79,35,36,31,28,28,35,42,51,45,43,42,38,43,52,63,118,165,139,123,144,
+153,160,165,192,184,200,191,171,228,255,255,255,252,214,196,204,191,158,127,111,113,120,118,123,127,135,98,91,55,35,28,24,24,27,42,62,76,76,37,33,36,35,29,27,24,26,47,71,
+109,135,144,116,75,44,34,44,64,97,118,142,160,123,164,180,177,142,87,72,64,108,133,80,107,189,172,161,160,182,207,217,228,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,254,242,189,170,151,105,61,45,44,37,28,20,16,12,17,21,29,45,71,123,155,155,189,189,180,190,207,197,157,135,102,127,184,218,219,228,228,228,218,217,214,228,238,247,245,232,236,
+241,252,255,255,247,240,233,226,240,255,255,255,255,255,255,246,235,229,217,204,187,160,165,180,171,187,213,228,234,246,249,220,205,217,212,171,130,164,247,249,255,248,249,252,252,253,248,252,
+253,234,146,170,189,189,183,154,122,88,57,42,45,57,50,48,48,49,47,48,50,54,52,54,51,52,55,63,58,58,65,57,55,54,68,93,114,112,115,139,122,125,154,82,23,28,31,30,
+22,28,37,37,30,23,20,20,29,41,45,69,97,98,94,134,164,185,218,206,168,162,153,157,232,255,255,255,252,224,192,200,187,139,113,121,119,127,143,164,171,141,104,92,58,38,28,23,
+24,28,44,65,71,65,47,41,51,56,50,45,38,48,104,135,146,149,143,126,82,35,31,41,45,62,78,112,148,123,109,109,148,165,94,72,79,113,157,147,171,211,182,149,172,229,248,235,
+246,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,226,163,94,65,49,34,22,21,15,13,13,17,22,33,57,90,134,171,199,240,243,232,236,232,196,153,134,106,
+142,193,214,231,238,222,214,176,157,175,198,221,241,241,220,222,232,231,229,218,206,210,210,222,231,249,254,255,255,255,255,254,243,232,231,221,215,218,222,235,217,219,227,232,240,253,253,248,
+245,254,255,249,228,242,255,254,254,253,253,255,255,254,255,255,249,245,210,201,213,192,173,142,111,77,50,35,35,40,37,34,38,42,43,44,45,50,50,52,51,52,54,52,47,38,36,31,
+30,24,27,44,65,63,62,101,141,135,114,51,19,23,23,24,16,20,28,28,22,17,14,14,21,35,38,42,51,63,73,95,156,213,201,183,156,129,160,185,183,206,235,234,225,204,210,199,
+164,126,120,136,142,141,176,201,217,200,109,93,63,38,28,27,28,27,34,47,56,52,43,41,58,69,64,62,68,80,100,144,171,167,150,115,92,41,34,41,44,50,62,73,95,104,88,78,
+93,137,97,65,87,104,135,189,245,228,169,169,164,240,255,240,227,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,248,241,179,148,153,49,20,20,17,12,8,12,16,
+19,31,58,94,135,162,193,224,250,245,239,227,185,143,123,121,170,203,218,235,242,201,186,162,136,143,165,184,196,190,187,186,192,184,180,160,154,182,210,226,231,232,241,255,255,255,255,255,
+248,241,239,239,236,232,229,240,234,228,228,231,242,253,255,255,250,250,255,255,255,255,255,255,255,254,253,255,255,255,255,255,254,255,243,220,212,198,168,137,104,75,52,34,22,21,19,20,
+26,33,36,38,41,41,45,47,48,48,47,47,44,35,27,21,17,13,9,19,45,49,43,83,118,111,95,54,21,30,29,15,8,17,29,33,33,21,15,10,7,14,23,22,27,43,91,116,
+162,217,158,151,139,137,141,158,141,162,189,213,214,218,208,172,149,130,137,121,122,144,156,185,215,190,94,78,52,29,26,28,33,29,37,54,66,59,59,66,75,68,59,79,120,111,90,140,
+183,178,153,134,116,49,37,42,45,51,56,57,66,86,88,76,71,123,129,79,75,84,100,164,252,249,233,226,194,201,255,255,235,242,254,254,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,238,186,163,150,70,19,15,17,12,9,10,16,20,29,52,87,122,158,190,201,240,233,205,197,193,178,151,176,219,231,239,242,229,194,173,146,151,139,130,150,155,156,172,171,
+173,163,175,155,153,179,214,225,234,234,248,255,255,255,255,254,253,252,252,249,242,233,235,239,238,227,224,231,242,252,255,254,250,249,255,255,255,255,255,254,255,255,254,255,255,255,255,253,
+254,255,254,247,227,205,171,133,102,76,54,34,21,19,10,10,10,17,22,28,34,37,37,41,42,42,43,43,40,35,24,17,9,6,5,6,23,37,29,55,69,80,113,66,17,19,21,8,
+9,31,49,66,63,31,22,15,7,7,8,12,38,77,130,135,163,207,155,132,111,107,99,88,99,143,189,204,182,192,217,175,142,128,141,99,98,156,169,183,213,190,91,49,38,29,27,36,
+51,52,57,76,77,76,88,114,102,70,64,112,157,154,175,200,193,168,115,92,94,55,47,41,45,52,55,56,57,76,93,84,71,95,108,82,72,76,85,139,219,249,255,254,207,153,215,245,
+255,249,247,252,249,236,250,255,255,255,255,255,255,255,255,255,255,255,255,255,253,177,105,90,78,37,15,16,14,12,10,16,20,27,49,79,122,163,176,169,191,191,200,217,225,208,160,160,
+193,208,219,218,201,180,161,167,196,162,116,139,150,169,207,185,163,141,169,157,163,199,234,242,246,248,254,255,255,255,255,255,254,252,252,254,246,234,236,233,228,212,226,236,240,248,248,250,
+254,255,255,255,255,254,255,255,255,255,255,255,255,255,254,252,250,254,252,248,236,213,176,135,104,78,55,35,21,10,8,7,5,9,12,15,29,37,37,42,45,45,43,40,37,31,24,16,
+9,5,2,3,8,17,21,33,45,47,78,72,33,23,38,34,43,43,59,94,76,35,26,21,19,19,17,24,65,107,139,143,156,198,126,93,84,85,70,59,79,105,147,155,134,154,187,156,
+134,147,162,135,136,192,201,186,193,196,141,66,41,36,33,40,65,77,77,90,101,118,120,125,106,83,86,116,157,189,206,213,201,129,69,54,63,62,51,38,44,52,52,54,55,61,75,82,
+90,95,99,84,86,105,91,111,157,180,221,255,193,163,193,198,235,245,238,224,210,201,242,255,254,255,255,255,255,255,255,255,255,254,254,254,239,172,95,57,36,36,20,14,13,12,10,10,
+15,23,47,78,114,127,113,140,160,156,173,194,179,194,191,187,186,196,196,167,175,196,187,205,213,177,168,185,180,179,210,175,151,161,160,144,176,218,242,246,250,254,255,255,255,255,255,255,
+255,253,252,254,254,243,233,229,232,200,221,231,233,247,249,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,254,254,252,245,215,175,141,111,82,64,43,24,13,10,7,
+6,7,9,16,26,35,37,38,45,44,42,38,35,30,23,20,14,8,7,6,9,14,22,28,26,24,43,76,56,58,62,44,62,65,76,79,54,35,27,24,28,24,23,35,69,123,148,163,
+129,156,99,92,97,73,66,64,90,127,137,130,154,182,139,143,155,165,173,180,192,213,215,191,185,192,170,93,63,56,43,55,85,112,101,112,140,157,151,146,121,107,108,100,111,183,210,218,
+191,119,70,68,62,61,47,36,37,45,49,50,50,56,64,68,76,88,107,101,94,128,140,135,139,136,185,254,221,210,225,199,214,229,233,193,172,190,227,248,249,254,255,255,255,255,255,255,
+255,254,252,250,238,154,83,52,26,23,16,15,15,14,10,10,16,29,49,77,100,90,68,106,147,127,135,158,180,190,192,184,183,173,137,113,139,178,201,205,187,192,215,200,175,186,179,154,
+146,164,143,150,197,224,245,249,255,255,255,255,255,255,255,255,253,252,253,255,255,254,252,252,246,212,222,232,234,241,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+253,250,255,255,253,228,164,123,106,77,64,50,26,12,8,8,3,6,7,14,22,26,26,31,44,48,37,37,34,29,24,19,14,12,9,8,12,17,23,24,17,14,27,70,99,64,48,50,
+56,71,64,43,37,33,29,27,26,20,26,45,87,167,169,175,141,139,116,127,132,107,99,82,115,158,161,150,173,147,133,179,191,179,177,205,213,208,208,206,197,176,112,99,83,69,68,82,
+108,132,100,114,141,154,178,175,130,104,120,127,116,172,203,211,197,148,111,75,65,64,50,36,37,40,47,49,49,52,57,55,61,70,88,125,123,151,190,185,143,133,168,252,255,253,248,239,
+224,232,236,184,177,197,206,229,243,254,255,255,255,255,255,255,252,255,253,250,255,164,48,34,16,16,20,16,16,16,14,16,21,33,49,72,94,105,100,118,121,116,146,160,201,206,199,173,
+163,134,105,100,126,165,192,180,186,198,187,165,153,161,129,116,141,169,160,193,232,235,246,249,254,255,255,254,255,255,255,253,252,253,253,254,254,254,254,254,252,234,226,225,220,220,242,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,253,240,234,252,255,229,157,108,106,92,69,41,23,12,5,2,2,3,3,9,19,26,26,33,45,51,37,35,36,35,30,21,
+14,12,13,15,23,30,27,28,17,12,30,70,118,79,49,62,86,82,41,40,48,42,36,29,21,21,36,52,75,161,168,180,201,168,127,130,139,135,121,86,99,135,172,196,185,157,177,193,
+197,169,185,208,198,185,205,218,207,162,107,116,98,108,108,109,140,137,118,128,149,167,194,185,144,126,142,127,161,201,203,208,204,186,135,93,71,66,56,44,47,43,43,44,44,48,52,52,
+54,50,68,116,143,165,179,197,167,130,137,241,255,254,255,255,248,249,229,191,157,182,218,232,238,253,255,255,255,255,255,254,239,236,243,241,221,205,93,22,10,9,15,16,22,21,21,22,
+21,28,44,66,90,106,106,113,104,114,156,187,210,197,191,180,161,114,77,77,111,175,173,173,160,146,144,182,169,133,137,146,175,206,201,205,199,197,219,236,250,245,252,252,248,245,242,240,
+243,249,253,253,254,253,248,220,208,213,210,201,193,224,241,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,241,238,221,206,243,249,224,164,111,109,109,77,41,19,7,1,3,
+15,17,10,16,37,48,55,61,78,58,41,55,57,57,42,23,15,19,16,22,41,44,33,35,28,27,49,93,140,121,82,73,98,77,36,40,37,38,38,30,23,22,43,65,91,149,144,148,
+212,158,142,149,160,136,100,73,71,82,95,183,238,207,187,192,193,155,176,196,142,127,170,185,184,148,122,126,113,125,111,135,163,156,114,104,141,192,198,180,167,153,136,118,156,186,196,179,
+177,172,169,143,84,79,76,65,59,45,40,35,37,47,55,55,50,45,62,92,112,149,175,186,169,142,134,228,252,255,255,255,252,225,201,186,143,150,204,243,234,236,252,254,255,255,255,255,
+182,144,207,234,178,191,134,43,33,14,9,16,30,35,29,24,23,29,48,70,85,95,106,120,132,158,180,200,204,190,185,178,149,100,73,66,80,122,114,129,129,143,133,163,177,144,157,157,
+163,194,197,172,146,165,190,220,220,198,218,225,214,194,232,243,242,247,255,255,254,250,235,200,176,184,203,203,203,224,239,249,255,255,255,255,255,255,255,255,255,255,255,255,255,250,234,219,
+214,229,236,222,180,162,143,107,100,107,92,62,26,12,2,9,30,15,24,86,111,98,95,72,83,91,114,122,90,63,37,27,21,27,24,24,33,37,50,59,52,57,82,130,176,162,92,52,
+52,58,51,35,29,28,28,23,21,23,42,59,87,111,105,147,190,155,201,203,173,120,77,63,62,91,126,171,211,189,192,204,179,148,167,151,95,93,113,146,168,149,116,107,112,151,167,170,
+155,146,97,78,108,176,199,183,182,200,194,170,142,141,154,150,155,171,192,170,116,100,99,80,47,35,34,33,36,43,48,48,47,41,48,62,64,92,130,176,176,114,121,208,242,255,255,254,
+232,193,179,172,151,113,162,238,229,220,253,255,255,255,255,236,201,155,194,225,161,184,160,83,85,50,19,24,51,61,47,30,26,31,49,70,79,92,122,139,171,196,201,205,182,169,176,177,
+143,100,85,73,61,70,91,111,112,97,104,118,144,150,126,139,139,160,163,201,179,180,167,179,164,142,171,193,185,199,239,254,255,255,253,249,246,243,225,211,213,201,193,200,212,207,215,218,
+235,252,255,255,254,249,255,255,255,255,255,255,255,250,225,192,208,222,201,153,106,83,83,85,93,100,99,80,43,26,8,22,48,29,52,101,139,118,87,61,65,101,140,129,90,58,43,34,
+20,20,22,21,35,62,77,71,64,82,107,162,196,149,55,35,34,50,50,34,37,24,17,15,14,16,24,27,48,68,69,122,165,177,229,221,161,106,79,68,69,119,165,184,193,205,222,217,
+189,190,183,111,72,76,128,187,176,144,136,129,133,191,190,172,165,147,100,70,75,142,203,205,201,212,217,151,101,128,176,156,149,167,164,164,142,127,90,54,29,28,29,30,34,36,40,40,
+41,42,41,44,51,57,69,125,137,86,92,134,206,250,254,253,201,197,197,182,171,120,125,203,240,248,255,255,255,254,252,218,228,178,193,210,172,199,198,119,98,71,44,42,72,87,68,41,
+27,35,47,59,71,120,157,171,198,191,201,199,155,139,173,180,143,108,92,79,62,56,86,93,95,84,87,105,116,115,120,142,146,172,182,226,196,163,165,163,146,129,156,187,198,198,242,255,
+236,218,201,194,211,224,218,217,218,194,180,180,200,187,177,187,219,238,248,248,238,240,255,255,255,255,255,253,227,199,185,177,186,169,119,95,78,61,90,129,114,94,95,100,62,33,28,41,
+52,50,47,42,82,109,99,63,58,70,83,88,68,43,44,30,15,9,10,14,30,69,91,87,76,80,104,141,175,144,52,47,45,48,47,34,33,20,13,8,8,3,1,1,8,17,40,83,
+140,211,229,204,137,113,85,61,83,153,168,151,176,233,233,177,189,214,194,129,80,91,156,206,197,183,184,176,164,200,198,165,140,126,98,70,75,123,197,198,198,214,204,134,142,186,177,107,
+146,156,144,155,156,118,62,34,27,28,29,30,31,34,41,43,49,45,37,37,36,38,45,63,93,82,87,100,149,208,253,249,193,193,214,218,205,119,95,154,227,255,255,255,253,252,247,236,
+227,215,212,196,194,191,148,107,88,65,57,54,66,64,63,52,36,38,44,51,83,114,164,189,196,203,204,210,198,191,199,177,147,114,87,75,61,49,61,73,91,93,95,112,105,114,132,132,
+139,212,245,240,219,217,234,220,194,156,172,199,218,235,250,254,217,187,194,215,228,225,218,215,205,203,200,187,194,165,150,168,191,215,232,226,210,198,241,255,255,255,255,250,226,189,162,171,
+163,139,122,140,164,118,135,148,140,130,141,129,76,61,64,51,29,19,14,16,27,69,70,49,49,52,61,61,35,28,26,15,9,7,8,12,28,61,85,82,68,66,78,113,122,141,91,58,
+55,49,41,41,30,17,7,1,0,0,0,0,0,8,40,63,122,201,226,191,128,106,70,56,78,123,141,156,178,225,214,179,187,199,177,136,127,141,163,175,177,171,177,167,170,180,191,171,
+98,91,122,114,128,127,179,206,201,225,205,161,184,184,140,104,149,161,142,147,139,87,66,61,43,34,34,28,33,37,49,54,68,75,49,35,37,44,50,58,70,64,76,83,107,193,245,238,
+214,197,217,210,163,94,83,134,213,248,253,254,247,246,245,240,243,229,193,190,177,163,93,63,58,44,51,55,42,37,44,43,36,41,45,65,91,94,143,189,201,242,243,250,250,240,213,173,
+147,113,82,62,48,41,45,57,77,83,97,109,113,127,126,109,141,231,255,255,214,169,187,191,171,148,125,129,187,247,250,234,211,219,227,236,227,219,208,206,200,210,191,172,155,163,147,147,
+186,213,218,213,205,185,203,231,254,255,254,249,246,205,161,161,172,167,170,180,218,184,165,160,150,162,158,130,113,111,82,47,17,6,1,2,5,16,28,36,64,49,48,69,45,24,20,15,
+9,13,12,14,35,59,51,44,55,43,45,82,77,86,52,27,37,40,50,52,31,14,2,0,0,0,0,0,0,0,13,38,84,130,161,185,147,98,64,52,61,86,127,165,190,221,193,175,
+192,179,141,115,134,133,147,136,144,176,175,163,178,163,162,141,109,102,134,135,153,150,190,220,226,233,221,224,211,187,141,148,153,161,125,88,77,78,65,86,86,61,43,31,30,43,58,66,
+95,114,91,64,58,59,69,71,80,79,71,78,112,191,221,192,164,162,196,189,161,134,97,135,183,194,194,219,231,232,236,235,236,224,176,200,203,165,133,85,73,43,40,42,37,42,47,41,
+34,40,48,61,71,94,151,187,222,255,255,255,255,255,228,178,141,107,77,56,43,38,40,52,72,90,100,104,112,116,104,92,122,203,252,228,173,125,115,127,125,106,91,109,170,214,204,178,
+165,201,222,224,215,194,163,139,153,162,151,160,157,190,191,179,167,180,187,191,203,197,178,212,254,255,254,250,247,234,218,212,208,192,170,182,213,214,197,165,163,170,155,140,127,97,59,29,
+7,2,0,0,0,5,22,35,45,31,35,51,36,21,17,15,13,16,22,26,42,48,31,40,41,14,12,26,24,0,0,5,21,31,45,52,27,3,0,0,0,0,0,0,0,0,5,24,
+87,119,101,99,93,77,52,45,58,91,125,144,179,193,162,162,160,153,120,88,83,104,121,139,172,205,198,182,180,148,120,142,148,118,111,135,156,178,211,226,225,228,231,235,220,172,179,194,
+147,149,112,78,68,95,97,91,95,86,62,38,33,49,77,102,129,149,142,127,127,100,94,83,73,78,88,98,133,183,207,198,182,168,151,150,163,163,128,120,153,156,168,201,221,220,232,234,
+238,222,178,170,186,144,147,115,76,44,45,37,40,52,51,50,54,43,42,56,72,107,160,180,231,255,255,255,255,255,236,190,149,115,84,63,57,49,50,57,78,105,107,99,104,98,91,99,
+146,190,215,167,160,116,105,140,134,99,113,154,185,176,171,162,144,164,201,194,196,155,106,93,105,127,142,180,184,206,211,178,141,160,175,186,191,182,171,235,255,255,255,253,249,245,243,248,
+245,212,189,207,210,213,187,180,213,199,173,140,97,51,30,17,6,0,0,0,5,3,12,35,27,28,21,17,19,16,17,16,14,13,22,30,36,27,22,30,14,0,0,0,0,0,0,0,
+1,15,23,36,28,0,0,0,0,0,0,0,0,0,7,29,57,68,83,92,82,59,42,37,54,76,100,132,146,128,107,100,78,78,73,73,80,86,95,133,189,214,199,178,168,165,161,162,
+165,132,119,146,153,165,203,227,227,235,234,235,224,176,199,198,175,129,82,79,68,111,135,116,116,106,77,47,37,48,83,115,135,179,207,175,169,178,169,130,99,92,106,122,125,156,196,189,
+178,180,155,139,151,149,130,136,153,171,183,211,226,225,227,231,212,206,189,139,133,150,163,135,107,83,70,49,38,45,52,68,75,55,43,64,83,101,143,167,218,255,255,255,255,255,243,210,
+177,141,102,83,75,66,61,61,68,85,93,90,111,164,211,224,250,249,208,144,109,92,90,108,108,94,94,132,154,148,160,173,168,165,169,180,171,128,90,69,88,114,135,182,199,193,192,187,
+184,194,201,193,180,175,189,231,252,254,249,247,253,250,243,242,249,239,214,201,210,233,204,229,247,228,196,135,77,44,28,14,5,0,0,0,0,0,9,20,19,30,23,14,14,15,16,16,
+15,12,14,16,17,12,12,13,0,0,0,0,0,0,0,0,0,1,10,29,31,9,1,0,0,0,0,0,0,0,5,17,22,37,78,79,61,50,41,38,50,64,72,101,114,80,50,43,
+51,63,70,78,75,72,83,114,194,228,211,182,176,210,196,169,163,139,182,207,213,218,233,239,238,239,235,241,231,199,190,179,167,104,84,87,90,118,153,178,193,149,98,55,42,55,80,114,
+154,178,219,201,180,194,184,148,122,144,140,150,141,141,167,175,165,180,176,183,162,123,121,156,153,165,156,190,220,222,234,219,153,179,187,147,101,153,161,149,162,160,99,64,40,45,59,65,
+61,47,43,61,70,88,129,156,191,250,253,255,255,254,253,236,210,163,118,111,120,97,68,62,66,80,90,92,118,176,249,246,239,239,220,171,91,72,65,69,65,69,84,104,126,140,144,146,
+143,146,143,148,123,83,71,71,97,102,136,176,191,184,190,222,204,198,194,178,167,203,213,222,243,250,247,253,253,232,239,250,253,255,252,246,250,255,252,250,245,228,204,158,99,57,36,16,
+8,3,0,0,1,17,52,47,26,36,24,15,14,13,15,17,16,13,9,5,9,20,23,15,0,0,9,2,0,0,0,0,0,2,17,33,38,21,7,7,2,0,0,0,3,3,8,12,
+10,26,45,45,44,42,35,40,50,62,65,76,71,44,29,30,37,45,55,70,66,84,88,111,191,249,246,228,215,225,224,193,162,167,197,228,253,255,255,252,250,248,241,224,206,210,200,197,
+206,178,134,129,122,155,219,232,189,127,102,59,43,71,130,141,143,168,226,220,180,190,206,190,146,116,132,162,186,192,180,184,176,177,193,203,184,125,118,134,123,137,143,191,205,198,221,206,
+134,125,173,185,114,141,162,156,163,163,141,83,58,59,58,52,45,29,33,41,45,66,105,157,187,204,207,229,254,254,252,235,215,189,154,141,179,140,72,63,88,143,168,111,93,113,123,160,
+185,171,158,134,77,59,59,58,63,93,120,116,105,111,122,121,126,136,142,123,106,75,73,99,108,107,144,193,211,226,240,222,197,199,180,146,178,232,242,240,243,250,254,255,242,231,249,255,
+255,255,255,255,255,255,255,253,249,234,198,179,139,79,42,24,17,10,5,3,8,38,45,62,62,35,20,14,14,14,15,15,14,13,8,13,24,48,56,37,19,13,40,33,0,0,0,0,
+0,6,22,35,38,24,14,14,8,5,5,3,6,8,15,17,14,14,21,27,30,31,30,34,40,50,55,55,49,38,36,37,41,49,77,107,88,90,102,156,212,249,250,201,207,219,220,224,
+198,206,214,235,255,255,255,255,255,250,235,229,176,196,217,172,199,200,135,129,139,154,200,227,211,144,101,71,48,69,142,168,160,179,229,236,190,193,214,194,126,80,86,153,207,191,175,178,
+171,161,205,201,173,162,151,120,93,94,144,207,205,203,213,205,160,100,120,164,164,158,175,183,179,156,150,146,118,66,43,42,40,27,27,33,38,56,97,154,184,164,185,221,248,255,240,212,
+190,179,183,198,221,162,95,93,157,165,154,107,98,113,112,141,173,122,108,98,71,52,56,55,78,134,154,129,125,129,155,140,126,121,99,86,82,63,76,90,91,119,170,217,227,239,241,211,
+199,214,167,177,200,199,233,239,239,254,255,255,249,253,255,255,255,255,255,255,255,255,255,253,248,226,205,212,187,120,57,31,17,9,5,1,3,8,20,36,48,34,16,15,16,15,15,14,
+14,13,20,42,70,106,109,84,55,28,51,44,7,0,0,3,3,14,21,42,59,43,20,16,12,12,2,1,3,7,17,26,21,14,13,15,19,20,22,28,35,48,47,44,42,38,43,54,
+64,80,142,148,88,99,142,199,245,252,246,205,205,201,193,193,198,221,238,240,241,255,255,255,255,254,222,191,149,200,232,180,198,183,137,136,156,176,169,227,222,155,90,59,50,54,104,155,
+183,193,197,217,221,190,185,184,121,82,83,120,177,177,143,127,120,130,187,194,184,172,157,119,93,101,162,206,203,193,206,218,156,144,146,157,151,162,183,208,185,129,123,153,169,128,56,36,
+30,23,27,29,35,56,95,137,158,177,208,217,241,247,236,210,175,136,151,186,228,236,212,227,231,153,143,121,143,161,184,167,130,111,132,109,77,58,62,84,128,173,169,178,186,164,168,151,
+125,95,71,58,52,54,73,76,91,126,160,182,187,184,196,213,229,236,190,184,169,185,220,233,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,247,238,238,228,175,128,80,44,
+19,8,3,1,2,5,13,13,16,21,16,21,31,26,23,22,20,29,87,126,137,142,133,113,50,27,56,70,41,16,10,17,28,35,42,61,71,45,21,22,23,14,9,5,3,5,19,31,
+31,22,17,15,15,14,17,23,33,38,41,41,37,48,68,72,108,149,183,179,126,123,211,229,248,252,253,228,194,185,179,171,173,221,250,233,224,253,255,255,255,255,245,198,169,219,236,199,
+213,183,144,133,150,190,146,182,182,167,114,68,47,47,75,109,170,222,196,191,201,185,149,170,170,111,101,121,149,168,151,121,115,118,149,158,169,163,157,111,95,126,187,198,176,168,175,167,
+111,153,187,196,191,194,193,182,155,113,116,120,125,141,80,42,29,26,24,30,37,48,84,133,155,178,194,204,226,231,211,197,167,130,112,127,228,255,255,255,252,239,221,211,204,183,182,142,
+92,114,160,122,79,68,78,125,182,220,211,198,179,167,176,151,122,87,68,55,45,45,51,75,80,100,130,140,167,167,184,208,204,204,197,165,161,196,226,231,250,255,255,255,255,255,255,255,
+255,255,255,255,255,255,254,253,247,240,233,220,198,153,100,66,35,12,15,13,10,12,12,7,15,22,22,28,35,36,30,23,23,64,146,155,151,144,123,100,68,70,83,88,66,24,19,31,
+44,41,61,76,65,37,23,29,36,26,16,9,6,7,19,37,40,29,22,16,13,12,13,21,31,36,37,37,38,57,97,125,160,176,186,167,141,129,224,240,247,250,253,249,233,207,182,139,
+176,229,245,236,246,254,255,255,255,255,254,246,250,249,247,239,213,146,165,160,161,220,160,122,128,139,122,92,63,64,84,106,191,231,205,193,197,198,165,184,203,158,140,184,199,192,150,121,
+132,116,129,116,133,165,162,127,120,151,191,197,176,143,123,129,128,148,187,192,204,207,193,158,113,98,109,99,65,71,58,37,24,22,29,38,41,44,80,143,191,192,196,221,185,157,155,180,
+160,134,132,147,232,250,255,255,248,243,239,186,191,180,126,80,78,104,105,94,80,86,114,146,197,243,233,200,163,184,187,161,130,102,78,66,44,41,44,65,68,72,105,127,143,167,184,173,
+154,135,191,168,161,176,207,213,252,255,255,255,255,255,255,255,255,255,255,255,255,255,254,250,248,242,228,217,213,177,97,66,69,56,37,20,19,22,16,10,16,34,42,44,38,37,31,21,
+51,118,153,148,137,140,116,106,102,104,102,94,70,38,34,51,63,57,76,77,50,30,21,28,41,42,30,13,8,6,17,40,42,30,17,13,8,7,9,19,27,34,35,38,45,66,119,140,
+164,184,199,165,130,140,243,249,240,240,245,235,246,231,173,150,189,227,229,239,254,255,255,255,255,255,254,253,254,252,249,254,177,116,180,177,189,186,156,115,118,126,122,108,72,95,143,183,
+189,178,148,171,196,203,177,187,212,208,199,207,217,208,167,104,115,101,107,109,107,130,136,114,116,134,155,187,170,119,106,135,116,97,154,190,210,198,155,135,111,104,115,97,69,52,40,37,
+35,37,43,52,51,58,101,156,208,234,219,225,191,148,150,160,126,111,134,157,182,171,215,241,254,248,254,203,165,147,101,79,78,94,97,91,94,119,168,175,214,246,227,198,194,211,201,167,
+130,135,150,105,45,45,45,45,65,58,75,90,93,141,154,118,98,112,158,165,133,135,173,194,239,255,255,255,255,255,255,255,255,255,255,255,255,255,253,249,246,243,234,217,205,193,167,132,
+122,104,52,22,20,26,20,12,28,44,56,52,38,33,28,30,108,149,156,149,134,139,125,133,104,94,102,90,76,66,69,95,101,88,86,64,45,29,17,22,50,63,40,15,7,5,13,34,
+37,27,13,7,6,5,9,15,24,35,40,50,66,88,118,114,147,185,175,140,134,178,253,250,236,222,212,211,225,232,175,169,201,217,234,245,255,255,255,255,255,255,255,255,253,252,250,235,
+176,150,179,175,179,133,129,97,107,108,78,73,64,105,154,151,147,178,165,136,177,187,180,179,203,212,212,211,203,192,180,129,105,85,71,65,77,99,120,82,80,98,118,161,154,115,94,112,
+99,114,175,201,217,201,144,113,122,128,134,119,91,61,54,65,65,64,65,77,84,98,135,170,208,222,217,210,187,165,151,128,104,84,90,101,111,133,165,229,255,255,255,236,172,147,125,111,
+84,76,78,107,134,155,183,203,219,205,176,162,205,229,198,140,167,197,182,116,51,51,54,35,49,47,44,51,56,86,93,72,57,77,108,116,95,107,136,178,213,242,241,252,255,255,255,255,
+255,255,255,255,255,254,252,250,245,243,232,215,211,207,210,204,193,130,101,49,38,76,56,44,66,58,58,48,27,27,34,69,114,141,162,155,132,132,126,136,115,129,122,98,57,58,56,88,
+115,91,71,43,22,13,9,24,52,55,33,10,5,1,7,24,28,20,9,2,2,3,10,15,24,40,54,70,83,101,93,90,126,123,126,143,142,190,255,204,183,208,179,211,228,231,196,178,
+201,236,252,252,255,255,255,255,255,255,255,255,253,254,254,246,185,133,150,163,168,139,164,91,71,76,59,50,49,76,116,141,136,150,182,155,147,153,165,178,176,185,212,215,189,184,192,171,
+90,59,55,42,47,69,83,58,70,77,90,116,122,108,100,104,119,158,178,204,219,215,173,142,140,162,168,150,108,84,76,84,79,80,90,98,104,121,148,172,189,193,196,175,151,176,157,126,
+127,116,104,102,136,153,172,242,255,255,255,229,160,176,170,137,108,100,88,132,168,170,182,206,214,180,162,197,225,217,144,108,225,250,168,93,80,84,69,41,34,45,50,44,48,56,78,78,
+58,71,82,76,72,87,125,183,184,177,205,235,255,255,255,255,254,254,255,255,254,253,253,245,240,238,240,227,220,218,210,206,205,172,179,132,87,128,148,136,125,71,45,30,27,42,64,86,
+116,157,162,149,130,144,130,134,143,140,141,114,76,45,51,65,87,80,44,17,7,0,1,17,28,23,10,1,0,0,2,13,14,9,1,0,3,5,13,20,33,58,66,76,85,94,84,84,
+95,87,112,167,199,236,255,197,154,185,204,242,247,239,234,232,213,242,255,255,255,255,255,255,255,255,255,254,255,255,255,249,183,151,162,178,150,161,201,126,86,70,76,64,55,79,113,160,
+175,150,161,203,169,140,146,157,126,126,184,194,186,199,193,121,55,36,29,26,27,44,47,34,41,45,52,77,112,102,72,80,105,151,148,164,201,211,206,189,190,205,192,154,99,90,86,94,
+105,132,150,141,116,114,122,120,121,161,172,143,156,183,150,128,142,155,133,147,185,158,147,214,255,255,243,205,196,201,157,133,121,114,118,130,143,161,201,219,222,191,194,231,222,160,114,144,
+222,210,154,112,93,86,76,38,27,38,55,61,64,70,94,94,85,101,121,91,73,91,112,153,162,172,208,226,246,255,255,255,252,240,242,236,233,239,246,224,226,231,238,234,226,220,214,213,
+212,208,207,196,158,150,136,132,112,62,38,28,36,65,87,122,157,173,167,151,135,150,147,141,130,113,104,68,54,37,49,62,68,57,35,7,0,0,1,10,10,7,2,0,0,0,0,1,
+2,3,0,0,3,9,20,27,55,76,66,57,94,114,80,75,76,83,144,234,255,255,252,206,155,228,252,253,247,249,254,253,241,250,255,255,255,255,255,255,255,255,255,254,254,254,253,234,
+182,176,183,150,132,161,207,150,130,111,106,100,95,106,154,196,215,201,213,220,179,151,132,143,104,101,151,163,178,212,186,79,42,31,21,17,22,29,23,19,20,16,23,45,92,93,66,61,
+79,119,122,113,164,210,218,214,214,224,184,135,102,105,113,118,134,184,199,211,162,130,137,108,84,115,143,147,164,173,154,164,153,141,144,167,162,176,169,186,207,246,241,179,204,191,147,122,
+94,86,95,120,129,158,189,218,219,210,225,233,203,144,133,191,217,198,154,165,153,132,94,28,26,43,62,79,102,113,121,109,122,137,141,92,73,86,108,134,133,176,198,203,238,249,252,248,
+245,236,211,203,225,220,213,212,232,234,233,233,224,215,214,215,215,211,208,192,176,167,116,79,66,51,42,43,79,111,108,149,167,170,165,161,144,135,146,144,105,69,38,28,21,22,36,59,
+64,50,38,21,7,7,12,5,0,0,0,0,0,0,0,0,0,0,0,3,12,20,27,41,64,64,58,64,122,121,76,79,90,106,167,249,245,215,211,182,215,255,252,226,241,255,254,254,
+255,255,255,255,255,255,255,255,255,255,255,255,253,253,246,241,171,126,141,106,109,162,220,156,148,134,130,146,173,151,168,196,215,218,214,213,184,155,136,140,128,133,146,161,192,219,192,94,
+79,50,26,19,20,19,13,9,9,8,9,23,43,58,61,58,69,82,111,148,191,214,225,225,217,200,153,125,120,115,91,118,130,164,198,220,153,115,107,66,63,94,136,178,154,135,169,168,
+129,122,151,169,155,193,207,186,175,234,229,157,170,179,126,86,76,79,92,119,126,163,173,218,228,236,236,199,142,112,111,167,220,214,217,218,212,163,82,28,30,61,80,100,148,125,148,156,
+168,154,143,119,87,78,111,130,156,162,184,192,184,184,185,218,224,221,192,203,212,218,197,210,224,224,221,225,225,222,219,212,210,211,207,197,186,187,173,125,132,135,129,140,165,154,125,148,
+175,173,171,165,150,91,68,97,92,49,24,37,36,28,55,63,58,45,37,27,22,16,5,0,0,0,0,0,0,0,0,0,0,0,3,7,19,36,54,86,92,71,68,94,139,91,64,86,
+105,141,189,235,221,167,162,165,242,255,239,233,252,255,255,255,255,255,255,255,255,255,255,255,255,254,253,253,253,255,240,191,114,78,82,87,100,151,204,214,191,155,123,151,176,194,227,248,
+246,236,213,210,206,177,133,121,136,139,139,175,197,207,189,104,86,55,33,24,17,13,9,5,6,7,2,10,22,43,54,55,58,70,93,151,194,224,225,220,227,203,146,116,121,112,62,107,
+157,167,198,217,153,91,65,37,57,108,165,179,161,150,140,125,120,114,123,139,168,226,234,203,214,210,189,169,177,162,92,61,65,80,100,121,128,157,187,225,217,221,212,161,109,69,75,169,
+198,147,186,219,198,130,71,36,48,88,88,111,193,184,205,218,182,134,122,108,73,88,130,146,190,194,190,184,132,119,149,182,187,190,187,178,191,204,189,193,203,215,229,232,229,227,224,213,
+217,215,207,214,208,205,203,198,198,193,190,186,190,185,177,182,179,175,162,153,146,90,37,54,75,35,17,36,38,43,77,88,75,62,48,28,19,7,0,0,0,0,0,0,0,0,0,0,
+0,3,8,17,43,62,100,139,101,101,112,153,162,86,66,68,116,154,130,161,214,192,162,186,231,245,240,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,250,252,214,123,76,
+87,115,108,101,147,165,177,201,196,161,170,155,151,233,255,255,255,253,225,198,203,192,154,126,123,114,122,129,150,156,127,95,85,50,29,22,15,9,5,2,1,0,0,2,12,28,37,42,
+45,59,84,119,160,203,197,198,200,185,134,126,143,141,107,153,199,189,184,198,176,106,54,42,61,104,168,147,137,111,119,108,126,114,100,121,163,208,224,214,219,213,189,196,179,142,90,61,
+50,69,79,105,135,170,215,200,180,177,179,180,134,142,144,149,175,143,150,201,207,155,86,58,78,107,97,112,178,232,224,224,177,114,108,92,87,122,149,155,215,208,161,158,136,112,129,142,
+129,130,126,108,128,149,169,189,213,228,239,239,229,226,222,220,221,221,217,215,213,212,213,214,208,204,200,193,193,193,191,190,182,164,133,128,142,107,78,90,58,20,13,21,24,34,55,83,
+93,62,35,17,9,0,0,0,0,0,0,0,0,0,0,0,3,9,21,48,90,113,129,140,109,169,190,169,121,79,65,56,106,129,95,137,200,185,185,180,200,220,229,243,255,255,250,255,
+255,255,255,255,255,255,255,255,255,255,254,255,239,127,65,64,116,165,141,130,148,143,148,153,191,183,194,194,170,220,255,255,255,254,220,201,207,194,164,128,108,118,122,119,120,121,139,93,
+85,51,31,21,14,10,2,1,0,0,0,0,7,17,26,35,41,52,77,116,150,167,173,206,177,143,143,150,157,168,175,200,214,201,182,184,182,122,65,71,75,85,105,90,98,92,95,83,
+94,107,109,122,161,185,211,219,208,214,197,184,172,143,122,82,63,80,107,129,156,150,151,146,134,144,194,226,236,240,226,215,222,198,167,153,157,154,109,68,69,79,100,129,144,217,197,164,
+140,154,150,125,161,200,205,219,207,189,165,146,129,142,115,108,106,105,106,90,102,153,178,206,224,225,231,239,236,239,238,238,239,236,234,231,226,225,220,215,212,205,198,197,192,193,191,190,
+184,158,122,142,144,141,150,113,41,10,14,19,23,24,26,69,99,48,15,8,0,0,0,0,0,0,0,0,0,0,1,6,12,22,40,83,135,161,143,119,143,215,214,170,123,114,84,56,
+80,118,133,164,184,178,183,180,204,231,234,235,242,229,211,253,255,255,255,255,255,255,255,255,255,255,255,255,241,147,92,80,102,157,171,168,133,116,130,151,184,192,198,219,218,243,255,255,
+255,255,224,193,197,196,185,144,101,120,123,129,137,147,160,108,79,48,27,21,19,17,8,0,0,0,0,0,6,15,24,31,40,50,72,122,163,164,175,200,161,164,182,182,164,184,207,207,
+203,207,194,186,133,91,73,68,70,59,58,78,84,72,52,62,65,76,88,109,150,172,191,204,191,184,212,204,164,143,135,136,140,144,158,154,172,157,143,134,119,144,196,225,238,212,210,224,
+232,221,197,176,162,168,158,91,49,57,88,105,99,133,139,173,186,217,180,132,141,168,173,176,158,176,158,140,160,186,139,105,107,106,100,91,119,134,164,206,206,219,232,245,250,252,253,252,
+253,250,252,249,246,238,227,219,211,203,198,200,196,184,179,178,163,129,153,168,164,163,150,91,27,23,27,23,23,16,10,40,58,16,0,0,0,0,0,0,0,0,0,0,0,1,6,14,
+22,33,49,80,128,171,173,148,183,235,217,179,139,109,77,54,92,148,178,206,215,193,180,185,213,234,239,226,214,189,180,210,243,250,254,255,255,255,255,255,255,255,255,250,205,127,97,95,
+109,154,148,168,178,137,109,130,134,184,238,243,255,255,255,255,255,255,227,160,161,189,193,170,107,86,69,92,109,126,136,90,63,44,19,10,15,23,21,8,2,1,0,0,7,15,23,29,
+40,47,64,100,149,183,203,199,206,198,193,178,164,196,204,182,189,210,208,180,115,87,66,50,61,48,36,56,66,75,64,54,55,47,47,73,126,158,168,170,157,167,192,208,191,160,158,164,
+173,163,143,144,155,156,155,141,113,141,208,222,205,172,173,200,219,217,197,198,192,169,163,101,40,40,49,50,58,77,95,142,153,161,187,182,175,164,161,140,125,177,167,150,191,194,162,164,
+162,129,95,92,106,120,158,187,184,213,238,250,253,254,255,254,254,254,254,254,254,248,239,226,218,206,200,190,172,148,134,136,130,118,150,169,154,142,121,76,47,27,15,9,8,1,2,8,
+9,0,0,0,0,0,0,0,0,0,0,2,5,7,14,22,30,35,44,59,84,162,204,186,171,144,132,129,100,65,57,56,114,185,197,226,240,192,189,197,219,225,240,227,220,179,169,157,
+184,219,245,255,255,255,255,255,255,255,255,197,132,122,97,99,125,144,173,168,203,193,140,114,129,190,249,255,255,255,255,255,255,255,243,178,161,186,186,155,86,56,47,51,58,62,75,55,
+42,38,26,9,13,21,27,22,12,2,1,1,7,19,24,29,35,41,49,71,83,130,225,236,221,192,191,167,144,193,165,115,140,178,179,161,113,94,63,41,38,35,27,34,48,65,59,55,
+52,40,36,54,101,144,168,163,151,162,185,183,175,179,169,132,151,148,143,139,139,142,141,135,108,118,161,168,163,173,158,170,194,214,204,173,180,179,147,76,30,26,31,36,38,54,59,104,
+141,171,184,182,167,168,163,137,121,143,163,180,173,164,191,199,157,129,104,119,119,123,154,160,185,217,240,253,253,254,255,255,254,255,255,255,254,250,242,234,221,189,167,170,151,142,107,116,
+130,139,147,162,121,88,93,88,58,22,10,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,9,15,20,29,37,42,50,62,71,116,164,153,156,118,101,87,63,50,55,59,
+109,156,176,236,248,200,192,190,201,217,221,203,171,141,146,128,154,232,254,255,255,255,255,255,255,255,255,185,113,115,98,99,149,151,194,200,198,187,148,136,161,193,252,255,255,255,255,255,
+255,255,255,240,205,198,192,128,64,51,38,35,35,38,43,35,30,31,31,17,9,13,19,20,16,7,1,3,7,16,26,31,34,37,41,55,92,137,199,214,218,208,190,149,142,165,111,80,
+93,126,155,157,113,91,66,44,34,30,26,26,33,48,50,52,44,38,43,69,121,150,173,191,203,194,217,203,186,200,176,134,158,132,140,132,107,111,116,151,161,150,120,157,155,169,182,178,
+204,207,219,197,169,176,95,38,24,24,27,23,16,27,54,109,153,180,189,178,154,167,141,102,121,141,163,179,151,168,180,160,130,122,104,99,98,114,157,164,210,235,241,247,247,250,254,253,
+254,253,249,250,250,246,240,226,211,185,184,192,179,153,114,98,101,140,169,156,116,75,65,64,47,22,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,10,13,16,23,31,
+41,56,64,69,84,105,122,134,156,129,82,61,57,54,57,68,97,147,201,235,248,225,226,205,206,222,185,171,130,98,102,114,196,255,255,255,255,255,255,255,255,255,255,222,135,113,107,119,
+162,169,182,217,199,169,146,144,184,220,247,255,255,255,255,255,255,255,254,249,228,200,198,134,71,63,37,28,27,28,30,27,23,22,24,19,9,9,13,9,12,10,7,8,14,19,23,28,
+35,36,37,55,104,149,182,200,227,234,198,179,189,144,76,65,92,165,187,157,122,106,83,62,45,35,28,26,31,48,59,54,41,44,66,109,151,169,179,199,213,219,220,221,220,191,146,147,
+171,156,125,116,93,86,137,191,180,154,127,184,158,192,220,219,217,221,218,214,196,151,58,34,29,27,21,15,13,27,66,118,141,137,147,167,160,158,116,59,100,162,187,167,160,141,130,141,
+173,142,111,128,126,150,198,189,205,183,194,212,231,236,236,249,240,201,199,229,232,234,233,219,213,208,185,164,137,120,119,104,108,135,150,156,121,65,49,41,36,20,5,0,0,0,0,0,
+0,0,0,0,0,0,0,0,3,14,13,12,14,19,23,29,41,64,72,75,101,108,120,155,139,86,62,62,54,50,62,78,116,184,228,241,247,232,217,199,213,198,176,173,134,91,97,143,
+218,255,255,255,255,255,255,255,255,255,255,242,149,130,127,153,205,201,167,191,184,160,137,134,183,220,240,248,252,255,255,255,255,255,254,245,222,187,178,111,100,94,61,36,28,24,23,22,
+22,22,21,21,10,6,10,10,12,10,13,15,20,24,28,33,37,37,38,58,104,121,140,196,240,215,178,203,205,162,90,77,115,191,208,189,171,148,112,79,55,43,37,34,35,42,57,54,
+45,59,113,169,170,172,185,217,236,238,221,222,226,190,151,144,164,192,170,125,90,79,144,170,186,175,161,234,214,196,214,241,250,245,238,219,134,76,43,34,38,38,38,31,29,61,75,98,
+127,144,150,164,177,125,66,61,90,135,149,127,125,125,133,130,163,169,135,149,134,150,173,142,116,90,113,172,193,176,172,200,191,148,132,185,194,205,199,214,224,226,207,179,156,144,149,165,
+167,160,144,111,85,50,37,29,23,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,17,19,15,20,27,31,35,47,59,59,57,68,97,135,163,123,77,64,70,72,72,88,116,
+139,206,235,252,249,245,221,187,178,150,154,157,137,113,119,176,242,255,255,255,255,255,255,255,254,243,254,214,151,129,146,207,225,186,164,164,156,160,143,129,182,213,224,228,252,255,255,255,
+255,255,255,250,215,147,104,71,79,77,63,47,40,26,20,19,19,21,17,14,9,7,10,12,13,14,17,21,26,30,33,36,41,41,40,55,83,106,140,187,231,204,186,194,189,157,119,135,
+149,173,183,179,183,178,134,86,65,59,56,47,42,42,45,52,59,83,128,158,171,162,163,204,222,224,221,234,228,208,186,142,86,119,158,120,78,61,80,116,206,255,255,246,210,184,225,246,
+255,254,254,226,154,94,75,106,133,121,72,51,55,77,57,82,142,160,120,122,162,156,106,101,109,114,100,102,102,97,86,102,113,148,128,102,115,92,84,75,72,93,120,150,141,122,130,149,
+136,126,133,155,150,169,162,162,194,212,213,212,203,210,187,172,171,165,136,95,68,44,34,28,16,9,0,0,0,5,10,2,0,0,0,0,0,0,0,5,17,24,21,22,26,31,38,43,
+52,50,47,43,51,92,123,113,90,76,75,121,113,101,154,197,169,198,246,255,247,231,235,201,146,115,106,108,109,114,123,198,255,254,255,255,255,255,255,255,253,248,245,200,165,154,180,218,
+200,169,147,142,135,136,126,123,182,179,193,234,254,255,255,255,255,255,255,253,207,123,58,54,61,51,45,34,30,23,22,21,15,15,14,7,6,9,13,16,19,21,24,31,35,41,40,41,
+49,47,43,50,69,98,146,196,222,189,187,190,162,119,123,135,141,143,141,168,203,203,155,91,78,82,84,64,47,43,44,54,62,78,94,113,127,129,146,175,199,168,191,218,210,162,122,108,
+63,70,85,68,48,41,43,77,184,255,255,254,247,250,255,255,255,254,250,247,211,171,170,210,210,192,156,142,119,71,90,151,171,143,112,154,155,126,115,132,121,87,69,83,88,88,83,88,
+101,99,76,85,105,79,59,75,95,127,121,151,160,149,130,127,109,109,132,132,125,139,140,123,156,190,212,213,215,214,184,164,158,161,133,99,71,90,70,51,28,12,7,1,5,10,19,9,
+0,0,0,0,0,0,2,10,24,31,28,28,29,37,43,44,54,49,42,38,49,78,109,84,66,84,77,136,118,105,157,224,226,224,249,255,249,211,199,183,153,106,73,70,71,84,107,198,
+255,246,246,243,255,255,254,243,248,253,252,215,204,206,212,187,193,169,140,155,122,106,94,107,173,194,191,232,254,255,255,255,255,255,255,255,215,97,47,43,44,38,31,24,24,26,33,22,
+17,15,8,6,9,14,17,24,30,35,36,41,43,48,51,55,63,52,47,50,71,94,135,186,187,164,168,156,142,100,84,92,118,130,156,191,213,221,173,116,104,112,115,85,54,47,48,54,
+59,68,72,86,105,116,118,132,147,125,119,140,148,113,75,59,47,50,47,34,27,43,54,56,191,255,255,255,255,255,255,255,255,255,255,255,242,252,229,203,200,144,185,193,180,153,164,186,
+162,127,118,164,160,114,119,140,100,55,45,61,79,97,93,97,104,88,91,102,79,54,63,82,112,182,162,189,199,175,141,123,108,101,109,108,136,144,134,158,199,210,214,214,212,205,200,192,
+177,153,121,98,80,82,71,44,33,27,9,6,6,6,21,19,0,0,0,0,0,0,3,14,29,38,37,35,35,38,45,54,54,45,34,34,48,76,107,91,64,71,72,90,107,133,180,247,
+252,183,196,222,220,204,179,148,171,148,92,95,85,82,104,157,214,212,203,197,179,219,250,234,250,255,255,250,248,235,227,206,194,177,147,148,112,112,99,123,187,210,222,229,254,255,255,255,
+255,255,255,255,235,118,36,33,34,38,26,22,24,27,30,28,28,31,17,13,16,21,24,30,47,55,62,55,55,59,68,77,73,58,48,51,61,84,122,133,118,109,94,79,82,76,78,87,
+94,125,172,203,196,192,175,155,150,196,192,122,70,61,57,57,59,64,73,84,98,94,71,65,72,73,57,64,71,68,50,34,31,29,24,22,22,56,109,157,234,255,255,255,255,255,255,255,
+255,255,255,255,255,255,252,186,158,130,184,189,161,157,171,179,168,149,155,172,186,178,137,115,76,36,30,41,62,80,84,99,100,97,105,92,56,52,75,77,108,190,219,220,212,175,120,104,
+104,101,104,113,141,170,194,205,208,182,163,185,201,204,207,183,146,108,86,79,59,42,38,37,42,37,20,9,2,5,10,7,0,0,0,0,0,0,5,13,31,48,48,45,49,51,54,72,
+65,48,33,34,55,87,115,107,83,66,63,93,141,177,180,234,247,136,112,142,198,192,168,160,183,147,93,114,135,125,135,156,158,156,156,156,141,186,243,252,253,253,249,252,242,205,213,206,
+217,191,134,133,105,100,132,143,201,214,215,238,253,255,255,255,255,255,254,252,243,167,51,20,21,28,23,20,23,20,16,21,30,58,38,26,27,30,35,40,54,66,71,66,71,76,79,80,
+75,62,51,47,47,58,91,94,59,47,49,64,72,78,84,77,87,109,169,213,190,154,155,194,218,238,219,177,98,68,65,61,59,70,85,88,82,68,52,43,38,37,35,35,45,45,27,21,
+17,16,19,14,13,54,125,207,254,255,255,255,254,254,255,255,255,255,255,255,255,248,243,214,162,151,156,143,115,87,125,169,184,176,182,165,146,129,101,65,40,20,20,28,48,72,87,91,
+84,83,80,65,48,45,50,70,100,148,206,191,167,133,102,101,106,112,135,135,120,136,165,153,148,130,112,136,157,165,158,135,98,75,61,47,38,33,26,31,37,56,47,15,14,16,9,3,
+0,0,0,0,0,0,6,16,34,59,65,64,71,70,68,107,107,85,55,50,82,119,128,141,108,69,82,158,176,134,155,252,218,95,104,155,204,169,141,149,153,144,116,163,179,157,149,151,
+163,186,177,168,198,227,243,247,236,231,236,242,210,115,132,171,220,211,154,139,127,108,133,143,177,189,204,245,253,253,254,255,254,254,252,248,240,139,54,40,22,21,17,13,15,9,3,13,
+23,38,33,33,38,41,43,50,56,63,68,73,80,80,80,82,70,59,49,44,38,43,56,48,31,29,36,44,55,71,76,79,105,113,164,218,203,164,155,204,227,226,224,173,92,69,70,71,
+71,86,105,93,83,63,47,36,35,30,24,23,28,29,16,8,10,12,16,16,14,33,80,165,238,247,246,235,236,254,255,255,255,255,255,255,255,253,253,218,170,150,92,65,55,49,69,73,
+139,175,180,149,80,52,52,41,27,14,14,23,43,71,94,80,68,66,55,41,36,29,29,61,88,93,146,140,130,113,108,104,109,121,132,146,134,107,87,84,90,108,100,114,126,127,132,116,
+78,64,58,44,37,36,33,34,29,55,63,22,26,27,10,5,2,5,3,0,0,2,13,27,45,72,86,91,95,90,83,112,139,122,70,73,119,139,157,167,121,104,135,180,184,120,128,238,
+203,87,109,167,170,144,147,139,140,168,178,197,205,162,162,160,176,187,183,193,225,238,253,246,220,233,239,226,212,125,78,118,175,190,144,121,139,151,146,132,151,179,196,211,242,252,253,253,
+254,249,240,239,236,185,88,75,47,22,14,10,6,0,1,9,20,19,22,37,44,44,50,57,68,77,79,88,85,73,70,75,62,57,48,41,36,36,34,28,28,33,36,44,64,102,109,95,
+116,149,196,210,203,168,151,201,221,212,211,111,61,64,73,78,73,85,107,90,69,55,42,35,31,26,21,19,16,14,5,1,2,7,10,14,23,29,52,101,162,193,208,219,236,255,255,255,
+255,255,255,255,255,255,255,215,128,112,100,71,58,47,69,75,95,140,151,141,95,84,62,34,21,14,14,19,34,51,72,65,57,56,48,36,29,15,22,35,40,50,70,86,106,97,85,79,
+98,108,112,146,151,122,98,79,87,98,104,100,107,115,123,97,71,82,70,52,51,52,45,44,36,57,69,59,43,34,21,9,5,5,8,6,5,10,22,31,48,78,100,115,113,113,106,111,
+129,132,82,106,146,184,200,165,147,149,189,193,162,121,115,153,136,82,101,130,133,134,129,136,154,185,186,168,165,154,165,193,200,191,205,183,206,211,194,199,173,192,217,213,200,91,59,86,
+123,200,199,144,130,139,125,107,129,167,190,189,232,243,246,247,245,240,234,232,226,227,158,93,71,43,26,14,13,17,13,13,16,20,30,44,48,49,57,66,86,85,78,85,80,71,69,66,
+61,52,44,40,37,34,30,27,30,38,54,66,112,162,126,100,142,186,220,207,180,154,167,210,169,98,97,57,57,75,80,59,54,73,80,66,56,49,41,37,34,27,21,15,9,6,1,0,
+0,0,2,12,22,30,42,62,95,129,161,219,255,255,255,255,255,255,255,255,255,255,255,214,122,113,121,108,75,58,55,69,75,95,112,112,114,99,64,31,23,20,16,15,29,41,51,51,
+47,43,37,37,28,10,9,15,19,28,38,43,59,56,58,75,93,99,109,127,120,113,108,72,63,70,75,80,100,118,99,70,78,85,68,61,63,64,55,48,42,42,54,63,51,36,24,14,
+5,5,6,6,9,15,24,28,45,86,113,122,133,139,112,100,119,141,119,111,132,186,194,180,197,179,193,210,153,113,99,111,95,83,88,95,102,105,112,142,169,190,183,162,153,156,175,186,
+165,175,196,192,171,150,109,118,97,108,147,201,151,56,57,58,73,175,231,198,178,161,137,119,140,160,189,194,225,235,233,232,227,222,199,204,201,197,136,83,78,72,48,37,43,56,38,22,
+22,30,36,49,54,55,62,75,93,84,76,73,71,73,71,68,63,57,49,44,37,38,37,37,47,57,78,123,164,189,160,127,183,225,213,196,183,186,189,128,90,54,40,44,73,98,83,62,
+64,72,69,68,57,50,41,37,33,28,20,14,9,6,0,0,0,0,0,2,8,13,23,37,51,64,118,187,249,255,255,255,255,255,255,255,255,255,255,228,136,109,125,107,75,64,63,73,
+76,63,77,99,92,70,52,30,24,21,15,14,21,31,36,36,35,29,24,21,15,10,8,10,19,23,22,24,34,40,56,92,83,75,88,87,88,90,91,71,62,69,69,90,119,119,97,88,
+105,97,109,100,87,69,80,70,50,45,55,54,41,26,9,5,3,9,7,9,12,15,23,30,50,93,122,125,133,129,104,94,118,127,141,126,155,191,225,250,253,233,210,218,143,137,142,120,
+112,94,78,87,111,111,126,156,171,177,176,186,163,164,176,180,157,167,189,179,132,104,82,83,71,68,87,133,116,73,64,78,99,186,233,226,221,203,175,169,172,168,186,200,221,220,222,210,
+208,215,149,137,157,149,109,76,90,101,71,70,66,52,43,37,34,37,40,49,56,62,70,88,86,84,92,86,71,71,72,69,72,63,55,49,42,41,41,54,85,108,137,160,179,173,162,148,
+189,226,204,193,211,211,149,82,57,52,45,50,69,76,57,69,65,64,76,77,61,47,41,36,30,26,20,14,9,5,0,0,0,0,0,0,2,10,22,33,43,65,92,143,190,229,255,255,
+255,255,255,255,248,227,233,178,120,127,130,93,72,70,66,78,93,104,98,88,75,52,38,22,20,17,15,12,13,23,29,23,24,23,22,15,9,12,13,16,26,30,16,16,24,31,62,99,
+80,71,78,80,79,71,65,69,70,66,68,92,102,88,94,100,92,111,142,129,90,61,91,75,49,41,41,35,23,13,6,6,5,15,14,14,14,19,27,34,55,86,122,148,156,140,107,97,
+116,120,140,182,247,255,254,255,255,255,252,235,172,183,204,173,148,90,77,108,171,169,147,164,178,170,177,221,198,186,189,186,168,167,183,157,112,91,92,86,68,65,68,76,91,93,95,111,
+161,207,241,248,245,232,203,190,186,186,196,203,205,205,210,204,187,200,179,130,108,88,93,88,94,107,80,68,62,43,36,37,34,33,38,47,58,71,85,92,86,93,108,101,78,73,78,75,
+75,68,63,59,58,54,54,97,153,172,179,187,191,187,164,161,198,222,207,189,189,169,111,63,43,43,41,51,61,47,34,38,34,40,56,58,56,49,41,34,27,23,17,12,7,0,0,0,
+0,0,0,0,0,15,31,51,62,90,111,135,150,186,226,248,255,255,255,255,224,178,165,134,105,119,105,70,69,75,68,77,99,122,92,75,76,47,22,20,19,16,13,10,9,21,30,23,
+20,22,24,17,10,10,17,31,38,36,21,20,31,51,86,108,92,79,87,113,106,72,58,63,56,52,68,84,80,68,70,68,63,79,85,100,104,85,83,57,41,31,30,33,33,20,12,13,
+21,23,23,17,19,23,29,34,51,78,128,178,175,154,112,99,102,113,132,161,201,233,255,255,255,254,252,247,193,206,222,231,189,106,119,148,180,201,183,171,176,168,173,203,229,222,190,164,
+164,179,183,158,129,109,98,75,65,75,70,76,91,106,104,111,186,229,245,248,246,235,207,194,193,190,196,203,200,200,197,204,172,137,165,118,82,66,80,107,100,68,62,52,41,33,30,27,
+29,30,38,45,62,77,94,101,97,97,105,98,85,86,88,82,71,64,69,80,109,98,111,176,213,203,200,219,218,203,187,197,218,220,207,191,176,155,101,62,49,36,33,36,47,45,21,17,
+17,36,54,59,56,55,43,31,29,22,17,14,7,1,0,0,0,0,0,0,0,16,41,56,52,77,99,133,149,184,203,215,247,255,254,217,157,140,140,116,98,113,86,57,68,88,93,104,
+104,100,85,73,64,43,26,31,31,29,20,15,20,37,38,26,35,38,42,30,17,22,38,57,56,45,29,33,61,107,140,133,93,105,151,171,140,98,95,82,55,54,63,71,80,57,54,51,
+58,75,90,97,119,116,65,50,58,49,47,51,58,36,21,24,29,26,21,23,20,23,27,36,51,88,139,170,155,163,114,112,108,109,104,99,113,197,255,255,255,255,254,254,248,224,246,255,
+249,231,219,233,203,197,196,164,172,169,164,193,221,226,169,141,151,171,180,180,171,134,97,76,79,76,69,82,98,94,72,86,170,238,248,253,249,239,218,203,205,198,197,205,200,193,183,162,
+129,104,98,72,68,66,73,108,121,78,57,54,38,29,27,24,28,30,44,54,66,86,100,101,90,87,93,98,105,95,88,79,71,76,93,129,169,186,220,243,238,226,227,228,194,178,199,226,
+247,246,224,204,180,141,108,84,68,42,27,31,40,43,22,16,21,49,62,54,45,45,41,31,27,23,17,13,8,2,0,0,0,0,0,0,0,17,49,61,38,44,77,111,127,173,199,199,
+241,254,229,163,98,94,123,106,85,83,76,65,111,116,116,133,137,102,77,77,79,50,47,50,41,44,35,35,37,54,57,72,84,64,45,28,22,31,57,62,58,59,52,57,84,130,162,123,
+102,156,210,197,170,134,121,114,109,94,75,70,73,58,52,52,70,90,86,73,79,95,59,55,57,55,44,47,44,31,26,22,23,22,22,23,22,24,28,37,63,90,125,156,130,133,129,127,
+123,113,93,88,90,128,183,224,219,236,255,254,238,212,247,255,255,255,255,255,183,167,182,183,200,201,200,205,229,232,179,127,122,129,157,186,184,151,115,95,88,80,75,64,80,90,79,101,
+170,238,252,253,249,238,217,205,211,204,200,203,196,196,150,65,72,63,49,54,64,69,73,93,113,98,65,47,40,33,29,29,33,38,44,54,70,82,92,97,87,87,88,91,98,87,78,76,
+83,109,165,206,219,241,255,254,248,247,252,250,198,190,240,254,255,255,238,213,182,135,127,146,141,61,33,38,26,30,26,6,15,28,29,33,33,33,34,30,26,22,19,14,9,6,2,0,
+0,0,0,0,0,23,51,54,37,40,70,93,98,147,194,204,225,222,198,168,126,121,115,97,99,76,107,126,167,171,187,186,184,139,97,86,69,51,61,61,44,49,50,56,63,62,61,78,
+79,58,38,28,22,23,36,41,48,61,66,99,123,140,144,126,143,204,229,213,169,139,151,172,139,97,78,63,58,63,44,45,56,57,55,51,49,57,61,50,36,35,34,38,35,28,29,28,
+27,27,26,24,27,33,35,47,75,90,108,146,134,120,133,126,122,120,122,109,88,101,128,154,168,207,249,247,239,229,248,255,255,255,255,253,197,177,179,211,239,236,236,224,218,228,213,161,
+107,114,134,146,161,153,139,129,104,95,99,78,75,94,104,128,196,249,250,253,249,235,221,210,204,201,207,205,197,192,113,43,50,42,44,54,61,63,68,77,93,92,78,61,47,40,33,34,
+38,40,47,55,62,78,86,87,83,91,90,85,93,79,70,71,95,165,235,255,253,254,255,255,255,255,255,252,242,243,255,255,253,255,238,221,178,155,196,196,164,83,47,54,34,20,26,1,
+2,5,13,34,35,24,24,27,26,21,19,16,14,9,6,5,2,0,0,0,5,23,42,49,42,41,61,76,85,130,164,175,185,187,175,158,128,120,104,91,120,133,178,190,197,214,232,222,
+185,155,136,107,79,68,73,77,58,58,62,72,85,66,47,41,42,35,23,21,10,12,17,20,26,38,59,93,137,142,121,122,137,203,225,199,168,193,201,183,118,73,76,65,49,61,45,41,
+43,42,54,57,43,34,37,36,30,31,42,49,48,36,31,31,29,30,33,33,37,48,50,68,86,104,139,143,148,122,104,100,99,115,151,151,99,102,120,137,153,175,226,246,250,241,246,255,
+255,255,253,243,242,206,199,210,242,249,247,212,183,185,221,213,156,123,137,116,119,130,120,120,119,114,113,101,86,91,102,129,187,240,252,250,247,239,227,218,213,205,213,210,201,187,113,65,
+40,35,45,55,63,69,68,71,73,72,86,82,64,47,31,33,37,38,44,55,66,75,86,86,84,90,86,83,83,78,69,70,129,220,255,255,254,255,255,255,255,255,255,254,255,253,254,252,
+250,253,252,238,203,210,255,220,143,105,101,88,49,19,20,24,13,3,8,29,40,27,23,24,27,23,21,20,17,14,12,9,9,7,8,9,16,31,41,48,42,41,52,71,109,137,147,178,
+189,194,169,141,126,125,128,144,164,176,190,193,212,224,231,219,167,132,106,127,133,118,143,140,129,123,100,92,76,45,35,22,15,13,14,5,0,7,8,9,13,30,83,122,133,128,107,99,
+155,207,196,135,151,249,236,156,102,98,93,72,49,48,61,61,49,43,49,58,47,31,31,35,36,49,59,55,47,45,37,30,29,35,36,42,61,71,68,75,84,118,169,179,149,112,70,70,
+91,123,167,164,127,108,126,146,171,198,228,254,255,253,250,255,255,255,248,213,221,189,182,196,224,247,246,175,137,142,184,196,208,197,180,135,116,102,102,106,123,127,129,114,100,102,119,127,
+147,196,250,250,250,239,227,220,215,211,212,211,177,137,111,69,35,36,45,56,71,66,61,63,58,61,85,64,48,45,28,30,35,40,45,57,69,76,83,88,90,84,82,80,77,73,68,77,
+172,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,249,234,220,233,246,213,176,142,135,108,54,15,12,20,19,13,10,22,43,36,26,27,29,29,27,26,23,23,21,22,
+21,22,27,31,37,51,63,66,59,47,58,108,136,151,172,190,198,193,157,129,142,147,164,191,191,194,178,170,196,221,226,215,190,170,156,180,180,189,201,190,198,185,128,93,71,43,27,20,
+19,17,20,9,8,22,9,10,19,37,109,165,141,113,98,147,211,193,125,109,163,233,204,156,116,111,98,79,44,41,55,62,54,42,38,52,56,35,36,43,47,52,55,41,42,42,35,30,
+35,41,44,61,94,91,78,70,76,113,169,182,118,80,59,68,119,170,182,160,140,147,179,215,219,226,246,255,255,255,255,255,255,255,253,208,220,225,198,194,196,227,249,179,112,128,128,129,
+194,217,201,179,150,98,94,108,126,125,140,139,108,118,146,136,130,192,243,253,249,241,227,217,211,213,213,214,189,120,72,61,47,37,43,61,70,59,50,49,49,55,80,84,54,37,28,30,
+36,41,48,62,69,76,83,88,90,83,80,80,75,70,69,92,208,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,232,234,246,243,205,192,190,171,134,56,5,8,14,
+19,23,34,41,42,26,28,40,35,30,30,35,35,36,36,42,44,48,55,66,86,101,104,93,77,49,59,99,133,165,187,187,191,164,132,161,198,185,200,192,191,198,161,139,189,242,241,239,
+232,227,222,212,205,206,211,218,206,182,186,151,98,61,36,23,30,43,42,28,49,55,47,36,50,58,106,165,178,141,136,197,218,180,120,143,203,220,194,163,172,162,136,90,38,42,49,49,
+48,48,48,52,41,29,54,50,38,41,38,33,37,37,36,36,41,48,56,83,121,118,79,64,73,102,134,113,79,70,66,85,147,219,219,182,168,199,221,232,240,249,255,255,255,255,255,255,
+255,255,255,240,236,236,205,187,203,227,236,169,126,134,150,111,112,167,178,168,163,119,92,99,136,156,155,136,115,112,135,154,184,226,242,252,248,235,227,222,221,206,205,208,155,83,52,50,
+48,40,45,65,59,55,62,55,50,58,78,128,112,45,38,42,45,44,55,64,73,82,86,90,90,83,82,80,76,72,73,112,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,248,238,235,245,246,241,236,232,206,132,43,12,23,36,38,31,36,55,38,21,40,47,40,35,38,50,54,54,61,70,79,86,102,133,154,143,139,125,82,61,63,78,115,156,177,191,
+182,128,146,167,198,218,201,200,191,194,189,198,241,255,248,250,254,253,247,236,228,224,224,234,201,190,221,213,155,112,61,30,47,77,62,27,30,51,73,84,79,71,106,158,212,215,214,215,
+164,125,109,121,190,224,220,219,221,208,155,84,55,52,57,48,42,36,43,37,22,29,57,51,37,42,40,33,34,37,38,44,48,52,64,86,105,97,68,63,76,90,93,70,62,71,76,98,
+157,208,214,187,206,221,222,233,252,255,255,255,255,255,255,255,255,255,255,252,249,232,217,214,228,241,235,192,205,194,203,160,123,121,130,134,126,114,92,98,129,160,141,122,141,134,123,148,
+193,227,242,245,245,234,231,227,220,201,194,180,129,87,62,56,47,47,55,64,55,58,76,64,54,71,114,160,135,73,59,55,54,56,58,68,73,80,84,88,86,82,76,75,73,71,76,120,
+225,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,248,240,235,243,226,213,235,231,179,106,51,29,52,70,51,37,52,52,34,27,41,43,43,47,54,75,75,78,94,105,
+115,134,157,163,169,169,170,147,101,75,76,86,107,142,170,217,182,160,184,146,160,217,206,235,235,239,243,247,255,255,254,255,255,255,255,252,247,240,238,234,215,231,249,229,199,186,102,78,
+107,115,78,16,15,44,56,82,86,82,123,178,218,203,210,186,137,100,70,102,193,192,156,206,220,192,130,87,71,66,62,45,34,28,23,19,14,26,40,37,33,37,41,37,38,43,48,54,
+57,61,65,79,102,79,61,63,71,77,75,59,52,69,84,98,147,179,192,198,206,231,253,255,255,255,255,255,255,255,255,255,255,255,255,255,252,233,233,233,241,247,239,208,207,225,220,232,
+247,178,115,102,83,78,83,101,123,132,112,140,169,143,139,169,206,232,239,240,239,236,235,226,217,207,190,179,173,129,69,58,43,43,57,87,71,59,69,64,66,113,150,156,135,95,71,59,
+61,61,59,66,75,77,76,78,77,73,69,72,73,83,102,136,249,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,253,250,248,217,203,197,175,207,214,197,120,79,63,85,97,
+68,68,98,88,62,51,56,57,54,57,70,99,112,120,128,143,153,169,182,183,180,184,183,163,126,95,86,99,106,143,171,211,210,172,142,130,179,213,225,254,255,255,255,255,255,255,255,255,
+255,255,255,255,254,250,249,234,229,231,234,227,217,210,168,139,150,135,80,16,8,16,24,38,68,92,155,208,179,163,161,175,173,136,154,151,167,182,147,176,211,210,147,98,75,80,80,50,
+36,29,17,10,14,20,19,30,37,37,42,42,43,50,56,61,65,73,80,85,99,83,68,69,77,77,64,55,54,75,98,106,123,144,169,197,208,224,254,255,255,255,255,255,255,255,255,255,
+255,255,255,255,249,239,236,241,238,240,215,170,167,219,190,198,235,196,136,90,65,58,72,95,114,107,94,168,193,135,143,165,203,235,241,243,236,232,231,221,215,194,151,169,182,104,59,50,
+36,42,63,87,88,56,64,77,93,128,161,155,144,106,72,62,62,61,59,69,76,71,69,70,72,70,75,84,93,141,201,221,255,255,255,255,255,255,255,255,255,249,246,255,248,201,212,239,
+241,253,255,249,227,226,226,205,187,168,164,137,97,78,97,104,91,90,93,122,116,75,90,99,68,71,83,125,148,161,168,178,187,205,211,218,213,208,199,186,160,148,104,111,122,146,146,133,
+179,169,141,157,201,207,224,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,248,239,225,221,229,238,219,199,208,169,157,137,82,36,26,21,38,75,105,123,119,133,127,113,146,203,
+234,238,241,224,221,224,196,173,163,172,154,107,71,77,71,45,38,30,20,14,20,28,30,34,42,48,50,50,48,54,64,70,82,95,102,109,111,95,77,72,72,69,65,59,65,91,116,118,
+119,129,149,176,204,221,250,255,255,255,255,255,255,255,255,255,255,255,254,254,249,245,243,235,234,214,194,189,207,217,157,148,149,173,149,82,66,61,70,76,78,87,92,156,207,162,129,168,
+219,226,238,246,234,226,224,222,211,155,121,160,162,86,52,43,34,38,66,91,78,59,77,83,104,134,146,143,157,137,92,75,65,63,66,83,79,66,66,68,70,78,102,115,151,224,255,255,
+255,255,255,255,255,255,255,255,252,236,232,238,189,108,125,177,217,239,241,227,224,232,234,222,203,180,160,173,141,97,93,101,95,80,84,108,116,114,148,122,75,88,112,149,177,193,206,217,
+229,245,248,246,241,234,222,205,180,176,127,99,122,125,116,92,144,180,151,133,160,180,206,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,248,241,231,232,228,232,220,184,190,219,
+193,132,88,80,106,108,120,130,142,164,137,126,115,107,153,212,234,238,214,214,229,234,222,200,185,172,176,147,80,50,45,41,40,29,20,22,26,35,47,47,57,68,66,65,55,54,68,86,
+99,116,135,150,141,127,107,102,84,68,68,79,86,107,133,142,135,140,142,156,201,238,249,255,255,255,255,255,255,255,255,255,255,255,250,236,234,241,240,234,234,206,193,215,221,219,167,111,
+97,102,88,70,64,70,84,73,71,97,100,153,210,203,164,203,231,226,228,234,226,219,222,224,215,172,125,153,149,101,65,50,42,41,69,85,61,58,68,87,121,148,160,164,187,193,146,120,
+82,70,83,108,86,58,64,77,78,90,106,134,194,253,255,255,248,255,255,255,255,255,255,255,252,232,219,167,132,107,108,173,224,220,208,196,196,215,226,208,201,196,180,171,164,123,90,78,
+85,68,61,101,104,158,175,137,108,99,127,151,178,224,236,243,255,255,255,255,254,254,239,204,186,176,115,77,93,86,80,83,115,148,136,105,125,149,176,243,249,250,255,255,255,255,255,255,
+255,255,255,255,253,249,248,236,234,228,225,222,224,217,214,221,213,164,121,130,149,155,141,136,140,160,146,139,119,108,170,227,231,214,192,199,213,227,219,207,211,196,173,156,85,37,31,40,
+44,35,34,40,52,54,57,64,84,97,91,76,59,57,66,87,112,136,162,186,161,150,148,132,100,94,93,104,107,106,132,153,140,156,163,171,211,234,248,254,255,255,255,255,255,255,255,255,
+255,246,232,219,215,234,228,226,217,196,191,214,194,207,155,106,100,62,52,55,62,71,90,101,108,122,125,142,186,214,208,233,242,233,215,213,222,218,224,225,217,186,134,127,114,95,78,63,
+48,42,54,62,72,69,65,70,98,130,165,198,212,200,190,173,111,112,133,143,97,54,61,78,79,83,76,79,133,249,255,240,246,255,255,255,255,255,255,255,250,233,215,153,128,119,106,143,
+176,168,184,190,172,193,210,217,187,170,184,170,133,99,73,72,92,71,63,105,122,165,161,176,171,133,111,129,182,238,252,255,255,255,255,255,255,249,193,164,178,170,133,82,68,69,70,78,
+100,106,92,83,98,141,187,192,192,201,249,255,255,255,255,254,255,254,255,255,252,250,243,235,231,222,219,221,218,212,224,221,203,192,171,171,165,171,168,156,136,132,127,123,128,122,161,194,
+200,205,212,203,200,212,225,206,185,191,179,135,69,43,43,51,55,45,45,57,71,79,79,77,84,90,93,83,61,57,80,105,125,144,168,192,176,165,170,155,125,105,121,129,144,146,144,160,
+157,161,175,203,232,232,241,254,255,255,255,255,255,253,252,249,249,241,232,221,204,211,221,206,196,203,185,171,143,155,134,113,119,88,75,65,68,84,102,130,165,175,143,139,182,229,246,253,
+253,250,238,218,225,219,221,226,218,189,141,107,106,105,94,76,52,45,43,51,66,63,58,71,90,115,135,186,191,167,176,183,158,158,172,158,99,52,49,59,59,65,65,57,78,171,228,218,
+175,234,245,234,253,255,255,255,250,247,238,165,135,154,164,133,141,165,165,194,190,200,212,213,213,173,175,149,69,55,51,65,78,73,73,92,144,148,167,193,158,121,133,141,192,239,248,255,
+255,255,255,255,254,227,157,153,177,177,153,97,83,78,82,94,108,107,85,76,97,149,184,155,163,204,240,254,255,255,255,241,243,249,245,246,248,243,211,210,214,218,218,227,226,222,228,240,
+228,227,220,191,194,206,190,165,122,91,94,121,169,182,176,180,210,213,227,210,201,219,219,225,197,179,171,83,51,52,58,58,58,49,52,64,72,85,90,85,83,98,109,90,62,56,98,141,
+137,140,180,210,185,164,192,189,154,86,75,107,176,196,184,180,175,164,186,226,232,231,240,253,255,255,255,255,254,252,248,243,238,239,246,222,186,187,199,190,189,191,153,135,148,120,99,107,
+107,94,80,78,83,106,151,184,194,204,203,191,214,248,255,255,255,255,249,227,227,227,225,225,221,197,136,107,106,111,102,87,70,62,63,68,68,62,55,83,101,99,121,160,169,156,161,175,
+189,172,179,154,99,63,54,57,70,73,65,55,52,69,137,156,86,189,220,229,254,255,255,255,254,255,253,194,168,175,180,137,164,182,173,219,227,220,224,218,218,200,180,100,44,37,35,43,
+52,68,70,107,171,183,178,151,141,147,165,184,197,213,228,236,252,255,255,255,255,219,184,184,189,180,146,101,115,112,111,129,143,128,86,92,112,136,148,155,200,206,228,248,255,255,250,233,
+217,205,214,225,226,214,189,186,196,204,219,224,234,231,236,242,245,242,222,205,198,193,173,128,104,68,79,165,204,206,193,194,225,224,242,235,222,226,226,226,215,199,142,62,52,55,59,55,
+51,48,58,80,93,91,98,119,132,133,115,85,59,61,82,134,163,175,191,212,213,191,187,191,140,70,54,83,169,187,156,141,143,132,177,228,221,233,243,243,245,249,252,255,255,250,236,228,
+219,242,253,231,199,193,192,155,157,148,139,149,184,164,125,120,123,94,90,100,121,154,189,219,229,241,249,239,245,252,255,255,255,255,252,235,236,238,243,245,238,231,179,132,121,106,120,108,
+105,95,97,122,139,109,80,72,76,66,95,121,135,137,143,144,179,211,192,149,111,116,154,146,135,100,72,59,54,61,65,62,65,146,211,236,255,255,255,255,255,255,255,207,167,170,197,162,
+207,234,206,211,232,249,248,239,235,173,94,54,35,37,42,48,51,57,73,134,178,169,162,158,157,167,171,205,200,201,210,192,228,255,255,255,254,219,203,208,194,165,127,108,126,132,137,148,
+137,136,101,95,106,141,137,156,184,190,207,227,220,228,232,224,205,175,210,219,201,185,185,178,175,197,212,215,238,242,245,241,246,242,218,208,206,199,201,171,136,107,136,201,199,212,203,213,
+248,240,239,239,248,250,246,242,208,134,85,61,56,63,66,68,59,62,86,83,88,104,129,148,163,165,108,78,69,68,75,107,147,184,186,186,200,190,155,154,156,92,69,79,118,154,157,116,
+105,105,151,200,217,226,232,224,214,220,240,248,239,229,220,206,208,228,241,227,191,192,194,163,167,175,197,197,184,189,192,182,163,121,101,104,111,167,207,248,255,255,254,253,254,255,255,255,
+255,255,255,253,254,253,254,255,254,255,243,224,201,163,175,180,160,137,135,170,190,154,127,88,57,55,70,87,102,114,112,120,150,193,217,175,153,168,199,206,155,116,90,73,59,55,55,49,
+55,108,186,238,255,255,255,255,255,255,241,165,122,160,247,255,252,232,192,206,239,253,255,254,246,185,118,78,87,121,129,99,65,57,82,118,140,142,150,169,172,185,197,197,179,198,182,172,
+229,254,255,255,249,219,196,206,193,161,137,130,125,142,150,153,144,136,113,95,112,137,160,175,169,197,164,140,135,170,192,194,186,184,192,208,200,170,154,135,160,189,210,219,239,240,241,245,
+248,246,239,233,218,191,205,219,197,177,186,194,198,241,255,254,245,226,228,245,252,255,255,253,215,149,105,113,141,150,132,97,83,92,104,84,108,164,169,154,160,176,158,128,112,95,91,87,
+125,206,219,190,185,192,164,140,187,150,99,118,153,163,158,116,119,114,137,160,175,205,213,201,185,200,226,224,214,210,198,190,185,194,213,200,177,201,214,187,154,184,218,203,182,179,185,175,
+167,120,88,99,105,126,204,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,249,241,245,250,228,213,220,222,211,173,134,106,71,57,68,71,76,92,90,97,
+132,164,157,177,207,171,164,194,169,141,111,88,71,51,50,50,49,90,161,212,254,255,255,255,255,255,212,121,92,142,233,255,255,249,247,254,255,255,255,252,246,233,185,164,189,214,204,178,
+151,137,99,78,112,134,127,132,162,200,218,203,176,158,168,175,203,233,249,241,226,208,192,203,191,146,134,148,153,160,182,171,154,143,104,98,119,128,144,179,158,161,135,106,114,147,146,140,
+149,141,142,170,171,143,116,102,151,187,204,215,233,235,231,241,245,241,232,221,217,211,214,208,204,192,191,191,199,236,255,255,253,249,253,255,255,255,255,252,245,205,185,201,228,227,207,185,
+179,149,139,175,210,212,198,192,210,191,173,155,150,120,104,105,142,186,175,178,189,193,175,161,197,196,161,173,205,200,173,116,118,120,133,164,162,183,198,191,184,198,211,210,206,197,178,170,
+169,183,196,176,163,182,189,163,127,178,213,211,200,183,162,157,161,111,86,102,106,128,167,233,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,254,242,240,208,157,136,114,101,80,65,65,78,87,100,136,183,146,186,238,172,192,199,165,160,115,85,73,64,54,48,68,86,150,183,229,224,238,255,255,255,215,146,104,135,247,255,
+255,255,255,255,255,255,255,255,255,248,239,248,204,217,164,165,194,182,147,119,119,114,113,119,163,203,173,169,160,160,171,186,165,167,191,196,193,180,177,178,170,155,157,161,161,161,172,167,
+167,148,109,122,126,125,137,140,121,113,108,90,87,97,99,94,95,87,82,112,137,141,123,112,148,189,199,212,226,231,229,232,233,232,220,217,219,213,211,206,198,192,194,192,193,245,255,255,
+255,255,255,255,255,255,255,255,253,238,250,228,232,227,206,219,226,218,218,225,229,213,177,175,210,205,189,182,165,113,98,112,116,142,144,118,156,185,184,162,184,201,194,190,194,185,178,123,
+105,129,146,168,186,201,199,182,164,176,190,194,194,180,156,160,163,176,184,176,153,140,116,100,99,141,189,203,211,197,157,133,125,99,95,106,100,118,165,215,253,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,252,239,196,155,178,182,155,132,87,84,86,93,108,135,172,196,212,160,150,211,231,178,132,109,77,85,97,98,92,
+119,146,173,185,155,164,204,252,255,255,232,185,165,186,250,255,255,255,255,255,255,255,255,255,255,255,255,255,232,175,153,164,208,173,132,116,108,106,126,129,141,167,144,146,148,154,149,140,
+133,148,160,170,165,162,158,158,155,157,179,160,147,161,161,144,157,142,99,98,98,98,101,100,100,87,78,107,119,82,90,94,95,90,85,122,118,142,143,141,162,208,218,224,232,235,238,232,
+227,227,220,217,217,215,210,203,192,194,204,214,227,253,255,255,255,255,255,255,255,255,255,255,255,255,255,246,211,206,165,212,203,173,203,229,228,203,176,194,213,225,220,178,157,101,73,84,
+85,102,151,127,121,144,150,149,163,175,184,185,177,162,164,157,132,133,160,190,225,222,199,185,171,173,178,183,176,165,150,160,168,176,175,175,151,144,98,77,79,112,182,207,198,155,118,119,
+114,92,95,122,106,121,151,153,224,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,231,201,160,126,98,120,183,190,143,101,94,88,99,121,
+140,154,183,187,148,146,171,222,231,156,108,78,88,71,64,76,62,173,176,162,148,185,212,236,254,255,248,198,170,207,253,255,255,255,253,254,255,255,255,255,255,255,255,249,250,200,170,175,
+170,141,98,83,111,119,123,118,125,137,119,112,113,126,141,129,115,122,132,135,132,135,153,149,146,160,189,175,182,203,172,142,128,120,88,64,61,57,59,70,82,76,82,116,121,104,107,112,
+93,78,87,93,94,140,147,154,194,228,234,238,247,249,246,242,239,231,231,227,218,220,208,205,193,196,203,214,240,255,255,255,255,255,255,255,255,255,255,255,255,255,248,249,226,192,167,171,
+158,121,130,205,228,228,219,222,210,193,185,170,156,95,55,58,68,73,101,133,135,107,114,128,130,108,137,161,150,142,153,149,126,125,162,222,254,239,218,207,198,222,226,210,208,186,158,160,
+155,170,163,155,158,153,123,102,113,158,201,206,173,118,79,95,118,101,92,115,115,109,151,127,135,218,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,204,129,106,85,64,56,84,84,56,66,72,70,86,102,118,136,156,161,160,147,99,92,153,143,100,73,66,45,28,8,28,64,120,147,164,194,196,226,240,247,224,162,128,183,239,247,
+243,231,245,254,255,255,255,255,255,255,255,255,255,215,186,139,85,70,57,63,76,90,102,98,99,106,90,91,99,115,148,143,116,107,104,106,113,129,139,134,140,160,184,191,225,236,186,133,
+109,111,101,78,61,54,45,57,78,83,83,109,118,136,156,141,102,90,106,101,125,137,120,150,203,234,238,243,252,254,252,245,241,240,236,224,227,229,221,207,183,173,160,173,213,248,250,250,
+250,254,255,255,255,255,255,255,255,255,254,255,227,183,148,76,62,52,88,165,183,229,234,229,190,123,128,163,161,130,73,43,57,70,84,128,142,105,86,86,84,55,85,116,121,133,140,127,
+114,140,186,245,255,255,247,250,246,249,255,252,255,243,231,218,189,204,206,173,164,170,168,158,167,191,192,179,165,147,125,127,120,105,95,106,128,121,137,112,88,151,175,205,255,253,218,212,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,247,253,239,162,102,76,63,55,48,50,50,55,57,63,72,76,77,100,116,115,94,90,70,57,78,83,73,64,49,48,45,34,
+21,12,100,172,163,168,142,134,122,125,120,82,86,128,184,204,221,225,253,255,255,255,255,255,255,255,255,255,255,190,106,83,55,42,45,56,73,82,85,83,77,79,78,86,105,135,161,136,
+106,98,92,99,106,100,107,116,127,125,136,172,215,239,242,208,165,157,141,115,85,51,44,58,88,101,78,80,109,140,134,109,100,100,113,98,121,129,147,206,221,238,242,247,249,252,249,248,
+246,239,229,224,225,229,221,194,157,173,170,171,168,197,213,228,242,253,255,255,255,255,255,255,255,255,255,255,213,100,77,42,24,30,54,153,187,206,217,210,191,140,127,143,149,146,111,61,
+43,51,80,107,104,86,69,64,71,62,79,90,106,120,130,127,136,165,218,255,255,255,255,255,255,249,255,255,255,255,255,254,247,253,255,227,205,198,190,187,160,150,160,158,153,141,126,129,
+104,92,102,121,146,126,109,104,102,125,104,126,173,197,169,203,253,255,255,255,255,255,255,255,255,255,255,255,255,246,241,245,236,242,250,200,135,94,75,63,50,49,55,54,55,65,57,51,
+48,56,69,73,57,54,50,51,54,57,58,57,45,44,41,37,16,21,128,144,111,99,55,31,21,21,34,45,65,86,126,153,196,245,255,255,255,255,255,255,255,255,255,255,255,173,88,68,
+59,50,54,58,66,73,70,71,71,78,84,87,113,163,158,108,87,80,80,88,94,85,83,94,112,115,121,184,194,213,224,240,246,207,196,169,118,63,52,61,84,90,78,79,97,116,139,118,
+98,95,101,106,147,175,179,219,214,227,222,238,245,253,250,236,201,211,222,226,231,225,205,192,183,177,167,146,142,142,154,193,241,255,255,255,255,255,255,255,255,255,255,255,200,83,56,37,
+26,23,31,71,142,170,165,151,134,127,133,142,129,135,142,94,24,30,49,71,79,69,56,47,63,79,88,94,114,122,134,143,163,187,236,255,255,255,255,255,254,254,255,255,255,255,255,255,
+255,255,255,255,241,211,196,191,175,178,179,179,151,129,120,122,112,109,115,134,143,111,85,90,105,127,107,95,105,177,183,212,255,255,255,255,255,255,255,255,255,255,255,255,253,243,238,252,
+254,242,229,211,178,143,107,86,71,65,68,55,50,56,44,36,36,35,41,42,44,41,43,43,47,48,49,50,47,44,38,34,24,37,83,78,44,28,21,13,10,23,44,72,63,70,76,101,
+162,226,255,255,255,255,255,255,255,255,255,255,255,221,106,73,84,82,73,66,62,66,61,58,82,116,104,99,156,176,142,106,86,71,69,77,84,86,78,79,87,105,107,203,206,205,225,231,
+252,210,179,167,134,83,57,55,62,71,80,72,92,116,162,148,109,129,143,146,187,190,168,139,105,154,193,215,190,210,224,177,115,161,199,204,210,211,213,212,201,156,127,102,114,129,141,175,
+220,255,255,255,255,255,255,255,255,255,255,255,243,115,55,44,49,36,29,21,57,91,111,105,76,93,135,141,105,134,135,57,12,22,36,54,61,66,52,35,51,73,85,106,132,140,154,170,
+196,222,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,215,199,197,203,205,198,180,147,142,153,140,133,125,118,105,121,126,119,106,106,125,122,102,118,163,167,153,
+232,249,255,255,255,255,255,255,255,255,255,254,255,252,246,255,255,253,241,227,206,153,109,88,87,83,85,63,45,41,36,30,30,31,33,35,36,35,38,38,38,43,40,47,45,44,41,34,
+35,49,64,52,28,23,20,31,76,113,141,122,70,59,66,84,118,175,211,252,255,255,255,255,255,255,255,255,247,193,183,151,129,112,88,73,69,75,68,66,108,167,148,134,196,197,147,126,
+97,72,68,75,82,80,72,69,72,86,94,156,193,211,197,207,200,205,165,137,111,65,59,54,49,59,72,70,75,93,127,122,118,114,121,114,120,107,64,42,52,94,135,114,93,121,137,128,
+88,119,146,162,168,165,194,215,214,198,177,169,171,165,171,176,187,201,241,255,255,255,255,255,255,255,255,252,182,173,149,105,72,36,24,17,38,75,106,85,55,73,137,139,100,137,86,15,
+10,17,36,47,44,56,52,38,43,58,75,128,170,180,193,213,235,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,246,210,189,185,203,204,190,157,136,182,193,167,
+148,120,109,107,114,116,133,129,129,153,150,127,146,163,161,149,196,245,255,255,255,255,255,255,255,255,253,250,241,221,228,253,255,255,253,241,220,163,108,70,61,57,55,54,44,36,31,27,
+26,28,29,28,30,29,34,35,36,37,37,45,45,45,42,40,41,68,66,56,54,50,57,71,106,144,142,101,54,45,49,70,98,132,169,224,250,255,255,255,255,255,255,255,252,226,184,184,
+157,127,102,79,70,82,90,95,116,191,239,231,234,224,187,139,98,82,73,76,76,72,66,65,69,87,112,125,144,190,184,190,203,193,132,105,68,48,47,45,43,52,63,56,45,63,80,80,
+80,69,91,92,56,40,30,30,37,59,90,66,41,62,73,73,90,115,107,109,130,107,121,162,191,198,200,212,201,169,156,157,158,158,205,245,255,255,255,255,255,255,255,254,219,177,170,154,
+90,30,22,24,31,48,61,61,44,59,130,147,135,140,43,8,12,21,35,31,30,45,55,47,38,48,71,135,193,227,238,254,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,249,197,155,167,186,204,170,133,155,164,190,187,153,130,108,106,98,121,160,157,156,176,172,165,170,192,210,220,220,253,255,255,255,255,255,255,255,255,254,248,234,219,238,245,
+243,254,252,231,201,162,105,66,52,47,43,41,40,35,30,28,23,24,22,22,21,21,28,34,37,40,42,47,43,42,43,40,61,91,57,66,73,99,125,128,134,147,126,88,31,19,24,52,
+88,121,168,220,239,252,255,255,255,255,255,255,255,255,231,191,151,128,108,84,75,82,95,123,135,172,253,255,241,172,155,120,98,90,75,72,70,70,66,66,77,104,143,148,116,128,139,148,
+182,199,134,115,73,43,34,35,36,51,61,48,40,57,71,62,52,61,78,68,34,20,24,26,29,50,82,73,49,58,58,56,78,84,82,104,105,98,123,171,198,206,207,211,193,175,163,161,
+155,156,206,232,248,255,255,255,255,255,254,255,255,234,192,127,73,31,23,24,35,50,52,49,47,49,90,140,120,84,21,9,12,17,22,22,28,38,48,50,50,56,106,143,163,169,199,255,
+252,214,212,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,231,217,247,227,176,168,186,193,160,161,163,140,172,197,172,147,118,109,111,136,192,203,186,179,203,227,236,249,250,232,
+205,235,255,255,255,255,255,255,255,255,255,253,245,242,245,233,222,232,233,207,178,129,82,58,49,44,40,40,37,36,34,29,24,24,20,17,14,16,24,33,40,44,48,52,48,44,48,34,
+59,63,52,54,59,115,139,141,149,153,137,100,36,16,13,44,80,99,147,231,218,236,255,255,255,255,255,255,255,255,246,165,140,121,102,91,82,88,126,169,187,228,255,255,219,118,98,94,
+88,82,69,65,65,72,73,72,85,111,146,157,119,115,109,105,148,183,158,130,101,61,43,36,36,55,57,41,40,55,63,61,64,65,57,34,21,17,19,20,42,62,72,83,68,52,51,56,
+62,61,91,134,129,150,190,197,176,177,197,203,204,192,172,140,116,129,212,221,221,255,255,255,255,254,252,255,255,255,176,122,78,45,35,31,41,56,51,37,35,27,21,44,29,15,19,16,
+10,12,17,28,45,48,51,64,84,97,139,151,151,130,144,180,201,176,208,255,255,255,255,255,255,255,255,255,255,255,255,254,224,201,167,136,200,236,198,173,180,190,196,171,144,161,197,210,
+198,162,126,118,163,189,203,211,205,211,232,238,249,255,254,238,210,242,218,226,250,255,255,255,255,255,255,255,249,248,238,213,200,211,218,213,183,151,101,61,43,36,37,35,36,35,33,28,
+24,22,20,10,8,14,23,35,44,49,48,50,50,51,55,54,64,58,56,50,48,65,104,136,160,142,65,21,14,13,17,41,77,78,114,193,217,228,255,255,255,255,255,255,255,255,207,121,
+104,101,88,88,94,153,217,248,242,250,255,255,232,119,91,84,80,78,68,62,61,71,85,85,95,116,146,151,120,101,97,101,144,172,198,162,123,83,52,48,49,47,40,37,43,43,44,51,
+63,55,36,22,17,13,10,13,31,44,47,62,49,36,51,64,76,86,92,108,170,189,167,151,99,109,150,172,176,150,116,100,79,85,161,207,210,252,255,254,255,255,255,255,255,234,142,113,
+95,75,57,45,45,52,51,35,20,19,7,3,13,14,23,20,12,15,35,51,54,52,65,93,122,155,153,137,149,137,133,133,184,189,226,255,255,255,255,255,255,255,255,255,255,255,255,252,
+211,180,173,148,143,167,172,183,186,187,199,179,171,199,219,222,220,196,162,151,185,184,182,194,205,218,217,219,228,246,254,249,232,192,144,183,233,250,255,255,255,255,255,255,254,250,226,192,
+204,219,221,206,187,186,118,52,45,38,36,36,37,35,27,26,24,21,19,14,9,16,26,37,47,51,54,52,52,55,59,69,64,64,66,66,61,54,95,130,143,75,13,7,17,19,27,40,
+62,66,92,150,204,227,247,248,252,255,255,255,255,255,232,118,79,91,97,109,132,207,255,255,255,255,253,252,235,173,112,84,78,76,70,65,64,73,90,94,102,127,128,125,108,92,94,106,
+140,179,205,140,101,83,65,57,58,47,41,45,36,38,35,33,37,37,24,13,7,5,5,5,14,27,28,33,29,35,57,75,98,120,107,84,83,77,66,73,52,52,80,106,113,98,76,66,
+56,62,115,173,201,227,231,233,255,255,255,255,255,254,170,79,83,91,72,52,50,57,57,42,33,19,13,24,26,23,24,20,21,54,76,73,59,64,72,123,183,178,167,151,153,150,140,144,
+173,196,189,235,249,255,255,255,255,255,255,255,255,252,252,255,234,190,165,160,170,161,163,189,208,208,210,221,180,197,206,191,197,176,163,158,167,149,140,156,172,179,185,191,196,212,221,233,
+215,186,191,229,242,248,255,255,255,255,255,255,255,248,221,213,229,229,219,186,170,191,157,79,52,50,45,43,38,29,26,23,21,20,17,16,15,26,35,43,51,61,65,57,56,61,65,69,
+77,87,92,100,116,137,129,116,90,44,33,35,30,28,31,34,49,73,109,125,170,211,234,254,255,255,255,255,255,255,222,134,84,88,126,173,226,246,255,255,255,254,254,242,169,179,157,95,
+83,80,75,69,70,72,84,85,93,116,104,97,85,88,95,115,148,187,191,144,93,72,78,68,50,47,43,38,35,35,40,30,35,30,19,9,3,1,0,0,3,10,19,26,30,41,52,84,
+87,106,133,102,61,41,37,54,56,51,59,66,79,80,52,48,59,87,105,136,178,192,222,232,252,255,255,255,255,254,192,125,107,93,64,54,49,45,42,41,47,47,65,71,36,30,27,22,
+43,94,109,106,85,99,107,149,190,193,201,208,200,179,158,167,182,196,179,198,245,255,255,255,255,255,255,255,252,240,242,235,206,203,210,206,198,186,192,206,211,194,206,224,199,167,151,118,
+129,106,105,121,133,108,95,116,134,141,150,157,161,183,203,219,201,211,242,249,254,255,255,255,255,255,255,255,255,254,248,241,239,240,227,192,169,203,187,130,98,76,64,43,33,30,28,24,
+21,19,21,20,29,37,47,52,58,66,75,69,62,64,71,73,95,102,123,171,206,210,165,141,118,71,61,57,44,41,36,37,58,102,120,136,175,192,243,255,255,255,255,255,255,243,184,139,
+109,100,128,171,231,243,248,255,255,255,246,228,162,171,179,102,91,90,79,73,75,70,78,82,87,114,109,82,76,97,108,115,139,204,222,176,122,92,80,79,65,55,52,59,55,41,38,35,
+31,26,15,7,5,0,0,0,0,0,12,17,22,33,55,76,90,106,122,95,82,47,26,30,36,37,40,59,70,55,36,57,102,111,112,141,153,178,205,215,226,233,233,249,254,231,194,173,
+140,105,80,54,36,33,33,35,59,144,146,92,65,63,50,42,62,104,141,135,108,125,142,157,190,210,220,231,225,213,199,192,218,234,238,228,253,255,255,255,255,255,255,254,248,239,233,226,
+210,232,236,224,197,184,201,200,193,173,206,229,192,134,112,84,80,68,63,69,82,66,63,72,88,100,105,112,134,161,184,198,192,221,243,247,250,255,255,255,255,255,255,255,255,255,254,254,
+250,245,233,219,204,208,217,204,151,99,83,44,37,33,24,22,22,23,26,29,43,56,54,59,69,72,77,76,77,73,75,86,100,100,118,178,184,177,153,147,186,168,146,102,65,56,49,50,
+59,76,102,146,205,231,249,255,255,255,247,242,239,215,185,137,113,116,128,127,151,186,215,238,245,222,208,220,147,134,132,109,99,97,90,80,77,76,75,73,85,109,132,106,101,114,147,167,
+160,211,245,214,151,128,91,86,72,72,93,144,99,42,37,33,24,22,13,6,6,3,3,3,1,1,7,12,19,44,70,69,76,76,69,63,59,42,20,22,31,41,58,68,61,43,37,54,
+78,98,123,148,157,161,168,180,186,191,207,228,220,221,207,176,164,121,73,43,29,31,35,44,73,147,167,118,111,106,77,116,156,179,213,177,139,167,173,192,210,233,241,233,233,242,245,247,
+254,255,253,233,241,255,255,255,255,255,255,253,245,239,238,234,239,243,225,204,187,186,189,179,160,161,200,208,162,105,73,70,68,52,43,37,45,43,43,47,58,65,50,45,68,87,135,183,
+196,221,236,246,248,254,254,255,254,252,254,255,255,255,255,255,254,247,238,227,218,191,187,180,136,88,82,56,47,34,26,23,22,26,30,43,57,65,64,63,76,83,82,79,78,85,82,85,
+100,95,94,108,119,150,183,171,165,225,247,200,111,100,80,76,55,42,57,123,193,229,249,255,255,233,217,211,206,194,164,127,112,115,115,135,156,204,205,180,192,186,205,214,168,128,119,133,
+118,102,99,85,78,78,66,65,83,101,122,126,114,119,167,219,211,215,234,208,196,177,132,142,120,134,170,208,156,43,40,43,24,21,20,10,8,3,3,6,7,5,8,13,23,48,62,61,
+59,55,52,54,47,34,29,36,42,51,51,50,47,47,47,45,51,78,109,121,132,135,137,143,158,179,207,212,196,196,198,191,170,126,77,50,40,44,54,69,136,179,192,187,190,178,183,214,
+205,205,220,217,193,191,177,219,245,252,252,246,249,254,255,255,255,255,255,247,248,222,225,249,255,255,255,253,246,236,238,241,246,235,203,180,185,205,205,183,177,171,187,191,141,88,66,65,
+50,37,31,29,41,37,29,37,43,41,26,19,24,30,52,141,192,198,218,225,233,250,254,250,249,248,248,253,253,254,254,254,254,253,245,235,215,147,137,147,148,133,112,70,40,35,33,28,
+28,31,35,47,61,68,84,86,85,86,92,97,94,88,99,108,120,99,91,104,133,179,194,200,225,228,233,255,208,201,121,66,45,37,36,71,115,164,185,196,219,190,163,169,179,193,179,147,
+134,122,107,134,169,190,207,186,165,167,196,198,179,140,137,185,168,99,98,88,84,93,70,61,78,127,158,154,140,119,156,211,226,215,233,197,232,238,224,222,201,220,233,220,211,100,47,80,
+56,22,12,10,8,3,6,12,12,7,10,19,30,45,56,63,58,62,62,52,40,23,26,29,29,34,34,38,43,72,83,58,54,64,71,73,85,98,98,111,136,144,190,211,212,217,222,187,
+143,100,83,69,63,66,69,113,218,242,241,254,246,246,255,233,201,192,208,229,221,226,220,245,255,255,255,254,255,255,255,255,255,255,255,253,219,161,178,228,246,253,253,253,250,242,240,245,
+246,219,178,191,210,217,203,191,200,175,172,200,148,108,83,54,42,38,27,27,36,33,30,31,27,29,27,22,13,14,22,100,153,118,127,123,120,180,245,247,249,250,246,245,247,248,252,254,
+254,253,245,240,226,171,157,153,142,149,99,54,35,35,34,34,35,35,36,43,55,56,70,93,102,100,102,118,121,98,114,162,164,107,118,157,167,222,203,224,255,254,204,213,227,228,111,55,
+43,40,36,36,57,78,93,107,123,123,139,162,163,191,182,164,147,144,114,112,142,161,170,185,150,130,151,197,198,141,148,250,215,97,91,87,88,97,78,72,75,98,150,200,196,148,160,161,
+178,197,190,200,238,247,255,250,240,248,248,240,211,115,70,100,105,48,16,13,8,5,8,12,14,13,16,27,41,54,63,68,78,91,57,30,17,13,12,13,15,17,21,40,75,119,116,73,
+66,64,54,52,63,65,65,70,78,101,171,225,233,233,214,173,137,112,99,80,87,90,92,175,249,249,255,255,255,254,252,248,245,239,235,236,240,240,231,249,255,255,255,255,255,255,255,254,
+254,253,252,240,210,196,227,238,245,254,253,252,252,250,248,249,239,206,197,219,222,215,190,180,204,196,168,171,155,120,77,48,37,31,26,27,30,31,29,33,33,36,31,23,13,13,21,45,
+69,73,112,134,122,140,214,247,248,250,243,235,228,232,245,249,252,252,246,236,232,208,149,118,95,83,48,40,42,35,34,34,38,38,41,47,62,68,68,73,86,98,98,122,127,101,93,189,
+192,164,183,235,204,177,173,210,250,255,198,189,193,233,133,63,49,45,40,33,41,55,70,87,91,109,147,168,151,153,144,147,133,121,101,97,116,143,151,160,139,113,115,165,184,163,176,246,
+226,105,91,97,100,101,92,98,97,95,119,151,157,143,146,158,168,190,180,158,187,231,247,253,254,253,253,254,222,130,143,161,154,88,37,29,20,9,8,9,13,14,17,28,41,57,70,71,
+66,59,30,12,2,0,2,7,9,13,20,35,61,85,78,61,57,61,54,51,52,59,61,62,114,135,154,229,231,197,163,163,137,121,107,98,127,154,163,245,255,254,255,255,255,254,255,250,
+238,236,241,252,250,242,242,254,255,255,255,255,255,255,254,252,253,250,249,220,218,241,248,253,252,254,254,254,253,254,254,253,250,238,224,221,231,222,197,182,213,210,185,160,132,99,55,34,
+34,33,34,41,42,31,33,43,49,45,22,16,13,14,15,20,42,59,78,116,135,112,148,222,246,243,236,220,213,225,240,247,246,247,243,224,179,120,73,64,58,54,49,42,41,38,36,37,
+37,40,44,52,69,78,70,62,76,91,90,112,119,94,80,128,182,207,228,250,239,173,182,205,231,248,255,253,200,165,109,65,54,45,38,35,36,44,54,65,80,100,115,116,104,100,108,120,
+108,95,85,82,93,116,140,130,118,118,114,125,153,185,194,241,252,151,127,144,134,126,122,126,140,135,126,125,120,106,128,156,169,163,170,177,155,208,252,255,255,255,255,255,248,221,210,182,
+157,115,69,61,36,21,19,16,10,8,14,22,37,50,61,63,47,22,7,0,0,0,0,0,7,19,24,28,37,54,56,43,42,47,56,54,52,70,112,163,212,211,222,247,242,173,142,148,
+135,116,100,141,221,247,249,255,254,255,255,255,255,255,255,249,222,233,248,255,255,254,254,255,254,248,235,234,241,242,229,238,248,250,240,212,228,243,243,243,250,249,255,253,253,254,254,255,
+253,250,246,239,233,226,220,212,218,222,211,168,125,88,49,38,38,37,35,48,58,36,34,48,54,47,33,20,10,17,17,19,36,48,62,85,101,116,119,171,226,235,215,182,199,218,238,247,
+243,243,240,222,169,88,69,65,62,59,51,42,40,37,37,40,41,45,50,59,59,66,59,56,75,87,86,91,91,88,93,127,134,136,172,201,227,156,165,189,162,210,254,225,122,87,68,63,
+56,47,38,35,33,33,35,43,56,73,80,75,68,75,86,95,93,86,78,75,82,104,133,126,118,132,121,133,130,137,183,242,250,193,206,232,215,180,164,155,165,161,137,115,90,82,104,171,
+234,232,221,214,215,242,255,255,255,255,255,249,242,217,207,161,116,98,94,84,56,36,31,23,14,9,10,15,28,41,44,43,29,8,0,0,0,0,0,0,3,15,24,24,29,41,58,56,
+54,51,50,61,56,75,151,210,218,232,246,254,245,207,199,221,236,206,175,214,255,255,255,254,254,255,255,255,255,255,255,253,240,247,255,255,255,255,255,255,250,245,232,221,207,186,164,172,
+179,210,236,225,232,238,243,243,249,252,252,250,250,253,254,254,254,255,254,250,238,231,228,224,203,197,185,147,100,76,48,45,44,36,34,41,45,31,27,40,54,51,44,29,20,21,26,23,
+30,43,56,85,135,148,161,198,213,220,212,201,214,215,221,232,239,239,233,233,197,114,82,73,69,59,52,48,44,43,42,42,47,57,61,70,57,54,55,57,65,75,80,84,76,76,97,127,
+100,108,118,132,162,125,140,170,125,148,215,215,127,80,62,59,54,44,36,33,30,29,28,31,41,47,54,55,55,59,68,73,84,79,73,70,77,108,137,118,113,128,118,163,142,123,171,225,
+212,219,253,255,247,194,179,187,189,169,132,88,75,87,114,204,255,248,252,253,255,255,255,255,255,255,255,211,162,158,187,149,121,95,79,92,83,64,45,34,22,9,6,9,19,38,36,41,
+29,8,0,1,0,0,0,0,2,13,21,24,36,50,63,65,69,70,54,56,59,66,104,172,231,239,239,253,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+253,250,255,255,255,255,255,253,252,249,253,233,193,153,120,125,108,112,198,232,211,221,219,226,247,252,247,246,245,245,250,250,254,254,255,254,252,242,234,220,165,158,157,139,104,73,47,42,
+40,35,36,37,36,27,24,33,49,49,36,31,30,36,35,31,31,45,63,104,173,162,153,173,180,187,207,214,220,219,201,192,217,200,164,197,183,112,91,79,66,56,56,54,54,54,51,52,
+52,55,62,66,64,56,56,58,56,61,70,76,72,71,75,84,86,104,105,122,134,116,123,112,93,112,137,156,120,71,58,54,48,41,34,33,30,29,27,29,36,41,42,43,47,49,56,64,
+76,77,73,65,77,118,148,150,134,109,104,127,122,114,149,182,160,177,231,255,242,229,222,196,186,165,134,79,63,82,116,198,255,255,255,255,255,255,255,255,255,255,253,190,116,102,144,192,
+163,123,101,91,93,99,79,42,33,19,15,15,22,35,31,31,21,9,1,0,0,0,0,0,10,17,24,42,48,45,50,56,59,66,59,63,64,70,84,137,217,232,240,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,249,252,250,247,233,196,143,113,99,102,82,84,162,197,122,97,76,85,149,235,241,236,235,226,234,242,
+248,253,255,255,253,242,239,229,180,165,150,122,94,62,44,37,36,37,38,36,38,31,26,31,43,44,37,31,30,37,33,31,31,51,75,94,135,151,118,106,118,141,192,204,190,212,198,183,
+187,161,123,128,125,83,57,49,49,49,52,56,58,59,58,57,56,58,64,66,66,61,57,56,55,56,63,71,76,70,66,70,72,80,100,112,129,126,109,82,76,79,84,83,73,62,54,49,
+43,37,33,33,33,29,28,31,34,36,36,35,38,44,47,51,66,84,83,78,95,119,148,179,162,112,91,91,91,88,99,114,130,171,182,219,225,212,207,190,187,157,113,75,58,78,116,178,
+238,255,255,255,255,255,255,255,255,255,255,218,120,93,93,143,171,123,106,109,92,120,95,55,54,58,43,24,30,37,44,38,21,5,0,0,0,0,0,3,19,24,28,43,48,41,43,48,
+48,55,66,73,66,79,84,125,200,225,247,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,248,240,242,233,226,201,167,139,116,115,113,
+111,108,97,93,58,43,42,38,52,133,218,211,215,206,208,199,212,242,250,253,250,243,234,232,211,158,128,104,79,56,47,41,36,35,37,37,45,41,27,30,34,38,37,33,26,24,24,30,
+33,49,78,102,101,101,100,91,115,147,171,193,191,208,192,197,192,142,118,100,86,65,42,33,38,47,51,56,58,61,62,59,58,57,59,62,62,58,55,54,51,56,62,69,76,66,63,65,
+64,69,86,108,113,100,76,64,68,72,71,68,63,58,52,45,42,35,35,34,33,31,30,30,34,34,33,31,33,36,43,48,61,85,92,92,115,121,130,167,170,125,90,84,80,80,90,98,
+114,133,136,172,222,192,207,198,191,144,91,75,69,78,93,135,219,255,255,255,255,255,255,255,255,255,255,240,115,77,72,95,140,132,114,120,102,119,95,70,66,85,62,27,35,41,50,47,
+27,6,0,0,0,0,0,16,20,20,21,30,37,43,52,54,51,56,65,71,78,88,98,148,224,248,250,252,248,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,254,254,247,239,236,231,222,214,200,171,171,167,153,123,118,99,51,37,31,26,23,27,38,70,170,204,200,201,176,144,167,222,241,241,245,239,219,179,134,105,97,93,77,63,55,50,
+40,35,35,36,42,38,35,34,34,35,33,28,21,20,22,26,34,52,90,115,94,72,75,100,136,167,183,193,200,206,199,211,200,143,109,94,77,58,47,35,37,43,51,55,58,62,61,59,
+56,55,56,56,57,55,50,48,48,51,54,56,56,56,57,61,59,63,69,84,84,75,70,65,64,66,64,62,58,57,52,47,45,40,36,35,35,35,35,31,31,31,31,29,29,34,40,45,
+58,72,80,86,93,118,143,154,176,149,105,87,85,84,88,94,113,122,129,190,236,189,194,206,183,132,84,93,98,93,104,102,179,254,255,255,255,255,255,255,255,255,255,212,108,78,69,78,
+119,116,98,107,134,140,109,71,79,87,71,35,34,38,38,26,6,0,0,0,0,0,6,13,10,12,15,26,38,51,63,59,52,61,70,82,92,92,100,137,225,254,245,248,254,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,235,220,226,197,189,204,201,193,193,186,158,115,80,55,34,24,19,14,14,15,26,42,87,172,199,163,85,76,
+121,201,236,238,239,234,217,168,104,101,100,93,82,72,64,54,43,38,31,33,34,35,29,29,34,34,28,23,19,17,21,24,34,54,88,109,88,68,68,75,94,119,167,198,205,204,204,215,
+203,144,102,97,76,57,43,36,37,42,50,54,55,59,58,57,54,54,52,50,52,48,44,43,45,47,47,43,44,45,50,58,54,58,62,69,73,69,65,62,61,58,59,58,54,54,52,50,
+49,40,35,34,35,34,31,30,27,24,27,27,26,27,31,44,52,58,66,76,86,137,183,175,169,127,121,116,94,79,86,90,121,156,144,193,219,173,197,194,178,155,132,127,143,130,148,133,
+161,227,252,255,255,255,255,255,255,255,255,187,108,97,92,91,97,98,87,77,116,121,80,57,68,75,64,40,31,34,28,10,0,0,0,0,0,0,0,1,3,12,22,33,50,72,70,63,
+62,77,99,100,87,104,135,182,239,247,227,194,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,228,211,196,154,133,134,154,183,187,153,118,91,
+56,34,23,20,17,13,12,13,20,33,47,98,149,119,57,52,70,121,196,229,231,227,228,197,127,111,112,106,93,83,66,52,43,40,34,30,33,31,24,24,27,27,22,19,19,19,20,27,
+40,43,52,70,71,63,64,65,79,112,155,199,194,197,200,203,187,150,125,105,77,56,48,44,43,43,47,49,52,55,55,56,55,52,51,50,47,43,38,38,42,42,40,40,42,42,48,54,
+52,55,57,61,68,65,58,55,54,54,57,54,50,50,49,55,55,41,31,30,29,26,26,22,22,21,22,21,23,26,28,40,49,52,62,76,101,175,208,189,184,182,163,154,125,95,84,83,
+120,151,132,163,192,165,192,208,208,197,220,186,182,160,164,169,208,228,247,255,255,255,255,255,255,255,255,219,153,123,115,111,87,76,69,65,71,58,34,40,42,42,44,36,30,35,23,12,
+0,0,0,0,1,0,0,1,14,27,34,54,90,114,108,78,87,113,135,114,104,128,157,199,233,236,190,156,215,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+252,255,255,255,243,199,171,157,125,78,91,121,148,132,98,78,49,27,23,26,17,13,12,14,20,28,35,43,55,50,48,48,51,70,133,185,163,143,191,184,127,118,116,106,93,87,66,56,
+48,38,37,36,34,30,26,26,26,24,21,15,14,17,19,24,35,38,43,52,58,62,70,82,106,142,185,182,144,187,189,189,170,164,146,108,92,77,68,59,48,43,45,48,54,57,56,54,
+51,49,48,45,43,42,35,34,37,38,40,40,38,38,44,49,49,50,49,54,58,57,50,44,44,48,48,47,51,49,48,68,75,41,27,26,22,19,21,20,21,19,17,19,17,20,24,31,
+40,47,61,94,141,172,163,139,177,236,222,186,149,127,94,72,97,107,114,142,155,156,175,201,214,227,239,226,217,192,203,233,252,255,255,255,255,255,255,255,255,255,255,255,226,140,99,93,
+73,59,52,61,48,23,19,23,17,15,21,24,24,26,24,19,0,0,1,14,13,10,15,20,34,34,34,68,125,137,128,107,121,136,168,146,148,177,215,211,198,199,160,179,218,254,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,255,254,253,246,212,167,147,109,80,86,91,116,114,80,72,49,33,22,23,22,17,16,20,31,35,31,31,29,34,40,42,
+48,65,106,100,82,82,112,130,102,88,78,77,79,79,70,61,50,44,41,42,38,30,28,28,27,26,21,15,15,16,17,21,28,33,37,45,56,68,73,86,102,111,128,114,94,136,153,161,
+175,184,173,150,143,114,80,65,54,49,49,48,52,56,57,56,50,47,47,43,40,37,33,35,35,34,35,35,35,34,38,44,42,44,42,42,44,41,38,35,30,30,36,42,41,44,56,78,
+82,43,30,24,19,16,19,17,16,14,12,12,9,10,16,21,27,34,45,82,128,153,141,120,133,207,211,167,116,107,79,57,79,94,80,122,176,175,187,210,226,235,228,232,245,240,233,255,
+255,255,255,255,255,255,255,255,255,255,255,254,242,144,71,54,50,47,35,41,47,27,20,15,14,12,14,19,20,24,30,23,6,0,31,51,49,51,57,63,48,24,24,72,135,142,148,128,
+135,158,198,205,190,222,245,235,234,191,182,175,226,252,255,255,255,255,255,254,255,255,255,255,255,255,255,255,254,249,252,255,255,252,249,246,236,213,169,154,125,111,111,104,123,111,78,58,
+42,30,22,20,23,21,24,30,38,35,28,28,24,27,29,31,36,61,115,105,80,71,87,98,93,82,66,71,76,73,66,58,48,42,37,40,37,34,31,30,29,28,22,19,16,14,16,19,
+23,29,31,40,49,56,70,65,63,69,70,64,66,75,105,135,165,184,178,165,151,113,78,64,56,52,51,50,55,57,57,51,45,42,42,38,34,31,34,35,34,33,34,34,34,31,33,36,
+34,35,35,33,34,41,34,26,22,21,22,21,24,44,68,82,80,43,35,30,22,20,21,14,9,8,6,3,1,2,8,14,17,21,26,44,79,98,122,141,100,149,170,167,129,70,56,45,
+94,121,73,123,206,197,197,215,229,239,231,236,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,245,134,57,36,28,20,19,24,43,33,23,30,28,12,15,21,20,21,27,57,
+47,17,44,63,70,69,80,83,45,19,20,71,129,156,175,178,191,180,170,175,184,201,210,215,217,199,194,176,235,249,254,255,255,255,246,250,255,255,255,255,255,255,253,252,250,245,249,238,
+234,239,236,239,219,200,165,127,118,149,155,153,158,133,116,79,49,28,21,22,19,21,24,33,34,27,23,21,19,20,22,22,31,49,99,98,77,66,78,84,86,80,71,71,68,64,58,51,
+44,40,37,36,36,34,33,34,31,27,22,19,14,13,16,19,20,23,24,26,27,34,51,51,45,47,57,61,62,69,83,92,119,141,139,111,88,80,72,63,56,55,54,56,52,54,54,44,
+40,36,35,31,30,30,31,31,33,30,31,33,29,28,30,31,30,30,31,34,36,62,36,14,13,10,10,10,17,35,58,65,61,44,36,35,33,29,17,10,8,7,5,2,0,0,5,8,
+14,16,19,21,36,51,86,128,100,85,88,134,155,76,51,59,99,148,143,177,221,192,177,213,248,253,243,248,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,238,154,79,
+31,14,9,19,23,30,47,43,24,9,14,17,21,20,40,88,111,98,104,127,94,95,127,125,62,24,19,70,137,173,168,186,170,141,139,130,139,132,154,210,227,183,179,189,241,255,255,250,
+247,242,219,225,255,255,255,255,255,255,249,234,220,227,212,193,179,208,222,220,217,204,176,133,130,165,175,164,164,129,95,66,43,31,24,22,17,21,27,29,21,14,15,15,16,16,19,22,
+28,43,72,71,56,57,59,66,76,66,58,55,57,54,50,45,42,38,36,33,34,35,36,35,33,27,22,17,15,15,16,17,17,21,21,16,15,20,26,24,22,29,40,48,56,69,80,108,
+136,144,118,92,76,70,63,58,55,54,54,55,48,43,36,30,26,26,22,21,23,24,27,30,34,34,34,34,33,28,28,31,29,27,28,27,22,22,17,7,3,1,6,7,10,20,33,40,
+42,31,22,28,31,31,19,12,12,8,6,3,0,0,2,7,12,14,15,14,20,33,43,66,78,62,54,72,122,78,45,72,92,129,190,245,234,183,184,199,248,255,242,227,248,255,254,255,
+255,255,255,255,255,255,255,255,255,255,255,254,254,255,246,208,111,38,35,28,16,29,55,35,17,14,15,20,28,36,62,93,128,165,190,204,141,112,139,129,65,27,27,84,129,157,170,170,
+133,90,83,88,101,105,162,218,211,167,172,185,207,229,236,234,231,210,176,176,233,253,255,255,255,255,254,222,183,185,164,158,167,196,232,219,214,194,169,171,187,176,185,172,136,109,77,44,
+27,24,21,19,15,16,24,16,9,7,12,20,20,17,17,21,27,40,44,47,44,43,44,50,56,55,47,47,49,47,42,40,37,35,34,33,33,34,33,30,29,30,27,23,19,16,15,15,
+19,24,21,12,9,6,2,0,5,10,22,31,44,69,111,137,140,144,104,77,70,59,54,51,50,48,47,43,37,33,28,21,19,16,12,9,9,15,22,28,34,36,36,34,33,30,30,30,
+29,27,23,20,15,12,10,8,3,3,3,8,14,21,36,50,47,34,21,19,19,19,17,17,20,15,10,5,1,0,6,12,10,14,15,14,17,20,22,33,57,62,52,49,106,115,64,64,
+79,105,175,252,253,240,233,221,227,255,255,232,239,253,252,254,255,255,255,255,255,255,255,255,255,255,255,255,255,254,247,239,162,126,139,28,5,15,23,22,20,19,17,24,31,43,68,104,
+132,150,170,191,155,98,114,109,48,23,41,93,126,158,160,162,120,88,71,66,72,92,137,163,156,165,162,165,180,196,210,212,197,157,151,158,158,194,254,255,255,254,252,226,199,187,193,197,
+189,200,228,225,220,185,164,186,203,203,198,163,123,113,69,43,24,17,19,20,17,19,22,13,6,15,22,28,24,17,16,20,27,34,34,36,45,55,58,57,54,44,41,36,38,38,37,31,
+29,28,29,31,33,29,30,35,42,40,36,33,20,14,10,13,17,28,27,13,6,0,0,0,0,0,9,28,50,80,76,58,50,55,45,42,41,37,37,38,38,36,37,36,34,30,24,21,
+15,12,5,0,1,10,20,27,31,35,36,35,34,30,31,33,33,28,22,17,12,12,14,14,13,13,15,24,28,37,54,57,51,43,19,9,14,17,22,29,33,28,21,9,6,8,13,13,
+14,15,15,14,14,13,16,22,45,70,61,51,78,97,73,71,86,104,169,235,252,255,254,233,197,221,245,255,247,243,250,247,231,249,255,255,255,255,255,255,255,255,255,255,255,255,255,235,
+176,150,137,54,3,6,15,12,14,19,48,63,57,68,85,127,144,130,143,175,130,86,108,91,37,31,54,92,125,148,173,165,105,91,72,59,61,75,100,112,116,154,162,154,164,172,187,194,
+168,120,129,134,121,211,255,255,255,255,248,241,240,241,238,224,213,218,226,229,219,165,162,178,197,208,193,158,139,115,79,59,30,22,26,29,26,27,26,15,20,28,26,28,28,24,22,28,
+42,35,29,36,59,79,79,78,62,38,31,23,23,26,28,27,24,23,27,29,30,33,35,50,56,40,42,41,22,8,5,8,23,51,44,8,1,0,0,0,0,6,26,50,84,100,41,24,
+24,22,21,21,19,21,22,23,26,28,30,31,33,31,27,21,16,8,2,0,0,7,14,24,33,35,37,38,38,34,34,35,33,29,23,17,14,12,10,10,13,14,19,24,30,42,49,61,
+73,52,24,13,19,20,27,40,56,49,33,19,13,15,16,20,19,16,15,14,12,8,12,19,29,49,58,71,78,90,86,99,140,144,169,193,199,228,255,217,186,198,196,232,240,232,214,200,
+191,239,255,255,255,255,255,255,255,255,255,255,255,255,255,253,167,87,72,63,26,16,20,17,31,59,99,113,102,78,83,132,156,136,121,128,100,84,101,61,24,34,57,90,120,149,160,119,
+88,91,91,76,54,47,85,104,135,197,168,142,127,125,164,177,146,120,143,126,130,229,255,252,253,248,250,248,242,241,253,235,215,214,215,228,197,176,184,187,186,171,146,134,130,115,100,70,
+42,36,51,56,47,48,44,36,30,27,22,29,35,33,33,43,64,45,33,40,62,71,79,78,61,43,29,22,19,19,19,26,31,28,34,38,37,41,42,52,45,33,38,43,33,13,6,12,
+57,95,51,10,1,1,0,0,0,12,24,45,68,76,50,28,22,19,16,14,10,13,15,17,19,22,24,28,31,31,29,21,14,6,0,0,0,6,12,21,31,36,37,40,40,38,37,34,
+34,29,26,22,17,13,9,6,6,7,10,17,34,50,55,87,97,52,40,23,24,26,28,43,71,77,55,33,26,23,22,24,24,21,17,10,7,5,7,13,23,37,45,58,75,99,107,120,
+179,199,193,178,156,196,254,233,221,229,198,207,221,226,178,151,177,222,246,247,254,255,255,255,255,255,255,255,254,254,254,236,162,79,41,21,28,27,15,30,66,94,115,116,104,73,91,136,
+150,127,118,115,92,83,99,55,28,37,59,91,123,146,121,98,123,135,127,94,63,50,86,115,149,197,146,113,101,84,105,113,86,93,121,127,134,184,221,242,228,240,255,241,225,224,246,250,
+232,219,221,236,193,187,186,176,186,183,139,132,144,130,120,104,68,52,84,86,83,82,72,54,34,23,24,27,26,28,29,35,41,37,40,45,56,71,68,64,56,48,35,29,22,20,23,29,
+35,33,35,43,43,41,38,38,35,34,38,37,31,24,16,56,109,78,31,16,9,14,13,7,9,8,8,16,36,54,50,29,24,19,14,12,9,10,13,14,14,15,17,23,28,29,28,21,
+12,6,1,0,0,5,13,22,31,37,40,41,42,40,38,35,33,27,24,23,19,10,6,2,1,2,6,14,23,29,50,69,59,36,49,38,33,33,34,42,63,72,57,40,33,30,30,33,
+33,29,20,9,5,2,2,10,22,34,36,45,59,83,129,163,201,217,213,183,158,198,255,255,254,249,239,218,227,231,162,156,186,193,220,239,254,255,255,255,255,255,255,255,254,250,249,236,
+144,70,42,15,19,22,20,35,62,86,106,107,95,104,132,143,132,99,98,118,87,72,70,63,48,49,69,86,83,72,63,84,118,120,123,99,70,82,114,111,153,139,91,91,88,61,59,63,
+72,75,128,197,179,177,205,233,238,255,243,201,197,225,248,254,254,254,254,247,211,206,196,186,196,190,144,137,137,121,141,178,132,90,97,102,92,87,100,80,44,28,23,24,22,24,27,31,
+29,30,40,69,100,99,108,98,52,36,36,31,27,23,27,31,31,27,30,44,45,33,28,31,40,51,48,38,42,52,58,102,118,82,55,44,36,44,31,12,5,0,1,3,14,30,34,26,
+15,8,9,13,10,10,9,7,6,6,10,21,27,33,29,24,16,8,7,6,5,9,17,23,31,38,43,41,43,41,40,37,34,28,23,21,19,14,5,0,2,6,6,5,0,2,21,23,
+13,21,51,54,49,44,43,50,57,54,49,41,36,34,36,40,40,35,24,14,6,2,1,10,24,33,36,42,45,65,119,189,226,206,221,217,180,190,248,254,255,255,255,248,249,226,173,137,
+165,205,221,232,253,255,254,255,255,255,254,253,255,253,249,255,160,42,30,15,19,29,15,26,44,66,102,111,123,121,128,147,146,128,125,111,97,86,69,107,102,79,82,85,76,75,58,57,
+72,78,86,98,86,88,90,87,118,78,58,92,86,59,62,68,91,108,147,180,184,191,199,247,255,255,214,192,218,229,245,252,252,255,255,249,229,217,203,178,191,185,157,164,163,175,186,196,
+197,189,193,187,122,133,151,127,65,34,24,22,17,20,33,30,22,24,49,88,133,129,143,136,78,35,35,41,36,19,22,28,30,34,36,50,52,29,27,48,64,63,47,44,62,86,123,140,
+106,76,62,61,58,61,47,35,21,7,16,9,5,16,19,12,17,28,28,21,13,10,6,0,0,0,3,14,24,33,34,29,21,13,12,10,10,15,17,27,31,38,41,42,42,41,41,37,
+35,31,24,20,17,15,8,3,2,6,1,0,0,0,2,0,5,28,55,66,75,59,49,56,57,40,34,35,36,37,40,43,49,41,30,19,10,5,2,9,24,35,36,49,65,88,120,184,
+224,219,222,218,212,190,234,252,255,255,255,252,221,196,175,123,129,190,238,231,234,252,254,255,255,255,254,240,239,243,241,220,205,100,33,22,22,16,13,37,59,79,100,115,135,113,132,147,
+139,112,114,92,93,114,135,175,164,147,143,119,83,56,42,40,44,54,63,73,63,58,62,64,63,51,61,95,85,73,70,80,93,102,151,190,160,165,176,229,235,203,157,165,203,243,241,250,
+248,249,232,225,213,194,167,151,198,199,184,177,199,211,194,186,200,212,218,205,150,113,137,115,48,27,24,23,23,22,23,30,37,45,65,97,115,116,137,127,78,43,45,62,51,34,31,42,
+68,78,70,82,56,34,71,101,101,72,52,45,66,144,165,156,125,80,64,58,55,56,100,126,87,66,56,26,16,52,45,50,79,75,55,47,26,12,0,0,0,0,0,7,20,29,34,31,
+21,16,14,17,17,17,20,27,35,37,40,42,42,41,40,37,33,30,22,17,14,12,9,6,5,3,0,0,0,0,0,0,0,33,62,84,98,90,76,68,51,30,22,28,33,36,40,45,
+52,47,34,22,16,13,12,14,23,31,40,62,111,158,170,180,194,200,219,203,190,178,214,243,255,255,254,228,187,173,163,141,90,143,232,226,218,253,255,255,255,255,235,183,149,208,235,178,
+193,144,69,77,44,24,50,72,80,95,113,122,134,137,158,160,146,120,119,123,147,161,175,178,167,165,160,132,85,55,41,35,34,40,55,65,56,55,50,44,42,51,64,69,88,123,121,115,
+142,123,146,167,133,137,154,169,162,196,210,198,220,253,248,239,228,213,205,180,153,147,137,149,189,211,182,156,201,218,204,190,186,178,190,193,141,107,128,98,43,24,21,21,38,31,21,33,
+62,80,85,91,116,140,129,85,59,43,36,54,41,56,108,136,143,116,84,90,91,116,156,147,129,83,77,73,91,154,162,172,178,149,90,69,62,43,90,137,112,116,104,54,64,114,122,125,
+97,68,54,42,23,3,0,0,0,0,0,5,17,26,30,29,22,20,20,20,21,20,23,30,35,38,41,42,41,38,38,37,31,26,20,15,15,14,16,13,12,5,0,0,0,0,0,0,
+0,17,56,102,118,113,101,73,47,30,20,23,28,34,41,48,55,52,42,35,29,23,23,20,26,34,43,63,129,172,206,197,164,136,168,178,161,144,157,212,250,254,253,196,193,198,180,162,
+100,106,197,239,247,255,255,255,255,252,217,200,157,199,228,164,187,169,112,133,102,101,116,85,49,88,140,126,128,144,149,150,140,157,153,171,192,192,189,162,149,164,164,128,88,68,50,37,
+35,41,57,65,57,50,49,45,51,61,65,85,129,149,200,177,175,132,137,139,113,132,156,144,168,226,255,255,255,253,241,224,206,164,170,151,113,129,149,162,168,162,132,129,190,212,217,219,
+199,168,163,171,119,107,121,84,45,31,24,30,49,33,23,41,65,94,83,98,120,130,114,91,69,33,37,61,44,78,175,214,168,120,94,86,108,148,160,156,143,93,87,108,125,146,147,165,
+198,172,135,108,61,57,108,154,150,136,136,90,82,98,80,68,56,37,24,9,0,0,0,0,0,0,0,0,12,22,28,28,26,24,24,21,21,22,27,36,38,38,42,43,42,41,40,35,
+37,33,26,19,17,17,21,17,13,8,0,0,0,0,0,0,0,23,73,101,112,105,70,57,44,31,26,26,31,37,47,52,57,63,68,61,52,43,34,29,30,41,61,69,115,170,210,192,
+149,130,155,175,142,125,128,161,207,252,249,186,189,215,218,198,98,76,150,228,255,255,255,253,252,247,235,226,179,205,219,176,203,204,141,141,155,158,144,73,51,69,133,142,135,130,132,127,
+157,187,193,203,187,191,189,140,122,162,171,130,101,85,63,41,36,37,38,44,43,41,51,59,77,82,87,109,165,179,225,191,161,142,125,121,113,130,168,177,167,233,255,224,192,178,154,148,
+151,157,157,116,115,151,157,178,167,127,142,141,171,220,228,226,198,163,150,135,115,114,119,76,55,47,44,63,66,45,52,90,120,112,95,126,136,139,128,95,58,38,50,62,65,77,129,190,
+171,146,125,90,125,167,186,207,182,114,133,141,154,156,151,164,171,172,189,143,111,121,165,178,164,143,126,91,43,19,27,34,34,19,9,0,0,0,0,0,0,0,0,0,8,20,28,30,
+29,26,27,22,21,26,33,44,43,37,40,44,43,43,43,40,43,37,30,26,20,20,22,15,9,6,0,0,0,0,6,3,9,30,64,88,94,85,57,47,40,28,24,26,35,43,45,55,
+69,90,106,93,80,59,37,30,31,48,75,91,116,129,170,214,177,169,176,142,107,111,107,120,192,242,235,208,187,212,204,154,71,59,127,220,252,255,253,247,246,245,239,226,215,220,208,199,
+200,171,141,129,158,169,133,107,100,112,130,133,136,129,128,143,170,203,206,197,198,196,201,190,182,190,167,139,113,95,68,42,30,26,26,33,38,45,54,61,69,76,91,123,212,245,241,218,
+212,228,205,176,130,150,184,208,226,249,249,183,146,146,143,154,153,125,88,58,76,100,158,207,186,147,147,165,201,233,232,206,143,108,134,137,111,113,123,107,66,59,70,97,77,72,104,156,
+170,135,122,163,190,172,146,92,78,72,63,45,44,100,168,182,196,194,171,170,207,207,197,198,204,163,168,137,142,139,133,140,148,172,201,192,187,200,191,179,167,137,99,61,22,6,7,9,
+12,7,0,0,0,0,0,0,0,0,0,2,13,22,30,31,29,29,28,26,29,36,44,51,43,36,40,42,43,43,44,45,45,41,40,42,40,29,26,26,16,9,3,3,7,10,13,17,
+27,36,61,93,97,78,50,41,34,23,24,27,35,41,50,71,100,119,132,129,107,71,41,30,37,56,72,106,143,125,99,204,200,199,163,94,105,102,85,114,189,217,182,148,143,185,184,161,
+126,84,126,186,210,211,228,235,233,236,233,242,233,205,200,190,186,163,143,147,162,168,150,135,142,150,142,123,122,132,141,157,170,193,196,199,240,242,248,249,238,205,163,137,109,85,58,38,
+27,21,26,34,41,48,58,68,72,73,85,139,231,255,255,217,158,175,177,142,123,99,94,163,245,248,218,156,141,147,170,171,184,137,82,55,65,63,125,190,186,140,132,175,211,229,221,191,
+136,116,149,164,134,111,106,114,87,63,77,107,91,106,111,155,187,177,164,201,179,135,111,109,118,91,58,37,56,180,240,233,248,245,235,255,238,194,183,176,194,175,194,189,137,87,88,147,
+141,171,200,200,211,208,193,128,135,126,57,17,0,1,8,6,1,0,0,0,0,0,0,0,0,0,0,2,15,27,33,33,31,31,31,30,35,48,58,56,43,37,40,41,43,44,45,44,
+44,42,48,50,56,45,35,49,34,14,16,24,26,16,15,29,43,64,95,122,101,70,47,35,31,23,27,30,37,44,57,86,135,156,151,148,129,86,50,35,49,79,101,128,158,162,150,194,
+206,192,121,84,101,100,93,126,176,201,189,169,151,142,147,156,161,126,114,160,172,182,220,229,219,232,233,235,228,194,215,217,198,199,177,173,169,163,130,118,149,167,160,146,147,157,157,162,
+178,193,187,219,255,255,255,255,254,221,168,134,102,73,51,40,31,28,31,40,47,57,69,83,84,79,82,123,205,252,229,175,121,102,112,102,91,68,62,135,183,158,130,104,132,182,194,186,
+177,121,51,44,63,78,136,173,194,196,193,185,197,206,197,191,177,179,197,182,150,139,151,172,153,128,137,118,85,77,84,133,204,217,212,193,137,107,105,116,101,77,55,41,114,238,246,254,
+255,255,250,249,246,236,233,217,197,186,196,172,130,128,169,169,143,186,190,180,190,194,162,72,87,93,33,8,2,3,9,2,0,0,0,0,0,0,0,0,0,0,0,5,16,28,35,36,
+37,35,37,40,40,47,51,47,40,37,41,41,45,45,47,47,42,41,42,44,55,59,42,50,57,36,43,62,62,42,28,47,68,85,112,120,86,57,42,33,28,29,31,35,41,48,59,88,
+144,185,194,190,157,104,63,47,59,91,121,143,182,207,182,191,226,218,149,127,106,94,109,111,147,189,182,169,170,148,132,137,137,120,129,163,179,187,227,232,225,227,229,236,227,204,206,220,
+198,198,194,154,140,146,121,134,167,168,161,161,154,156,158,161,168,172,170,226,255,255,255,255,255,233,179,139,109,79,59,55,45,40,38,45,57,71,80,88,88,88,100,149,193,219,175,167,
+121,101,134,126,85,88,119,144,123,88,73,83,134,186,176,171,125,57,30,41,65,90,167,183,206,215,191,170,191,204,201,184,165,161,172,158,161,169,191,194,186,192,201,184,118,109,137,127,
+210,233,205,197,169,139,113,98,80,94,128,115,213,255,253,255,255,255,252,250,248,214,193,189,205,196,170,163,179,176,178,113,123,173,189,148,155,169,139,94,66,35,13,6,6,5,3,0,
+0,0,0,0,0,0,0,0,0,0,0,6,19,30,38,42,42,41,41,43,41,45,49,47,43,42,42,42,43,45,47,45,41,37,37,38,50,70,66,61,71,68,76,114,111,129,101,76,
+86,90,98,97,77,56,43,35,33,35,38,41,47,54,76,105,150,199,231,229,196,128,77,61,79,105,133,164,179,218,206,212,233,235,187,132,136,123,139,132,132,161,170,158,172,167,175,150,
+104,99,149,163,164,157,199,225,225,235,219,215,218,222,197,200,206,198,178,164,136,146,167,163,171,165,161,162,134,127,153,120,85,118,144,208,255,255,255,255,255,240,196,149,118,91,77,71,
+62,54,48,51,59,73,85,108,162,211,225,250,250,213,157,126,102,93,101,101,84,77,95,98,92,73,66,97,122,146,160,143,82,38,21,36,52,98,177,193,191,198,196,193,210,225,212,175,
+156,162,167,185,191,193,196,189,185,197,204,205,199,221,226,222,250,250,240,239,219,185,130,92,104,193,240,238,253,254,255,255,255,254,253,254,252,162,137,168,199,228,221,217,205,176,125,76,
+123,142,149,91,84,141,143,106,50,23,12,3,2,2,8,9,0,0,0,0,0,0,0,0,0,1,5,9,20,34,45,50,49,49,50,52,54,55,56,52,48,45,43,44,45,48,47,45,
+41,36,36,36,43,69,94,94,82,86,104,137,148,153,107,97,93,91,100,82,63,51,44,42,45,44,47,44,49,63,95,127,182,239,248,219,173,134,98,90,123,177,173,163,173,225,226,225,
+242,245,224,147,108,114,154,183,189,179,182,170,170,189,199,178,111,100,125,118,125,135,197,213,198,221,211,176,213,229,200,187,212,179,168,194,199,193,192,179,170,161,155,135,88,92,86,47,
+43,79,116,172,249,252,255,255,254,252,225,184,137,106,104,115,95,66,58,62,77,88,95,125,180,250,247,242,242,225,182,111,91,77,72,69,66,62,52,64,77,68,66,79,85,115,135,102,
+49,35,21,27,55,128,175,185,183,196,224,207,207,213,197,165,178,184,185,210,206,210,197,158,163,205,231,238,249,249,253,255,255,255,253,246,242,248,225,179,190,253,255,255,254,254,255,255,
+255,255,255,254,248,193,184,226,219,239,234,234,219,147,115,136,163,107,116,109,84,111,104,61,41,28,13,8,6,8,13,17,6,0,0,0,0,0,0,0,1,9,12,14,23,34,43,50,
+50,52,58,64,64,62,61,54,49,45,43,44,44,48,48,48,41,37,33,30,43,76,91,90,85,95,123,165,192,161,78,75,77,93,111,82,69,51,47,50,56,56,55,55,66,80,98,148,
+185,222,243,229,184,144,125,123,163,212,206,172,186,232,241,232,240,245,228,142,75,66,146,204,189,173,180,173,157,201,197,171,160,137,104,78,77,140,213,208,203,221,219,184,211,232,222,197,
+201,180,173,187,199,217,206,193,172,120,119,94,59,41,12,13,27,55,118,164,185,190,219,254,253,248,228,208,179,149,140,178,143,79,71,94,150,175,122,109,130,141,172,193,184,175,151,99,
+86,77,72,75,93,86,64,62,58,75,77,79,94,116,106,80,45,29,23,29,66,136,187,207,222,239,220,197,203,184,150,167,207,222,215,213,200,205,199,165,183,241,252,249,254,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,243,215,229,239,232,232,227,217,197,197,211,191,135,139,111,102,102,77,42,36,23,14,10,10,14,15,19,
+9,0,0,0,0,0,0,0,2,14,23,21,24,33,41,43,47,55,59,61,64,64,58,55,51,48,48,48,48,50,50,47,42,36,30,30,40,57,76,79,72,90,120,172,204,168,90,69,
+70,97,102,73,62,56,54,58,63,69,80,88,109,128,134,179,208,211,241,239,211,182,151,191,205,192,219,197,205,212,242,241,219,218,235,164,77,66,111,170,170,143,141,133,129,183,191,179,
+172,151,107,85,92,162,212,211,206,220,229,211,214,217,226,227,200,198,201,198,196,220,228,218,183,116,86,61,41,16,21,26,30,57,120,154,129,160,208,242,254,234,200,184,179,190,200,222,
+167,107,108,167,176,169,127,120,133,134,160,186,141,129,121,93,77,76,72,91,127,113,83,91,93,127,105,93,99,79,55,44,33,24,30,49,95,150,213,222,228,231,201,200,211,161,177,191,
+173,218,215,214,227,224,228,232,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,247,245,234,231,220,227,220,213,214,
+207,170,142,113,108,104,88,59,47,31,17,10,10,9,8,12,7,0,0,0,0,0,0,0,2,17,28,28,28,31,36,40,45,52,57,61,63,61,56,55,54,50,51,50,50,49,50,47,
+37,34,27,30,35,37,49,62,57,59,88,134,176,170,119,88,95,101,86,69,61,65,66,64,69,76,93,119,147,164,167,189,220,213,228,228,222,207,210,255,243,201,200,218,229,219,235,235,
+226,232,240,199,106,88,111,143,169,156,134,125,113,140,148,163,160,156,113,97,126,187,206,199,189,189,187,204,224,228,235,228,196,194,229,212,189,217,233,232,210,160,98,42,20,19,30,33,
+49,70,99,118,148,196,203,229,242,229,200,176,156,168,190,231,238,217,231,235,165,160,142,162,176,196,182,150,129,146,127,95,80,80,88,125,151,125,141,164,134,119,90,87,79,58,35,28,
+26,29,38,76,118,155,184,185,176,185,199,225,233,184,187,163,162,207,219,235,253,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,253,248,232,215,214,221,213,220,222,211,194,169,128,115,125,134,86,47,29,21,22,10,9,10,6,0,0,0,0,0,0,0,0,0,15,30,30,31,34,36,41,
+49,55,55,57,54,50,49,50,51,51,54,51,51,47,45,44,31,28,27,29,35,40,37,42,36,36,62,104,148,128,97,100,129,112,72,75,76,75,76,76,75,78,101,135,153,190,189,191,
+236,226,221,204,205,207,233,255,255,238,215,255,255,254,250,247,238,234,241,214,151,133,180,206,211,173,140,140,113,121,109,135,168,160,126,128,161,197,208,196,155,137,156,168,224,241,243,236,
+220,212,222,196,196,219,227,224,218,171,61,19,15,22,42,45,48,72,101,109,150,177,185,217,226,203,199,186,168,126,128,228,255,255,255,252,242,227,219,213,196,193,160,113,126,162,129,93,
+84,87,113,154,190,173,175,146,88,64,64,82,65,48,36,31,30,30,44,69,101,137,142,162,155,169,190,177,196,191,154,148,180,217,217,247,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,249,232,217,218,221,228,228,232,214,204,197,173,155,148,147,97,34,10,19,28,9,16,19,7,
+2,1,0,0,0,0,0,0,0,14,36,40,37,38,42,43,47,51,54,55,52,49,45,49,50,52,52,51,49,45,44,37,29,27,29,29,33,35,40,41,30,31,49,87,132,94,75,87,
+102,108,78,73,82,76,76,79,79,86,114,153,164,200,197,206,214,218,205,189,199,213,227,247,255,255,255,255,255,255,255,254,255,243,227,217,206,201,218,238,235,213,156,149,128,141,150,136,
+151,146,118,118,136,167,197,178,128,127,155,168,210,241,240,243,235,224,217,187,206,221,226,217,199,136,29,14,22,50,59,51,42,71,105,149,171,177,199,163,155,154,183,198,179,132,144,232,
+250,255,255,248,245,241,198,201,192,146,105,97,107,107,100,88,91,108,121,163,225,215,178,105,71,66,75,70,54,41,36,36,31,27,37,54,73,112,126,128,154,176,165,125,119,187,158,149,
+168,200,200,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,227,185,207,214,218,226,227,
+224,217,212,197,170,141,115,79,36,6,17,36,24,26,24,9,3,0,0,0,0,0,0,0,0,15,44,49,43,38,41,42,43,43,48,56,55,51,48,47,49,50,49,50,47,45,38,31,
+28,27,27,28,31,38,42,43,37,40,52,90,106,87,77,76,84,98,99,82,76,73,78,82,88,94,119,150,170,192,191,199,179,189,167,178,201,218,233,229,253,255,255,255,255,255,255,254,
+255,253,224,212,215,233,239,236,229,225,196,186,161,179,153,122,137,129,84,78,100,127,167,161,127,127,137,150,178,233,240,245,242,219,199,183,219,231,232,221,194,118,23,23,35,50,55,48,
+47,82,107,162,213,175,172,135,113,136,161,178,153,128,158,182,172,218,242,254,249,254,211,178,162,125,105,99,108,114,105,105,119,149,129,182,238,211,160,102,79,77,82,62,47,38,36,36,
+31,26,31,48,62,85,99,101,144,154,122,99,108,158,165,133,134,169,180,232,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,253,253,255,255,255,205,146,198,203,197,192,193,214,218,206,167,146,125,87,55,35,19,19,30,51,38,26,19,7,0,0,0,0,0,0,0,0,10,40,47,41,38,38,42,
+42,41,43,51,54,52,52,49,50,50,52,49,44,41,36,30,26,21,26,28,31,34,42,48,49,50,72,95,71,71,83,68,83,85,97,113,91,75,77,84,92,99,114,134,140,157,176,185,
+173,200,163,171,203,226,240,249,255,255,255,255,255,255,255,255,255,248,235,212,210,242,238,232,234,227,219,220,206,218,161,107,113,93,62,72,82,99,134,134,121,132,140,162,206,236,234,246,
+247,224,198,211,233,243,245,229,200,125,34,56,71,59,48,52,77,111,150,189,191,151,140,123,115,111,126,132,122,106,112,119,136,165,226,255,255,255,240,184,162,144,133,109,100,101,125,149,
+157,172,169,186,182,143,115,115,94,73,62,43,35,30,29,28,24,19,22,31,43,56,66,80,102,98,85,86,104,128,134,104,109,137,177,214,243,238,249,255,255,255,255,255,255,255,255,255,
+255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,243,218,240,255,252,205,158,187,203,203,173,156,175,187,194,160,157,134,92,30,16,7,7,23,40,35,21,7,
+0,0,0,0,0,0,0,0,0,5,30,42,44,41,38,41,41,41,43,48,52,56,54,51,50,51,52,49,45,43,36,31,23,20,23,24,31,41,37,49,66,72,104,86,48,43,54,49,
+55,64,83,115,105,78,78,82,88,95,102,125,132,144,170,175,192,222,189,189,210,239,252,255,255,255,255,255,255,255,255,255,255,255,250,235,232,241,240,229,241,232,198,208,219,218,167,116,
+105,126,105,73,63,69,99,125,113,102,112,179,234,231,225,242,248,231,224,235,246,252,252,239,207,116,47,109,127,63,35,49,85,120,163,184,164,143,120,116,165,137,105,108,115,107,80,101,
+127,154,240,255,255,255,233,173,185,182,157,129,123,115,151,179,162,149,175,190,144,130,151,140,84,51,37,31,24,20,21,17,17,16,17,26,31,38,49,66,85,100,101,101,121,122,109,93,
+102,147,204,218,213,217,238,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,248,243,233,224,234,227,212,191,165,180,201,196,169,153,
+168,169,179,165,161,149,105,55,9,3,10,26,33,24,12,0,0,0,0,0,0,0,0,0,0,2,22,36,42,40,41,38,35,48,50,52,57,57,57,55,51,52,50,47,45,42,35,29,
+26,22,22,23,43,54,44,69,85,95,121,80,40,44,45,34,35,55,72,86,88,76,76,83,90,100,106,109,108,115,154,164,191,227,207,215,225,227,253,255,255,255,255,255,255,255,255,255,
+255,255,252,253,242,235,238,238,243,239,186,163,191,217,155,156,171,180,146,70,49,44,71,119,123,101,98,178,231,194,190,224,241,243,242,248,254,255,254,246,210,123,68,120,133,49,31,45,
+62,86,112,126,157,142,115,144,180,157,135,125,121,91,72,93,100,118,206,255,255,245,211,204,206,168,149,139,134,137,149,153,136,147,183,208,167,149,134,100,58,37,30,22,15,12,10,12,
+13,15,19,24,34,44,59,73,94,134,120,119,148,154,123,106,121,162,198,214,219,231,243,253,255,255,255,254,250,252,250,248,248,254,255,255,255,255,255,255,254,255,255,255,255,255,255,255,
+255,253,239,232,238,235,201,149,135,150,164,189,211,201,183,173,179,183,182,156,132,109,59,36,9,3,12,26,23,28,10,0,0,0,0,0,0,0,0,0,0,2,16,30,44,47,51,48,
+49,54,52,54,58,58,57,54,54,52,54,49,44,40,35,29,28,26,22,30,56,55,52,92,136,126,101,61,37,49,49,42,40,50,59,63,65,71,80,92,107,120,135,134,119,105,128,142,
+191,236,215,228,234,243,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,238,234,243,249,247,215,172,163,215,199,210,249,194,123,80,51,43,63,97,127,120,100,171,211,164,161,201,
+236,248,249,253,255,255,255,245,214,176,119,132,147,73,50,66,82,99,95,95,118,113,122,158,176,176,194,173,149,95,78,87,92,95,148,201,246,243,185,205,191,157,141,115,104,111,122,123,
+129,123,140,177,175,158,107,64,42,27,21,15,7,3,3,6,7,14,22,33,44,64,84,106,119,141,126,142,156,163,153,135,148,184,201,204,219,234,245,252,254,255,254,253,249,243,241,247,
+239,247,254,255,255,255,255,249,246,255,255,255,255,255,255,253,249,241,207,210,204,163,122,118,126,126,180,199,196,189,201,203,194,207,197,167,120,63,29,12,6,5,16,31,36,41,21,0,
+0,5,0,0,0,0,0,0,0,6,15,27,41,51,52,54,56,54,52,55,57,56,56,56,55,56,56,52,49,41,34,29,37,35,41,58,78,73,71,106,132,135,128,64,27,40,45,56,
+58,62,64,62,59,66,86,102,129,157,177,158,154,151,142,142,192,232,241,235,232,239,250,254,255,255,255,255,255,255,255,255,255,255,255,255,252,233,236,240,248,249,234,199,208,221,219,222,
+224,160,108,105,84,73,69,85,118,140,119,134,165,162,171,208,234,243,249,254,255,255,255,243,213,180,164,143,116,83,59,69,73,72,52,73,80,111,162,141,129,183,198,175,141,94,80,78,
+83,91,98,133,227,233,158,161,169,141,112,93,88,86,88,105,125,100,92,107,144,133,86,44,27,21,15,9,2,1,0,3,5,15,26,36,59,84,107,154,129,156,176,186,180,197,197,175,
+169,190,217,229,238,242,245,243,242,240,243,243,246,248,239,239,239,246,255,255,250,241,239,227,236,254,255,255,255,255,255,247,236,227,214,208,192,163,170,191,167,161,199,213,199,194,207,213,
+180,176,170,144,92,42,41,31,13,28,34,33,36,35,14,3,0,0,0,0,0,0,0,0,0,2,10,19,28,47,48,47,47,50,49,49,52,55,54,54,54,54,56,56,54,45,43,37,
+61,57,72,100,121,122,133,158,133,126,149,82,28,47,65,87,95,85,77,64,63,71,91,116,143,165,192,187,193,190,167,176,203,231,242,234,228,239,235,235,254,255,255,255,255,255,255,255,
+255,255,255,249,245,232,211,213,232,238,229,180,183,171,192,140,99,120,140,137,130,107,72,76,120,160,136,118,127,122,151,185,219,241,250,255,255,255,255,240,214,179,172,163,92,48,54,57,
+65,48,27,47,86,140,161,147,139,136,146,180,153,85,76,80,85,93,92,115,178,178,139,141,133,106,92,83,83,84,83,95,102,94,83,80,98,87,50,27,20,16,7,2,0,0,0,1,
+5,13,27,45,83,92,120,198,192,213,227,206,185,185,186,173,173,194,226,247,250,250,245,234,225,228,227,229,241,245,226,227,234,224,227,219,215,217,213,220,232,246,254,255,255,255,255,253,
+247,232,231,224,214,219,221,240,225,214,219,213,212,219,213,214,191,136,125,114,54,16,34,29,19,31,34,31,37,26,5,5,2,0,0,0,0,0,3,3,0,0,5,9,16,28,36,33,
+36,43,42,43,44,49,49,49,50,50,52,62,58,61,75,68,91,88,86,109,130,148,192,227,183,149,100,75,40,65,92,109,99,90,86,62,66,105,133,132,142,176,204,206,218,214,197,183,
+175,208,219,232,220,233,243,243,252,255,255,255,255,255,255,255,255,255,255,231,229,234,208,196,207,233,236,175,98,118,132,107,133,184,186,173,161,100,68,75,113,129,134,122,87,88,125,156,
+193,231,249,255,255,255,254,234,210,196,194,200,153,70,41,43,42,21,17,31,64,136,121,119,97,113,116,164,139,82,87,99,105,98,88,102,133,135,135,118,105,102,92,80,83,87,90,99,
+101,88,73,68,66,50,31,21,16,10,2,0,0,0,0,2,7,14,29,57,88,97,126,186,235,231,234,215,189,189,204,206,217,228,242,254,254,249,243,229,213,210,203,199,206,197,191,194,
+198,186,176,158,162,191,210,225,233,232,238,253,255,255,255,255,249,242,240,238,236,233,231,240,243,233,222,206,214,219,221,222,194,140,146,93,35,10,9,14,20,23,33,44,41,14,6,14,
+13,7,0,0,0,0,5,6,5,1,1,2,3,12,17,22,24,31,36,37,37,37,41,43,44,44,44,59,69,76,95,99,119,127,108,121,163,191,204,212,189,128,78,85,70,79,109,137,
+133,107,95,72,70,114,161,164,167,201,224,215,218,231,218,170,135,161,197,220,219,221,239,248,253,255,255,255,255,255,254,254,255,255,250,198,217,217,206,213,214,238,246,169,88,113,136,150,
+207,219,199,167,130,77,66,75,98,97,109,111,79,86,108,111,132,197,247,255,255,255,250,227,205,205,206,206,178,112,71,50,26,14,22,30,34,54,59,76,78,93,106,109,93,87,86,97,
+107,109,94,97,97,102,112,107,113,126,98,82,88,91,91,97,95,80,65,59,52,41,28,21,12,6,0,0,0,0,5,12,15,20,31,51,70,111,147,172,233,222,208,211,225,228,226,235,
+248,254,255,255,255,253,243,226,217,190,176,175,171,163,168,180,183,168,175,155,157,187,217,228,240,238,246,255,255,255,255,254,253,252,250,250,243,233,236,240,243,238,221,213,212,208,227,221,
+203,194,161,79,40,14,9,21,29,22,36,61,33,15,20,16,10,7,1,0,0,17,19,3,6,5,7,5,5,12,12,16,13,15,21,24,29,31,31,34,37,36,36,48,84,111,120,109,
+154,123,102,136,183,199,199,184,144,93,72,88,115,108,123,169,161,116,84,75,75,95,147,179,198,199,211,224,227,206,211,200,146,121,167,190,210,240,246,254,255,255,255,255,255,252,246,254,
+255,255,250,221,224,176,183,194,226,247,240,153,116,129,192,205,198,180,168,113,92,78,63,64,88,94,95,80,76,71,77,106,153,205,253,254,254,254,245,224,212,204,208,206,177,146,112,62,
+24,17,22,31,21,21,58,71,65,58,93,83,78,75,71,78,99,104,87,86,85,93,99,101,113,118,99,85,90,93,88,80,72,68,62,56,44,35,24,19,12,3,0,0,0,5,12,20,
+26,30,36,50,84,136,153,169,212,215,232,240,248,240,234,241,252,255,255,255,255,253,238,224,214,173,148,157,162,160,201,197,165,154,173,156,170,208,239,247,252,252,255,255,255,255,255,255,
+255,252,250,254,249,236,238,234,234,219,218,218,207,213,217,201,193,186,139,80,57,31,23,43,48,36,42,50,31,21,16,7,5,6,1,0,14,44,36,8,2,7,13,7,6,6,10,13,
+8,8,12,14,22,31,31,33,37,37,35,50,113,151,170,180,149,116,99,129,163,191,203,185,112,70,64,79,121,125,127,160,161,144,98,79,79,101,125,158,214,215,198,210,215,207,193,219,
+194,142,139,164,197,248,255,255,255,255,255,255,255,252,249,255,255,255,253,248,236,190,167,177,226,231,228,183,154,182,219,203,139,114,125,99,93,98,83,79,77,70,70,69,62,66,75,109,
+182,242,253,254,254,250,239,219,207,200,210,207,204,193,114,68,42,17,19,28,24,20,49,64,84,83,90,90,68,49,49,70,101,105,85,79,90,92,101,106,106,111,104,87,82,78,72,64,
+59,61,56,44,35,29,23,15,8,6,5,7,8,13,17,23,31,38,43,58,101,142,154,177,206,213,232,239,240,245,247,252,254,255,255,255,255,252,229,224,207,185,185,187,176,165,205,185,
+157,169,162,146,187,226,248,252,255,255,255,255,255,255,255,255,255,253,249,252,254,247,236,227,235,201,205,207,192,208,221,191,176,175,140,108,90,50,22,55,70,69,68,59,42,21,8,0,
+0,0,0,1,16,22,16,12,7,9,15,15,8,5,9,12,10,8,8,14,20,27,31,28,36,36,31,57,125,171,191,200,158,132,126,147,175,201,167,106,70,61,76,91,134,150,119,118,
+134,132,122,98,105,129,132,165,231,220,203,214,215,225,218,215,190,143,155,171,193,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,171,133,122,163,208,197,192,171,199,220,182,121,
+85,101,116,127,130,100,84,65,45,41,50,41,52,68,73,101,178,247,253,255,254,247,228,208,203,203,205,205,197,197,128,52,57,33,22,23,21,20,38,66,98,95,78,61,42,40,44,69,
+106,120,111,108,111,114,119,119,104,88,83,75,73,66,61,58,55,55,44,34,29,23,20,15,9,8,10,10,13,19,26,34,42,47,51,64,102,109,135,183,210,211,225,234,241,246,252,255,
+255,255,255,255,254,245,229,205,194,207,215,194,172,173,192,155,147,169,143,160,205,231,250,252,255,255,255,255,255,255,255,255,254,250,252,254,254,255,250,252,249,214,208,217,206,213,224,172,
+142,149,136,125,164,127,66,68,83,76,69,83,77,31,8,0,0,0,0,10,23,17,7,5,7,12,22,24,8,0,2,7,6,5,5,9,15,17,20,21,31,38,29,56,92,135,198,207,
+192,194,162,183,205,170,143,87,44,62,92,111,141,144,120,106,123,123,130,108,113,148,190,204,205,175,178,210,222,222,229,222,197,176,177,194,221,247,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,184,160,149,115,137,139,134,162,208,215,133,90,100,104,129,153,132,72,34,20,21,29,33,36,61,66,47,68,146,233,253,255,254,243,220,205,212,206,201,208,200,200,167,97,
+93,75,44,29,23,20,30,73,109,90,64,49,41,43,64,104,118,115,139,168,160,148,143,143,112,86,72,64,63,59,56,55,48,43,34,27,22,17,13,9,6,6,12,13,20,24,31,42,
+49,54,55,63,85,102,150,196,208,220,232,243,253,255,255,255,255,255,255,255,248,231,224,199,205,208,187,168,153,156,140,114,139,178,162,207,233,236,247,250,254,255,255,255,255,255,255,255,
+252,252,252,252,254,254,255,254,253,234,218,210,207,218,219,176,161,155,169,177,185,187,179,178,189,118,111,140,128,61,14,0,0,0,0,21,29,13,0,0,1,22,31,22,7,0,0,0,
+1,3,0,3,9,17,17,20,30,41,31,40,102,183,205,193,199,153,148,197,186,164,157,115,62,75,97,121,120,120,97,93,108,97,84,88,98,153,175,171,182,196,171,206,224,206,210,218,
+200,191,182,201,224,241,249,253,255,255,255,255,255,255,255,255,249,232,208,220,206,192,163,106,105,105,119,167,208,218,149,105,111,134,132,115,88,34,6,6,14,27,29,49,77,79,57,72,
+168,238,248,252,249,236,213,199,200,200,201,208,205,200,194,189,151,115,113,68,38,28,41,95,119,85,63,52,50,68,108,139,142,132,140,162,180,157,140,133,111,87,66,55,51,52,52,48,
+42,34,27,23,19,14,8,3,1,6,12,19,23,31,38,45,48,56,62,64,73,118,177,199,208,220,235,253,255,255,255,254,255,255,255,247,229,224,211,198,177,161,162,187,161,133,143,142,
+177,214,198,210,190,204,220,239,250,247,253,248,245,247,248,242,243,247,253,252,254,253,250,226,204,210,201,186,184,213,227,203,172,183,205,193,177,183,204,208,210,155,99,118,114,40,2,0,
+0,0,0,9,22,14,2,0,2,40,42,23,3,0,0,0,9,19,9,12,26,41,47,47,68,55,36,71,144,212,226,211,196,150,149,158,133,140,142,123,90,79,87,119,109,141,113,62,
+70,66,59,63,79,115,149,162,150,183,205,206,190,183,192,194,176,183,186,205,221,231,234,252,255,255,255,255,255,255,254,249,207,128,115,149,189,200,160,137,133,118,129,189,218,206,182,141,
+116,118,112,65,42,16,2,3,14,24,27,38,64,84,84,104,178,218,240,245,241,231,199,193,196,196,201,208,206,210,206,212,192,169,179,121,76,52,70,94,97,90,82,68,73,119,172,162,
+144,154,165,176,178,143,125,122,107,82,61,51,48,47,47,41,35,30,23,17,13,9,1,1,2,5,12,22,34,43,49,51,51,56,64,70,75,113,169,173,176,208,236,254,255,255,255,253,
+239,238,240,225,200,194,175,163,158,155,147,172,175,142,158,153,167,192,186,172,139,168,201,218,219,204,218,221,208,198,232,243,243,245,255,255,254,250,236,204,172,178,196,198,192,210,218,197,
+143,179,214,201,182,172,168,170,192,149,94,111,97,30,0,0,0,10,13,8,14,13,7,0,3,27,49,42,6,0,0,0,24,17,12,68,107,93,93,69,71,85,108,137,171,200,214,205,
+148,182,161,120,90,85,88,84,73,73,80,102,102,154,132,77,62,61,63,56,71,98,139,176,158,148,193,205,165,155,160,149,130,155,176,204,197,207,238,254,255,255,255,255,255,255,254,232,
+172,87,72,108,153,143,116,136,144,127,132,204,167,142,146,149,102,64,70,36,13,0,0,0,5,9,20,33,55,59,59,80,133,201,240,243,241,226,197,187,186,189,200,208,214,214,220,215,
+211,221,180,134,116,97,92,82,98,121,100,100,118,144,168,168,139,119,143,143,135,128,123,105,87,75,59,51,44,41,43,38,30,24,19,14,9,5,1,1,2,6,19,36,59,66,65,59,
+58,58,63,65,80,91,122,156,161,186,225,250,255,255,255,241,201,183,199,201,184,168,157,149,135,113,119,125,154,140,125,139,126,150,154,189,191,182,179,172,164,151,167,193,184,194,233,253,
+255,255,254,250,246,246,227,212,213,191,183,193,201,196,173,135,106,161,200,203,208,191,151,139,165,129,93,106,79,21,0,0,0,20,16,12,13,8,3,6,9,26,49,45,13,0,0,0,
+41,27,37,85,129,121,90,56,55,87,133,147,132,150,193,154,109,134,130,115,71,33,24,23,22,31,51,76,82,126,119,88,76,66,65,65,68,92,130,162,169,164,184,203,175,143,153,126,
+101,120,146,192,207,203,234,254,255,255,255,255,255,255,255,224,123,68,58,73,85,85,101,134,149,148,122,140,121,105,88,83,51,28,33,23,3,0,0,0,0,2,10,22,43,35,30,43,
+70,172,229,222,215,191,165,161,172,171,193,207,228,228,231,225,227,226,170,163,177,168,114,77,94,106,93,99,115,125,133,129,119,108,108,100,92,98,97,78,65,59,55,49,41,38,38,35,
+26,19,13,9,3,1,0,0,1,8,28,51,84,85,73,69,68,68,68,70,79,82,100,134,183,189,204,238,252,253,243,229,208,203,205,210,184,161,150,127,118,100,97,112,114,108,127,140,
+130,155,182,211,214,167,173,164,141,134,151,178,201,198,232,254,245,218,207,203,215,226,219,220,217,184,171,172,191,178,119,86,120,136,186,205,207,180,140,128,126,113,98,105,52,15,1,0,
+24,43,26,21,21,17,13,12,22,37,52,55,26,0,1,20,42,44,42,33,63,99,100,61,47,59,72,91,92,113,171,130,130,109,97,128,95,17,13,16,15,17,24,42,57,95,94,72,
+68,59,58,71,72,76,92,107,132,157,168,177,162,130,140,126,129,125,147,200,217,225,231,254,255,255,255,255,255,255,255,235,126,47,57,83,95,86,94,128,147,162,133,105,102,78,54,22,
+7,8,20,17,9,6,1,0,0,0,0,7,17,20,23,27,65,179,228,192,170,157,139,114,134,167,194,200,228,240,239,239,236,236,231,229,218,212,156,101,92,86,76,75,87,101,99,102,
+102,94,82,71,68,68,62,51,51,45,38,41,37,36,34,28,22,16,10,3,1,0,0,0,3,13,31,58,80,77,73,76,77,84,84,100,106,128,160,182,211,205,161,178,227,234,234,225,
+222,220,203,161,142,126,111,104,109,102,104,114,104,114,133,119,122,187,245,242,225,215,233,225,203,160,165,191,218,231,247,255,225,192,199,220,228,227,218,217,205,200,196,178,185,157,111,91,
+115,154,197,210,187,118,72,104,125,104,94,95,65,27,17,23,59,59,33,24,37,33,23,24,40,61,82,93,37,21,40,41,23,10,5,5,10,49,68,44,38,42,50,62,50,77,106,126,
+155,134,127,147,105,22,20,37,36,29,28,30,42,71,83,73,58,43,37,43,49,56,65,71,84,114,130,178,175,132,126,116,119,147,157,210,219,218,236,252,255,255,255,255,255,254,252,245,
+171,66,65,118,123,108,120,127,130,129,102,82,122,100,47,14,6,12,14,21,20,2,0,0,0,1,5,10,13,20,23,28,106,193,182,136,134,148,135,118,139,178,198,198,236,247,249,250,
+252,252,252,248,243,232,163,115,95,71,65,62,63,70,79,88,80,65,61,57,51,48,42,40,40,30,27,27,28,26,24,20,16,14,9,3,1,0,0,1,8,16,31,45,55,61,66,72,
+77,87,99,129,140,172,201,207,203,153,79,108,135,157,211,224,224,191,142,92,76,72,70,75,86,91,105,108,114,128,121,97,119,210,255,255,231,178,179,197,176,147,130,128,169,240,249,242,
+220,224,227,235,221,219,215,212,204,208,185,156,140,149,141,112,144,191,206,204,177,122,76,97,115,100,86,63,76,62,37,30,71,59,44,34,40,31,30,55,76,75,80,82,66,82,68,40,
+10,0,0,0,0,0,15,24,51,49,34,63,57,36,59,158,129,104,120,129,119,43,34,56,52,45,37,31,40,55,72,63,44,34,26,17,28,37,41,45,49,76,112,186,208,163,143,134,
+119,142,154,184,193,204,245,253,253,254,255,254,254,252,249,240,146,78,97,156,165,115,126,128,122,129,73,50,87,63,28,20,13,12,15,29,21,3,0,0,0,7,14,17,20,19,26,52,
+143,186,143,126,143,154,154,142,161,187,204,226,247,252,253,255,255,255,255,254,249,187,102,95,78,68,59,58,65,75,76,78,71,59,51,51,50,41,34,33,24,15,14,14,16,14,14,12,
+12,8,5,3,2,1,6,12,19,21,30,37,44,54,62,69,77,85,95,144,172,182,194,194,148,65,48,61,66,88,182,215,186,118,83,73,65,59,61,69,83,95,100,101,113,116,101,86,
+105,182,246,239,187,141,111,129,123,108,99,109,154,217,204,183,172,198,217,225,212,200,176,151,155,158,141,144,146,175,189,178,157,165,179,173,177,163,127,123,105,93,105,107,154,141,108,106,
+98,51,35,34,48,40,51,91,108,95,87,93,83,71,41,16,0,0,0,0,0,0,3,24,43,34,22,44,50,58,119,183,93,114,113,113,121,69,42,80,77,48,35,27,31,37,55,52,
+35,21,17,13,15,20,24,30,40,65,77,147,194,161,133,142,154,150,151,172,185,194,210,242,250,253,253,254,249,241,239,236,190,107,107,132,189,149,119,129,141,115,41,42,55,40,24,20,
+14,12,20,31,14,1,1,0,1,9,17,23,26,22,36,70,169,186,135,130,119,105,137,153,190,200,212,247,253,253,255,255,255,255,255,255,250,176,88,68,63,70,71,68,87,101,85,80,
+71,77,58,48,44,34,28,22,14,7,5,3,6,6,7,5,3,2,2,1,5,7,12,26,30,26,30,36,45,56,66,78,95,107,118,162,168,167,190,186,107,57,49,51,63,97,170,197,
+178,136,101,104,102,86,83,83,94,109,101,97,102,97,88,91,130,176,218,176,163,132,105,132,142,106,112,149,183,184,178,158,137,150,197,198,197,169,118,98,105,127,127,162,179,197,212,186,
+141,147,164,173,170,155,115,120,116,123,144,165,184,177,175,187,176,106,42,42,57,77,85,102,162,155,128,127,84,26,3,0,0,0,0,0,0,0,0,31,33,34,22,10,23,61,140,140,
+87,97,109,118,126,98,73,98,91,64,43,28,29,38,45,43,29,21,15,10,12,13,17,22,36,49,45,108,205,207,154,133,142,144,148,153,170,189,189,231,242,246,247,243,239,233,231,225,
+227,164,112,111,168,168,149,136,157,115,29,23,35,31,20,15,15,13,15,13,6,1,3,3,8,17,27,34,37,50,79,91,137,133,91,100,91,106,128,142,206,219,222,236,253,255,255,255,
+255,255,255,255,252,187,92,57,68,83,83,72,88,111,92,78,71,82,57,41,33,26,21,13,7,0,0,0,0,0,2,0,0,0,0,0,6,12,20,30,38,34,34,38,47,58,77,92,
+105,109,113,115,122,151,191,173,104,70,56,48,62,68,77,146,190,161,129,133,127,101,90,82,80,90,90,86,104,146,204,217,246,252,224,155,119,94,93,107,112,99,97,134,154,153,170,169,
+157,158,163,180,179,139,92,73,91,114,113,165,199,191,189,190,180,192,197,187,161,147,150,148,160,180,182,186,178,170,183,190,183,147,112,101,119,179,164,179,229,211,175,136,107,33,2,0,
+0,0,0,0,0,0,8,30,26,34,21,7,8,37,88,95,58,76,113,135,151,128,111,106,99,84,62,42,40,47,44,33,29,26,17,10,9,9,20,29,29,38,44,77,178,231,201,185,
+171,178,165,156,164,189,196,225,235,232,231,226,221,196,201,197,194,146,129,154,155,146,127,123,155,112,36,21,23,21,17,15,14,17,16,12,3,3,6,8,14,26,37,50,64,86,100,113,
+135,122,88,111,86,93,82,116,184,212,224,234,254,255,255,255,255,255,255,255,238,128,63,70,86,94,65,55,76,88,80,70,64,58,47,37,28,23,14,7,5,0,0,0,0,0,0,0,
+0,0,0,1,8,17,28,38,54,49,36,38,50,70,85,86,79,70,59,52,68,107,141,108,66,58,56,54,58,58,68,116,150,140,120,126,104,90,87,79,76,83,90,88,109,155,235,253,
+234,246,224,191,107,73,70,70,65,71,91,108,123,142,148,141,142,139,132,146,136,88,75,82,99,88,113,173,189,185,182,219,210,196,194,178,142,160,182,176,198,196,198,192,148,134,176,221,
+218,213,203,212,233,247,243,240,235,212,179,150,136,66,16,0,0,0,0,0,2,15,51,70,43,41,31,16,10,21,44,56,69,87,122,137,136,139,182,161,155,144,127,87,59,65,51,29,
+23,17,13,12,14,24,34,50,43,49,77,108,190,235,231,229,219,206,192,186,176,191,203,221,220,222,207,206,213,143,130,149,149,120,127,191,164,143,176,169,135,93,61,45,44,38,33,30,
+24,27,26,20,12,10,12,13,21,33,44,70,99,101,79,100,144,119,88,99,71,75,82,99,175,190,194,238,255,255,255,255,255,255,255,255,222,121,69,90,113,94,70,66,76,73,80,66,
+55,49,43,34,30,22,14,8,3,0,0,0,0,0,0,0,0,0,0,3,8,21,37,49,65,72,51,48,64,77,78,71,56,41,42,41,42,58,75,71,68,70,72,66,54,63,88,95,
+91,90,76,82,95,97,72,71,88,130,171,125,90,106,119,150,179,182,156,150,87,61,62,58,62,93,132,113,106,112,118,121,125,129,134,129,112,83,82,107,102,92,133,186,206,224,239,229,
+200,199,186,136,139,191,218,207,205,182,184,182,147,146,219,249,241,247,252,255,255,254,252,245,236,220,168,160,154,100,34,16,17,26,22,20,21,43,58,78,85,68,72,62,35,22,42,69,
+144,107,123,146,148,169,226,207,201,201,179,129,106,116,71,41,24,14,22,30,26,33,37,55,78,100,121,162,207,243,249,249,246,225,204,194,193,199,205,206,205,210,201,184,198,176,125,102,
+91,129,168,208,192,183,190,167,130,106,106,112,106,84,57,41,38,42,38,27,20,15,17,20,34,48,56,82,101,85,77,136,136,102,93,90,80,84,90,113,178,189,210,240,255,255,255,255,
+255,255,255,254,217,135,83,98,108,83,88,79,76,79,79,66,51,50,45,36,30,21,14,8,2,0,0,0,0,1,0,0,0,0,3,12,22,37,51,65,82,87,77,69,72,63,56,58,
+48,31,28,29,37,51,63,72,80,79,78,86,100,95,91,86,73,65,63,82,108,113,84,79,139,168,160,118,95,109,111,127,177,136,107,105,78,51,57,55,71,134,163,126,122,127,150,144,
+122,120,105,92,80,69,80,91,80,114,156,206,229,238,242,214,193,220,169,153,180,151,190,214,196,217,206,208,217,233,255,254,253,255,255,255,255,255,255,247,239,218,170,194,193,132,52,23,
+31,43,48,40,33,30,41,69,93,115,144,115,42,34,73,148,183,150,144,161,163,171,206,233,229,196,154,139,147,137,99,82,38,33,54,42,42,36,43,78,127,137,141,191,231,246,250,252,
+246,228,213,204,196,198,204,201,201,198,204,170,132,157,104,65,68,149,213,226,213,200,141,141,169,141,147,148,122,82,52,43,47,55,49,35,26,20,23,30,42,54,63,77,88,85,97,134,
+168,144,107,120,123,87,87,106,171,213,233,243,255,255,255,255,255,255,255,250,221,161,137,102,99,90,79,56,56,62,61,61,56,55,48,41,33,20,14,8,1,0,0,0,3,3,1,0,
+0,6,13,27,59,77,87,88,101,113,79,82,109,78,44,42,35,24,20,22,29,37,55,70,86,82,73,93,123,99,84,88,65,47,57,85,119,153,162,184,234,176,154,125,137,155,180,175,
+142,114,126,121,83,57,64,79,123,175,176,168,187,171,175,150,115,95,77,62,52,58,75,71,79,120,149,178,191,187,194,211,220,242,191,173,148,128,178,212,221,249,250,255,255,254,255,255,
+255,255,255,255,255,255,255,253,245,229,222,218,175,126,78,36,31,35,41,38,42,30,45,71,115,189,224,173,79,97,126,163,176,167,148,162,157,162,198,222,227,165,130,128,139,142,140,128,
+119,112,84,43,48,43,54,91,123,126,133,179,240,250,254,253,247,235,222,217,204,200,206,199,193,183,161,123,91,78,42,27,45,123,214,231,210,199,168,149,194,190,155,156,111,57,47,52,
+59,63,52,40,33,30,30,37,45,56,68,79,93,97,88,101,150,163,121,154,151,86,88,108,172,219,245,254,255,255,255,255,255,255,254,246,224,191,187,129,109,85,50,28,41,58,64,64,
+62,56,49,44,29,19,16,12,5,2,2,6,9,6,1,1,3,10,16,27,52,71,98,107,127,121,68,66,98,85,50,36,30,24,19,19,23,26,41,63,91,86,84,97,105,92,80,77,
+61,48,59,73,133,186,212,247,255,245,236,219,205,190,180,160,102,107,154,135,82,69,79,123,179,219,210,197,191,182,175,139,113,91,70,54,44,48,55,73,70,92,125,140,167,173,177,211,
+200,190,199,160,135,157,206,215,234,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,247,231,224,203,192,158,93,54,38,15,22,37,43,40,51,102,175,247,255,248,227,215,229,189,
+141,172,175,194,180,189,194,224,226,169,118,106,105,129,157,156,190,168,99,79,78,61,65,107,143,171,161,175,240,254,254,253,245,231,219,217,210,203,204,194,194,147,57,58,38,15,10,12,
+26,86,173,212,201,184,180,153,172,200,178,144,84,44,44,56,62,69,63,49,43,36,37,45,54,71,86,88,90,85,76,83,112,118,156,196,148,85,83,123,169,212,250,255,255,255,255,255,
+255,255,254,252,225,197,196,134,75,54,27,27,54,70,64,54,55,54,48,41,27,21,21,15,9,7,5,8,7,6,3,5,6,14,21,24,30,40,83,113,148,79,55,56,68,69,48,36,
+27,23,21,19,17,19,31,99,109,94,112,134,113,83,83,91,65,59,79,95,163,201,247,255,255,255,255,224,197,189,141,90,80,104,105,94,83,84,113,149,192,241,232,211,179,192,179,153,
+127,101,78,59,41,43,49,63,61,65,97,133,143,160,179,183,160,112,177,170,146,149,189,189,233,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,247,238,222,214,211,186,95,49,
+65,63,56,51,55,65,71,129,193,247,255,255,255,255,255,160,168,187,215,233,225,227,218,217,228,211,160,101,105,119,128,161,179,191,157,143,122,113,163,189,204,221,207,215,253,253,255,252,
+242,231,217,208,204,206,204,196,192,107,29,30,10,3,5,2,38,87,135,200,213,161,127,116,139,167,204,182,129,84,59,56,71,79,68,50,50,44,42,50,57,73,93,85,82,90,72,72,
+122,118,169,167,149,137,101,108,142,187,250,255,255,255,255,255,255,255,255,240,193,189,186,126,71,50,20,29,41,47,59,52,48,52,51,34,24,26,30,28,19,7,3,5,6,8,10,12,
+10,17,26,33,31,30,61,109,139,64,45,55,68,51,31,33,31,23,22,21,19,24,49,132,158,171,182,185,144,100,93,79,54,58,92,126,165,153,212,248,255,255,255,239,186,154,114,80,
+82,90,98,92,98,113,171,182,201,246,232,211,207,212,192,158,134,142,149,84,43,50,44,47,61,50,71,93,88,128,157,123,104,97,140,157,123,101,142,160,203,255,255,255,255,255,255,255,
+255,255,255,255,255,255,253,249,247,236,229,218,205,200,173,132,127,136,98,70,77,93,133,169,214,247,255,255,255,255,253,178,212,215,222,240,242,248,219,179,185,225,217,158,123,135,127,193,
+219,208,217,210,204,224,222,193,179,196,221,227,250,254,252,249,241,231,220,214,204,210,206,198,184,102,47,13,0,2,2,0,28,111,168,186,201,169,137,112,135,169,191,205,192,119,76,72,
+80,100,80,52,44,43,43,55,63,64,73,71,79,92,82,83,99,129,142,142,185,163,114,99,130,199,248,254,255,255,255,255,255,255,252,206,168,179,191,156,85,62,31,41,52,65,97,71,
+54,49,38,28,29,35,37,30,16,9,7,6,7,10,13,14,19,23,30,30,26,33,48,116,126,71,45,48,56,47,28,30,33,29,24,24,24,37,70,114,153,197,208,185,155,134,108,77,
+56,54,68,91,113,123,179,240,255,255,255,252,194,151,128,114,92,76,76,98,132,154,186,205,213,208,182,171,217,229,184,142,183,196,172,95,47,57,49,33,49,38,43,49,54,86,94,70,
+56,66,94,108,82,79,106,143,178,227,219,234,255,255,255,255,255,255,255,255,255,254,250,250,245,238,226,210,208,215,222,205,201,164,142,126,114,165,212,232,227,239,255,255,255,252,240,242,
+189,210,232,239,250,249,173,130,146,193,201,210,199,184,180,231,233,233,240,238,239,248,234,214,204,205,213,212,234,253,252,250,241,227,218,213,207,206,204,167,120,91,41,0,0,1,2,0,
+9,79,123,147,161,163,136,113,143,184,203,199,184,162,118,95,108,105,77,54,42,42,44,54,61,61,61,58,63,75,84,87,106,151,143,155,146,111,99,135,156,198,235,242,254,255,255,255,
+255,255,247,198,180,201,205,171,95,88,83,101,112,128,150,112,73,51,33,33,36,42,36,26,17,13,9,8,10,12,16,21,26,29,34,30,29,50,69,101,84,43,42,44,41,40,37,37,
+35,35,33,29,30,43,73,120,140,168,175,141,111,92,91,97,90,91,79,97,132,142,170,236,255,255,255,249,175,170,172,147,116,100,90,115,169,183,185,198,215,184,164,203,234,211,127,130,
+247,235,144,86,82,83,62,35,34,47,45,41,45,58,76,72,54,63,78,75,69,73,95,160,184,148,155,199,252,255,255,255,254,252,253,253,253,252,252,247,235,227,226,214,213,225,227,214,
+212,194,204,199,170,215,255,255,248,247,254,255,255,247,205,217,222,218,239,239,241,246,178,107,135,148,151,205,225,213,235,246,236,241,247,246,242,250,250,242,231,224,215,206,225,247,253,249,
+241,225,212,204,205,205,204,173,93,41,28,8,0,2,3,0,8,41,71,91,97,128,143,113,116,150,182,206,224,197,151,106,107,79,66,58,48,48,52,55,55,56,52,50,54,59,76,73,
+98,157,165,150,106,101,133,165,206,208,211,239,247,252,255,255,255,255,241,221,217,210,194,137,80,108,125,126,127,133,154,116,92,55,41,40,40,38,30,26,23,16,14,10,13,20,24,28,
+30,31,36,38,47,85,112,112,79,54,43,41,40,37,40,41,40,38,37,34,36,40,56,83,108,128,125,94,66,50,52,70,106,128,116,148,179,148,139,196,255,255,252,215,193,207,165,135,
+123,116,115,128,149,175,201,210,221,199,206,234,218,148,119,163,232,194,143,102,93,83,68,30,27,40,51,55,61,68,98,94,76,94,119,99,73,78,93,135,154,141,179,210,235,254,255,255,
+252,231,229,231,228,233,245,224,198,199,206,215,229,235,229,225,228,238,248,243,233,246,255,255,255,255,255,255,255,252,199,213,242,229,240,246,239,234,179,133,148,170,160,198,238,236,253,252,
+249,250,248,247,250,254,245,192,185,201,224,227,238,247,253,249,234,218,210,208,190,187,193,126,41,15,16,13,2,5,8,8,26,30,35,69,86,95,140,135,109,125,142,183,217,180,160,136,
+107,72,72,68,57,55,61,59,59,55,47,43,44,45,45,54,108,158,129,113,134,141,158,177,208,206,222,240,236,247,255,255,255,255,239,229,234,224,194,134,87,92,104,104,109,122,134,101,
+90,58,51,40,34,31,28,29,28,21,22,17,20,24,31,34,37,38,41,59,82,116,141,149,119,82,55,41,40,37,40,42,44,43,42,37,40,42,54,75,92,102,97,70,42,30,36,48,
+72,102,137,156,158,177,162,163,201,233,255,189,197,199,150,129,100,87,93,122,130,165,199,211,213,213,234,234,196,135,150,201,217,186,154,165,148,123,76,17,24,42,57,73,100,113,122,106,
+114,143,137,101,70,76,93,128,115,148,190,187,227,246,248,248,239,226,198,180,217,217,206,199,198,196,200,222,246,245,235,233,243,247,248,249,254,255,255,255,255,255,255,255,255,255,239,239,
+247,246,250,253,246,235,213,229,215,218,214,246,250,254,250,253,253,253,253,250,254,254,241,196,205,213,221,234,241,247,246,245,228,214,206,204,179,171,153,82,33,19,21,12,8,12,17,13,
+19,20,20,37,51,100,150,139,105,114,115,121,146,135,141,170,115,71,73,71,66,56,59,63,59,51,45,43,42,44,44,43,64,88,88,85,126,158,186,225,229,222,233,229,212,240,255,255,
+255,255,250,245,247,236,183,116,101,100,114,130,155,165,139,95,80,62,55,41,31,33,29,30,30,28,28,26,27,42,50,45,57,55,66,115,142,151,154,148,130,90,50,42,43,41,43,44,
+47,50,47,41,42,55,70,76,87,90,80,64,41,30,31,42,63,90,147,153,156,198,204,173,161,211,245,172,170,176,132,95,83,79,100,115,123,165,190,221,227,234,235,193,140,111,120,187,
+220,217,215,218,205,143,61,21,29,54,77,88,144,132,137,153,168,164,141,125,92,73,94,126,146,155,170,189,175,175,163,199,210,207,180,182,205,214,194,182,178,170,183,220,241,243,238,242,
+246,247,248,253,255,255,255,255,255,255,255,255,255,255,252,250,248,248,253,254,253,252,255,255,255,252,255,255,255,255,254,254,255,255,254,255,255,252,248,235,227,232,228,234,242,242,241,235,
+222,219,207,199,182,161,143,125,72,24,24,14,12,17,49,30,10,9,3,13,68,112,119,101,69,71,69,76,114,151,151,140,95,71,73,70,66,56,56,58,57,52,48,45,44,45,49,47,
+43,50,61,70,93,158,219,222,221,220,224,220,214,201,214,241,249,242,231,246,246,219,161,123,122,134,134,168,196,212,193,91,77,61,44,34,29,31,33,31,33,36,30,34,41,57,65,64,
+73,84,97,113,153,177,172,157,125,102,58,48,48,47,48,48,49,55,52,44,48,64,61,65,97,92,82,62,40,35,36,36,41,68,102,128,176,233,224,201,205,191,198,176,177,154,91,66,
+72,80,106,120,127,164,200,226,213,222,205,155,102,64,94,189,186,146,201,218,184,114,56,28,45,82,87,92,182,186,199,217,199,143,121,115,80,82,120,140,175,199,180,190,127,94,114,154,
+162,164,172,168,176,199,183,153,135,136,180,211,229,236,241,241,248,254,255,255,255,255,255,255,255,255,255,255,255,255,255,254,248,248,254,255,255,252,253,255,255,255,255,255,255,255,255,254,
+255,255,255,255,255,254,255,250,234,231,228,231,242,241,239,232,220,218,208,196,164,105,128,142,50,15,15,13,15,27,52,59,17,15,16,20,63,93,82,90,56,54,58,61,97,132,132,126,
+98,75,80,79,64,52,57,62,65,65,56,50,45,40,40,40,37,40,54,98,121,168,226,198,200,201,206,217,215,197,212,222,239,239,234,241,238,225,171,154,122,130,150,150,179,212,179,70,
+56,36,19,20,27,33,33,33,36,35,38,50,68,79,76,72,92,133,122,102,148,189,184,162,143,128,70,54,54,52,56,58,55,57,55,50,48,50,55,71,94,90,73,45,31,29,28,24,
+23,37,58,97,160,211,220,214,217,203,187,196,178,128,82,65,55,66,80,111,136,184,219,193,178,177,184,175,130,148,143,157,172,135,167,205,203,133,77,50,72,102,91,101,158,224,226,226,
+196,126,108,100,86,114,146,149,198,214,153,144,120,85,95,118,104,102,108,93,109,135,144,135,109,111,163,200,217,226,238,242,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,
+247,249,253,254,254,253,252,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,255,252,236,231,236,233,233,235,225,217,211,208,191,108,59,121,128,34,3,7,6,12,38,64,50,
+23,34,31,28,40,55,52,65,54,42,54,52,75,91,107,140,106,71,73,73,58,55,69,84,98,93,66,58,52,42,41,38,41,64,94,142,148,175,215,180,171,161,193,225,240,242,247,246,
+249,243,238,238,217,205,183,165,108,108,158,163,178,208,182,65,19,13,8,13,29,42,44,43,49,47,52,72,116,113,83,82,125,163,160,179,203,198,175,127,106,108,73,65,59,59,65,68,
+59,56,52,50,51,59,69,73,69,70,52,31,31,21,19,13,21,38,54,92,148,176,213,215,208,214,187,183,164,127,114,90,65,84,113,135,155,150,156,144,132,160,205,232,236,240,222,218,
+220,187,162,150,161,146,97,58,68,73,82,126,133,200,207,171,144,148,158,128,150,196,205,215,212,178,150,126,100,116,101,85,90,90,94,84,82,126,134,149,128,132,162,201,211,227,236,243,
+248,253,255,255,255,255,255,255,255,255,255,255,255,253,253,250,245,242,248,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,250,254,254,254,245,240,241,229,222,226,218,
+207,207,201,189,115,41,95,112,51,16,8,9,13,48,62,27,20,28,44,57,41,51,56,76,71,44,50,52,62,73,80,111,111,79,75,85,78,84,84,97,123,105,69,62,59,56,56,52,
+56,91,128,154,161,175,211,162,139,146,186,221,238,234,225,239,245,241,234,235,215,200,212,198,143,134,189,199,180,185,186,125,42,17,14,21,37,61,70,62,68,72,80,101,126,119,95,104,
+129,161,186,205,214,205,140,86,71,78,79,73,62,65,70,68,63,58,54,51,61,68,63,54,41,35,28,22,23,15,9,5,3,20,45,85,135,154,186,201,183,190,213,196,151,130,134,143,
+140,148,155,158,175,151,144,129,123,157,206,231,235,208,212,228,231,215,190,171,160,172,144,75,44,50,78,104,91,122,137,163,185,210,199,143,137,163,168,162,151,155,142,108,120,170,143,92,
+92,95,94,84,99,107,105,150,142,150,186,225,231,240,246,249,253,254,255,255,255,255,255,255,255,255,255,255,254,249,235,238,236,236,248,252,254,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,253,254,255,255,252,247,243,228,205,199,208,201,199,198,185,116,21,37,51,41,29,23,14,13,29,33,37,31,29,28,41,45,64,93,83,50,49,50,55,62,56,63,83,
+109,98,99,102,90,102,102,111,112,86,68,62,62,65,61,59,68,95,143,164,177,154,182,151,143,154,190,228,225,210,210,222,232,242,238,225,224,220,218,211,186,187,208,212,184,175,183,164,
+88,57,51,48,68,94,109,85,93,101,114,141,143,128,119,122,116,119,176,201,215,194,129,86,84,77,78,70,62,63,66,68,64,59,56,54,61,62,51,42,33,23,17,14,10,7,1,0,
+0,0,12,51,105,128,150,161,150,167,196,206,177,154,156,168,176,157,142,148,158,155,154,134,115,158,218,220,197,168,179,206,222,210,196,197,186,168,155,82,33,35,50,47,50,72,91,133,
+153,154,187,189,178,160,147,118,87,125,137,115,154,191,156,154,157,134,95,84,95,94,120,142,128,160,207,238,239,248,253,254,254,254,255,255,255,255,255,255,255,255,255,255,243,217,185,193,
+211,232,240,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,252,255,255,255,250,231,210,203,176,200,197,193,194,180,109,10,10,22,41,38,28,9,5,7,13,21,
+22,19,28,40,54,75,134,108,34,36,42,51,56,47,50,69,107,129,102,91,95,97,107,100,83,75,66,64,62,59,57,61,77,114,180,183,189,162,168,160,170,169,183,200,186,205,221,218,
+225,238,235,219,226,234,222,204,205,208,204,206,201,187,165,108,108,99,87,85,98,120,139,107,106,125,141,179,171,132,113,130,139,126,169,194,208,199,156,123,92,80,80,72,62,61,63,69,
+68,61,57,54,55,58,48,41,33,23,15,10,6,6,0,0,0,0,0,26,72,101,133,132,127,153,180,168,172,182,158,133,155,146,141,139,140,144,140,133,106,130,169,164,165,172,156,178,
+200,215,196,171,183,173,133,62,26,24,34,34,30,52,59,95,134,165,183,186,170,163,148,99,66,84,114,155,162,150,172,200,161,129,100,108,118,106,130,125,132,184,215,242,245,250,254,255,
+254,254,255,255,255,255,255,254,254,246,238,247,240,200,146,156,156,185,200,236,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,247,247,255,255,250,213,190,208,178,190,
+194,190,185,177,121,12,0,3,26,34,28,12,8,3,6,7,9,13,44,61,50,79,123,116,50,36,42,48,52,49,47,69,108,146,114,91,102,119,116,83,78,83,72,68,64,54,55,66,
+83,104,176,182,192,210,184,168,191,205,189,189,190,190,220,231,239,241,238,241,233,234,210,191,205,193,180,200,214,200,154,106,128,122,133,128,127,157,158,135,136,155,175,201,184,140,127,151,
+137,168,201,201,208,207,192,147,107,86,82,75,66,68,66,69,68,58,56,54,54,52,44,40,33,26,19,13,8,6,5,0,0,0,1,15,52,95,140,142,144,160,208,176,178,200,161,140,
+156,129,140,125,106,112,127,157,163,139,126,162,153,177,178,183,206,210,217,187,171,165,73,35,24,26,27,21,13,27,50,102,148,178,185,186,162,156,112,57,61,90,130,167,148,148,173,161,
+128,114,102,95,98,97,136,142,180,227,228,239,239,248,252,253,253,254,250,252,253,253,252,249,243,235,234,239,229,211,153,130,137,142,167,212,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,248,243,242,238,240,253,255,247,205,171,198,164,172,187,184,184,178,148,52,5,0,2,17,21,20,17,5,6,7,6,9,27,37,24,58,82,83,55,41,45,49,58,61,62,84,
+125,164,149,119,111,128,112,78,78,73,71,66,61,55,56,72,94,118,165,163,165,217,178,193,211,221,189,194,196,186,225,233,245,253,248,245,241,234,179,176,192,133,114,158,176,176,148,136,
+148,137,153,147,163,182,175,132,120,155,200,204,184,161,144,143,129,164,187,198,184,183,179,176,153,95,92,90,83,79,68,65,61,55,56,56,55,49,42,37,34,29,22,15,12,9,7,6,
+3,0,2,15,49,92,125,162,162,173,201,208,210,171,141,156,173,149,119,114,87,94,158,190,182,139,141,185,157,206,221,215,220,219,218,210,190,128,47,34,28,27,19,14,10,33,66,111,
+137,144,151,168,155,140,88,44,58,93,160,156,153,133,121,122,167,150,111,125,129,139,187,186,193,178,169,199,214,235,234,248,249,234,221,236,240,239,245,238,232,233,224,201,200,199,164,121,
+170,153,160,184,235,255,255,255,255,255,254,255,255,255,255,255,255,255,253,240,228,227,242,250,247,240,233,190,156,176,162,151,178,186,182,170,133,85,40,17,3,13,20,20,10,1,3,5,
+5,8,12,14,19,36,52,56,56,41,47,64,79,79,85,109,155,192,182,126,94,92,97,87,73,68,65,58,54,54,57,73,90,114,135,130,164,197,177,226,235,233,197,218,235,211,220,240,
+253,254,250,249,236,199,158,164,149,94,92,111,141,168,164,135,134,146,182,192,194,178,162,120,107,133,187,205,189,182,193,192,178,151,148,161,160,163,179,198,177,127,111,112,98,70,59,61,
+55,54,56,54,49,45,40,37,33,28,22,19,15,13,9,9,7,3,3,16,52,94,111,183,204,211,198,214,214,168,148,149,173,193,156,116,82,91,160,169,192,163,179,236,205,198,221,246,
+250,242,239,203,118,68,38,36,41,38,37,29,33,68,70,93,128,151,156,168,168,106,64,54,61,75,114,101,109,104,126,114,151,169,137,149,140,143,171,142,104,64,70,132,177,169,158,201,
+219,208,177,198,207,217,211,218,228,234,225,204,197,198,186,169,170,168,147,172,198,227,247,255,255,242,231,255,255,255,255,255,255,255,252,232,213,226,238,241,225,200,196,165,140,141,132,141,
+178,184,178,160,101,80,61,40,15,12,15,16,10,1,1,5,5,7,9,10,19,40,41,33,41,47,71,87,88,85,105,132,178,207,170,94,78,75,87,87,72,72,59,48,47,49,51,58,
+59,76,94,98,142,175,189,232,241,250,255,253,235,199,219,248,255,255,255,255,242,213,200,199,168,149,126,140,191,189,160,142,150,171,207,203,191,185,168,130,112,114,164,212,213,205,212,219,
+162,114,141,184,167,160,175,172,172,151,137,106,72,51,50,51,50,51,50,48,43,40,38,36,33,29,26,22,19,15,14,12,10,8,8,20,58,88,118,170,193,199,206,226,218,197,177,127,
+90,139,155,109,71,65,91,133,231,255,253,238,193,186,233,249,255,255,253,213,140,85,80,115,134,112,65,49,62,73,49,86,155,154,116,134,165,144,97,87,85,75,68,79,90,87,73,86,
+102,135,137,105,119,97,75,52,27,26,49,85,107,91,101,143,163,162,153,170,172,192,187,182,204,221,221,219,212,225,210,180,154,161,146,160,176,208,225,229,217,179,211,255,255,255,255,255,
+253,231,207,191,192,198,194,201,203,170,172,182,158,141,130,142,183,185,176,162,123,116,90,58,48,21,14,22,21,6,1,5,6,6,7,9,12,30,33,28,30,44,77,99,98,92,100,127,
+162,187,164,88,86,83,84,82,70,65,51,44,41,43,40,35,34,36,43,63,100,149,213,229,227,241,255,255,250,248,254,255,255,255,255,255,247,235,238,238,232,212,194,205,227,210,190,201,
+201,190,212,210,187,163,153,134,116,122,156,210,206,204,219,213,148,155,193,186,121,156,164,155,164,164,128,78,47,40,41,43,45,47,43,41,38,35,33,33,31,29,29,24,23,21,19,19,
+15,14,15,22,45,66,107,151,175,141,184,208,194,143,118,99,64,83,86,65,50,45,50,99,212,255,255,250,245,252,255,255,255,255,253,246,199,168,178,218,206,187,153,142,107,62,102,163,
+169,134,116,163,147,125,114,116,98,71,49,70,77,77,66,71,86,95,77,80,105,84,40,28,23,27,38,73,101,101,113,134,136,142,158,162,165,178,179,171,184,201,218,219,221,224,196,169,
+171,148,132,135,156,168,167,149,122,125,167,241,255,255,255,255,248,226,200,168,168,146,140,175,206,205,193,201,172,156,161,156,173,180,165,154,140,127,108,78,75,70,48,45,40,19,9,7,
+5,6,7,8,12,19,27,33,31,43,71,91,88,80,86,102,137,144,161,119,91,88,84,73,71,59,45,35,30,29,27,28,27,24,28,57,77,130,207,226,214,248,255,255,255,255,255,255,
+255,255,255,255,253,250,254,236,234,206,208,231,228,215,203,205,193,190,196,205,190,130,123,155,157,170,165,197,214,208,229,217,175,194,193,154,121,161,169,153,156,148,99,71,48,40,36,36,
+37,40,38,35,34,30,30,29,29,33,31,30,28,30,28,24,22,20,26,31,44,59,79,115,130,101,112,137,141,95,72,62,56,59,51,40,38,57,56,82,226,255,255,255,255,255,255,255,
+255,255,255,254,240,253,217,213,186,155,199,204,178,155,178,190,157,123,129,172,149,113,126,127,84,49,36,45,59,76,75,73,90,79,82,100,90,52,27,22,28,37,56,90,130,153,163,182,
+190,178,165,154,171,193,183,192,219,220,221,221,220,214,204,198,155,107,84,79,83,85,90,78,92,133,142,179,214,253,255,254,248,245,205,165,157,142,153,179,211,236,225,210,190,178,186,168,
+154,161,148,142,129,115,106,90,76,78,82,72,61,49,27,15,8,8,12,13,13,20,34,44,40,48,66,58,54,68,61,71,108,106,115,86,62,72,72,79,79,59,45,31,23,19,19,22,
+20,16,15,29,49,94,153,197,233,253,255,255,255,255,255,255,255,255,255,255,255,255,255,239,200,194,200,233,207,187,203,198,184,193,180,179,164,140,134,165,171,185,179,204,228,231,236,227,
+231,217,197,156,160,163,170,136,99,80,78,58,48,48,40,34,33,33,35,31,27,27,26,27,30,35,36,33,34,36,34,29,28,27,33,36,50,56,47,57,66,70,54,70,70,66,54,48,
+45,42,37,34,41,82,127,177,248,255,255,255,255,255,255,255,255,255,255,255,255,255,246,179,157,147,213,201,167,173,191,192,171,151,164,182,190,171,133,109,64,28,20,26,38,56,57,71,
+79,77,91,94,62,34,27,26,34,52,78,104,137,175,197,227,225,197,185,178,190,205,219,225,226,208,187,197,210,211,214,194,129,98,69,43,34,36,33,45,90,128,132,121,182,254,255,253,
+248,246,224,203,191,185,180,172,200,228,232,218,192,196,194,192,178,139,126,135,121,101,86,82,95,114,142,139,112,78,49,24,16,14,16,14,15,26,43,50,45,50,54,38,49,55,36,40,
+57,59,41,30,44,59,65,75,80,59,36,28,22,19,19,19,16,12,8,16,31,95,143,171,219,255,255,255,255,252,254,255,255,255,255,255,255,255,252,252,211,184,196,199,189,189,208,208,
+196,186,157,143,163,163,142,144,168,179,193,218,229,227,231,235,240,226,183,190,201,157,158,123,88,63,58,49,47,50,44,34,28,28,27,27,24,23,23,24,29,33,36,35,35,36,37,34,
+31,33,34,37,38,40,40,40,38,38,40,42,51,51,41,42,37,36,41,34,40,83,153,226,255,255,255,255,255,255,255,255,255,255,255,255,255,248,252,213,169,169,173,157,120,99,164,206,
+213,194,196,167,146,128,93,62,31,13,9,13,23,43,59,68,61,58,64,58,42,26,19,26,40,56,78,102,133,173,225,254,242,222,221,217,231,234,234,234,214,187,164,162,182,186,187,167,
+143,114,85,48,27,19,14,31,70,119,129,129,227,255,255,254,248,245,231,214,220,221,191,186,214,217,213,196,199,205,206,201,184,147,119,125,112,87,76,77,121,185,203,197,171,99,61,38,
+23,23,21,17,22,30,41,51,52,49,36,28,40,31,22,23,30,28,23,23,31,41,49,55,65,57,30,26,23,22,20,17,14,9,7,17,36,65,87,136,201,241,246,243,228,243,253,255,
+255,255,255,255,255,255,255,255,220,197,161,121,141,189,213,194,179,171,164,169,168,167,137,140,173,175,177,208,227,226,236,238,239,228,187,205,204,182,139,95,86,62,56,54,40,38,38,30,
+21,19,19,20,21,19,22,27,26,28,34,36,37,40,38,37,31,29,34,36,36,36,38,38,38,37,36,38,43,44,40,38,37,38,45,43,43,64,112,192,247,247,248,248,253,255,255,255,
+255,255,255,255,255,254,255,229,187,154,84,64,56,61,79,94,196,211,206,141,70,51,55,42,23,7,5,8,19,41,70,62,43,38,33,29,29,21,19,33,43,56,85,114,148,192,247,255,
+255,249,253,252,253,255,250,253,242,233,219,189,205,211,190,173,180,151,116,70,37,30,22,30,58,112,126,130,204,242,249,241,234,250,242,217,206,228,220,190,183,183,201,169,198,196,186,192,
+177,136,116,102,88,76,72,83,150,199,227,224,191,144,100,77,47,33,29,24,27,34,41,45,54,38,22,19,14,14,15,16,17,17,20,23,28,31,34,41,50,49,33,27,24,23,22,19,
+12,10,6,10,23,33,51,107,147,186,203,219,221,252,255,255,255,255,255,255,255,255,255,255,199,125,105,88,111,193,227,204,175,171,205,192,158,129,106,151,204,219,220,235,239,238,240,236,
+243,233,207,198,187,173,114,92,80,65,62,50,33,24,29,24,14,12,14,17,16,15,21,26,28,30,34,35,38,42,41,38,35,33,33,35,36,36,37,37,38,36,37,37,38,37,37,37,
+38,41,42,48,54,58,82,126,179,198,220,236,252,255,255,255,255,255,255,255,255,255,255,218,115,95,69,50,51,54,88,97,144,178,183,146,80,83,69,37,19,10,5,7,15,26,45,44,
+28,26,23,20,27,26,28,44,57,76,102,133,171,221,255,255,255,255,255,255,253,255,255,255,255,255,254,247,253,255,232,206,199,171,132,82,51,47,40,42,54,87,137,142,167,210,240,234,
+247,252,212,196,218,236,247,232,221,228,229,177,190,182,170,185,172,126,97,80,68,68,66,94,190,204,240,253,234,201,169,129,83,50,37,33,35,40,40,38,42,30,17,19,12,8,12,13,
+14,15,20,22,23,27,30,37,42,41,33,27,26,23,22,19,15,14,7,5,10,19,36,65,85,119,143,189,243,255,255,255,255,255,255,255,255,255,255,255,185,107,104,100,113,190,249,245,
+218,200,218,218,175,105,99,151,225,252,255,255,252,250,247,243,225,211,213,205,201,208,182,133,109,82,57,34,28,33,36,20,7,8,10,10,13,16,20,28,30,35,35,36,42,45,44,43,
+40,35,35,34,33,35,33,35,35,35,35,36,36,36,37,37,37,35,41,47,55,56,65,82,113,139,177,234,255,255,255,255,255,255,255,255,255,255,255,206,99,78,76,78,71,63,72,94,
+102,127,139,115,104,104,72,34,21,17,10,5,10,16,23,22,17,15,13,19,35,44,48,63,80,104,128,160,189,238,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,239,
+217,186,161,120,84,58,57,76,82,112,157,169,182,207,241,252,255,238,201,201,221,245,250,248,249,255,240,208,203,196,182,178,161,123,92,73,66,66,69,109,196,219,255,255,250,229,199,156,
+90,54,37,36,38,40,36,33,29,26,19,21,21,16,13,13,15,16,17,20,22,23,29,34,43,37,29,31,29,24,22,22,21,16,8,6,6,9,16,33,47,56,83,148,221,255,255,255,
+255,255,255,255,255,255,255,255,232,136,114,127,170,214,250,249,183,190,210,208,205,134,116,178,235,255,255,255,255,255,250,235,233,183,198,218,175,201,200,126,111,82,37,22,26,35,26,8,
+0,1,3,6,8,15,22,29,35,38,38,42,45,44,47,45,40,36,36,34,33,34,31,33,33,33,33,33,34,34,35,37,35,31,33,35,38,38,47,56,63,76,135,204,254,255,255,255,
+255,255,255,255,255,255,255,245,125,70,77,95,84,68,62,83,88,75,84,95,94,73,56,30,22,20,10,6,6,8,9,8,8,6,5,21,47,58,78,99,116,140,163,194,222,253,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,206,173,169,143,98,45,68,80,80,105,133,144,169,187,245,255,239,190,190,218,236,239,248,246,245,228,227,217,204,186,165,167,
+148,120,101,84,73,64,62,87,106,136,238,255,255,245,207,150,69,40,31,33,33,34,31,29,26,24,22,20,20,17,13,14,16,16,16,20,26,26,31,35,54,63,49,35,34,28,26,20,
+20,16,12,8,6,8,10,20,26,40,58,98,158,200,250,255,255,255,255,255,255,255,255,250,219,198,176,175,212,246,252,246,192,191,191,176,163,128,144,218,239,242,255,255,255,255,254,224,
+198,156,201,231,173,192,163,90,87,50,19,15,20,21,7,1,0,0,0,1,6,15,23,30,35,38,40,44,45,45,45,45,40,38,35,36,31,31,30,30,29,31,31,31,31,29,27,29,
+28,27,21,21,30,33,40,45,50,68,97,154,197,242,255,255,255,255,255,255,255,255,252,182,175,156,123,104,77,72,66,79,97,108,104,88,78,58,41,23,16,15,12,7,3,2,1,0,
+1,2,7,21,41,57,108,147,169,192,212,235,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,179,119,116,115,107,72,70,58,52,73,119,112,126,153,200,197,
+180,171,169,198,247,241,241,234,219,171,146,157,168,155,150,167,150,120,95,87,76,65,59,59,59,82,135,172,242,243,161,97,50,36,30,30,31,31,33,28,26,23,22,17,15,13,13,14,
+15,19,23,26,29,36,48,50,64,78,57,35,37,34,24,24,23,22,16,12,10,14,14,24,31,38,48,77,111,151,218,249,255,255,255,255,255,255,255,253,241,206,206,234,234,248,250,253,
+224,184,177,170,150,125,178,241,229,221,253,255,255,255,255,245,201,175,220,236,192,204,140,55,37,22,19,17,17,14,7,1,0,0,0,2,7,15,21,28,35,40,41,43,44,44,43,41,
+36,37,34,34,30,29,29,28,27,28,28,30,30,27,23,23,23,22,20,19,27,37,45,55,52,66,95,130,156,208,247,255,255,255,255,255,255,255,254,218,173,169,158,109,73,78,65,54,
+75,118,102,72,75,56,22,15,15,12,8,6,1,0,2,1,2,5,12,21,31,47,91,162,224,238,254,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,
+217,142,114,118,118,118,68,49,66,77,100,100,114,140,153,164,215,245,240,247,255,252,235,212,153,112,83,92,120,133,148,160,149,112,91,91,79,68,59,57,57,61,84,108,176,186,106,64,
+44,31,28,30,28,29,29,28,27,26,22,14,10,8,10,13,17,16,24,34,36,41,55,64,71,71,48,35,40,44,35,31,26,22,16,12,9,12,14,23,28,29,40,68,102,156,215,236,
+250,255,255,255,255,255,255,255,255,238,205,234,241,248,250,253,249,231,208,184,130,154,211,240,233,245,254,255,255,255,255,255,246,252,249,247,239,205,99,48,31,26,26,22,21,13,8,3,
+0,0,0,2,8,15,20,28,35,41,42,42,43,44,41,37,36,37,34,31,29,29,29,29,27,26,27,27,26,26,23,17,16,19,16,14,23,36,54,55,43,61,86,125,160,210,236,249,
+255,255,255,255,255,254,255,255,233,190,120,76,59,78,62,50,72,93,82,66,59,47,22,26,24,22,14,8,2,2,8,8,6,10,20,28,35,49,78,144,169,198,255,252,218,220,255,255,
+255,255,255,255,255,255,255,255,255,254,255,255,255,231,214,245,231,180,125,106,85,95,59,47,51,57,78,86,97,129,144,164,220,255,249,229,220,196,176,155,101,86,76,66,92,122,144,137,
+107,88,86,88,82,69,61,55,55,58,68,86,109,93,84,63,42,30,26,24,22,23,21,24,26,23,15,9,7,6,6,10,19,19,27,49,55,48,52,71,71,57,43,36,42,50,54,43,
+23,16,12,7,5,6,9,17,21,16,33,63,83,137,228,215,235,255,255,255,255,255,255,255,255,242,189,245,249,240,241,245,235,247,232,179,151,177,210,225,238,254,255,255,255,255,255,254,
+253,254,252,249,254,168,73,58,40,36,30,24,22,17,9,3,0,0,0,3,12,16,22,31,37,42,43,42,43,44,42,40,36,35,34,33,30,29,28,28,27,23,22,23,22,20,17,14,
+14,13,9,13,19,36,59,54,31,49,79,104,141,217,226,228,255,255,255,255,254,252,255,255,255,155,87,44,68,97,63,69,107,99,64,61,73,50,34,41,28,27,21,14,9,17,16,13,
+15,22,28,41,49,59,98,132,116,133,173,194,183,220,255,255,255,255,255,255,255,255,255,255,255,254,254,226,206,170,130,189,133,136,119,108,82,62,54,42,28,30,50,75,97,128,158,165,
+210,243,192,163,153,114,114,91,70,71,52,64,82,99,144,126,84,80,80,84,82,70,61,54,51,54,59,70,75,70,65,51,37,28,19,16,17,17,16,19,24,20,13,7,3,3,1,7,
+21,41,52,72,97,93,64,71,59,48,42,36,43,64,77,56,30,21,15,12,9,6,7,12,13,13,27,62,63,104,191,217,229,255,255,255,255,255,255,255,255,218,198,253,250,239,225,213,
+211,226,233,178,168,190,203,231,243,255,255,255,255,255,255,255,255,253,252,252,236,168,111,73,47,43,33,24,22,17,9,1,1,0,2,7,16,21,28,33,40,43,43,42,43,42,41,40,
+37,37,33,29,28,26,24,26,24,21,20,20,16,12,9,8,9,7,7,6,13,36,52,47,33,49,83,92,115,179,218,221,253,255,254,255,255,255,255,255,232,109,55,47,83,123,134,148,
+165,133,90,73,66,35,33,43,33,28,29,24,35,42,31,24,26,36,47,54,57,59,88,120,113,108,115,182,205,234,255,255,255,255,255,255,255,255,255,255,255,255,253,213,183,178,140,115,
+139,130,139,115,83,48,37,26,20,30,47,65,80,87,128,173,185,184,153,137,132,135,139,123,101,85,58,70,71,97,134,120,95,86,94,97,88,73,61,54,52,52,58,66,64,56,44,35,
+29,22,16,15,17,17,16,19,20,17,13,7,3,3,5,13,23,43,64,68,95,112,77,59,45,41,38,38,54,82,84,62,49,52,41,33,23,14,8,8,12,15,24,48,52,84,151,208,
+231,248,249,252,255,255,255,255,255,235,212,253,208,189,211,184,212,228,231,194,169,186,233,250,252,255,255,255,255,255,255,255,255,253,254,254,246,182,106,82,63,58,38,29,27,20,13,6,
+2,5,7,9,20,27,33,37,40,43,41,38,41,43,42,36,34,33,29,26,24,21,22,22,22,20,15,13,8,5,5,3,3,3,1,1,9,26,40,42,41,54,78,91,112,157,203,220,
+236,238,236,255,255,255,255,255,254,155,42,54,68,95,140,169,169,147,127,107,68,45,31,38,34,31,36,45,73,66,47,37,37,50,80,78,62,62,88,116,122,108,126,169,198,205,241,252,
+255,255,255,255,255,255,255,255,253,253,255,236,192,169,156,157,177,172,169,141,97,57,40,16,14,26,45,55,34,30,70,114,118,109,100,114,129,142,140,151,127,77,61,70,75,114,134,164,
+144,122,114,102,85,72,64,57,52,55,57,56,55,48,37,28,22,19,17,17,16,17,17,15,15,16,14,10,8,7,8,17,30,40,52,65,73,86,75,50,42,42,44,55,73,88,95,108,
+125,115,82,56,42,31,22,14,15,21,24,40,65,109,140,183,219,238,254,255,255,255,255,255,255,246,245,255,203,164,189,205,243,247,238,232,224,204,241,255,255,255,255,255,255,255,255,255,
+254,255,255,255,250,183,129,116,101,55,35,38,35,22,17,14,8,7,10,14,23,31,40,42,44,44,41,38,37,38,38,34,31,26,22,20,16,17,21,21,19,13,10,6,0,0,0,0,
+0,0,0,0,7,19,27,37,47,59,79,106,143,165,193,219,221,234,239,253,255,255,255,255,254,186,93,69,68,76,100,132,126,101,83,82,87,84,79,70,69,92,84,85,87,61,54,51,
+50,69,97,95,97,99,119,143,144,125,161,194,200,194,215,248,255,255,255,255,255,255,255,255,246,247,242,217,207,211,208,198,180,191,175,155,118,79,52,28,20,22,33,20,16,26,47,55,
+42,38,44,84,115,118,128,120,88,54,56,70,95,160,172,190,180,149,115,101,84,73,65,57,52,55,55,52,49,41,35,29,23,20,16,16,17,16,15,15,13,12,13,13,10,7,7,13,
+27,30,40,62,71,66,62,55,51,48,57,75,83,106,163,201,206,161,127,105,65,51,43,33,26,30,33,57,105,136,161,186,199,246,255,255,255,255,255,255,255,255,255,254,213,167,228,252,
+253,246,248,253,250,239,250,255,255,255,255,255,255,255,255,255,254,254,254,253,236,186,175,170,79,37,38,42,34,24,21,17,14,14,16,20,28,37,43,47,50,47,44,41,35,36,36,33,
+29,23,20,16,10,12,14,16,14,10,7,3,0,0,0,0,0,0,0,2,9,23,35,45,56,70,99,147,171,184,207,221,218,218,226,236,241,241,252,254,235,192,161,115,70,51,62,83,
+80,61,45,48,63,94,125,112,128,162,126,97,90,76,69,75,76,76,82,120,150,149,150,171,172,169,198,233,238,238,234,253,255,255,255,255,255,255,255,253,246,241,235,219,233,235,224,199,
+184,183,168,134,95,69,65,49,17,13,10,0,7,16,16,22,14,12,30,62,86,95,105,82,54,37,45,65,102,183,194,197,191,155,136,128,105,84,71,62,55,52,52,51,48,41,35,31,
+27,21,19,20,20,16,15,14,12,10,9,8,6,0,1,10,19,19,26,44,62,61,52,47,61,59,58,75,73,94,164,171,168,146,142,184,165,137,91,55,47,49,57,70,95,130,165,211,
+234,250,255,255,255,246,242,246,254,250,231,222,197,221,255,252,224,239,254,253,254,255,255,255,255,255,255,255,255,255,255,255,255,253,253,247,242,173,128,136,62,42,43,41,30,26,23,20,
+17,19,19,23,31,42,48,51,52,51,47,44,42,37,36,34,31,26,20,16,9,9,9,12,13,13,8,1,0,0,0,0,0,0,5,13,27,41,49,57,68,79,111,149,171,196,222,217,
+200,193,207,215,213,219,240,242,247,208,155,142,80,31,38,57,58,43,37,44,57,76,105,132,155,143,162,157,133,106,95,87,90,97,119,151,205,214,194,186,212,236,246,255,255,253,239,248,
+255,255,255,255,255,255,255,252,250,248,246,245,242,222,204,187,203,198,173,153,102,69,72,56,23,15,7,0,0,0,1,16,12,5,22,38,57,77,77,52,38,26,33,54,121,185,196,183,
+176,171,158,167,158,127,106,82,66,63,58,59,56,45,38,35,28,22,21,21,21,20,19,16,15,14,9,8,5,2,1,10,16,19,27,41,51,58,55,45,54,78,93,77,66,66,83,100,
+139,178,167,163,224,247,198,108,100,88,94,91,106,120,153,203,236,253,255,255,235,219,222,234,248,236,192,182,182,243,255,236,232,250,255,255,255,255,255,255,255,255,255,255,255,255,254,254,
+253,253,255,240,190,109,64,56,57,48,40,40,33,30,24,23,24,24,27,30,37,47,55,56,54,50,49,49,47,43,37,36,33,27,21,15,12,9,8,10,12,10,2,0,0,0,0,0,
+0,6,16,26,38,42,52,68,83,107,139,171,190,201,204,191,180,180,186,175,186,196,212,226,238,172,121,129,79,30,40,57,64,58,52,51,64,84,108,151,170,153,187,205,185,163,143,106,
+105,130,196,229,245,246,236,234,250,254,255,255,255,255,253,254,239,238,252,255,255,255,255,254,253,253,249,248,234,200,180,184,214,197,179,183,113,64,71,48,21,14,10,2,0,0,2,15,
+16,20,29,36,55,70,64,41,33,26,27,61,134,182,198,194,194,193,176,201,218,192,153,120,90,76,72,78,66,52,45,37,31,24,22,24,23,22,21,19,15,15,14,9,6,5,5,6,
+12,21,37,62,77,77,63,55,54,79,147,99,70,61,79,116,171,189,194,222,227,233,255,210,204,142,111,126,151,116,139,171,213,226,206,220,191,179,199,192,213,236,210,177,186,224,240,233,
+241,252,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,253,219,134,80,56,43,43,48,55,55,44,38,36,33,31,29,29,30,38,44,51,58,57,56,49,50,50,48,45,42,37,
+33,29,23,17,14,12,12,13,10,6,0,0,0,0,0,0,0,8,16,16,26,37,54,70,100,147,191,183,171,196,194,164,153,154,154,125,151,189,199,225,241,191,135,104,64,51,63,82,
+88,73,68,68,84,98,121,153,157,173,228,234,206,218,199,176,177,185,242,255,254,255,254,255,255,255,255,255,255,255,254,238,201,203,234,248,255,255,254,254,254,253,249,248,219,179,194,210,
+213,183,167,189,155,84,57,44,28,17,13,8,3,17,37,37,37,47,48,49,59,58,52,36,24,24,33,77,147,212,232,228,221,220,214,229,232,210,165,151,130,107,106,106,76,58,50,42,
+36,28,27,28,27,24,24,22,19,17,14,12,7,3,3,7,10,19,30,50,75,82,52,47,43,42,172,144,76,87,139,154,218,197,221,255,254,205,215,231,234,163,142,151,156,126,177,199,
+187,158,135,135,125,155,186,163,199,226,201,187,176,185,203,205,222,255,255,245,254,255,255,255,255,255,255,255,255,255,255,254,255,241,139,78,64,58,47,41,45,65,58,50,44,42,45,47,
+42,37,40,50,54,56,61,59,55,45,43,45,45,43,42,41,36,33,26,22,20,17,19,17,10,0,0,0,0,0,0,0,0,5,8,10,20,29,43,68,102,141,170,140,139,167,172,135,
+139,155,155,129,169,212,207,217,234,227,172,115,88,85,85,100,94,77,73,79,97,113,135,151,149,173,219,232,227,233,232,228,227,221,248,254,255,255,255,254,255,255,254,254,254,254,245,231,
+229,238,245,249,255,255,254,254,254,254,253,245,212,203,225,224,221,192,170,204,186,130,94,64,42,17,13,19,23,31,62,72,56,63,64,65,58,34,33,28,26,29,57,115,162,210,215,214,
+200,194,211,227,215,187,162,173,184,163,153,127,90,73,62,50,43,36,31,31,31,31,29,26,23,22,15,12,9,7,5,8,13,16,20,30,62,76,49,41,34,23,92,175,139,164,231,196,
+167,167,206,250,255,200,194,201,240,199,183,165,142,158,219,219,184,151,150,126,119,160,182,164,183,192,171,162,163,183,204,189,179,210,186,179,253,255,255,255,255,255,255,255,255,255,255,255,
+255,243,157,91,80,77,55,41,44,55,45,51,50,51,47,45,65,61,62,66,58,64,68,61,54,44,41,41,44,45,42,40,35,31,28,24,22,21,20,16,8,0,0,0,0,0,0,0,
+0,0,6,13,19,26,36,59,105,143,140,130,177,157,136,147,157,164,173,180,207,222,214,204,208,210,178,133,116,97,85,91,80,99,107,98,123,143,162,161,162,194,213,227,238,240,250,248,
+239,241,250,253,253,254,253,252,253,254,248,250,250,249,234,242,255,255,255,255,255,255,255,255,255,255,254,254,241,228,227,232,226,218,204,207,208,186,132,76,61,38,34,51,55,37,69,88,
+73,73,70,66,58,42,34,24,30,38,69,118,153,172,190,183,189,189,192,206,194,172,165,189,193,186,164,127,108,98,78,59,48,42,37,37,38,38,33,30,26,24,21,16,15,13,12,14,
+14,15,20,23,44,56,35,30,29,36,88,157,189,220,249,236,163,175,203,232,247,255,254,211,191,182,191,190,165,193,239,220,189,156,134,115,114,143,149,144,160,170,155,153,167,184,194,196,
+146,132,128,164,214,245,250,254,255,255,255,255,255,255,255,255,250,211,147,109,101,88,64,54,56,54,45,42,50,58,58,55,92,94,93,73,54,69,76,59,44,47,42,38,41,42,38,37,
+35,34,30,23,20,19,17,13,5,0,0,0,0,0,0,0,0,0,3,13,22,29,36,55,113,158,154,162,169,128,160,186,186,171,187,210,211,208,214,200,193,150,120,106,92,80,80,85,
+119,150,147,142,134,163,186,205,208,219,218,226,241,248,254,255,254,250,253,252,248,241,233,240,241,239,243,246,246,240,229,247,255,255,253,255,255,255,255,255,255,255,255,255,253,247,240,233,
+231,226,218,191,185,168,120,69,66,62,66,77,69,59,94,92,71,70,64,63,59,49,41,28,27,40,55,85,129,144,167,194,206,208,213,210,199,193,200,214,207,201,170,127,114,101,75,62,
+55,45,43,43,44,44,42,38,35,35,30,27,26,22,19,20,17,20,20,19,24,28,17,12,19,44,84,93,97,148,190,222,146,160,186,163,212,254,229,148,126,127,183,214,198,184,160,146,
+141,113,82,83,94,132,155,125,167,198,146,160,179,196,185,196,137,146,150,175,173,192,219,245,255,255,255,255,255,255,255,255,198,146,147,148,143,119,88,80,70,88,88,59,61,65,66,70,
+84,123,114,62,72,84,70,57,43,43,40,37,37,36,38,40,36,35,30,22,19,16,13,8,3,1,0,0,0,0,0,0,0,0,3,13,23,31,34,48,87,144,182,199,164,165,187,198,
+183,168,198,206,185,192,212,211,183,123,101,83,61,70,84,100,126,129,144,139,127,155,207,231,238,234,226,227,239,250,255,255,255,254,252,249,246,233,219,212,185,179,196,194,219,239,238,250,
+254,254,252,254,254,255,255,254,255,255,255,255,255,254,250,238,242,233,215,153,149,153,132,92,65,54,63,83,87,77,87,80,52,51,50,57,50,38,35,31,35,40,51,66,105,130,154,217,
+214,193,191,189,199,212,215,220,218,190,139,135,127,92,75,64,55,50,48,49,51,51,52,51,48,45,41,38,36,33,26,24,23,22,20,16,13,9,6,7,14,20,33,57,69,84,107,149,
+113,134,169,129,157,220,222,155,123,115,147,182,169,171,135,119,102,77,64,71,78,109,134,122,185,215,142,142,142,143,140,113,123,142,135,158,149,167,233,254,255,255,255,255,255,255,255,255,
+184,130,160,185,172,147,111,95,91,135,142,106,73,73,77,72,95,134,143,93,87,72,58,55,44,40,35,40,40,34,36,41,35,33,27,20,16,13,9,5,3,0,0,0,0,0,0,0,
+0,0,2,13,21,28,30,36,57,76,130,224,227,196,187,197,175,151,196,168,120,143,180,180,163,118,101,76,58,62,91,126,132,153,182,180,191,208,241,250,252,246,235,231,240,252,253,254,
+254,250,249,248,240,241,228,193,148,137,151,151,161,213,236,236,242,241,246,252,254,253,254,253,252,254,254,254,254,255,254,253,242,236,225,173,161,155,130,101,61,65,99,99,72,79,66,62,
+31,30,40,44,41,34,28,26,28,28,40,55,86,107,127,175,184,144,123,135,162,201,206,192,211,189,149,161,142,105,86,68,58,54,54,54,56,56,57,58,57,54,48,43,41,36,30,28,
+24,21,16,10,6,1,0,5,10,15,21,44,65,73,100,122,108,121,115,104,127,156,179,156,123,123,137,147,154,171,147,102,83,75,68,73,80,99,102,101,168,227,151,149,135,100,102,77,
+93,100,104,122,132,201,255,255,255,255,255,255,255,255,255,255,224,155,171,184,169,162,120,101,120,141,153,116,73,73,78,79,113,147,163,126,75,71,61,57,51,44,43,42,38,34,38,37,
+34,27,23,20,17,17,10,5,2,0,0,0,0,0,0,0,0,0,6,14,21,28,29,33,48,90,136,194,201,187,200,198,161,150,169,114,85,99,129,156,161,122,106,105,104,109,135,168,
+182,194,201,212,235,253,255,255,255,253,246,246,243,247,252,255,246,235,243,243,228,210,162,153,132,101,106,119,158,207,226,173,189,179,192,228,249,252,252,252,248,248,252,250,253,255,255,252,
+243,231,229,212,171,143,120,114,116,120,120,94,31,62,91,76,38,24,35,36,36,29,22,13,9,12,23,37,62,95,121,122,121,120,106,134,163,179,198,194,210,185,165,165,121,107,85,71,
+65,62,57,57,56,57,59,61,61,55,49,42,40,35,29,26,23,17,14,7,1,0,0,3,8,12,19,30,47,73,92,118,119,108,85,87,95,109,127,128,121,136,137,144,171,155,111,88,
+85,75,71,79,87,105,132,133,167,211,158,172,140,91,77,73,76,66,83,123,160,222,255,255,255,255,255,255,255,255,255,255,245,168,170,185,175,169,126,111,128,118,135,101,75,72,83,79,
+106,130,133,118,78,72,62,62,52,45,43,40,41,37,41,34,30,28,24,22,29,29,10,3,0,0,0,0,0,0,0,0,1,3,12,21,28,33,34,36,56,105,148,177,191,215,224,201,
+187,193,148,80,70,95,168,189,167,146,136,153,158,169,184,199,203,218,232,240,250,255,255,255,255,254,246,221,204,222,243,252,242,229,224,210,193,184,156,120,109,88,87,141,197,193,171,146,
+192,170,199,225,240,249,249,249,247,245,229,221,243,250,252,250,239,219,191,149,120,121,136,141,150,164,106,47,35,58,87,77,57,44,40,35,33,28,20,8,5,8,19,34,61,104,132,115,
+105,104,122,158,183,192,199,205,211,198,193,179,127,102,90,78,73,72,61,56,56,59,62,62,59,54,45,38,34,28,27,22,17,14,12,6,3,0,0,0,2,9,16,27,41,63,90,101,
+91,75,72,82,92,101,111,111,105,109,127,156,178,144,105,93,97,95,94,102,120,130,169,187,228,222,213,190,118,80,64,63,62,61,87,130,185,245,255,255,255,255,255,255,255,254,245,253,
+222,175,171,192,194,183,128,114,109,100,125,101,62,69,78,86,94,87,104,132,109,72,65,55,42,35,43,57,61,48,41,31,27,31,29,27,31,27,9,2,0,0,0,0,0,0,0,3,
+7,13,23,28,34,37,41,41,64,108,125,141,193,236,205,173,208,210,165,94,80,115,190,208,197,190,178,180,186,194,213,225,234,246,252,254,255,255,255,255,255,249,222,175,190,232,242,236,
+232,227,198,177,155,161,189,165,119,85,79,147,172,189,182,169,235,217,200,220,242,254,253,250,248,213,173,177,224,242,242,246,234,221,184,111,107,153,164,125,120,154,146,92,79,83,90,62,
+49,31,31,33,31,26,17,7,1,7,19,38,71,115,146,136,126,113,121,141,157,182,204,211,210,206,206,190,136,95,97,85,77,71,62,57,57,61,63,61,57,51,45,36,31,27,24,21,
+14,9,9,8,6,1,0,0,1,8,19,28,38,49,68,72,68,69,72,79,91,100,99,95,92,95,125,148,137,116,105,102,142,134,120,162,198,165,180,240,255,241,208,190,129,75,64,59,
+57,64,98,126,200,255,254,255,255,255,255,255,255,254,249,246,212,189,200,213,197,158,125,101,93,91,82,73,71,80,73,83,101,119,128,136,108,50,59,57,40,31,45,65,59,40,30,27,
+22,28,31,23,19,15,8,2,0,0,0,0,1,6,8,13,17,26,33,35,42,44,48,48,65,94,115,143,187,227,196,184,199,192,162,123,139,150,175,186,190,191,196,197,200,208,225,238,
+248,254,255,255,255,255,255,255,254,246,203,173,206,227,235,228,233,233,206,179,133,72,111,155,114,73,57,83,120,207,255,254,246,212,186,227,247,255,255,255,242,182,139,158,224,245,245,241,
+242,240,203,151,175,190,167,133,162,148,114,104,116,98,64,33,17,15,22,26,27,19,13,6,2,7,23,51,77,106,144,135,142,144,153,143,151,175,205,201,204,203,200,182,143,121,111,94,
+85,73,65,63,62,63,64,64,57,51,45,35,31,28,26,22,14,9,8,9,8,3,0,0,0,8,20,26,36,48,58,65,63,64,70,78,84,97,94,86,85,91,112,136,112,97,111,105,
+155,137,122,167,227,226,220,247,255,246,178,143,119,79,65,66,72,77,94,118,201,255,247,247,245,255,255,254,246,249,253,252,225,218,215,210,157,125,107,98,102,82,62,76,77,72,80,104,
+123,143,165,114,62,49,62,61,52,55,54,54,45,28,26,21,14,13,14,12,10,12,7,1,0,0,1,2,9,17,23,26,29,31,38,48,58,58,56,54,62,85,113,155,198,218,183,190,
+193,167,126,129,139,144,146,148,176,208,224,217,212,224,238,249,255,255,255,255,255,254,252,248,245,242,229,224,236,239,224,224,232,212,154,106,92,47,58,78,63,47,42,47,83,187,255,255,
+253,247,250,255,255,255,255,253,252,217,185,191,229,247,249,246
+};
+
+
+unsigned char stringymap[TEXSIZE * TEXSIZE] = {
+79,86,98,116,137,155,173,189,207,226,243,251,247,231,201,157,106,64,37,19,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,7,27,49,70,112,175,212,224,233,236,231,225,215,207,209,215,221,232,242,248,251,251,252,251,251,248,246,246,246,246,246,246,246,246,246,246,246,246,246,246,247,248,248,249,240,
+229,227,227,235,249,250,235,225,228,235,238,243,247,248,246,240,225,198,164,135,109,81,54,39,37,39,45,54,64,70,72,73,80,86,93,103,112,117,118,118,118,118,119,116,106,91,78,69,
+57,43,30,17,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,4,15,32,49,57,59,59,59,59,58,56,59,67,76,85,93,102,118,145,174,200,222,238,245,246,239,220,186,143,103,62,31,13,5,1,0,0,0,0,3,34,83,117,121,105,
+85,71,63,53,46,41,41,41,41,41,45,54,64,69,70,71,114,133,157,179,200,217,231,240,243,242,230,201,159,121,98,87,86,87,84,76,62,46,32,18,8,2,0,0,0,0,0,0,
+0,0,0,0,0,4,11,18,23,27,34,39,40,39,38,39,47,64,97,140,183,209,219,227,215,184,164,139,113,94,79,68,65,78,99,121,146,170,189,198,202,207,208,207,202,204,211,213,
+212,212,212,212,212,212,212,212,212,212,212,213,213,212,213,200,182,169,153,142,138,137,140,159,188,200,202,187,158,173,203,218,227,238,242,234,228,223,205,162,119,94,82,80,78,76,76,75,
+71,66,63,57,52,50,49,48,47,46,46,48,53,62,69,77,83,85,82,74,60,45,32,20,11,7,4,3,2,2,3,3,3,3,1,2,3,6,13,19,24,27,32,37,39,39,40,41,
+42,42,40,38,31,18,7,1,0,0,0,0,0,1,3,8,15,26,43,60,77,87,88,85,84,84,84,85,87,98,115,122,120,118,118,119,120,124,130,142,158,178,196,214,233,247,250,245,
+232,205,167,131,96,59,29,13,4,0,0,0,10,25,40,54,67,74,80,84,85,85,85,85,85,85,85,83,81,83,91,102,205,223,237,244,244,239,228,211,190,159,113,64,28,14,14,22,
+34,48,62,76,86,91,91,85,75,63,51,42,35,35,40,42,42,38,30,30,40,55,69,78,82,84,86,84,83,91,110,137,177,212,238,243,229,204,184,152,108,74,61,54,51,54,59,70,
+84,104,124,131,118,94,77,68,63,61,61,59,61,72,89,93,90,90,90,90,90,90,90,90,90,90,90,94,100,105,108,111,117,118,105,74,42,18,6,6,21,35,41,28,7,17,36,46,
+54,74,95,93,93,111,156,204,206,179,122,74,45,38,46,51,52,53,52,50,47,46,45,41,34,25,15,7,4,9,19,34,54,70,83,97,109,118,122,124,123,117,111,104,99,100,103,104,
+105,101,96,97,103,111,122,126,123,117,109,102,98,95,92,90,90,87,85,86,84,76,65,53,47,46,46,47,51,56,63,75,90,109,129,135,120,89,60,42,33,30,28,28,31,46,66,71,
+67,66,65,65,64,63,63,63,65,71,81,99,127,163,198,224,241,249,250,242,227,199,161,128,99,77,60,49,44,44,45,45,41,40,48,56,63,69,70,70,71,74,77,84,102,132,162,185,
+251,245,233,218,201,183,164,146,130,111,86,63,48,41,40,41,43,47,53,62,75,90,109,134,149,148,142,131,121,119,123,125,125,115,96,87,88,87,79,68,60,55,52,68,105,159,210,233,
+236,210,167,124,101,102,119,129,126,117,111,111,116,117,114,110,110,115,120,121,110,91,74,59,42,27,13,3,0,0,2,4,4,4,4,4,4,4,4,4,4,4,4,6,8,12,18,30,
+51,79,107,120,113,91,65,41,21,6,0,0,0,0,0,0,0,0,0,0,0,0,18,54,78,125,182,193,177,139,102,105,110,112,114,114,114,114,113,111,105,96,83,82,82,84,106,133,
+156,166,171,178,193,207,220,233,240,242,240,238,236,236,237,237,237,236,233,232,233,234,233,231,224,213,194,177,166,157,145,126,103,84,71,68,76,94,116,129,129,120,113,112,115,117,112,109,
+108,113,119,119,108,90,73,58,42,27,13,4,0,0,2,5,6,7,11,17,24,29,32,33,40,58,79,90,102,127,164,196,216,233,244,249,252,253,249,242,232,220,207,199,195,195,194,186,
+166,152,152,153,154,160,164,165,167,172,182,198,220,240,249,252,174,152,127,111,100,93,89,91,99,108,116,119,118,115,114,114,114,114,114,114,115,119,126,136,140,135,126,117,113,109,105,104,
+104,95,75,58,44,30,16,16,37,67,110,175,220,229,198,150,102,55,37,42,60,87,114,129,126,108,95,92,92,88,75,60,47,37,35,40,51,64,75,84,87,83,73,57,37,20,7,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,34,66,96,114,120,115,102,81,58,42,29,19,13,11,11,11,14,22,33,43,53,65,77,94,121,151,181,166,111,100,
+94,89,88,88,88,88,88,93,100,110,144,202,222,223,236,248,252,253,253,253,253,253,252,250,246,243,242,241,241,240,239,239,239,238,235,234,232,230,229,230,234,239,243,244,241,239,235,223,
+204,183,167,156,150,150,154,156,146,125,111,110,109,105,94,81,69,61,58,62,72,83,93,100,103,100,91,78,63,52,48,56,74,86,99,122,142,154,159,162,171,194,214,219,222,228,235,239,
+239,241,245,248,251,253,255,255,255,255,255,254,254,253,253,253,248,243,243,244,244,246,247,249,250,252,253,253,248,234,215,195,34,23,16,14,13,13,13,17,24,34,50,67,80,87,88,88,
+88,87,87,87,87,86,81,71,58,47,37,33,31,30,26,24,23,18,7,0,4,27,66,123,182,216,229,213,162,102,50,29,34,51,73,86,89,89,89,95,97,92,86,85,84,82,78,71,
+61,47,31,19,14,15,21,34,50,69,86,97,99,91,74,51,32,20,15,13,13,13,13,15,22,32,38,41,41,40,35,28,18,8,3,8,21,43,67,89,108,120,120,115,106,95,86,83,
+82,85,90,100,110,116,120,120,116,107,93,78,63,46,31,23,18,15,14,14,14,14,14,17,23,36,123,239,255,252,240,223,207,197,196,194,187,176,165,149,133,122,116,114,112,112,110,109,
+109,106,100,97,95,94,95,99,109,129,154,171,181,193,208,226,239,247,249,249,245,237,226,215,203,190,185,185,184,183,182,178,173,167,161,158,157,160,164,170,180,190,197,199,199,199,199,204,
+217,224,229,238,243,244,244,244,246,244,238,232,230,222,204,188,180,175,172,172,175,182,191,201,213,222,229,232,233,231,229,225,213,206,207,210,211,211,209,207,204,199,187,169,143,106,71,50,
+0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,13,13,15,17,17,18,22,27,32,38,42,42,42,41,40,39,38,37,40,53,75,121,182,220,230,208,168,128,84,52,46,56,74,
+87,92,86,77,76,81,90,94,85,77,74,74,74,74,75,78,85,88,85,76,63,49,42,43,49,61,78,97,116,133,141,134,114,91,77,73,72,72,73,75,81,86,87,88,88,88,87,84,
+78,66,50,35,22,20,23,27,38,56,76,90,101,111,115,116,116,116,113,107,96,86,74,60,45,33,20,11,4,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,197,160,114,78,
+57,49,50,49,45,41,42,43,46,47,48,47,46,46,46,46,45,40,30,21,17,17,17,18,21,29,42,58,74,92,115,143,166,184,195,204,217,233,243,248,250,249,249,250,250,249,250,250,
+251,252,252,250,249,246,244,244,246,247,249,251,253,254,255,253,247,240,233,221,208,200,196,194,191,177,158,148,144,134,121,110,102,93,80,67,57,56,58,62,71,88,108,123,134,141,145,143,
+136,131,129,123,113,103,92,80,68,57,43,28,15,4,0,0,0,0,0,0,0,0,0,0,3,4,4,4,8,10,11,13,19,31,38,40,45,55,67,78,84,87,86,84,83,82,88,105,
+129,170,212,233,243,230,194,150,108,84,77,79,87,95,100,98,92,86,82,84,89,89,77,52,28,17,15,15,15,15,15,20,29,43,61,75,85,88,87,87,87,85,85,87,92,101,112,119,
+113,94,78,74,74,75,75,73,66,55,47,44,44,46,50,60,70,81,87,87,81,78,72,53,34,27,28,33,40,49,55,57,56,52,43,30,20,12,8,3,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,3,4,11,41,57,38,20,15,18,29,37,39,43,53,66,76,82,85,86,86,86,86,86,86,86,85,82,75,72,71,71,70,71,72,75,80,87,93,99,99,
+98,99,105,115,129,143,151,155,165,172,174,174,174,173,175,175,178,182,188,194,198,201,201,200,199,196,192,193,193,190,188,182,165,146,128,113,101,96,94,91,82,66,53,47,46,46,49,58,
+67,78,85,84,78,76,70,52,32,26,28,32,40,48,54,55,55,51,42,30,20,12,7,2,0,0,0,0,0,0,0,0,1,4,8,11,12,13,24,41,53,57,58,61,67,71,72,74,
+79,86,87,88,88,87,80,67,52,43,43,56,74,98,146,202,230,236,215,181,149,112,86,81,84,89,88,83,82,88,93,95,96,93,87,75,59,39,19,4,0,0,0,0,0,0,0,0,
+0,0,7,15,26,40,49,53,53,48,42,40,42,44,47,48,47,41,33,30,28,24,20,15,8,3,1,0,0,0,2,5,11,22,37,53,66,74,78,67,54,50,49,48,47,46,46,45,
+44,31,7,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,8,11,12,13,24,41,53,57,57,58,64,69,71,73,79,85,87,87,87,86,80,68,55,47,44,43,44,44,44,44,
+45,51,63,72,75,76,77,82,89,91,90,84,81,88,93,94,95,91,85,74,58,41,28,22,26,33,34,34,34,34,34,35,35,36,41,47,57,67,75,77,78,72,66,64,65,66,64,60,
+55,45,36,31,27,23,19,14,7,2,0,0,0,0,2,5,11,22,37,53,65,74,78,67,54,49,48,47,46,45,45,45,44,31,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
+34,40,45,48,48,52,68,86,88,86,85,83,80,76,76,74,68,56,46,42,37,29,18,16,31,57,102,156,192,214,230,209,157,105,53,26,17,13,22,47,65,69,67,63,59,59,59,60,
+57,47,32,16,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,29,42,45,45,43,44,46,48,49,49,48,48,47,47,44,39,30,16,3,0,0,0,0,0,0,0,
+0,0,0,3,8,13,16,17,18,25,31,35,37,41,42,42,42,27,4,0,0,0,0,0,0,0,0,0,0,1,9,19,34,40,45,48,48,52,68,86,88,86,85,83,79,76,76,74,
+68,56,47,43,41,33,21,10,3,0,0,0,0,0,0,0,0,2,7,12,15,15,24,48,65,69,67,63,59,59,59,60,57,47,31,16,6,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,7,28,41,44,43,41,42,45,46,47,48,47,47,47,46,43,38,30,16,3,0,0,0,0,0,0,0,0,0,0,3,8,13,16,17,18,25,31,35,37,41,42,42,
+42,27,4,0,0,0,0,0,0,0,0,0,0,1,9,18,51,44,38,34,33,35,41,42,35,29,28,24,18,14,13,12,8,2,5,18,36,53,76,124,179,212,228,219,192,160,115,55,
+13,0,0,0,0,0,5,28,38,34,33,30,23,14,9,6,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,33,44,43,42,42,42,38,35,33,33,
+33,33,33,35,39,44,50,51,39,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,5,6,6,6,3,0,0,0,0,0,0,0,0,0,0,8,28,44,52,
+51,44,38,34,34,35,41,42,35,29,28,25,20,16,15,15,11,5,1,1,3,4,3,3,3,2,0,0,0,0,0,0,0,0,0,0,0,0,5,28,38,34,33,30,23,14,9,6,
+4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,33,44,43,42,42,41,38,35,33,33,33,33,33,35,39,44,50,51,39,18,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,1,3,5,5,6,6,3,0,0,0,0,0,0,0,0,0,0,8,27,44,51,10,4,0,0,0,0,0,0,0,0,0,0,5,14,28,45,
+59,80,122,166,196,214,228,237,223,192,155,103,64,41,27,20,21,23,24,25,24,23,21,17,10,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,2,7,9,6,6,6,5,4,2,1,1,1,1,1,2,4,8,17,33,49,51,38,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,3,10,23,43,52,42,28,14,7,3,2,1,1,1,0,0,0,0,0,2,7,13,18,23,24,27,33,41,50,56,58,57,52,44,37,31,27,24,23,
+24,24,24,24,24,23,20,16,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,9,6,6,6,5,4,2,1,1,
+1,1,1,1,2,5,13,29,46,47,35,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,20,39,49,38,25,
+25,25,25,25,27,31,32,34,41,58,84,115,137,157,183,206,220,232,245,241,230,220,207,186,159,138,124,115,108,103,102,103,104,105,105,107,106,105,97,77,52,38,35,35,36,34,28,21,
+15,10,5,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,15,34,49,52,38,18,7,4,
+4,5,6,10,14,20,24,25,25,25,25,21,16,10,5,5,5,4,2,1,1,4,9,15,25,36,46,52,47,26,7,0,0,0,0,0,0,0,0,0,6,16,26,40,56,72,85,97,
+103,105,108,115,121,128,130,130,128,125,120,114,109,103,100,100,102,103,104,105,106,105,99,82,62,53,52,54,58,61,57,43,25,10,2,0,0,1,1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,22,27,40,57,70,71,58,41,33,32,32,33,33,36,39,44,46,47,47,47,47,45,40,35,31,30,
+30,30,28,28,28,30,33,39,46,56,66,72,68,50,33,25,182,181,181,181,184,190,193,197,205,220,233,244,247,247,244,236,229,219,201,177,163,154,149,144,142,143,143,144,145,145,147,148,
+150,151,152,153,154,155,154,149,137,128,125,125,125,124,115,105,95,82,68,58,56,57,56,47,40,39,39,38,37,37,38,38,37,33,25,13,3,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,1,12,33,52,58,59,64,68,70,70,73,78,83,83,83,84,84,83,81,75,61,45,41,41,39,34,32,34,39,46,50,51,47,37,25,11,1,0,0,
+0,0,0,2,9,18,29,45,67,90,109,125,139,146,151,153,153,151,149,148,146,143,140,138,137,136,137,137,137,139,140,142,145,147,149,153,159,168,182,194,200,201,204,208,210,213,211,203,
+185,153,125,95,72,61,54,45,39,38,38,38,37,37,38,38,37,33,25,13,3,0,0,0,0,0,0,0,0,0,0,0,5,21,40,68,115,155,177,182,181,183,188,194,199,197,194,195,
+196,197,197,200,202,205,206,206,206,206,206,205,202,197,194,192,192,191,189,189,190,192,195,197,200,199,198,193,187,182,182,181,201,204,208,214,220,224,227,230,231,227,218,206,197,189,178,164,
+154,146,137,128,119,111,103,100,101,107,112,117,122,127,130,131,134,136,137,140,144,151,155,156,156,156,155,155,155,157,157,158,157,154,149,144,142,143,142,137,130,126,126,126,126,128,130,131,
+130,126,115,91,59,43,41,41,41,41,43,46,40,26,13,7,5,5,5,5,5,5,5,5,4,4,5,19,49,86,113,125,125,117,102,90,82,71,63,61,61,61,62,66,70,61,47,43,
+43,46,47,49,48,44,38,31,22,11,3,0,0,0,0,0,7,18,32,50,73,95,113,130,145,154,157,158,158,155,151,146,141,136,132,125,116,106,98,93,94,98,103,108,113,118,122,125,
+128,131,134,137,143,153,163,173,181,186,186,183,180,179,179,187,201,217,224,225,219,204,177,152,136,126,122,121,121,124,127,128,127,123,113,88,56,40,38,38,41,42,51,70,67,54,63,93,
+129,169,201,219,230,220,206,201,201,200,200,203,212,222,229,232,232,229,224,220,217,214,212,211,211,211,212,213,214,212,210,209,209,209,211,211,211,210,206,204,202,201,199,199,199,198,199,198,
+97,118,138,153,162,166,168,169,169,163,152,138,123,107,91,78,68,62,58,51,41,32,25,23,24,29,34,40,47,53,56,57,58,60,61,63,69,87,104,103,92,85,83,83,84,88,96,106,
+117,129,139,143,144,146,149,145,135,130,129,130,134,143,151,156,159,160,160,153,130,116,114,114,114,114,117,120,111,89,73,63,58,58,58,58,58,58,58,58,58,58,60,71,84,93,90,81,
+70,54,37,26,17,11,7,6,6,6,6,9,12,11,7,6,6,8,11,12,12,8,3,0,0,0,0,0,0,7,16,34,65,94,117,134,148,155,158,159,159,155,147,137,123,107,92,78,
+68,62,56,49,39,31,24,22,22,26,31,37,43,49,53,54,57,58,60,62,68,86,103,102,90,83,82,81,83,87,95,104,117,131,145,160,175,197,222,228,222,209,196,187,172,164,168,172,
+173,173,173,167,146,132,136,155,185,187,205,231,226,214,224,236,238,227,207,185,148,113,95,90,90,90,92,101,111,116,113,103,94,81,67,58,52,48,44,44,44,44,44,46,48,47,45,43,
+43,45,47,48,48,45,42,40,39,38,37,37,39,45,56,68,139,149,154,156,156,152,146,135,117,93,72,54,38,25,16,10,6,4,4,3,3,3,3,4,4,4,5,6,8,9,9,9,
+10,10,11,12,14,22,34,39,38,36,36,35,35,37,42,47,53,65,75,80,81,85,88,79,65,56,52,49,52,61,73,87,99,104,102,97,91,88,88,88,87,87,89,89,82,74,77,82,
+85,85,85,85,85,85,85,85,85,85,84,78,62,42,23,11,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,14,35,65,89,115,
+141,154,158,159,158,154,147,137,118,94,73,55,38,25,17,11,7,5,4,3,1,0,0,0,0,0,0,1,3,4,4,4,5,4,5,5,7,13,21,20,14,10,10,10,10,12,16,22,
+30,41,53,58,59,65,83,95,105,135,154,167,185,196,200,205,210,212,211,210,207,219,237,247,248,232,243,235,218,207,193,168,143,120,101,90,84,81,80,81,81,81,80,74,59,39,20,8,
+3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,30,61,91,112,159,155,147,135,116,92,72,53,34,18,8,2,0,0,0,2,
+11,21,29,38,49,58,65,69,70,69,69,69,69,69,68,69,69,70,70,74,77,83,101,120,129,131,131,131,131,131,131,131,131,131,132,133,133,133,132,126,116,106,92,77,71,69,65,57,
+47,35,26,19,15,13,12,13,13,14,14,13,11,11,17,24,28,29,29,29,29,29,29,29,29,29,26,18,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,14,30,53,84,118,143,154,158,158,156,148,135,116,92,72,53,34,18,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,2,0,0,0,5,12,32,53,56,58,62,63,63,62,61,95,136,122,87,74,96,76,51,42,35,29,
+27,26,26,27,27,28,28,28,28,28,26,18,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,14,29,53,84,117,143,155,158,
+126,101,73,50,32,17,8,1,0,0,0,0,21,52,84,113,136,147,149,159,173,183,190,193,193,193,193,193,194,194,193,193,193,194,195,198,200,205,217,229,232,233,234,234,233,233,233,233,
+232,232,232,233,232,232,231,229,226,220,211,200,194,191,184,168,144,115,88,64,41,22,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,9,17,31,54,84,112,136,152,158,158,152,139,124,105,76,50,32,17,8,2,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,2,5,9,17,31,54,84,112,136,152,158,159,155,148,39,20,5,0,0,0,0,0,4,23,66,129,184,218,235,243,246,243,242,243,245,247,247,248,248,248,248,247,247,248,248,248,
+248,248,248,247,247,247,247,243,240,239,239,239,238,238,239,239,239,238,239,239,239,238,239,241,243,244,247,247,248,247,246,245,238,225,209,190,160,123,93,67,42,18,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,4,4,4,4,4,4,4,5,7,10,16,22,27,35,49,62,76,94,116,136,152,158,159,157,147,123,90,62,
+41,24,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,1,3,3,3,3,3,3,3,3,3,5,9,16,22,26,35,49,62,76,94,116,136,152,158,159,157,149,130,99,72,6,12,20,25,28,34,50,89,133,180,225,250,253,247,238,232,
+229,227,225,222,216,213,209,206,206,206,205,205,205,205,205,205,205,205,204,202,199,196,183,165,153,149,149,149,148,148,149,149,149,148,148,149,149,148,151,156,164,174,187,200,206,207,213,225,
+238,245,248,248,241,227,211,191,157,106,57,25,10,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,14,23,32,44,55,61,62,62,62,62,62,62,62,64,69,80,93,103,
+110,121,134,143,149,155,159,159,157,150,134,110,75,43,20,8,1,0,0,0,0,0,0,0,0,0,1,3,8,16,22,26,25,20,12,6,3,1,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,7,16,24,24,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,10,22,28,33,40,48,55,66,75,79,80,80,80,80,80,80,80,80,81,84,93,101,108,120,132,141,148,153,156,157,155,147,131,105,75,46,23,11,
+136,156,173,183,188,197,214,238,252,255,254,241,212,178,149,134,129,125,120,111,103,94,88,86,87,87,86,84,84,84,84,84,84,84,83,79,77,72,61,46,37,34,34,34,34,34,34,34,
+34,34,34,34,34,34,36,39,45,53,64,76,83,87,96,117,148,177,200,219,236,244,248,248,240,215,173,124,83,55,32,15,6,1,0,0,0,0,0,0,0,0,0,9,31,61,87,105,
+118,130,139,142,143,143,143,143,143,143,143,144,147,151,155,157,158,159,160,159,157,154,147,133,109,80,52,28,11,2,0,0,0,0,0,0,0,0,3,13,31,53,71,86,108,133,150,156,
+154,142,120,99,83,70,54,39,26,14,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,13,29,58,96,117,107,71,22,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,24,49,98,144,176,187,194,201,207,211,216,220,222,222,222,222,222,222,222,223,221,216,207,195,185,
+175,168,167,166,165,162,156,144,120,93,73,71,88,108,117,124,252,255,255,254,250,244,233,219,217,210,181,146,118,90,64,47,38,32,26,20,16,12,10,12,16,17,18,16,13,10,9,8,
+8,8,8,8,7,6,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,5,7,8,9,12,20,35,55,78,107,143,173,197,219,239,247,242,226,202,177,142,100,
+65,38,19,9,4,1,0,0,0,10,32,67,110,141,153,157,159,160,159,159,159,159,159,159,159,159,159,158,158,157,153,149,146,141,131,118,104,90,71,49,28,11,2,0,0,0,0,0,
+0,0,1,9,27,52,83,119,161,194,211,221,232,241,245,245,245,243,237,229,220,210,195,175,150,121,98,77,47,21,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,2,7,31,80,136,171,166,102,35,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,23,73,131,169,203,229,229,225,231,236,237,237,
+238,238,238,239,238,238,238,238,238,238,238,239,244,249,250,247,238,230,226,224,221,216,208,193,176,168,178,204,229,244,248,250,199,194,180,148,119,98,75,55,50,46,32,20,21,22,18,11,
+6,3,1,0,0,0,0,0,2,5,9,9,9,7,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,3,7,16,32,51,75,110,158,204,232,245,248,246,235,214,185,151,112,81,61,41,24,22,40,73,113,143,156,158,156,149,142,133,122,115,113,113,112,112,113,113,112,111,108,99,85,73,
+66,57,44,30,21,14,6,1,0,0,0,0,0,0,0,3,16,42,73,111,153,192,218,237,245,242,235,228,216,199,184,180,181,192,208,222,230,236,243,246,244,237,228,214,183,141,105,69,
+34,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,38,94,163,178,135,61,18,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,13,57,122,180,222,229,213,196,174,162,164,169,172,171,166,159,151,141,134,131,131,131,131,131,131,131,132,136,144,158,172,192,206,205,201,200,198,198,198,201,204,210,214,212,206,203,201,
+39,36,27,11,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,3,5,7,11,13,14,13,13,14,15,17,18,20,21,20,15,10,6,2,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,6,18,45,87,135,175,203,224,240,247,246,237,221,202,185,162,137,130,143,160,164,161,156,140,109,82,
+66,53,41,35,33,32,32,32,32,32,32,32,30,28,31,28,17,11,6,2,0,1,0,0,1,1,1,3,10,26,48,81,130,178,212,233,245,243,233,214,184,149,124,112,98,83,72,70,
+72,80,93,107,119,130,149,170,190,209,224,237,246,243,232,208,166,109,60,32,20,18,19,20,19,15,10,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,63,
+131,175,167,125,62,36,36,36,36,34,33,34,32,31,37,64,114,165,199,205,192,171,139,123,133,146,153,156,153,137,105,78,61,48,36,29,27,27,27,27,27,27,27,26,25,21,19,21,
+32,42,41,40,39,38,39,39,41,44,48,49,45,42,41,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,11,19,
+28,37,47,57,67,77,85,90,91,86,78,67,54,40,30,25,25,25,25,24,21,16,10,7,5,5,5,5,6,6,6,8,14,25,41,53,56,50,40,37,38,39,44,61,85,118,159,193,
+217,235,245,247,248,245,239,233,227,214,199,179,150,117,92,78,73,71,69,69,68,68,68,68,70,72,77,82,88,111,149,158,136,120,109,94,91,88,81,79,79,79,78,85,114,155,188,216,
+239,245,235,218,190,153,120,93,71,57,53,57,61,65,68,70,72,72,71,70,67,65,65,70,78,89,104,129,167,198,221,241,247,232,198,159,127,106,97,94,92,85,76,66,54,40,30,25,
+25,25,25,24,21,16,10,7,5,5,5,5,6,5,3,1,16,62,119,177,197,189,186,184,184,178,171,174,171,167,171,185,187,155,110,82,75,92,120,143,154,157,154,136,103,61,28,11,
+5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,1,2,2,4,9,18,30,44,61,78,95,110,122,132,139,143,144,141,136,124,114,109,108,108,108,106,102,92,80,70,64,64,64,67,72,75,78,85,
+98,117,133,142,143,139,134,129,127,114,91,70,58,62,80,105,138,176,209,227,239,248,253,255,253,249,238,219,203,194,192,192,192,192,193,193,194,193,193,195,198,203,210,216,221,234,247,249,
+245,241,237,229,227,225,219,217,218,218,217,221,234,245,244,232,204,164,122,91,66,49,44,48,56,67,78,89,98,107,116,120,122,121,118,112,104,95,85,74,63,54,47,45,55,71,98,143,
+196,234,249,247,236,217,198,183,170,160,151,143,135,124,114,108,108,108,108,106,102,92,80,70,64,64,64,67,72,75,78,85,96,111,127,142,162,169,165,163,161,150,132,120,122,122,115,100,
+80,67,73,96,124,147,156,158,153,132,95,56,25,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,6,12,21,31,38,51,68,77,79,79,80,83,88,97,107,118,129,139,148,157,162,165,163,161,159,159,158,157,156,
+157,157,157,157,156,155,151,147,144,144,144,146,149,151,152,155,157,159,159,159,159,160,160,160,159,158,154,144,134,128,128,131,141,156,174,186,198,213,225,229,232,238,244,245,245,245,244,245,
+245,245,245,246,246,246,247,248,249,251,252,253,253,252,251,251,251,248,245,237,236,235,229,227,228,228,228,229,222,189,147,111,72,43,29,28,34,44,57,71,87,101,117,132,146,155,157,156,
+155,156,159,160,154,143,127,112,97,82,67,53,41,33,33,46,82,133,182,218,241,251,251,245,235,222,204,189,178,168,161,157,156,157,157,157,156,154,151,147,144,144,144,146,149,151,152,155,
+157,158,159,158,156,156,156,156,154,153,149,140,130,125,123,124,129,138,148,155,159,158,150,128,90,50,21,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,27,45,52,61,75,92,104,122,147,166,175,191,210,217,218,218,218,218,220,
+222,223,224,225,226,227,227,226,225,218,206,198,193,185,174,163,154,147,144,144,147,152,156,157,159,159,159,159,158,158,157,155,152,148,139,126,118,114,117,131,145,151,156,158,160,159,159,159,
+159,159,158,156,150,136,120,111,117,142,174,196,209,218,227,236,243,246,248,248,248,249,250,250,248,243,235,228,225,222,223,215,182,149,130,113,109,107,99,97,96,97,96,97,86,55,28,17,
+14,18,25,36,49,63,80,99,117,137,154,157,133,98,70,53,47,51,65,92,129,159,164,150,131,112,93,76,60,48,41,37,40,51,68,94,130,170,201,226,242,249,248,241,230,215,195,175,
+160,152,148,147,148,151,154,156,158,158,159,158,158,158,157,155,152,148,139,126,118,114,117,131,145,151,156,158,159,159,159,159,160,159,158,153,144,121,85,46,18,3,0,0,0,0,0,0,
+0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,21,36,95,176,203,208,
+209,215,226,232,239,244,245,245,242,235,229,228,228,229,229,229,229,229,228,228,228,227,228,229,233,239,243,243,242,236,223,205,181,148,122,109,101,98,101,109,117,122,123,124,124,120,106,88,
+75,66,50,34,25,23,26,44,64,81,98,116,128,132,132,131,127,119,106,86,63,40,26,28,51,89,125,156,189,215,234,244,244,240,233,229,228,225,212,188,162,139,118,104,99,95,92,79,
+48,21,11,7,6,6,5,5,5,5,5,7,6,5,6,10,17,25,35,48,62,80,101,122,144,159,140,76,20,0,0,0,0,0,0,0,13,60,133,168,159,138,117,96,77,63,52,41,
+31,24,18,13,19,33,56,90,127,165,202,228,242,247,240,221,198,176,160,144,128,121,119,118,120,121,121,122,123,119,105,87,75,65,49,33,25,22,26,43,64,81,98,116,128,132,132,132,
+128,121,108,89,64,38,15,2,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,3,3,2,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,
+26,26,26,26,31,47,77,98,112,143,174,195,230,253,253,248,243,231,221,213,201,180,162,151,134,111,99,97,98,98,98,98,97,96,97,96,96,97,98,100,110,131,159,181,201,219,234,242,
+242,227,208,192,170,134,98,73,54,42,38,36,36,32,21,10,3,0,0,0,0,0,0,0,3,8,16,29,39,43,44,44,42,38,37,43,57,82,104,129,167,201,217,227,239,242,229,202,
+165,133,111,102,99,92,73,47,28,18,12,9,8,8,8,5,1,0,0,0,0,0,0,0,0,0,0,1,3,5,9,15,21,29,41,55,72,93,115,140,160,144,63,0,0,0,0,0,
+0,0,0,0,0,0,42,136,172,157,134,111,91,71,54,40,27,19,13,7,3,1,1,3,12,31,60,97,136,176,215,237,244,241,235,225,207,190,169,139,109,83,68,60,51,39,26,15,
+9,6,3,0,0,0,0,0,2,8,17,29,39,43,44,43,40,33,24,14,5,0,0,0,0,0,0,0,0,1,3,4,4,5,4,5,5,5,6,7,7,8,8,8,8,8,7,7,
+6,4,5,11,6,0,0,0,3,17,25,26,26,26,26,26,183,182,183,183,189,206,224,232,232,226,211,192,165,162,163,142,127,103,84,72,58,41,29,22,16,10,6,6,6,6,4,4,
+5,5,5,5,5,4,5,5,8,16,28,41,59,84,116,151,189,219,235,241,245,238,216,188,148,111,89,80,78,77,71,57,40,29,24,24,24,24,24,26,28,29,31,31,31,33,42,59,
+77,92,122,161,193,221,233,240,246,242,230,217,193,153,107,63,31,14,7,5,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,7,11,15,
+21,31,43,58,77,98,122,147,163,122,24,0,0,0,0,0,0,0,0,0,0,0,9,103,171,166,142,118,95,73,54,40,28,20,14,9,6,4,2,0,0,0,0,5,18,41,82,126,
+162,187,203,220,235,243,244,236,218,192,174,158,135,112,99,94,89,87,87,82,66,49,39,32,27,24,22,23,24,26,26,27,29,32,35,38,41,43,44,46,45,42,37,36,43,58,72,81,
+83,83,83,83,84,84,84,85,85,85,86,86,86,85,86,85,81,72,83,105,74,57,85,98,121,165,183,183,183,183,183,182,201,200,201,200,195,177,141,120,106,79,50,33,20,25,29,19,
+12,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,24,51,85,112,135,168,207,231,244,244,235,224,218,217,217,214,200,
+181,164,155,154,154,153,154,158,161,167,179,176,170,170,181,200,216,225,237,245,244,234,220,206,183,154,129,109,82,53,28,13,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,1,3,4,7,10,15,21,31,42,57,75,96,120,145,163,139,47,0,0,0,0,0,0,0,0,0,0,0,28,126,174,164,139,115,91,70,53,39,
+28,19,14,9,6,4,2,1,0,0,0,0,0,0,3,15,30,46,62,85,116,143,174,206,230,242,245,245,242,236,231,228,225,223,223,220,206,190,178,168,162,157,154,154,154,155,156,161,
+165,168,172,174,175,175,176,176,177,176,174,174,185,202,213,219,220,219,218,219,220,219,219,219,220,220,220,220,220,220,220,220,217,218,227,235,215,210,227,231,233,218,202,200,200,200,201,200,
+40,39,40,39,35,24,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,9,17,35,67,104,148,187,210,223,227,227,228,230,237,243,244,243,244,244,243,243,243,243,247,254,255,254,254,254,253,247,239,225,200,171,141,116,87,54,35,34,39,44,47,49,48,
+44,39,35,33,33,32,30,17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,6,9,13,19,27,38,52,68,87,108,131,155,164,126,49,4,0,0,0,
+0,0,0,0,0,34,113,169,170,149,126,103,82,63,48,35,25,18,12,8,5,4,2,1,0,0,0,0,0,0,0,0,0,0,0,3,10,20,38,66,102,132,150,168,190,204,213,218,
+221,222,223,226,234,241,243,243,243,244,244,244,245,247,248,249,249,248,247,247,246,246,246,247,247,248,248,249,250,247,241,237,237,236,235,235,235,235,235,234,230,230,231,231,230,231,231,230,
+228,231,227,214,206,180,138,120,107,66,41,39,39,39,40,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,23,46,68,86,97,101,107,118,139,162,180,187,189,189,190,190,188,183,186,199,204,209,218,228,236,
+240,236,224,210,199,193,187,160,110,66,36,17,10,12,22,30,38,44,48,49,49,49,46,25,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,5,7,11,
+16,22,31,42,56,72,91,110,131,152,166,154,112,68,40,25,20,23,35,60,103,151,175,167,147,126,106,86,68,53,39,28,21,15,10,7,5,3,2,1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,6,13,22,35,56,75,89,100,107,111,116,124,141,160,173,180,185,189,190,190,190,189,184,180,177,175,175,177,180,187,190,185,178,178,179,178,168,148,133,128,
+131,136,138,139,140,140,138,128,116,116,116,116,116,116,114,113,109,97,81,65,55,35,15,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,3,4,5,10,19,29,38,45,50,53,58,
+65,73,81,86,90,99,109,114,110,104,100,90,81,81,95,118,150,180,198,207,213,218,218,223,228,219,192,152,97,49,22,7,1,4,9,11,12,13,12,5,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,1,3,4,6,8,12,17,22,31,42,54,69,85,102,119,136,153,166,167,160,152,149,151,161,170,173,165,149,132,115,98,81,65,52,40,29,21,
+15,11,8,6,3,3,1,0,0,0,0,0,0,0,0,0,0,0,1,2,4,5,6,7,11,18,25,33,42,47,50,51,51,53,60,65,73,88,103,113,114,111,105,93,82,74,70,70,
+71,73,79,92,106,113,103,77,59,58,59,60,55,46,41,41,43,48,51,53,54,55,54,49,45,45,46,47,45,44,42,40,37,30,22,17,14,11,10,8,5,3,3,2,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+2,19,29,33,37,39,40,41,45,46,46,42,37,29,21,16,11,10,11,13,18,29,45,63,81,92,94,87,74,64,62,67,74,81,92,103,110,107,97,103,128,162,194,222,230,209,173,132,
+84,39,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,6,8,11,16,22,28,37,47,59,72,84,97,110,121,132,141,146,
+149,148,146,138,129,118,106,95,82,68,56,45,35,27,20,15,11,8,5,4,2,1,0,0,0,0,0,0,0,0,0,0,6,24,33,36,41,42,42,44,48,50,49,45,39,30,23,18,
+15,15,17,20,24,34,52,71,88,99,101,95,85,78,77,82,84,84,89,100,108,104,90,73,60,49,42,41,42,44,46,48,48,49,50,50,50,50,50,52,53,54,54,53,53,52,49,46,
+42,38,34,28,23,19,15,12,9,6,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,1,0,0,0,0,0,0,2,4,15,39,70,88,104,122,128,127,125,121,117,110,105,101,97,95,93,86,79,68,50,40,43,52,65,75,76,75,73,64,53,46,43,
+39,32,29,29,30,29,33,43,53,62,71,96,143,183,215,236,232,200,149,102,63,36,18,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,
+5,7,10,14,18,23,30,37,45,54,62,70,78,85,90,95,96,96,94,90,84,77,69,60,52,44,36,28,21,17,13,10,7,4,3,2,1,0,1,1,1,1,1,0,0,0,0,0,
+10,37,49,50,48,47,46,42,35,25,16,9,4,0,0,0,1,3,5,7,15,26,42,58,73,81,86,88,80,71,69,68,68,66,65,67,69,72,77,87,95,95,86,76,71,73,78,84,
+88,89,90,94,94,89,83,76,71,70,69,67,67,64,62,58,53,47,41,35,28,22,18,14,11,8,5,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,25,26,27,35,54,70,90,113,126,135,159,188,202,211,222,231,233,233,233,232,233,232,232,231,231,232,231,
+231,230,225,213,201,197,195,191,179,150,119,93,63,37,18,8,1,0,0,0,0,3,8,22,45,69,81,78,74,78,95,126,167,210,236,239,214,172,122,79,53,40,32,27,25,25,25,25,
+25,25,25,25,21,14,7,1,0,0,0,0,0,0,1,2,3,3,4,6,8,11,15,19,24,29,34,39,44,48,51,53,56,56,55,53,49,45,40,35,30,25,21,16,13,10,8,5,
+4,3,1,2,14,28,30,31,31,31,31,28,21,12,5,0,0,5,10,23,35,39,40,41,46,64,83,107,127,130,130,130,133,136,138,141,147,153,159,160,158,153,150,150,132,92,57,46,
+45,47,50,54,57,61,69,82,102,122,133,131,125,121,118,117,117,116,120,132,139,139,136,126,118,110,105,102,99,97,94,90,84,76,69,62,53,39,27,18,12,8,6,4,3,2,0,0,
+0,3,8,15,22,24,24,24,24,24,24,23,24,21,14,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,50,72,103,151,198,217,227,232,232,230,223,
+205,187,175,162,148,142,140,139,138,140,141,143,146,147,147,147,151,157,172,193,211,217,220,223,227,236,235,228,208,176,141,103,73,48,33,27,27,33,37,45,55,62,68,69,60,44,27,18,
+25,51,97,159,210,239,234,199,149,106,86,80,80,82,83,83,83,84,84,84,82,75,63,46,26,7,0,0,0,0,0,0,2,6,11,19,27,30,32,34,36,37,40,42,44,44,40,33,
+29,26,26,25,24,23,21,18,16,13,11,9,8,5,4,3,2,1,0,2,23,44,49,49,49,49,49,53,58,63,66,64,59,54,59,84,116,139,155,163,180,193,191,181,168,167,168,167,
+166,167,168,172,176,180,180,178,176,177,178,181,194,208,185,153,125,97,86,87,91,96,101,110,119,126,133,135,131,124,115,109,107,108,113,122,129,135,146,160,171,177,188,198,198,196,195,194,
+186,177,161,140,129,113,90,62,37,15,3,2,1,0,0,0,50,61,73,88,98,98,97,96,96,96,96,97,97,93,83,66,44,22,8,6,3,0,0,0,0,0,0,0,0,0,3,7,
+12,22,42,65,103,149,188,219,234,221,204,197,184,181,180,171,155,145,137,130,122,117,108,87,64,49,38,28,25,26,26,28,33,42,57,77,89,87,80,76,84,108,136,167,200,223,235,235,
+224,200,173,134,85,56,47,44,33,22,15,13,10,5,1,0,0,0,0,13,47,108,175,222,233,200,150,106,78,64,58,56,58,60,60,62,67,76,84,89,83,58,27,7,2,7,21,35,
+53,66,75,89,99,100,100,101,102,103,104,105,104,103,94,79,59,38,24,17,13,9,5,5,4,3,2,2,1,0,0,0,0,0,0,0,5,11,14,14,13,14,15,26,51,86,126,161,
+184,192,194,193,185,164,144,131,107,72,49,36,32,34,36,39,44,52,63,76,82,79,72,67,66,70,77,82,94,128,166,196,212,212,194,182,179,174,161,149,144,140,139,142,144,143,143,146,
+155,170,184,187,186,191,201,214,218,217,214,205,204,203,201,199,199,203,209,212,210,210,203,182,155,115,62,20,4,5,16,28,116,115,115,110,106,117,129,135,139,140,138,132,129,131,137,145,
+140,118,108,130,129,117,108,105,101,100,103,109,110,118,136,149,161,178,203,221,236,245,246,244,233,214,213,221,223,224,225,226,228,231,232,235,234,234,232,223,207,190,170,135,97,68,57,56,
+53,51,49,43,30,15,6,4,4,6,11,22,43,69,104,143,176,205,227,235,202,136,75,45,31,24,23,25,26,27,27,27,27,26,20,12,6,8,27,72,147,207,229,212,174,135,95,62,
+26,6,4,2,4,11,22,41,68,91,92,73,64,82,106,117,119,117,116,115,116,125,143,161,167,168,168,168,168,169,174,177,173,156,140,129,112,81,51,33,20,21,23,14,10,11,13,12,
+12,9,4,1,0,0,0,0,0,0,0,0,3,8,20,37,57,74,82,83,75,57,45,37,30,26,28,31,34,38,42,50,60,69,73,70,60,51,48,49,53,60,66,72,76,80,88,102,
+125,158,184,195,199,207,215,217,217,217,218,220,220,221,222,223,222,216,207,203,200,194,181,164,150,142,136,130,128,125,120,113,106,101,102,109,104,105,127,161,188,207,205,171,136,122,115,113,
+177,162,157,154,163,199,214,211,210,211,207,187,183,184,190,201,209,212,220,242,251,247,243,242,240,239,239,240,240,245,254,255,255,255,253,251,253,247,229,210,198,195,182,150,132,121,118,118,
+119,120,121,126,131,136,147,171,196,210,225,236,235,220,208,199,171,118,74,46,23,11,8,7,5,4,4,3,3,4,7,14,26,47,84,149,212,237,217,188,156,130,115,105,102,101,102,102,
+102,102,97,87,78,67,49,33,34,64,120,176,209,223,224,209,159,112,91,63,40,35,41,58,91,134,175,187,186,191,197,186,146,130,139,157,178,199,219,229,229,230,230,230,230,230,234,239,
+243,244,245,247,244,229,206,180,151,155,170,141,116,96,79,68,67,64,55,46,36,25,17,12,5,1,0,0,0,1,0,0,0,3,8,18,32,43,52,57,60,62,62,63,65,68,70,70,
+69,64,58,59,69,77,81,84,81,80,83,87,91,97,102,107,110,114,122,133,143,156,175,195,203,205,206,205,205,206,206,204,199,194,187,183,177,171,162,153,144,139,136,134,131,127,121,115,
+106,95,82,68,56,45,40,48,76,121,175,206,217,224,221,205,224,237,228,215,208,185,135,101,92,93,91,78,73,68,65,68,74,83,98,122,147,158,163,168,171,174,173,170,170,172,176,170,
+165,162,161,166,183,177,139,111,93,78,58,32,17,10,5,3,3,3,4,5,6,10,16,27,42,56,75,107,148,182,197,208,229,229,212,191,162,135,121,102,75,55,45,41,31,17,13,14,
+20,30,48,76,119,168,207,235,247,239,222,193,155,129,120,113,107,106,109,114,117,118,116,108,92,74,67,75,90,117,156,199,232,236,231,219,205,202,209,220,231,240,250,254,254,253,254,249,
+226,222,229,226,218,205,177,146,135,134,135,134,133,128,126,126,131,137,143,151,170,200,223,238,246,252,255,250,236,210,167,129,103,87,84,85,85,81,77,70,58,44,30,21,14,9,7,6,
+6,7,7,8,11,16,21,27,34,42,55,66,73,75,82,101,121,127,132,161,193,202,204,201,184,166,159,147,135,133,133,134,140,148,158,169,178,184,187,191,199,202,200,199,200,200,201,201,
+200,201,202,203,202,201,200,195,187,179,172,165,157,149,143,136,129,121,109,99,94,94,99,108,119,129,131,122,114,132,166,197,187,161,135,122,118,109,98,94,94,94,94,94,91,83,71,61,
+57,58,57,53,48,44,42,41,44,47,47,46,46,43,33,24,21,24,31,40,54,63,67,74,82,84,82,76,68,58,47,36,27,21,16,14,11,10,9,10,13,18,20,24,32,43,48,60,
+100,147,176,198,219,227,229,229,219,206,197,194,176,144,131,132,135,128,122,113,99,85,80,101,145,178,204,228,223,200,185,164,137,125,129,143,151,147,153,164,171,176,176,172,168,174,193,215,
+236,247,251,255,255,255,255,251,245,233,221,211,207,208,214,223,220,194,171,154,138,128,113,103,100,99,100,100,97,88,77,68,65,66,64,59,57,65,80,101,140,181,215,241,251,251,242,225,
+196,161,138,136,142,144,147,151,155,151,137,117,99,88,79,68,61,56,54,54,53,52,56,74,102,123,156,184,192,194,202,221,232,234,236,237,226,220,221,225,236,240,241,238,229,224,219,212,
+210,210,205,200,193,186,180,178,181,183,183,182,182,183,183,183,182,182,182,183,183,185,189,194,198,200,199,198,193,188,183,179,178,176,170,164,164,165,166,166,154,124,105,101,112,158,193,195,
+61,68,82,93,100,104,106,105,105,105,105,105,107,114,119,119,119,118,117,113,108,97,84,70,57,45,36,32,28,25,23,21,21,22,23,25,29,33,35,36,44,54,64,74,81,87,90,90,
+87,83,78,74,69,65,64,66,73,79,82,82,78,72,68,66,69,74,78,89,110,128,139,158,182,204,214,222,235,244,245,244,242,232,218,207,195,180,159,135,121,123,142,184,220,240,250,251,
+245,242,242,245,247,238,229,231,233,236,238,240,243,241,233,223,222,222,223,220,213,200,189,181,170,149,124,103,86,72,67,76,90,85,86,94,99,102,104,103,104,104,104,104,106,112,117,118,
+118,118,117,114,109,98,84,72,66,70,93,136,178,213,237,249,250,243,232,228,228,229,229,230,232,234,234,229,222,219,218,214,209,207,205,205,203,202,206,221,237,243,246,237,231,230,228,212,
+193,188,187,174,155,150,155,163,179,196,209,225,236,242,246,250,251,250,245,238,229,217,206,195,190,189,189,189,189,187,182,180,179,177,175,173,169,166,164,165,169,172,176,180,184,185,182,181,
+184,185,181,177,174,171,170,179,182,188,202,199,186,153,96,59,49,43,35,31,30,29,29,28,28,28,28,28,32,42,53,63,68,74,88,107,130,150,153,149,144,133,121,112,103,100,100,99,
+99,100,101,105,107,106,100,87,75,66,58,53,53,58,65,79,95,107,112,110,105,101,98,96,93,88,88,89,91,96,105,109,105,101,101,102,102,101,102,105,111,120,121,115,121,139,145,144,
+151,172,188,196,202,211,221,230,230,228,226,227,231,232,220,208,207,207,208,209,207,169,125,120,120,116,112,112,111,100,82,68,71,76,78,78,77,74,72,76,88,103,113,115,111,97,75,58,
+48,42,35,30,30,29,29,28,28,28,28,28,32,42,54,64,70,76,89,109,133,152,155,152,145,133,122,116,119,138,166,203,237,248,236,208,185,182,182,176,170,168,175,190,203,208,212,219,
+226,230,231,231,230,229,227,214,194,182,171,152,148,153,160,158,153,153,157,161,163,166,170,174,177,181,185,186,189,192,196,203,208,215,226,236,243,248,249,245,240,238,237,236,236,231,218,213,
+211,210,208,206,204,192,178,173,171,169,166,167,168,168,164,160,159,158,155,154,164,188,203,212,206,194,165,141,127,105,80,66,115,101,79,58,43,33,28,26,25,24,24,24,24,26,29,35,
+45,63,86,109,132,149,151,146,141,134,126,117,109,107,110,114,121,130,143,155,158,159,158,156,151,146,137,126,117,106,93,90,100,107,111,111,107,99,89,74,57,42,37,36,39,47,57,64,
+60,58,64,70,71,71,70,70,70,68,59,46,39,37,36,34,37,45,53,58,62,69,83,104,122,130,130,129,127,111,81,59,55,54,54,54,50,30,12,9,9,7,6,5,3,1,0,0,
+0,0,0,1,3,3,4,7,15,31,50,67,88,109,119,118,111,100,79,58,43,33,28,26,25,24,24,24,25,27,31,37,48,66,89,112,134,152,155,151,146,139,132,123,114,112,115,129,
+165,212,244,241,210,180,163,158,157,153,150,147,148,143,135,137,145,151,155,157,156,152,145,129,110,99,96,97,103,111,122,130,132,135,144,152,156,160,164,168,171,174,173,171,171,172,174,177,
+180,183,189,194,202,211,222,233,239,240,241,241,242,247,250,249,249,248,248,249,250,241,228,226,224,223,221,219,219,217,215,212,209,207,203,199,190,168,131,91,61,53,56,70,88,107,118,121,
+91,107,119,120,114,108,104,102,101,100,100,101,100,101,100,103,110,117,119,113,103,91,76,62,50,43,41,45,54,69,87,101,114,129,143,150,148,147,149,151,153,154,155,156,153,139,111,86,
+74,71,73,82,92,100,102,99,87,69,54,43,39,41,44,45,45,45,41,38,39,39,40,41,41,40,40,40,40,40,39,39,38,36,35,34,32,30,30,30,31,30,29,28,26,22,18,16,
+14,13,12,11,10,9,10,9,8,6,6,5,5,4,3,3,3,2,2,1,1,1,0,0,0,0,1,5,15,33,58,80,96,110,119,119,114,108,104,102,101,100,101,101,101,102,101,104,
+112,119,122,117,108,97,84,72,62,55,54,59,68,82,98,111,124,151,190,231,250,239,203,169,160,162,166,168,166,156,135,117,111,110,115,123,133,140,144,144,137,128,121,117,118,122,128,133,
+137,140,142,145,149,154,158,161,165,169,172,174,177,180,182,184,187,188,189,190,190,191,193,197,200,201,201,202,202,208,215,218,217,216,214,212,209,197,180,174,171,168,164,160,158,154,149,143,
+136,126,113,98,76,53,34,23,16,12,11,12,19,33,50,64,16,32,54,72,86,97,103,105,105,105,105,104,104,105,105,104,97,80,60,42,29,19,11,7,9,18,40,67,91,109,119,122,
+120,114,103,89,76,71,72,73,76,77,78,79,76,65,47,30,23,21,23,29,39,51,66,85,100,109,104,88,78,78,79,80,82,79,61,46,47,48,49,50,50,51,51,51,52,51,50,50,
+49,48,47,45,44,43,40,38,36,34,33,31,29,28,27,25,23,22,20,18,16,15,14,13,12,11,9,8,7,7,6,5,5,4,4,3,2,2,2,1,0,0,0,0,0,0,1,7,
+19,34,53,72,86,97,103,105,105,105,105,105,105,106,107,107,101,86,67,51,40,33,27,25,27,37,58,84,107,124,134,136,134,128,121,130,166,219,243,208,155,121,109,111,113,108,97,88,
+86,89,94,102,112,121,133,147,159,166,165,157,153,156,160,163,166,168,162,158,162,165,169,172,174,177,180,183,185,186,188,189,190,191,192,192,192,192,193,192,192,191,191,189,188,186,186,184,
+182,178,173,168,163,156,149,143,138,133,128,124,120,115,108,101,92,82,72,61,51,42,33,26,19,14,9,5,2,0,1,4,0,0,4,17,34,49,57,58,58,54,49,47,48,53,58,58,
+51,41,33,34,39,44,51,58,68,87,111,121,116,100,81,66,54,40,27,17,11,9,9,11,11,12,14,14,15,15,14,15,16,18,20,22,24,27,31,40,54,72,81,76,72,73,75,76,
+79,77,66,57,59,60,61,61,62,62,63,63,62,62,62,61,59,58,57,55,54,52,50,48,46,43,40,38,35,33,33,31,29,26,24,22,20,18,17,16,14,13,11,10,8,8,7,6,
+5,4,4,3,2,2,2,2,2,1,0,0,0,0,0,0,0,0,4,17,34,49,57,58,58,55,50,48,50,56,62,63,58,49,44,47,54,61,68,77,88,106,127,138,134,121,106,93,
+83,72,61,52,55,97,178,232,229,190,125,79,75,81,86,92,97,103,107,112,116,120,125,132,143,155,162,161,161,163,167,170,173,175,171,169,172,175,177,181,182,184,186,187,189,190,190,191,
+191,192,193,192,192,191,191,191,190,188,187,185,184,182,180,177,174,169,164,159,154,148,142,135,130,125,120,114,110,105,99,92,85,76,66,56,47,38,29,22,17,13,9,5,3,2,0,0,
+3,16,38,58,72,81,83,83,83,81,76,74,77,90,101,102,101,100,100,106,113,116,118,120,121,117,101,73,45,25,12,6,4,2,2,3,4,5,6,7,7,9,10,12,14,16,18,19,
+22,25,27,30,32,34,35,37,39,44,48,51,53,56,58,61,63,64,66,67,69,70,72,72,73,74,74,74,73,74,72,72,70,68,67,65,63,61,59,58,55,54,56,56,52,48,44,39,
+34,31,29,27,25,22,19,17,15,14,12,11,10,7,7,6,4,3,3,3,2,3,3,2,2,1,1,1,0,0,0,0,3,17,39,58,72,81,83,83,84,82,77,75,80,94,106,108,
+108,108,110,117,126,131,134,138,140,138,125,102,81,64,55,51,50,51,54,55,56,59,88,147,204,239,226,169,127,109,106,109,115,120,125,131,135,138,141,144,147,151,155,158,161,163,166,169,
+171,174,176,178,181,183,184,186,187,188,189,190,190,190,190,190,191,191,191,189,189,188,187,186,184,183,183,182,180,177,173,169,164,159,153,149,143,136,129,122,117,111,105,98,93,88,82,75,
+68,61,52,44,38,31,23,19,14,10,7,4,3,1,0,0,50,74,88,86,76,67,62,61,63,69,74,75,79,93,104,105,105,104,102,97,91,85,78,70,62,47,26,9,1,0,1,1,
+3,4,5,6,6,7,8,10,11,12,14,16,17,19,21,24,27,30,32,34,37,40,43,45,48,51,54,57,61,64,67,70,74,77,81,88,96,101,103,104,105,105,105,105,105,105,104,103,
+102,100,98,97,92,85,75,69,64,69,86,93,90,85,80,74,62,50,41,35,31,29,27,26,24,26,31,34,36,36,35,33,30,25,19,13,7,3,1,1,1,1,0,0,0,0,0,17,
+53,77,88,86,76,67,62,61,64,70,75,77,83,97,110,113,115,116,115,114,112,109,106,101,96,87,75,70,73,76,78,80,87,104,120,126,127,134,155,178,196,224,248,248,230,204,177,153,
+139,139,143,146,150,153,157,159,162,165,167,169,172,174,175,178,180,182,183,185,186,187,188,189,189,189,190,190,190,190,189,189,188,187,186,184,183,181,179,178,176,176,183,185,183,180,175,170,
+163,153,144,136,129,123,117,111,106,102,102,115,121,117,113,108,102,93,78,61,40,25,17,11,6,2,0,0,0,0,0,10,94,80,54,31,16,9,6,6,7,11,14,15,16,23,27,28,
+28,28,26,21,16,12,9,6,3,1,0,0,1,2,3,3,4,5,6,7,8,9,10,11,13,15,17,18,20,23,26,29,32,34,37,41,44,46,49,53,58,66,77,85,90,94,99,111,
+129,139,146,164,184,192,194,194,194,194,194,195,195,194,194,194,193,192,192,190,186,170,144,118,98,87,88,89,88,87,87,89,88,85,78,70,63,61,62,62,61,63,68,80,91,93,92,90,
+88,85,78,69,56,39,24,13,6,3,2,2,5,14,39,79,89,75,53,31,16,9,6,7,8,13,17,19,24,31,39,43,46,50,52,53,54,55,55,58,70,90,121,154,175,182,183,184,
+192,211,226,229,230,233,242,247,247,247,248,252,255,255,249,230,201,186,179,173,171,169,170,172,174,175,177,179,180,182,184,186,186,187,188,189,189,189,190,190,190,189,189,188,187,187,186,184,
+183,181,179,177,175,173,170,167,165,164,169,169,166,165,164,163,160,156,149,139,131,126,123,119,115,111,119,185,220,217,216,215,213,210,205,195,170,143,132,119,103,72,39,19,6,11,34,65,
+49,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,5,5,6,6,6,7,8,9,12,14,16,17,19,21,25,28,31,33,
+36,39,42,46,50,57,69,82,104,137,167,183,187,189,193,207,224,232,235,243,249,249,249,250,250,250,250,250,250,249,250,250,250,249,249,250,249,246,235,217,194,163,129,105,92,83,74,71,
+72,76,79,80,80,78,73,69,66,60,54,61,71,73,72,70,71,75,81,88,92,92,83,71,57,48,44,47,57,73,90,80,45,19,4,0,0,0,0,0,0,1,3,5,7,11,14,18,
+23,28,34,40,48,60,77,105,152,195,226,243,247,248,248,248,249,247,240,238,239,237,230,215,210,210,212,217,229,242,250,254,249,243,236,227,218,207,202,202,199,194,191,189,188,187,188,189,
+190,190,191,190,190,190,190,189,188,187,186,185,184,182,179,177,175,173,171,168,164,162,158,154,151,148,145,141,137,133,130,129,129,130,129,128,124,119,113,107,101,93,89,113,130,128,126,123,
+122,124,132,149,176,189,186,184,185,192,189,177,146,135,127,103,119,73,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,16,26,30,33,34,34,
+35,34,30,23,17,14,13,14,15,17,20,24,27,30,33,37,41,47,54,66,86,120,158,183,207,233,246,249,249,249,250,250,247,242,241,236,225,217,216,216,217,217,217,217,217,217,217,217,
+216,215,214,213,216,228,241,248,250,243,224,201,187,170,144,126,114,95,80,74,64,54,45,39,35,31,25,23,24,21,21,19,18,20,24,31,43,59,74,85,88,90,90,89,87,81,62,30,
+3,0,0,0,0,0,1,2,2,3,5,7,11,15,18,22,29,39,49,66,98,142,179,211,239,250,245,232,217,213,213,214,212,199,180,171,169,166,156,145,142,145,151,157,171,189,210,227,
+239,247,252,253,252,248,245,245,241,233,228,221,211,201,195,193,191,191,190,189,188,188,187,186,184,183,180,178,176,174,171,168,165,162,159,155,151,146,142,138,135,132,128,124,123,124,121,117,
+114,111,108,107,105,101,91,78,66,56,49,44,42,40,37,34,32,31,31,36,48,65,77,86,94,107,128,155,184,190,194,180,145,174,178,129,91,53,14,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,1,1,11,38,52,53,52,53,53,53,55,58,58,55,49,42,35,31,38,47,51,53,57,61,72,91,110,128,157,191,224,243,248,249,242,224,210,208,209,211,207,
+194,183,182,177,167,163,163,165,166,167,167,167,167,166,166,164,162,160,158,155,155,164,178,195,215,234,247,250,249,247,238,230,223,202,182,168,139,105,78,62,56,54,51,44,33,23,17,15,
+11,9,7,5,6,9,16,26,35,43,45,42,34,20,7,0,0,0,0,0,0,0,1,1,2,3,5,8,11,17,30,54,82,105,128,163,204,237,249,249,237,211,187,170,157,153,154,155,
+155,151,147,146,145,143,139,136,135,138,141,147,153,161,171,184,197,208,221,231,240,247,248,249,251,253,253,251,245,234,225,216,208,202,197,194,191,186,182,180,178,176,172,169,166,163,160,156,
+151,147,144,140,138,139,139,145,151,151,148,152,164,174,178,179,181,184,184,185,183,179,168,149,126,103,82,63,44,30,22,20,18,16,13,11,9,11,17,25,33,38,39,37,35,30,43,89,
+5,28,88,144,171,180,152,113,87,63,41,33,28,26,26,26,26,26,26,26,26,31,51,73,80,83,93,98,95,94,95,97,102,106,104,108,116,121,123,124,132,154,169,171,169,171,173,185,
+208,223,232,243,249,245,231,215,207,187,161,151,152,156,157,156,153,152,154,157,159,162,164,166,167,168,169,169,168,167,166,165,162,159,156,153,149,146,144,145,153,170,190,205,211,224,236,239,
+244,249,249,249,239,220,195,176,170,169,167,159,135,105,90,73,54,41,36,29,19,9,4,2,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,19,38,71,120,168,
+205,223,233,245,250,238,214,192,164,136,127,127,126,126,127,128,129,131,135,140,146,151,156,159,159,159,159,160,161,165,169,174,179,183,189,197,206,215,220,222,228,235,240,245,251,253,252,248,
+244,236,230,228,222,210,196,185,178,175,171,168,165,161,157,153,152,158,165,172,181,190,200,213,219,218,218,226,235,240,244,245,246,247,246,247,246,245,243,238,229,215,195,169,131,90,58,37,
+21,13,9,6,4,2,0,0,0,0,0,0,0,0,0,0,15,9,17,35,70,127,183,207,215,215,206,195,179,173,174,174,173,173,173,173,174,179,197,216,221,221,221,221,221,221,221,224,
+231,232,221,218,220,222,224,227,235,246,250,250,248,248,248,249,248,244,241,234,222,206,187,177,174,170,168,170,172,174,174,174,173,172,172,173,176,179,180,182,184,184,185,185,184,184,184,182,
+179,177,174,170,166,161,156,149,145,141,141,142,141,148,158,161,171,189,200,214,231,242,247,247,246,246,246,245,239,227,219,206,183,166,159,148,119,87,61,40,30,28,27,27,27,26,26,26,
+25,24,24,25,24,25,30,48,71,82,94,121,157,197,233,247,244,236,231,218,193,160,132,120,115,114,118,121,123,124,126,126,127,129,129,131,134,138,144,152,160,167,172,175,177,178,182,186,
+191,196,200,204,209,213,216,217,218,221,223,228,236,243,248,251,252,252,252,252,251,247,238,226,219,216,215,212,211,207,202,204,214,226,235,240,244,246,247,246,244,243,243,238,227,211,201,196,
+192,187,184,182,180,179,185,203,221,233,237,233,223,212,191,162,129,102,83,63,45,35,30,27,26,25,25,25,25,25,26,24,109,114,129,143,161,187,209,224,234,245,251,253,251,250,251,250,
+250,250,250,250,250,250,246,237,232,232,232,231,231,230,230,229,227,227,227,227,228,228,229,228,226,211,194,192,198,205,212,217,214,208,203,193,181,173,169,168,170,173,177,179,182,185,189,193,
+196,196,195,194,193,191,190,189,189,188,187,188,188,188,189,188,187,187,185,182,180,175,171,165,159,152,145,138,132,126,120,115,114,117,120,128,144,164,184,194,192,188,187,193,213,228,234,239,
+244,246,245,244,235,220,198,171,158,156,156,155,156,155,155,155,155,154,154,154,154,154,162,186,210,219,224,236,244,244,227,194,161,141,136,127,116,109,111,117,123,127,130,132,133,135,136,134,
+132,132,132,132,134,135,136,140,145,151,160,170,179,187,197,206,215,220,221,221,219,218,216,216,214,214,213,212,214,217,221,227,232,236,238,237,238,245,249,250,250,250,250,249,249,248,247,248,
+248,243,237,230,219,207,194,176,160,152,148,137,117,93,77,73,71,71,69,68,67,65,66,80,101,125,152,177,187,196,220,238,240,232,220,203,186,173,163,157,155,156,156,155,153,150,141,125,
+227,232,238,243,245,245,240,233,226,220,204,183,175,178,181,185,190,196,199,200,203,202,188,166,156,154,155,154,153,156,158,151,139,132,126,121,118,119,119,120,117,104,96,106,126,147,165,176,
+176,168,155,143,135,135,137,141,146,152,159,164,170,176,182,187,193,195,196,194,190,183,175,168,161,155,151,151,152,156,160,165,171,176,182,184,185,185,182,178,173,167,161,155,151,146,140,134,
+131,127,122,119,116,116,119,119,114,107,100,94,98,111,120,136,160,175,179,190,217,234,243,246,245,245,245,245,245,245,244,244,245,245,244,245,245,244,246,245,237,230,225,212,191,167,133,106,
+100,108,120,131,141,149,155,160,164,166,168,169,169,172,173,167,158,152,147,143,141,141,142,143,146,152,160,170,183,195,207,215,217,215,208,202,196,193,190,188,187,186,185,183,182,181,182,185,
+190,199,205,208,211,214,220,224,223,219,216,213,212,212,212,211,205,190,170,151,135,116,97,82,67,58,55,55,56,57,54,54,58,61,61,61,60,58,56,56,54,54,60,74,90,89,104,144,
+185,205,210,215,227,239,244,246,246,246,245,245,245,244,239,231,225,220,198,181,176,170,155,125,102,92,92,97,105,114,122,129,135,137,137,136,133,131,126,120,118,118,119,119,124,137,147,148,
+144,138,129,119,113,112,111,112,115,121,131,140,147,150,148,138,124,114,109,109,114,121,129,138,145,153,160,168,173,178,179,178,174,166,155,142,129,117,106,96,89,84,79,77,77,81,88,97,
+109,124,139,154,167,178,184,187,186,185,182,179,175,168,161,154,145,135,125,118,111,104,98,93,91,90,86,71,47,37,36,38,45,49,50,61,87,114,145,168,174,174,174,173,173,173,172,172,
+173,172,172,172,172,172,170,154,122,105,116,125,123,121,122,131,142,151,158,163,167,172,176,179,182,184,185,187,189,196,201,201,198,195,189,183,179,178,177,178,180,185,191,196,200,202,201,195,
+188,181,176,173,172,172,171,170,169,167,165,164,162,159,155,153,152,154,158,164,173,182,188,194,196,191,186,180,172,168,167,164,160,155,147,139,132,123,113,107,102,97,99,102,98,89,80,73,
+64,55,47,44,41,40,40,40,43,47,47,35,17,17,19,27,49,74,87,89,98,119,144,160,170,174,175,175,177,184,196,212,83,85,64,42,37,36,31,17,6,14,64,108,115,110,104,95,
+83,71,62,55,48,47,47,47,47,48,49,51,58,71,85,101,119,135,143,147,151,160,167,170,172,174,176,167,146,126,108,95,91,94,103,113,121,130,139,147,155,163,169,174,176,174,164,147,
+125,100,75,54,38,30,26,28,30,27,26,23,21,20,22,26,32,43,57,76,100,126,149,167,180,187,192,192,189,183,177,170,158,146,132,120,110,102,93,87,83,81,77,69,56,48,42,37,
+31,26,21,18,18,21,30,39,41,40,38,38,38,38,38,37,37,37,36,36,35,35,34,27,15,21,72,116,126,124,123,122,118,115,117,120,122,127,134,138,143,145,147,150,153,160,166,174,
+183,190,195,196,198,202,205,207,208,209,210,205,192,180,169,161,156,156,158,159,160,160,160,159,157,155,153,150,147,145,141,136,132,127,123,122,126,138,156,180,194,193,187,174,156,146,142,138,
+135,132,131,129,130,132,133,132,134,141,151,153,144,129,116,99,78,58,43,32,26,22,21,20,22,27,30,26,15,11,12,10,7,8,11,12,10,11,17,24,30,33,35,36,36,37,44,56,
+1,3,1,0,0,0,0,0,0,4,38,60,51,39,29,21,12,6,1,0,0,0,0,1,2,3,5,6,8,12,17,25,38,51,62,72,83,99,118,137,151,161,167,165,153,139,125,114,
+109,108,113,120,129,137,147,155,163,170,173,171,162,143,117,85,55,30,15,7,4,6,8,10,12,10,7,4,3,2,2,1,1,2,5,11,24,45,74,105,136,160,178,190,192,191,191,190,
+185,179,172,163,155,148,141,135,131,126,122,119,115,112,109,100,88,81,73,63,58,56,54,50,42,31,18,8,2,0,0,1,0,0,0,0,0,0,0,0,0,10,45,69,65,58,57,57,
+58,62,70,78,86,93,101,107,112,115,118,119,120,121,123,127,131,138,143,146,152,160,170,181,190,195,198,197,189,179,169,159,151,148,146,144,144,144,143,142,140,138,136,133,129,126,122,119,
+118,117,118,122,129,143,160,172,169,152,127,104,88,78,73,69,65,61,58,55,55,58,62,63,71,89,111,133,153,161,160,154,141,127,115,104,95,89,85,83,83,83,83,83,83,84,84,76,
+67,61,55,48,45,45,43,41,34,24,13,3,0,0,0,0,0,0,0,0,0,0,0,5,9,14,21,28,28,26,24,24,23,23,23,22,20,14,10,7,5,3,2,3,5,6,8,9,
+11,13,16,21,26,35,45,59,77,93,110,129,147,162,170,171,165,157,150,147,148,152,159,166,171,173,167,153,127,93,58,29,13,6,4,5,6,6,6,4,3,2,0,0,0,0,0,0,
+0,0,0,0,0,3,16,41,76,114,148,176,197,198,189,181,177,176,176,177,175,171,166,161,158,154,150,146,144,142,139,129,117,111,105,100,104,104,100,100,95,82,69,53,34,19,7,2,
+1,2,1,0,0,0,1,7,12,18,28,39,42,45,50,56,64,72,80,88,94,96,99,103,104,105,107,108,109,109,108,107,105,106,105,104,105,108,113,121,131,140,151,163,175,184,189,188,
+181,172,160,150,142,138,135,133,131,127,126,123,120,119,121,128,135,143,151,157,160,160,148,126,101,77,60,50,44,40,35,32,28,24,21,18,14,15,21,34,53,75,94,110,122,126,121,114,
+108,109,116,124,126,123,119,117,117,117,116,116,117,118,118,109,98,93,90,87,93,94,93,93,89,77,64,48,30,15,5,0,0,0,0,0,3,24,51,68,78,84,89,94,98,100,100,100,
+100,101,102,101,96,88,79,70,57,45,35,26,22,21,21,24,26,27,30,32,36,41,46,54,67,81,96,113,134,157,181,194,197,198,196,192,187,186,188,189,186,177,159,129,88,49,22,8,
+5,4,3,3,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,10,30,64,103,141,182,214,210,184,161,150,146,143,139,133,125,118,111,105,99,94,88,84,78,70,
+62,57,54,54,58,58,54,56,57,56,60,63,58,51,31,6,0,1,0,0,1,23,51,69,80,86,92,100,107,111,115,120,125,130,135,139,140,139,137,134,128,122,117,111,107,105,104,103,
+102,101,100,99,99,99,100,104,110,119,128,139,153,171,189,199,200,199,195,187,177,171,168,163,157,153,150,149,149,150,155,160,161,158,151,140,125,104,80,60,47,40,37,35,31,28,25,22,
+18,15,14,18,27,42,63,81,90,87,77,64,49,37,27,20,17,20,29,39,45,45,43,42,42,43,43,43,44,44,44,38,33,32,33,36,44,46,43,47,49,49,56,60,55,48,29,5,
+0,0,0,0,11,67,116,124,119,116,114,110,107,105,105,105,105,105,106,107,111,117,120,122,121,117,110,100,93,90,90,92,93,95,97,99,103,107,111,119,129,138,146,152,159,167,174,181,
+185,190,193,197,198,199,199,196,187,169,137,95,52,20,6,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,7,24,58,100,145,202,237,231,
+201,167,147,133,122,112,102,93,85,77,70,63,55,48,42,36,30,26,22,19,17,15,12,10,9,9,13,20,26,34,28,9,3,4,2,1,11,66,115,123,119,117,115,114,113,114,117,120,
+124,129,134,138,145,152,157,161,162,160,156,150,144,141,140,140,138,138,138,137,136,137,139,143,148,153,157,160,163,168,173,177,179,179,179,179,178,177,176,172,165,160,156,155,153,149,141,129,
+113,98,83,69,58,48,43,40,37,33,28,24,20,17,15,14,18,28,43,61,80,92,92,76,52,31,16,8,3,2,8,18,25,27,28,31,35,37,35,29,22,16,13,10,8,5,3,3,
+3,1,0,0,0,0,0,0,0,2,6,12,19,28,23,4,0,0,0,0,6,47,78,67,51,44,40,34,29,28,28,28,28,28,28,30,36,45,54,65,79,92,103,113,119,122,123,124,
+125,126,128,130,132,134,135,135,134,132,130,131,131,131,131,132,137,144,153,160,168,175,179,177,165,139,99,55,20,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
+1,1,1,1,1,0,1,0,0,7,30,69,118,176,230,251,246,228,208,188,169,158,150,144,139,133,126,122,118,111,98,83,68,57,49,44,41,39,37,35,33,34,50,74,82,83,82,82,
+80,80,80,79,84,116,138,130,120,116,113,110,109,109,112,116,119,123,127,132,138,146,153,160,168,175,181,185,187,187,186,187,186,185,185,185,184,184,184,182,180,177,174,172,169,164,160,163,
+170,175,176,174,171,167,164,162,160,161,161,160,156,149,138,131,128,125,124,127,131,136,146,156,162,158,149,140,133,129,130,137,149,161,170,173,174,172,162,143,128,124,127,134,139,141,150,164,
+171,174,175,173,174,177,176,171,163,152,144,136,124,111,99,90,75,52,33,25,20,12,6,0,0,0,0,0,0,0,0,0,26,13,8,7,5,9,13,8,2,0,0,0,0,0,0,0,
+0,0,0,0,0,0,3,6,11,19,28,39,49,54,57,58,60,61,64,67,69,72,73,73,72,72,74,78,83,89,95,103,113,122,132,142,152,161,165,163,147,115,72,31,7,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,2,17,50,99,155,212,246,252,251,250,246,239,235,233,232,231,230,229,228,227,224,216,204,
+189,175,166,163,161,161,160,159,158,161,184,213,219,218,218,218,218,217,218,218,217,218,218,216,216,216,216,216,217,217,218,219,219,220,221,222,222,223,224,224,226,228,230,232,233,234,234,234,
+234,233,233,233,233,233,232,231,229,228,227,226,226,223,221,223,229,234,237,239,239,235,232,231,231,231,231,231,231,228,226,227,229,229,229,227,225,223,222,220,215,201,182,170,169,175,181,184,
+180,171,160,147,127,105,101,116,135,145,163,192,218,231,237,241,244,246,247,247,247,245,242,240,238,238,240,241,240,233,224,210,191,173,155,134,109,84,65,62,74,91,105,110,105,91,67,43,
+154,138,129,123,117,105,95,85,69,48,31,25,22,16,8,2,1,1,0,0,0,7,13,11,8,5,4,4,7,9,12,14,16,18,22,25,28,32,35,41,47,57,68,78,87,95,104,112,
+121,130,140,150,157,165,169,165,146,112,67,27,6,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,13,43,86,136,199,241,
+249,249,247,243,239,240,240,239,238,238,236,236,235,235,239,244,246,247,246,246,246,246,246,245,245,246,247,240,231,229,229,229,228,228,229,228,228,228,228,227,228,228,228,229,229,229,230,230,
+230,231,231,231,231,233,234,233,233,232,232,231,231,232,232,232,232,231,231,230,230,230,230,229,229,230,231,232,233,234,236,238,237,238,238,234,227,218,206,190,174,160,151,146,145,151,156,153,
+145,136,129,122,117,115,113,111,106,100,94,94,92,86,74,58,38,20,10,4,0,0,0,0,1,4,12,32,58,80,97,110,120,130,134,132,153,184,202,208,206,197,193,197,209,225,235,238,
+239,238,237,232,221,207,197,199,211,225,234,235,234,226,207,180,245,242,238,236,235,233,226,213,196,177,162,153,142,126,104,89,83,74,55,32,22,36,49,49,46,38,30,22,16,13,13,15,
+17,19,22,28,36,44,51,62,78,95,111,122,129,135,141,147,154,161,167,173,178,182,183,178,160,126,80,37,11,3,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,
+0,0,0,0,0,0,0,0,0,1,14,45,89,131,187,233,243,240,227,198,175,168,163,157,153,148,142,138,134,132,139,151,163,175,180,180,179,179,177,176,177,176,167,135,106,99,99,100,
+98,98,98,97,96,97,97,96,98,99,98,100,101,101,102,106,107,108,111,111,116,134,144,145,143,141,135,130,125,121,119,118,117,116,117,117,118,122,125,129,137,146,153,157,159,160,164,166,
+166,162,157,146,131,121,111,102,97,93,91,89,88,89,89,88,86,83,81,81,82,85,88,88,86,82,73,62,45,27,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
+2,4,5,4,14,40,69,86,95,91,83,78,80,92,108,120,134,144,154,166,182,202,219,233,239,233,228,228,230,236,244,248,194,201,200,197,197,206,222,232,238,242,244,242,239,236,230,226,
+221,210,187,158,130,114,108,108,107,93,71,57,51,46,43,43,45,48,56,70,87,99,106,111,119,124,126,126,130,136,142,148,155,161,167,173,178,183,184,181,167,138,94,49,17,4,1,1,
+1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,22,59,102,145,197,226,219,201,177,149,129,119,110,101,92,84,76,68,61,56,53,53,
+54,57,58,55,51,50,49,46,45,43,37,23,12,9,9,8,7,7,6,5,4,5,5,5,6,6,6,8,9,10,12,14,17,19,21,23,27,45,58,61,66,72,74,74,71,65,60,57,
+56,55,60,70,83,92,95,97,102,102,98,94,92,92,92,92,92,90,87,86,85,85,85,85,86,86,85,84,83,83,82,81,80,80,78,77,74,67,58,50,42,32,21,14,7,3,2,1,
+2,2,4,7,9,9,10,10,10,9,9,8,6,3,1,0,0,0,0,0,0,0,1,4,6,7,6,5,5,5,6,7,12,20,28,31,35,48,71,101,131,141,134,128,127,134,152,176,
+53,73,85,87,81,80,92,111,130,147,163,179,191,200,206,214,225,236,242,243,237,226,218,217,214,195,154,116,93,75,64,60,60,63,75,93,104,107,104,98,92,85,81,81,86,95,103,111,
+120,129,138,148,156,164,170,172,165,144,108,64,27,6,0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,3,3,3,3,3,3,4,4,4,3,3,4,17,46,89,134,182,214,207,
+184,164,148,135,123,113,104,95,87,78,70,62,55,49,43,38,32,29,24,21,17,15,13,11,9,7,5,4,4,3,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,3,3,5,
+7,10,11,13,14,16,18,20,23,29,36,46,54,58,61,62,61,62,70,85,92,93,87,75,62,49,37,30,27,26,26,26,27,28,28,27,27,26,25,25,25,24,23,22,22,21,20,19,
+18,18,18,17,17,17,22,33,42,47,53,57,59,59,60,60,60,61,66,75,81,83,83,83,83,83,83,80,75,67,59,51,38,24,12,3,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,3,11,23,29,28,25,24,25,35,0,3,6,7,7,9,11,16,22,27,31,36,46,60,71,79,94,121,150,178,202,218,223,224,228,238,237,219,195,164,129,100,
+78,56,44,44,49,50,49,48,50,52,58,65,76,89,99,107,116,125,134,143,152,161,167,171,170,159,136,99,57,23,5,0,0,0,0,0,1,2,3,5,6,8,9,10,12,12,12,13,
+12,12,12,11,11,11,10,11,22,49,89,132,174,205,206,195,188,181,171,156,139,120,104,93,84,76,69,62,55,48,43,38,33,30,26,22,18,16,15,12,10,8,6,6,6,4,4,3,
+2,1,0,0,0,3,7,10,9,6,4,2,1,0,1,3,6,7,9,10,11,12,12,13,13,13,13,15,17,20,25,25,24,24,28,33,33,29,24,17,11,6,5,6,11,16,19,19,
+20,20,20,19,19,18,14,9,5,3,3,3,3,2,4,7,10,12,17,25,40,62,91,116,129,134,136,139,140,140,140,140,140,140,143,145,146,146,146,146,146,146,146,146,145,142,140,136,
+126,109,87,63,38,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,14,28,44,60,71,77,75,66,56,44,32,21,15,12,
+19,42,79,115,143,164,173,175,183,209,234,245,248,245,235,221,203,171,122,67,35,29,31,37,44,55,72,91,111,126,135,142,147,153,159,166,171,176,180,182,182,179,167,144,109,69,36,15,
+5,3,3,4,6,7,9,11,12,13,13,13,14,14,15,15,15,15,14,12,10,10,14,28,55,92,130,165,190,195,189,188,189,192,192,188,177,158,134,113,94,79,67,58,52,46,40,36,
+32,28,24,20,17,15,12,11,9,7,6,5,4,2,1,0,2,6,16,31,46,61,73,80,79,71,60,50,38,26,15,6,2,3,5,7,8,8,9,9,9,10,10,9,8,13,25,22,
+11,5,3,3,2,3,2,2,3,9,21,39,57,71,76,76,76,75,75,75,76,74,69,58,48,43,43,43,42,45,57,72,81,87,91,101,119,138,154,159,151,133,119,113,112,112,112,112,
+111,110,107,99,91,89,89,89,89,89,89,92,98,105,112,122,134,145,148,143,124,92,61,36,18,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+45,64,87,104,113,115,114,113,116,120,125,123,122,126,129,134,149,170,198,216,222,224,225,227,227,231,235,239,243,247,253,255,255,254,242,201,135,92,65,55,65,86,108,127,134,134,135,140,
+146,151,157,163,169,174,181,187,190,191,189,179,161,132,98,64,36,18,9,6,6,8,9,11,10,6,5,5,5,5,5,5,4,4,3,3,7,18,40,70,106,137,162,178,181,176,170,166,
+164,164,168,175,183,186,180,165,145,123,101,81,64,50,42,36,32,29,25,21,20,18,18,18,16,13,10,9,8,10,21,31,44,63,89,106,116,120,119,118,118,120,120,118,112,102,86,64,
+39,18,6,3,3,4,5,5,5,5,5,5,5,15,42,51,42,28,19,15,13,13,13,18,29,48,69,86,89,83,77,76,75,75,76,75,75,77,81,85,87,87,87,87,86,90,102,114,
+119,115,104,97,96,95,94,92,71,44,30,25,24,24,24,23,23,22,20,15,11,10,10,11,10,11,11,12,15,20,24,33,48,68,92,116,138,146,139,122,97,71,50,30,15,6,2,1,
+1,1,1,1,2,2,5,7,7,4,4,3,3,4,9,19,113,117,115,107,102,103,115,138,164,186,203,208,216,235,245,247,245,233,208,173,145,127,118,117,117,118,118,120,124,133,148,166,
+190,221,248,255,241,216,176,136,114,101,96,96,91,87,91,97,105,113,121,130,138,147,156,166,176,182,186,186,182,172,154,129,99,68,43,25,12,6,2,2,0,0,0,0,0,0,0,1,
+3,8,16,29,51,76,107,135,157,172,180,179,174,167,160,151,143,136,131,131,138,151,163,173,176,173,163,145,124,104,92,86,82,80,78,76,75,77,85,91,87,78,70,67,66,78,97,106,
+111,120,117,104,86,69,57,49,50,58,68,80,93,107,117,121,111,87,59,37,20,10,3,0,0,0,0,0,0,2,15,31,44,50,49,47,47,48,49,52,59,61,57,52,38,24,18,16,
+17,18,17,16,17,17,23,32,41,44,45,45,44,45,49,51,49,42,31,23,18,15,13,13,8,1,0,1,3,5,6,5,5,5,5,4,3,1,0,0,0,0,0,0,0,0,0,0,
+1,7,16,32,59,90,116,135,144,143,133,116,95,76,66,65,66,67,66,65,65,68,76,83,80,70,64,60,59,64,77,93,126,129,138,153,173,198,220,238,248,244,231,223,204,176,156,146,
+144,144,134,117,96,74,51,32,18,11,7,6,7,10,16,25,47,88,150,205,231,245,246,228,192,141,110,92,73,66,72,80,89,97,105,113,122,132,140,148,157,166,173,179,183,185,182,175,
+161,142,120,98,77,60,48,40,35,32,33,37,42,47,53,60,71,85,101,120,140,157,171,180,184,183,180,174,168,160,151,143,135,126,117,108,102,101,104,114,127,141,153,163,168,165,160,158,
+157,156,155,154,155,156,159,161,155,140,130,124,122,120,112,105,95,74,47,26,12,4,0,0,0,2,6,12,20,32,49,73,101,121,128,122,107,89,69,51,40,34,29,27,26,25,23,26,
+34,45,60,81,97,103,103,103,98,92,85,81,77,76,77,77,76,77,77,76,77,77,76,77,79,78,79,80,79,79,79,79,77,77,77,76,77,79,82,87,92,96,101,106,112,115,117,117,
+116,116,117,115,111,105,97,90,85,81,79,79,79,78,79,79,78,77,77,77,81,90,104,121,140,156,170,179,183,181,180,185,190,191,188,180,169,161,160,162,158,147,141,140,143,143,139,134,
+205,219,232,242,247,250,248,231,188,129,89,71,46,22,10,11,25,48,73,96,112,120,117,104,86,71,56,41,27,19,14,12,12,18,36,70,110,164,216,240,245,232,217,197,153,107,83,80,
+86,93,101,109,117,125,134,142,149,157,164,172,179,185,189,192,191,187,182,174,165,155,149,144,140,137,137,139,142,147,153,161,169,178,187,194,200,203,203,201,196,189,181,171,160,151,143,135,
+126,117,109,100,92,84,77,75,78,87,104,128,156,171,171,170,167,163,159,153,142,133,127,118,101,83,74,70,67,62,50,38,21,9,2,0,1,8,17,29,48,67,76,76,77,77,79,86,
+104,142,180,198,203,204,200,192,184,177,171,165,160,157,155,154,154,155,167,193,211,216,216,216,215,215,215,216,216,216,217,217,216,217,217,216,216,216,216,217,216,216,216,217,216,217,217,217,
+217,217,217,219,220,222,226,231,233,234,235,237,238,238,239,239,238,238,238,238,238,237,234,231,228,224,220,219,217,216,217,217,217,217,217,217,215,215,214,215,217,221,225,232,240,243,244,247,
+249,249,247,242,229,213,203,200,198,199,204,212,217,214,205,202,253,250,241,231,222,202,155,91,36,6,0,0,0,0,0,0,0,1,9,22,40,63,86,106,118,121,121,116,103,92,81,75,
+73,71,64,59,64,86,126,172,214,234,243,249,241,211,173,146,132,126,129,135,141,147,152,157,162,166,170,175,182,187,192,196,198,201,203,204,204,204,205,205,203,201,199,198,197,197,198,201,
+202,204,204,204,203,203,202,201,199,196,190,183,173,164,157,149,140,131,124,119,114,110,106,105,110,119,131,142,151,154,146,129,107,91,82,69,53,42,36,29,20,14,13,18,25,30,36,52,
+67,76,78,79,86,111,140,162,188,210,216,217,217,217,217,216,219,230,241,244,246,249,251,253,255,255,254,254,252,251,249,249,249,248,248,246,238,235,233,234,234,233,233,234,234,234,236,237,
+238,238,238,237,238,238,238,238,238,238,237,238,239,240,240,240,240,240,240,241,242,241,243,243,242,240,238,237,235,234,234,234,234,234,234,234,235,238,240,242,245,246,245,243,241,238,238,237,
+235,234,234,234,234,235,235,235,237,239,241,242,244,243,242,239,234,229,228,229,230,231,237,240,242,243,245,246,248,249,250,251,185,144,113,97,83,51,15,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,5,14,31,47,63,79,96,111,118,122,124,125,125,126,124,122,123,127,139,159,177,193,221,246,255,250,236,212,183,168,165,168,171,174,177,179,179,176,176,177,179,183,187,
+191,195,197,198,200,201,202,203,203,203,202,200,200,199,198,198,196,194,191,188,185,182,179,177,177,177,178,180,181,179,175,172,168,164,161,158,158,159,160,166,170,172,169,155,130,104,76,51,
+31,22,17,14,11,11,17,34,60,77,87,111,138,152,166,192,210,216,217,218,222,234,243,245,244,235,229,228,228,228,228,228,226,212,187,174,171,172,175,178,182,187,192,198,205,209,210,212,
+212,213,210,196,178,170,170,170,170,169,170,170,170,170,171,171,171,171,171,170,171,171,171,170,169,166,157,149,145,141,140,140,139,139,138,132,127,121,119,117,114,110,105,103,101,100,100,100,
+99,100,100,100,101,104,108,116,127,138,149,161,168,169,170,170,170,169,169,170,172,176,180,186,191,194,192,182,165,145,128,113,102,96,97,98,98,105,128,158,173,174,171,170,168,175,191,202,
+31,7,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,11,21,35,48,60,68,72,76,84,92,98,100,100,101,104,108,114,134,169,207,236,250,
+249,225,192,169,153,140,139,142,145,146,147,147,149,153,158,163,167,171,175,177,180,183,185,187,188,189,189,189,189,188,187,186,183,181,177,173,169,163,158,154,150,148,147,148,151,151,150,148,
+148,146,142,137,134,134,135,143,151,151,143,132,117,98,76,54,35,26,31,50,72,90,121,162,199,216,222,233,243,245,246,243,234,230,228,228,226,214,190,171,145,114,99,97,97,97,97,97,
+93,75,50,37,35,35,35,35,37,39,43,51,61,71,80,86,89,91,95,94,91,90,90,89,88,89,89,89,89,88,81,73,70,70,70,69,69,69,69,69,65,58,48,36,28,22,20,21,
+21,21,18,14,10,8,7,6,6,5,5,5,5,5,5,4,4,4,4,4,3,2,3,5,11,20,33,50,66,76,80,85,92,94,93,92,92,96,103,116,129,133,127,116,102,85,64,43,
+24,11,4,3,4,5,12,24,34,36,35,35,35,42,61,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,4,8,15,23,31,35,
+36,39,43,48,52,54,50,45,41,40,42,46,59,85,125,179,227,246,241,227,202,165,141,124,115,113,116,120,126,132,139,144,149,153,157,160,164,167,169,171,172,173,174,174,174,172,171,169,
+167,164,160,158,157,156,155,154,153,151,149,147,144,141,138,134,131,126,118,110,101,91,82,77,76,75,71,72,81,92,99,102,107,125,152,182,208,221,234,245,246,235,228,217,194,176,166,141,
+112,99,97,96,92,74,50,33,20,9,5,5,5,5,5,5,4,1,0,0,0,0,0,0,0,0,0,3,9,18,25,28,29,30,33,37,39,39,34,25,18,15,13,12,12,12,8,4,
+3,3,4,6,8,11,12,12,10,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,17,25,34,41,48,54,58,62,65,66,68,
+70,68,63,57,51,43,37,36,42,45,44,49,61,76,84,85,76,59,37,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,5,4,4,4,4,2,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,24,36,42,46,49,50,51,52,53,54,55,57,59,59,56,50,44,42,41,42,45,56,85,137,192,228,245,251,241,226,202,172,151,138,131,126,124,126,129,
+133,137,142,145,148,151,154,155,156,158,159,159,159,158,157,156,156,156,159,165,173,178,180,180,178,175,172,167,160,153,145,139,135,131,127,123,119,112,101,87,75,64,56,58,77,101,119,151,
+195,231,248,251,243,231,214,185,150,113,95,78,53,37,29,18,7,3,4,7,8,6,3,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,23,34,38,41,44,47,48,
+48,49,49,49,49,50,49,42,32,23,17,13,11,11,11,13,17,20,23,27,33,38,39,39,36,31,26,20,13,6,0,0,0,0,0,0,1,1,1,1,1,3,4,4,4,5,6,8,
+12,20,34,56,81,100,111,117,119,119,117,113,106,98,92,88,86,86,86,85,84,79,70,58,45,32,16,6,8,18,34,52,71,84,87,75,51,25,10,2,0,0,0,0,0,0,0,0,
+21,28,40,50,56,56,56,55,55,53,46,35,30,25,14,7,6,14,24,26,26,25,25,25,38,61,70,67,64,60,57,58,61,66,69,70,66,59,56,58,62,64,65,68,71,74,76,79,
+89,111,140,174,212,236,248,252,243,229,213,197,177,156,139,134,133,136,141,146,149,150,150,151,154,159,164,165,166,165,166,169,173,179,186,193,195,194,190,185,180,174,168,163,157,148,137,125,
+115,106,102,98,98,104,113,123,138,153,166,178,198,214,219,231,244,239,216,191,170,152,129,95,62,36,24,20,21,24,26,26,21,24,35,47,55,57,57,57,57,56,48,36,30,26,23,27,
+47,78,93,95,95,95,95,94,104,121,122,101,80,63,43,31,30,34,38,40,36,33,37,44,50,51,49,48,48,48,48,49,50,51,50,47,45,40,39,40,47,60,68,71,69,65,61,54,
+42,29,30,36,38,35,32,32,34,45,56,58,58,59,63,72,84,100,121,138,149,150,145,140,133,126,121,117,110,101,89,78,68,61,57,58,61,70,78,84,86,82,67,43,22,9,2,4,
+13,31,55,77,88,83,70,54,37,24,17,17,21,25,28,28,83,84,84,83,82,84,90,97,100,102,103,104,112,121,125,138,145,161,178,182,181,180,179,179,181,185,187,186,188,190,191,193,
+196,199,201,202,196,183,161,129,96,78,68,60,58,60,62,62,60,60,63,74,99,129,167,209,233,245,250,248,240,222,198,183,173,161,153,149,146,146,145,144,147,154,162,165,164,165,166,170,
+173,175,176,170,160,152,143,137,132,129,125,124,124,127,129,129,129,132,138,141,140,152,172,193,218,237,248,252,251,244,237,226,199,155,108,83,87,103,118,127,123,109,97,90,93,100,103,104,
+99,92,89,89,86,85,85,85,84,84,83,90,108,135,167,189,208,226,230,231,230,230,229,229,230,230,229,221,212,199,166,127,99,92,86,73,63,53,47,46,46,45,42,39,39,38,36,32,
+26,21,23,29,35,46,73,97,127,166,187,192,195,200,205,206,187,143,105,83,63,51,48,49,52,67,82,85,85,85,90,99,107,114,119,111,98,85,74,68,66,64,63,67,74,83,88,90,
+87,80,71,64,58,57,57,61,69,83,97,99,89,73,54,38,30,30,37,51,74,99,117,127,123,110,97,91,93,101,104,103,70,61,61,81,117,141,165,185,192,196,198,204,214,228,241,253,
+255,252,249,247,247,247,246,246,246,242,230,221,219,220,221,221,221,219,218,218,222,231,241,244,225,203,179,136,91,68,62,58,57,57,56,52,54,61,79,108,137,169,199,223,241,250,248,240,
+228,207,182,163,158,157,153,146,144,142,137,132,127,123,123,124,123,121,118,112,104,98,93,88,85,81,79,83,92,108,128,151,180,206,226,234,236,242,248,251,249,241,227,213,202,189,179,162,
+136,113,97,87,88,99,114,127,134,130,116,102,94,92,92,92,90,79,62,43,30,28,27,25,26,40,85,156,207,237,250,241,227,201,176,167,165,165,164,162,163,162,168,187,204,220,238,244,
+235,225,205,168,135,116,101,87,80,74,66,55,47,44,39,33,41,71,115,154,177,198,220,230,231,219,208,209,211,214,214,216,229,235,216,185,132,68,22,9,11,19,27,28,29,27,29,33,
+33,33,32,23,15,10,7,5,5,5,5,8,13,22,34,46,60,71,79,83,85,86,84,82,81,85,97,112,125,132,129,116,104,99,93,85,86,97,112,125,133,129,115,100,93,90,89,88,
+99,123,162,205,228,229,219,203,195,198,198,199,203,217,241,250,250,250,246,241,239,239,241,241,243,243,228,191,147,109,82,68,63,60,57,58,65,81,111,158,201,221,238,243,216,171,131,111,
+103,100,93,83,79,81,83,86,92,103,118,136,160,195,227,239,245,248,241,232,230,230,227,220,219,213,196,180,160,145,142,141,140,138,137,136,134,132,130,127,128,134,137,153,175,195,213,226,
+239,245,241,232,228,221,205,191,170,141,120,107,104,104,104,96,88,86,79,66,61,59,57,52,50,47,38,27,20,18,17,16,14,8,2,0,0,0,0,27,80,142,204,229,208,180,139,114,
+130,141,123,92,72,67,71,73,74,74,75,77,75,78,99,138,168,184,212,228,224,212,190,158,135,121,118,120,116,108,115,141,184,225,243,233,218,205,177,152,132,101,84,81,76,68,59,55,
+78,133,178,211,234,207,127,55,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,13,21,28,35,42,51,57,62,66,71,80,90,100,102,95,
+87,85,77,63,57,56,54,50,47,44,35,23,16,17,35,66,228,232,222,188,134,96,69,45,37,39,39,39,41,53,90,114,126,150,168,169,153,134,123,119,122,151,203,228,220,186,132,71,
+27,3,0,0,0,2,7,20,43,63,101,162,215,238,226,200,172,130,85,62,58,60,63,65,67,67,65,62,65,84,117,140,168,200,225,236,236,237,245,254,255,255,251,247,239,232,230,229,
+229,229,229,228,228,228,228,226,230,238,240,244,251,253,254,253,251,245,226,198,173,145,107,75,50,32,24,22,25,26,24,20,17,15,12,8,6,6,4,2,0,0,0,0,0,0,0,0,
+0,0,0,7,24,56,111,178,226,230,193,114,50,22,5,7,36,75,100,93,63,33,16,11,10,10,10,6,1,0,0,5,17,36,82,135,189,236,252,248,240,229,224,226,224,212,219,237,
+234,201,147,98,73,62,49,40,38,35,29,22,14,8,4,3,4,12,28,59,121,198,235,213,166,103,44,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,1,4,7,10,13,18,22,24,23,19,15,15,12,7,5,4,3,0,0,0,0,8,50,102,162,208,134,104,70,32,8,0,0,0,0,0,0,0,0,0,6,12,
+21,44,79,117,126,96,56,26,10,14,48,98,150,200,230,222,181,123,68,27,6,1,2,3,3,4,8,25,65,127,187,215,232,222,163,99,65,58,65,69,70,70,67,66,66,66,61,56,
+66,89,116,132,134,138,163,204,223,218,202,208,225,234,235,236,235,235,235,235,234,234,234,233,237,244,243,236,226,218,212,208,206,210,221,228,226,217,199,174,146,115,79,53,44,39,37,34,
+29,28,28,25,17,8,3,2,1,0,0,0,0,1,9,20,38,62,92,138,178,212,232,211,151,87,37,3,0,0,6,9,18,39,75,114,125,96,59,41,33,27,24,25,31,50,82,101,
+111,142,174,192,218,230,210,201,208,216,221,225,225,206,178,139,89,41,16,8,9,16,27,32,33,34,31,29,28,26,24,22,18,14,10,6,12,50,120,179,223,233,199,131,66,32,9,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,10,10,8,8,7,7,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,25,71,137,206,233,224,182,
+6,0,0,0,0,0,0,0,0,0,3,17,40,64,77,82,89,98,110,135,155,153,133,104,73,49,30,23,29,53,100,156,208,231,217,174,117,60,17,2,2,4,5,4,5,15,38,66,
+110,181,229,226,204,194,198,201,202,202,202,201,201,195,169,124,86,56,46,49,51,55,66,87,104,99,88,94,112,125,128,129,128,127,126,126,123,123,121,120,122,131,130,121,111,107,103,101,
+104,113,132,154,173,190,208,225,234,237,227,211,203,195,193,189,184,182,182,178,163,138,120,117,110,107,106,102,97,109,144,173,198,219,229,229,207,172,117,54,11,0,0,13,38,62,76,83,
+95,108,126,157,187,199,197,199,197,192,186,185,192,208,224,228,228,221,203,188,166,112,53,39,43,50,54,59,59,43,25,11,4,6,11,18,26,46,69,77,80,81,81,81,80,75,69,60,
+50,40,31,25,17,10,13,32,72,134,201,232,219,189,140,82,38,11,1,0,0,0,0,0,0,0,0,8,21,33,39,44,53,64,72,75,75,75,77,76,75,70,60,44,26,12,4,0,
+0,0,0,0,0,12,51,88,118,173,222,230,187,123,74,29,0,0,0,0,0,0,1,9,20,36,61,90,113,122,119,116,114,108,103,97,94,99,111,122,124,119,111,101,88,71,53,48,
+73,118,172,217,233,211,147,75,29,14,12,19,27,33,39,44,51,78,129,173,201,211,211,210,209,210,212,212,214,220,236,239,218,168,111,71,53,41,39,41,42,41,41,44,47,50,50,49,
+48,48,47,46,47,49,49,49,53,62,77,94,107,114,114,113,110,106,98,91,89,88,92,103,117,141,175,196,203,206,207,209,211,209,206,207,215,224,227,227,227,227,226,227,227,228,223,205,
+181,152,121,82,43,17,3,6,20,44,76,105,129,148,165,183,202,217,225,232,240,242,240,236,231,232,232,230,222,204,168,134,116,84,50,32,18,3,0,0,0,0,1,8,16,25,35,45,
+53,60,67,71,76,89,105,113,119,126,131,135,136,133,128,120,108,92,75,58,43,31,19,11,5,13,50,110,162,202,229,225,194,148,116,90,65,50,44,42,45,55,72,93,111,122,124,127,
+133,149,163,166,165,170,180,186,186,179,167,157,141,119,95,69,49,44,49,69,98,145,204,228,229,216,163,95,35,2,0,0,11,11,12,15,22,32,50,75,96,112,122,119,100,72,52,45,
+40,32,25,19,14,15,25,43,63,83,98,108,114,119,117,105,90,82,87,107,150,202,235,223,183,143,105,91,98,106,114,118,119,117,118,123,129,127,114,96,83,78,77,77,80,92,127,169,
+213,240,233,208,177,118,78,72,72,74,76,83,87,88,88,88,88,86,84,85,90,96,100,108,121,132,140,141,134,122,112,105,95,84,73,66,61,57,53,50,47,45,49,55,62,74,82,91,
+100,104,104,103,113,130,138,136,135,134,127,126,130,131,112,85,65,50,42,43,47,64,102,136,160,190,216,226,226,229,234,234,224,207,193,174,139,108,93,85,90,105,118,125,129,128,121,108,
+94,81,68,51,41,39,41,41,46,56,72,87,99,108,117,124,130,137,144,151,153,155,157,161,168,174,178,179,180,180,178,172,163,151,138,124,110,93,78,67,60,52,50,59,75,99,140,180,
+215,236,238,234,225,216,210,208,208,212,218,222,222,218,215,214,217,230,235,234,234,234,234,233,229,228,230,235,243,243,234,215,196,195,208,225,238,238,206,160,132,95,46,16,8,9,10,11,
+82,82,84,91,100,109,118,121,112,99,78,49,24,7,1,0,0,0,0,0,0,0,0,0,4,11,19,26,36,56,82,104,121,130,131,127,127,142,176,211,234,244,226,184,146,117,100,91,
+90,93,94,99,110,120,124,120,113,108,99,92,92,95,100,112,137,174,216,241,254,235,185,145,133,132,134,134,134,133,133,134,133,131,134,142,151,162,180,202,220,222,216,209,201,195,192,191,
+188,186,185,184,184,183,183,184,181,174,157,124,103,104,111,117,126,135,144,150,154,158,161,161,159,157,154,151,155,176,192,196,198,198,202,209,214,225,242,248,246,238,218,202,189,168,136,100,
+70,45,32,21,7,0,0,0,1,9,19,27,39,57,79,99,110,117,122,120,116,114,114,115,117,121,122,119,115,113,111,111,119,131,146,165,183,192,192,182,163,143,129,123,126,140,160,178,
+189,188,182,177,174,165,153,142,136,130,127,125,121,118,118,124,140,159,173,191,207,217,221,224,224,220,215,208,204,200,198,199,191,161,128,117,117,117,114,110,107,110,128,147,177,222,244,247,
+249,252,255,255,251,229,169,119,102,98,96,89,83,82,82,82,117,117,117,115,110,101,85,60,38,22,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,28,62,98,134,162,
+189,202,207,212,213,208,199,190,190,215,242,243,218,175,117,60,27,16,17,25,37,53,76,101,126,141,134,126,125,125,127,131,134,133,138,151,187,231,242,209,171,135,118,112,108,104,103,102,
+106,129,172,208,222,231,236,229,212,204,201,201,201,201,201,201,201,201,202,202,202,201,202,201,203,208,219,231,229,228,228,228,229,230,231,232,233,234,235,239,240,242,243,246,245,240,231,227,
+227,227,226,222,219,210,179,145,120,89,53,37,30,19,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,11,23,35,46,62,78,86,88,88,88,85,75,63,52,44,43,48,57,
+75,98,127,154,176,180,156,110,60,29,15,12,14,25,50,94,144,181,195,192,182,165,145,129,117,108,98,85,75,70,67,66,65,64,66,69,69,68,69,69,66,58,50,43,40,39,39,39,
+33,16,3,1,1,2,2,1,2,2,8,17,26,66,126,143,136,129,133,159,190,223,231,203,167,127,103,105,112,114,116,116,45,45,45,40,32,23,12,2,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,9,28,68,129,186,219,228,226,218,205,197,196,197,199,204,213,223,226,229,235,242,250,252,239,200,143,74,24,4,0,5,11,25,45,61,60,56,55,57,58,63,
+69,65,57,50,53,84,139,201,229,207,189,191,194,191,189,188,196,220,233,211,186,163,127,89,58,50,49,48,48,47,47,46,46,45,45,44,43,44,43,43,44,48,65,100,118,119,119,118,
+118,116,117,116,116,116,116,118,120,122,125,125,119,97,79,73,74,74,73,66,59,47,25,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,3,10,14,15,15,15,13,10,8,9,13,21,34,53,76,107,138,164,170,141,80,22,0,0,0,0,0,0,0,12,64,133,180,190,174,144,113,85,63,45,32,20,12,9,5,5,
+5,4,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,15,10,3,3,12,31,80,156,209,232,212,145,80,46,41,42,43,
+5,3,4,4,2,1,1,2,3,3,3,3,3,3,3,2,2,2,1,1,7,32,87,143,182,218,231,208,166,124,93,71,52,43,44,44,45,50,64,90,113,121,121,127,144,175,212,244,
+252,226,182,111,41,20,14,12,12,9,7,5,4,5,5,6,8,8,8,7,7,13,44,124,211,247,254,254,246,217,203,202,198,176,123,64,37,25,14,8,6,5,5,4,4,3,2,2,
+2,1,1,1,0,0,0,0,0,0,0,1,2,4,10,16,13,6,4,4,4,4,3,2,1,0,1,0,1,1,2,2,2,2,2,2,0,0,0,0,2,2,3,3,3,3,3,3,
+4,4,4,4,5,5,4,6,6,6,6,7,7,7,8,7,8,9,9,8,8,8,9,9,9,11,14,17,24,32,46,65,90,120,150,172,165,118,46,0,0,0,0,0,0,0,0,0,
+29,103,165,186,174,144,110,79,54,34,21,12,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,
+5,2,0,0,0,1,19,53,111,193,231,193,118,79,45,16,113,86,67,60,60,59,59,59,59,59,59,59,59,59,60,62,62,64,73,98,138,190,231,239,225,191,143,99,71,59,54,53,
+53,54,54,46,38,36,37,38,41,42,42,44,49,60,92,155,225,254,255,244,199,166,150,143,132,108,83,68,57,49,45,44,45,57,76,89,103,133,175,214,229,219,201,168,121,67,48,48,
+43,30,14,6,5,6,6,7,7,7,7,6,6,5,5,4,4,4,4,3,3,3,3,2,2,2,1,0,0,0,10,31,44,41,39,41,45,49,51,48,42,39,38,39,43,52,59,60,
+60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,63,63,64,64,65,71,70,64,61,61,62,62,63,63,63,65,65,58,51,49,50,50,50,51,53,55,60,66,84,106,
+128,152,175,191,186,149,80,18,0,0,0,0,0,0,0,4,50,122,174,187,170,139,105,76,51,32,19,12,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,16,22,23,24,28,34,38,40,37,41,77,149,220,236,229,204,158,244,227,196,173,173,158,137,131,133,134,135,137,143,154,169,179,
+183,189,208,236,249,238,205,168,138,104,84,81,82,83,84,85,85,86,81,63,46,42,42,42,41,41,41,41,41,43,56,84,123,171,207,217,234,245,247,249,249,243,233,223,216,210,205,204,
+205,216,228,234,235,235,223,188,135,86,56,30,11,3,2,2,2,4,6,6,6,6,6,6,6,6,5,4,5,4,4,3,3,3,3,2,3,2,2,2,2,1,0,0,0,0,9,38,
+65,75,77,83,91,99,105,108,110,110,111,112,115,119,119,118,119,119,119,120,120,121,121,121,121,121,122,122,122,122,123,123,123,123,122,122,122,122,124,127,118,100,90,90,90,92,92,93,
+94,95,91,75,59,56,57,57,57,57,59,61,65,71,91,119,141,160,183,200,206,194,155,96,42,13,3,1,2,9,27,68,124,170,191,186,168,142,114,87,62,42,25,14,6,1,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,12,24,34,41,50,63,74,84,91,95,96,109,144,176,199,229,247,
+172,211,237,245,249,238,216,205,206,210,213,218,225,234,238,238,237,236,226,197,148,104,77,65,53,35,28,28,28,29,29,29,29,28,25,15,7,6,6,6,6,6,6,6,6,7,14,25,
+29,38,58,76,99,117,130,141,154,175,198,211,220,223,227,232,234,224,206,193,185,169,146,122,102,88,74,65,55,38,21,10,6,3,4,5,5,5,5,5,5,5,4,4,3,3,2,3,
+2,3,2,2,1,1,1,1,0,0,0,0,0,0,7,30,52,52,45,46,51,55,59,67,76,84,88,93,97,98,93,91,92,95,100,106,114,120,122,122,122,123,123,124,124,124,126,125,
+122,118,112,104,99,96,97,96,87,72,66,65,62,57,51,48,48,48,46,38,30,30,31,31,31,30,30,33,35,40,51,68,85,104,129,155,175,186,187,173,147,119,99,92,97,114,139,167,
+187,194,189,179,169,160,148,133,119,102,84,70,56,35,16,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,
+16,21,23,27,34,41,48,57,68,76,79,80,82,83,96,128,19,49,93,156,217,244,252,249,236,213,195,182,169,150,123,103,96,87,65,34,9,1,1,2,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,6,9,14,23,36,49,61,68,74,84,95,90,77,71,77,86,96,109,123,137,146,145,141,126,101,75,
+52,28,11,3,1,3,3,4,3,3,3,3,3,3,2,2,2,1,1,2,1,0,0,0,0,0,0,0,0,0,6,16,18,11,5,4,6,9,16,26,37,54,78,101,119,136,142,144,
+148,154,162,172,184,191,193,194,194,194,194,195,195,195,196,196,193,186,177,162,149,145,145,145,144,143,143,141,133,116,93,75,61,53,48,44,41,38,36,36,37,36,34,35,35,36,38,41,
+49,59,75,94,115,135,153,166,175,179,178,179,181,184,184,180,173,161,146,133,125,123,123,127,134,145,151,148,141,124,99,72,49,25,6,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,3,2,3,3,3,6,9,12,13,13,12,8,4,7,0,0,0,14,57,106,161,213,233,216,167,94,38,12,4,2,
+0,0,0,0,1,2,3,1,0,0,1,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,1,1,0,0,0,3,16,27,34,
+40,45,51,59,68,78,89,104,121,139,153,154,150,151,149,140,128,105,70,37,15,4,1,1,1,1,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,2,6,14,21,
+25,27,29,33,46,68,93,114,132,157,188,208,221,231,235,235,236,239,241,243,245,246,246,246,246,245,245,246,246,246,246,246,246,245,244,241,236,234,235,235,236,236,236,236,232,223,206,186,
+167,151,137,123,108,91,78,69,63,57,54,52,50,50,49,49,49,53,57,66,77,89,101,114,125,134,139,142,141,138,132,123,112,101,91,85,83,84,88,99,112,130,144,149,151,154,151,140,
+127,104,69,35,13,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+3,3,4,9,14,23,43,89,149,202,231,214,161,119,123,137,133,125,124,127,127,127,126,117,101,84,72,63,60,59,59,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,
+61,61,61,61,61,60,59,59,62,70,81,98,133,170,187,193,194,197,203,208,210,210,209,210,210,209,207,195,157,114,91,89,102,123,129,118,95,68,42,16,2,0,0,0,0,0,0,0,
+0,0,0,2,3,5,8,12,20,27,32,39,51,70,91,113,128,136,140,147,165,191,213,225,232,240,247,247,243,238,235,234,233,230,227,223,217,213,212,212,214,216,217,218,219,219,219,221,
+223,229,235,242,246,246,246,246,247,246,246,247,248,251,251,249,245,240,235,227,216,200,184,169,152,136,123,114,108,104,103,101,98,97,97,98,99,102,105,107,110,110,111,108,103,100,101,101,
+99,103,109,114,113,106,97,91,84,76,70,69,72,76,79,86,102,122,127,111,83,54,28,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,62,70,83,94,99,98,98,108,132,173,220,243,243,250,255,255,254,249,247,248,247,248,246,240,226,209,187,162,145,133,125,
+121,117,115,116,117,117,118,119,119,119,119,119,119,119,119,118,117,116,116,116,116,121,132,143,167,202,225,239,247,243,237,238,235,234,229,222,214,209,204,201,200,197,200,216,225,199,161,126,
+109,121,148,171,180,174,156,124,88,61,46,35,26,23,22,24,27,29,31,36,49,67,79,94,117,135,145,155,171,192,210,224,232,234,235,238,242,246,247,243,238,231,218,199,180,167,163,165,
+168,164,161,161,159,158,158,158,162,166,169,170,172,173,174,177,181,188,194,203,210,212,213,213,214,214,215,216,222,231,239,245,249,251,254,254,254,253,249,245,235,223,207,190,175,164,157,152,
+149,146,144,142,140,138,137,135,134,131,130,127,126,126,135,141,136,136,130,109,85,66,48,33,21,12,7,4,4,5,6,10,21,46,79,109,123,122,103,68,32,8,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,19,28,38,48,121,120,121,118,112,106,104,103,98,90,88,105,131,147,164,179,
+192,196,164,146,147,146,149,160,180,203,222,235,236,227,210,194,178,146,111,90,83,80,74,67,64,64,64,64,64,64,66,68,76,87,95,105,128,171,209,227,238,232,207,183,153,126,120,120,
+106,94,79,61,51,51,56,61,69,81,104,146,201,234,243,239,228,220,222,229,235,240,243,241,230,212,190,163,137,122,119,121,126,131,130,135,158,186,201,212,226,234,238,240,244,247,247,245,
+241,238,236,233,226,211,190,171,162,156,145,135,130,129,131,133,133,131,129,125,118,114,114,114,113,111,110,114,117,120,123,126,129,130,128,132,137,140,142,143,144,145,146,148,153,163,174,188,
+200,209,217,226,235,243,247,250,250,249,243,231,212,190,170,148,129,114,104,98,93,90,87,85,83,81,82,87,95,97,105,106,90,75,59,34,15,7,1,0,0,0,0,0,0,0,0,0,
+0,0,9,32,58,87,114,124,106,73,41,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,18,37,57,76,94,105,112,118,
+70,67,61,49,37,31,34,43,48,48,45,44,44,43,40,36,36,34,16,7,8,8,9,12,20,38,63,101,145,177,201,216,223,227,210,187,176,169,148,115,100,99,99,100,99,104,110,124,
+153,182,196,207,223,227,204,178,143,86,43,25,16,13,15,14,6,4,9,21,43,75,104,124,139,162,188,210,226,235,242,247,250,251,250,249,247,247,249,254,255,255,252,246,238,231,227,228,
+229,230,229,231,239,246,247,247,244,238,234,231,225,211,192,173,156,146,143,140,132,120,109,107,117,126,127,122,113,103,93,83,71,67,62,52,42,39,45,57,67,71,75,80,85,88,89,88,
+89,90,89,92,95,100,102,103,106,113,124,132,136,145,161,180,187,192,196,204,215,225,233,240,245,248,250,249,244,235,221,198,167,131,96,68,50,38,30,26,22,19,18,19,22,24,25,23,
+15,9,4,2,2,2,2,4,8,11,12,12,12,12,12,12,12,12,9,6,6,16,41,78,111,123,115,92,65,43,23,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,2,7,16,28,43,60,84,105,114,116,111,102,92,83,5,3,1,1,9,25,47,67,78,82,82,82,81,78,72,60,45,30,17,7,1,0,0,1,11,25,38,52,70,86,102,115,
+127,152,180,198,204,208,221,229,229,228,228,229,228,229,229,229,220,202,188,174,151,99,46,23,9,0,0,0,0,0,0,3,22,57,103,141,175,205,226,236,242,247,251,252,248,245,242,238,
+231,224,217,208,197,186,186,196,213,228,235,241,246,248,248,245,241,238,236,232,223,210,200,190,171,151,138,128,115,95,78,68,69,75,83,92,103,111,116,117,111,93,72,53,37,25,17,11,
+5,5,5,8,18,38,61,84,99,108,113,119,124,128,129,127,123,119,116,114,113,116,124,139,164,191,213,222,226,231,239,245,245,244,242,241,242,242,244,246,248,249,251,252,253,253,252,249,
+242,224,191,147,104,67,41,25,16,11,8,6,4,3,2,3,9,18,30,40,44,46,51,66,84,91,95,94,92,87,79,74,72,71,68,60,45,28,15,17,38,69,98,117,121,114,97,71,
+46,30,22,18,13,8,4,2,1,1,1,1,1,3,6,12,21,32,42,55,72,87,99,105,103,88,69,53,37,25,17,11,0,4,16,35,60,80,87,81,70,63,62,63,65,70,80,93,
+102,106,101,83,65,54,50,57,73,85,88,86,81,74,72,74,80,89,94,89,74,63,76,103,116,117,116,117,117,114,106,95,69,42,29,20,10,0,0,0,0,0,0,0,4,18,46,85,
+135,184,222,240,248,252,253,251,251,248,242,231,220,212,202,184,159,138,126,121,117,111,103,96,101,111,121,139,158,180,193,196,192,187,181,172,158,136,118,104,89,77,69,66,63,65,73,89,
+107,120,125,122,111,94,79,65,45,23,8,0,0,0,0,0,1,8,21,42,70,92,102,103,98,99,105,114,123,133,146,159,169,174,173,167,163,171,198,228,245,251,247,242,240,239,231,220,
+219,221,221,218,213,208,204,203,207,216,226,233,236,239,243,248,251,253,250,236,206,164,117,75,47,27,14,8,6,12,27,46,63,78,87,90,90,92,103,125,141,147,147,148,149,146,131,110,
+93,82,80,85,88,85,68,46,28,21,28,50,74,97,114,119,113,101,93,90,82,67,53,45,41,39,36,35,36,41,50,63,78,90,97,99,93,82,70,59,41,21,7,0,0,0,0,0,
+52,63,76,85,85,72,55,39,31,30,37,45,51,56,68,89,112,133,141,128,114,107,100,90,79,61,45,33,23,17,15,17,28,46,69,84,83,67,45,28,14,6,3,2,1,0,0,0,
+0,0,1,1,1,0,0,0,0,5,18,44,81,124,164,201,230,246,250,246,236,218,195,179,172,161,142,123,114,120,126,119,100,75,53,44,47,64,83,94,91,79,67,64,72,88,104,114,
+116,114,112,117,117,108,100,95,93,91,90,91,97,109,123,133,139,143,144,133,113,89,69,52,42,36,30,26,24,24,27,35,50,64,80,94,97,87,74,67,69,79,95,111,123,135,149,166,
+182,199,210,213,218,232,247,245,229,211,195,187,184,183,179,175,179,186,194,200,200,195,188,180,175,174,175,177,178,180,188,199,215,233,246,250,248,238,215,181,144,104,67,48,50,67,84,92,
+89,80,66,53,48,48,56,68,75,77,77,78,86,101,110,106,90,68,50,41,47,63,80,88,81,63,47,45,52,64,82,97,105,108,111,120,123,113,106,104,104,102,98,95,97,99,102,107,
+113,118,122,115,101,83,72,66,61,57,52,44,34,28,31,38,156,149,135,120,104,95,96,101,102,99,96,91,87,85,86,86,85,82,74,60,54,54,50,36,19,7,1,0,0,0,0,0,
+0,2,14,36,60,81,89,84,71,57,48,41,39,39,39,40,46,53,56,57,55,52,50,53,64,90,128,168,202,225,237,246,248,239,215,176,136,97,64,46,38,31,22,13,12,23,42,65,
+84,92,85,65,41,27,30,47,66,80,83,84,91,99,105,108,104,94,81,74,73,73,75,78,80,81,85,99,132,175,200,204,205,207,210,211,211,207,193,167,148,129,112,109,108,102,99,103,
+106,105,100,91,81,75,78,90,105,120,134,144,153,161,169,179,195,218,237,245,248,245,223,196,181,175,173,173,174,174,177,178,179,181,185,192,200,205,207,205,200,194,187,181,176,170,167,165,
+171,188,208,223,236,246,248,244,235,217,189,161,136,116,95,74,54,37,22,13,10,10,12,14,15,15,15,15,18,31,51,73,91,97,91,72,50,40,48,68,88,101,103,106,113,123,134,147,
+158,166,170,173,173,168,167,174,183,186,183,181,182,181,179,178,179,181,186,188,189,189,188,188,190,190,189,178,154,145,152,157,238,231,222,218,215,214,215,212,202,187,161,124,89,65,47,31,
+21,13,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,22,42,63,77,85,87,88,88,87,87,86,87,86,90,95,104,121,143,164,183,209,232,243,248,248,244,233,
+204,159,105,59,30,13,4,0,0,0,0,0,0,10,26,46,69,94,116,124,113,85,51,32,40,67,103,140,172,195,201,204,209,208,203,192,185,183,184,185,186,190,197,212,232,236,224,219,
+219,219,220,221,223,227,237,245,243,233,221,219,219,205,178,152,132,123,117,114,115,120,125,131,136,139,144,149,159,176,200,218,235,250,255,248,230,201,183,179,180,182,183,185,185,186,187,188,
+189,189,188,189,191,195,200,204,206,207,205,203,198,193,186,178,169,163,161,168,182,207,231,244,250,252,250,239,211,177,153,134,120,105,88,78,74,73,73,73,72,72,73,72,74,80,91,105,
+122,139,156,163,157,146,139,139,144,150,156,171,196,216,228,238,245,249,249,246,242,239,236,237,238,240,245,247,248,248,248,248,248,248,249,249,250,251,251,251,252,252,252,251,244,241,244,243,
+235,241,245,245,244,244,246,246,245,241,229,204,167,125,80,44,26,18,12,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,16,27,36,41,43,46,52,59,
+66,80,104,127,154,186,213,230,240,247,252,251,241,219,186,146,94,45,16,3,0,0,0,0,0,1,10,28,49,68,80,86,88,91,102,127,151,157,152,158,180,202,220,229,219,203,198,198,
+202,207,218,226,229,226,222,221,221,222,223,217,181,132,102,95,97,97,97,98,102,110,129,153,172,202,219,218,222,236,243,227,212,210,209,209,207,207,207,207,207,207,209,214,223,235,247,253,
+254,247,232,209,190,184,187,188,190,190,191,192,192,192,192,193,193,194,194,193,192,193,192,192,193,194,193,191,186,179,169,160,149,142,138,138,159,199,230,244,249,253,254,254,251,245,242,235,
+227,219,206,198,195,195,195,195,195,195,196,200,204,209,213,215,215,217,222,228,236,239,240,240,238,234,232,239,246,248,245,242,239,240,243,241,233,223,212,196,180,181,192,194,192,190,190,191,
+191,191,192,192,193,196,198,199,199,199,200,211,228,236,233,230,107,128,152,171,178,179,182,192,209,226,239,246,241,226,197,160,137,121,101,78,57,38,27,20,13,9,6,5,5,5,5,6,
+6,6,5,5,5,5,4,4,3,4,5,11,26,53,85,115,144,174,201,218,230,240,243,243,241,233,215,188,164,145,122,93,61,36,23,15,13,14,18,24,32,46,67,84,88,80,64,50,
+47,66,105,163,209,225,237,245,241,222,191,153,116,86,77,76,80,91,111,137,148,136,114,100,92,82,71,57,31,15,12,11,11,12,12,12,14,19,24,28,33,48,59,60,64,93,147,190,
+200,201,201,202,203,205,207,210,217,228,243,251,253,253,250,241,221,201,190,187,188,191,192,193,193,193,194,195,194,195,195,195,195,195,195,194,194,194,192,191,189,185,182,177,170,165,167,176,
+189,208,219,223,232,231,215,207,207,211,220,234,245,251,252,249,246,247,247,246,245,247,247,248,248,249,251,252,253,253,251,250,249,248,248,248,250,249,249,248,250,249,245,240,233,223,212,200,
+193,190,184,176,170,153,126,99,83,73,62,54,48,46,45,47,46,46,47,47,48,52,56,57,57,58,58,68,89,105,104,98,49,59,75,92,109,117,117,121,135,155,184,216,236,246,247,240,
+235,228,216,200,179,153,134,117,99,85,75,71,70,70,70,70,70,70,70,70,70,70,70,70,70,71,75,91,128,171,205,228,242,247,251,250,247,239,220,193,164,134,96,59,41,48,65,79,
+88,95,99,97,92,85,81,84,87,89,81,61,39,27,33,56,103,171,218,228,203,179,158,125,106,97,87,82,81,83,83,84,83,82,80,76,64,45,24,11,4,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,8,22,45,70,82,89,97,104,112,123,136,156,193,225,244,242,235,226,214,199,185,183,186,189,192,193,194,195,195,195,195,195,195,195,195,195,
+194,195,195,193,193,193,191,190,187,183,180,182,190,208,229,242,243,232,214,201,174,125,87,71,66,68,81,108,141,168,181,188,199,214,226,228,228,226,224,224,225,224,222,217,212,209,207,206,
+207,206,206,205,198,187,172,166,173,179,180,177,172,166,156,145,134,122,104,86,70,50,28,14,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,16,29,39,44,
+129,133,136,137,138,141,143,143,143,146,155,176,200,223,239,244,245,246,248,248,245,239,233,225,216,206,198,194,193,193,193,193,194,194,193,193,193,194,193,193,193,194,197,210,229,243,248,247,
+246,241,233,237,243,243,231,204,154,84,33,9,0,0,3,17,39,68,101,128,143,134,111,96,89,74,58,58,82,126,175,208,228,213,160,98,45,24,12,1,1,9,19,30,44,64,84,101,
+104,98,91,81,73,64,51,38,31,21,12,8,1,0,0,0,0,0,0,2,8,15,29,51,69,78,87,99,112,124,131,134,137,144,158,174,191,210,224,236,250,246,230,213,208,207,206,204,
+203,204,201,199,197,195,194,193,194,194,194,194,194,193,192,192,192,192,190,190,189,187,185,183,182,189,207,228,242,247,233,205,174,140,111,93,72,52,38,29,22,18,16,22,32,42,51,62,
+84,115,147,170,182,177,162,152,147,138,126,115,105,96,90,88,87,87,85,82,75,64,50,42,42,48,55,63,74,88,96,97,92,83,71,59,48,38,22,7,3,4,8,6,2,0,0,0,
+0,0,1,3,8,11,19,28,36,42,55,71,89,107,120,126,126,121,115,112,111,111,111,111,115,122,128,134,144,163,187,205,213,218,226,233,240,242,241,242,245,246,246,247,248,248,247,247,
+248,248,248,248,248,248,247,248,248,248,248,248,246,234,209,178,157,134,107,107,124,141,172,209,232,210,167,130,87,48,33,30,19,12,25,52,83,105,114,120,121,123,153,199,232,241,226,190,
+141,80,30,6,0,1,2,6,11,18,30,55,88,124,165,200,209,208,208,208,210,210,207,202,195,172,147,127,92,66,61,61,63,67,78,94,123,150,179,210,228,234,237,240,240,238,232,228,
+225,225,234,241,243,235,227,225,209,189,186,190,198,206,214,220,224,225,223,221,216,209,202,196,193,190,190,189,190,188,187,187,186,185,184,181,181,182,188,196,210,233,248,243,221,191,158,131,
+112,97,83,70,58,47,38,30,24,19,15,12,10,10,9,9,13,23,42,67,96,113,116,116,115,105,96,91,85,77,64,53,42,33,26,20,16,13,11,11,14,21,33,50,69,84,92,93,
+92,91,94,99,106,112,104,85,73,76,82,77,56,40,37,37,41,46,55,66,78,89,102,115,125,130,138,145,147,144,136,130,38,33,28,25,25,25,25,25,28,35,47,61,77,95,116,143,
+162,174,183,193,204,210,209,207,207,205,205,204,204,205,204,205,205,205,205,205,205,206,206,205,205,206,206,199,179,140,94,56,35,21,9,2,3,7,21,54,118,183,212,231,229,207,196,194,
+166,119,93,101,120,151,189,211,217,227,240,228,188,149,120,100,84,73,67,62,58,58,59,63,69,81,115,173,215,233,238,226,216,219,223,226,230,233,236,237,243,251,252,248,235,220,216,216,
+216,220,225,234,246,250,247,238,239,241,239,237,235,238,245,249,252,253,252,244,231,193,148,124,113,115,133,153,171,186,199,212,221,225,228,228,229,227,222,214,206,196,188,183,181,179,178,177,
+176,174,175,182,199,217,232,242,247,239,212,178,151,134,121,111,99,88,75,63,52,41,33,26,21,16,13,10,8,8,7,7,7,6,7,10,21,41,60,74,79,73,69,70,77,85,90,91,
+89,82,75,68,63,62,62,65,72,80,87,91,87,75,61,57,66,86,108,127,143,155,158,155,152,152,154,152,141,127,124,123,126,130,135,141,143,144,143,138,132,126,117,102,86,68,51,43,
+0,0,0,0,0,0,0,0,4,20,47,73,87,92,95,99,104,110,119,128,140,153,162,170,172,165,149,128,108,94,84,82,82,82,82,81,81,82,82,81,81,82,81,73,55,30,13,4,
+3,2,4,7,9,9,8,7,16,39,66,107,148,181,207,213,220,232,227,226,226,224,214,196,190,176,132,72,33,23,32,44,58,70,77,83,84,84,85,94,117,156,214,239,216,190,161,135,
+132,140,146,149,153,156,159,159,160,175,192,206,223,229,229,228,228,226,219,208,185,158,135,111,105,106,99,88,79,85,104,123,145,178,197,201,215,231,220,195,175,152,151,164,175,182,188,195,
+200,205,209,212,216,219,221,223,221,214,204,194,184,177,177,181,186,191,205,227,243,246,238,224,206,181,158,147,141,134,126,118,109,98,84,71,59,48,40,34,30,26,24,22,20,18,14,12,
+11,9,8,8,7,8,11,16,19,17,15,17,22,32,43,54,65,77,83,88,90,90,90,87,82,75,65,50,37,31,38,58,91,124,143,151,151,144,136,129,120,118,127,133,133,131,131,131,
+129,126,118,109,97,89,82,74,66,59,49,34,19,8,1,0,12,12,12,12,12,13,20,38,65,87,93,84,65,50,41,35,29,27,28,31,39,51,66,87,117,145,155,144,124,93,63,47,
+39,32,29,29,29,29,29,29,29,30,33,38,39,41,48,56,60,63,68,77,82,82,82,82,80,79,78,80,87,97,104,104,116,144,149,147,136,110,72,41,30,21,4,0,0,0,0,0,
+3,8,13,21,34,61,108,166,211,231,222,173,132,127,132,137,140,139,137,136,136,136,132,123,110,100,99,102,112,119,123,123,119,114,104,91,75,67,71,74,73,72,69,60,48,39,34,27,
+26,44,59,66,90,143,197,226,244,244,236,229,222,207,192,181,176,179,181,183,188,194,197,205,217,227,233,232,227,223,228,236,240,244,249,252,246,236,225,216,211,207,206,207,206,203,202,201,
+198,191,180,165,148,131,115,103,95,92,89,88,87,84,74,68,65,58,53,57,53,38,22,11,7,6,7,7,6,7,8,10,14,19,24,30,34,35,35,33,30,29,31,37,51,76,106,133,
+147,141,122,101,83,66,48,36,28,30,41,53,62,73,84,87,86,82,74,67,61,62,69,75,76,75,72,64,52,42,34,23,71,71,73,77,85,93,103,116,122,103,63,27,9,2,0,0,
+0,0,0,0,0,0,11,34,67,107,144,157,158,154,141,127,117,109,104,103,103,103,103,102,102,105,111,118,122,128,137,143,135,123,117,115,113,112,112,112,113,114,115,115,114,114,115,115,
+115,118,124,132,129,112,84,55,34,22,14,7,3,1,0,0,6,20,35,63,119,182,224,232,216,191,165,151,155,158,150,136,118,101,92,90,98,111,124,131,133,128,122,117,114,112,106,100,
+96,92,89,86,86,87,84,77,74,74,76,81,86,88,88,82,73,73,77,83,95,113,140,166,192,208,216,225,232,241,241,233,225,224,225,226,227,230,231,236,244,251,255,255,255,255,255,255,
+255,255,254,253,252,252,251,252,253,253,253,254,254,255,255,255,255,255,253,248,239,227,212,191,170,154,144,137,133,130,128,124,122,122,128,137,135,120,94,65,46,35,25,18,14,12,11,11,
+10,10,10,10,9,12,22,37,55,76,97,116,132,145,146,134,110,82,58,46,38,32,28,29,35,49,63,77,90,99,104,105,105,104,103,102,100,97,91,81,71,68,71,78,85,87,87,82,
+98,104,115,128,141,139,126,103,69,32,5,0,0,0,0,0,0,0,0,2,12,33,56,75,85,92,97,100,104,115,126,132,141,148,149,148,148,147,150,157,169,180,184,184,183,185,188,186,
+171,149,132,123,120,117,105,88,70,55,47,42,42,46,55,61,66,78,97,112,122,137,143,136,124,111,96,84,79,79,84,103,139,177,201,220,238,231,205,181,171,174,179,181,173,147,110,68,
+35,17,9,9,14,29,63,108,147,167,166,153,133,109,90,80,76,72,68,66,62,52,36,22,19,20,27,40,57,69,79,91,100,107,119,135,150,153,143,129,110,98,101,114,132,163,193,216,
+226,226,226,226,227,230,233,234,236,241,244,242,238,243,246,240,235,234,234,233,234,233,233,233,233,232,229,228,226,225,224,222,214,208,214,225,237,245,247,242,230,214,200,190,182,171,161,144,
+125,119,128,136,141,149,152,143,130,116,101,86,76,69,66,66,66,65,66,66,66,75,94,118,137,151,160,167,174,167,148,132,132,138,146,152,154,157,162,168,177,185,189,190,188,184,180,180,
+180,180,181,181,177,166,152,140,122,93,70,62,65,70,77,90,156,164,171,174,168,153,132,106,71,43,30,26,26,26,34,56,79,96,109,121,136,150,154,149,138,127,118,112,112,122,141,163,
+183,192,189,186,187,193,202,217,231,240,240,236,233,233,233,232,229,225,221,218,216,216,212,198,175,147,116,80,53,40,35,37,40,49,61,72,86,115,152,175,185,191,194,201,212,222,230,242,
+251,246,235,222,199,176,162,156,156,161,170,174,160,116,56,11,0,0,0,0,0,0,15,64,122,154,155,136,113,98,94,94,91,87,84,80,74,62,48,41,41,46,57,72,86,93,98,105,
+117,131,141,140,125,97,74,59,50,50,59,69,79,90,103,120,132,140,150,161,171,177,175,166,157,154,160,159,150,157,162,152,146,147,146,146,146,144,142,141,139,136,130,123,117,113,110,102,
+88,77,82,95,119,146,175,205,227,238,241,243,244,241,236,225,206,188,179,173,167,166,170,172,169,167,165,161,157,154,152,152,152,153,152,152,153,159,167,170,171,175,185,202,220,227,226,227,
+235,241,245,246,248,250,251,252,251,249,246,245,243,244,246,248,248,249,249,248,248,245,243,245,245,239,225,207,187,167,156,152,238,238,239,239,236,232,229,223,214,202,192,185,183,185,196,216,
+231,238,243,245,245,242,238,234,231,230,228,226,225,223,220,213,206,203,202,203,206,208,209,211,212,204,173,136,120,119,118,118,117,118,133,162,173,167,167,182,200,211,220,220,213,204,195,193,
+194,197,201,208,213,222,231,237,239,240,240,240,232,219,209,191,165,141,127,121,116,114,106,94,91,102,123,141,139,102,41,2,0,0,0,0,0,1,5,35,89,129,143,139,133,131,124,108,
+93,85,81,80,83,87,89,88,87,88,86,85,88,92,96,104,121,135,142,131,103,74,56,49,49,54,63,71,82,94,105,117,131,149,166,176,175,164,146,133,122,112,104,95,87,83,81,76,
+74,74,72,70,70,68,66,64,62,59,56,52,47,42,38,33,28,24,21,21,23,30,45,71,101,127,148,161,170,184,201,221,236,242,244,243,241,237,233,227,218,212,209,207,208,209,207,206,
+206,206,207,208,211,218,221,220,219,223,228,238,243,243,242,239,228,216,208,203,202,199,191,184,179,176,178,187,196,202,203,199,195,194,194,195,199,207,215,223,227,227,228,233,239,242,239,237,
+151,160,163,164,165,168,175,182,190,198,209,218,223,229,229,218,208,204,203,202,197,190,186,185,185,183,178,170,159,148,131,105,80,66,61,58,56,55,54,54,55,51,32,15,12,16,24,33,
+42,48,52,65,76,76,72,79,99,114,134,162,189,219,237,239,236,234,232,228,223,227,236,239,243,243,240,233,209,165,119,82,53,42,42,47,57,66,66,66,75,89,106,125,130,110,66,21,
+1,0,0,0,0,0,16,60,113,150,164,162,149,122,87,56,37,28,22,21,24,33,41,44,44,40,32,23,20,21,24,30,43,54,69,85,94,97,97,96,95,98,103,109,119,138,153,165,
+174,183,187,186,178,168,159,156,153,148,139,125,110,99,90,81,71,64,59,55,51,47,45,44,43,42,39,36,35,37,40,46,52,56,55,53,50,48,47,48,52,57,62,61,54,55,69,96,
+125,149,164,174,185,199,211,223,234,239,241,242,243,243,243,243,243,243,244,243,239,225,208,204,204,209,209,199,184,165,145,129,114,103,94,85,79,70,62,62,69,81,98,111,110,96,75,56,
+49,48,48,48,56,70,85,94,92,86,89,100,118,127,127,135,10,16,20,25,33,44,59,73,83,87,91,95,102,114,120,112,102,98,97,95,93,92,91,93,95,104,114,122,124,122,120,113,
+101,91,83,73,63,55,51,50,49,49,50,54,61,78,95,108,116,120,120,119,118,118,117,116,116,116,117,117,107,114,138,142,130,123,120,112,102,106,127,142,156,179,200,211,226,233,222,201,
+164,128,98,82,87,96,95,100,110,120,129,138,144,138,119,89,58,36,27,26,35,57,94,134,162,170,161,137,103,68,42,25,16,10,5,2,0,0,0,0,0,0,0,0,0,0,0,0,
+0,2,8,20,36,51,66,81,90,95,98,101,108,123,134,136,133,132,131,130,128,126,125,125,126,131,139,144,145,141,138,131,122,112,104,95,85,77,72,70,67,67,65,64,70,84,100,111,
+119,122,122,121,120,119,119,117,116,115,114,106,85,66,61,64,71,78,83,87,91,97,110,130,153,169,179,188,191,193,197,199,201,202,202,198,187,166,150,148,145,142,134,123,109,89,69,63,
+66,68,70,75,77,78,81,84,85,89,83,64,40,18,3,0,0,0,0,0,0,0,2,3,0,0,1,2,4,3,3,5,0,0,0,0,0,0,2,8,12,13,12,12,13,19,23,21,
+17,16,17,18,20,21,23,24,26,34,47,64,81,94,103,112,122,128,130,131,130,129,128,127,127,127,128,128,131,133,130,122,112,106,103,102,102,101,100,100,99,98,100,102,95,88,87,88,
+85,83,83,84,84,84,86,87,87,91,101,107,125,156,189,218,241,242,219,179,144,121,98,83,81,94,110,123,135,143,146,143,136,125,119,121,130,147,164,171,163,141,111,79,54,38,26,19,
+12,8,5,3,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,4,8,14,21,27,33,38,41,45,53,57,58,55,55,56,56,56,56,54,53,53,58,67,80,94,103,110,118,
+126,131,133,134,133,130,128,128,126,126,125,126,128,129,124,115,104,96,94,92,92,92,92,91,90,91,96,98,93,89,87,88,87,87,86,88,89,90,91,94,96,98,102,105,107,108,110,111,
+106,103,103,102,101,93,83,79,78,79,81,83,88,90,94,104,110,111,117,128,140,146,144,123,98,78,48,18,3,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,5,7,10,11,13,14,16,18,20,24,30,35,40,49,60,69,77,87,96,103,108,109,110,110,111,110,106,93,76,63,
+54,49,46,45,44,43,42,40,38,36,37,37,39,41,42,40,39,38,36,38,43,46,46,41,34,29,27,26,27,29,39,61,102,149,200,230,228,215,196,153,90,58,52,58,72,88,104,117,
+124,128,131,134,138,143,148,149,143,126,104,81,53,28,14,9,6,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,15,14,10,12,17,19,22,24,
+25,26,27,27,27,26,25,25,24,23,24,26,28,32,34,42,51,59,66,76,85,92,96,97,97,97,96,95,90,73,54,38,27,22,19,18,18,18,17,17,16,17,20,24,26,30,32,33,
+33,32,33,36,42,47,47,43,36,33,33,33,33,33,34,32,27,23,21,21,22,18,15,14,15,18,21,24,31,40,52,63,66,63,66,75,86,99,107,110,100,78,58,41,26,12,1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,7,10,13,14,14,14,14,14,13,10,6,5,4,5,6,8,10,13,15,17,21,24,27,29,31,31,32,34,35,
+36,38,40,43,47,51,53,54,56,57,57,58,56,52,48,47,47,46,46,45,44,42,41,38,35,34,31,28,26,24,22,20,17,15,13,11,10,10,8,7,4,3,2,1,0,0,0,0,
+0,10,44,93,135,167,198,226,218,182,144,103,74,68,62,59,62,66,70,73,74,75,77,82,93,104,113,117,109,79,46,23,11,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,13,22,33,51,68,84,95,95,75,61,51,46,45,46,47,46,46,46,45,45,45,40,32,23,16,12,9,8,8,8,9,10,11,13,17,20,20,22,21,21,21,20,17,11,5,3,
+2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,3,3,2,3,4,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,6,6,6,6,6,6,5,7,9,
+10,9,9,11,15,21,30,49,72,84,87,86,85,77,54,27,9,3,1,0,0,0,0,0,0,0,0,0,0,1,1,1,77,81,87,96,105,110,111,111,111,111,111,108,99,85,77,71,
+61,50,40,32,28,30,32,33,34,35,35,37,41,46,49,50,52,53,53,53,55,56,57,57,59,60,61,64,66,67,68,69,69,69,69,68,64,61,58,55,51,48,45,42,38,35,33,30,
+27,23,22,25,32,46,58,63,64,63,61,60,58,55,58,62,61,58,57,59,66,77,96,138,189,222,237,232,215,202,175,137,96,66,56,46,38,31,25,20,19,22,30,48,77,97,98,88,
+77,65,57,48,41,37,37,39,43,50,56,65,76,83,84,87,104,123,138,148,156,164,180,196,205,215,220,217,212,207,203,200,197,194,190,187,186,185,186,180,162,139,112,80,55,44,32,17,
+7,2,0,0,1,1,0,0,0,0,1,1,1,2,2,2,2,2,1,1,0,0,1,1,1,2,2,2,3,2,2,2,2,2,3,8,19,36,51,58,60,61,61,61,60,58,61,65,
+65,66,66,66,67,66,66,66,66,67,66,62,56,49,42,31,19,10,5,4,5,5,5,6,11,18,30,49,73,94,103,99,83,70,62,53,45,40,40,40,40,40,44,52,62,67,69,69,
+72,68,65,59,54,52,51,50,48,46,49,56,70,97,137,163,163,158,153,151,155,161,157,142,124,107,97,102,112,118,120,121,123,123,123,124,127,128,132,136,139,141,146,149,150,152,153,153,
+154,154,153,151,147,139,128,117,106,93,84,80,74,67,58,53,52,60,70,83,96,105,103,99,96,95,94,93,94,103,120,126,124,122,122,122,120,119,117,118,127,144,167,197,219,229,241,244,
+230,206,188,164,143,119,90,65,47,35,29,29,38,54,67,77,87,96,100,103,103,108,126,147,172,193,200,205,209,210,209,211,223,231,235,234,233,232,228,222,215,209,205,207,209,212,215,218,
+222,223,224,223,220,215,212,211,218,225,227,221,207,198,179,147,111,70,43,24,9,6,9,16,22,27,35,40,41,42,41,42,43,43,42,39,32,19,9,4,1,1,2,2,3,4,6,11,
+18,30,46,63,80,90,92,89,88,88,89,89,91,102,120,126,125,124,124,124,125,125,124,125,125,124,124,124,122,120,117,106,88,64,38,17,6,4,5,6,6,5,2,3,12,29,43,56,
+72,81,86,89,89,88,88,88,88,88,88,86,81,78,76,76,52,53,52,49,45,44,43,42,47,67,87,108,137,175,214,231,233,235,237,239,235,237,242,242,238,233,229,230,231,229,229,230,
+231,231,230,230,232,234,236,238,239,239,241,242,242,241,242,243,243,243,242,242,241,238,234,227,217,205,197,193,190,181,165,148,140,144,153,154,140,112,85,66,56,51,46,45,45,58,77,80,
+76,74,74,73,73,72,71,70,68,67,69,80,95,108,132,168,206,225,231,233,232,230,224,213,198,188,183,182,181,181,182,184,187,190,194,197,200,208,226,235,231,221,214,210,205,206,209,208,
+196,176,163,156,150,143,124,102,85,69,57,51,47,50,54,61,71,81,92,103,113,117,117,118,124,132,147,171,187,199,214,230,234,222,204,177,146,124,111,98,87,83,82,84,85,86,87,90,
+92,90,88,88,87,78,65,55,49,47,48,49,52,58,64,76,92,112,131,136,121,92,63,45,38,34,33,33,36,51,71,76,72,71,72,71,70,69,69,69,69,69,70,74,81,88,97,109,
+119,121,108,79,47,23,10,4,3,4,5,4,3,3,4,8,14,22,29,36,43,45,44,44,44,45,44,39,34,38,45,51,107,108,109,112,119,126,139,162,193,221,230,229,223,205,170,151,
+152,156,161,163,157,166,190,214,229,238,244,249,252,251,252,251,251,249,248,247,246,246,245,244,243,243,243,243,242,243,244,243,243,243,243,243,245,247,250,253,254,254,254,254,254,253,248,238,
+224,211,195,172,148,124,106,90,75,58,43,32,23,22,23,23,21,20,19,17,18,16,15,14,14,12,12,11,13,15,21,38,67,99,129,153,161,165,174,184,194,199,200,199,198,198,199,198,
+198,197,197,195,197,193,166,132,103,85,85,92,103,116,126,130,125,119,115,114,113,112,110,107,101,92,78,61,47,41,39,40,42,46,52,61,73,88,106,131,145,144,139,134,130,134,147,165,
+187,207,218,232,241,243,235,216,183,139,97,76,60,48,42,42,45,45,45,51,67,92,116,131,131,122,115,114,118,120,115,112,112,116,122,123,112,95,78,63,48,33,19,9,3,3,6,7,
+7,7,9,11,18,27,33,36,36,36,36,38,41,45,51,62,85,111,128,137,130,111,88,67,45,22,8,3,2,0,1,1,0,1,1,1,2,3,5,10,17,26,38,52,67,85,97,104,
+109,116,130,163,198,214,228,241,234,212,189,171,153,134,121,121,123,127,131,135,140,146,156,166,173,175,175,183,196,207,211,210,204,196,186,181,178,175,172,172,173,174,177,179,180,183,185,186,
+188,191,195,200,205,211,217,223,225,225,226,225,226,231,240,247,249,246,236,213,186,159,136,124,120,114,103,87,69,52,38,28,24,23,21,19,18,16,16,14,13,12,12,11,9,7,4,3,
+4,13,35,65,94,114,122,123,120,109,93,80,68,59,54,52,52,52,55,62,72,78,73,73,81,93,104,112,115,111,102,95,89,85,84,84,84,84,85,89,98,107,115,117,116,114,112,113,
+113,113,113,114,115,119,126,136,140,134,125,116,111,106,103,101,103,101,91,95,112,136,162,197,224,227,211,193,166,126,80,40,19,14,22,39,60,87,113,129,125,108,95,91,92,87,75,61,
+48,38,36,41,52,65,77,85,88,84,74,60,46,37,38,46,61,81,93,103,134,164,178,182,182,182,181,181,181,181,180,181,194,201,199,209,219,222,222,215,196,154,111,74,46,26,16,13,
+13,14,17,25,35,44,54,68,80,93,104,112,115,111,105,103,186,202,218,237,243,236,215,168,111,67,54,63,76,87,93,97,101,105,110,114,120,124,125,122,117,114,112,112,118,126,133,136,
+134,128,122,121,121,123,125,128,131,136,141,145,151,155,161,168,176,184,191,195,195,194,193,194,195,193,190,187,186,188,197,207,217,229,243,249,244,227,192,151,128,123,126,130,129,121,105,84,
+66,54,48,45,43,42,40,40,45,51,56,57,56,53,47,38,28,17,11,15,27,47,70,91,108,118,118,113,105,94,85,81,81,82,87,96,106,112,118,119,115,106,93,79,65,48,35,29,
+27,30,34,37,38,38,38,41,47,57,71,86,99,104,103,98,93,90,88,87,85,84,81,71,59,47,38,34,33,31,27,25,24,18,9,2,0,3,14,37,77,128,169,189,211,227,222,197,
+167,145,127,121,118,113,106,102,100,91,87,90,97,97,94,86,74,60,46,34,23,19,24,37,57,82,110,132,152,171,187,199,212,223,229,231,231,219,209,207,209,213,214,215,215,215,213,211,
+217,215,203,199,200,205,210,220,238,249,243,222,192,157,127,107,99,101,105,114,124,129,133,133,132,135,133,128,122,125,138,155,252,250,247,243,238,235,226,202,171,135,95,67,50,36,30,29,
+34,43,52,61,70,80,91,101,111,119,122,125,128,130,133,134,137,136,134,131,132,135,137,142,146,152,157,166,175,182,191,198,204,206,206,202,200,201,202,201,197,191,186,184,180,177,175,176,
+180,189,206,223,237,247,248,231,205,181,165,156,157,163,167,160,143,124,112,108,105,103,102,102,106,109,108,107,105,104,102,97,90,78,62,45,32,29,31,36,45,63,82,95,106,115,119,120,
+119,118,115,108,97,84,73,60,47,42,45,56,73,89,98,105,116,130,145,151,152,152,152,152,152,153,154,156,159,160,155,142,123,104,92,75,54,39,35,36,39,42,42,42,41,41,41,41,
+40,35,26,16,12,11,11,10,11,19,36,56,87,128,174,213,233,240,236,225,217,212,203,189,173,159,155,168,185,189,189,186,182,176,166,145,118,99,96,106,126,151,183,212,234,243,240,229,
+211,189,174,167,150,122,109,108,112,116,116,116,117,117,116,115,116,109,91,77,67,65,66,71,99,141,180,215,236,244,239,227,218,217,218,220,219,217,214,208,208,216,222,226,229,237,247,251,
+141,125,117,114,113,121,149,181,207,224,227,215,193,160,133,102,80,77,78,81,91,107,122,136,145,150,154,157,159,162,163,165,167,169,169,167,167,170,172,176,180,184,190,196,202,207,211,213,
+213,213,212,212,214,213,208,200,190,184,180,176,172,167,164,161,160,163,170,180,193,214,237,250,253,248,237,218,198,182,173,168,158,140,125,121,119,118,116,113,105,93,85,80,76,74,77,82,
+90,97,101,99,92,88,83,64,46,39,39,44,51,57,62,63,61,57,47,36,32,36,44,54,75,112,152,185,208,224,230,234,237,241,244,244,243,243,243,243,243,242,242,242,242,242,242,240,
+233,225,218,205,178,152,137,127,116,107,103,102,102,102,103,103,103,103,99,93,90,89,89,89,90,89,91,98,105,116,138,168,196,221,239,248,253,255,255,252,248,243,241,245,249,250,250,249,
+249,248,246,240,232,230,229,229,227,223,215,200,175,152,138,130,118,98,81,76,75,75,74,73,66,56,49,46,46,47,52,61,70,80,87,87,82,79,74,56,38,36,46,68,102,147,191,224,
+242,251,255,252,249,248,248,248,248,250,250,244,223,206,186,165,8,7,10,12,13,16,36,66,94,126,162,190,217,235,242,239,226,212,188,159,147,145,137,130,127,127,131,134,137,140,142,144,
+147,152,160,167,170,173,178,183,189,195,199,200,204,210,215,217,219,220,220,218,214,209,203,197,193,191,188,184,180,176,172,168,164,161,159,157,159,168,184,205,223,237,247,250,244,231,214,197,
+179,151,129,115,106,97,91,84,76,69,63,59,55,51,46,45,47,53,64,75,84,90,92,81,68,63,62,60,59,59,61,66,71,70,64,78,108,143,172,191,212,233,244,243,235,223,214,210,
+203,193,182,179,178,179,184,190,195,196,196,198,200,201,205,215,227,236,242,249,252,249,242,228,209,188,178,177,177,177,177,177,177,180,185,187,189,189,189,191,193,193,192,193,195,203,218,232,
+242,246,248,246,241,232,228,228,230,232,232,228,219,216,217,219,220,221,221,205,176,156,142,123,107,90,72,55,46,45,46,49,48,41,35,32,31,27,23,19,12,9,6,6,6,6,8,11,
+17,28,42,58,71,78,80,69,54,51,56,75,109,157,202,230,241,227,189,148,126,123,124,125,124,126,125,101,61,40,26,14,30,37,43,46,46,50,66,82,85,83,87,94,105,123,145,177,
+202,222,239,236,225,211,176,138,116,107,104,107,111,115,118,121,124,127,132,137,142,146,155,170,182,188,193,197,201,206,210,214,216,216,214,212,209,208,206,205,203,200,198,195,192,189,186,183,
+179,175,171,166,162,162,167,174,181,192,209,226,240,248,251,250,244,229,212,193,169,146,129,116,102,90,82,77,71,66,60,54,48,44,41,40,42,43,46,48,52,64,76,85,97,116,136,157,
+176,187,197,214,232,243,245,243,236,217,182,144,113,90,83,85,90,86,80,78,79,82,95,110,112,109,108,107,104,101,103,109,115,121,128,149,180,203,219,232,241,243,243,243,243,243,243,243,
+243,243,244,244,245,245,245,247,249,249,249,248,248,248,244,234,217,196,175,155,130,106,99,99,101,101,97,83,68,62,62,65,64,66,64,48,22,18,32,41,43,42,41,42,46,49,50,51,
+51,50,50,49,46,41,33,21,8,3,3,4,5,5,5,5,4,4,5,8,11,17,29,46,65,103,158,206,232,235,213,180,148,93,35,10,3,3,3,3,2,2,0,0,0,0,1,12,
+52,41,33,30,31,34,41,43,36,31,29,28,25,24,30,43,58,82,130,175,199,222,237,228,210,187,157,138,125,115,113,116,119,121,124,127,131,135,145,161,171,176,182,188,194,197,202,206,
+209,211,212,213,213,213,212,210,209,207,205,203,201,198,195,193,191,188,185,181,177,178,182,182,178,176,178,183,193,206,219,229,242,250,252,249,240,225,213,205,190,167,142,124,112,103,97,92,
+87,81,77,74,74,77,91,113,133,153,171,184,198,217,231,240,245,246,243,234,218,191,161,139,117,84,47,24,20,33,46,53,52,46,39,36,35,36,43,45,38,33,31,29,24,21,20,20,
+18,15,16,25,43,65,88,115,145,168,174,174,173,173,173,173,173,173,172,172,173,172,175,182,184,183,182,179,171,160,137,106,76,53,37,26,17,11,9,8,9,8,6,3,0,0,0,0,
+0,0,0,0,0,8,33,44,43,44,44,43,39,35,34,35,35,36,36,37,42,47,53,54,42,22,8,4,4,5,5,5,4,2,1,7,33,80,135,178,205,225,230,200,150,101,55,27,
+19,21,27,27,28,28,28,28,28,29,26,27,33,49,61,61,132,89,60,33,12,0,0,0,0,0,0,4,9,17,26,35,44,53,66,87,109,140,179,211,232,243,241,231,213,179,152,138,
+132,130,132,135,138,142,146,152,155,161,169,178,186,193,200,205,209,212,215,218,220,220,220,219,218,217,215,214,211,208,204,202,199,196,193,192,190,188,187,184,180,178,175,172,169,170,174,180,
+193,210,224,236,246,251,252,251,250,244,232,218,203,196,192,190,187,184,184,186,188,195,212,228,238,244,246,245,243,238,226,207,188,167,145,121,91,62,38,25,18,13,15,26,45,55,45,31,
+17,12,7,7,7,7,7,5,4,3,4,6,9,14,19,25,29,29,32,38,45,54,62,68,76,81,79,73,68,65,63,62,63,64,63,63,63,61,60,57,49,43,42,39,35,29,19,10,
+4,2,2,2,2,3,2,3,3,2,2,3,2,3,2,2,2,2,2,2,2,3,8,9,7,7,7,6,5,4,3,3,3,4,4,4,6,11,20,36,52,54,42,24,8,2,1,1,
+9,24,52,112,183,223,228,209,180,149,98,45,13,1,13,61,115,160,182,184,183,183,183,183,183,183,183,187,193,199,194,175,231,225,215,188,146,92,49,29,23,22,28,43,60,78,94,107,
+117,123,128,137,147,156,164,172,184,200,216,229,243,246,236,222,207,194,187,184,184,186,186,182,178,179,186,194,201,207,211,215,221,228,236,241,244,244,244,244,244,244,243,243,241,237,232,225,
+218,213,207,202,199,196,194,192,190,188,186,183,181,179,178,176,177,179,184,193,207,220,226,229,235,244,250,252,252,250,249,249,248,248,248,248,248,247,244,236,225,213,199,186,172,150,124,99,
+80,63,48,37,28,24,24,26,33,43,52,58,52,31,12,5,4,5,5,6,5,5,6,8,14,23,34,47,63,78,90,102,108,109,112,117,123,128,129,128,126,122,116,111,106,102,100,100,
+102,103,105,106,107,106,100,80,57,44,40,39,40,39,33,26,20,15,9,6,6,7,5,4,2,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,
+1,1,1,1,1,1,1,3,14,33,47,50,38,27,44,79,126,172,206,232,218,170,116,78,54,39,27,23,35,72,145,214,233,218,204,200,201,202,204,206,209,212,214,215,210,204,203,214,
+101,131,165,201,226,228,208,190,177,151,139,143,152,160,166,170,172,174,178,184,195,202,202,202,202,203,206,211,222,236,247,253,254,252,248,246,244,244,243,242,240,239,240,242,244,245,245,246,
+250,252,252,251,250,250,250,250,249,249,249,248,249,251,252,251,249,246,241,231,221,214,208,204,200,199,197,195,194,192,191,190,188,187,186,185,186,188,189,190,193,201,210,220,226,228,228,227,
+227,225,223,220,217,211,199,181,168,157,148,141,132,115,97,88,83,77,69,62,59,61,63,64,63,57,46,33,19,8,7,6,6,6,7,10,17,25,36,52,74,97,115,130,143,150,153,155,
+155,153,150,148,145,142,139,135,133,133,132,133,133,135,138,140,144,147,150,152,155,156,156,152,141,131,129,129,130,126,118,109,102,97,89,83,81,81,79,73,66,65,64,64,62,62,64,64,
+63,59,49,32,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,13,28,51,81,115,155,200,230,239,231,211,174,126,94,81,79,81,90,109,140,186,226,239,203,
+143,97,77,72,73,76,81,84,84,80,71,61,50,41,42,60,6,21,46,85,138,191,223,236,245,249,244,237,232,231,231,231,233,234,237,241,245,246,245,245,245,246,246,246,246,247,249,250,
+252,254,254,252,247,243,242,243,244,246,247,248,250,250,252,251,250,247,244,242,241,241,241,240,240,239,239,238,239,241,243,246,248,251,252,253,251,247,242,236,231,225,221,218,216,212,207,203,
+200,200,199,199,196,195,193,191,188,186,184,187,193,201,206,206,203,195,185,174,164,154,142,135,130,128,126,127,128,119,106,99,95,92,89,84,78,70,60,50,37,25,16,10,8,7,8,8,
+14,24,38,57,81,102,119,135,150,159,162,162,162,159,155,150,145,139,134,127,117,108,100,96,95,98,102,106,111,115,120,124,127,130,133,136,142,149,154,156,156,155,155,156,159,167,177,191,
+206,220,226,224,223,223,223,221,217,217,217,217,216,217,217,217,216,215,207,187,144,103,80,66,63,63,65,66,61,49,39,35,35,38,39,39,42,50,79,123,153,177,194,211,229,242,234,208,
+178,144,114,91,77,74,84,103,137,180,218,240,238,198,134,75,48,45,48,50,49,43,37,30,22,12,4,0,0,0,0,0,65,88,111,129,144,155,166,173,187,206,215,223,224,220,217,213,
+207,204,199,189,165,151,150,152,154,157,160,162,165,167,169,169,171,173,171,164,156,160,169,174,175,179,186,194,201,208,216,221,225,230,233,235,236,237,238,237,236,235,235,235,236,237,238,239,
+240,241,243,245,247,250,252,253,254,253,251,249,247,244,239,231,225,220,219,217,216,215,214,212,210,208,206,205,205,203,198,190,181,167,153,141,131,121,114,111,107,105,102,101,101,96,89,84,
+77,71,66,61,53,43,33,25,20,16,13,11,12,18,27,40,64,91,118,139,153,161,163,165,164,159,153,143,130,114,101,88,78,72,66,58,50,42,35,33,33,36,41,46,51,54,57,57,
+62,71,83,91,98,113,129,130,128,135,153,167,183,212,232,243,245,239,234,233,234,234,235,234,231,229,229,229,230,234,236,238,240,241,242,246,250,243,230,218,215,216,217,218,214,208,200,197,
+200,202,203,203,207,214,230,240,232,222,210,200,187,159,121,88,71,59,53,60,88,134,179,208,227,226,193,147,94,42,15,9,11,12,16,17,17,13,7,4,3,2,2,2,3,9,19,31,
+144,154,158,159,158,153,146,135,118,98,85,79,73,66,60,56,53,52,51,46,40,39,42,46,50,53,55,57,59,62,63,64,66,67,69,70,75,84,96,104,110,118,130,142,153,165,175,186,
+195,203,211,215,218,220,222,221,220,219,219,219,220,222,225,228,230,230,230,229,229,231,233,236,240,243,247,249,250,251,253,253,251,247,244,240,235,231,229,227,226,224,220,215,207,196,185,176,
+165,157,147,140,134,129,125,121,118,113,110,106,103,98,93,87,80,73,64,55,48,39,32,26,22,19,20,28,48,75,98,118,138,155,163,164,164,160,154,143,127,103,83,66,49,37,30,26,
+23,23,22,21,21,21,25,31,35,37,37,37,38,46,67,99,134,163,181,187,190,192,197,202,209,219,228,230,230,215,186,153,122,102,94,96,97,100,102,96,86,82,81,81,83,91,101,113,
+123,128,128,134,156,178,201,216,218,217,217,217,215,214,217,218,217,214,214,213,210,202,183,152,127,111,99,87,71,51,40,45,77,124,165,193,217,229,215,180,135,86,42,15,3,1,3,5,
+5,5,4,4,4,5,3,2,2,3,7,18,39,68,96,117,159,156,148,135,116,92,72,53,34,18,9,3,0,0,0,3,6,9,13,17,21,26,29,32,35,36,36,37,37,38,39,40,
+41,43,45,48,53,57,64,73,83,96,109,121,134,146,157,167,175,183,189,194,198,201,204,205,206,207,207,208,209,210,211,212,214,215,215,215,216,217,216,218,219,220,223,224,226,229,233,237,
+238,237,238,240,242,243,243,242,241,241,238,232,225,218,213,208,204,199,196,194,192,192,186,171,153,136,126,118,113,108,102,95,88,80,70,60,52,44,36,34,38,49,68,95,126,149,158,163,
+163,158,152,141,122,100,81,65,48,35,31,35,43,53,65,77,90,101,106,109,120,136,150,157,158,157,155,156,163,180,204,219,219,214,208,205,205,203,201,196,184,164,141,122,106,73,43,26,
+18,15,16,16,16,17,17,15,11,10,9,8,8,10,13,16,21,22,21,21,23,30,43,54,55,55,55,54,52,51,53,56,55,52,54,54,51,43,33,24,22,29,43,65,102,137,165,190,
+215,233,232,202,159,113,63,30,12,2,1,3,5,6,6,6,6,5,4,4,4,4,5,7,17,33,56,86,120,145,156,159,126,101,73,50,32,17,7,1,0,0,0,0,0,0,0,3,
+6,8,12,14,16,19,22,26,33,45,60,67,67,67,67,68,69,70,71,73,77,81,86,87,83,83,90,102,115,128,141,152,161,170,177,182,187,191,194,196,198,200,202,202,204,204,205,206,
+207,209,210,211,212,212,214,215,215,215,215,216,217,217,218,218,218,219,219,220,222,225,228,230,229,228,229,231,233,233,232,231,229,226,222,216,209,197,179,159,143,134,128,122,118,112,107,99,
+92,84,76,68,63,62,67,80,103,126,146,159,165,165,160,144,118,95,78,64,62,53,43,45,66,99,135,164,183,196,207,215,222,227,229,231,232,230,225,221,219,218,218,217,216,209,191,159,
+123,92,73,65,64,63,62,59,54,45,33,26,23,19,19,20,20,19,18,18,16,16,15,14,14,14,14,13,12,11,10,8,8,7,6,6,5,3,2,1,1,0,0,0,0,0,0,8,
+22,28,24,21,20,27,39,58,96,132,156,168,171,166,156,149,139,116,82,45,19,5,0,0,2,3,4,4,5,4,4,4,5,6,7,10,14,22,36,57,86,114,137,153,160,161,157,149,
+41,23,9,2,0,0,3,10,19,30,43,55,70,94,115,122,124,125,126,127,128,130,132,142,155,172,182,184,184,184,184,184,184,185,185,186,187,188,190,190,185,169,157,151,139,124,123,132,
+144,153,162,169,175,179,183,186,190,192,194,195,197,198,199,201,203,205,206,207,209,210,211,212,214,215,215,216,216,217,217,217,218,218,219,219,219,218,217,216,216,214,212,209,207,204,200,195,
+189,184,177,169,160,151,145,141,138,134,132,129,125,122,120,116,112,110,112,113,117,125,138,152,164,168,168,165,157,135,101,76,80,98,111,138,169,164,152,159,179,201,217,224,223,216,203,187,
+163,143,138,140,139,130,112,98,91,89,88,86,86,83,76,64,52,40,33,31,30,30,30,29,29,28,29,28,28,28,27,26,25,24,24,22,22,21,20,18,18,17,16,16,15,14,14,13,
+12,11,11,10,9,8,8,9,10,16,29,48,70,94,121,151,169,170,166,161,161,169,177,176,157,125,88,56,29,12,4,2,2,1,1,3,5,7,8,8,8,9,9,9,11,16,21,26,
+32,40,53,67,79,97,118,138,153,159,161,159,152,133,103,75,0,0,0,0,6,18,41,74,111,141,158,162,158,152,144,141,141,142,143,144,144,145,144,137,122,99,74,68,69,68,69,69,
+70,71,71,72,74,76,79,89,117,153,172,187,202,203,174,141,127,132,144,152,160,165,170,174,178,181,184,186,188,190,192,194,196,198,200,201,203,204,207,208,210,210,211,213,213,214,215,215,
+216,217,217,218,218,217,217,216,215,213,212,208,204,201,198,195,191,189,187,184,180,176,173,170,167,164,161,159,159,160,164,165,165,167,171,173,174,175,175,174,170,162,145,118,93,91,108,145,
+182,181,172,151,110,92,94,97,96,93,89,87,87,85,78,66,50,42,42,42,44,44,43,40,39,38,39,39,38,38,39,39,40,40,40,40,39,39,38,38,37,36,35,34,33,32,32,31,
+30,29,28,26,25,24,23,22,21,21,19,18,17,16,15,15,15,13,12,11,11,10,13,20,36,63,97,127,142,139,124,96,76,78,88,93,91,78,56,37,14,0,0,0,0,4,14,23,
+32,45,56,63,65,65,65,65,65,66,66,67,72,83,96,106,113,124,136,145,151,157,160,161,159,151,136,112,82,51,27,11,0,0,0,1,2,6,9,15,25,32,36,33,24,13,6,4,
+5,6,7,8,9,10,11,12,12,9,9,9,8,8,8,8,8,8,10,11,12,14,19,24,30,41,54,69,93,138,190,213,188,151,126,132,141,148,155,160,165,169,172,174,177,179,182,185,
+187,190,192,193,195,197,200,201,203,204,205,207,208,209,210,211,211,212,213,213,213,214,214,213,212,210,208,207,209,212,214,216,215,216,215,213,211,209,207,205,203,202,200,198,198,199,199,197,
+194,192,189,185,181,175,165,151,128,97,73,94,145,182,179,151,95,54,42,34,28,27,28,29,31,32,34,35,36,38,40,41,42,44,45,45,46,46,47,48,49,50,49,49,48,48,48,48,
+48,47,47,46,46,45,44,44,43,43,42,42,41,40,39,37,36,35,34,32,31,29,28,26,25,24,22,21,19,19,17,17,16,15,14,13,12,12,12,13,17,22,26,29,28,23,15,5,
+0,0,0,0,0,0,0,0,0,0,1,11,32,62,89,106,119,131,140,143,144,144,144,145,145,145,145,146,148,153,157,159,160,161,161,161,159,156,149,135,111,82,54,31,15,6,3,1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,4,5,9,13,15,14,13,11,9,9,9,8,8,10,11,12,14,16,21,25,30,35,42,49,58,80,129,
+181,213,173,125,120,127,135,143,148,153,158,161,164,167,170,173,176,179,181,183,185,188,190,192,194,196,197,199,199,201,203,203,204,205,206,207,207,207,207,206,206,207,210,215,222,227,228,227,
+225,223,221,218,216,214,212,210,209,208,206,204,203,201,196,191,185,179,167,154,139,123,102,79,54,55,132,190,155,93,51,33,27,29,32,35,37,39,40,42,43,44,45,46,47,49,49,50,
+51,52,53,53,54,55,56,57,57,57,58,58,57,57,57,57,57,56,56,55,54,55,55,55,57,57,58,60,61,62,60,59,57,55,53,48,45,42,40,38,35,32,29,28,26,24,23,22,
+20,19,19,18,17,17,15,15,13,10,8,7,6,6,5,5,6,5,5,4,3,3,2,1,3,13,34,69,111,141,154,158,160,160,160,160,159,159,159,160,160,160,160,160,160,159,155,152,
+148,144,134,120,107,93,75,53,32,15,6,2,2,3,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,3,3,3,4,4,5,7,10,10,10,9,8,7,6,
+6,6,5,6,7,9,10,13,16,20,25,31,39,46,53,59,73,127,201,201,173,150,124,122,129,136,141,145,148,151,156,159,162,166,168,170,173,176,178,180,182,184,186,187,189,191,193,193,
+195,196,197,198,198,198,198,201,205,213,222,228,229,229,226,222,217,211,204,197,193,190,187,185,184,182,179,177,172,165,154,141,132,120,104,87,72,58,45,43,85,171,186,94,36,28,31,34,
+37,39,40,42,43,45,46,47,49,51,51,53,54,56,56,58,59,60,61,61,62,63,63,65,66,67,69,70,71,74,77,78,79,79,78,78,78,79,82,86,91,94,101,107,112,113,113,113,
+111,108,102,95,87,80,74,70,64,58,53,50,46,45,44,42,42,40,39,36,35,34,34,33,30,27,23,19,16,13,9,8,7,6,6,4,4,3,4,15,38,74,113,144,157,159,157,151,
+144,135,124,117,115,115,115,115,115,115,115,115,112,104,91,80,71,63,50,37,26,19,12,7,4,2,2,3,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+1,2,1,1,2,2,3,2,3,4,5,5,5,5,4,5,6,7,8,10,14,18,22,25,26,28,28,29,31,34,40,47,53,58,91,150,183,206,191,131,108,114,121,126,130,134,138,142,
+144,148,151,155,159,160,162,165,168,169,171,173,175,178,178,180,181,182,183,184,186,190,197,208,218,225,227,227,225,218,204,191,181,171,161,153,147,142,138,135,132,129,125,123,118,110,101,92,
+83,75,64,56,62,84,112,155,198,156,64,31,35,39,39,41,42,45,45,47,49,50,52,54,56,57,59,61,62,64,65,66,67,68,70,72,73,74,77,81,85,89,93,99,105,112,120,127,
+132,133,133,136,138,142,147,156,162,168,175,184,187,188,189,188,187,185,179,170,160,152,145,139,130,120,111,105,102,101,99,98,97,96,94,90,86,84,83,81,73,61,46,33,22,15,11,10,
+9,8,6,6,9,20,44,80,119,147,158,160,156,140,108,79,63,51,38,32,30,31,31,31,31,31,31,31,29,24,18,14,10,8,6,5,3,3,4,4,5,4,4,3,3,4,4,3,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,3,3,3,2,2,3,7,12,21,30,42,54,66,77,83,84,81,75,68,59,55,57,
+63,68,71,76,86,115,184,208,163,124,106,108,115,121,123,128,134,143,154,162,166,165,163,164,166,164,160,159,159,162,162,164,166,168,172,177,185,198,211,219,222,222,220,212,198,180,164,152,
+144,137,131,125,120,115,112,109,105,102,98,95,90,85,79,73,71,73,95,133,174,193,186,160,94,44,36,41,43,44,44,46,48,50,52,54,56,58,60,62,64,65,67,69,71,73,74,76,
+79,82,86,90,95,100,107,117,127,136,146,155,164,173,184,194,201,204,207,209,212,216,222,228,233,234,237,240,241,240,239,239,239,238,236,232,227,222,219,215,207,199,192,187,185,183,183,182,
+183,186,187,187,185,183,181,181,177,166,148,124,98,76,58,48,44,42,45,54,72,102,135,160,170,169,164,148,117,75,39,21,13,8,4,3,1,1,1,1,1,2,1,2,2,2,2,3,
+3,3,4,5,4,3,5,5,5,3,3,3,3,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,2,
+6,15,27,41,59,76,93,109,122,131,137,139,137,131,123,121,125,128,132,133,131,125,130,172,213,216,179,146,141,144,148,154,165,177,187,194,195,195,195,196,198,198,196,194,194,195,196,197,
+199,203,207,213,222,229,231,226,222,212,197,175,155,142,135,129,125,120,116,111,105,100,97,94,91,87,84,84,88,92,106,137,160,180,197,182,140,89,62,48,40,42,44,45,47,48,49,51,
+54,57,59,61,64,65,68,70,72,75,77,79,82,85,88,94,100,110,119,131,140,150,161,176,190,200,209,217,223,228,234,240,241,243,244,245,246,248,251,252,253,253,253,253,253,253,252,252,
+251,251,251,252,251,250,250,248,246,245,242,241,241,240,241,241,242,244,246,246,246,245,245,246,246,246,244,239,229,214,196,178,164,156,160,170,185,199,202,202,200,193,173,147,118,91,72,63,
+57,48,37,28,21,15,12,11,11,11,11,12,13,11,9,6,5,4,5,4,5,4,4,4,4,4,2,2,2,2,3,3,23,17,14,14,11,6,4,1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,8,17,29,42,57,72,87,101,116,129,140,149,155,159,161,163,165,167,169,171,172,172,169,166,175,202,229,231,220,216,217,219,
+221,222,223,224,226,229,233,237,242,247,251,250,249,249,249,249,250,251,252,252,253,253,253,251,244,236,229,218,202,191,186,184,180,175,173,171,162,141,117,108,107,113,135,163,185,193,201,189,
+165,140,101,64,48,46,46,46,48,48,48,50,52,54,56,59,61,64,66,69,72,74,77,80,84,89,94,99,104,110,119,131,145,160,176,190,200,208,218,229,237,242,244,246,248,248,249,251,
+251,251,252,252,252,252,253,253,253,253,253,252,252,251,251,251,251,251,251,252,253,253,253,252,252,252,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,252,
+247,243,243,243,243,241,239,236,232,226,220,214,206,194,182,173,165,151,132,116,98,80,70,66,66,66,66,68,71,68,53,38,31,29,30,31,31,30,30,30,31,29,23,22,29,30,27,27,
+121,110,99,94,91,81,69,55,36,22,17,15,12,7,2,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,5,7,11,17,21,24,29,35,42,49,60,74,90,106,123,136,145,150,
+152,153,155,158,161,167,172,173,174,174,181,199,218,228,234,237,240,246,252,255,255,254,251,248,246,243,239,230,225,224,225,225,225,225,226,224,219,210,202,203,210,215,221,223,214,200,189,182,
+174,167,161,161,176,194,199,196,197,198,190,168,140,122,102,74,58,52,48,49,51,51,50,51,51,52,54,57,58,60,63,66,69,72,75,79,83,87,92,100,108,119,131,140,148,159,172,187,
+201,216,228,236,241,243,245,249,250,250,250,250,250,250,249,248,247,246,247,247,246,245,244,241,239,238,236,233,232,233,234,235,235,235,238,241,243,244,246,247,248,250,250,250,250,250,250,250,
+250,249,249,247,246,246,246,247,249,250,252,253,254,253,253,253,253,254,253,254,254,253,251,248,246,246,247,247,248,246,243,240,237,233,224,214,202,186,176,172,173,172,173,176,183,183,166,145,
+136,134,134,135,136,136,135,135,135,132,120,118,140,143,129,126,221,216,207,199,199,201,198,190,178,167,164,158,145,122,98,81,69,57,43,27,13,11,17,18,10,2,0,0,1,3,4,5,
+5,5,4,3,2,2,3,4,6,10,18,26,39,54,65,70,73,75,77,80,89,102,114,124,133,143,158,178,208,231,240,242,243,243,231,204,180,165,153,145,144,145,150,160,167,170,172,172,
+170,166,158,146,132,116,104,101,105,110,113,110,102,92,86,81,77,73,70,70,77,90,101,104,102,94,74,59,53,51,52,52,52,52,52,53,52,52,53,54,55,57,60,62,65,67,71,74,
+78,84,89,97,104,114,125,139,155,171,187,199,206,214,224,233,241,246,249,250,251,251,250,250,248,246,245,243,240,237,234,227,223,219,219,217,216,213,208,202,196,191,185,180,177,178,180,179,
+179,180,182,188,193,199,205,211,217,221,224,225,225,223,219,214,210,208,204,199,197,196,195,198,201,204,209,220,227,231,233,230,225,219,214,212,212,214,214,216,217,221,224,225,226,228,236,242,
+244,245,246,246,245,242,238,238,237,238,238,240,242,244,242,236,234,234,234,234,234,234,233,234,234,232,226,226,238,237,227,223,248,248,246,244,244,245,246,248,249,249,247,243,233,216,201,190,
+181,168,149,121,100,103,125,131,115,95,77,63,48,30,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,8,8,10,12,16,20,29,44,72,113,162,206,231,234,212,185,165,
+150,136,105,73,59,55,52,54,57,63,71,82,90,95,97,96,94,90,84,77,72,68,68,68,68,67,67,66,65,65,63,61,59,58,56,55,53,49,47,47,47,47,48,49,50,51,51,51,
+52,52,53,53,53,55,56,58,60,63,66,69,72,76,82,88,96,108,122,136,150,163,178,195,210,224,234,240,243,245,248,250,251,251,250,249,247,246,244,240,233,226,221,216,211,204,199,191,
+185,181,179,177,176,172,168,161,155,150,144,138,134,130,129,126,124,123,123,124,127,129,133,137,143,147,149,150,148,144,137,131,127,124,121,118,116,114,109,105,104,102,105,113,123,134,142,142,
+131,116,104,97,94,95,100,108,118,127,133,135,140,151,170,184,192,203,215,227,235,241,244,245,245,245,245,245,246,248,250,248,243,239,237,236,236,235,236,237,239,242,246,248,248,248,247,248,
+247,251,252,251,252,251,250,247,245,242,241,241,237,231,229,228,227,226,219,211,211,222,238,244,243,238,231,221,206,183,152,125,105,92,83,81,87,94,96,96,96,96,96,96,95,95,96,96,
+96,97,98,99,101,109,143,189,222,228,204,165,116,69,46,38,34,32,31,31,34,36,37,38,40,40,41,42,44,44,45,47,51,54,57,60,65,68,69,70,71,67,62,58,54,52,50,48,
+47,46,45,45,44,43,42,43,44,45,46,46,47,48,49,50,51,52,53,55,56,58,60,63,66,70,75,80,87,95,105,118,135,156,176,193,206,217,228,238,244,248,250,251,251,251,251,250,
+248,246,241,235,228,225,219,211,203,195,191,186,181,175,171,167,163,161,159,158,156,153,151,147,144,140,136,132,129,125,122,119,116,113,111,108,105,103,100,98,97,96,95,93,90,86,82,80,
+77,73,72,68,66,63,58,54,49,46,44,43,44,49,53,53,48,42,41,39,40,40,43,48,54,56,52,48,50,59,70,78,88,103,122,144,167,189,199,203,205,205,206,209,214,217,209,190,
+167,150,145,144,146,148,153,160,165,174,185,194,198,210,227,240,154,178,201,213,210,201,192,188,189,191,193,196,199,199,194,187,181,177,181,189,194,192,188,187,188,188,183,178,180,196,214,224,
+228,226,223,223,226,229,230,230,229,230,230,230,230,230,230,229,230,230,230,230,231,231,227,203,155,103,57,29,17,15,16,19,20,21,23,24,24,25,26,27,27,28,28,28,29,31,39,51,
+61,69,73,78,79,80,81,82,82,82,80,74,69,64,56,49,45,40,39,37,37,36,38,38,39,40,42,44,45,46,48,49,51,53,55,58,59,62,65,69,75,83,93,106,122,137,152,170,
+191,211,227,237,243,245,248,250,251,251,250,249,247,246,244,240,233,225,217,208,200,196,191,186,181,178,176,173,171,168,167,165,164,163,162,160,158,156,154,152,149,147,143,141,137,135,131,128,
+125,122,118,114,110,107,102,99,95,92,87,84,80,76,73,69,66,61,58,54,52,49,45,42,39,37,33,31,30,31,35,45,52,57,60,61,60,61,60,60,61,59,56,49,45,40,34,30,
+28,31,38,49,66,83,89,92,94,97,103,108,109,102,86,66,49,41,38,37,39,41,46,51,54,60,69,79,84,93,112,132,22,34,51,60,58,53,52,54,56,56,56,55,54,52,47,43,
+40,39,41,44,45,43,40,39,38,33,26,24,29,47,71,94,110,121,130,133,127,120,117,118,117,118,117,118,118,118,118,117,119,118,119,118,120,115,88,50,21,8,6,8,10,12,13,14,
+15,17,18,18,18,19,19,19,20,22,24,30,39,51,62,69,67,62,57,54,51,50,57,57,51,52,60,67,70,73,74,73,70,64,61,59,59,60,60,49,38,39,41,42,44,47,48,51,
+52,55,58,61,64,69,75,84,96,113,134,157,178,195,209,222,234,243,248,250,251,251,251,249,248,246,240,234,230,226,222,214,206,199,193,187,184,182,181,180,179,178,178,177,177,176,175,175,
+174,173,172,171,168,167,165,163,160,158,155,152,149,146,142,139,135,131,128,124,120,115,112,107,102,98,94,90,85,81,77,72,69,66,62,58,54,51,47,44,42,41,40,43,50,58,67,70,
+66,59,52,46,41,40,44,43,34,35,42,48,52,55,55,52,48,43,40,40,43,44,44,31,17,17,20,21,21,16,12,7,5,5,5,5,5,5,5,6,6,8,10,12,15,16,19,21,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,4,2,2,1,1,1,2,1,1,2,2,2,1,
+2,1,2,2,2,3,2,1,2,4,7,10,16,22,29,34,38,42,47,49,49,52,53,54,54,54,55,58,60,59,52,39,28,22,21,21,29,43,55,40,22,21,24,27,32,38,46,53,
+60,66,69,71,72,74,71,54,37,37,39,42,45,47,49,52,55,59,63,69,78,88,102,118,139,165,192,214,229,239,243,247,249,251,251,249,247,245,243,237,231,224,215,207,202,199,196,193,
+189,187,185,184,184,185,186,187,187,187,187,187,187,187,186,186,185,184,183,182,180,178,176,174,172,169,167,164,160,157,153,149,146,142,138,133,129,125,120,116,111,106,103,99,97,97,98,97,
+96,94,94,92,89,87,86,84,80,78,77,77,77,74,64,50,37,29,24,22,27,40,50,34,12,9,11,14,19,24,30,37,43,48,52,52,53,52,48,27,5,2,2,2,2,2,3,3,
+3,4,3,4,5,4,3,3,3,4,4,3,3,3,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,7,9,12,17,25,32,40,48,54,56,56,56,57,64,68,73,82,95,100,97,91,82,68,53,42,36,34,
+34,36,44,58,75,84,71,38,15,14,16,17,17,18,19,21,24,29,33,36,38,40,40,37,35,37,40,43,45,48,53,58,64,72,82,95,111,130,152,175,197,219,236,245,249,251,251,251,
+250,248,243,236,228,223,217,211,204,197,192,189,187,187,187,188,189,190,191,192,193,195,196,197,197,198,198,198,198,198,197,196,196,194,194,192,190,188,186,184,182,180,177,174,170,168,164,160,
+155,152,148,145,140,136,132,129,127,127,127,127,127,126,124,120,116,113,113,114,114,119,126,128,124,116,106,92,77,64,56,52,49,49,54,65,79,87,72,38,14,10,9,8,8,7,6,8,
+9,12,16,17,17,17,16,8,3,3,3,3,3,3,4,4,4,4,4,4,5,5,4,4,4,5,4,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,24,33,37,41,44,45,46,50,52,52,48,44,36,29,24,
+21,19,22,24,28,38,54,71,87,99,100,93,81,71,69,73,74,73,77,89,95,89,73,54,37,24,15,12,13,15,16,17,19,20,22,23,24,26,28,32,36,39,43,46,51,57,64,76,
+90,108,127,146,168,191,211,227,238,245,249,251,251,249,246,244,239,230,218,207,199,193,190,188,186,185,185,186,189,191,193,195,197,198,200,202,204,205,205,206,207,207,207,208,207,207,206,206,
+205,204,203,202,200,198,196,194,191,189,186,183,180,177,174,169,168,170,169,167,165,162,158,155,152,149,145,139,132,123,113,106,99,93,90,87,86,90,98,110,119,126,125,117,105,94,90,91,
+91,87,89,97,103,96,77,57,40,24,13,9,8,7,7,7,6,6,5,4,3,2,1,2,2,3,3,3,3,3,3,4,4,4,4,4,5,5,4,4,4,5,4,3,3,3,3,4,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,
+10,37,49,50,49,49,49,46,40,32,23,15,9,4,2,2,3,4,5,6,12,23,37,54,67,74,78,78,70,58,51,47,44,39,36,36,38,37,43,53,61,60,48,34,28,28,34,41,
+46,48,52,58,61,57,51,45,45,47,52,59,68,81,98,120,145,170,190,209,224,236,244,248,250,251,250,246,241,233,224,218,210,199,189,183,180,180,181,183,185,188,191,193,196,198,201,204,
+206,208,209,210,212,213,214,214,215,215,216,216,216,215,215,214,213,213,211,210,209,207,206,203,201,198,196,192,189,186,182,178,179,183,184,180,176,172,168,162,155,147,138,129,120,112,105,100,
+94,90,85,82,81,84,90,100,108,110,111,108,99,86,77,71,65,59,54,51,50,48,50,58,65,62,49,33,24,23,28,33,36,37,38,41,41,35,24,13,7,4,2,2,1,1,2,2,
+2,2,2,2,3,3,3,3,4,4,4,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,1,14,27,30,31,31,31,30,28,22,14,8,4,3,9,15,29,42,44,44,43,40,37,34,30,25,26,26,26,30,34,37,41,49,58,65,65,57,46,38,35,30,23,15,9,
+5,3,3,3,4,7,13,28,52,77,91,89,80,72,67,67,67,68,77,97,109,114,113,107,103,103,108,116,131,148,168,191,212,229,239,245,248,250,250,249,248,244,238,226,212,200,191,185,
+181,177,176,175,178,181,184,188,192,195,199,202,205,207,210,212,214,215,217,218,219,220,221,222,222,222,222,222,222,222,222,222,221,220,219,218,218,219,218,216,214,212,210,207,203,198,193,189,
+185,183,181,180,180,177,172,167,162,156,150,143,136,131,126,121,118,116,113,111,112,115,116,113,104,92,82,76,68,59,50,41,34,29,27,23,22,21,24,36,57,81,93,88,77,68,61,58,
+56,55,61,78,88,88,82,70,57,46,37,30,28,28,28,29,29,29,29,29,25,18,11,5,3,3,5,3,3,3,3,3,0,3,8,15,22,24,24,24,24,24,24,24,24,21,15,6,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,23,43,48,48,49,49,49,50,51,50,45,38,28,17,12,28,46,50,50,50,50,51,51,52,52,54,54,53,
+51,52,55,60,67,72,72,66,59,54,53,52,51,49,45,39,33,29,29,31,35,39,43,51,62,70,79,83,79,70,58,53,53,55,66,89,110,127,145,158,167,177,187,199,210,221,232,241,
+247,251,252,252,251,250,248,241,232,219,205,191,178,171,168,168,171,174,179,184,189,194,198,202,205,208,211,214,216,217,219,219,220,220,221,222,223,223,223,224,224,224,224,224,224,225,225,225,
+225,224,224,223,224,226,226,224,223,222,219,217,215,213,209,204,199,192,187,187,189,186,181,177,173,169,164,160,156,152,148,142,137,133,129,128,128,128,124,117,108,100,95,91,87,83,76,68,
+59,52,49,49,49,50,52,57,64,71,77,77,69,55,37,27,22,20,25,39,51,60,73,84,89,90,89,87,86,86,86,87,87,87,87,86,85,78,66,49,30,11,3,1,2,1,1,1,
+51,61,74,89,99,101,101,101,101,101,101,101,101,98,88,70,48,26,10,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,11,13,13,14,14,14,16,23,31,39,46,
+51,50,46,43,38,31,25,21,19,18,18,21,25,28,30,31,34,42,55,68,74,70,62,54,49,48,52,54,56,59,63,67,71,72,72,72,73,72,72,68,61,55,56,62,69,76,82,88,
+93,100,111,128,149,168,184,195,205,216,228,237,243,246,249,250,251,250,249,246,242,236,229,222,212,198,180,167,162,164,171,181,191,197,202,209,214,216,218,220,222,224,225,227,227,228,227,226,
+224,222,220,219,218,218,216,216,215,215,215,215,215,216,217,218,219,220,221,222,223,224,224,223,222,221,220,218,216,215,213,212,209,206,202,198,193,186,180,173,168,162,157,152,149,145,140,135,
+130,129,130,131,130,121,110,98,90,85,84,82,80,79,79,81,81,79,77,75,71,68,65,59,46,33,26,22,19,13,9,6,5,4,3,4,6,9,16,26,37,46,55,62,63,63,63,64,
+64,64,64,65,70,79,87,92,86,61,30,11,5,9,21,33,119,120,120,115,107,105,105,105,105,105,105,105,105,108,117,129,125,103,77,63,56,44,30,22,16,12,11,11,11,13,14,13,
+12,10,5,1,0,0,0,0,0,0,0,0,0,1,4,10,19,30,41,49,51,48,42,35,31,27,26,29,34,39,45,55,67,78,87,93,92,87,84,83,81,82,83,83,84,85,86,92,
+97,100,101,99,98,98,100,104,107,113,123,136,149,162,173,180,184,188,195,206,219,229,234,236,238,242,246,248,249,249,249,247,242,235,224,213,201,189,181,179,184,191,190,184,182,190,202,211,
+214,215,217,218,219,221,223,223,225,226,226,226,226,226,224,224,220,215,208,203,199,194,189,185,182,180,180,180,182,184,187,191,195,199,203,208,211,213,216,219,220,221,220,220,218,217,214,211,
+209,208,207,205,202,197,191,184,178,172,166,160,155,150,146,144,144,142,138,130,115,101,89,81,75,69,65,61,57,54,53,53,55,55,52,48,43,40,41,43,41,36,35,35,36,34,34,33,
+32,30,25,19,14,10,5,3,2,3,6,8,9,9,9,10,10,9,9,9,13,19,30,49,75,96,95,76,63,75,96,109,85,70,56,42,31,28,28,28,28,28,28,28,28,31,46,76,
+100,111,117,118,117,113,105,97,88,83,80,80,82,85,81,72,70,66,56,46,37,26,18,11,5,0,0,0,0,0,0,0,0,0,6,15,27,38,46,51,55,60,67,77,88,100,109,116,
+122,127,133,145,156,164,169,171,170,171,171,171,171,170,171,171,171,171,172,174,177,182,189,198,206,211,218,225,231,237,240,242,242,243,244,246,249,249,250,249,248,247,247,245,242,239,233,222,
+208,191,175,162,154,147,146,152,166,189,208,214,215,218,220,217,209,206,208,209,210,212,214,216,217,217,215,212,207,202,195,191,185,177,168,160,152,145,138,132,128,125,124,125,129,133,138,142,
+149,157,164,173,181,187,196,203,208,213,216,218,219,219,219,217,214,209,206,203,202,200,198,195,191,186,182,178,173,168,163,156,149,138,126,114,103,96,90,85,80,74,69,64,59,54,50,45,
+41,37,36,40,47,58,74,94,109,111,109,109,110,110,109,108,107,105,100,91,82,72,57,40,25,14,7,4,1,0,0,0,0,0,0,1,1,2,7,23,53,98,139,150,147,151,144,122,
+56,36,25,22,23,25,25,24,24,24,24,24,21,16,13,18,29,44,60,69,73,85,97,103,109,112,113,114,115,113,96,78,75,79,84,86,86,83,77,70,58,42,29,18,10,5,1,0,
+0,0,0,0,0,4,11,22,38,61,87,113,137,157,170,177,184,192,203,215,225,230,231,231,231,231,231,231,231,231,232,232,233,234,235,238,239,241,242,243,245,247,249,249,250,251,251,251,
+251,251,252,252,251,250,248,247,245,242,236,228,218,207,194,181,167,155,147,145,148,157,167,180,192,202,208,209,209,213,215,212,206,205,207,209,212,213,214,212,209,204,197,186,173,158,143,129,
+115,102,91,82,73,68,63,60,58,57,57,59,61,64,67,70,77,88,100,113,127,141,155,168,180,191,200,207,213,217,221,224,224,221,214,208,202,197,194,190,187,182,178,173,167,161,154,145,
+135,127,119,113,108,101,95,89,83,78,72,66,61,57,53,53,56,64,76,90,100,107,108,113,126,128,121,115,114,113,113,112,111,111,115,119,123,124,122,113,99,82,67,55,41,30,28,28,
+29,30,30,33,41,54,71,91,110,125,133,128,119,126,124,104,89,85,87,94,99,103,103,101,101,101,101,100,97,89,77,67,63,62,62,55,47,42,39,40,43,46,46,47,46,42,29,18,
+16,21,29,39,49,61,69,78,85,88,84,77,68,58,45,34,24,17,13,11,10,13,24,43,75,117,156,186,206,220,228,231,235,238,242,244,245,246,246,246,246,246,245,246,247,247,247,248,
+249,250,250,250,249,249,248,248,248,248,248,247,246,244,241,240,240,239,238,236,229,222,217,216,217,216,211,206,197,189,181,178,178,180,181,185,192,200,207,212,211,202,192,186,187,193,203,211,
+215,217,218,219,219,217,213,205,194,181,165,145,125,104,84,65,52,39,30,23,18,14,11,10,10,9,10,10,10,10,11,12,16,20,29,39,54,70,87,108,128,148,166,183,195,206,215,224,
+231,235,232,225,221,213,203,196,190,185,180,175,168,161,153,145,139,133,126,119,113,106,100,93,87,82,80,80,82,84,87,96,107,115,115,108,95,80,63,53,56,55,48,43,42,40,40,39,
+37,38,42,50,57,69,85,102,115,121,123,122,115,107,104,106,113,119,121,124,132,142,151,156,149,116,80,51,34,42,65,84,56,72,87,98,103,106,106,105,105,105,105,105,108,114,119,119,
+119,118,117,115,110,100,86,72,59,46,38,33,29,27,25,23,23,23,24,26,30,34,34,34,42,51,61,71,79,84,87,85,83,79,76,76,78,88,108,136,173,207,230,241,246,248,249,249,
+249,249,248,246,243,240,239,239,240,240,241,242,243,243,244,243,243,241,239,237,236,236,236,236,236,235,231,225,219,209,199,193,190,188,185,177,163,148,138,135,138,143,147,152,158,163,164,168,
+180,190,194,199,204,207,210,212,212,206,199,195,195,195,199,204,210,215,217,216,211,204,192,176,155,132,108,84,63,46,32,23,16,11,8,7,5,5,4,3,2,2,1,1,1,0,1,0,
+2,2,3,6,10,17,27,41,60,81,107,132,156,177,194,209,225,237,244,243,242,242,233,221,213,207,203,198,193,186,179,173,168,162,153,145,139,133,128,122,117,115,120,126,128,128,126,123,
+116,99,80,61,46,35,29,25,22,20,17,15,14,13,12,10,9,9,8,8,9,11,17,27,42,57,69,84,98,106,107,112,128,141,144,148,152,154,153,153,146,121,93,69,49,34,30,36,
+51,43,35,31,30,29,29,28,28,28,28,28,32,42,53,63,68,74,88,108,131,151,154,151,145,134,123,113,105,100,100,100,100,101,102,104,106,105,99,85,73,63,55,49,49,53,61,75,
+93,108,120,130,144,164,188,210,230,242,249,250,249,248,246,245,243,239,235,230,221,213,210,208,208,208,207,203,200,197,194,191,188,185,184,184,184,184,184,184,183,178,170,159,147,133,122,114,
+111,110,107,102,92,83,77,75,77,80,84,91,99,107,113,120,132,143,149,157,166,173,178,185,194,204,210,214,215,214,213,212,210,209,205,197,186,169,147,122,95,69,46,28,15,9,5,3,
+2,2,2,3,3,3,3,3,3,3,3,3,2,2,3,4,4,4,5,5,6,7,9,13,19,31,49,72,99,126,153,177,199,220,239,248,250,252,251,244,230,221,213,205,199,195,194,192,
+186,179,176,173,168,163,158,154,150,146,140,130,118,108,95,82,68,54,44,38,35,32,30,28,25,22,20,18,16,15,14,13,12,11,9,8,8,7,5,4,4,6,10,15,23,29,32,34,
+45,55,57,62,69,74,75,80,93,108,119,121,117,105,87,71,115,101,79,58,43,33,28,26,25,24,24,24,24,26,29,35,45,63,86,109,132,149,151,147,142,135,127,118,110,108,111,115,
+121,131,143,154,157,157,157,154,150,144,135,123,113,102,91,93,108,127,149,172,192,213,231,240,244,247,246,240,229,216,204,196,186,176,166,155,141,129,123,120,119,118,112,104,100,98,96,95,
+95,95,96,97,97,98,99,98,97,94,86,78,70,64,58,56,55,56,57,57,56,56,57,60,64,69,73,78,84,89,96,103,110,117,124,131,138,146,154,161,170,182,193,202,210,217,220,220,
+217,211,198,181,159,132,103,73,47,26,12,5,1,1,0,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,3,3,4,4,4,6,6,7,11,19,32,54,80,108,139,
+166,189,215,238,250,253,253,252,243,229,220,206,190,181,177,174,166,159,155,153,147,141,136,129,125,117,105,90,79,70,63,56,52,47,44,41,38,34,31,29,26,23,21,19,17,16,15,13,
+12,11,10,10,9,8,7,6,6,6,5,3,2,3,2,2,3,4,4,4,7,8,8,11,19,34,53,70,89,108,119,122,91,107,119,120,114,108,104,102,101,100,100,101,100,101,100,103,
+110,117,119,113,103,91,76,62,51,43,41,45,54,69,87,100,113,129,142,149,147,146,147,149,151,151,152,154,151,140,120,112,126,153,185,214,232,243,248,250,249,246,235,211,177,147,124,110,
+99,88,71,57,46,38,34,32,32,32,31,31,32,32,33,32,33,34,35,35,35,38,38,38,39,37,35,33,33,33,33,35,36,39,41,45,48,50,55,59,64,69,75,81,87,93,100,106,
+113,119,127,133,140,147,155,161,168,175,182,189,196,202,208,209,207,199,185,162,131,98,65,38,19,8,3,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,
+1,1,1,2,1,2,2,2,3,3,5,10,21,39,64,94,125,154,180,207,235,251,254,253,253,248,239,232,217,196,183,175,166,156,145,136,129,122,115,108,102,95,88,82,76,71,66,60,
+57,52,47,43,40,35,32,30,27,24,22,20,18,16,15,14,12,11,11,10,9,9,8,7,7,7,6,6,5,5,5,4,3,3,3,2,3,3,2,1,0,1,3,8,17,33,50,65,
+16,32,54,72,86,97,102,104,104,104,104,104,104,104,105,104,97,80,60,42,29,19,11,7,9,18,40,67,91,109,119,121,120,113,102,86,74,68,69,70,71,73,77,82,89,97,108,131,
+165,198,224,238,245,248,247,244,239,230,206,166,124,98,82,75,71,63,37,16,11,10,9,9,8,9,9,10,10,11,11,11,12,13,13,14,15,16,17,18,19,20,21,22,24,26,27,31,
+33,37,40,43,47,51,56,61,66,71,77,83,90,96,103,109,115,122,130,137,145,151,158,165,172,178,184,190,194,197,198,193,186,172,151,123,91,59,32,14,5,2,1,1,1,1,1,1,
+1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,1,4,12,27,52,83,116,147,174,202,232,250,253,253,254,252,249,245,233,219,208,
+200,189,169,150,142,136,128,121,115,109,103,97,92,88,82,77,71,65,59,52,47,42,37,33,30,26,23,21,18,16,15,14,13,12,10,9,9,8,7,7,6,6,6,6,5,6,4,4,
+4,4,3,4,4,4,3,2,3,3,2,1,1,1,2,6,0,0,3,17,34,49,59,62,62,57,50,48,48,53,59,59,54,44,35,36,40,45,50,58,68,87,111,121,115,99,80,65,
+52,37,24,13,7,5,6,8,11,19,34,57,89,126,164,199,224,238,245,246,245,239,227,204,180,157,128,91,62,49,43,40,40,36,18,6,4,5,5,6,6,6,7,7,7,8,8,8,
+9,10,10,11,12,12,14,16,17,17,18,20,22,25,27,30,34,38,41,45,49,53,57,62,68,73,79,85,91,97,104,111,118,125,132,139,147,154,160,168,174,181,187,191,195,197,193,184,
+169,146,117,85,54,28,11,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,10,26,
+52,84,120,150,176,200,229,247,253,253,253,253,251,247,241,233,224,215,200,185,178,172,165,158,152,147,143,139,134,130,126,121,115,107,97,86,78,68,60,52,45,38,31,27,21,19,18,16,
+15,14,14,13,12,11,10,9,9,8,7,6,5,4,4,4,4,3,3,4,4,4,3,2,3,3,3,3,3,2,1,0,1,15,40,66,87,103,116,124,123,116,106,100,96,101,110,114,
+116,114,112,114,119,120,120,121,121,118,100,72,45,23,11,5,1,0,0,1,3,7,12,21,34,57,89,130,170,202,226,239,245,247,244,237,223,199,165,126,89,61,39,22,11,6,5,4,
+4,5,5,5,5,4,5,6,6,7,7,7,8,8,9,9,9,9,10,11,13,13,14,16,17,19,27,31,33,33,34,34,35,37,40,45,49,53,58,62,68,73,79,86,91,98,104,111,
+118,125,133,140,148,155,162,170,176,182,188,192,195,194,187,175,155,129,98,65,36,15,4,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,12,31,60,95,129,159,183,207,230,248,252,252,252,252,250,248,244,240,234,228,225,224,221,215,210,205,203,201,199,197,195,193,190,
+186,178,167,154,143,131,118,107,94,81,72,62,52,44,41,37,34,32,32,30,30,29,29,27,25,22,19,15,12,9,8,7,5,4,4,6,6,6,5,5,6,6,6,6,5,2,0,0,
+68,97,126,154,173,186,200,210,211,206,202,199,187,175,178,183,185,180,166,148,130,115,100,86,73,56,34,16,9,7,7,8,10,12,16,21,29,40,56,77,104,137,174,206,229,240,245,246,
+244,237,221,194,158,118,81,51,29,17,9,6,4,2,2,2,2,3,5,5,5,4,4,6,6,6,7,8,9,8,8,10,10,10,11,12,13,14,15,16,16,27,53,65,67,66,66,64,
+58,51,48,48,50,55,61,66,73,81,91,101,108,115,122,127,133,137,141,145,150,156,163,170,177,183,189,192,193,190,181,168,149,121,86,50,23,7,2,0,1,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,18,43,76,111,145,173,197,220,238,250,252,252,252,251,250,249,
+248,247,247,248,248,247,246,243,242,241,241,240,239,239,238,237,236,233,227,220,213,205,196,186,174,162,155,144,130,122,117,112,104,98,93,89,88,87,87,86,83,78,75,71,65,60,55,50,
+46,42,37,33,29,25,23,23,25,26,26,23,16,11,15,28,194,202,213,229,237,242,245,247,247,246,245,245,242,233,233,235,236,233,219,190,154,127,103,80,62,50,45,44,44,45,45,46,
+49,56,65,78,93,113,139,165,188,211,230,241,246,246,243,235,219,191,155,114,75,45,25,13,6,4,2,3,4,4,3,3,3,3,4,5,5,5,4,5,7,7,7,8,8,9,8,10,
+11,10,11,12,13,14,15,16,17,24,43,53,57,63,68,75,80,82,78,77,76,81,87,94,100,108,118,132,144,151,156,161,165,168,169,171,172,171,172,174,179,184,189,192,193,191,185,172,
+146,109,68,34,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
+12,32,62,99,134,163,188,216,236,246,252,252,252,251,251,251,251,251,251,252,252,252,251,251,250,250,250,250,250,250,250,249,249,248,247,245,244,243,240,237,232,226,218,208,197,192,191,192,
+191,190,188,185,183,182,182,183,180,175,169,166,162,155,147,141,137,135,131,125,116,105,96,91,93,102,109,106,101,111,138,167,248,247,248,248,248,247,247,247,247,247,248,248,248,248,248,248,
+248,248,248,240,221,202,184,163,144,132,127,125,125,125,126,127,132,140,153,166,180,197,215,228,237,243,246,246,242,232,214,186,150,110,73,43,23,11,4,2,1,1,2,3,4,4,4,3,
+3,3,3,4,5,5,6,6,6,7,7,8,8,9,9,10,10,11,12,13,14,15,15,16,18,19,21,24,27,31,36,42,54,66,76,84,89,93,95,97,101,102,105,117,130,138,143,148,
+154,162,171,180,187,191,193,194,194,196,198,201,203,201,192,168,133,93,55,26,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,27,55,91,127,158,181,206,234,247,251,252,252,251,251,251,251,251,251,251,252,251,249,246,244,243,243,243,242,242,241,241,
+241,243,245,245,246,247,248,248,247,246,243,239,235,234,233,234,235,236,237,238,238,237,237,237,235,232,226,222,219,212,204,198,197,200,203,205,205,203,200,198,204,218,226,226,228,235,245,249,
+247,247,247,247,247,247,247,247,247,247,246,246,247,248,248,249,249,249,249,249,247,243,238,228,218,212,211,213,213,214,213,213,215,220,226,231,235,239,244,246,247,245,242,233,212,181,143,104,
+68,40,22,10,4,1,0,0,0,2,2,3,3,4,4,3,3,4,3,4,5,5,5,6,6,7,8,8,9,9,10,10,10,11,12,13,13,15,16,16,18,20,21,23,24,27,30,32,
+36,40,46,54,60,64,67,70,74,78,82,90,98,103,110,118,124,132,143,153,165,178,189,198,203,207,210,211,209,201,184,157,122,86,53,25,8,2,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,26,54,89,126,157,180,197,224,246,251,252,252,251,250,250,
+250,249,248,245,241,235,228,219,214,210,208,206,204,203,201,201,204,209,216,221,226,231,236,239,240,243,246,247,247,247,247,247,246,246,246,247,247,246,246,247,246,245,244,243,242,239,235,233,
+234,236,238,240,241,242,244,245,249,252,252,252,252,252,251,249,248,248,247,247,248,246,245,238,227,211,195,187,187,190,194,198,207,222,235,235,235,238,245,247,247,246,247,248,247,247,247,247,
+247,247,248,249,249,249,246,241,235,226,208,178,139,99,63,36,19,9,3,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,4,5,5,5,6,6,7,8,9,9,9,10,10,
+11,11,11,13,14,15,16,16,18,19,21,24,26,28,31,33,37,39,41,45,49,54,58,64,69,75,81,86,93,99,107,114,120,126,134,141,149,158,168,178,187,194,199,200,198,190,176,154,
+125,91,56,28,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
+10,28,58,94,129,160,182,199,222,245,253,252,251,250,248,244,242,238,232,217,201,191,180,171,162,155,151,147,143,139,136,134,135,141,148,156,165,174,184,193,201,212,224,232,236,236,236,237,
+236,236,236,236,236,236,236,236,237,240,242,245,245,246,246,246,247,247,247,247,247,247,248,248,249,249,250,250,250,249,248,248,216,209,204,202,200,188,172,150,124,97,76,68,67,67,68,73,
+84,110,142,147,142,145,165,193,206,208,213,221,227,233,237,241,242,243,242,239,235,227,214,202,190,174,145,106,66,36,18,8,3,0,0,3,8,13,19,23,24,25,25,25,26,24,20,14,
+8,2,2,2,3,5,5,5,6,7,7,9,9,9,10,11,11,12,12,12,14,15,16,17,18,20,21,24,26,28,30,33,37,40,42,46,50,55,59,64,70,75,80,87,93,100,106,113,
+120,127,134,141,148,155,162,169,176,182,188,191,192,188,178,160,134,101,66,36,14,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,14,36,68,104,139,168,190,211,232,250,253,252,249,247,239,231,222,213,195,171,156,148,139,131,122,116,109,104,98,94,89,84,
+83,84,85,88,92,98,106,114,125,140,157,171,181,184,185,186,186,185,184,184,183,184,184,185,190,198,208,217,223,229,234,237,242,247,247,248,248,248,248,248,247,245,238,231,227,226,225,222,
+113,96,86,81,74,63,50,36,23,13,8,7,7,7,8,12,20,35,57,63,55,47,57,77,94,111,130,148,159,162,163,170,180,184,181,172,157,140,129,122,113,104,90,74,56,41,34,35,
+41,48,56,67,77,88,97,100,101,101,101,102,102,100,94,83,66,42,23,11,4,2,3,4,5,6,7,7,9,9,9,10,12,12,12,12,13,15,16,17,18,20,22,23,25,28,30,33,
+35,38,40,45,49,53,57,62,68,73,79,86,92,98,105,111,118,125,132,140,147,154,160,168,175,181,187,190,192,190,183,169,146,116,81,49,23,8,1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,24,51,87,125,159,185,207,228,246,253,252,250,248,242,232,221,
+209,192,170,151,137,129,122,114,107,101,95,88,82,76,71,66,62,59,56,54,53,53,54,57,62,69,80,89,96,99,100,99,99,98,97,95,95,96,96,98,103,114,126,140,152,164,175,183,
+194,208,214,215,215,214,214,210,198,177,151,136,138,146,145,133,26,17,12,8,6,4,3,1,0,0,0,0,0,0,0,2,8,17,29,38,38,32,33,42,55,72,85,87,80,71,64,61,
+63,67,65,60,58,61,63,52,36,29,30,38,50,62,78,100,121,134,135,129,123,118,112,107,105,105,105,105,106,108,114,120,124,115,97,75,52,29,15,10,6,4,4,6,7,7,8,8,
+9,10,10,11,12,13,14,15,16,18,19,22,24,27,31,33,38,45,50,54,59,62,67,70,73,75,79,84,90,96,103,110,117,123,130,137,145,152,159,166,172,180,185,189,193,193,189,178,
+160,134,103,69,40,17,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,19,
+43,76,114,150,178,200,219,242,251,249,248,243,235,225,219,213,207,199,187,172,155,137,123,112,103,95,89,83,77,71,66,60,55,51,47,43,39,37,34,33,33,34,35,36,39,40,40,40,
+42,44,45,45,45,45,45,44,43,45,51,57,66,76,84,91,98,105,111,112,112,111,108,100,85,65,53,53,62,67,60,43,2,0,0,0,0,0,0,0,0,0,0,3,10,16,23,34,
+48,61,71,79,88,89,90,93,99,106,112,108,99,95,92,77,60,49,40,35,38,46,45,34,21,18,26,43,65,91,117,135,138,126,103,76,57,44,35,29,28,28,28,28,29,31,40,54,
+75,99,114,122,119,104,84,66,51,38,32,29,28,31,33,33,34,34,35,35,34,31,28,27,25,25,28,36,44,52,56,61,67,75,80,84,87,90,94,97,98,98,99,97,91,94,101,108,
+115,121,128,135,142,149,157,163,170,176,182,188,192,194,193,186,175,155,128,96,65,36,16,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,2,6,18,40,71,106,140,167,187,206,232,246,241,238,230,215,201,192,187,183,184,188,192,191,187,175,160,144,129,116,105,98,91,87,83,78,
+74,70,67,62,57,51,44,39,35,31,31,35,41,45,46,48,53,56,57,59,59,58,57,56,53,49,46,36,23,22,26,28,29,29,30,30,30,30,27,24,19,15,15,18,20,17,12,6,
+0,0,0,0,0,0,0,0,0,3,27,59,79,91,100,108,116,119,120,119,118,118,118,119,120,122,124,127,130,138,146,145,139,132,122,111,106,104,99,96,93,98,107,115,119,119,111,90,
+64,40,20,8,1,0,0,0,0,0,0,0,0,0,0,3,10,24,41,63,88,109,122,130,133,128,121,114,106,105,107,108,108,109,108,109,108,103,97,94,90,90,95,101,99,93,88,83,
+77,72,70,70,74,77,81,86,94,102,108,104,91,91,98,104,111,117,124,132,139,146,153,160,166,173,179,185,190,194,195,193,186,173,154,128,98,67,39,19,7,1,1,1,0,0,1,1,
+1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,8,21,43,71,103,135,161,181,196,221,240,233,226,219,202,189,181,174,168,161,
+156,155,156,162,169,176,179,181,179,172,164,155,147,142,140,137,134,132,129,127,123,116,108,102,96,93,96,99,95,85,76,69,60,51,45,42,42,40,40,41,45,50,51,38,13,4,4,4,
+4,4,6,6,6,6,5,3,2,3,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,11,64,111,119,113,106,97,85,72,64,56,49,46,46,46,47,47,48,50,57,68,80,95,
+114,129,136,139,142,150,156,158,158,158,157,143,112,79,48,20,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,7,24,52,89,133,160,163,158,142,121,112,110,111,
+112,112,113,113,117,123,126,127,131,139,151,155,148,134,124,112,94,79,70,64,62,64,67,71,78,86,93,96,95,97,103,108,112,117,124,129,136,142,149,156,162,168,175,181,187,192,195,196,
+194,187,176,158,134,105,76,48,27,12,6,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,2,6,14,30,52,80,109,
+138,163,182,196,214,232,230,219,211,199,189,183,177,170,164,156,148,141,134,131,132,142,158,181,195,194,188,174,156,146,141,139,136,134,131,130,131,133,134,134,135,141,151,154,145,129,116,100,
+79,60,46,34,29,25,24,23,27,31,34,29,20,15,14,11,8,8,6,4,3,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,39,60,52,39,30,21,
+13,6,2,0,0,0,0,0,0,0,0,0,1,3,7,13,25,38,48,54,62,76,94,111,126,134,140,134,116,92,66,42,24,11,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+5,11,21,34,53,81,111,132,134,114,85,62,45,37,36,36,38,39,39,40,43,50,57,63,72,92,116,139,159,167,168,163,153,142,134,127,122,120,119,120,124,127,131,135,138,143,147,146,
+145,147,149,150,154,159,164,169,172,174,176,179,183,188,192,196,197,196,190,181,166,145,120,92,66,43,26,14,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,1,0,1,2,6,14,27,47,72,100,128,153,173,189,200,212,223,221,212,206,198,190,184,177,172,165,158,152,147,143,141,141,146,156,170,179,176,160,136,114,98,87,81,77,
+73,70,66,64,64,66,69,71,77,94,116,137,156,163,162,157,145,130,119,108,100,93,89,87,86,87,87,86,86,87,87,78,69,65,59,50,48,48,46,44,37,26,15,5,0,0,0,0,
+0,0,0,0,0,0,1,5,9,14,21,28,28,26,24,24,23,23,23,22,18,12,8,4,1,0,0,0,0,0,0,0,0,0,0,2,17,32,47,70,113,141,160,173,182,186,187,180,
+169,157,142,106,68,38,21,14,10,8,9,11,12,17,28,43,60,79,95,109,120,122,110,84,54,28,13,7,7,7,7,8,8,9,10,10,10,13,23,38,58,81,102,118,132,137,134,130,
+125,127,136,144,148,148,146,146,149,151,153,156,160,163,166,164,160,162,164,167,174,178,182,187,188,188,188,187,187,188,190,194,197,199,198,196,189,177,162,140,118,93,69,47,30,17,9,4,
+2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,9,18,31,49,71,98,125,152,174,192,203,211,217,221,217,209,204,199,194,188,183,178,172,167,165,166,
+168,171,175,178,179,177,167,146,122,100,84,73,66,61,56,52,48,44,40,36,32,31,36,47,64,84,102,116,128,131,127,120,114,114,122,129,130,128,122,121,120,120,119,118,119,119,119,111,
+100,95,92,89,94,95,93,94,89,77,65,48,30,16,5,0,0,0,0,0,3,24,51,68,78,84,89,94,98,100,100,100,100,101,101,100,95,87,77,68,54,41,29,20,13,9,11,23,
+35,63,98,134,163,170,175,180,178,169,166,170,180,192,206,215,216,216,217,220,216,200,178,154,131,116,103,89,83,88,100,111,117,117,112,101,86,63,37,16,5,2,4,6,7,8,9,9,
+8,8,10,18,30,48,70,89,99,97,89,78,67,57,52,49,49,53,63,75,82,85,87,89,93,96,100,104,109,114,117,118,119,123,128,136,146,152,156,163,169,174,181,187,189,192,191,191,
+194,198,200,201,200,199,194,185,171,153,131,110,88,67,49,35,24,16,11,7,4,4,3,1,1,1,0,0,0,0,1,1,3,5,8,14,21,32,46,64,84,107,130,152,173,191,205,215,
+221,225,228,226,221,218,215,212,209,203,199,197,193,191,192,194,193,188,181,172,158,140,118,100,87,79,74,69,64,60,55,51,47,42,40,41,48,62,80,96,103,99,89,76,62,50,41,34,
+30,33,41,50,55,55,53,52,51,51,50,49,49,48,48,43,37,36,35,38,45,46,44,47,49,49,56,60,55,48,29,5,0,0,0,0,11,67,116,124,119,116,114,110,107,105,105,105,
+105,105,105,107,110,116,118,120,118,112,103,92,84,101,147,185,200,208,200,179,154,137,132,128,116,111,112,116,120,125,130,135,135,136,138,145,155,172,190,204,210,214,215,207,186,163,144,118,
+86,58,34,18,9,1,0,0,0,0,0,0,1,2,3,6,12,25,43,66,85,96,97,85,67,47,35,28,23,22,24,26,28,30,33,37,40,44,47,51,54,59,64,68,73,78,83,89,
+93,98,105,112,119,124,130,137,144,150,158,166,174,182,185,185,189,194,198,200,204,211,215,212,204,194,182,167,150,132,114,96,80,66,53,44,36,30,26,23,21,20,19,19,21,22,26,30,
+36,44,54,66,79,96,114,132,150,168,184,196,206,213,219,223,225,226,225,224,223,222,221,218,214,209,207,203,201,196,188,179,166,152,139,124,113,102,93,87,82,77,71,66,61,56,51,49,
+50,57,69,85,99,107,104,92,71,49,34,23,17,14,11,11,10,9,8,8,8,7,8,7,6,5,4,3,3,3,2,2,1,1,0,1,0,0,0,0,1,3,7,13,21,29,23,4,
+0,0,0,0,8,49,79,68,52,45,40,34,29,28,28,28,28,27,27,28,33,40,47,57,71,92,115,146,187,219,206,172,155,137,120,113,110,110,109,106,103,96,89,84,77,66,56,50,
+50,51,50,48,50,53,56,59,61,68,88,121,154,176,182,180,169,148,112,73,56,50,49,50,50,50,46,43,44,47,57,78,98,109,112,104,87,67,47,30,20,16,17,19,21,24,25,27,
+29,31,32,35,38,42,45,49,52,56,61,65,70,74,80,85,90,95,101,107,113,118,125,131,137,143,149,154,161,167,172,177,183,189,193,197,201,210,215,214,210,208,203,197,189,178,168,156,
+143,131,119,109,99,91,85,81,78,77,78,79,81,85,91,98,106,116,127,138,152,164,176,187,197,204,211,216,218,218,217,216,215,212,210,207,204,202,198,194,188,182,177,173,167,160,149,139,
+128,120,112,105,100,94,89,83,77,72,67,62,60,59,65,76,92,105,111,108,96,77,56,37,25,18,16,15,15,15,14,12,11,10,9,8,8,7,7,6,5,4,3,3,3,3,2,3,
+3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,20,48,109,159,181,187,160,106,59,44,
+43,43,44,45,44,44,41,36,28,21,14,8,3,16,57,96,113,101,69,38,17,6,2,0,0,0,0,0,4,18,31,53,83,109,144,168,174,176,176,178,177,180,183,185,191,197,203,203,
+189,161,124,82,46,25,16,15,16,17,18,20,21,23,25,26,28,31,32,34,37,40,43,47,51,55,58,62,67,71,76,81,85,91,96,102,108,114,119,125,131,137,143,148,154,159,165,170,
+176,181,186,190,195,200,204,206,207,208,209,208,207,204,201,196,190,184,177,171,164,159,155,151,148,146,147,149,151,154,158,163,170,176,183,190,196,202,208,210,214,215,216,216,215,213,210,207,
+203,199,195,191,187,182,177,171,165,160,154,148,142,136,129,123,118,112,106,100,95,89,84,79,76,74,76,82,91,102,112,116,113,101,81,61,43,30,23,21,20,19,18,16,16,15,13,12,
+11,10,10,9,8,8,7,5,5,4,3,3,4,4,3,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,34,37,37,45,53,49,44,42,39,35,33,33,33,34,34,
+49,77,97,112,127,155,171,179,160,110,75,40,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,80,148,174,161,126,88,57,35,22,15,13,12,12,12,12,11,10,9,8,7,
+6,8,19,36,51,65,75,84,93,105,118,126,128,122,109,86,59,37,23,15,12,13,14,14,16,18,18,19,20,22,24,26,28,30,31,33,36,38,41,44,48,51,56,59,63,68,72,77,
+81,86,91,97,102,108,113,119,125,130,136,142,147,152,158,163,169,173,178,183,188,191,195,199,203,205,208,210,211,212,212,212,211,210,208,206,204,202,201,199,198,196,197,197,198,199,201,203,
+205,208,210,213,214,215,217,216,216,215,214,213,211,208,205,203,199,195,191,187,182,177,173,168,163,158,152,147,142,136,131,125,120,115,109,104,100,100,100,102,106,113,119,122,123,117,104,87,
+66,48,36,30,27,24,23,21,19,18,16,16,15,13,12,11,11,10,9,9,8,6,5,5,4,4,4,4,4,3,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,5,11,
+169,175,176,175,191,211,206,204,205,207,209,209,206,196,186,178,172,163,151,140,134,123,111,89,53,31,20,10,5,3,0,0,0,0,0,1,5,8,11,18,30,59,110,174,208,169,120,90,
+74,69,69,71,72,72,72,72,72,73,73,73,73,73,73,72,72,72,71,69,71,75,79,82,83,79,71,59,44,27,13,5,2,3,6,9,10,10,12,12,13,15,16,17,18,20,22,24,
+26,29,31,32,33,36,39,42,45,48,52,56,60,65,68,72,77,81,86,91,96,101,107,113,118,124,129,135,140,145,150,156,161,166,170,175,179,184,188,191,196,199,202,204,207,209,211,212,
+213,215,215,215,216,218,219,219,219,218,218,217,217,217,217,218,218,218,218,219,218,217,217,216,216,217,217,215,214,212,210,208,206,203,201,197,194,191,187,184,180,177,173,169,165,161,158,153,
+149,145,141,138,136,135,135,133,130,124,113,100,84,66,52,43,35,31,29,27,25,22,21,19,16,15,14,14,13,11,11,11,10,10,9,8,7,6,5,5,4,4,5,3,3,3,1,0,
+0,0,0,0,0,0,0,0,0,11,36,69,98,128,147,157,79,58,55,54,63,74,73,75,84,100,128,160,187,209,211,196,152,96,49,28,21,19,21,25,33,41,45,44,39,33,28,27,
+28,28,33,48,66,86,104,123,152,194,204,162,100,68,68,72,74,74,75,75,76,76,76,75,75,76,76,76,76,76,76,75,75,75,74,73,71,64,56,48,40,30,22,15,11,6,6,7,
+9,10,11,15,19,21,21,22,23,24,25,25,25,24,24,24,23,25,28,30,32,34,37,39,42,46,49,53,57,61,65,68,73,76,81,86,91,96,100,106,112,117,122,127,132,137,143,148,
+152,158,162,167,171,175,180,183,187,190,194,197,199,202,204,207,209,211,211,212,214,217,218,219,220,221,221,222,222,221,220,220,219,219,219,219,220,220,220,219,218,216,214,211,208,207,205,203,
+201,198,195,192,189,186,182,179,175,172,169,165,161,157,154,150,146,142,138,133,128,120,110,101,91,79,67,58,50,44,41,38,35,34,33,33,33,31,29,28,26,25,24,22,18,16,13,11,
+8,7,6,6,5,6,5,4,3,2,2,1,0,0,0,0,0,0,0,1,12,31,56,80,123,159,175,173,159,134,110,97,0,0,0,0,0,0,0,0,0,0,0,5,19,50,79,108,
+145,170,172,164,158,133,86,51,38,44,53,65,82,99,119,142,151,153,161,179,200,222,236,243,243,223,164,100,65,45,20,9,10,13,14,14,14,14,13,14,14,14,14,14,14,14,14,14,
+13,14,13,13,13,14,20,31,40,47,53,59,62,63,64,65,65,66,71,80,87,90,91,92,92,93,93,91,87,80,75,68,57,46,38,33,31,31,34,37,40,43,46,50,53,56,61,64,
+68,72,77,80,86,90,95,99,104,110,115,119,125,130,135,139,143,149,153,157,162,166,170,174,178,181,184,187,190,193,196,198,200,202,204,205,207,208,210,210,211,212,213,215,216,216,216,216,
+215,215,215,216,216,216,214,211,207,202,196,192,189,185,182,179,176,172,167,163,159,155,150,146,141,136,132,127,122,117,112,107,102,97,92,87,83,79,79,84,88,89,91,93,92,91,89,86,
+84,83,87,93,96,98,96,96,95,94,92,90,84,76,67,57,43,29,15,7,1,0,0,0,1,4,2,2,0,1,3,11,31,60,95,134,161,175,176,168,140,99,60,27,11,1,0,0,
+0,0,0,0,0,2,7,9,9,5,1,0,0,0,0,0,2,22,61,97,123,165,202,207,207,207,207,207,210,218,218,214,210,205,195,178,161,151,146,142,137,132,139,162,175,175,143,76,
+39,18,8,9,11,10,7,2,0,0,0,0,0,0,1,4,8,11,15,23,39,60,90,116,129,134,136,139,141,142,143,144,143,143,146,149,150,150,150,151,152,152,152,152,152,150,148,146,
+137,123,104,83,63,45,36,34,37,39,42,46,49,52,56,59,64,68,72,77,80,84,89,94,98,102,107,112,117,121,126,131,135,139,143,148,153,158,164,168,171,174,176,178,180,183,186,188,
+191,192,194,196,197,199,199,201,201,202,202,202,203,203,203,203,202,202,202,202,200,197,195,191,187,184,181,178,177,175,173,169,166,162,158,154,149,145,138,131,125,120,115,110,105,100,97,93,
+91,89,87,90,97,109,129,147,155,157,158,159,158,157,156,155,153,153,154,155,155,155,154,154,153,152,154,157,163,170,174,173,162,140,116,96,78,63,62,86,120,132,132,132,132,136,143,159,
+174,176,161,127,94,64,36,20,4,0,0,0,0,0,0,0,0,5,15,30,46,61,73,80,79,71,60,48,35,22,9,7,39,89,141,170,169,175,189,199,183,151,136,115,84,78,76,58,
+43,32,21,10,2,0,0,0,0,5,22,54,87,123,177,204,201,169,114,83,71,69,67,58,49,45,44,44,44,45,56,69,78,83,86,96,113,133,149,154,146,129,116,111,111,112,113,114,
+115,114,111,103,96,94,95,95,96,97,98,101,108,116,122,131,144,155,159,154,138,111,85,64,50,43,41,41,43,48,51,55,58,62,66,70,74,78,81,86,90,95,99,104,108,113,117,121,
+127,133,141,153,163,173,181,185,188,187,185,185,182,181,180,179,181,182,184,186,188,189,190,191,191,192,192,193,192,193,196,195,192,189,187,186,185,183,181,178,176,176,177,181,184,186,185,184,
+181,178,175,173,169,165,160,151,142,135,132,128,124,122,125,132,136,137,136,141,153,166,177,179,171,155,142,135,132,131,129,128,126,124,121,112,104,100,99,99,98,98,98,101,110,128,149,175,
+201,218,226,225,219,208,198,182,154,136,132,130,130,125,115,95,63,33,12,0,0,0,0,0,0,0,0,0,0,0,0,0,45,65,88,106,116,120,119,117,116,116,114,112,115,120,128,158,
+187,170,119,64,51,48,43,38,18,2,0,0,0,3,31,42,33,21,12,9,9,9,10,14,26,45,66,82,83,76,76,96,123,174,206,200,161,104,86,90,94,93,93,91,91,94,111,137,
+151,153,152,154,155,155,151,136,101,66,43,30,23,21,23,25,27,28,27,23,19,18,19,21,21,21,23,26,30,36,42,49,64,84,107,130,151,159,154,138,117,98,81,66,55,51,50,52,
+55,59,63,66,71,75,80,85,89,92,95,98,103,108,115,123,138,154,170,182,189,193,194,194,197,199,201,202,200,198,194,188,183,176,175,176,177,178,179,181,181,182,183,182,182,184,192,193,
+191,186,182,179,178,176,174,174,176,180,186,190,189,185,180,177,174,172,169,166,163,162,160,161,159,156,153,150,147,146,152,158,159,154,144,136,133,129,127,123,104,79,66,59,56,53,51,49,
+47,44,41,35,29,27,27,26,25,24,23,23,25,28,34,43,65,92,118,139,158,167,159,133,98,70,50,30,15,5,0,0,0,0,0,0,1,2,5,7,7,5,4,3,3,4,10,20,
+114,116,110,98,80,63,51,45,54,80,122,166,202,214,213,197,151,96,55,29,12,1,0,0,0,0,0,0,0,1,14,31,45,51,51,48,47,47,48,51,58,61,57,50,37,23,16,14,
+15,26,57,105,159,178,137,88,86,97,96,104,142,167,182,199,195,187,177,175,187,204,205,196,187,179,156,123,85,43,21,9,5,4,4,5,5,3,3,3,5,6,8,9,11,12,14,16,
+17,23,33,49,76,107,132,150,159,158,150,136,119,104,97,97,98,102,105,107,111,117,125,134,134,131,129,130,133,137,145,156,169,180,180,175,168,162,159,158,161,167,174,181,188,195,200,202,
+200,192,184,177,172,170,168,169,170,170,171,171,171,171,174,179,183,184,183,182,180,178,178,176,178,177,173,168,160,151,145,142,139,135,131,128,124,121,121,122,124,123,120,117,114,110,109,108,
+103,95,82,72,64,57,52,49,42,34,31,29,29,28,27,24,22,20,18,16,13,10,8,8,8,9,8,7,6,6,5,4,5,9,17,32,58,86,110,128,139,139,130,112,90,71,60,57,
+58,58,59,59,61,65,73,82,80,71,65,62,61,65,78,94,95,91,87,72,62,60,78,114,147,171,175,151,106,71,59,67,89,109,114,106,89,69,46,26,11,3,0,0,0,0,0,0,
+8,21,30,33,33,32,32,30,25,16,7,3,0,0,1,2,4,9,30,56,86,156,222,214,206,216,213,197,181,156,137,94,72,63,53,47,60,100,135,136,150,184,216,234,232,207,180,149,
+124,107,95,85,77,64,49,32,18,11,8,8,9,10,11,13,14,15,16,17,22,34,52,74,99,120,138,154,163,164,162,163,166,168,169,170,173,176,180,184,180,171,167,165,166,167,168,167,
+160,148,135,127,123,122,123,126,128,132,136,142,148,155,165,176,189,197,200,197,191,184,176,168,164,161,160,159,159,158,157,158,160,163,167,167,165,164,162,159,155,149,142,137,133,130,126,122,
+119,116,112,109,105,101,97,94,91,87,83,80,75,72,67,64,60,58,58,66,79,96,110,115,113,110,111,111,105,103,102,100,99,98,97,95,89,80,66,50,29,10,4,2,3,4,5,6,
+5,4,4,16,40,74,104,119,128,136,148,160,166,163,160,159,160,160,161,161,162,163,163,162,150,132,123,119,117,118,119,114,164,174,176,176,176,174,169,146,110,75,29,1,0,18,43,65,
+97,143,166,168,161,147,136,123,106,91,73,52,28,11,5,2,1,2,3,3,1,1,1,0,0,0,0,0,0,1,7,26,62,115,173,194,197,199,201,196,197,188,177,127,88,73,67,58,
+54,50,48,48,50,63,95,112,114,124,145,170,199,225,239,247,247,242,234,227,221,212,197,172,143,120,107,99,97,98,94,90,90,97,104,107,107,107,108,114,122,130,141,154,168,174,171,172,
+172,172,171,167,161,155,152,149,138,127,123,123,125,126,123,115,104,100,99,101,104,108,112,115,117,120,123,125,127,130,134,138,148,160,173,184,192,196,195,191,183,176,170,163,157,153,150,148,
+147,146,145,143,141,139,138,136,132,129,127,124,122,120,117,115,112,110,107,104,100,97,93,89,85,82,79,76,74,74,72,70,67,67,75,91,118,152,186,205,211,215,217,218,219,220,220,220,
+219,219,219,219,218,217,211,203,178,136,103,63,36,20,8,4,2,2,3,10,39,91,133,153,167,180,194,206,220,228,229,229,229,228,227,225,222,219,217,214,197,174,172,174,174,173,170,167,
+96,72,48,46,44,37,22,3,0,0,24,75,137,171,177,172,166,151,142,158,180,197,206,213,216,217,213,206,180,151,129,102,82,69,56,47,45,43,44,47,55,65,71,76,81,89,120,172,
+207,209,184,165,169,169,159,150,147,142,135,129,132,133,130,126,122,118,116,115,115,115,123,128,121,109,98,88,86,92,108,130,153,175,194,205,215,229,242,247,247,245,241,238,236,234,232,229,
+227,229,232,234,234,235,234,235,236,238,238,235,228,214,188,154,122,104,99,93,84,78,77,76,72,68,70,72,76,78,79,80,82,86,90,93,95,98,102,105,109,112,114,116,119,121,123,124,
+126,128,134,142,151,162,174,183,189,191,190,187,182,176,171,167,165,162,158,154,151,148,147,145,144,142,140,138,135,135,137,139,139,136,134,132,130,127,124,121,119,116,111,109,113,115,113,111,
+110,108,108,111,114,119,131,142,140,134,126,120,117,115,113,112,111,111,110,110,116,124,136,154,183,207,215,210,194,171,138,99,70,52,41,38,42,50,60,73,93,120,140,152,160,162,155,138,
+120,108,102,93,82,75,77,90,118,138,133,129,129,130,123,111,0,0,0,0,0,0,0,3,54,124,173,174,135,77,47,32,21,9,2,9,25,48,63,74,86,97,115,143,177,197,209,216,
+215,207,191,182,184,187,188,195,206,213,215,216,218,220,219,200,176,169,171,181,188,192,194,194,191,186,176,168,162,156,150,145,140,134,127,117,105,91,81,73,62,50,39,29,20,15,12,12,
+15,24,35,44,56,85,115,132,146,159,168,178,184,186,188,192,192,190,187,187,190,194,196,203,209,216,227,232,234,240,232,201,154,104,58,40,41,45,48,51,54,57,60,63,65,67,70,72,
+75,79,82,87,91,99,115,134,145,149,151,152,154,155,157,158,159,160,160,161,162,165,169,177,183,189,194,198,197,192,187,184,183,182,182,181,180,179,178,176,176,175,174,172,171,171,171,170,
+169,167,165,164,163,161,159,157,154,149,137,127,121,115,112,110,109,105,102,94,84,74,69,64,56,47,38,31,26,21,20,18,17,16,15,14,16,21,29,42,62,83,108,138,162,183,205,216,
+213,200,170,140,124,120,122,135,144,149,149,134,109,81,53,27,9,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,26,73,142,186,153,78,25,1,0,0,0,
+0,0,0,0,0,0,0,0,0,1,8,18,35,52,69,92,115,136,164,174,174,171,171,160,143,130,125,125,126,126,117,112,125,145,163,177,185,189,190,188,183,177,167,158,149,141,134,128,
+122,114,105,93,83,73,64,54,47,40,34,28,23,19,15,12,8,4,2,0,0,0,2,5,12,22,36,53,70,81,85,90,97,100,99,98,99,103,110,124,136,145,148,147,151,172,195,218,
+232,220,156,81,47,40,43,47,49,52,53,56,59,63,70,79,95,113,129,139,147,165,196,221,230,231,232,232,232,233,233,233,233,234,233,233,234,234,233,233,234,234,234,234,229,216,199,184,
+175,163,156,155,156,156,156,153,152,151,150,150,148,145,140,132,128,126,124,122,120,118,116,113,109,101,90,79,69,62,58,57,54,53,49,42,36,32,29,27,24,22,20,19,18,18,16,14,
+13,12,11,8,7,6,5,7,12,19,31,47,62,73,84,104,130,154,187,209,204,186,151,126,124,126,121,111,98,79,59,37,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,7,37,78,131,173,176,133,55,6,0,0,0,0,0,1,1,1,2,2,2,2,3,3,3,4,6,9,16,24,30,33,34,36,44,50,52,53,48,39,32,31,32,35,42,50,61,79,
+103,130,153,168,179,184,186,184,179,173,167,161,156,150,145,139,133,125,117,108,99,92,83,74,65,57,49,42,36,30,25,21,16,13,10,10,15,23,30,36,43,51,58,62,67,71,73,75,
+78,76,71,67,61,54,49,49,55,59,60,66,79,95,112,133,165,212,239,211,156,95,52,39,41,46,51,62,84,112,138,162,190,212,226,232,236,243,248,243,238,236,237,237,237,237,238,238,
+238,239,239,239,239,239,239,239,239,238,238,241,246,249,243,234,227,207,173,150,134,124,118,110,104,100,95,93,91,89,85,79,78,75,73,72,72,71,70,67,63,57,51,46,44,41,40,38,
+37,34,32,30,29,28,25,25,23,21,19,18,16,15,14,12,11,10,9,11,19,27,35,41,48,54,60,63,65,67,67,67,68,67,74,98,120,153,184,175,136,103,77,60,59,71,82,83,
+75,58,36,16,3,0,0,0,0,0,0,0,0,0,0,0,97,148,176,170,138,83,34,6,0,1,1,0,0,0,0,0,1,2,3,3,3,5,5,5,13,32,44,49,53,57,58,59,
+60,60,60,61,62,63,63,60,53,47,47,48,53,62,78,99,126,151,173,187,197,202,204,202,199,196,191,186,180,174,167,161,154,148,141,134,124,114,104,94,85,77,70,62,55,48,43,40,
+38,41,50,68,90,107,116,121,122,121,119,116,110,103,96,93,93,93,94,93,93,88,81,69,58,45,31,24,27,38,53,70,90,123,176,222,240,221,160,98,71,80,111,147,187,219,235,243,
+247,242,235,231,228,218,196,164,147,145,145,144,145,145,146,148,149,150,150,151,152,153,153,153,156,165,170,176,191,214,237,252,255,252,241,223,199,175,162,154,149,139,123,102,89,84,80,79,
+78,78,78,79,82,84,83,81,78,73,67,59,52,44,37,33,29,28,27,28,28,27,24,23,22,22,22,20,18,18,18,21,24,31,43,63,87,105,116,120,122,121,118,114,107,100,92,88,
+87,86,84,81,78,81,99,141,175,183,177,154,121,101,81,83,92,97,90,72,49,25,10,2,0,0,0,0,1,4,19,54,172,143,95,70,56,51,53,56,57,56,49,37,33,29,17,7,
+2,2,2,3,5,6,6,7,21,46,55,53,49,45,43,44,49,54,59,60,58,56,61,70,78,81,82,85,93,109,132,158,180,194,205,213,220,225,226,226,224,224,222,220,218,215,210,205,
+201,197,194,191,184,170,154,142,135,130,126,117,110,103,101,102,108,119,135,149,156,156,151,145,138,131,125,120,114,105,93,83,73,68,67,67,71,79,88,94,96,93,80,57,38,29,24,26,
+36,51,78,118,167,218,242,228,203,202,221,238,246,241,228,217,195,170,157,154,153,145,129,116,111,110,107,100,98,95,89,82,79,79,81,82,82,83,84,84,93,109,115,114,115,126,152,199,
+230,231,236,247,248,241,235,234,235,232,219,193,167,154,147,140,129,120,114,110,105,102,100,98,98,98,104,110,103,93,85,80,76,74,73,67,59,52,46,44,45,56,66,68,68,68,73,81,
+92,107,125,142,151,152,147,142,135,128,122,117,111,102,89,78,68,61,59,58,61,68,75,80,91,106,117,136,157,168,175,173,174,179,175,168,169,161,150,139,133,134,133,134,141,151,172,186,
+92,83,81,84,84,85,85,85,85,87,88,90,99,108,95,71,49,35,31,32,32,30,26,26,31,40,42,44,49,56,61,68,76,86,93,95,91,84,80,80,83,86,98,130,169,203,225,237,
+241,242,243,244,246,248,248,248,248,248,248,248,248,249,249,249,249,248,248,246,244,236,225,218,211,206,200,188,173,155,143,139,136,137,138,129,115,101,88,81,78,74,72,75,81,88,93,95,
+92,86,78,73,67,67,69,73,81,94,107,109,99,84,69,56,52,61,82,114,153,197,238,255,255,255,254,243,217,188,168,158,145,125,121,120,119,119,120,121,123,125,126,129,136,143,135,117,
+100,91,87,88,87,85,82,82,86,92,92,92,95,99,108,129,152,160,173,200,223,235,239,239,239,241,247,248,242,236,231,226,214,200,191,185,177,175,174,173,174,176,194,213,212,209,210,213,
+213,211,207,184,154,127,105,91,85,86,91,90,89,88,92,103,111,118,123,114,101,88,77,70,68,65,65,68,75,82,88,90,87,80,71,64,58,57,58,62,69,82,95,98,93,91,96,93,
+93,109,138,162,174,187,198,205,206,197,189,185,180,176,159,132,71,59,47,36,30,29,29,29,29,31,38,53,77,106,126,134,132,119,102,93,91,89,87,85,86,87,88,93,100,105,107,108,
+108,108,106,106,109,114,119,126,137,162,202,234,250,254,254,254,254,253,253,253,252,252,252,252,251,251,251,251,252,252,251,251,251,250,249,248,249,251,251,252,251,249,246,240,231,213,190,168,
+142,117,95,73,57,45,36,30,26,23,21,22,26,33,43,54,67,78,86,90,92,94,93,91,91,95,105,119,131,139,142,144,154,175,201,223,236,245,250,244,233,234,247,246,208,158,126,111,
+100,87,78,72,68,68,70,71,72,76,82,94,114,137,153,160,159,148,135,127,124,122,120,119,119,118,119,121,126,130,130,128,126,125,124,131,147,163,173,175,175,179,195,216,230,236,238,240,
+244,246,246,245,245,246,246,246,245,246,250,254,246,226,218,217,215,210,216,228,234,230,219,208,195,174,139,107,88,77,69,57,42,36,32,23,17,13,9,8,8,7,7,10,14,23,34,46,
+60,72,80,84,87,88,87,86,85,90,103,119,132,138,132,117,103,98,94,89,91,101,114,127,133,127,112,98,89,87,87,88,12,6,1,0,0,0,0,0,0,0,0,5,13,29,53,86,
+124,144,131,102,84,82,87,91,94,96,96,95,90,83,77,74,69,65,63,70,94,126,157,183,208,235,239,227,219,216,220,226,232,235,236,236,236,237,237,237,237,237,236,235,233,231,229,226,
+224,222,219,216,217,221,225,227,227,230,235,240,245,249,247,239,224,203,175,149,124,109,94,72,51,36,26,22,20,19,18,18,21,29,36,43,50,57,66,74,81,95,111,130,154,177,200,221,
+237,247,250,243,231,215,189,149,113,103,131,177,221,223,188,138,86,53,37,34,35,35,35,38,41,45,47,51,58,71,90,116,146,162,152,128,113,110,113,114,115,115,113,110,104,97,90,85,
+79,73,67,66,71,78,86,93,100,109,124,141,156,164,169,176,188,198,201,199,199,199,198,198,198,198,198,193,157,100,75,67,61,56,63,88,117,144,170,186,200,219,229,224,214,206,196,166,
+120,69,38,22,7,0,0,0,0,0,0,0,0,0,0,1,6,13,21,28,36,44,53,60,66,71,77,87,99,110,113,104,95,91,80,66,59,57,54,50,48,44,35,25,20,17,16,16,
+0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,17,46,85,110,106,80,56,45,43,46,48,50,49,47,45,47,51,62,88,121,150,194,225,234,233,227,203,165,146,147,153,164,178,
+191,202,209,213,218,222,225,227,227,226,225,222,219,216,215,213,210,208,205,201,198,195,194,191,188,185,185,188,196,210,223,233,244,249,248,242,233,226,216,192,161,133,113,104,100,98,97,98,
+100,106,107,104,103,105,109,115,129,160,190,212,227,235,237,234,225,210,181,140,108,84,61,39,27,22,25,45,107,177,219,233,212,169,114,73,65,80,78,86,102,106,108,111,112,108,109,117,
+135,158,170,164,147,132,126,123,121,113,99,83,71,62,53,50,48,48,47,46,44,42,42,43,45,50,57,67,74,79,84,91,96,100,97,90,85,85,84,82,82,79,75,64,43,23,15,14,
+13,12,12,13,15,21,29,38,47,71,110,146,165,175,190,217,234,221,199,174,136,97,67,44,23,7,1,0,0,0,0,0,0,0,0,0,0,0,1,4,8,11,15,20,25,28,27,21,
+17,16,13,8,6,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,10,16,21,31,54,91,130,140,115,80,58,47,44,46,54,66,79,101,133,
+172,211,235,241,230,199,173,159,148,134,121,121,129,139,149,159,172,183,195,203,210,217,222,225,225,225,224,223,222,219,218,217,216,213,210,208,204,199,195,191,186,179,173,167,163,162,165,171,
+185,201,214,225,234,239,243,248,244,237,231,227,225,224,225,227,231,234,234,232,230,230,230,231,235,243,246,240,224,205,181,154,128,100,68,43,30,25,23,22,22,23,22,21,25,43,81,140,
+196,227,231,212,205,223,221,223,228,223,223,226,227,223,222,222,222,226,232,238,238,233,227,224,221,214,198,178,162,145,123,111,109,109,109,107,100,87,72,61,54,46,38,33,32,32,32,33,
+34,33,31,28,27,30,36,37,35,32,26,21,19,17,16,15,15,14,14,13,12,10,8,6,4,4,6,14,20,25,34,65,115,163,188,211,228,229,220,204,174,138,116,90,56,31,15,7,
+5,5,7,9,9,9,8,9,9,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,19,43,67,83,90,
+99,108,123,147,166,168,160,153,151,148,149,169,190,206,223,239,241,219,183,164,138,112,107,109,113,119,127,133,141,150,157,166,175,185,195,203,210,217,225,229,229,230,230,229,229,227,225,222,
+220,217,215,213,210,207,204,200,195,190,186,179,172,164,156,150,146,145,146,150,157,159,170,196,214,218,221,224,228,233,239,247,253,254,254,255,255,255,255,255,253,252,248,242,234,223,208,191,
+172,148,120,87,56,39,32,27,23,21,20,21,20,18,18,28,51,92,150,202,219,235,232,232,235,229,230,235,239,240,242,243,243,245,245,247,249,250,249,246,243,243,245,246,244,240,230,223,
+222,222,222,222,218,205,188,171,159,138,105,77,56,42,32,28,25,23,21,19,20,34,55,62,60,59,57,52,48,42,33,24,16,11,9,8,7,7,7,6,5,4,2,1,0,0,0,0,
+4,17,30,52,84,119,152,177,206,224,228,226,212,192,166,146,135,124,112,103,99,96,93,89,85,81,73,58,38,21,10,5,4,11,21,25,26,28,29,27,25,21,8,1,0,0,0,0,
+71,84,96,97,87,63,40,34,40,55,78,105,127,137,137,137,137,135,135,141,165,195,224,242,249,249,249,248,240,231,213,192,164,130,109,103,105,109,115,122,127,134,142,151,161,170,177,186,
+193,200,207,212,216,220,224,228,229,230,230,231,231,230,231,229,227,223,221,218,215,212,210,207,203,200,195,191,186,180,173,166,158,150,142,134,128,123,120,126,138,149,161,171,180,185,190,203,
+219,225,224,223,223,224,228,232,236,239,239,239,239,239,241,245,246,244,234,210,174,139,117,97,71,46,29,21,18,16,16,15,14,16,28,51,66,85,85,98,122,135,152,170,183,182,178,177,
+174,171,168,164,162,165,171,179,184,190,201,212,219,228,234,234,233,231,230,231,233,240,244,245,243,237,221,201,177,150,131,119,110,96,79,65,54,55,62,58,52,53,55,57,59,61,61,57,
+48,36,26,17,13,10,9,9,8,8,8,8,9,7,6,4,3,2,0,0,4,13,23,37,69,106,138,176,208,230,241,247,248,246,240,231,226,221,217,207,195,184,175,170,162,150,138,130,
+132,157,178,182,181,184,188,183,180,171,142,119,110,103,95,79,222,221,227,231,229,221,206,196,193,202,215,222,219,212,206,205,203,202,201,211,230,236,224,203,186,184,189,184,176,175,172,164,
+156,151,147,142,140,143,147,151,158,168,178,188,197,203,208,213,216,221,224,227,228,230,230,228,228,229,229,229,229,229,231,231,232,231,230,228,227,224,222,220,218,215,213,211,208,205,201,197,
+192,186,179,174,172,170,164,160,161,164,168,166,157,144,134,129,129,130,124,118,116,117,122,128,136,143,146,151,155,157,164,179,198,217,235,247,250,243,235,224,203,170,134,97,63,44,35,30,
+27,26,25,29,34,44,61,87,109,125,135,132,115,91,75,69,65,59,54,49,45,47,55,69,86,105,123,136,147,163,175,176,172,165,158,149,149,163,182,195,204,223,240,248,250,246,241,236,
+232,222,206,190,177,168,157,136,113,105,103,103,105,111,116,122,128,129,127,124,120,114,111,109,109,109,111,113,110,98,83,73,69,65,62,63,70,77,79,83,93,105,116,121,120,117,124,135,
+140,153,175,190,200,204,211,220,229,233,236,240,244,247,247,248,249,246,235,227,226,226,226,220,215,220,227,229,231,233,233,230,212,196,183,180,187,206,225,234,235,231,219,208,203,201,201,202,
+203,205,208,205,177,140,109,89,84,89,98,105,113,128,146,160,170,177,182,184,184,185,188,192,195,200,203,205,206,207,208,209,211,215,219,223,229,234,236,237,237,237,237,236,236,236,236,236,
+236,237,238,239,239,238,236,235,234,232,230,229,227,225,223,220,218,214,210,206,203,198,193,187,180,170,155,135,117,102,93,86,80,75,73,71,69,70,71,71,72,74,75,77,80,82,86,93,
+104,122,147,180,208,226,236,244,253,253,244,226,197,172,155,136,117,104,98,99,107,116,125,129,122,109,90,65,42,27,21,20,21,20,20,20,21,21,22,22,26,33,42,49,59,76,97,115,
+124,130,133,132,129,130,135,141,148,164,184,205,224,236,245,249,251,252,252,251,250,250,250,245,236,232,229,229,229,228,229,230,231,234,237,240,241,240,238,237,237,237,238,237,233,222,204,186,
+176,166,154,145,139,129,121,115,108,97,79,54,33,17,10,7,7,10,18,27,34,38,44,57,75,95,112,118,124,132,139,146,150,139,130,132,135,137,141,139,137,142,153,161,166,172,188,212,
+126,119,115,113,112,112,108,94,83,72,57,48,46,50,53,58,62,69,75,78,70,64,68,74,79,83,86,90,93,99,108,119,130,141,153,165,172,175,179,183,184,184,183,181,182,184,187,190,
+193,198,202,207,213,221,227,233,238,241,241,239,240,239,239,240,240,239,238,238,237,234,232,231,230,229,227,223,220,218,215,212,208,205,200,195,188,179,172,163,152,140,127,115,106,100,96,92,
+90,87,86,85,84,84,84,84,83,83,83,81,81,79,76,74,72,72,74,84,99,115,130,149,178,209,233,249,254,252,248,238,221,204,183,157,131,112,93,68,48,33,22,15,13,15,15,16,
+17,17,17,18,19,19,19,18,18,18,17,17,19,21,28,39,49,59,74,89,100,109,122,133,146,159,177,202,222,234,242,246,248,249,248,247,247,249,249,247,245,246,245,244,244,244,243,244,
+245,244,243,241,240,237,235,234,234,234,234,233,237,244,246,241,238,233,222,210,197,174,149,121,98,90,77,54,31,18,18,29,54,83,98,98,98,94,77,48,22,3,0,0,0,0,2,7,
+12,17,28,39,44,48,58,69,79,89,101,111,114,116,129,139,43,44,44,39,31,21,10,1,0,0,0,1,4,8,12,18,25,33,41,49,58,67,74,80,84,88,91,94,97,100,103,107,
+111,116,123,130,137,141,146,151,155,158,162,166,171,175,180,183,189,194,198,202,206,210,215,220,225,230,231,231,231,232,231,232,232,231,228,227,225,223,222,220,219,217,217,214,211,208,206,203,
+199,195,189,184,178,171,163,156,148,140,133,126,120,114,110,106,103,102,99,99,98,97,97,96,96,95,95,94,93,91,89,86,82,76,69,62,56,51,48,48,57,77,108,148,182,203,220,236,
+244,246,239,216,173,129,93,64,44,29,20,16,15,15,15,16,15,15,15,15,16,16,16,17,17,17,16,16,16,15,14,15,19,31,51,80,114,151,184,203,217,230,240,243,237,229,218,202,
+186,176,160,147,144,144,141,130,124,128,127,124,122,123,122,125,128,125,120,117,116,117,127,140,154,161,163,164,174,194,215,226,233,237,241,243,243,240,233,219,209,212,212,202,187,171,167,181,
+200,218,230,226,221,223,225,211,178,124,94,76,47,22,8,0,0,0,0,0,0,0,2,5,10,16,27,38,44,44,44,43,5,5,5,5,2,1,1,3,4,5,7,10,13,17,21,26,
+33,41,49,58,66,72,79,86,91,93,96,99,101,103,107,110,115,119,123,127,131,136,140,145,150,155,161,167,172,176,180,184,189,193,198,202,205,209,212,214,218,220,221,224,224,225,224,225,
+225,224,223,221,220,220,220,219,217,217,216,215,213,210,207,205,202,199,194,190,184,179,172,165,158,152,144,138,132,126,122,118,115,113,111,110,109,109,108,108,107,106,106,105,103,102,100,98,
+94,87,80,73,65,55,48,39,30,24,23,32,47,64,88,118,151,185,217,239,241,229,212,194,174,150,126,108,99,98,98,96,92,90,90,90,90,90,90,91,91,91,91,90,90,90,90,95,
+111,142,175,203,226,240,244,240,231,219,200,170,135,111,92,72,57,48,38,29,24,23,21,17,17,15,12,9,8,11,13,15,21,34,50,73,95,120,157,186,203,214,215,215,217,221,226,231,
+234,237,241,244,246,248,250,252,252,253,254,255,255,255,255,247,225,195,155,109,85,93,125,170,209,230,231,226,209,177,141,101,55,19,3,1,1,1,1,0,0,0,0,0,0,3,5,5,
+58,58,58,58,58,58,58,60,61,63,64,66,69,72,75,79,85,91,97,104,109,114,121,128,132,130,129,131,133,134,137,140,143,147,149,148,148,151,155,159,163,167,171,176,180,184,190,197,
+202,206,210,213,214,216,219,222,224,224,224,225,225,224,225,225,225,224,223,223,220,220,220,219,217,216,215,215,214,212,209,207,205,203,199,194,190,184,178,172,165,158,152,146,140,134,130,127,
+124,122,120,119,119,118,118,117,117,116,115,115,113,111,108,106,104,100,96,92,88,84,81,74,66,58,54,50,51,58,66,72,83,102,134,174,208,228,240,247,248,246,241,235,231,230,230,229,
+227,226,225,225,226,225,226,227,227,226,226,226,226,226,226,228,236,246,250,245,230,210,182,155,135,115,95,74,59,53,56,64,68,70,74,73,67,63,63,65,62,53,47,51,61,79,93,102,
+118,149,179,204,221,232,241,240,233,228,226,226,226,226,226,225,225,225,225,225,225,226,227,229,231,229,219,210,201,187,163,122,76,42,18,3,0,0,5,20,54,98,120,144,180,212,238,238,
+213,164,111,81,70,63,58,51,43,39,38,38,42,51,57,58,140,140,140,140,140,139,137,132,126,122,121,123,125,127,130,132,136,141,145,149,153,156,161,165,162,150,145,146,147,148,150,152,
+154,157,158,150,144,146,150,154,158,161,166,170,174,179,187,198,205,209,215,221,223,224,226,229,232,232,233,233,232,232,233,234,233,232,229,229,228,225,223,222,220,218,216,215,214,212,210,208,
+206,204,201,197,192,188,182,175,169,163,157,151,145,140,137,133,130,128,127,126,125,125,125,124,124,123,123,122,120,118,114,111,109,108,108,106,107,109,111,112,113,112,114,115,117,122,122,120,
+119,120,122,131,145,161,178,193,206,219,231,238,242,243,243,243,245,245,245,245,245,245,245,246,244,241,240,240,240,240,240,240,233,219,194,157,119,91,71,59,52,49,47,46,45,49,64,85,
+96,102,113,123,124,120,121,130,142,153,166,186,207,224,233,236,242,248,249,244,233,221,196,162,132,113,102,98,97,95,95,95,96,96,97,97,97,97,98,100,102,94,75,60,47,30,13,1,
+0,0,0,0,0,0,0,0,0,0,2,10,25,55,128,209,242,252,240,219,203,189,176,158,142,135,133,131,129,131,135,138,199,199,199,199,199,199,193,177,148,117,92,80,76,77,80,83,
+88,93,99,104,110,115,120,122,117,107,103,104,105,107,109,111,114,117,117,115,114,118,122,126,131,136,141,146,150,155,163,171,176,181,189,197,202,206,209,213,217,222,225,228,232,233,235,238,
+239,239,237,236,235,235,233,231,231,228,225,223,220,216,212,208,205,202,200,197,193,187,182,177,171,165,159,154,148,144,141,137,135,133,131,130,130,129,129,129,128,127,126,125,124,121,118,113,
+111,108,102,98,94,89,87,88,91,92,92,92,91,84,75,70,70,70,69,68,69,71,75,80,88,98,110,121,127,130,130,130,133,136,136,135,136,136,136,136,129,119,115,114,114,114,115,113,
+101,81,58,33,17,12,11,10,10,10,10,10,10,11,17,27,34,37,46,61,75,95,127,159,196,226,242,251,254,249,243,240,238,226,206,185,167,155,138,118,105,92,77,66,56,38,21,10,
+5,2,3,4,4,4,4,5,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,106,147,162,187,209,223,234,239,233,220,211,208,206,202,198,196,198,
+56,57,56,55,56,55,50,46,40,32,24,18,16,17,20,24,30,36,44,50,57,63,68,72,74,74,74,76,77,78,79,83,85,88,91,94,98,103,106,110,115,119,124,129,134,139,143,148,
+153,157,162,168,173,178,182,188,192,198,202,207,212,217,220,223,227,227,226,226,226,228,229,230,232,235,236,235,234,231,225,219,212,205,199,194,190,185,181,175,169,164,159,153,149,144,141,138,
+136,134,133,132,131,131,130,130,129,128,128,126,125,122,119,115,110,103,95,86,77,66,57,49,44,38,32,28,24,18,13,10,8,8,7,7,7,7,6,7,7,7,9,11,12,13,12,13,
+14,15,15,14,14,15,15,15,12,9,8,8,8,8,8,8,5,1,0,0,0,1,1,1,1,0,0,0,0,2,2,2,2,7,22,53,101,162,210,232,243,238,220,196,166,138,119,115,
+117,106,87,77,79,87,97,109,123,137,145,144,138,122,97,71,47,24,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,22,46,
+42,25,31,50,73,100,109,92,76,68,65,68,84,93,79,62,0,0,0,0,0,0,0,0,0,0,0,3,6,10,14,19,24,32,41,48,53,59,64,67,70,72,73,73,73,74,75,76,
+78,80,83,86,89,92,96,100,104,108,113,118,122,126,130,135,140,144,149,154,158,163,169,174,178,184,188,192,196,200,204,207,210,212,214,217,218,219,221,224,227,230,233,234,233,234,234,231,
+226,220,210,199,190,183,176,171,166,161,155,150,145,142,139,136,134,133,131,130,130,130,129,129,128,127,126,125,124,121,117,113,107,100,92,83,73,63,53,43,34,26,19,15,10,6,4,3,
+1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,3,3,3,4,7,9,9,9,9,9,10,10,11,11,10,13,21,29,32,35,39,47,62,77,83,
+86,100,140,185,221,241,235,216,185,136,89,55,28,13,9,10,15,19,23,34,46,57,70,87,106,126,142,148,151,154,151,139,127,104,69,35,13,2,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,6,12,18,22,24,25,31,39,45,47,49,52,56,60,
+65,75,86,92,95,99,102,104,107,109,110,110,111,110,110,111,112,112,114,116,117,120,122,126,128,131,134,137,141,144,147,151,153,157,161,164,169,173,177,181,186,190,193,196,198,201,206,211,
+214,218,221,223,224,223,221,218,217,215,214,212,212,212,212,213,216,221,221,214,204,193,178,167,159,153,149,145,140,137,134,131,130,128,127,127,126,126,125,125,124,124,123,121,120,116,112,108,
+103,96,88,80,70,60,51,42,33,25,19,13,8,5,4,3,5,5,6,12,18,23,26,32,48,72,100,115,117,117,117,117,118,121,116,97,82,80,81,81,81,81,91,112,122,120,118,119,
+119,118,119,118,117,115,125,150,169,175,177,184,194,207,220,224,225,231,244,249,239,211,165,127,100,77,62,51,42,42,50,58,64,76,91,100,101,96,90,85,81,74,70,69,72,76,79,86,
+102,122,127,111,83,54,28,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+59,62,70,83,94,100,101,103,108,115,118,120,121,123,124,125,126,127,129,129,128,129,130,132,136,141,145,148,149,150,150,150,151,150,151,151,152,153,155,157,159,160,162,164,166,168,170,171,
+173,174,177,179,182,185,188,192,195,200,204,207,209,213,219,224,224,225,223,219,213,208,203,199,195,192,190,189,188,186,185,185,187,192,200,207,211,208,198,182,163,148,140,135,131,128,126,124,
+123,122,121,120,120,119,119,118,117,116,116,114,112,109,105,100,95,90,82,74,65,55,47,38,29,22,20,22,27,34,41,50,60,63,68,80,97,123,151,175,203,226,242,246,246,245,246,246,
+246,247,246,236,222,220,220,219,220,220,227,240,244,240,239,239,239,239,239,238,238,236,240,250,254,255,255,255,255,252,248,245,245,242,229,205,178,149,128,119,118,118,118,118,116,118,132,140,
+135,134,127,105,81,61,44,30,20,11,7,4,4,5,6,10,21,46,79,109,123,122,103,68,32,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,3,10,20,29,39,48,121,120,121,118,112,106,106,106,103,98,97,100,103,107,110,113,115,114,113,114,117,119,119,119,118,117,117,116,113,111,107,105,
+104,103,102,102,103,104,106,107,109,112,114,115,118,122,127,133,139,146,153,158,162,165,169,173,173,168,170,178,186,192,198,201,199,198,195,189,186,184,182,180,178,177,175,173,172,172,170,169,
+166,164,166,170,178,186,194,196,186,167,149,134,123,116,114,113,112,111,110,111,110,110,110,109,108,107,107,105,102,100,96,91,87,80,73,65,57,49,43,38,43,54,68,84,98,107,114,118,
+118,117,125,154,194,230,246,242,227,206,179,161,159,158,158,158,157,154,164,197,211,210,210,210,210,210,220,237,240,235,233,232,233,233,234,234,233,227,223,217,199,190,187,180,171,157,141,134,
+132,126,108,87,73,67,66,66,67,67,70,78,85,91,100,101,85,70,52,28,11,4,0,0,0,0,0,0,0,0,0,0,0,0,9,32,58,87,114,124,106,73,41,19,5,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,20,41,61,80,97,107,114,119,70,67,61,49,37,32,37,47,56,59,63,69,77,84,90,98,
+108,120,130,139,146,148,147,142,135,124,113,104,95,87,79,70,60,50,44,42,43,44,44,46,49,51,53,57,62,72,89,113,143,170,189,200,203,204,205,208,208,199,193,197,199,197,190,183,
+173,165,163,163,165,167,168,167,168,168,166,164,163,162,160,159,156,152,148,145,140,141,149,164,177,182,175,162,145,130,117,106,101,98,96,96,95,95,95,96,96,95,94,93,91,88,85,80,
+77,71,66,63,63,67,73,82,98,114,120,120,114,104,93,80,83,128,183,227,231,196,146,115,91,72,57,49,49,45,39,30,22,16,15,32,43,44,44,43,43,45,63,98,115,113,112,111,
+107,102,99,98,97,90,82,71,51,42,39,34,28,21,14,12,11,10,7,4,3,4,4,4,4,4,5,9,12,15,18,16,9,3,0,0,0,0,0,3,8,11,12,12,12,12,12,12,
+12,12,9,6,6,16,41,78,111,123,115,93,66,43,23,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,12,23,38,54,72,95,114,121,121,114,104,93,84,
+5,3,1,2,9,28,51,73,88,96,103,112,119,127,135,142,151,158,158,154,150,151,157,164,168,164,153,144,137,131,124,113,97,77,56,38,30,28,28,29,31,34,36,38,40,44,48,55,
+65,78,89,99,104,108,111,116,126,152,175,183,185,191,203,213,215,205,191,178,170,166,168,174,181,184,183,183,181,178,173,170,172,177,179,176,170,168,168,171,179,189,199,204,203,197,188,177,
+166,155,144,133,118,107,98,91,85,83,82,82,81,79,78,80,84,87,89,96,103,112,116,118,113,97,77,58,40,25,20,59,147,220,226,180,107,63,54,65,75,79,80,80,80,78,73,61,
+46,31,17,6,0,0,0,0,10,25,40,55,68,73,75,73,64,47,28,11,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,13,26,35,39,41,48,63,81,91,93,93,91,87,79,74,72,71,68,60,45,28,15,17,38,69,98,118,123,115,99,73,49,32,24,20,15,11,5,3,3,3,3,3,4,7,13,25,
+41,56,68,82,99,113,120,121,114,95,73,54,38,25,17,11,0,5,16,37,63,84,93,91,84,85,95,110,126,142,158,165,154,121,83,58,47,47,57,81,118,154,172,172,162,149,136,126,
+121,117,105,82,56,36,24,21,21,24,26,27,29,29,31,33,35,35,38,40,43,48,53,58,63,70,79,87,96,108,131,160,187,209,225,231,227,217,212,210,208,208,209,211,215,221,217,213,
+219,224,227,230,235,240,243,241,238,237,237,240,243,245,247,248,248,246,243,237,225,213,199,176,155,137,117,101,97,98,104,113,123,129,131,127,117,103,88,75,56,33,15,4,4,25,94,191,
+231,181,105,64,61,76,86,81,70,63,62,63,65,70,80,93,102,106,101,83,64,54,50,56,73,85,88,86,81,76,74,77,82,87,80,59,32,12,1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,7,22,42,60,75,84,87,87,89,100,122,139,144,145,146,148,145,130,111,93,82,80,85,89,85,69,46,28,21,29,50,75,98,116,123,
+118,108,103,102,97,83,69,63,61,61,61,62,66,76,93,113,133,143,145,138,123,103,84,67,47,24,8,0,0,0,0,0,49,61,76,88,89,77,59,49,49,62,83,107,129,149,162,147,
+92,34,8,5,5,6,8,10,29,81,141,168,160,136,111,91,81,82,95,105,101,85,62,43,28,21,19,19,20,20,22,23,27,31,34,36,38,39,42,47,51,58,67,82,101,122,139,147,
+150,149,149,159,177,195,205,218,225,224,224,223,220,214,214,214,199,178,162,159,165,173,183,191,190,183,177,174,175,179,185,189,190,194,201,216,230,236,243,249,247,239,219,185,164,152,137,129,
+129,130,129,120,102,82,66,57,50,44,46,76,125,178,228,224,155,88,73,83,86,72,52,36,28,29,37,46,51,57,68,89,112,133,141,128,114,107,100,90,79,61,45,33,23,17,15,18,
+29,47,72,88,87,72,49,29,13,5,2,0,0,0,0,0,1,3,4,5,4,2,0,0,0,1,7,19,37,60,81,89,87,78,63,50,45,45,52,66,73,74,74,75,84,100,109,106,
+90,68,50,42,48,64,81,89,82,64,48,46,53,67,85,100,106,108,111,123,131,125,120,119,120,119,119,121,126,132,135,141,144,146,144,129,103,77,60,51,44,38,33,28,25,25,27,34,
+106,104,97,86,72,63,62,72,87,103,120,136,151,163,163,124,51,5,2,6,6,7,7,6,6,38,109,157,158,134,106,80,58,43,42,54,73,90,97,92,81,67,58,53,52,52,53,55,
+61,69,73,74,75,71,69,70,75,88,107,120,127,127,119,108,99,92,89,86,88,93,98,109,122,123,119,114,106,100,110,124,134,138,131,113,94,82,82,94,108,119,122,121,119,120,123,127,
+124,115,104,101,108,114,128,151,171,196,228,241,238,230,202,167,149,138,126,119,118,119,119,122,133,153,181,223,244,235,198,144,108,101,98,86,70,59,54,59,68,76,82,86,87,87,87,87,
+85,83,74,60,54,54,50,36,19,7,1,0,0,0,0,0,0,2,14,36,61,81,89,85,73,59,49,43,41,41,41,42,47,54,57,58,56,50,44,42,44,55,73,85,90,86,70,49,
+30,17,7,2,1,1,1,4,5,5,5,5,9,21,42,65,85,93,86,65,41,27,30,47,67,84,88,87,87,88,92,95,93,81,64,55,55,55,60,65,67,69,73,80,88,88,81,75,
+76,83,93,99,102,101,98,96,97,97,96,95,94,95,99,105,116,108,98,92,90,91,93,94,95,98,102,110,126,143,151,129,70,17,0,0,2,2,1,2,12,58,123,158,151,126,99,74,
+53,37,24,17,19,31,49,67,81,90,92,93,93,94,94,94,94,94,94,95,96,100,108,122,129,141,154,143,113,83,62,55,57,61,64,67,68,69,68,66,64,62,59,58,60,67,78,91,
+109,127,143,151,141,117,87,67,60,65,72,73,73,73,76,88,103,112,105,81,59,51,51,54,65,87,125,164,186,211,233,239,238,233,222,212,213,218,221,227,236,244,245,228,187,157,135,124,
+120,115,106,96,88,88,87,85,79,71,62,52,46,44,39,31,22,14,7,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,22,42,63,77,85,87,88,88,88,88,88,
+88,86,85,85,85,86,94,107,112,122,134,120,83,42,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,27,46,69,94,116,126,115,87,53,30,23,31,41,44,44,44,48,61,
+80,91,84,57,31,20,21,23,30,44,59,71,81,82,79,78,78,80,86,94,102,108,108,107,109,110,116,121,124,127,131,130,77,75,71,64,56,49,44,39,37,40,49,64,86,110,132,143,
+127,88,48,26,17,16,24,43,80,126,152,149,131,105,81,60,43,29,20,14,8,5,6,10,20,31,40,46,48,48,48,48,42,37,35,35,38,45,61,83,90,97,112,120,110,86,62,49,
+44,44,46,48,50,50,50,50,49,51,57,70,86,101,110,113,115,119,129,143,156,154,137,116,91,64,44,36,32,30,29,35,50,73,101,119,118,106,96,89,91,95,94,91,90,100,122,147,
+162,177,200,213,216,214,212,205,191,169,146,121,99,96,95,92,87,81,76,68,55,46,37,29,19,12,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,7,18,28,37,42,44,44,44,44,38,32,29,28,28,35,51,78,95,109,125,128,113,85,59,44,38,36,31,22,13,1,0,0,0,0,10,28,49,68,81,86,
+89,94,107,125,141,139,120,97,69,40,19,10,6,3,3,9,26,54,86,106,105,92,81,75,79,87,87,83,77,74,74,74,74,74,74,75,78,84,89,89,90,90,92,94,95,95,91,84,
+18,18,17,14,10,9,9,10,14,20,30,43,60,79,101,121,137,142,135,123,114,115,123,136,148,149,137,119,97,77,58,43,30,20,14,9,6,4,2,0,0,0,1,2,2,3,3,3,
+2,1,2,3,4,5,9,15,19,23,34,57,85,103,103,91,75,62,54,49,48,48,52,57,62,74,92,105,109,102,89,77,69,66,68,74,84,91,100,115,128,116,91,76,69,62,57,56,
+60,73,96,128,142,130,105,89,80,67,51,39,31,27,26,28,30,35,46,55,58,58,57,52,42,33,28,26,27,27,25,21,19,18,18,15,9,6,3,1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,105,132,136,156,171,177,182,190,200,206,204,199,
+191,185,179,172,162,134,94,65,47,47,63,78,84,79,67,55,47,45,47,55,67,76,86,104,118,104,77,62,54,46,42,41,45,58,85,120,136,123,97,80,71,57,39,26,18,15,15,15,
+15,15,15,15,17,22,27,27,27,27,27,27,27,26,23,19,44,50,55,59,59,60,62,63,62,60,58,61,69,76,82,88,97,110,121,128,132,134,133,129,119,106,92,77,62,48,36,25,
+17,12,8,5,3,1,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,3,3,5,7,9,13,27,52,76,93,103,110,114,112,108,102,99,101,103,104,97,80,59,40,27,22,
+19,17,17,18,19,20,26,42,71,88,90,91,93,95,97,99,99,97,95,89,78,58,39,27,21,15,10,8,8,10,8,7,5,4,2,0,0,0,0,0,0,0,1,6,13,24,34,38,
+43,48,55,58,59,59,59,58,55,48,41,39,38,36,30,20,11,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,22,113,135,125,102,79,58,53,54,62,80,100,115,125,132,140,149,159,181,199,203,197,183,157,111,64,33,6,0,0,0,0,2,4,6,12,31,61,79,82,83,85,88,90,91,
+91,89,87,82,69,50,28,16,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,13,24,34,39,131,134,138,140,140,140,141,142,140,137,134,132,131,128,119,106,
+94,88,86,85,82,79,76,72,66,59,51,42,33,26,19,14,10,7,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,4,4,6,6,7,11,19,33,
+53,81,111,137,151,143,122,109,101,88,68,49,33,21,13,11,9,8,7,6,7,7,6,6,10,18,27,37,51,69,86,95,94,87,77,67,56,46,30,16,11,12,15,14,10,6,6,5,
+5,5,6,7,11,14,21,30,38,44,55,72,90,108,120,125,128,133,137,140,140,140,140,140,138,134,128,126,126,124,117,102,85,69,53,35,19,6,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,17,38,65,96,124,138,133,121,124,143,160,178,187,175,156,105,48,
+17,0,0,0,0,0,0,0,2,11,20,30,45,64,81,90,88,81,71,61,51,39,23,8,3,5,8,7,2,0,0,0,0,0,1,3,7,12,19,29,36,43,55,71,89,108,121,127,
+124,120,115,112,112,112,112,112,117,124,130,132,133,134,137,138,131,122,114,105,93,77,60,46,35,27,22,19,16,13,9,7,5,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,1,1,2,2,2,4,4,5,6,6,10,18,36,62,92,110,112,112,110,99,90,86,80,70,58,45,33,22,16,12,10,10,9,10,13,20,32,49,67,83,93,94,
+94,95,98,103,110,116,108,89,77,80,87,81,61,44,41,41,44,48,57,68,79,90,103,116,125,130,138,145,147,144,136,132,129,125,117,112,112,112,112,112,116,123,128,130,131,135,143,151,
+152,146,138,124,102,73,43,21,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,9,26,53,84,103,104,102,100,91,92,111,132,149,180,191,174,137,86,47,27,14,2,2,7,15,28,46,65,81,90,92,91,92,95,100,107,113,106,86,74,76,84,78,58,43,41,42,
+44,49,58,69,80,91,103,116,124,129,136,142,144,141,133,127,44,33,26,23,24,25,25,25,29,36,48,63,78,91,107,126,139,142,141,140,139,132,118,98,74,48,26,12,6,3,3,2,
+1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,3,3,3,7,18,39,58,73,77,71,66,68,74,84,89,89,
+87,79,72,65,60,59,59,64,70,78,85,89,85,72,59,55,65,85,108,128,145,156,160,157,154,154,156,154,142,129,125,125,127,131,136,141,144,144,144,138,131,126,117,102,86,68,52,44,
+40,34,28,25,25,25,25,25,28,36,48,61,76,90,106,129,149,157,159,160,160,152,133,106,75,43,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,33,53,68,73,66,60,60,66,75,92,119,146,176,197,197,189,171,128,91,75,72,78,84,79,67,54,50,
+60,81,105,125,141,153,156,156,155,158,163,166,164,160,161,162,163,167,171,175,178,179,179,177,174,171,163,150,125,97,74,60,106,64,28,9,0,0,0,0,3,20,47,73,88,92,95,98,
+102,107,113,118,125,134,141,146,143,126,97,64,35,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,5,9,11,11,11,11,11,11,12,12,12,11,8,6,
+5,3,3,3,1,2,4,9,12,10,9,10,15,24,36,47,60,71,77,83,85,85,84,83,78,71,61,47,34,28,34,55,89,122,143,151,151,145,138,130,121,120,128,134,134,131,132,132,
+130,126,118,109,98,89,82,74,66,59,49,34,19,8,1,0,0,0,0,0,0,0,0,0,4,20,47,74,87,92,95,98,103,109,116,123,131,142,150,154,149,129,98,63,33,13,2,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,5,9,11,11,11,11,11,11,11,11,11,9,6,3,2,0,0,0,0,0,1,6,9,8,6,7,13,22,33,43,
+54,70,89,113,133,162,196,206,195,157,112,80,67,60,64,80,108,136,155,163,167,168,172,184,195,203,210,221,232,239,242,241,241,240,239,238,236,234,232,229,227,226,223,216,198,175,159,140,
+232,203,164,122,78,49,39,45,65,84,92,83,65,50,42,35,29,28,30,32,39,51,65,85,114,142,153,143,122,88,56,40,31,25,22,21,21,21,21,21,21,23,27,34,38,42,50,58,
+62,64,69,78,82,82,82,82,82,82,82,83,83,79,71,64,60,53,48,51,47,32,14,3,0,0,0,0,0,0,0,0,5,11,16,23,27,28,28,26,23,23,26,32,47,73,104,131,
+146,141,122,100,83,66,50,38,30,30,42,54,64,75,85,89,88,84,77,69,63,64,71,77,77,75,72,64,52,42,34,22,12,12,12,12,12,13,20,38,65,87,93,84,65,50,42,35,
+29,28,28,31,38,51,65,86,116,144,154,144,122,88,57,40,31,25,22,21,21,21,21,21,21,23,27,34,38,42,50,58,62,64,69,78,82,82,82,82,82,82,82,82,82,79,70,63,
+59,51,47,50,46,30,13,1,0,0,0,0,0,0,0,0,4,10,14,19,22,26,41,68,111,160,185,183,187,195,206,216,221,222,222,223,226,229,233,240,244,246,247,248,247,241,236,237,
+237,236,236,235,234,235,237,238,238,238,238,240,244,246,245,242,233,247,250,241,220,198,182,170,153,118,69,27,6,0,0,0,0,0,0,0,0,0,12,35,68,108,145,158,160,156,143,130,
+120,111,107,106,106,106,106,106,107,108,114,122,126,132,141,146,139,126,121,119,117,117,117,117,117,117,117,117,117,118,120,120,120,120,125,132,130,114,87,58,37,24,14,7,2,0,0,0,
+0,0,0,0,1,5,15,30,49,71,93,113,131,144,145,131,103,66,36,18,9,3,0,1,11,27,45,60,76,86,89,90,90,89,88,87,87,88,85,78,74,74,76,82,87,88,88,82,
+72,72,74,78,86,93,104,117,123,103,63,27,9,2,0,0,0,0,0,0,0,0,12,35,68,108,145,158,160,156,143,130,120,111,107,105,105,105,105,105,105,106,112,119,124,130,139,144,
+137,123,118,116,114,114,115,114,115,115,116,116,116,117,119,119,119,120,126,135,132,116,89,60,39,26,16,9,4,2,1,1,1,1,0,0,1,4,12,25,45,78,122,150,162,171,175,177,
+181,193,215,236,247,247,241,224,204,195,193,189,177,161,154,153,152,152,152,150,151,151,147,142,139,139,140,151,172,189,199,212,151,183,214,237,251,255,254,245,220,172,110,56,26,14,6,0,
+0,0,0,0,10,31,56,75,87,94,99,101,105,117,129,134,137,140,141,141,141,141,141,141,141,141,138,134,131,133,136,130,105,76,61,52,47,46,46,46,45,44,42,41,41,46,54,60,
+64,78,107,132,146,160,163,154,141,128,114,102,91,85,83,78,69,61,58,56,57,67,89,115,136,151,158,160,155,125,84,52,24,5,0,0,0,9,25,45,66,82,87,85,76,65,58,59,
+62,63,63,63,61,52,36,22,19,20,27,40,57,68,77,90,98,104,115,129,143,142,130,107,74,36,9,0,0,0,0,0,0,0,0,1,11,32,57,76,88,94,100,101,106,117,129,133,
+135,138,139,140,140,141,142,145,149,150,148,144,142,144,146,142,120,94,82,73,67,67,67,63,59,54,48,45,46,54,62,66,69,81,101,116,127,141,148,140,126,113,96,81,69,62,60,59,
+60,60,60,59,60,69,90,115,134,146,153,158,165,168,181,200,218,233,239,231,206,179,156,129,113,111,110,100,85,69,61,62,65,67,67,66,63,55,40,28,24,26,32,47,69,85,99,119,
+118,137,158,172,179,184,198,220,237,240,226,193,159,132,104,69,45,39,43,56,74,91,91,77,58,42,29,20,19,28,38,46,54,61,65,66,65,65,65,65,64,62,56,47,42,41,42,37,
+21,6,1,0,0,0,0,0,0,6,18,28,36,37,40,62,95,119,161,183,187,197,208,218,222,224,226,225,224,223,223,221,213,201,183,168,163,160,157,147,133,122,125,133,128,100,70,49,
+36,28,30,38,49,67,83,88,81,65,46,33,29,38,54,69,76,78,78,77,72,61,48,41,41,46,57,72,86,94,97,104,115,128,138,135,116,83,52,27,7,0,0,0,0,0,0,0,
+2,12,29,49,73,90,90,76,57,40,26,17,18,28,42,57,76,96,114,129,134,138,148,164,179,184,181,178,175,175,175,173,165,157,155,153,152,152,151,144,134,115,90,76,74,81,85,78,
+62,48,43,42,48,66,94,117,130,139,143,143,141,139,138,138,138,138,137,137,139,145,151,152,154,164,180,200,216,232,244,245,233,213,184,144,110,97,95,90,80,63,44,31,27,36,53,68,
+75,77,77,76,71,60,47,40,40,45,55,70,85,92,96,102,119,131,137,128,105,84,83,105,144,188,226,243,245,241,232,212,194,187,182,176,168,156,140,117,93,87,87,83,79,78,77,78,
+79,80,81,81,81,81,81,79,74,68,58,42,28,23,22,20,16,11,5,1,1,8,26,57,97,145,164,169,172,173,173,173,160,146,108,69,57,56,63,75,85,97,110,120,129,133,135,141,
+156,174,196,206,210,211,200,173,137,98,67,59,71,81,89,91,89,85,85,87,88,82,65,45,27,15,16,31,56,80,89,84,78,75,75,77,81,87,89,88,87,88,86,85,88,92,96,103,
+119,133,139,127,96,61,37,22,13,12,13,14,18,27,36,49,64,89,116,131,129,110,86,68,60,57,58,59,67,81,96,124,159,182,201,216,221,223,229,237,241,242,242,242,242,241,241,241,
+241,241,242,242,242,242,243,242,241,235,226,222,222,222,220,213,197,174,149,127,109,89,74,72,81,94,104,112,119,123,125,126,126,127,131,141,155,171,179,182,194,213,230,242,248,240,219,189,
+156,128,108,94,87,80,64,44,27,15,16,31,56,80,89,84,78,75,75,77,81,87,89,88,87,87,86,85,88,92,96,102,42,52,65,80,87,86,84,82,88,110,145,179,203,222,240,250,
+254,254,251,246,241,237,237,232,223,225,228,228,224,222,219,219,218,216,216,216,215,214,215,215,210,207,199,181,163,157,157,155,153,142,131,129,142,166,186,196,184,144,113,88,69,60,57,40,
+18,9,0,0,0,0,0,0,2,8,14,21,26,30,32,33,37,44,56,66,81,101,122,145,162,162,135,95,64,48,47,54,61,65,62,57,49,37,25,24,33,48,68,85,88,73,48,26,
+17,15,15,16,22,32,41,44,44,40,32,23,20,21,24,29,42,52,65,80,88,88,86,80,75,73,72,75,83,101,118,130,141,153,158,155,146,144,155,167,179,194,204,210,215,224,229,238,
+243,242,235,226,221,219,212,196,178,170,170,170,171,173,177,181,185,189,189,189,189,190,191,195,200,211,226,238,243,245,248,252,252,250,247,242,233,219,199,185,185,186,180,174,170,170,169,169,
+169,172,182,198,216,231,238,242,243,235,221,203,174,131,91,71,65,64,61,55,48,37,25,24,33,48,68,85,88,73,48,26,17,15,15,16,22,32,41,44,44,40,32,23,20,21,24,29,
+0,0,5,15,29,42,56,67,73,74,78,85,99,121,146,170,192,216,237,248,252,254,255,255,251,246,244,244,245,245,244,244,244,241,240,239,237,235,234,234,237,244,249,250,250,252,253,255,
+255,253,252,253,253,246,229,203,177,151,134,117,91,69,59,55,53,53,53,53,47,42,41,46,53,56,57,57,57,57,57,60,66,71,71,72,82,87,83,85,96,106,109,102,87,68,54,54,
+59,63,66,71,75,77,80,84,88,88,81,64,39,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,15,29,43,56,68,75,76,75,74,79,94,104,104,
+98,96,93,94,127,194,233,244,249,252,253,252,249,245,240,229,210,188,166,144,130,121,109,92,77,72,71,72,79,94,110,122,129,132,133,133,133,133,134,135,139,146,160,170,167,165,180,205,
+227,240,247,251,253,254,255,255,255,255,254,251,248,247,247,245,245,245,245,244,241,232,217,204,187,163,138,116,93,66,50,50,57,62,66,71,74,77,80,84,88,88,81,64,39,16,2,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,10,14,14,12,11,14,30,62,110,166,210,237,247,241,227,207,182,150,127,119,124,134,142,147,154,
+161,166,168,171,171,171,171,171,174,182,191,202,212,214,211,209,209,217,228,239,245,248,248,247,243,235,223,208,194,183,169,149,129,113,101,95,91,87,84,84,83,82,82,82,82,82,82,81,
+78,74,73,74,77,72,61,57,57,62,68,72,79,83,88,99,106,106,112,124,136,145,142,123,93,60,32,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,4,10,14,15,15,14,15,20,23,20,15,14,12,21,109,224,235,218,200,177,158,149,146,140,138,133,128,124,121,120,119,116,114,112,112,112,112,112,115,118,114,105,
+95,88,86,86,86,86,86,86,86,87,93,97,92,90,95,110,130,150,169,186,199,211,220,226,229,233,242,250,253,254,254,252,248,242,235,224,206,175,136,105,84,74,72,74,80,84,90,101,
+107,107,113,125,137,145,142,124,93,60,32,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,26,63,113,166,211,
+237,240,225,189,140,96,64,39,20,10,6,8,12,17,21,29,40,48,56,66,76,83,87,89,89,90,93,99,99,89,73,63,61,69,86,112,136,157,175,191,209,226,236,240,241,241,238,227,
+213,193,171,158,143,119,99,82,66,57,54,54,52,51,52,51,46,41,41,40,39,36,32,30,31,33,36,41,49,56,61,62,59,54,57,66,77,90,101,103,92,73,53,36,17,3,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,55,125,115,80,57,37,22,17,16,17,19,26,
+34,43,51,62,73,81,85,86,88,88,88,87,82,66,46,31,21,15,14,14,14,14,14,14,14,14,16,19,21,25,26,27,28,32,38,48,61,73,81,86,88,95,117,149,177,195,210,227,
+238,241,241,238,230,212,184,151,115,84,59,41,34,37,45,57,60,57,60,69,82,95,103,104,95,76,56,37,19,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,1,3,6,10,16,25,48,90,149,199,231,245,239,209,159,106,56,21,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,12,12,13,13,13,12,10,5,0,0,
+0,0,2,7,15,26,37,53,84,124,161,196,217,229,240,246,248,247,244,242,236,225,212,200,186,171,166,161,150,147,148,148,146,147,147,147,147,147,147,147,148,147,146,154,167,168,157,132,
+114,111,111,114,107,74,49,56,87,122,146,154,140,115,82,54,34,17,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,2,0,0,0,0,
+0,0,0,0,7,16,12,2,0,0,0,0,0,0,0,0,0,0,1,3,7,11,13,13,14,14,14,14,11,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,5,18,35,51,71,105,144,173,191,204,219,234,242,240,229,211,181,146,104,62,32,16,9,5,3,4,8,15,25,42,64,87,109,119,98,56,18,1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+};
+
+
+unsigned char linesmap[TEXSIZE * TEXSIZE] = {
+93,102,35,124,79,0,74,178,178,69,24,168,206,164,100,25,8,34,71,85,11,0,94,248,249,232,251,235,50,0,0,0,0,90,169,68,154,248,248,115,12,0,3,36,19,0,0,0,
+0,0,0,0,16,38,5,0,0,10,79,102,76,26,45,79,48,138,179,138,18,0,0,0,0,18,198,248,216,95,22,0,13,37,37,13,0,0,5,123,124,6,60,79,8,0,0,0,
+0,3,64,209,248,203,26,39,12,88,149,55,19,0,0,0,3,70,71,43,23,38,5,81,243,248,248,249,251,190,30,25,93,102,35,124,79,0,74,178,178,69,24,168,206,164,116,224,
+248,249,250,250,135,0,0,0,52,164,120,65,207,248,149,0,0,90,169,68,2,0,8,39,12,0,3,36,19,0,0,0,0,0,0,0,84,249,248,90,0,10,79,102,76,26,45,79,
+48,138,179,138,18,18,198,248,198,18,0,8,79,83,22,0,13,37,37,13,0,0,5,123,124,6,60,79,8,0,0,0,0,3,50,50,2,0,8,39,12,88,149,55,19,0,0,0,
+3,70,71,43,93,61,5,0,0,0,0,27,179,160,30,25,25,47,2,3,6,73,178,178,74,0,10,48,175,209,162,27,3,42,39,54,82,13,0,127,252,251,241,50,0,0,0,0,
+1,47,121,149,22,94,248,249,155,14,33,19,0,0,0,0,0,0,0,0,0,16,39,3,9,79,102,76,27,32,0,16,84,54,138,179,138,18,0,0,0,0,26,216,250,199,46,22,
+3,43,43,4,0,5,123,124,6,0,0,60,78,8,0,0,1,62,209,248,203,18,0,8,37,14,110,156,22,0,0,3,70,71,5,110,124,21,108,243,248,248,249,250,147,132,123,5,
+25,47,2,3,6,73,178,178,74,0,10,48,175,209,162,51,221,249,249,250,250,133,0,52,164,120,65,207,248,194,18,0,1,47,121,149,22,0,0,34,100,14,33,19,0,0,0,0,
+0,0,0,0,0,104,249,248,96,79,102,76,27,32,0,16,84,54,138,179,138,18,18,198,248,198,26,82,70,6,30,22,3,43,43,4,0,5,123,124,6,0,0,60,78,8,0,0,
+1,47,50,2,0,0,0,8,37,14,110,156,22,0,0,3,70,71,5,156,249,224,62,6,0,0,22,145,97,132,123,5,5,0,0,0,72,178,178,74,0,10,33,39,95,173,202,155,
+57,9,10,33,55,82,64,220,251,249,248,90,11,3,0,0,1,22,4,88,148,19,106,252,250,128,26,0,37,19,0,0,0,0,0,0,0,0,12,40,79,102,76,27,32,3,0,0,
+20,89,56,138,179,138,18,0,0,9,82,84,199,248,198,49,49,9,12,38,11,123,124,6,0,0,0,0,66,79,8,0,19,203,248,203,18,0,0,0,8,58,26,86,141,16,3,70,
+71,3,0,7,122,165,244,249,248,249,250,149,36,7,122,122,5,0,0,0,72,178,178,74,0,10,33,39,95,173,202,155,85,222,248,249,250,250,151,163,120,65,207,248,196,21,0,0,
+1,22,4,88,148,19,19,149,93,58,26,0,37,19,0,0,0,0,0,0,0,0,101,249,250,156,76,27,32,3,0,0,20,89,56,138,179,138,18,18,198,248,216,84,3,0,0,33,
+49,9,12,38,11,123,124,6,0,0,0,0,66,79,8,0,1,22,4,0,0,0,0,0,8,58,26,86,141,16,3,70,71,3,81,243,252,252,224,61,6,22,148,100,36,7,122,122,
+149,13,0,74,178,178,74,0,10,34,40,88,28,22,167,207,158,31,0,13,33,97,230,251,235,122,248,248,101,36,3,0,0,0,0,0,83,140,140,147,249,249,112,62,156,39,0,0,
+0,0,0,0,0,0,8,82,102,77,26,32,3,0,0,8,44,29,87,56,138,179,138,18,9,82,71,2,18,198,248,206,54,21,0,19,143,127,6,0,0,0,0,0,12,84,77,24,
+198,248,203,18,0,0,0,3,34,23,34,12,76,137,86,71,3,0,0,0,85,249,252,248,250,250,149,36,3,0,5,128,149,13,0,74,178,178,74,0,10,34,40,88,28,22,167,207,
+158,67,221,248,249,250,253,178,62,207,248,194,34,36,3,0,0,0,0,0,83,140,140,84,34,23,34,62,156,39,0,0,0,0,0,0,0,0,8,149,251,250,107,32,3,0,0,8,
+44,29,87,56,138,179,138,18,26,216,250,198,18,0,6,34,39,21,0,19,143,127,6,0,0,0,0,0,12,84,77,7,0,0,0,0,0,0,0,3,34,23,34,12,76,137,86,71,
+3,81,243,248,248,252,249,88,55,150,99,36,3,0,5,128,141,113,76,178,178,74,0,10,34,40,88,28,0,6,50,168,203,156,33,0,64,226,251,239,50,0,94,248,248,102,36,3,
+0,0,0,0,18,168,169,52,106,248,249,203,64,0,0,0,0,0,0,0,0,12,79,102,79,48,32,2,0,0,10,57,33,0,19,88,56,138,179,142,94,71,2,0,0,24,206,248,
+198,49,28,123,131,43,6,0,0,0,0,0,0,14,95,216,248,203,18,0,0,0,3,36,19,0,8,36,16,130,177,25,0,0,0,81,243,248,252,252,249,160,36,2,0,0,10,66,
+141,113,76,178,178,74,0,10,34,40,88,28,0,6,50,168,203,156,69,226,249,252,251,250,227,248,194,18,0,19,36,3,0,0,0,0,18,168,169,52,19,0,58,174,64,0,0,0,
+0,0,0,0,0,12,79,102,147,249,245,91,0,0,10,57,33,0,19,88,56,138,179,142,94,84,198,248,198,24,38,13,0,33,28,123,131,43,6,0,0,0,0,0,0,14,83,79,
+14,0,0,0,0,0,3,36,19,0,8,36,16,130,177,25,81,243,248,248,248,243,160,121,140,117,36,2,0,0,10,66,0,142,179,178,74,0,10,33,40,88,28,0,6,38,13,21,
+165,204,150,79,219,251,234,85,82,13,0,94,248,248,102,36,3,0,0,22,147,83,105,154,19,124,252,249,115,13,0,0,0,0,0,3,8,73,102,76,26,38,36,6,0,10,62,36,
+0,0,0,20,88,54,142,203,170,20,0,0,6,38,31,198,248,199,148,136,6,14,35,6,0,0,0,0,0,18,201,250,220,29,0,0,0,3,36,19,0,0,0,8,88,74,89,148,
+22,0,81,243,248,248,249,251,189,41,36,6,0,10,62,37,0,142,179,178,74,0,10,33,40,88,28,0,6,38,13,21,165,204,150,104,245,251,250,250,250,220,18,0,0,0,19,36,
+3,0,0,22,147,83,105,154,19,48,159,59,38,13,0,0,0,0,0,3,8,73,102,76,26,122,249,243,90,10,62,36,0,0,0,20,88,54,142,203,170,20,18,198,248,206,31,0,
+0,6,140,136,6,14,35,6,0,0,0,0,0,0,14,83,85,12,0,0,0,3,36,19,0,0,0,8,88,74,89,182,244,248,248,248,243,81,27,179,158,41,36,6,0,10,62,37,
+72,170,178,74,0,10,33,40,88,28,0,6,38,14,0,0,20,159,204,234,251,231,49,32,55,82,13,0,94,248,248,102,36,3,22,148,90,36,19,81,152,149,125,248,248,114,13,0,
+0,0,0,6,35,46,69,28,32,1,13,34,16,60,37,0,0,0,0,0,17,82,99,168,180,138,18,6,38,14,0,18,199,252,226,53,24,0,13,38,6,0,0,0,18,198,248,206,
+90,84,12,0,3,36,19,0,0,0,3,68,71,36,12,88,148,96,243,248,249,249,250,147,132,121,17,34,16,60,37,0,72,170,178,74,0,10,33,40,88,28,0,6,38,14,0,0,
+20,159,203,194,149,235,248,249,250,250,112,0,0,0,0,19,36,3,22,148,90,36,19,81,152,149,48,0,2,38,13,0,0,0,0,6,35,46,69,28,32,1,107,249,244,129,37,0,
+0,0,0,0,17,82,99,168,180,138,18,24,206,248,198,18,5,123,124,38,24,0,13,38,6,0,0,0,0,0,0,13,78,84,12,0,3,36,19,0,0,0,3,68,71,36,89,247,
+252,249,248,243,106,31,145,97,132,121,17,34,16,60,37,0,178,178,74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,70,235,254,245,66,0,13,33,55,82,13,0,94,248,248,
+102,55,149,89,36,19,0,46,174,152,16,98,249,248,113,14,0,0,0,0,10,33,24,30,3,0,0,20,82,41,0,0,0,0,0,0,6,82,102,56,138,179,141,53,14,0,0,5,
+132,226,248,198,48,24,0,14,38,6,0,18,198,248,203,18,13,78,84,16,32,19,0,0,0,3,70,71,2,5,38,13,141,250,249,248,249,251,152,33,7,122,122,25,73,38,0,74,
+178,178,74,0,10,33,63,100,28,0,6,38,14,0,0,0,0,66,195,209,172,219,248,248,249,250,250,107,0,0,0,0,19,55,149,89,36,19,0,46,174,152,16,7,44,10,36,14,
+0,0,0,0,10,33,24,30,3,0,0,111,250,245,90,0,0,0,0,0,6,82,102,56,138,179,141,53,31,198,248,199,132,124,6,1,33,24,0,14,38,6,0,0,0,0,0,0,
+13,78,84,16,32,19,0,0,0,3,70,71,2,84,245,248,250,252,244,81,32,162,104,33,7,122,122,25,73,38,0,74,178,74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,
+56,223,252,243,211,156,24,0,13,33,54,80,28,0,94,248,249,191,110,34,18,0,53,157,48,81,148,26,138,250,248,113,14,0,0,0,0,28,56,10,0,0,10,59,109,140,11,0,
+0,0,0,9,82,66,24,86,56,140,190,144,18,0,6,122,124,23,198,248,198,47,12,0,14,38,23,198,249,203,18,1,63,133,86,96,27,0,0,0,3,70,71,3,0,0,7,107,
+244,250,252,250,251,156,56,10,0,5,127,153,46,32,78,178,178,74,0,10,33,63,233,204,18,6,38,14,0,0,0,0,52,157,124,176,245,252,211,231,248,249,250,250,112,0,0,0,
+24,155,110,34,18,0,53,157,48,81,148,26,70,68,6,36,14,0,0,0,0,28,56,10,0,0,10,59,166,252,243,90,0,0,0,9,82,66,24,86,56,140,190,144,18,18,199,252,
+225,23,0,0,1,32,12,0,14,38,5,0,22,2,0,1,63,133,86,96,27,0,0,0,3,70,71,3,81,243,248,249,248,247,177,83,170,110,56,10,0,5,127,153,46,32,78,178,
+74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,56,226,251,228,57,163,204,144,17,0,12,30,74,99,16,0,102,252,250,119,45,1,0,55,52,0,0,88,148,25,138,250,248,
+113,14,0,0,24,30,11,38,8,9,62,37,11,129,142,11,0,0,9,82,71,3,0,17,86,78,142,179,137,30,117,124,13,0,18,198,248,198,20,0,0,31,205,249,214,22,0,4,
+131,179,153,90,82,12,0,3,70,71,3,0,0,0,81,243,249,248,252,253,190,44,9,38,8,9,66,140,112,86,190,180,74,0,10,33,40,100,204,248,199,53,14,0,0,0,0,52,
+167,118,64,211,252,243,152,67,230,248,249,250,251,100,0,13,141,89,45,45,1,0,55,52,0,0,88,148,25,70,68,6,36,14,0,0,24,30,11,38,8,9,62,37,11,180,252,243,
+86,0,9,82,71,3,0,17,86,78,142,179,137,30,126,225,248,198,18,0,0,0,2,0,0,14,32,44,53,4,0,4,131,179,153,90,82,12,0,3,70,71,3,81,243,248,248,248,
+245,88,120,209,159,44,9,38,8,9,66,140,112,86,190,180,4,8,33,40,88,28,0,6,38,14,0,0,0,0,56,228,251,229,36,0,19,163,204,144,17,0,48,63,56,82,13,7,
+124,249,248,100,36,3,0,0,0,0,0,88,148,24,138,250,248,113,12,21,33,1,0,8,38,61,35,0,0,5,129,141,6,8,82,71,2,0,0,3,46,90,56,136,179,169,118,16,
+61,16,0,18,198,248,198,18,18,198,249,217,27,0,0,0,24,156,183,137,87,82,18,66,70,3,0,0,0,81,243,248,248,251,251,203,160,22,0,8,38,61,35,0,142,179,175,99,
+4,8,33,40,88,28,18,199,249,201,18,0,0,0,52,167,134,72,207,248,198,170,204,144,67,239,249,250,250,250,98,7,47,36,16,16,36,3,0,0,0,0,0,88,148,24,70,68,
+6,36,12,21,33,1,0,8,38,61,35,0,0,5,180,252,243,92,82,71,2,0,0,3,46,90,56,136,179,169,118,33,212,248,198,18,0,0,0,0,0,0,49,69,10,0,0,0,
+24,156,183,137,87,82,18,66,70,3,81,243,248,248,248,243,83,80,182,179,160,22,0,8,38,61,35,0,142,179,175,99,40,34,39,88,28,0,6,38,14,0,0,0,0,56,227,251,
+230,84,14,1,47,36,162,204,145,56,53,16,31,55,81,17,32,106,248,248,102,36,3,0,0,0,0,0,98,150,24,138,250,248,120,39,0,0,0,8,61,56,7,0,0,0,5,127,
+140,83,70,2,0,0,6,38,10,16,88,62,171,179,134,15,30,64,14,1,62,203,248,202,202,249,214,34,35,6,0,3,36,38,142,179,136,82,100,68,0,0,0,0,81,243,248,248,
+250,252,187,58,87,148,22,8,61,56,7,72,170,179,142,12,40,34,39,88,28,0,6,53,201,248,203,18,0,52,164,118,78,218,248,194,62,36,162,204,145,98,242,248,249,250,247,97,
+32,19,0,0,19,36,3,0,0,0,0,0,98,150,24,70,68,6,47,39,0,0,0,8,61,56,7,0,0,0,5,179,252,247,132,2,0,0,6,38,10,16,88,62,171,179,134,15,
+46,212,248,171,48,22,0,0,0,45,53,17,35,6,0,3,36,38,142,179,136,82,100,68,0,81,243,248,248,248,243,81,59,190,154,58,87,148,22,8,61,56,7,72,170,179,142,12,
+43,58,86,27,0,6,38,14,0,0,0,0,59,227,251,228,31,27,58,53,47,4,18,162,208,168,19,0,13,32,55,95,28,0,94,248,248,102,36,3,0,0,0,0,0,89,148,24,
+136,250,249,111,15,0,10,62,35,9,38,10,0,0,0,10,163,167,12,0,0,6,38,14,0,0,22,165,141,135,179,138,18,28,58,53,46,23,202,248,249,216,21,0,14,36,9,34,
+19,0,20,145,179,163,101,79,11,0,0,81,243,248,248,250,252,187,54,31,14,88,152,79,35,9,101,181,178,76,112,125,43,58,86,27,0,6,38,14,18,198,248,203,66,164,120,64,
+207,249,208,68,47,4,18,162,208,168,73,239,248,249,250,247,100,0,0,0,0,19,36,3,0,0,0,0,0,89,148,24,67,76,30,32,15,0,10,62,35,9,38,10,0,0,0,10,
+200,253,243,86,0,6,38,14,0,0,22,165,141,135,179,138,18,44,190,75,46,6,0,0,46,55,4,0,14,36,9,34,19,0,20,145,179,163,101,79,88,243,248,248,248,243,81,60,
+190,155,54,31,14,88,152,79,35,9,101,181,178,76,112,125,142,93,53,1,5,38,14,0,0,0,0,59,227,251,228,31,0,1,59,76,17,0,1,57,178,170,22,0,0,13,52,62,
+79,13,0,94,248,248,102,36,3,0,0,0,0,0,88,148,42,147,250,248,103,11,62,37,0,0,10,39,10,0,9,75,65,130,140,10,5,38,14,0,0,5,122,131,88,57,138,179,
+138,19,59,76,17,18,202,249,250,203,26,22,0,14,58,21,0,0,0,24,177,199,135,84,85,12,81,243,248,248,250,252,187,52,0,6,22,11,128,163,23,69,181,190,81,0,14,139,
+142,93,53,1,5,38,14,0,0,18,194,249,236,130,65,207,248,194,73,76,17,0,1,57,178,170,22,63,239,248,250,250,247,86,0,0,0,0,19,36,3,0,0,0,0,0,88,148,
+42,84,66,7,20,11,62,37,0,0,10,39,10,0,9,75,65,181,252,243,89,38,14,0,0,5,122,131,88,57,138,179,138,19,59,76,17,0,1,46,54,5,9,22,0,14,58,21,
+0,0,0,24,177,199,135,138,247,248,248,248,243,81,62,190,155,52,0,6,22,11,128,163,23,69,181,190,81,0,14,139,168,136,13,36,36,11,0,0,0,0,59,229,251,228,27,0,
+3,50,44,28,59,16,39,51,19,55,84,12,0,31,28,29,54,82,13,0,94,248,248,102,34,3,0,0,0,0,0,102,160,28,138,250,248,127,36,0,0,0,0,10,33,16,79,68,
+1,5,129,141,41,11,0,0,5,122,122,5,17,87,60,138,180,161,58,28,73,202,249,216,203,248,203,99,31,24,28,32,6,0,3,70,87,149,179,130,82,138,243,248,248,249,251,187,
+52,0,0,0,7,59,36,81,156,173,175,81,35,16,29,44,168,136,13,36,36,11,0,0,0,0,66,233,251,217,210,248,195,64,44,28,59,16,39,51,19,55,84,12,68,241,249,249,
+250,247,82,0,0,0,0,19,34,3,0,0,0,0,0,102,160,28,69,66,12,57,36,0,0,0,0,10,33,16,79,68,1,5,182,252,245,89,0,0,5,122,122,5,17,87,60,138,
+180,161,58,28,59,16,39,52,4,0,22,87,31,24,28,32,6,0,3,70,87,149,203,249,250,250,248,243,81,52,186,155,52,0,0,0,7,59,36,81,156,173,175,81,35,16,29,44,
+32,122,125,46,38,20,23,0,0,59,229,251,225,27,0,4,52,46,1,0,26,73,49,1,0,0,50,82,40,14,0,12,32,55,82,13,0,94,248,248,101,35,3,0,0,0,24,31,
+88,148,23,138,250,249,90,0,0,0,0,0,14,93,73,1,0,0,11,144,142,25,23,5,122,122,5,0,0,17,85,60,159,193,138,34,204,250,213,19,18,198,248,205,112,42,0,13,
+34,11,68,70,3,25,150,179,168,247,250,248,249,248,169,52,0,0,0,10,60,34,0,69,179,179,86,0,16,52,43,86,32,122,125,46,38,20,23,0,0,52,164,130,209,248,248,199,
+66,46,1,0,26,73,49,1,0,0,50,82,40,82,239,248,249,228,107,13,0,0,0,0,18,35,3,0,0,0,24,31,88,148,23,70,94,33,0,0,0,0,0,0,14,93,73,1,
+0,0,11,190,252,244,97,5,122,122,5,0,0,17,85,60,159,193,138,18,26,73,49,1,0,0,0,30,101,42,0,13,34,11,68,70,3,99,250,253,252,250,247,89,40,105,128,52,
+0,0,0,10,60,34,0,69,179,179,86,0,16,52,43,86,0,5,129,127,30,58,8,0,59,230,251,225,27,0,4,53,48,2,0,2,44,59,55,15,0,0,0,70,89,11,0,0,
+13,33,55,82,13,0,94,248,248,102,36,3,0,24,33,1,0,88,152,74,146,250,248,90,0,0,0,9,80,73,35,8,0,0,14,14,135,150,26,119,122,5,0,0,0,0,20,102,
+85,138,184,229,250,215,69,15,0,18,199,249,208,98,30,0,14,88,70,2,0,0,26,184,251,252,250,250,248,151,52,0,0,0,10,62,37,0,74,178,173,123,135,31,31,44,100,34,
+0,5,129,127,30,58,8,0,52,164,120,65,210,248,248,219,62,2,0,2,44,59,55,15,0,0,0,70,89,11,72,243,223,60,55,82,13,0,0,0,0,19,36,3,0,24,33,1,
+0,88,152,74,82,66,2,0,0,0,0,9,80,73,35,8,0,0,14,14,186,253,244,162,122,5,0,0,0,0,20,102,85,138,179,139,59,59,55,15,0,0,3,30,44,86,30,0,
+14,88,70,2,81,243,249,252,253,249,134,89,98,102,52,0,0,0,10,62,37,0,74,178,173,123,135,31,31,44,100,34,10,0,5,131,139,20,36,61,230,251,225,27,0,4,54,47,
+1,0,2,49,51,3,25,64,16,1,35,15,48,84,13,0,0,13,33,55,82,13,0,94,248,248,102,31,24,32,1,0,0,10,129,163,25,138,250,248,90,0,9,82,71,1,8,37,
+7,0,0,17,35,123,178,118,3,0,0,0,0,4,49,53,82,72,229,253,236,36,25,64,16,1,52,202,248,205,99,29,62,73,35,5,0,0,81,244,252,253,252,248,151,58,0,0,
+0,10,62,37,0,74,178,178,72,0,93,162,58,86,35,32,10,0,5,131,139,20,36,54,163,120,65,207,248,198,209,249,207,18,2,49,51,3,25,64,16,1,35,15,48,84,13,68,
+27,13,33,55,82,13,0,0,0,0,18,31,24,32,1,0,0,10,129,163,25,69,70,3,0,0,9,82,71,1,8,37,7,0,0,17,35,180,252,249,83,0,0,0,0,4,49,53,
+82,58,138,193,162,21,25,64,16,1,36,19,0,30,87,29,62,73,35,84,243,248,248,249,250,203,144,106,102,58,0,0,0,10,62,37,0,74,178,178,72,0,93,162,58,86,35,32,
+39,8,17,41,124,113,68,233,251,220,27,0,5,54,46,1,0,4,49,51,3,0,0,26,61,42,15,0,0,50,85,17,0,0,13,33,55,82,13,0,94,248,248,112,53,1,0,0,
+10,62,37,88,148,23,138,250,248,95,82,71,2,0,0,7,37,8,17,36,6,115,170,136,9,0,0,0,5,54,46,0,32,216,251,235,185,138,18,26,61,42,15,18,198,248,206,113,
+75,0,12,38,6,81,243,248,249,252,253,198,90,78,12,0,10,62,37,0,74,178,178,74,0,10,33,114,185,47,0,10,39,8,17,41,124,113,61,172,119,63,207,248,195,68,58,194,
+248,208,67,51,3,0,0,26,61,42,15,0,0,50,85,17,0,0,13,33,55,82,13,0,0,0,0,33,53,1,0,0,10,62,37,88,148,23,70,70,0,8,82,71,2,0,0,7,
+37,8,17,36,6,115,206,252,243,81,0,0,5,54,46,0,15,83,86,159,180,138,18,26,61,42,15,0,0,0,38,102,75,0,89,245,248,248,248,243,101,172,209,171,90,78,12,0,
+10,62,37,0,74,178,178,74,0,10,33,114,185,47,0,10,8,46,38,2,0,138,237,251,224,29,0,5,54,46,0,0,0,43,51,3,0,0,0,0,48,66,15,0,0,0,50,42,
+0,0,0,13,33,55,82,13,0,94,248,250,135,36,32,30,62,37,0,0,112,157,22,136,250,250,135,2,0,0,0,0,7,46,38,7,122,119,18,127,142,11,0,5,54,46,0,18,
+198,249,224,74,138,179,138,18,48,66,15,0,18,201,250,212,94,29,0,14,107,243,248,248,249,248,215,194,117,77,82,23,58,37,0,74,189,185,74,0,10,33,40,88,106,148,22,0,
+8,46,38,2,0,134,182,122,84,207,248,195,66,46,0,14,194,249,217,24,0,0,0,0,48,66,15,0,0,0,50,42,0,0,0,13,33,55,82,13,0,0,21,82,70,36,32,30,
+62,37,0,0,112,157,22,67,67,77,69,2,0,0,0,0,7,46,38,7,122,119,18,180,252,243,81,5,54,46,0,0,0,48,102,61,138,179,138,18,48,66,15,0,0,13,78,65,
+81,101,243,248,249,248,243,81,42,120,196,194,117,77,82,23,58,37,0,74,189,185,74,0,10,33,40,88,106,148,22,0,17,38,36,10,57,229,253,233,41,34,12,54,45,0,0,0,
+0,14,3,0,0,0,3,36,15,24,64,18,0,0,0,0,0,0,0,0,13,33,55,82,12,19,147,251,250,108,96,174,55,0,0,0,24,130,155,31,158,251,248,90,0,0,0,0,
+16,38,40,127,122,5,0,5,129,140,16,54,45,0,18,198,248,205,38,85,62,138,180,154,32,24,64,14,11,96,209,248,204,102,30,81,244,249,248,249,248,151,80,158,168,109,77,102,
+42,0,74,178,185,120,20,8,33,40,88,28,0,88,148,22,17,38,36,10,50,149,173,148,210,249,197,65,45,0,0,0,14,197,248,207,22,0,3,36,15,24,64,18,0,0,0,0,
+0,0,0,0,13,33,55,82,12,19,84,102,89,28,96,174,55,0,0,0,24,130,155,31,102,98,5,0,0,0,0,0,16,38,40,127,122,5,0,5,185,252,243,115,45,0,0,0,
+0,10,21,85,62,138,180,154,32,24,64,14,11,84,50,0,101,247,249,248,248,245,84,41,101,102,80,158,168,109,77,102,42,0,74,178,185,120,20,8,33,40,88,28,0,88,148,22,
+55,1,9,86,234,251,217,137,122,21,69,44,0,0,0,0,0,0,0,31,3,1,34,19,0,0,27,64,18,0,0,0,0,0,0,0,0,13,33,53,82,84,102,152,248,248,132,124,
+148,22,0,0,0,19,127,182,80,135,250,248,90,0,0,15,34,6,126,140,9,0,0,0,5,130,158,49,0,18,198,248,203,18,0,16,85,62,150,184,138,18,23,64,85,48,18,198,
+248,205,150,244,248,248,250,248,151,52,0,36,150,170,142,84,80,82,178,178,74,20,63,43,39,88,28,0,0,0,88,156,55,1,9,76,164,118,66,230,252,199,79,44,0,0,0,0,
+0,14,194,249,207,23,34,19,0,0,27,64,18,0,0,0,0,0,0,0,0,13,33,53,82,84,102,92,21,7,64,124,148,22,0,0,0,19,127,182,80,64,68,3,0,0,0,15,
+34,6,126,140,9,0,0,0,5,186,253,245,77,0,0,0,0,0,0,16,85,62,150,184,138,18,23,64,85,48,0,81,243,249,250,249,243,88,63,100,102,52,0,36,150,170,142,84,
+80,82,178,178,74,20,63,43,39,88,28,0,0,0,88,156,149,19,59,233,251,217,22,5,126,150,53,32,6,0,0,0,0,0,47,102,63,31,16,0,0,0,0,26,63,18,0,0,
+0,0,0,0,0,0,9,43,93,102,90,17,98,250,249,100,111,149,22,0,0,6,84,151,156,22,138,250,248,90,20,35,6,122,122,8,2,0,0,0,8,57,148,139,28,198,248,203,
+18,0,0,0,16,98,71,138,179,143,27,89,86,14,0,18,198,248,247,250,249,249,248,151,54,0,0,0,42,177,189,108,128,204,182,74,0,7,43,73,90,25,0,0,0,0,20,112,
+149,19,48,164,121,64,207,248,224,155,53,32,6,0,0,0,0,0,55,218,250,213,37,0,0,0,0,26,63,18,0,0,0,0,0,0,0,0,9,43,93,102,90,17,6,62,34,15,
+111,149,22,0,0,6,84,151,156,22,70,70,3,0,20,35,6,122,122,8,2,0,0,0,8,57,195,252,243,77,0,0,0,0,0,0,16,98,71,138,179,143,27,89,86,14,81,243,
+248,248,249,247,99,37,101,102,54,0,0,0,42,177,189,108,128,204,182,74,0,7,43,73,90,25,0,0,0,0,20,112,81,157,230,251,217,22,0,0,42,145,122,18,38,6,0,0,
+0,0,27,92,102,70,0,0,0,0,0,0,26,62,18,0,0,0,0,0,0,0,19,85,102,96,78,20,58,117,248,248,102,112,149,22,9,82,67,22,128,156,22,138,250,248,102,8,
+122,122,5,0,0,0,0,0,38,45,5,138,229,248,203,18,0,0,0,3,31,30,82,63,143,137,92,47,22,63,18,0,93,246,248,249,250,248,150,58,30,6,0,10,62,69,155,179,
+183,196,132,10,6,33,39,90,72,17,0,0,0,1,21,3,81,152,153,115,64,207,248,194,54,145,122,18,38,6,0,0,0,0,27,98,218,250,207,27,0,0,0,0,26,62,18,0,
+0,0,0,0,0,0,19,85,102,96,78,20,58,37,0,0,19,112,149,22,9,82,67,22,128,156,22,69,70,3,19,8,122,122,5,0,0,0,0,0,38,45,5,185,252,243,77,0,
+0,0,0,3,31,30,82,63,143,137,92,47,22,124,244,248,248,248,243,99,92,100,102,58,30,6,0,10,62,69,155,179,183,196,132,10,6,33,39,90,72,17,0,0,0,1,21,3,
+62,236,253,219,18,0,0,0,4,5,122,122,19,38,6,0,0,0,0,48,94,102,62,2,0,0,0,11,71,62,62,18,0,0,0,0,0,22,86,102,91,44,56,102,43,0,94,248,
+248,102,109,153,96,71,2,0,22,130,156,22,138,250,248,169,122,5,0,0,0,0,0,0,4,0,18,199,252,232,29,0,0,0,3,36,19,0,15,81,65,82,50,0,0,26,64,93,
+243,248,248,249,248,151,66,0,13,34,16,60,37,0,98,179,179,137,76,84,40,39,87,25,18,64,22,0,0,0,0,0,47,178,186,77,207,248,194,14,4,5,122,122,19,38,6,0,
+0,0,0,48,100,218,250,207,27,0,0,11,71,62,62,18,0,0,0,0,0,22,86,102,91,44,56,102,43,0,0,0,0,19,109,153,96,71,2,0,22,130,156,22,69,70,5,122,
+122,5,0,0,0,0,0,0,4,0,0,5,185,252,243,77,0,0,3,36,19,0,15,81,65,82,50,0,81,244,250,248,248,243,81,39,100,102,66,0,13,34,16,60,37,0,98,179,
+179,137,76,84,40,39,87,25,18,64,22,0,0,0,0,0,232,251,227,156,22,0,0,0,0,0,5,122,122,19,38,6,0,3,36,14,22,92,102,63,2,0,11,80,102,71,26,64,
+19,0,0,0,22,86,102,90,16,16,66,70,78,13,0,94,248,248,104,148,177,24,0,0,0,22,130,156,20,139,253,252,94,0,0,0,0,0,0,0,0,18,198,248,204,139,142,11,
+0,3,36,19,0,0,0,26,102,75,0,0,0,0,99,246,248,248,249,248,151,66,80,29,0,20,73,38,0,70,173,174,168,179,111,83,88,82,25,0,0,22,64,22,0,0,0,52,
+162,116,126,235,249,194,14,0,0,0,5,122,122,19,38,6,0,3,36,14,22,98,216,250,207,27,11,80,102,71,26,64,19,0,0,0,22,86,102,90,16,16,66,70,78,13,0,0,
+0,0,22,148,177,24,0,0,0,22,130,156,20,70,158,124,5,0,0,0,0,0,0,0,0,0,0,0,5,185,252,243,72,3,36,19,0,0,0,26,102,75,0,81,243,248,249,250,
+244,81,42,101,102,66,80,29,0,20,73,38,0,70,173,174,168,179,111,83,88,82,25,0,0,22,64,22,0,0,0,66,251,213,18,88,148,22,0,0,0,0,0,5,122,122,19,36,
+9,34,19,0,0,23,92,102,61,18,80,102,78,9,27,86,64,19,0,22,87,102,90,17,6,59,42,30,55,82,13,0,94,248,250,139,110,149,22,0,0,0,22,128,144,121,192,250,
+248,90,0,0,0,0,0,0,18,198,248,203,18,5,129,141,14,34,19,0,0,0,13,80,55,77,48,0,0,81,243,249,250,250,248,151,52,0,29,87,37,53,42,32,71,168,178,68,
+43,169,188,128,102,86,8,0,0,0,22,64,22,0,52,163,119,65,207,250,229,35,0,0,0,0,0,5,122,122,19,36,9,34,19,0,0,23,98,216,250,210,99,102,78,9,0,25,
+64,19,0,22,87,102,90,17,6,59,42,30,55,82,13,0,0,9,79,76,110,149,22,0,0,0,22,128,144,121,154,71,1,0,0,0,0,0,0,0,0,0,0,0,0,5,187,252,
+243,96,19,0,0,0,13,80,55,77,114,243,248,248,248,244,119,54,100,102,52,0,29,87,37,53,42,32,71,168,178,68,43,169,188,128,102,86,8,0,0,0,22,64,22,0,66,240,
+166,18,0,0,88,148,22,0,0,0,0,0,5,122,122,19,58,21,0,0,0,0,23,90,102,94,102,75,9,39,217,239,90,58,35,85,102,89,16,6,62,37,0,12,33,55,82,11,
+7,146,250,248,101,112,149,22,0,0,0,22,178,185,27,133,250,248,90,0,0,0,0,18,198,248,203,18,0,0,5,129,152,25,0,0,0,13,84,50,0,14,85,48,81,244,248,248,
+250,248,151,50,0,0,0,36,102,55,0,84,180,169,74,0,10,75,181,204,119,74,84,12,0,0,0,22,64,67,162,119,65,207,248,194,98,148,22,0,0,0,0,0,5,122,122,19,
+58,21,0,0,0,0,23,95,216,250,229,94,9,13,4,0,25,58,35,85,102,89,16,6,62,37,0,12,33,55,82,11,7,82,71,1,16,112,149,22,0,0,0,22,178,185,27,62,
+62,2,0,0,0,0,0,0,0,0,0,0,0,0,5,187,253,244,72,0,0,13,84,50,0,90,247,249,248,248,243,81,56,102,102,50,0,0,0,36,102,55,0,84,180,169,74,0,
+10,75,181,204,119,74,84,12,0,0,0,22,64,80,234,251,0,0,0,0,0,88,148,22,0,0,0,0,0,5,124,139,33,34,6,0,0,0,0,34,102,102,97,24,31,223,249,248,
+239,99,97,102,86,16,6,62,37,0,0,0,13,33,53,78,78,68,96,248,248,102,112,150,23,0,5,121,124,128,154,22,136,250,248,90,0,0,18,198,248,203,18,0,0,0,3,37,
+137,140,11,0,13,84,50,0,0,0,22,147,245,248,249,249,248,151,82,16,0,0,10,56,56,84,95,178,173,95,4,8,34,40,120,178,179,100,78,86,12,0,0,0,67,182,121,62,
+207,248,194,14,0,88,148,22,0,0,0,0,0,5,124,139,33,34,6,0,0,0,0,34,107,216,251,216,27,19,36,3,0,38,97,102,86,16,6,62,37,0,0,0,13,33,53,78,
+78,68,2,0,0,19,112,150,23,0,5,121,124,128,154,22,67,69,3,0,0,0,0,0,0,0,0,0,0,0,3,37,191,252,243,72,13,84,50,0,81,243,248,251,249,244,101,43,
+99,102,82,16,0,0,10,56,56,84,95,178,173,95,4,8,34,40,120,178,179,100,78,86,12,0,0,0,81,239,251,213,0,0,0,0,0,0,88,150,31,0,0,0,0,3,40,132,
+122,19,38,6,0,0,13,79,102,100,102,80,83,243,248,249,249,244,143,102,32,6,62,37,0,0,0,0,0,10,36,92,102,15,0,94,248,248,102,102,145,34,121,124,4,22,130,158,
+20,138,250,248,90,18,198,248,203,18,0,0,0,3,36,19,5,129,139,24,83,50,0,0,0,0,82,245,249,248,250,248,151,49,22,63,18,9,62,37,0,95,205,187,71,12,40,34,
+40,88,28,52,170,179,98,66,83,13,0,58,160,121,98,210,248,194,14,0,0,0,88,150,31,0,0,0,0,3,40,132,122,19,38,6,0,0,13,79,102,106,213,250,215,27,18,30,
+24,84,102,102,32,6,62,37,0,0,0,0,0,10,36,92,102,15,0,0,0,0,19,102,145,34,121,124,4,22,130,158,20,70,70,3,0,0,0,0,0,0,0,0,0,3,36,19,
+5,187,252,244,132,50,0,81,243,248,248,249,245,81,53,112,103,49,22,63,18,9,62,37,0,95,205,187,71,12,40,34,40,88,28,52,170,179,98,66,83,13,0,72,234,251,221,35,
+21,0,0,0,0,0,0,86,151,22,0,0,3,36,19,5,122,122,19,38,3,12,83,102,72,30,90,102,83,91,243,249,250,251,244,90,54,62,53,93,13,0,0,0,0,7,82,82,
+54,80,13,0,94,248,248,90,81,175,135,6,0,0,21,134,154,22,138,250,248,216,248,203,18,0,0,0,3,36,19,0,0,5,134,173,55,0,0,0,0,81,243,248,249,250,251,195,
+72,0,0,22,60,62,34,0,74,178,187,138,28,4,39,58,86,26,0,0,53,171,179,88,50,84,63,163,113,62,211,250,199,14,0,0,0,0,0,86,151,22,0,0,3,36,19,5,
+122,122,19,38,3,12,83,102,72,30,96,213,250,214,27,34,94,102,85,36,54,62,53,93,13,0,0,0,0,7,82,82,54,80,13,0,0,0,0,0,81,175,135,6,0,0,21,134,
+154,22,69,70,3,0,0,0,0,0,0,0,3,36,19,0,0,5,190,253,245,72,81,243,248,248,248,243,99,57,173,167,72,0,0,22,60,62,34,0,74,178,187,138,28,4,39,58,
+86,26,0,0,53,171,179,88,50,84,77,235,251,213,35,62,64,22,0,0,0,0,0,0,88,149,22,3,36,19,0,0,5,122,122,15,42,84,102,75,8,0,20,92,102,79,109,247,
+251,251,248,239,107,83,147,179,93,0,0,0,9,82,68,16,32,55,82,13,0,94,248,248,155,155,138,20,0,0,0,18,128,156,22,146,250,248,219,18,0,0,0,3,36,19,0,0,
+0,13,85,152,138,11,0,0,81,243,248,248,249,251,202,55,14,34,2,7,63,70,18,74,178,178,74,28,89,52,38,90,53,2,0,0,0,57,171,179,79,89,188,115,62,207,248,199,
+74,22,0,0,0,0,0,0,88,149,22,3,36,19,0,0,5,122,122,15,42,84,102,75,8,0,20,97,213,250,222,103,102,96,17,5,64,83,147,179,93,0,0,0,9,82,68,16,
+32,55,82,13,0,0,0,0,100,155,138,20,0,0,0,18,128,156,22,69,70,3,0,0,0,0,0,3,36,19,0,0,0,13,85,202,252,242,245,248,248,248,243,81,47,176,176,55,
+14,34,2,7,63,70,18,74,178,178,74,28,89,52,38,90,53,2,0,0,0,57,171,179,79,100,240,251,213,18,0,20,45,61,22,0,0,0,0,0,0,90,148,55,19,0,0,0,
+0,5,122,128,91,102,75,6,0,16,13,18,88,102,101,156,247,249,248,250,242,171,198,148,25,0,0,9,82,71,3,0,13,33,54,82,17,0,94,251,252,99,84,148,22,0,0,0,
+21,130,164,203,250,250,248,90,0,0,3,36,19,0,0,0,13,84,50,5,129,142,11,81,243,248,248,249,251,202,72,14,0,14,19,60,33,22,119,184,178,74,0,6,52,91,90,22,
+9,38,5,4,9,0,58,167,178,170,124,107,209,248,195,70,45,61,22,0,0,0,0,0,0,90,148,55,19,0,0,0,0,5,122,128,91,102,75,6,0,16,13,18,94,213,251,232,
+100,27,14,60,49,148,198,148,25,0,0,9,82,71,3,0,13,33,54,82,17,0,0,110,133,14,84,148,22,0,0,0,21,130,156,22,69,70,3,0,0,0,3,36,19,0,0,0,
+13,84,50,5,209,252,248,248,248,244,90,45,175,176,72,14,0,14,19,60,33,22,119,184,178,74,0,6,52,91,90,22,9,38,5,4,9,0,58,167,184,236,251,223,28,0,3,59,
+4,20,64,22,0,0,0,0,0,3,113,155,22,0,0,0,0,0,19,166,175,80,35,4,0,5,36,9,40,102,102,101,109,243,250,250,252,250,171,78,21,0,9,82,71,2,0,0,
+0,12,34,70,82,22,121,179,248,248,90,88,148,22,0,0,0,38,227,252,208,146,250,248,90,3,36,19,0,0,0,13,84,50,0,0,5,129,177,243,248,248,250,251,202,56,3,34,
+16,7,61,37,0,74,185,198,89,0,10,33,39,90,90,29,14,13,38,37,9,10,23,96,183,203,118,216,250,198,77,71,4,20,64,22,0,0,0,0,0,3,113,155,22,0,0,0,
+0,0,19,166,175,80,35,4,0,5,36,9,40,107,213,251,221,30,61,52,138,179,149,78,21,0,9,82,71,2,0,0,0,12,34,70,82,22,121,135,12,0,0,88,148,22,0,0,
+0,22,130,156,22,69,70,3,0,3,36,19,0,0,0,13,84,50,0,81,243,252,252,248,245,82,66,175,176,56,3,34,16,7,61,37,0,74,185,198,89,0,10,33,39,90,90,29,
+14,13,38,37,9,10,23,107,239,254,225,61,82,19,66,71,0,0,22,64,22,0,0,0,3,36,19,91,147,22,0,0,0,15,86,105,160,125,17,38,6,0,0,45,88,102,102,102,
+79,128,250,252,253,252,235,72,60,26,78,71,2,0,0,0,0,4,42,37,57,166,143,11,94,248,248,90,88,148,22,0,18,198,248,229,164,22,138,250,248,112,19,0,0,0,13,84,
+50,0,0,0,0,85,249,252,248,249,251,202,64,0,0,1,36,65,36,0,74,178,178,90,62,27,29,41,87,24,26,99,153,54,43,40,13,37,62,145,139,193,241,250,206,110,70,1,
+0,0,22,64,22,0,0,0,3,36,19,91,147,22,0,0,0,15,86,105,160,125,17,38,6,0,0,45,88,102,107,210,250,226,71,138,179,138,18,23,60,26,78,71,2,0,0,0,
+0,4,42,37,57,166,143,11,0,0,0,0,88,148,22,0,0,0,22,130,156,22,69,69,8,34,19,0,0,0,13,84,50,0,81,243,248,248,252,252,242,102,174,176,64,0,0,1,
+36,65,36,0,74,178,178,90,62,27,29,41,87,24,26,99,153,54,43,40,13,37,76,230,252,242,184,78,48,102,70,1,0,0,0,22,64,22,0,3,36,19,0,0,91,147,22,0,
+16,86,102,72,11,124,110,16,38,3,22,89,102,85,31,88,102,92,179,253,252,249,248,234,75,101,76,0,0,0,0,0,6,38,12,19,144,161,88,13,0,94,248,248,90,88,150,39,
+198,248,203,38,130,156,22,137,250,248,90,0,0,13,84,50,0,0,0,0,5,217,248,252,252,251,200,57,28,18,0,10,60,37,0,74,178,178,74,0,28,70,52,84,28,0,0,30,
+124,179,59,19,61,65,159,51,26,219,253,237,129,84,78,11,0,0,0,22,64,22,0,3,36,19,0,0,91,147,22,0,16,86,102,72,11,124,110,16,38,3,22,89,102,85,31,93,
+210,251,237,187,138,18,0,0,27,101,76,0,0,0,0,0,6,38,12,19,144,161,88,13,0,0,0,0,0,88,150,22,0,0,0,22,130,156,22,68,86,18,0,0,0,13,84,50,
+0,81,243,248,248,248,243,208,252,250,197,57,28,18,0,10,60,37,0,74,178,178,74,0,28,70,52,84,28,0,0,30,124,179,59,19,61,78,234,249,205,78,175,180,121,84,78,11,
+12,0,0,0,22,63,23,31,19,0,0,0,0,91,147,37,90,102,69,6,0,9,42,1,10,46,89,102,82,37,18,62,106,185,199,182,249,248,248,248,238,114,58,20,0,0,0,4,
+36,14,1,128,141,39,55,82,13,0,94,248,248,90,118,233,249,203,18,0,22,129,157,48,142,250,248,90,13,84,50,0,46,22,0,0,0,27,221,249,253,221,61,0,2,32,24,58,
+37,0,74,178,178,74,0,10,29,53,102,43,0,0,0,0,52,125,169,62,66,172,56,18,207,248,210,200,199,79,63,87,12,0,0,0,22,63,23,31,19,0,0,0,0,91,147,37,
+90,102,69,6,0,9,42,1,10,46,89,102,82,37,18,62,111,235,253,239,42,0,0,9,78,76,58,20,0,0,0,4,36,14,1,128,141,39,55,82,13,0,0,0,0,1,107,156,
+22,0,0,0,22,129,157,48,75,67,3,0,13,84,50,0,112,244,248,248,248,243,81,47,229,254,243,72,2,32,24,58,37,0,74,178,178,74,0,10,29,53,102,43,0,0,0,0,
+52,125,169,62,79,237,249,203,18,0,69,198,199,79,63,87,87,12,0,0,0,22,75,33,0,0,0,0,0,0,103,184,114,93,23,0,0,0,0,0,22,91,102,83,10,8,72,55,
+146,206,185,80,101,248,248,250,250,230,66,64,23,0,0,2,7,2,116,130,8,14,34,55,82,13,0,94,248,248,216,251,234,39,0,0,0,22,137,161,22,138,250,248,143,50,0,0,
+24,64,20,0,0,0,68,243,198,146,135,11,0,11,72,44,0,74,178,178,74,0,10,34,41,83,44,58,23,0,0,2,3,29,118,172,161,56,54,208,248,195,80,121,180,169,22,64,
+87,12,0,0,0,22,75,33,0,0,0,0,0,0,103,184,114,93,23,0,0,0,0,0,22,91,102,83,10,8,72,55,146,208,235,251,221,27,9,82,71,1,20,64,23,0,0,2,
+7,2,116,130,8,14,34,55,82,13,0,0,0,0,4,109,154,22,0,0,0,22,137,161,22,69,66,19,82,50,0,81,244,250,248,248,243,81,46,173,171,200,252,239,68,11,72,44,
+0,74,178,178,74,0,10,34,41,83,44,58,23,0,0,2,3,29,118,178,234,249,211,24,0,3,70,121,180,169,22,64,64,87,12,0,3,30,34,60,22,0,0,0,0,17,88,158,
+175,44,61,19,0,0,0,24,92,102,84,38,13,59,52,152,183,145,102,102,65,114,250,250,248,248,230,64,55,5,0,0,2,117,130,8,0,0,14,33,55,82,13,0,105,248,248,219,
+121,156,22,0,3,30,34,128,156,22,138,251,249,90,0,0,0,23,64,18,0,46,175,178,54,2,130,140,21,59,36,30,87,178,178,74,0,10,34,40,88,28,0,23,55,5,0,0,
+0,0,72,193,170,62,210,249,196,78,71,3,71,60,1,0,64,87,12,0,3,30,34,60,22,0,0,0,0,17,88,158,175,44,61,19,0,0,0,24,92,102,84,38,13,59,52,152,
+183,145,107,208,250,223,98,71,2,0,0,23,55,5,0,0,2,117,130,8,0,0,14,33,55,82,13,0,0,0,0,1,111,156,22,0,3,30,34,128,156,22,69,102,48,0,81,243,
+248,249,250,244,81,46,175,176,54,2,191,252,240,111,36,30,87,178,178,74,0,10,34,40,88,28,0,23,55,5,0,0,0,0,84,241,252,213,31,36,11,68,71,3,71,60,1,0,
+0,64,86,16,31,19,0,22,64,22,0,0,18,89,102,69,96,146,42,64,18,0,12,89,102,81,9,17,73,53,138,180,154,30,16,88,102,96,144,248,248,248,248,230,45,0,0,3,
+118,128,8,0,0,0,0,13,33,55,82,30,198,248,248,248,92,112,155,23,36,19,0,22,127,161,88,146,250,248,90,0,0,0,24,56,57,175,176,55,0,0,5,132,158,40,0,76,
+189,184,74,0,10,34,42,88,28,0,0,0,4,0,0,0,0,55,158,69,128,238,249,197,97,71,2,0,0,0,0,0,0,64,86,16,31,19,0,22,64,22,0,0,18,89,102,69,
+96,146,42,64,18,0,12,89,102,81,9,17,73,53,138,180,154,30,16,94,208,251,230,32,0,0,0,0,4,0,0,3,118,128,8,0,0,0,0,13,33,55,82,13,0,0,0,0,
+3,112,155,23,36,19,0,22,127,161,88,83,64,83,243,248,248,248,244,119,57,175,176,55,0,0,5,193,253,241,68,76,189,184,74,0,10,34,42,88,28,0,0,0,4,0,0,0,
+0,69,233,250,227,175,55,14,88,71,2,0,0,0,0,0,0,0,63,98,26,0,0,0,22,64,18,17,89,102,69,4,0,93,145,43,62,28,76,102,80,9,8,59,58,153,181,138,
+21,36,10,26,102,102,67,110,248,248,248,248,230,41,4,119,127,7,0,0,0,0,0,0,13,33,69,216,248,203,105,248,248,92,110,167,36,0,0,0,31,155,173,24,137,250,248,90,
+0,0,0,60,176,176,45,0,0,0,9,66,166,136,78,178,179,100,16,8,33,42,88,28,0,0,0,0,0,0,0,0,55,159,50,18,213,251,235,113,74,35,5,0,0,0,0,0,
+0,0,63,98,26,0,0,0,22,64,18,17,89,102,69,4,0,93,145,43,62,28,76,102,80,9,8,59,58,153,181,138,21,36,10,26,107,208,250,221,31,0,0,0,0,0,4,119,
+127,7,0,0,0,0,0,0,13,33,55,82,13,0,0,0,0,2,110,167,36,0,0,0,31,155,173,24,128,246,248,248,248,243,81,60,176,176,45,0,0,0,9,66,210,252,244,199,
+179,100,16,8,33,42,88,28,0,0,0,0,0,0,0,0,69,234,249,203,46,121,171,104,74,35,5,0,0,0,0,0,0,2,30,70,84,12,0,0,0,18,67,91,102,68,4,0,
+0,0,93,145,42,87,102,78,9,8,62,52,138,183,156,24,0,1,35,80,69,86,102,68,115,248,248,248,248,231,142,126,6,0,0,0,0,0,0,8,0,30,206,250,220,30,0,94,
+248,248,112,117,154,22,0,13,80,61,125,156,22,138,250,248,90,0,46,174,176,82,12,0,0,10,58,81,102,182,192,179,74,2,38,42,40,88,28,0,0,0,0,0,0,0,0,55,
+159,50,18,207,248,201,138,189,56,12,38,6,0,0,0,0,0,2,30,70,84,12,0,0,0,18,67,91,102,68,4,0,0,0,93,145,42,87,102,78,9,8,62,52,138,183,156,24,
+0,1,35,80,69,91,208,250,221,31,0,0,0,4,121,126,6,0,0,0,0,0,0,8,0,13,33,55,82,13,0,0,0,2,34,117,154,22,0,13,80,61,125,188,244,250,250,248,
+243,81,46,174,176,82,12,0,0,10,58,81,102,218,253,250,122,2,38,42,40,88,28,0,0,0,0,0,0,0,0,69,234,249,203,18,0,30,131,189,56,12,38,6,0,0,0,0,
+3,36,17,0,64,87,12,0,0,18,92,102,75,4,0,0,0,0,0,93,145,45,85,24,6,62,52,138,179,138,31,38,3,7,79,86,14,14,89,102,68,115,248,248,248,252,240,47,
+0,0,0,0,0,0,0,29,40,198,248,210,69,82,13,0,96,249,248,91,111,154,32,84,50,0,21,130,157,24,138,250,248,120,175,176,45,24,59,13,8,62,35,12,128,204,205,105,
+1,8,32,58,92,25,0,0,0,0,0,0,0,0,55,159,50,18,207,248,195,75,76,118,172,57,14,38,6,0,0,0,3,36,17,0,64,87,12,0,0,18,92,102,75,4,0,0,
+0,0,0,93,145,45,85,24,6,62,52,138,179,138,31,38,3,7,79,86,14,14,93,208,250,221,31,0,6,122,124,6,0,0,0,0,0,0,0,29,24,0,13,33,55,82,13,0,
+3,36,18,1,111,154,32,84,50,0,95,249,252,249,250,246,83,45,175,176,45,24,59,13,8,62,35,12,128,204,231,251,239,69,32,58,92,25,0,0,0,0,0,0,0,0,69,234,
+249,203,18,0,3,65,76,118,172,57,14,38,6,0,0,0,36,19,0,0,0,64,87,10,18,90,102,74,49,3,0,0,0,0,0,0,95,145,39,57,60,50,138,179,138,18,0,12,
+36,80,68,8,33,13,15,89,102,69,120,248,252,252,248,221,41,0,0,0,0,0,0,19,205,249,203,42,112,71,82,15,33,106,248,248,90,115,185,66,0,0,0,23,124,149,25,134,
+250,253,204,47,0,0,25,59,60,34,0,74,181,202,146,89,46,30,40,84,52,13,0,0,0,0,0,0,0,53,159,50,18,207,248,195,80,70,1,28,125,173,58,14,38,6,0,3,
+36,19,0,0,0,64,87,10,18,90,102,74,49,3,0,0,0,0,0,0,95,145,39,57,60,50,138,179,138,18,0,12,36,80,68,8,33,13,15,93,208,250,221,40,122,116,6,0,
+0,0,0,0,0,0,0,1,33,24,0,25,112,71,82,15,33,18,0,0,0,115,185,66,0,81,243,249,251,252,244,125,83,173,176,47,0,0,25,59,60,34,0,74,181,202,146,174,
+249,241,93,84,52,13,0,0,0,0,0,0,0,67,234,249,203,18,0,3,70,70,1,28,125,173,58,14,38,6,0,3,19,0,0,0,0,0,60,83,88,102,66,4,2,0,0,0,
+0,0,0,0,0,95,147,76,81,143,179,138,18,0,0,7,83,88,7,0,3,36,13,15,89,102,73,187,252,248,248,248,221,36,0,0,0,0,18,198,248,210,40,93,183,150,66,88,
+24,0,94,248,248,143,134,154,22,0,0,0,4,88,145,71,203,253,249,90,0,0,7,65,70,12,74,178,178,81,78,102,94,63,83,26,0,36,19,0,0,0,0,0,44,148,48,18,
+207,248,195,80,71,3,0,0,29,124,173,58,14,36,9,34,19,0,0,0,0,0,60,83,88,102,66,4,2,0,0,0,0,0,0,0,0,95,147,76,81,143,179,138,18,0,0,7,
+83,88,7,0,3,36,13,15,92,208,250,237,141,1,0,0,0,0,0,0,0,0,0,0,1,33,24,93,183,150,66,88,24,0,0,0,12,82,134,154,96,243,248,248,248,247,180,71,
+172,176,48,0,0,0,7,65,70,12,74,178,178,81,78,102,176,250,244,82,0,36,19,0,0,0,0,0,59,231,249,203,18,0,3,70,71,3,0,0,29,124,173,58,14,36,9,34,
+0,0,0,0,0,0,22,101,102,67,0,0,0,0,0,0,0,0,0,0,0,10,128,150,151,197,144,18,0,0,9,82,68,16,36,6,0,3,36,13,15,92,176,160,131,248,248,248,
+248,221,31,0,0,18,198,248,203,19,33,46,140,183,159,65,75,13,0,102,250,249,91,111,156,22,0,0,0,0,113,209,173,145,250,248,90,10,58,33,28,118,182,178,74,0,18,88,
+102,102,58,0,0,3,36,19,0,0,0,53,148,40,18,207,248,195,80,70,3,0,0,0,0,29,118,168,59,14,58,21,0,0,0,0,0,0,22,101,102,67,0,0,0,0,0,0,
+0,0,0,0,0,10,128,150,151,197,144,18,0,0,9,82,68,16,36,6,0,3,36,13,15,95,230,253,222,36,0,0,0,0,0,0,0,0,0,0,0,1,33,46,140,183,159,65,
+75,13,0,13,84,49,2,157,250,249,248,248,243,81,113,209,173,81,64,2,0,10,58,33,28,118,182,178,74,0,18,88,102,180,250,239,63,3,36,19,0,0,0,68,231,249,203,18,
+0,3,70,70,3,0,0,0,0,29,118,168,59,14,58,21,6,0,0,0,0,22,91,102,87,80,11,0,0,0,0,5,1,0,0,0,10,62,48,162,179,152,73,12,0,9,82,71,
+3,0,14,38,7,0,3,36,18,131,170,106,70,128,248,248,248,248,221,27,18,198,248,203,18,0,1,32,41,153,187,147,62,78,26,80,126,248,248,92,112,156,22,0,0,45,169,190,
+154,23,138,250,248,128,35,0,74,188,197,82,0,10,29,51,102,102,88,44,4,0,3,36,19,0,55,159,48,18,207,248,195,80,69,1,0,0,0,0,0,0,9,73,168,82,28,34,
+6,0,0,0,0,22,91,102,87,80,11,0,0,0,0,5,1,0,0,0,10,62,48,162,179,152,73,12,0,9,82,71,3,0,14,38,7,0,3,36,18,131,171,206,250,222,36,0,
+0,0,0,0,0,0,0,0,0,0,1,32,41,153,187,147,62,78,26,80,50,0,81,243,251,252,249,243,81,45,169,190,154,23,69,67,15,59,35,0,74,188,197,82,0,10,29,51,
+102,102,173,249,239,63,3,36,19,0,69,234,249,203,18,0,3,70,69,1,0,0,0,0,0,0,9,73,168,82,28,34,38,6,0,0,23,92,102,62,7,62,87,12,0,0,19,32,
+2,0,0,10,62,52,138,179,159,134,46,59,20,79,71,2,0,0,0,14,38,6,0,8,142,131,20,88,102,70,132,248,248,248,248,228,206,248,203,18,0,0,0,1,54,54,142,182,
+144,69,102,54,0,94,248,248,92,112,156,20,43,175,175,62,85,148,23,138,251,249,90,53,179,178,97,60,20,30,38,85,36,76,102,90,44,2,0,3,36,70,159,50,18,207,248,196,
+80,68,3,41,14,0,0,0,0,0,0,1,90,172,60,15,38,6,0,0,23,92,102,62,7,62,87,12,0,0,19,32,2,0,0,10,62,52,138,179,159,134,46,59,20,79,71,2,
+0,0,0,14,38,6,0,8,142,131,20,91,205,250,222,36,0,0,2,43,14,0,0,0,0,0,0,1,54,54,142,182,144,69,102,54,0,81,243,248,248,251,250,95,43,175,175,62,
+85,148,23,70,96,36,0,53,179,178,97,60,20,30,38,85,36,76,102,177,249,239,63,3,36,83,234,249,203,18,0,6,70,68,3,41,14,0,0,0,0,0,0,1,90,172,60,15,
+14,38,3,21,96,102,63,2,0,0,64,87,11,15,36,4,0,0,10,62,52,138,179,139,25,92,143,51,99,72,1,0,0,0,0,0,14,38,11,123,126,41,13,15,88,102,70,138,
+248,248,249,249,248,208,18,0,0,0,2,34,20,29,42,145,186,174,84,76,12,0,94,248,248,92,105,160,174,173,62,0,0,88,152,74,146,250,248,100,124,79,0,37,68,44,85,30,
+0,10,79,102,90,43,2,0,57,173,65,18,207,248,194,57,68,2,47,51,6,0,0,0,0,0,2,34,20,69,168,60,14,38,3,21,96,102,63,2,0,0,64,87,11,15,36,4,
+0,0,10,62,52,138,179,139,25,92,143,51,99,72,1,0,0,0,0,0,14,38,11,123,126,41,13,15,91,205,250,222,41,3,50,50,6,0,0,0,0,0,2,34,20,29,42,145,
+186,174,84,76,89,243,248,248,248,243,152,160,174,173,62,0,0,88,152,74,82,66,2,15,124,79,0,37,68,44,85,30,0,10,79,102,177,249,239,58,71,237,249,203,18,0,0,46,
+68,2,47,51,6,0,0,0,0,0,2,34,20,69,168,60,61,14,35,22,87,65,2,0,0,0,0,62,88,40,0,0,0,10,62,52,138,179,138,22,36,7,102,176,93,56,10,0,
+0,0,0,0,0,19,143,127,6,3,36,9,16,88,102,70,140,249,249,248,248,219,27,0,0,2,35,21,0,1,30,48,178,195,142,63,82,13,0,94,248,248,118,193,209,76,0,0,
+0,10,129,163,25,138,250,248,111,8,8,29,57,102,38,0,0,0,10,79,102,90,44,57,159,52,51,210,248,194,14,6,3,48,50,2,0,0,0,0,0,2,35,21,0,1,71,167,
+61,14,35,22,87,65,2,0,0,0,0,62,88,40,0,0,0,10,62,52,138,179,138,22,36,7,102,176,93,56,10,0,0,0,0,0,0,19,143,127,6,3,36,9,16,91,205,250,
+223,81,50,2,0,0,0,0,0,2,35,21,0,1,30,48,178,195,142,124,247,248,248,248,243,81,43,193,209,76,0,0,0,10,129,163,25,69,69,4,33,8,8,29,57,102,38,0,
+0,0,10,79,102,177,249,244,238,249,210,32,0,0,0,6,3,48,50,2,0,0,0,0,0,2,35,21,0,1,71,167,168,62,14,35,15,2,0,0,0,0,0,15,78,84,11,0,
+10,62,52,138,179,138,18,0,8,37,81,140,144,50,58,4,0,0,0,0,5,123,131,43,6,0,2,7,0,16,86,102,100,232,248,248,248,248,212,27,2,35,20,0,0,0,12,86,
+74,147,183,143,63,82,13,0,94,249,253,200,133,151,22,0,10,62,37,88,148,24,138,250,248,115,36,37,83,56,51,4,0,0,0,10,79,102,126,175,52,18,207,248,194,14,0,1,
+49,50,2,0,0,0,0,0,2,35,20,0,0,0,1,71,168,62,14,35,15,2,0,0,0,0,0,15,78,84,11,0,10,62,52,138,179,138,18,0,8,37,81,140,144,50,58,4,
+0,0,0,0,5,123,131,43,6,0,2,7,0,16,90,202,250,227,42,0,0,0,0,0,2,35,20,0,0,0,12,86,74,147,205,250,250,250,248,243,81,46,174,170,133,151,22,0,
+10,62,37,88,148,24,70,68,9,38,36,37,83,56,51,4,0,0,0,10,79,102,198,252,249,214,20,7,0,0,0,1,49,50,2,0,0,0,0,0,2,35,20,0,0,0,1,71,
+70,167,62,14,36,5,0,0,0,0,19,34,4,63,84,23,58,52,138,179,138,18,0,0,8,81,88,11,99,142,31,2,0,0,0,5,123,124,6,15,38,6,0,0,0,0,18,109,
+221,250,229,248,248,248,248,207,59,20,0,0,0,13,84,48,28,45,148,183,141,63,82,13,44,204,253,250,93,110,154,30,62,37,0,0,88,148,24,137,250,249,126,88,28,0,16,2,
+0,0,0,0,10,117,197,123,58,207,248,194,14,0,2,50,50,2,0,0,0,0,0,2,36,20,0,0,0,0,0,1,70,167,62,14,36,5,0,0,0,0,19,34,4,63,84,23,
+58,52,138,179,138,18,0,0,8,81,88,11,99,142,31,2,0,0,0,5,123,124,6,15,38,6,0,0,0,0,18,101,202,250,222,41,0,0,0,2,36,20,0,0,0,13,84,48,
+28,111,250,253,252,250,247,90,44,175,176,60,4,110,154,30,62,37,0,0,88,148,24,68,69,36,56,88,28,0,16,2,0,0,0,0,10,127,242,251,249,240,58,0,0,0,2,50,
+50,2,0,0,0,0,0,2,36,20,0,0,0,0,0,1,1,70,168,63,14,38,6,0,0,19,36,3,0,0,64,102,58,138,179,138,18,0,0,9,82,69,13,36,10,99,141,17,
+0,0,5,123,124,6,0,0,15,38,6,0,0,2,60,210,250,224,84,151,248,248,248,249,211,22,0,0,13,84,48,0,0,33,46,150,183,140,57,89,174,176,133,248,248,91,112,175,
+55,0,0,0,0,88,148,32,146,250,250,125,7,0,0,0,0,0,0,0,55,163,113,113,224,249,194,14,0,2,50,50,2,0,0,0,0,0,3,36,20,0,0,0,0,0,0,0,
+1,70,168,63,14,38,6,0,0,19,36,3,0,0,64,102,58,138,179,138,18,0,0,9,82,69,13,36,10,99,141,17,0,0,5,123,124,6,0,0,15,38,6,0,0,2,45,54,
+88,202,250,227,41,0,3,36,20,0,0,0,13,84,48,0,81,245,249,252,253,250,120,89,174,176,62,0,0,1,112,175,55,0,0,0,0,88,148,32,83,77,80,54,7,0,0,0,
+0,0,0,0,69,235,251,224,183,249,239,58,0,2,50,50,2,0,0,0,0,0,3,36,20,0,0,0,0,0,0,0,0,1,69,166,63,14,38,4,17,36,3,0,0,9,54,82,
+174,183,138,18,0,0,8,82,71,3,0,10,39,11,100,142,14,1,123,124,6,0,0,0,0,15,38,4,1,64,209,248,206,98,102,72,151,248,249,248,248,207,18,13,84,56,9,0,
+0,1,33,47,151,182,151,170,174,66,0,94,248,248,129,112,148,22,0,0,0,0,94,161,58,158,250,248,114,11,0,0,0,0,0,55,159,50,27,222,251,216,55,1,1,50,50,2,
+0,0,0,0,0,3,35,19,0,0,0,0,0,6,13,0,0,1,69,166,63,14,38,4,17,36,3,0,0,9,54,82,174,183,138,18,0,0,8,82,71,3,0,10,39,11,100,142,
+14,1,123,124,6,0,0,0,0,15,38,4,1,50,50,0,15,90,202,250,226,41,35,19,0,0,0,13,84,56,9,81,243,248,249,249,250,205,151,170,174,66,0,0,0,9,60,112,
+148,22,0,0,0,0,94,161,58,102,75,8,36,11,0,0,0,0,0,69,234,249,205,91,102,177,249,239,55,50,50,2,0,0,0,0,0,3,35,19,0,0,0,0,0,6,13,0,
+0,0,1,69,166,65,11,47,36,2,0,0,10,62,52,138,194,177,30,0,0,9,81,71,2,0,0,0,10,39,11,98,130,119,119,6,0,0,0,0,0,0,14,33,63,209,248,203,
+18,16,86,102,72,168,248,248,248,248,209,96,48,9,60,20,0,0,1,32,42,162,209,201,87,75,12,0,101,250,249,90,88,148,22,0,0,10,30,113,184,50,135,250,248,114,11,0,
+0,0,55,159,50,18,207,248,213,110,90,41,45,49,2,0,0,0,0,0,3,36,18,0,0,0,0,0,0,14,62,20,0,0,1,69,166,65,11,47,36,2,0,0,10,62,52,138,
+194,177,30,0,0,9,81,71,2,0,0,0,10,39,11,98,130,119,119,6,0,0,0,0,0,0,14,33,48,49,2,0,0,16,89,199,250,230,54,0,0,0,13,84,48,9,122,244,
+248,248,248,245,111,162,209,201,87,75,12,0,11,62,37,0,88,148,22,0,0,10,30,113,184,50,64,67,9,37,11,0,0,0,69,234,249,203,18,10,79,102,181,249,242,92,2,0,
+0,0,0,0,3,36,18,0,0,0,0,0,0,14,62,20,20,0,0,1,69,165,75,41,36,5,0,7,60,52,138,179,138,65,84,11,7,82,71,2,0,0,0,0,0,9,39,12,
+159,179,20,0,0,0,0,0,0,0,0,68,212,248,203,18,0,0,14,85,102,78,160,248,248,248,250,217,18,0,22,60,16,0,0,0,61,175,207,197,131,59,81,20,56,118,248,248,
+90,88,148,22,10,33,38,88,108,148,24,138,250,248,114,11,0,55,159,50,18,207,248,194,24,78,102,96,65,3,0,0,0,0,0,3,36,19,0,0,0,0,0,0,0,0,23,64,
+20,0,0,1,69,165,75,41,36,5,0,7,60,52,138,179,138,65,84,11,7,82,71,2,0,0,0,0,0,9,39,12,159,179,20,0,0,0,0,0,0,0,0,54,65,6,0,0,
+0,0,14,88,199,250,226,41,0,13,84,50,0,81,244,250,248,248,243,81,61,175,207,197,131,59,81,20,56,37,0,0,0,88,148,22,10,33,38,88,108,148,24,70,67,9,37,11,
+0,69,234,249,203,18,0,0,10,78,102,183,250,239,54,0,0,0,0,3,36,19,0,0,0,0,0,0,0,0,23,64,64,19,0,0,0,76,176,66,13,38,6,4,38,138,179,138,
+18,0,48,79,78,68,2,0,0,0,0,0,0,0,14,141,120,96,137,15,0,0,0,0,0,2,64,209,248,210,21,0,0,0,0,42,88,102,72,160,248,250,249,248,203,18,0,19,
+59,18,0,45,174,172,95,154,183,134,58,87,33,0,94,248,248,90,88,152,53,38,88,30,0,88,148,24,138,250,248,114,64,159,50,18,207,248,194,14,0,12,93,102,88,42,2,0,
+0,0,3,36,19,0,0,0,0,0,0,0,90,122,0,23,64,19,0,0,0,76,176,66,13,38,6,4,38,138,179,138,18,0,48,79,78,68,2,0,0,0,0,0,0,0,14,141,
+120,96,137,15,0,0,0,0,0,2,50,48,16,35,4,0,0,0,0,42,91,199,250,230,50,84,50,0,81,243,248,248,250,244,81,45,174,172,95,154,183,134,58,87,33,0,0,0,
+0,0,88,152,53,38,88,30,0,88,148,24,70,67,9,37,77,234,249,203,18,0,0,0,0,12,93,102,180,249,239,54,0,0,3,36,19,0,0,0,0,0,0,0,0,0,0,23,
+24,64,18,0,18,33,65,166,66,14,38,23,138,179,138,18,0,0,6,94,102,15,0,0,0,0,0,0,0,5,123,129,42,11,102,140,15,0,0,0,2,64,209,248,203,51,74,6,
+0,3,36,15,14,86,102,77,188,249,248,248,248,198,18,0,23,56,57,175,176,60,27,52,157,183,132,58,80,13,0,94,248,248,96,110,164,102,30,0,0,0,88,148,24,138,250,249,
+201,59,18,207,248,194,14,0,2,46,51,77,102,91,43,2,0,3,36,19,0,0,0,0,0,0,0,90,248,248,45,0,24,64,18,0,18,33,65,166,66,14,38,23,138,179,138,18,
+0,0,6,94,102,15,0,0,0,0,0,0,0,5,123,129,42,11,102,140,15,0,0,0,2,49,50,2,0,35,74,6,0,3,36,15,14,89,199,250,238,81,0,81,243,248,248,248,
+244,119,57,175,176,60,27,52,157,183,132,58,80,13,0,0,0,0,10,110,164,102,30,0,0,0,88,148,24,70,68,75,237,249,203,18,0,0,0,0,2,46,51,77,102,181,249,239,
+54,3,36,19,0,0,0,0,0,0,0,0,0,0,0,0,0,25,60,31,32,2,0,67,166,62,29,156,181,138,18,0,0,9,82,66,48,82,13,0,0,0,0,0,5,123,124,6,
+9,39,11,102,140,15,0,2,66,209,248,203,18,6,71,76,10,33,19,0,0,12,84,102,91,164,248,248,248,248,194,18,0,60,176,176,60,0,0,33,53,157,183,131,58,82,13,0,
+94,248,249,114,146,161,22,0,0,0,0,88,148,21,162,253,249,124,209,248,194,14,0,2,50,50,25,121,88,102,91,42,5,34,19,0,0,0,0,0,0,0,90,248,248,94,0,0,
+0,25,60,31,32,2,0,67,166,62,29,156,181,138,18,0,0,9,82,66,48,82,13,0,0,0,0,0,5,123,124,6,9,39,11,102,140,15,0,2,52,50,1,0,0,6,71,76,
+10,33,19,0,0,12,87,197,250,230,108,243,248,248,248,243,81,60,176,176,60,0,0,33,53,157,183,131,58,82,13,0,0,10,34,38,146,161,22,0,0,0,0,88,148,21,116,240,
+249,211,28,0,0,0,0,2,50,50,25,121,88,102,181,249,239,81,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,75,18,0,0,1,62,154,150,183,156,24,0,0,
+9,82,71,2,0,50,84,13,0,0,0,5,123,124,6,0,0,9,39,12,102,140,17,61,216,250,203,18,0,0,2,70,90,19,0,0,0,10,80,92,102,77,169,248,248,248,248,194,
+56,174,176,87,15,0,0,1,33,54,159,183,130,57,82,12,7,115,249,250,110,88,148,22,0,0,0,0,81,152,150,158,250,248,249,197,14,0,2,50,50,24,148,91,13,79,102,90,
+59,17,0,0,0,0,0,0,0,90,248,248,94,0,0,0,0,0,36,75,18,0,0,1,62,154,150,183,156,24,0,0,9,82,71,2,0,50,84,13,0,0,0,5,123,124,6,0,
+0,9,39,12,102,140,17,46,82,67,2,0,0,0,2,70,90,19,0,0,0,10,80,95,197,250,248,248,248,248,243,81,45,174,176,87,15,0,0,1,33,54,159,183,130,57,82,12,
+7,34,38,88,30,88,148,22,0,0,0,0,81,160,231,251,217,26,37,12,0,0,2,50,50,24,148,91,13,79,102,183,250,235,54,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,18,31,27,62,16,0,0,14,156,186,152,26,38,4,8,82,71,2,0,0,0,51,84,13,0,5,123,124,6,0,0,0,0,9,39,10,103,168,212,248,217,83,3,0,0,2,32,
+76,74,5,0,13,84,47,15,85,102,77,169,248,248,248,249,235,179,59,24,62,16,0,0,1,33,56,160,183,128,56,83,40,36,150,249,248,90,88,148,22,0,0,0,48,174,151,35,
+232,250,248,122,10,1,50,50,24,148,88,0,0,10,78,102,92,40,2,0,0,0,0,0,90,248,248,94,0,0,0,0,0,18,31,27,62,16,0,0,14,156,186,152,26,38,4,8,
+82,71,2,0,0,0,51,84,13,0,5,123,124,6,0,0,0,0,9,39,10,103,162,61,9,68,70,3,0,0,2,32,76,74,5,0,13,84,47,15,141,250,250,248,248,243,81,42,
+172,176,59,24,62,16,0,0,1,33,56,160,183,128,56,83,40,36,88,30,0,0,88,148,22,0,0,0,63,237,252,207,83,68,10,38,10,1,50,50,24,148,88,0,0,10,78,102,
+184,249,234,54,0,0,0,0,0,0,0,0,0,0,0,0,19,36,3,0,27,64,16,18,138,179,156,154,64,12,37,80,70,2,0,0,6,32,0,49,84,17,123,124,6,0,0,0,
+0,0,0,8,34,66,227,252,206,21,70,70,2,1,36,17,1,70,73,21,82,50,0,0,14,84,102,78,173,248,249,253,253,209,9,0,27,64,16,0,0,1,33,58,161,182,131,76,
+86,83,28,94,248,249,93,88,148,22,0,55,157,46,93,235,249,221,248,248,112,52,48,24,148,88,0,0,0,0,38,83,102,91,42,2,0,0,0,90,248,248,94,0,0,0,0,0,
+19,36,3,0,27,64,16,18,138,179,156,154,64,12,37,80,70,2,0,0,6,32,0,49,84,17,123,124,6,0,0,0,0,0,0,8,34,52,132,140,15,3,70,70,2,1,36,17,
+1,70,73,21,82,50,0,81,244,250,251,250,248,111,46,172,173,62,0,0,27,64,16,0,0,1,33,58,161,182,131,76,86,83,28,0,6,33,4,88,148,22,0,69,233,249,219,156,
+26,46,4,6,34,52,48,24,148,88,0,0,0,0,38,83,102,184,249,234,54,0,0,0,0,0,0,0,0,0,0,0,36,3,0,0,0,28,77,146,179,138,15,61,165,74,82,88,
+6,0,0,6,38,15,0,0,55,167,130,6,0,0,0,0,0,0,0,1,64,212,248,224,147,14,3,69,68,33,18,0,0,1,70,102,49,0,0,0,0,14,84,102,75,191,253,253,
+250,248,194,9,0,28,63,18,0,0,1,33,57,166,191,97,95,86,8,3,118,248,248,90,88,136,69,151,50,18,207,250,229,35,94,248,249,132,32,148,88,0,0,0,3,36,16,9,
+79,102,91,42,2,0,90,248,248,94,0,0,0,0,0,18,36,3,0,0,0,28,77,146,179,138,15,61,165,74,82,88,6,0,0,6,38,15,0,0,55,167,130,6,0,0,0,0,
+0,0,0,1,49,65,11,105,139,14,3,69,68,33,18,0,0,1,70,102,49,0,81,243,248,248,250,250,250,235,189,174,59,0,0,0,0,28,63,18,0,0,1,33,57,166,191,97,
+95,86,8,3,38,15,0,0,88,136,82,232,249,203,18,88,148,22,0,1,49,65,32,148,88,0,0,0,3,36,16,9,79,102,184,249,234,54,0,0,0,0,0,0,0,0,0,18,
+3,0,0,0,0,18,151,188,138,18,0,1,63,186,117,15,33,4,4,35,14,0,0,5,123,149,82,11,0,0,0,0,0,0,3,59,209,248,210,27,105,138,14,3,81,68,2,0,
+0,10,70,81,63,5,0,0,0,0,13,80,99,175,230,249,248,248,248,190,9,0,29,32,0,0,0,1,33,80,103,85,50,49,77,40,12,94,248,248,90,114,179,65,18,207,248,194,
+98,148,24,122,249,249,195,94,0,0,0,2,33,18,0,0,9,75,96,85,39,92,248,248,94,0,0,0,0,0,15,35,3,0,0,0,0,18,151,188,138,18,0,1,63,186,117,15,
+33,4,4,35,14,0,0,5,123,149,82,11,0,0,0,0,0,0,3,44,47,10,35,9,105,138,14,3,81,68,2,0,0,10,70,81,63,84,243,248,248,248,244,136,196,253,247,93,
+0,0,0,0,0,0,29,32,0,0,0,1,33,80,103,85,50,49,77,40,12,0,0,0,0,124,238,250,203,18,0,0,88,148,24,44,47,31,163,94,0,0,0,2,33,18,0,0,
+9,75,96,181,249,234,54,0,0,0,0,0,0,0,15,35,0,0,0,0,18,138,179,138,18,0,0,9,77,100,164,71,10,36,36,10,0,0,5,123,124,6,43,81,12,0,0,0,
+0,3,63,208,248,203,24,37,11,105,140,46,17,60,67,0,11,81,43,2,62,74,5,0,0,0,0,51,173,173,95,178,248,248,248,248,185,9,0,0,0,0,0,9,30,52,90,22,
+7,35,62,79,12,0,94,248,249,183,112,146,211,248,194,14,0,90,168,60,108,252,250,114,11,0,3,35,16,0,0,0,0,9,74,96,145,249,248,94,0,0,0,0,0,18,34,2,
+0,0,0,0,18,138,179,138,18,0,0,9,77,100,164,71,10,36,36,10,0,0,5,123,124,6,43,81,12,0,0,0,0,3,48,44,3,0,6,37,11,105,140,46,17,60,67,0,
+11,81,43,2,124,246,248,248,248,243,81,51,173,224,250,231,50,0,0,0,0,0,0,0,0,0,0,9,30,52,90,22,7,35,62,79,12,0,0,0,68,230,251,231,39,0,0,0,
+0,90,168,60,21,148,92,37,11,0,3,35,16,0,0,0,0,9,74,96,184,249,234,54,0,0,0,0,0,18,34,2,0,0,0,18,138,179,138,18,0,0,9,82,69,6,62,164,
+73,42,43,4,0,5,123,124,6,0,0,49,84,12,0,0,1,62,209,248,203,18,0,6,38,14,125,147,13,3,66,69,77,48,0,0,3,70,78,8,0,0,46,175,176,98,102,80,
+182,248,248,248,130,0,0,0,0,0,10,34,38,84,52,17,4,42,40,54,82,13,0,129,252,249,102,224,252,200,14,0,1,47,117,141,140,147,248,248,114,14,33,19,0,0,0,0,
+0,0,10,141,251,250,122,2,0,0,0,0,19,36,3,0,0,0,0,18,138,179,138,18,0,0,9,82,69,6,62,164,73,42,43,4,0,5,123,124,6,0,0,49,84,12,0,0,
+1,47,50,2,0,0,0,6,38,14,125,147,13,3,66,69,77,48,0,81,243,250,250,248,243,81,46,175,176,98,197,250,230,50,0,0,0,0,0,0,0,0,10,34,38,84,52,17,
+4,42,40,54,82,13,0,69,234,249,203,100,148,22,0,0,1,47,117,141,140,83,0,8,37,14,33,19,0,0,0,0,0,0,10,79,102,187,249,230,54,0,0,0,19,36,3,0,
+0,0,20,138,179,138,18,0,0,9,82,71,3,0,0,64,174,78,12,38,11,123,124,6,0,0,0,0,58,86,12,0,19,203,248,203,18,0,24,3,6,58,26,105,140,25,15,102,
+87,0,0,0,0,2,70,64,3,45,175,176,60,17,82,96,77,187,248,126,0,0,0,0,0,10,34,38,88,30,0,33,49,9,10,33,55,82,65,159,126,248,248,248,217,155,22,0,
+1,22,22,168,168,18,94,248,248,128,26,0,0,0,0,0,0,0,90,248,250,158,90,43,2,0,0,19,36,3,0,0,0,0,20,138,179,138,18,0,0,9,82,71,3,0,0,64,
+174,78,12,38,11,123,124,6,0,0,0,0,58,86,12,0,1,22,4,0,0,0,24,3,6,58,26,105,140,25,15,102,87,0,81,243,248,248,250,246,83,45,175,176,60,17,82,192,
+250,231,50,0,0,0,0,0,0,10,34,38,88,30,0,33,49,9,10,33,55,82,79,234,249,203,18,0,95,149,22,0,1,22,22,168,168,18,0,0,8,58,26,0,0,0,0,0,
+0,0,0,10,79,102,187,249,230,54,0,19,36,3,0,0,52,14,131,179,138,18,0,0,9,82,71,2,0,0,6,34,69,163,69,18,141,127,6,0,0,0,0,0,11,78,84,29,
+198,248,203,18,0,1,62,69,31,21,34,12,103,156,97,48,64,69,3,0,0,0,0,16,66,174,176,62,0,0,11,78,96,83,95,0,0,0,0,0,10,34,38,88,30,0,6,34,
+39,21,0,13,33,98,190,61,18,223,248,249,109,111,149,23,0,23,147,81,81,147,22,96,249,249,112,12,0,0,0,0,0,90,248,248,100,79,102,90,43,1,18,36,3,0,0,11,
+52,14,131,179,138,18,0,0,9,82,71,2,0,0,6,34,69,163,69,18,141,127,6,0,0,0,0,0,11,78,84,12,0,0,0,0,0,1,62,69,31,21,34,12,103,156,97,48,
+64,128,243,248,248,248,243,92,66,174,176,62,0,0,11,78,192,250,231,50,0,0,0,0,10,34,38,88,30,0,6,34,39,21,0,13,33,109,241,249,203,18,16,40,17,111,149,23,
+0,23,147,81,81,147,22,3,34,23,34,12,0,0,0,0,0,0,0,0,10,79,102,187,249,230,68,36,3,0,0,11,38,3,64,131,18,0,0,9,82,71,2,0,0,6,38,13,
+0,61,151,140,122,42,6,0,0,0,0,0,0,13,90,217,248,203,18,0,0,0,5,86,76,0,7,34,24,142,169,22,2,70,70,3,0,0,0,43,175,176,63,0,0,0,7,59,
+83,102,76,8,0,0,0,10,34,38,88,30,0,6,38,13,0,33,24,0,65,171,94,94,209,248,228,249,248,102,108,152,54,141,88,0,0,88,149,55,106,248,248,115,13,0,0,0,
+90,248,248,94,0,10,79,102,89,50,32,2,0,0,10,62,38,3,64,131,18,0,0,9,82,71,2,0,0,6,38,13,0,61,151,140,122,42,6,0,0,0,0,0,0,13,78,84,
+12,0,0,0,0,0,5,86,76,0,7,34,24,142,169,22,83,246,250,248,248,243,81,43,175,176,63,0,0,0,7,59,83,194,250,231,54,0,0,10,34,38,88,30,0,6,38,13,
+0,33,24,0,78,237,250,220,28,11,85,50,0,18,108,152,54,141,88,0,0,88,149,55,19,0,8,39,13,0,0,0,0,0,0,0,0,10,79,102,186,249,233,56,0,0,10,62,
+0,0,0,1,0,0,9,82,71,2,0,0,6,38,14,0,0,1,142,186,72,14,35,6,0,0,0,0,0,18,201,250,220,29,0,0,0,3,34,19,67,70,0,16,99,56,88,148,
+22,3,70,71,6,0,46,175,176,66,31,6,0,10,62,35,13,82,102,77,9,0,10,33,38,88,30,0,6,38,14,0,0,1,33,73,159,60,46,217,250,213,58,94,248,248,118,157,
+186,95,0,0,0,3,112,156,22,94,248,248,115,13,0,90,248,248,94,4,6,0,10,77,109,146,49,2,0,10,62,37,0,0,0,1,0,0,9,82,71,2,0,0,6,38,14,0,
+0,1,142,186,72,14,35,6,0,0,0,0,0,0,13,78,84,12,0,0,0,3,34,19,67,70,0,16,99,56,88,182,244,248,250,250,243,81,46,175,176,66,31,6,0,10,62,35,
+13,82,194,250,231,54,10,33,38,88,30,0,6,38,14,0,0,1,33,86,234,249,209,67,79,80,47,0,0,0,43,157,186,95,0,0,0,3,112,156,22,0,0,7,39,13,0,0,
+0,0,0,4,6,0,10,77,109,210,249,230,54,10,62,37,0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,116,69,161,74,13,38,6,0,0,0,18,198,248,206,
+90,84,12,0,3,36,19,0,3,66,69,75,51,32,12,88,148,22,3,70,75,51,175,176,62,0,13,34,16,60,37,0,79,128,92,102,76,19,30,38,88,30,0,6,38,14,0,0,
+0,0,56,171,69,22,209,249,216,103,10,0,94,249,251,191,143,137,22,0,3,36,19,88,148,22,94,248,248,115,98,248,248,94,0,7,38,10,0,25,95,176,169,45,14,60,37,0,
+0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,116,69,161,74,13,38,6,0,0,0,0,0,0,13,78,84,12,0,3,36,19,0,3,66,69,75,51,32,89,247,
+252,249,248,246,132,51,175,176,62,0,13,34,16,60,37,0,79,128,92,191,250,232,77,38,88,30,0,6,38,14,0,0,0,0,69,237,249,203,26,41,94,94,10,0,0,30,101,156,
+143,137,22,0,3,36,19,88,148,22,0,0,7,39,13,0,0,0,0,7,38,10,0,25,95,176,221,249,231,98,37,0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,
+123,124,6,1,61,165,74,14,38,6,0,18,198,248,203,18,13,78,84,16,32,19,0,0,0,15,102,87,0,5,38,13,88,148,23,0,85,176,176,60,0,0,0,20,73,38,0,74,
+178,179,63,80,102,87,44,84,30,0,6,38,14,0,0,0,0,55,159,51,52,211,248,214,77,53,81,11,27,160,252,250,102,111,149,24,36,19,0,0,88,148,22,94,248,248,249,248,
+94,0,0,0,10,35,24,29,15,82,175,168,74,35,0,0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,124,6,1,61,165,74,14,38,6,0,0,0,0,0,0,
+13,78,84,16,32,19,0,0,0,15,102,87,0,85,245,248,250,252,244,81,85,176,176,60,0,0,0,20,73,38,0,74,178,179,63,80,191,250,234,120,30,0,6,38,14,0,0,0,
+0,69,234,249,210,36,11,85,67,53,81,11,27,105,161,87,19,111,149,24,36,19,0,0,88,148,22,0,0,7,38,13,0,0,0,0,10,35,24,29,15,82,175,220,250,234,50,0,
+0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,124,6,0,0,0,60,159,75,14,38,23,198,249,203,18,0,0,12,75,96,27,0,0,0,13,82,48,64,69,2,6,39,
+14,88,145,69,168,176,75,7,0,0,10,59,43,32,78,178,178,74,0,20,90,102,101,36,0,6,38,14,0,0,0,0,55,159,50,22,207,249,216,59,11,32,52,84,103,160,150,248,
+248,101,110,162,38,0,0,0,0,88,148,22,150,248,248,166,12,0,0,0,0,28,57,10,0,8,83,175,170,45,2,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,
+124,6,0,0,0,60,159,75,14,38,5,0,22,2,0,0,0,12,75,96,27,0,0,0,13,82,48,64,128,243,248,249,248,247,180,69,168,176,75,7,0,0,10,59,43,32,78,178,
+178,74,0,20,90,191,251,234,54,6,38,14,0,0,0,0,69,234,249,203,18,39,90,47,11,32,52,84,103,160,88,0,0,18,110,162,38,0,0,0,0,88,148,22,0,0,7,38,
+12,0,0,0,0,28,57,10,0,8,83,175,221,249,230,50,122,0,9,82,71,2,0,0,6,38,14,0,0,5,123,126,14,0,0,0,0,0,33,154,76,31,205,249,214,22,0,0,
+0,1,38,81,82,12,0,13,84,50,0,2,70,70,2,6,38,11,112,209,175,52,9,37,8,9,62,37,0,84,190,180,74,0,10,29,46,102,102,73,16,34,14,0,0,0,0,58,
+162,50,22,207,248,214,62,0,0,10,50,113,189,96,0,94,248,248,119,118,148,22,0,0,0,0,88,186,249,248,248,248,116,12,0,0,24,30,11,38,8,6,60,91,175,169,47,2,
+0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,126,14,0,0,0,0,0,33,154,76,14,32,44,53,4,0,0,0,1,38,81,82,12,0,13,84,50,0,83,246,250,248,248,
+245,88,112,209,175,52,9,37,8,9,62,37,0,84,190,180,74,0,10,29,46,102,191,250,235,81,14,0,0,0,0,72,235,249,203,18,12,83,50,0,0,10,50,113,189,96,0,0,
+0,1,45,118,148,22,0,0,0,0,88,148,22,0,0,12,41,12,0,0,24,30,11,38,8,6,60,91,175,221,249,230,248,95,82,70,2,0,0,6,38,14,0,0,5,123,124,21,
+61,15,0,36,72,9,0,30,161,216,249,217,27,0,0,0,3,36,15,10,78,81,26,80,50,0,0,0,3,70,70,1,2,66,168,190,160,20,0,8,38,61,35,0,74,178,182,100,
+2,9,33,38,84,39,76,102,90,20,0,0,0,0,55,165,99,36,207,248,214,62,0,0,0,24,111,178,124,81,13,0,96,249,248,100,111,149,22,0,0,0,90,250,252,105,94,249,
+250,115,10,21,33,1,0,8,38,61,32,11,82,175,169,47,0,8,82,70,2,0,0,6,38,14,0,0,5,123,124,21,61,15,0,36,72,9,0,30,154,77,49,69,10,0,0,0,
+3,36,15,10,78,81,26,80,50,0,81,243,248,250,250,243,82,66,168,190,160,20,0,8,38,61,35,0,74,178,182,100,2,9,33,38,84,39,76,191,250,236,54,0,0,0,69,235,
+251,206,18,13,83,50,0,0,0,24,111,178,124,81,13,0,3,36,16,16,111,149,22,0,0,0,0,86,141,16,0,43,76,39,10,21,33,1,0,8,38,61,32,11,82,175,221,249,
+249,250,134,2,0,0,6,38,14,0,0,5,123,124,6,0,30,63,16,72,102,78,8,18,205,252,227,34,35,6,0,3,36,19,0,0,10,77,102,68,37,0,0,0,0,3,69,64,
+46,174,175,64,86,148,22,8,61,56,7,74,178,178,74,10,38,33,37,88,30,0,16,92,102,77,10,0,0,55,159,48,49,219,248,212,98,16,0,0,0,80,174,98,31,55,81,17,
+32,106,248,248,102,112,149,22,0,90,248,248,142,136,22,98,250,250,121,36,0,0,0,8,61,56,7,0,10,82,175,168,50,77,69,2,0,0,6,38,14,0,0,5,123,124,6,0,
+30,63,16,72,102,78,8,0,30,171,115,17,35,6,0,3,36,19,0,0,10,77,102,68,37,5,217,248,248,248,246,124,46,174,175,64,86,148,22,8,61,56,7,74,178,178,74,10,
+38,33,37,88,30,0,16,92,188,250,235,54,0,69,234,249,209,76,21,76,88,16,0,0,0,80,174,98,31,55,81,17,32,19,0,0,19,112,149,22,0,0,0,0,76,136,22,6,
+67,73,48,36,0,0,0,8,61,56,7,0,10,82,175,215,205,250,248,90,0,6,38,14,0,0,5,123,124,6,0,0,0,28,57,56,90,102,88,200,249,219,162,79,14,36,9,34,
+19,0,0,0,10,81,88,104,159,53,0,0,0,0,0,84,175,174,57,31,14,88,152,79,35,9,101,181,178,74,0,6,37,56,86,29,0,6,34,23,78,102,78,10,55,159,48,22,
+207,249,209,83,43,5,0,0,64,170,90,0,13,32,55,95,28,0,94,248,248,102,112,149,105,248,248,94,0,85,147,22,95,250,250,114,12,0,10,62,35,9,38,10,0,10,80,175,
+175,87,4,0,0,6,38,14,0,0,5,123,124,6,0,0,0,28,57,56,90,102,75,11,43,77,155,79,14,36,9,34,19,0,0,0,10,81,88,104,159,53,27,221,248,243,81,84,
+175,174,57,31,14,88,152,79,35,9,101,181,178,74,0,6,37,56,86,29,0,6,34,23,78,188,250,235,110,234,249,203,18,27,62,73,43,5,0,0,64,170,90,0,13,32,55,95,
+28,0,0,0,0,19,112,149,22,0,0,0,0,85,147,22,1,76,85,37,12,0,10,62,35,9,38,10,0,10,80,175,175,200,249,248,93,38,14,0,0,5,123,124,6,0,0,0,
+0,1,59,73,30,89,221,250,214,21,29,152,79,14,58,21,0,0,0,13,84,48,12,77,120,162,52,0,0,0,45,172,175,90,0,4,22,11,128,163,23,69,181,190,81,0,11,34,
+34,90,55,1,5,38,14,0,11,80,102,117,163,48,22,207,248,194,70,74,17,0,1,64,171,91,0,0,0,13,52,68,81,13,0,94,248,248,102,163,252,249,94,0,0,0,88,148,
+42,113,250,250,105,9,62,37,0,0,10,39,10,0,19,105,175,168,46,1,5,38,14,0,0,5,123,124,6,0,0,0,0,1,59,73,30,76,102,88,53,3,29,152,79,14,58,21,
+0,0,0,13,84,48,12,77,120,162,52,27,217,81,45,172,175,90,0,4,22,11,128,163,23,69,181,190,81,0,11,34,34,90,55,1,5,38,14,0,11,80,188,251,252,249,203,18,
+0,1,59,74,17,0,1,64,171,91,0,0,0,13,52,68,81,13,0,0,0,0,19,112,149,22,0,0,0,0,88,148,42,30,66,76,23,9,62,37,0,0,10,39,10,0,19,105,
+80,175,201,249,249,98,0,0,5,123,124,6,0,0,0,0,3,50,44,28,68,204,250,224,86,5,0,29,153,100,28,32,6,0,13,84,50,0,0,13,77,119,162,53,0,46,175,175,
+56,64,69,0,6,59,36,81,156,173,175,81,35,16,30,33,84,28,8,36,36,11,0,0,0,10,117,197,114,31,207,248,195,61,44,28,59,16,58,170,91,0,0,0,3,31,27,30,
+55,82,13,0,94,248,248,248,251,188,22,0,0,0,0,102,162,22,96,250,250,126,35,0,0,0,0,10,33,16,76,68,80,175,169,47,32,12,0,0,5,123,124,6,0,0,0,0,
+3,50,44,28,54,28,89,102,92,22,0,29,153,100,28,32,6,0,13,84,50,0,0,13,77,119,162,53,5,46,175,175,56,64,69,0,6,59,36,81,156,173,175,81,35,16,30,33,
+84,28,8,36,36,11,0,0,0,10,127,249,251,246,69,0,3,50,44,28,59,16,58,170,91,0,0,0,3,31,27,30,55,82,13,0,0,0,0,19,110,149,22,0,0,0,0,102,
+162,22,2,66,68,55,35,0,0,0,0,10,33,16,76,68,9,82,175,202,249,248,105,5,123,124,6,0,0,0,0,4,52,46,1,18,204,250,214,92,102,72,5,0,61,160,80,13,
+34,20,83,50,0,0,0,0,16,77,118,158,83,169,175,55,0,2,67,70,55,33,0,69,179,179,86,0,16,52,40,81,25,0,6,42,38,20,23,0,0,55,163,114,90,208,248,195,
+63,46,1,0,26,89,169,88,0,0,0,3,36,18,0,12,32,55,82,13,0,150,248,248,157,111,149,22,0,0,24,31,88,148,22,102,251,250,90,0,0,0,0,0,14,93,72,0,
+9,82,175,171,49,17,24,5,123,124,6,0,0,0,0,4,52,46,1,0,26,69,52,99,235,214,22,0,61,160,80,13,34,20,83,50,0,0,0,0,12,77,118,158,83,169,175,55,
+0,2,67,70,55,33,0,69,179,179,86,0,16,52,40,81,25,0,6,42,38,20,23,0,0,69,235,251,236,248,239,57,52,46,1,0,26,89,169,88,0,0,0,3,36,18,0,12,
+32,55,82,13,0,0,0,0,18,111,149,22,0,0,24,31,88,148,22,12,96,82,1,0,0,0,0,0,14,93,72,0,0,10,83,175,201,250,248,169,124,6,0,0,0,0,4,53,
+48,2,18,198,249,215,66,28,81,102,70,34,17,28,152,81,18,94,52,0,0,0,0,81,217,38,73,133,208,182,52,0,0,0,12,96,83,1,74,178,173,123,135,32,31,42,99,35,
+0,0,14,9,26,58,8,0,55,159,48,30,208,248,195,64,48,2,0,2,62,173,124,15,0,0,3,36,19,0,0,0,13,33,55,82,98,248,248,248,248,102,112,150,28,24,33,1,
+0,88,152,76,117,250,250,92,0,0,0,9,80,72,36,9,0,10,83,175,169,61,7,123,124,6,0,0,0,0,4,53,48,2,0,2,44,59,52,44,216,251,214,50,17,28,152,81,
+18,94,52,0,0,0,0,0,0,12,73,133,208,182,52,0,0,0,12,96,83,1,74,178,173,123,135,32,31,42,99,35,0,0,14,9,26,58,8,0,69,234,249,205,22,140,248,242,
+95,2,0,2,62,173,124,15,0,0,3,36,19,0,0,0,13,33,55,82,13,0,0,0,0,19,112,150,28,24,33,1,0,88,152,76,36,66,69,3,0,0,0,9,80,72,36,9,
+10,0,8,87,173,197,252,252,94,0,0,0,0,4,54,47,1,18,198,249,213,21,25,59,30,82,102,75,2,0,28,152,82,32,35,6,0,0,81,243,248,221,88,184,170,168,50,0,
+0,10,60,36,65,123,179,178,72,0,94,162,57,86,37,30,7,0,0,17,33,16,36,60,159,48,22,207,248,195,65,47,1,0,2,66,170,90,25,64,16,1,36,19,0,0,0,0,
+0,13,33,126,250,248,94,94,248,248,102,109,88,32,1,0,0,10,129,164,22,96,250,250,163,95,14,82,70,1,8,39,10,0,8,87,173,163,138,122,6,0,0,0,0,4,54,47,
+1,0,2,49,51,3,25,59,46,216,251,215,20,0,28,152,82,32,35,6,0,0,0,0,0,0,68,184,170,168,50,0,0,10,60,36,65,123,179,178,72,0,94,162,57,86,37,30,
+7,0,0,17,33,16,36,73,234,249,203,18,0,4,164,249,239,58,2,66,170,90,25,64,16,1,36,19,0,0,0,0,0,13,33,55,82,13,0,0,0,0,18,109,88,32,1,0,
+0,10,129,164,22,2,70,72,114,95,14,82,70,1,8,39,39,8,13,38,84,205,221,249,248,90,0,0,5,54,46,1,18,199,249,213,21,0,0,26,57,48,86,102,68,4,0,27,
+152,82,14,38,6,81,243,248,248,250,245,157,87,113,162,52,10,62,37,0,75,199,199,76,0,10,33,113,185,50,0,7,37,8,17,36,3,0,66,173,53,22,207,248,195,65,46,1,
+0,4,67,170,90,0,0,26,61,42,15,0,0,0,0,0,0,0,98,249,250,146,13,0,94,248,248,112,55,2,0,0,10,62,37,88,148,20,96,252,253,199,94,70,2,0,0,10,
+39,8,13,38,84,205,201,51,2,0,0,0,5,54,46,1,0,4,49,51,3,0,0,26,57,63,217,251,213,22,0,27,152,82,14,38,6,0,0,0,0,60,190,154,87,113,162,52,
+10,62,37,0,75,199,199,76,0,10,33,113,185,50,0,7,37,8,17,36,3,0,79,237,249,203,18,0,5,54,46,140,248,239,110,170,90,0,0,26,61,42,15,0,0,0,0,0,
+0,0,13,33,55,82,13,0,0,0,0,35,55,2,0,0,10,62,37,88,148,20,3,150,199,169,94,70,2,0,0,10,8,46,38,5,124,158,170,199,249,248,90,5,54,46,0,18,
+198,249,213,21,0,0,0,0,48,62,32,83,102,67,4,0,27,151,83,14,107,243,248,248,250,252,187,50,14,77,117,167,98,37,0,74,189,185,121,67,14,31,38,88,108,148,22,0,
+7,46,38,2,0,55,159,59,57,208,248,195,66,46,0,0,0,61,170,90,0,0,0,0,48,66,15,0,0,0,0,1,55,94,248,248,115,55,82,13,0,94,249,249,101,35,1,9,
+62,37,0,0,111,145,117,207,253,251,133,1,0,0,0,0,8,46,38,5,124,158,170,167,47,3,0,5,54,46,0,0,0,43,51,3,0,0,0,0,48,62,48,216,251,213,21,0,
+27,151,83,14,38,6,0,0,60,190,155,50,14,77,117,167,98,37,0,74,189,185,121,67,14,31,38,88,108,148,22,0,7,46,38,2,0,69,234,249,211,24,0,5,54,46,0,0,
+135,250,250,128,0,0,0,0,48,66,15,0,0,0,0,1,55,6,0,13,33,55,82,13,0,0,24,29,17,35,1,9,62,37,0,0,111,145,117,179,187,124,66,1,0,0,0,0,
+17,38,40,128,124,12,80,176,201,249,248,125,45,0,18,198,248,206,22,0,0,0,3,36,15,24,59,34,85,102,66,3,0,26,151,138,244,249,248,250,252,187,52,0,0,10,75,133,
+173,48,69,178,185,118,21,69,82,40,86,30,0,88,148,22,16,38,36,10,55,159,48,22,210,249,197,65,45,0,0,0,22,154,91,0,0,0,3,36,15,24,64,18,0,0,0,83,
+206,251,248,94,13,33,55,82,12,20,115,248,248,100,36,58,36,0,0,0,24,173,185,160,158,250,250,91,0,0,0,0,17,38,40,128,124,12,80,176,169,46,9,54,45,0,0,0,
+0,14,4,0,0,0,3,36,15,24,59,49,217,251,213,21,0,26,151,84,14,37,4,59,190,155,52,0,0,10,75,133,173,48,69,178,185,118,21,69,82,40,86,30,0,88,148,22,
+16,38,36,10,69,234,249,203,31,35,12,54,45,0,0,0,22,207,250,239,58,0,3,36,15,24,64,18,0,0,0,83,179,110,3,0,13,33,55,82,12,20,33,1,0,16,36,58,
+36,0,0,0,24,173,185,160,101,93,65,2,0,0,0,0,36,6,127,142,10,0,10,82,175,200,250,249,90,18,198,248,198,18,0,0,0,3,33,19,0,0,27,59,35,86,102,64,
+2,0,99,250,250,248,251,252,187,52,0,0,0,8,58,83,112,166,176,173,73,20,61,43,77,102,31,0,0,0,88,154,52,1,9,83,161,48,22,207,248,198,79,44,0,0,0,22,
+148,88,0,0,0,3,33,19,0,0,27,64,18,0,0,122,252,253,168,3,0,13,33,54,89,39,0,94,248,248,132,54,0,0,0,5,114,185,189,180,77,100,250,250,92,0,0,19,
+36,6,127,142,10,0,10,82,175,168,71,41,0,0,0,0,0,0,0,0,0,3,33,19,0,0,27,59,51,217,251,212,20,0,26,151,84,10,79,190,155,52,0,0,0,8,58,83,
+112,166,176,173,73,20,61,43,77,102,31,0,0,0,88,154,52,1,9,95,234,249,203,18,0,16,69,44,0,0,0,22,148,88,135,248,239,65,33,19,0,0,27,64,18,0,0,48,
+164,185,117,3,0,13,33,54,89,39,0,0,0,8,64,54,0,0,0,5,114,185,189,180,77,10,68,70,3,0,0,19,8,123,124,9,2,0,0,10,84,175,202,249,248,216,248,198,
+18,0,0,0,3,36,18,0,0,0,0,26,59,36,86,102,63,82,243,249,252,252,251,187,54,0,0,0,10,62,34,12,125,201,183,104,0,7,44,71,82,74,64,3,0,0,19,111,
+148,20,51,160,49,22,207,248,196,64,49,32,6,0,22,148,88,0,0,0,3,36,18,0,0,0,0,26,64,18,90,248,249,206,204,117,3,0,10,44,83,170,74,1,100,250,249,100,
+35,3,6,116,179,162,108,146,157,22,96,250,250,91,17,36,8,123,124,9,2,0,0,10,84,175,172,45,2,0,0,0,0,0,0,0,3,36,18,0,0,0,0,26,59,52,217,251,
+212,20,0,25,142,119,183,154,54,0,0,0,10,62,34,12,125,201,183,104,0,7,44,71,82,74,64,3,0,0,19,111,148,20,66,234,249,203,18,0,8,53,49,32,6,0,22,148,
+88,0,0,135,248,241,77,0,0,0,0,26,64,18,0,0,41,179,204,117,3,0,10,44,83,170,74,1,10,62,34,15,35,3,6,116,179,162,108,146,157,22,3,70,70,2,17,36,
+123,124,6,0,0,0,0,0,37,95,175,205,249,248,216,18,0,0,0,3,36,19,0,0,0,0,0,0,26,59,38,87,151,246,248,248,250,253,205,58,30,6,0,10,62,37,0,74,
+182,199,155,147,56,33,38,90,72,21,66,70,3,0,21,3,81,153,148,44,22,207,248,194,50,45,0,13,38,28,148,88,0,0,0,3,36,19,0,0,0,0,0,0,26,132,248,248,
+94,41,180,204,117,4,21,55,154,195,169,27,58,117,248,248,102,41,119,179,162,107,66,22,128,157,22,96,250,250,104,7,123,124,6,0,0,0,0,0,37,95,175,169,48,3,0,0,
+0,0,0,3,36,19,0,0,0,0,0,0,26,59,53,218,251,212,19,0,79,209,181,58,30,6,0,10,62,37,0,74,182,199,155,147,56,33,38,90,72,21,66,70,3,0,21,3,
+81,160,231,249,203,18,0,0,38,45,0,13,38,28,148,88,0,0,0,3,148,248,239,63,0,0,0,0,26,64,18,0,0,41,180,204,117,4,21,55,154,195,169,27,58,37,0,0,
+19,41,119,179,162,107,66,22,128,157,22,3,69,70,21,7,124,6,0,0,0,0,0,0,1,14,95,237,253,249,248,90,0,0,3,36,19,0,0,0,0,0,0,0,0,26,58,108,
+247,251,250,250,251,190,160,85,13,34,16,60,37,0,74,178,178,82,76,118,173,82,87,28,18,61,22,66,70,3,0,0,50,174,150,37,207,248,194,14,4,0,0,0,35,164,92,0,
+0,0,3,36,19,0,0,0,0,0,0,0,90,249,250,106,0,0,41,180,203,125,57,140,183,152,74,102,43,0,94,248,248,173,189,163,104,70,2,0,22,130,157,22,96,250,250,170,
+124,6,0,0,0,0,0,0,1,14,82,175,170,48,4,0,0,0,3,36,19,0,0,0,0,0,0,0,0,26,58,54,218,251,211,74,186,160,160,85,13,34,16,60,37,0,74,178,
+178,82,76,118,173,82,87,28,18,61,22,66,70,3,0,0,64,237,252,207,18,0,0,0,4,0,0,0,35,164,92,0,0,0,3,36,19,130,248,239,63,0,0,0,0,26,64,18,
+0,0,41,180,203,125,57,140,183,152,74,102,43,0,0,0,7,129,189,163,104,70,2,0,22,130,157,22,3,70,72,124,9,0,0,0,0,0,0,0,0,18,200,250,233,183,249,248,
+90,3,36,19,0,0,0,0,0,0,0,0,0,0,98,246,249,250,251,252,186,52,24,150,87,20,73,38,0,74,178,178,74,0,19,83,122,189,73,0,0,22,61,22,66,70,3,55,
+157,44,96,235,249,194,14,0,0,0,0,22,148,97,38,6,0,3,36,19,0,0,0,0,0,0,0,90,248,248,110,64,19,0,0,40,181,207,170,179,134,34,66,70,78,13,0,99,
+252,253,198,114,69,2,0,0,0,22,130,157,20,97,253,253,96,0,0,0,0,0,0,0,0,0,10,85,159,132,41,6,0,3,36,19,0,0,0,0,0,0,0,0,0,0,25,58,
+55,217,251,241,161,52,24,150,87,20,73,38,0,74,178,178,74,0,19,83,122,189,73,0,0,22,61,22,66,70,3,69,233,249,219,156,22,0,0,0,0,0,0,22,148,97,38,6,
+0,3,36,19,0,0,130,248,239,68,0,0,0,0,26,64,19,0,0,40,181,207,170,179,134,34,66,70,78,13,0,8,121,179,165,114,69,2,0,0,0,22,130,157,20,4,159,160,
+70,3,0,0,0,0,0,0,18,198,248,200,27,122,176,249,248,112,19,0,0,0,0,0,0,0,0,0,0,81,243,249,250,251,252,187,81,0,0,24,154,114,43,32,78,178,178,74,
+0,10,30,46,102,121,161,52,0,0,22,61,22,66,109,160,48,22,207,250,229,31,0,0,0,0,22,148,88,0,14,36,9,34,19,0,0,0,0,0,0,0,90,248,248,94,0,25,
+64,19,0,23,79,193,204,168,28,59,42,30,55,82,21,121,207,252,251,139,32,2,0,0,0,0,22,128,145,121,169,250,250,92,0,0,0,0,0,0,0,0,0,8,9,122,130,41,
+9,34,19,0,0,0,0,0,0,0,0,0,0,0,0,25,53,96,241,252,216,18,0,24,154,114,43,32,78,178,178,74,0,10,30,46,102,121,161,52,0,0,22,61,22,66,120,234,
+249,203,18,88,148,22,0,0,0,0,22,148,88,0,14,36,9,34,19,0,0,0,0,130,248,239,68,0,0,0,0,25,64,19,0,23,79,193,204,168,28,59,42,30,55,82,21,121,
+179,160,101,75,32,2,0,0,0,0,22,128,145,121,120,74,70,70,3,0,0,0,0,18,198,248,198,18,0,5,122,176,250,248,90,0,0,0,0,0,0,0,0,0,81,244,248,248,
+250,252,185,96,102,56,0,9,79,64,0,84,190,180,74,0,10,34,39,83,40,74,119,162,52,0,0,22,61,72,183,102,23,207,248,194,95,148,22,0,0,22,148,88,0,0,0,14,
+58,21,0,0,0,0,0,0,0,90,248,248,94,16,4,0,25,60,35,48,139,179,192,203,145,37,0,12,33,62,166,182,158,159,250,248,101,36,3,0,0,0,0,22,178,185,27,96,
+250,250,92,0,0,0,0,0,0,0,0,0,0,5,122,129,62,21,0,0,0,0,0,0,0,0,0,0,0,16,3,0,74,191,160,219,251,211,18,9,79,64,0,84,190,180,74,0,
+10,34,39,83,40,74,119,162,52,0,0,22,61,85,239,251,203,18,0,0,88,148,22,0,0,22,148,88,0,0,0,14,58,21,0,0,0,0,0,0,126,248,239,68,0,16,4,0,
+25,60,35,48,139,179,192,203,145,37,0,12,33,62,166,182,158,104,70,1,16,59,172,18,0,0,0,22,178,185,27,3,3,70,70,3,0,0,18,198,248,198,18,0,0,0,8,139,
+180,249,248,90,0,0,0,0,0,0,11,92,243,248,249,250,252,187,78,45,91,102,59,55,36,0,74,177,182,101,4,8,34,39,87,30,0,13,78,120,163,51,0,0,71,182,66,75,
+219,248,194,9,0,88,147,18,18,147,88,0,0,0,3,32,28,34,6,0,0,0,0,0,90,248,248,104,0,19,36,3,0,38,90,154,179,127,59,191,207,120,5,0,19,139,195,185,
+99,67,96,248,248,102,36,5,0,0,5,120,125,128,154,22,96,250,250,92,0,0,0,0,0,0,0,0,0,0,8,139,136,38,6,0,0,0,0,0,0,0,11,16,0,18,30,62,
+189,155,78,60,218,251,211,69,36,0,74,177,182,101,4,8,34,39,87,30,0,13,78,120,163,51,0,0,85,239,249,215,76,2,0,0,0,88,147,18,18,147,88,0,0,0,3,32,
+28,34,6,0,0,0,0,0,0,126,248,240,68,19,36,3,0,38,90,154,179,127,59,191,207,120,5,0,19,139,195,185,99,67,2,0,0,177,249,199,18,0,5,120,125,128,154,22,
+19,3,70,70,3,18,198,248,198,18,0,0,0,3,36,24,118,168,249,248,90,0,0,0,0,0,85,245,248,248,250,252,185,49,22,57,46,92,102,72,0,66,165,165,71,12,40,34,
+38,87,30,0,0,0,12,66,116,153,38,41,149,64,79,211,250,210,12,0,0,0,84,135,135,84,0,0,0,3,36,19,0,14,38,6,0,0,0,90,248,248,97,36,19,0,18,32,
+24,46,149,190,135,21,61,65,171,197,111,16,108,162,160,109,102,15,0,94,248,248,102,21,0,6,109,120,4,22,128,146,19,96,250,250,92,0,0,0,0,0,0,0,0,3,36,24,
+118,117,43,6,0,0,0,0,0,0,5,36,18,0,68,184,153,49,22,57,60,218,251,214,18,66,165,165,71,12,40,34,38,87,30,0,0,0,12,66,116,153,38,56,232,249,216,38,
+66,69,3,0,0,0,84,135,135,84,0,0,0,3,36,19,0,14,38,6,0,0,0,0,0,0,129,249,240,72,18,32,24,46,149,190,135,21,61,65,171,197,111,16,108,162,160,109,
+102,15,0,0,0,18,202,248,198,23,109,120,4,22,128,146,152,21,3,70,83,199,248,198,18,0,0,0,3,36,19,0,6,109,172,249,248,90,0,0,0,81,243,248,249,250,252,181,
+68,0,0,22,56,69,96,102,109,165,165,66,0,8,39,57,85,28,0,0,0,0,0,0,50,109,157,151,34,22,211,250,198,73,70,3,0,0,21,150,150,21,0,5,110,71,19,0,
+0,0,14,38,6,0,90,248,248,94,0,3,36,18,0,35,74,142,168,133,69,62,34,0,34,169,195,161,154,135,98,81,54,80,13,0,94,248,248,90,5,118,111,6,0,0,22,121,
+152,21,96,250,250,92,0,0,0,0,0,0,3,36,19,0,6,109,125,42,6,0,0,0,0,0,0,3,29,70,186,148,68,0,0,22,56,82,219,251,222,171,165,66,0,8,39,57,
+85,28,0,0,0,0,0,0,50,109,164,232,249,203,38,59,18,66,70,3,0,0,21,150,150,21,0,5,110,71,19,0,0,0,14,38,6,0,0,0,0,0,0,128,249,240,72,35,
+74,142,168,133,69,62,34,0,34,169,195,161,154,135,98,81,54,80,13,0,0,0,18,198,248,224,121,6,0,0,22,121,128,157,22,21,214,250,199,18,0,0,0,3,36,19,0,0,
+0,5,125,176,249,248,90,0,81,243,248,248,250,252,186,49,14,34,2,7,63,66,48,140,209,193,74,0,10,33,41,88,55,2,0,0,0,0,0,0,0,90,191,164,65,207,248,198,
+64,21,66,70,3,27,147,81,81,144,34,119,142,31,0,0,0,0,0,14,38,94,248,248,94,0,0,0,3,32,35,49,157,189,129,19,63,70,18,0,0,48,191,202,172,97,69,16,
+31,56,83,11,0,94,248,248,169,123,6,0,0,0,0,22,128,157,22,96,250,250,92,0,0,0,0,3,36,19,0,0,0,5,125,130,42,6,0,0,0,0,0,0,61,191,154,49,
+14,34,2,7,63,66,63,229,254,241,87,0,10,33,41,88,55,2,0,0,0,0,0,0,0,102,241,252,213,18,0,18,57,21,66,70,3,27,147,81,81,144,34,119,142,31,0,0,
+0,0,0,14,38,6,0,0,0,0,0,0,124,249,241,107,157,189,129,19,63,70,18,0,0,48,191,202,172,97,69,16,31,56,83,11,0,0,0,23,225,252,199,18,0,0,0,22,
+22,130,164,203,248,214,83,3,0,0,3,36,19,0,0,0,3,69,65,122,175,249,248,141,243,248,248,250,252,187,68,14,0,14,19,60,33,21,115,193,206,146,49,10,32,40,88,23,
+10,38,5,4,9,0,0,0,55,158,83,128,237,249,194,9,21,61,22,66,70,118,91,0,0,85,180,141,20,0,0,0,0,0,0,0,99,249,248,94,0,22,56,6,0,23,76,157,
+179,135,30,60,33,22,64,20,13,124,179,193,202,149,9,0,13,35,59,81,17,0,97,252,252,94,0,0,0,0,0,0,22,130,157,22,96,250,250,92,0,0,3,36,19,0,0,0,
+3,69,65,122,129,42,6,0,0,15,14,59,190,155,68,14,0,14,19,60,33,21,115,198,244,252,209,27,32,40,88,23,10,38,5,4,9,0,0,0,69,233,250,226,168,52,0,0,
+21,61,22,66,70,118,91,0,0,85,180,141,20,0,0,0,0,0,0,0,14,38,6,0,0,22,56,6,0,134,250,248,200,135,30,60,33,22,64,20,13,124,179,193,202,149,9,0,
+13,35,59,81,17,0,5,123,134,199,248,198,18,0,0,0,0,38,227,252,203,21,70,70,2,1,36,19,0,0,0,3,70,71,5,5,122,175,249,248,248,248,251,252,187,52,3,34,
+16,7,61,37,0,74,185,196,111,94,102,65,39,87,29,0,0,13,37,37,9,10,23,55,159,48,22,217,251,233,59,0,0,22,61,22,66,81,3,0,4,115,162,144,20,0,0,0,
+0,0,0,90,248,248,116,3,9,80,102,54,18,55,153,189,135,17,61,37,0,0,24,74,142,179,145,116,183,194,122,6,0,11,34,70,82,27,132,173,248,248,90,0,0,0,0,0,
+0,22,130,157,22,96,250,250,91,1,36,19,0,0,0,3,70,71,5,5,122,129,39,6,0,2,79,191,155,52,3,34,16,7,61,37,0,74,185,196,121,219,251,212,54,87,29,0,
+0,13,37,37,9,10,23,69,234,249,203,65,120,163,52,0,0,22,61,22,66,81,3,0,4,115,162,144,20,0,0,0,0,0,0,0,0,14,35,3,9,80,102,54,18,55,202,253,
+249,85,61,37,0,0,24,74,142,179,145,116,183,194,122,6,0,11,34,70,82,27,132,124,6,18,198,248,198,18,0,0,18,198,248,227,164,22,3,69,68,33,17,0,0,0,3,70,
+70,3,0,0,5,165,250,249,248,250,252,187,60,0,0,1,36,65,36,0,74,178,178,90,56,56,96,100,93,26,0,0,0,4,44,40,13,37,64,159,48,22,207,248,206,123,163,52,
+0,0,22,61,22,66,70,7,123,141,26,85,148,22,0,0,0,0,90,248,248,94,10,40,79,102,77,54,65,153,179,127,45,65,36,0,0,0,15,144,197,157,92,76,39,170,204,124,
+6,4,42,37,61,173,135,6,94,248,248,90,0,0,0,0,0,0,22,130,157,22,96,250,250,112,17,0,0,0,3,70,70,3,0,0,5,122,129,42,4,60,190,155,60,0,0,1,
+36,65,36,0,74,178,178,90,56,70,220,251,219,42,0,0,0,4,44,40,13,37,77,234,249,203,18,0,51,119,163,52,0,0,22,61,22,66,70,7,123,141,26,85,148,22,0,0,
+0,0,0,0,0,0,10,40,79,102,77,54,65,153,179,187,249,246,98,0,0,0,15,144,197,157,92,76,39,170,204,124,6,4,42,37,61,173,135,6,0,0,18,198,248,198,18,0,
+198,248,198,38,130,157,22,4,86,76,1,0,0,3,70,71,4,0,0,0,81,243,252,252,251,253,210,52,28,18,0,10,60,37,0,79,178,178,74,0,28,64,73,102,101,43,0,0,
+6,38,11,19,61,65,159,48,22,207,248,194,9,51,119,163,52,0,0,22,61,22,69,159,141,23,0,0,88,148,22,0,1,90,248,248,94,0,8,82,102,78,31,53,167,185,124,19,
+60,37,0,0,0,15,134,179,156,112,80,4,0,35,178,204,128,39,12,23,151,154,85,13,0,94,248,248,90,0,4,0,0,0,0,22,130,157,22,96,250,250,90,0,0,3,70,71,
+4,0,0,0,0,5,122,122,88,188,155,52,28,18,0,10,60,37,0,79,178,178,74,0,28,64,86,221,251,208,18,0,6,38,11,19,61,78,234,249,203,18,0,0,0,51,119,163,
+52,0,0,22,61,22,69,159,141,23,0,0,88,148,22,0,1,0,0,0,0,0,8,82,102,78,31,53,167,185,124,19,154,249,243,72,0,15,134,179,156,112,80,4,0,35,178,204,
+128,39,12,23,151,154,85,13,0,0,0,18,198,248,199,18,248,198,18,0,22,129,158,48,19,67,70,1,1,70,70,4,44,22,0,81,243,248,248,252,253,252,250,90,2,32,24,58,
+37,0,79,202,187,74,0,10,29,52,100,70,94,102,44,1,34,14,0,24,72,172,53,22,207,248,194,9,0,0,62,118,161,52,0,0,22,64,136,166,80,2,0,0,0,88,148,24,
+120,249,248,94,0,10,79,102,80,51,56,154,180,139,34,58,37,0,0,0,15,135,179,148,91,80,60,19,0,0,34,177,208,129,20,132,135,36,55,82,13,0,94,248,248,90,30,19,
+0,0,0,0,22,129,158,48,106,250,250,91,1,70,70,4,44,22,0,0,0,0,1,142,209,153,54,0,2,32,24,58,37,0,79,202,187,74,0,10,29,52,100,83,219,251,208,19,
+34,14,0,24,85,237,249,203,18,0,0,0,0,0,62,118,161,52,0,0,22,64,136,166,80,2,0,0,0,88,148,24,46,22,0,0,0,10,79,102,80,51,56,154,180,139,34,58,
+37,118,248,243,83,135,179,148,91,80,60,19,0,0,34,177,208,129,20,132,135,36,55,82,13,0,0,0,18,198,249,225,241,35,0,0,0,22,137,162,22,3,68,65,65,69,3,0,
+24,64,94,243,248,248,250,251,211,185,249,248,90,11,72,44,0,74,178,188,138,28,6,33,40,84,46,54,58,99,102,46,3,0,0,57,159,60,58,208,248,194,9,0,0,0,1,58,
+114,162,53,0,5,135,161,37,64,62,1,0,0,0,88,186,249,250,107,0,10,79,102,76,31,63,169,181,121,19,72,44,0,0,0,17,136,179,146,94,76,4,20,64,23,0,0,34,
+177,203,166,116,3,14,34,55,82,13,0,94,248,248,92,36,19,0,0,0,0,22,137,162,22,96,250,250,132,69,3,0,24,64,20,0,0,0,59,184,190,144,34,6,0,11,72,44,
+0,74,178,188,138,28,6,33,40,84,46,54,72,220,251,208,21,0,0,71,234,249,211,24,0,0,0,0,0,0,1,58,114,162,53,0,5,135,161,37,64,62,1,0,0,0,88,148,
+44,64,20,0,10,79,102,76,31,63,169,181,121,19,72,44,0,0,118,249,249,202,146,94,76,4,20,64,23,0,0,34,177,203,166,116,3,14,34,55,82,13,0,0,0,102,248,249,
+249,202,18,0,3,30,34,127,157,22,5,98,98,5,0,0,0,97,246,248,248,250,252,185,58,121,175,249,248,128,36,30,87,178,178,74,28,89,52,38,96,111,22,22,49,42,100,101,
+42,2,57,159,48,22,210,249,196,9,0,0,0,0,0,0,62,120,158,53,115,140,39,58,26,21,0,0,0,0,90,250,252,121,60,28,77,102,78,33,58,157,183,139,24,59,36,30,
+18,0,25,138,179,144,93,75,5,0,0,23,55,5,0,0,39,194,204,124,5,0,14,33,55,82,13,0,94,248,248,48,36,19,0,0,3,30,34,127,157,22,97,251,251,93,0,0,
+0,23,64,18,0,60,193,230,152,121,129,39,16,59,36,30,87,178,178,74,28,89,52,38,96,111,22,22,49,58,220,251,207,20,71,234,249,203,31,38,6,0,0,0,0,0,0,0,
+62,120,158,53,115,140,39,58,26,21,0,0,0,0,0,88,148,43,60,28,77,102,78,33,58,157,183,139,24,59,36,30,18,0,25,192,253,249,142,75,5,0,0,23,55,5,0,0,
+39,194,204,124,5,0,14,33,55,82,13,0,90,248,248,217,199,249,202,19,36,19,0,22,128,158,81,66,65,68,3,0,81,243,249,250,250,252,187,50,0,5,122,178,250,249,90,76,
+189,184,74,0,6,52,91,90,109,179,139,18,4,0,39,102,96,67,159,48,22,207,248,197,46,6,0,0,0,0,0,0,0,65,120,184,150,19,0,22,63,18,0,0,0,90,248,248,
+150,148,50,98,102,76,14,53,157,179,119,27,73,38,0,2,36,19,93,179,144,93,74,4,0,0,0,0,4,0,0,5,115,125,171,204,126,7,0,13,33,55,82,13,0,94,126,0,
+3,36,18,1,36,19,0,22,128,158,81,136,250,250,92,0,0,0,24,56,71,194,231,249,248,125,122,133,77,38,0,76,189,184,74,0,6,52,91,90,109,179,139,18,4,0,54,221,
+251,216,235,249,203,18,0,14,38,6,0,0,0,0,0,0,0,65,120,184,150,19,0,22,63,18,0,0,0,0,0,0,88,148,50,98,102,76,14,53,157,179,119,27,73,38,0,2,
+36,19,93,179,195,251,247,80,0,0,0,0,4,0,0,5,115,125,171,204,126,7,0,13,33,55,82,98,248,248,94,18,18,198,249,208,32,0,0,0,22,152,180,22,1,70,70,83,
+243,248,248,250,252,186,40,0,0,0,15,153,185,249,250,205,179,100,16,8,33,38,89,91,49,139,179,138,18,0,0,40,83,159,48,22,207,248,194,9,14,38,6,0,0,0,0,0,
+0,5,149,179,153,50,0,0,22,64,22,0,90,248,248,94,0,94,180,115,97,25,36,159,179,118,16,59,43,32,6,0,3,36,28,97,96,74,4,0,0,0,0,0,0,0,5,123,
+124,1,31,176,204,127,7,0,13,33,55,82,13,0,0,0,0,2,34,45,15,0,0,0,22,152,180,22,95,250,250,92,0,0,0,74,194,231,249,248,248,248,103,153,143,37,75,178,
+179,100,16,8,33,38,89,91,49,139,179,138,18,0,0,56,220,252,249,206,18,0,0,0,14,38,6,0,0,0,0,0,0,5,149,179,153,50,0,0,22,64,22,0,0,0,0,0,
+0,94,180,115,97,25,36,159,179,118,16,59,43,32,6,0,3,36,28,97,96,155,248,243,77,0,0,0,0,0,5,123,124,1,31,176,204,127,7,0,13,33,126,250,248,94,0,0,
+0,20,206,249,201,18,0,3,66,76,126,156,22,3,129,246,248,248,250,252,186,78,12,0,0,10,62,40,112,186,253,253,138,2,38,42,39,87,26,25,90,47,138,179,138,18,0,57,
+159,48,22,207,248,194,9,8,0,14,38,6,0,0,0,0,5,124,139,71,115,162,52,0,0,22,64,104,248,248,94,0,10,79,155,180,50,84,165,179,117,16,62,37,0,14,38,6,
+0,1,34,82,71,4,0,0,0,0,0,0,0,5,123,124,6,0,0,32,176,204,128,11,0,13,33,55,82,13,0,0,0,2,34,45,15,0,0,3,66,76,126,156,22,96,250,250,
+92,0,60,194,231,250,248,248,248,192,69,40,112,146,183,179,74,2,38,42,39,87,26,25,90,47,138,179,138,18,0,71,235,249,248,202,18,0,0,8,0,14,38,6,0,0,0,0,
+5,124,139,71,115,162,52,0,0,22,64,22,0,0,0,0,10,79,155,180,50,84,165,179,117,16,62,37,0,14,38,6,0,1,34,82,71,4,113,248,243,81,0,0,0,5,123,124,
+6,0,0,32,176,204,128,11,0,98,249,250,146,13,0,0,3,36,34,198,249,202,19,70,70,2,20,130,158,96,243,250,250,250,252,187,40,24,59,13,8,62,37,0,74,179,210,251,
+248,95,32,56,92,26,0,0,28,90,47,138,179,133,69,152,48,22,207,248,194,9,0,29,24,0,14,38,6,0,0,5,125,142,23,0,66,120,162,55,1,0,104,250,249,94,0,10,
+79,102,79,88,143,166,197,123,14,62,37,0,0,0,14,38,4,6,78,87,18,0,0,5,0,0,0,0,2,118,123,6,0,0,0,0,32,176,204,143,26,0,13,33,55,82,13,0,
+3,36,18,1,36,16,1,70,70,2,20,130,158,22,96,250,250,131,196,233,249,249,250,248,187,69,37,0,74,179,183,101,4,8,32,56,92,26,0,0,28,90,47,138,179,133,82,232,
+249,206,202,248,198,18,0,29,24,0,14,38,6,0,0,5,125,142,23,0,66,120,162,55,1,0,22,64,23,0,0,10,79,102,79,88,143,166,197,123,14,62,37,0,0,0,14,38,
+4,6,78,87,18,0,0,113,248,243,81,0,2,118,123,6,0,0,0,0,32,176,204,143,107,248,248,115,55,82,13,0,31,19,0,18,198,249,215,81,3,0,0,23,165,250,249,248,
+251,252,187,42,0,0,25,59,60,34,0,74,177,171,140,169,249,249,115,84,52,13,0,0,0,28,90,48,132,179,179,60,22,207,248,194,9,0,0,1,33,24,0,14,38,6,5,123,
+142,24,0,0,0,66,121,145,15,90,248,249,128,1,10,79,102,79,10,36,171,179,132,59,60,34,0,0,0,0,0,12,36,79,70,8,33,19,122,194,9,0,0,4,109,111,5,0,
+0,0,0,0,0,32,176,204,144,26,0,13,33,55,81,17,31,19,0,0,2,33,75,68,3,0,0,23,124,150,23,94,251,253,239,249,248,248,249,201,67,34,0,74,177,171,140,119,
+43,33,38,84,52,13,0,0,0,28,90,48,132,184,238,249,203,18,18,198,248,198,18,1,33,24,0,14,38,6,5,123,142,24,0,0,0,66,121,145,15,0,0,23,55,1,10,79,
+102,79,10,36,171,179,132,59,60,34,0,0,0,0,0,12,36,79,70,8,33,19,0,0,108,248,243,84,109,111,5,0,0,0,0,0,0,32,176,222,252,248,94,13,33,55,81,17,
+27,0,0,0,20,213,250,202,18,0,0,81,243,250,252,250,251,186,42,0,0,0,7,65,70,12,74,178,178,71,6,125,184,250,250,107,0,36,19,0,0,0,27,90,96,179,179,143,
+211,248,194,9,0,0,0,0,1,33,24,0,14,41,126,139,20,0,0,0,0,0,66,94,98,248,248,94,2,10,79,102,79,10,39,161,179,142,138,80,70,12,0,0,0,0,0,7,
+83,88,7,0,3,141,248,248,194,9,5,121,119,2,0,0,0,0,0,0,0,0,32,174,204,145,26,0,13,32,55,95,27,0,0,0,2,69,86,18,0,0,0,0,4,88,141,80,
+214,252,249,248,248,248,182,72,70,12,74,178,178,71,6,125,142,61,86,26,0,36,19,0,0,0,27,90,108,238,253,230,34,0,0,18,198,248,198,18,1,33,24,0,14,41,126,139,
+20,0,0,0,0,0,66,94,13,0,0,0,2,10,79,102,79,10,39,161,179,142,138,80,70,12,0,0,0,0,0,7,83,88,7,0,3,36,19,0,0,108,248,249,162,2,0,0,
+0,0,0,0,0,0,110,252,254,186,26,0,13,32,55,95,79,13,0,3,70,83,200,249,202,18,81,243,248,248,252,253,190,42,0,0,0,10,58,33,28,118,182,178,74,0,10,37,
+142,201,250,248,90,3,36,19,0,0,0,74,189,87,144,241,252,198,9,0,0,0,0,0,0,1,33,24,11,129,152,25,0,0,0,0,0,0,0,133,250,248,94,0,9,79,102,78,
+10,41,162,179,111,16,124,162,48,62,13,0,0,0,9,81,64,16,36,6,99,248,249,248,248,195,128,124,5,0,8,51,11,0,0,0,0,0,0,30,174,204,146,26,0,13,52,62,
+79,13,0,3,70,70,8,33,19,0,0,0,0,0,121,212,236,249,248,248,248,183,65,33,28,118,182,178,74,0,10,37,142,169,57,2,0,3,36,19,0,0,0,86,240,250,230,184,
+138,18,0,0,18,198,248,198,18,1,33,24,11,129,152,25,0,0,0,0,0,0,0,66,84,10,0,0,9,79,102,78,10,41,162,179,111,16,124,162,48,62,13,0,0,0,9,81,
+64,16,36,6,0,3,36,19,0,5,179,252,243,86,8,51,11,0,0,0,0,90,248,249,204,204,146,26,0,13,52,62,55,80,19,66,71,3,18,199,249,217,243,248,248,250,251,203,
+155,22,0,0,10,62,35,0,74,188,197,82,0,10,33,40,91,136,174,249,248,90,3,36,19,0,52,159,74,105,217,252,237,142,18,0,0,0,0,0,0,0,1,32,96,139,32,33,
+3,0,0,0,0,0,90,248,250,147,8,8,79,102,77,14,41,168,179,110,14,62,35,88,148,51,63,12,0,9,82,70,0,0,14,38,15,194,248,249,248,252,223,20,0,0,53,102,
+77,9,0,0,0,0,0,0,30,174,204,145,29,29,27,30,55,80,19,66,71,3,0,3,36,19,0,0,0,60,187,241,252,249,248,248,248,134,35,0,74,188,197,82,0,10,33,40,
+91,136,127,42,7,0,3,36,19,0,66,234,250,221,64,138,179,138,18,0,0,18,198,248,198,18,1,32,96,139,32,33,3,0,0,0,0,0,0,0,66,84,8,8,79,102,77,14,
+41,168,179,110,14,62,35,88,148,51,63,12,0,9,82,70,0,0,14,38,7,0,3,36,23,123,124,112,248,243,121,102,77,9,0,0,90,248,248,94,30,174,204,145,29,29,27,30,
+32,54,102,70,1,0,0,18,214,249,248,248,250,252,187,56,87,148,22,10,62,37,0,74,178,178,97,60,20,30,39,88,28,5,122,176,249,248,90,3,36,67,159,53,22,212,250,206,
+142,179,139,58,14,0,0,0,0,0,0,1,64,40,0,12,35,6,0,0,0,90,248,248,94,64,78,78,102,76,27,28,32,156,114,13,62,37,0,0,88,148,52,59,20,79,71,3,
+0,0,0,14,38,15,190,248,252,252,248,194,14,0,14,80,102,75,13,40,14,0,0,0,0,33,173,203,155,42,0,14,32,54,102,70,1,0,0,0,3,36,18,0,60,196,236,250,
+250,252,249,205,250,249,90,74,178,178,97,60,20,30,39,88,28,5,122,129,43,6,0,3,36,80,234,249,203,42,90,49,138,179,139,58,14,0,18,198,248,198,18,1,64,40,0,12,
+35,6,0,0,0,0,0,0,0,64,78,78,102,76,27,28,32,156,114,13,62,37,0,0,88,148,52,59,20,79,71,3,0,0,0,14,38,6,0,8,142,134,6,0,108,248,244,139,
+102,75,13,116,248,248,94,0,0,29,173,203,155,42,0,14,14,82,86,76,12,0,0,81,243,248,249,250,252,187,57,0,0,88,152,79,37,0,74,178,179,74,0,37,68,46,85,28,
+0,0,5,122,176,249,248,90,54,173,68,22,207,248,200,97,48,138,194,161,23,0,0,0,0,0,2,34,20,29,24,0,14,38,6,0,90,248,248,94,0,11,97,102,76,26,32,4,
+0,19,15,62,37,0,0,2,3,88,148,54,99,72,1,0,0,0,0,0,14,38,20,222,252,249,248,248,194,14,0,11,79,102,90,50,4,0,0,0,86,217,53,180,205,146,28,0,
+14,82,86,76,12,0,0,0,0,3,32,71,195,236,250,248,248,250,223,83,117,248,250,205,179,74,0,37,68,46,85,28,0,0,5,122,130,42,6,0,68,237,249,203,18,0,26,91,
+48,138,194,161,23,0,0,18,198,248,198,50,20,29,24,0,14,38,6,0,0,0,0,0,0,11,97,102,76,26,32,4,0,19,15,62,37,0,0,2,3,88,148,54,99,72,1,0,
+0,0,0,0,14,38,11,123,126,41,19,0,0,104,248,243,138,102,148,249,248,94,0,0,0,0,29,180,205,146,28,0,64,73,34,54,82,13,81,243,248,248,250,253,239,69,0,0,
+0,10,129,163,23,69,178,179,99,8,8,29,58,102,36,0,0,0,0,5,122,176,249,249,193,55,54,210,248,194,9,25,84,79,158,180,138,18,0,0,0,2,35,21,0,1,33,23,
+0,14,38,94,248,248,94,0,10,78,102,93,82,36,1,0,0,10,62,37,0,0,0,4,36,7,93,180,96,56,10,0,0,0,0,0,0,19,143,132,191,248,249,248,248,194,14,0,
+13,95,102,73,6,0,0,86,243,248,225,66,172,204,147,29,64,73,34,54,82,13,0,0,0,0,50,198,236,250,248,248,248,174,132,163,23,138,253,253,154,8,8,29,58,102,36,0,
+0,0,0,5,122,130,39,68,234,249,210,32,0,0,0,25,84,79,158,180,138,18,0,0,18,198,249,203,18,1,33,23,0,14,38,6,0,0,0,0,10,78,102,93,82,36,1,0,
+0,10,62,37,0,0,0,4,36,7,93,180,96,56,10,0,0,0,0,0,0,19,143,127,6,3,36,15,0,0,104,248,244,186,251,250,98,0,0,0,0,2,34,43,172,204,147,29,
+83,0,11,33,55,137,244,248,248,249,250,236,250,201,18,0,10,62,37,81,156,173,175,74,9,41,36,38,82,54,51,4,0,0,0,0,5,113,182,252,249,104,207,248,194,9,0,0,
+61,102,50,138,179,138,18,0,2,35,20,0,0,0,0,30,20,0,99,249,248,94,0,10,79,102,75,28,78,82,9,0,10,62,37,0,0,0,0,0,8,37,81,133,150,54,58,4,
+0,0,0,0,5,123,131,43,15,190,248,248,248,248,194,16,46,52,80,102,74,7,90,243,248,249,248,217,33,172,203,168,83,0,11,33,55,82,13,0,0,22,162,233,250,248,248,248,
+174,66,37,81,156,173,204,250,248,116,36,38,82,54,51,4,0,0,0,0,5,113,147,234,249,203,20,7,0,0,0,0,61,102,50,138,179,138,18,0,2,51,202,248,198,18,0,30,
+20,0,14,38,6,0,0,10,79,102,75,28,78,82,9,0,10,62,37,0,0,0,0,0,8,37,81,133,150,54,58,4,0,0,0,0,5,123,131,43,6,0,2,7,0,0,0,106,
+249,250,250,158,74,7,0,0,2,35,20,0,29,172,203,168,149,27,0,13,104,245,250,248,249,250,149,48,199,249,202,26,62,37,0,69,179,179,86,0,8,36,58,88,26,0,16,2,
+0,0,0,0,0,53,179,183,249,248,248,194,9,0,2,50,44,27,88,50,138,179,138,20,36,20,0,0,0,0,0,0,32,105,248,248,118,3,9,79,102,76,27,30,6,66,80,21,
+58,37,0,0,0,0,0,0,8,81,88,11,88,148,36,2,0,0,0,5,123,124,6,15,38,15,185,248,248,248,248,206,64,0,11,83,102,137,243,248,249,248,243,81,0,27,186,209,
+149,27,0,13,33,55,82,13,22,160,229,249,248,249,248,170,66,37,0,69,179,179,86,94,248,249,127,88,26,0,16,2,0,0,0,0,0,67,238,252,211,24,0,0,0,0,2,50,
+44,27,88,50,138,179,138,20,36,20,18,198,248,198,18,0,32,24,0,14,38,3,9,79,102,76,27,30,6,66,80,21,58,37,0,0,0,0,0,0,8,81,88,11,88,148,36,2,
+0,0,0,5,123,124,6,15,38,6,0,0,0,0,2,122,249,248,245,144,102,72,5,0,36,20,0,0,0,27,186,209,203,148,29,81,244,249,250,251,250,148,36,3,18,198,249,212,
+52,0,74,178,173,123,135,31,33,38,88,54,7,0,0,0,0,0,0,0,52,155,55,124,239,249,248,96,0,2,50,50,2,0,25,90,51,138,180,154,36,0,0,0,0,0,0,0,
+90,249,249,94,11,40,79,102,76,27,32,4,0,0,66,102,41,0,0,0,0,0,0,9,82,69,13,36,10,88,148,22,0,0,5,123,124,6,0,0,15,38,15,185,248,248,249,249,
+194,18,0,13,144,251,250,249,248,243,77,0,3,68,83,171,203,148,29,0,13,33,55,97,164,232,249,248,248,248,175,69,36,0,74,178,173,123,135,31,115,249,250,125,7,0,0,0,
+0,0,0,0,66,232,249,226,139,42,6,0,0,2,50,50,2,0,25,90,51,138,180,154,36,0,0,18,198,248,198,18,0,33,24,0,11,40,79,102,76,27,32,4,0,0,66,102,
+41,0,0,0,0,0,0,9,82,69,13,36,10,88,148,22,0,0,5,123,124,6,0,0,15,38,6,0,0,2,122,249,248,156,248,244,144,102,72,34,17,0,0,0,3,68,83,171,
+171,204,183,245,248,248,250,251,180,41,0,0,0,26,212,249,198,87,178,178,72,0,93,162,58,88,27,6,39,11,0,0,0,0,0,52,159,53,22,208,252,235,249,248,91,50,50,2,
+0,0,0,24,89,52,151,185,138,18,0,0,0,6,13,90,248,248,115,20,8,82,102,77,26,32,3,0,0,9,55,73,76,9,0,0,0,0,8,82,71,3,0,10,39,11,88,148,
+20,1,123,124,6,0,0,0,0,15,38,13,185,249,249,248,248,194,18,94,248,250,251,250,243,77,0,3,69,76,13,27,171,204,149,29,0,13,52,180,238,249,248,248,248,165,64,37,
+0,74,178,178,72,0,93,162,58,149,249,248,115,11,0,0,0,0,0,66,234,249,203,23,122,130,42,4,1,50,50,2,0,0,0,24,89,52,151,185,138,18,0,0,18,199,248,198,
+18,1,33,20,8,82,102,77,26,32,3,0,0,9,55,73,76,9,0,0,0,0,8,82,71,3,0,10,39,11,88,148,20,1,123,124,6,0,0,0,0,15,38,4,1,122,249,248,
+94,0,99,248,244,144,102,77,3,0,0,3,69,76,13,27,27,197,252,252,248,249,250,160,70,80,12,0,11,62,52,198,250,238,184,74,0,10,30,114,185,48,0,0,10,39,11,0,
+0,0,52,159,53,22,207,248,195,127,175,249,249,122,2,0,0,0,0,0,25,101,62,138,179,138,18,0,0,14,130,248,248,94,0,36,84,102,79,48,32,2,0,0,10,62,36,0,
+56,80,10,0,0,9,81,71,2,0,0,0,10,39,11,86,135,121,118,6,0,0,0,0,0,0,14,33,56,198,248,248,248,248,215,248,248,249,250,248,122,3,1,70,68,15,59,20,
+27,170,204,149,26,20,164,237,250,250,248,248,162,66,37,0,74,178,178,74,0,10,30,114,185,48,94,248,248,115,11,0,0,0,66,234,249,203,18,0,5,122,129,37,48,49,2,0,
+0,0,0,0,25,101,62,138,179,138,18,0,0,31,212,248,198,18,0,36,84,102,79,48,32,2,0,0,10,62,36,0,56,80,10,0,0,9,81,71,2,0,0,0,10,39,11,86,
+135,121,118,6,0,0,0,0,0,0,14,33,121,249,248,94,0,0,0,99,248,249,147,102,70,3,1,70,68,15,59,20,94,244,252,254,252,249,145,40,32,54,81,20,56,37,0,87,
+238,253,214,18,10,33,39,88,107,148,22,0,0,9,39,11,0,52,159,53,22,207,248,194,9,5,122,189,250,248,90,0,0,0,0,3,30,39,86,52,138,179,138,18,0,90,249,250,
+105,0,10,78,102,81,25,38,36,5,0,7,60,37,0,0,0,57,81,8,7,82,71,2,0,0,0,0,0,9,39,11,152,179,27,0,0,0,0,0,0,0,0,54,65,15,180,248,
+248,248,248,248,249,248,240,134,102,68,96,150,9,0,23,64,19,26,170,204,152,157,233,249,249,250,250,166,60,37,0,74,178,178,74,0,10,33,39,88,107,148,22,94,248,248,115,11,
+0,66,234,249,203,18,0,0,0,5,122,150,69,6,0,0,0,0,0,3,30,39,86,52,138,179,138,18,0,0,39,212,248,198,27,78,102,81,25,38,36,5,0,7,60,37,0,0,
+0,57,81,8,7,82,71,2,0,0,0,0,0,9,39,11,152,179,27,0,0,0,0,0,0,0,0,125,250,248,94,0,0,0,0,3,121,248,248,146,102,68,96,150,9,0,23,64,
+246,248,249,252,252,200,50,0,12,33,54,87,33,0,74,178,184,214,248,200,49,39,88,28,0,88,148,22,0,0,9,39,61,159,53,22,207,248,194,9,0,2,54,147,176,249,248,90,
+0,0,3,36,19,0,24,90,52,138,179,138,101,248,248,106,56,27,77,102,75,45,45,0,13,38,6,4,22,0,0,0,0,0,55,76,78,68,2,0,0,0,0,0,0,0,14,141,
+119,85,145,22,0,0,0,0,0,2,50,48,16,36,14,180,248,248,248,249,248,241,75,14,83,102,102,128,122,5,0,23,64,18,21,168,210,244,249,248,248,249,178,87,33,0,74,178,
+178,74,0,10,33,39,88,28,0,88,148,22,94,248,248,115,74,234,249,203,18,0,0,0,0,2,54,147,130,40,5,0,0,0,3,36,19,0,24,90,52,138,179,138,18,0,0,36,
+210,249,215,113,75,45,45,0,13,38,6,4,22,0,0,0,0,0,55,76,78,68,2,0,0,0,0,0,0,0,14,141,119,85,145,22,0,0,0,0,0,2,122,249,248,117,5,0,
+0,0,3,36,19,102,248,248,144,102,102,128,122,5,0,97,249,250,249,249,206,207,150,30,0,13,33,54,80,83,178,178,74,18,200,249,207,100,28,0,0,0,88,148,22,0,0,59,
+174,62,22,207,248,194,9,0,2,50,50,7,122,176,249,248,90,3,36,19,0,0,0,23,89,52,138,206,252,249,94,0,30,97,102,74,27,29,31,23,0,14,38,6,0,0,0,0,
+0,0,8,97,102,11,0,0,0,0,0,0,0,5,123,129,42,11,88,148,22,0,0,0,2,50,50,2,0,16,38,112,248,248,249,248,248,225,133,5,70,100,102,69,124,122,5,0,
+24,64,34,157,246,254,252,248,248,159,33,54,80,83,178,178,74,0,10,33,39,88,28,0,0,0,88,148,22,94,248,249,243,249,203,18,0,0,0,0,2,50,50,7,122,130,43,5,
+0,3,36,19,0,0,0,23,89,52,138,179,138,18,0,0,45,220,251,214,43,29,31,23,0,14,38,6,0,0,0,0,0,0,8,97,102,11,0,0,0,0,0,0,0,5,123,129,
+42,11,88,148,22,0,0,0,2,122,249,248,94,16,38,5,0,3,36,19,0,80,172,248,250,127,102,69,124,122,85,243,248,249,251,151,49,170,204,151,31,0,13,33,113,203,182,74,
+0,10,49,207,250,204,18,0,0,0,0,88,148,19,48,159,60,58,209,248,194,9,0,2,50,50,2,0,5,123,176,249,248,112,19,0,0,0,0,0,23,90,124,252,253,181,18,8,
+73,102,94,38,28,2,0,33,24,0,14,38,6,0,0,0,0,9,81,66,54,78,9,0,0,0,0,0,5,123,124,6,9,39,11,88,148,22,0,2,50,50,2,0,0,0,113,249,
+248,249,248,248,248,248,225,166,70,23,88,102,70,124,122,6,0,45,185,235,249,252,254,252,166,0,13,33,113,203,182,74,0,10,33,39,88,28,0,0,0,0,0,88,148,19,133,252,
+249,225,28,0,0,0,0,2,50,50,2,0,5,123,131,43,8,34,19,0,0,0,0,0,23,90,53,138,179,138,18,8,73,113,219,249,204,20,0,33,24,0,14,38,6,0,0,0,
+0,9,81,66,54,78,9,0,0,0,0,0,5,123,124,6,9,39,11,88,148,22,0,2,122,249,248,94,0,0,15,36,8,34,19,0,0,11,124,194,162,23,88,102,70,166,249,248,
+249,250,157,75,17,25,169,204,153,30,0,83,188,194,132,12,7,33,39,100,204,248,198,18,0,0,0,0,81,152,149,48,22,209,249,197,9,0,2,50,50,2,0,0,0,7,81,111,
+250,248,90,0,0,0,0,0,0,104,250,250,181,179,142,87,96,74,42,71,18,0,0,1,33,24,0,14,38,6,0,0,9,82,71,2,0,58,80,8,0,0,0,5,123,124,6,0,
+0,9,39,12,88,148,24,50,50,2,0,0,0,108,248,248,250,248,246,248,248,248,250,233,134,5,18,89,102,69,124,116,34,162,236,250,248,249,252,233,153,30,0,83,188,194,132,12,
+7,33,39,88,28,0,0,0,0,0,0,0,81,159,231,249,248,248,115,12,0,0,2,50,50,2,0,0,0,7,81,26,58,20,0,0,0,0,0,0,0,22,89,53,138,179,142,87,
+96,74,58,214,248,198,18,1,33,24,0,14,38,6,0,0,9,82,71,2,0,58,80,8,0,0,0,5,123,124,6,0,0,9,39,12,88,148,24,122,249,248,94,0,0,0,0,15,
+58,20,0,0,0,3,74,159,124,5,18,89,151,246,252,252,251,147,31,27,62,16,25,169,204,147,93,178,182,98,54,83,40,38,88,28,18,198,248,198,18,0,0,0,46,178,179,45,
+207,248,196,47,10,1,50,50,2,0,0,0,0,0,3,32,113,249,248,90,0,0,0,0,90,248,249,150,51,142,203,182,84,27,27,28,62,16,0,0,1,33,24,0,14,38,4,8,
+82,71,2,0,0,0,59,80,8,0,5,123,124,6,0,0,0,0,9,39,10,88,169,68,2,0,0,0,108,248,248,249,249,241,74,176,248,250,250,248,228,132,5,18,90,102,65,122,
+191,234,249,249,250,248,155,169,204,147,93,178,182,98,54,83,40,38,88,28,0,0,1,0,0,0,0,0,61,238,253,209,105,248,248,115,10,1,50,50,2,0,0,0,0,0,3,32,
+30,34,5,0,0,0,0,0,0,0,22,90,51,142,203,182,84,27,27,44,212,248,198,18,1,33,24,0,14,38,4,8,82,71,2,0,0,0,59,80,8,0,5,123,124,6,0,0,
+0,0,9,39,10,88,200,250,248,94,0,0,0,0,3,32,30,34,5,0,3,70,71,8,122,122,5,93,247,251,250,252,186,131,7,0,27,64,15,23,162,204,192,176,70,11,37,68,
+86,83,26,0,6,49,199,248,198,18,0,52,162,117,128,235,249,194,9,8,34,52,48,2,0,0,0,0,0,3,36,19,0,104,249,248,90,0,0,90,248,248,94,20,82,98,185,201,
+150,48,3,0,27,64,16,0,0,1,33,24,0,12,37,80,70,2,0,0,6,32,2,58,80,13,123,124,6,0,0,0,0,0,0,8,34,52,120,149,22,0,0,113,248,248,249,248,
+239,70,35,18,197,250,248,248,248,228,132,5,20,91,114,179,244,251,248,248,249,172,15,23,162,204,192,176,70,11,37,68,86,83,26,0,6,33,4,0,0,0,0,66,234,251,226,157,
+22,94,248,248,112,52,48,2,0,0,0,0,0,3,36,19,0,16,38,5,0,0,0,0,0,0,0,20,82,98,185,201,150,48,3,0,43,212,248,198,18,1,33,24,0,12,37,80,
+70,2,0,0,6,32,2,58,80,13,123,124,6,0,0,0,0,0,0,8,34,123,251,252,108,0,0,0,0,3,36,19,0,16,35,10,68,71,3,0,5,122,165,243,248,250,251,251,
+83,123,122,5,0,28,64,17,88,194,204,166,25,7,38,56,96,85,8,3,38,15,18,198,248,198,66,164,120,68,207,250,229,31,0,1,50,65,12,0,0,0,0,0,3,36,19,0,
+0,0,104,249,248,90,90,248,248,94,0,7,81,102,97,148,188,139,18,0,0,28,64,18,0,0,1,33,20,6,83,88,7,0,0,6,38,15,0,0,63,164,128,6,0,0,0,0,
+0,0,0,1,50,65,12,88,148,22,118,248,248,249,248,239,58,0,15,87,77,177,248,248,248,248,228,132,1,39,197,245,250,252,252,248,140,28,64,17,88,194,204,166,25,7,38,56,
+96,85,8,3,38,15,0,0,0,0,66,235,251,213,18,88,148,22,94,248,249,132,12,0,0,0,0,0,3,36,19,0,0,0,16,38,5,0,0,0,0,0,0,7,81,102,97,148,
+188,139,18,0,0,44,212,248,198,18,1,33,20,6,83,88,7,0,0,6,38,15,0,0,63,164,128,6,0,0,0,0,0,0,0,1,122,250,248,150,148,22,0,0,3,36,19,0,
+0,0,15,87,70,2,0,0,0,85,249,252,248,249,252,185,102,65,125,122,11,0,30,97,175,172,175,203,155,51,38,88,51,52,81,42,11,0,0,18,198,249,235,130,68,207,248,194,
+95,148,24,50,48,11,37,12,0,0,0,3,36,19,0,0,0,0,0,104,249,248,248,248,94,0,10,79,102,79,85,71,138,179,138,18,0,0,30,32,0,0,0,0,33,86,66,16,
+36,5,5,38,14,0,0,5,123,154,83,8,0,0,0,0,0,0,2,50,48,11,37,12,88,197,249,248,249,248,239,54,0,3,67,75,35,13,176,248,248,248,248,227,130,157,240,251,
+251,250,252,195,11,0,30,97,175,172,175,203,155,51,38,88,51,52,81,42,11,0,0,0,0,66,235,251,213,18,0,0,88,148,24,126,249,248,114,12,0,0,0,3,36,19,0,0,
+0,0,0,16,38,5,0,0,0,0,10,79,102,79,85,71,138,179,138,18,0,0,46,205,248,198,18,0,33,86,66,16,36,5,5,38,14,0,0,5,123,154,83,8,0,0,0,0,
+0,0,2,122,249,248,117,12,88,148,22,3,36,19,0,0,0,3,67,75,35,4,0,0,81,243,248,252,252,249,155,98,93,102,35,124,79,0,74,178,178,69,24,168,206,164,100,25,
+8,34,71,85,11,0,0,0,66,235,251,213,210,248,194,9,0,90,169,68,2,0,8,39,12,0,3,36,19,0,0,0,0,0,0,0,156,249,248,150,0,10,79,102,76,26,60,197,
+69,138,179,138,18,0,0,0,0,0,0,8,79,83,22,0,13,37,37,13,0,0,5,123,124,6,60,79,8,0,0,0,0,3,50,50,2,0,8,39,128,250,252,250,248,234,54,0,
+3,70,71,43,23,38,10,176,248,248,248,249,243,246,249,249,250,251,151,124,79,0,74,178,178,69,24,168,206,164,100,25,8,34,71,85,11,0,0,0,66,235,251,213,18,0,0,0,
+0,90,169,68,96,248,248,115,12,0,3,36,19,0,0,0,0,0,0,0,16,38,5,0,0,10,79,102,76,26,45,79,48,138,179,138,18,0,0,18,198,248,198,26,79,83,22,0,
+13,37,37,13,0,0,5,123,124,6,60,79,8,0,0,0,0,3,122,249,248,94,8,39,12,88,149,55,19,0,0,0,3,70,71,43,23,38,5,81,243,248,248,249,251,190,30,25,
+25,47,2,3,6,73,178,178,74,0,10,48,175,209,162,27,3,42,39,54,82,13,0,52,164,130,213,248,248,198,9,0,1,47,121,149,22,0,0,34,100,14,33,19,0,0,0,0,
+0,0,0,90,248,248,249,248,96,79,102,76,27,48,198,248,202,54,138,179,138,18,0,0,0,0,9,82,70,6,30,22,3,43,43,4,0,5,123,124,6,0,0,60,78,8,0,0,
+1,47,50,2,0,0,0,126,249,248,251,252,236,54,0,3,70,71,5,110,124,21,39,11,176,248,249,252,250,251,252,248,249,153,2,3,6,73,178,178,74,0,10,48,175,209,162,27,
+3,42,39,54,82,13,0,66,235,251,213,18,0,0,0,0,1,47,121,149,22,94,248,249,155,14,33,19,0,0,0,0,0,0,0,0,0,16,39,3,9,79,102,76,27,32,0,16,
+84,54,138,179,138,18,0,0,18,198,248,216,83,6,30,22,3,43,43,4,0,5,123,124,6,0,0,60,78,8,0,0,1,120,249,248,94,0,0,8,37,14,110,156,22,0,0,3,
+70,71,5,110,124,21,108,243,248,248,249,250,147,132,123,5,5,0,0,0,72,178,178,74,0,10,33,39,95,173,202,155,57,9,10,33,55,82,60,163,120,68,210,248,248,201,18,0,
+1,22,4,88,148,19,19,149,93,58,26,0,37,19,0,0,0,0,90,248,248,94,101,249,250,156,76,27,48,199,248,203,36,89,56,138,179,138,18,0,0,9,82,71,3,0,0,33,
+49,9,12,38,11,123,124,6,0,0,0,0,66,79,8,0,1,22,4,0,0,0,126,248,248,250,249,238,165,16,3,70,71,3,0,7,122,122,19,38,11,183,252,250,249,248,252,252,
+132,0,0,0,72,178,178,74,0,10,33,39,95,173,202,155,57,9,10,33,55,82,74,235,251,213,18,0,11,3,0,0,1,22,4,88,148,19,106,252,250,128,26,0,37,19,0,0,
+0,0,0,0,0,0,12,40,79,102,76,27,32,3,0,0,20,89,56,138,179,138,18,0,0,26,216,250,199,18,0,33,49,9,12,38,11,123,124,6,0,0,0,0,66,79,8,0,
+90,248,248,94,0,0,0,0,8,58,26,86,141,16,3,70,71,3,0,7,122,165,244,249,248,249,250,149,36,7,122,122,149,13,0,74,178,178,74,0,10,34,40,88,28,22,167,207,
+158,31,0,13,33,94,189,116,65,207,248,198,204,249,199,18,0,0,0,0,83,140,140,84,34,23,34,62,156,39,0,0,0,90,248,248,94,0,8,146,251,250,107,48,199,248,203,26,
+44,29,87,56,138,179,138,18,9,82,71,2,0,0,6,34,39,21,0,19,143,127,6,0,0,0,0,0,12,84,77,7,0,0,0,0,0,126,248,248,249,249,233,64,76,137,86,71,
+3,0,0,0,5,122,122,15,55,174,247,249,248,248,248,241,159,13,0,74,178,178,74,0,10,34,40,88,28,22,167,207,158,31,0,13,33,105,240,251,213,18,0,0,17,36,3,0,
+0,0,0,0,83,140,140,147,249,249,112,62,156,39,0,0,0,0,0,0,0,0,8,82,102,77,26,32,3,0,0,8,44,29,87,56,138,179,138,18,9,82,84,198,248,198,23,34,
+39,21,0,19,143,127,6,0,0,0,0,0,12,84,77,94,248,248,94,0,0,0,0,3,34,23,34,12,76,137,86,71,3,0,0,0,85,249,252,248,250,250,149,36,3,0,5,128,
+141,113,76,178,178,74,0,10,34,40,88,28,0,6,50,168,203,156,33,0,60,175,127,108,209,248,194,9,18,202,249,199,18,0,0,0,18,168,169,52,19,0,58,174,64,0,0,0,
+90,248,248,94,0,12,79,102,144,249,249,216,248,203,27,57,33,0,19,88,56,138,179,142,94,71,2,0,0,6,38,13,0,33,28,123,131,43,6,0,0,0,0,0,0,14,83,79,
+14,0,0,0,130,248,248,249,248,230,56,36,16,130,177,25,0,0,0,0,0,5,117,121,165,241,249,248,248,248,248,250,233,125,76,178,178,74,0,10,34,40,88,28,0,6,50,168,
+203,156,33,0,74,237,251,222,28,0,0,0,0,19,36,3,0,0,0,0,18,168,169,52,106,248,249,203,64,0,0,0,0,0,0,0,0,12,79,102,79,48,32,2,0,0,10,57,
+33,0,19,88,56,138,179,142,94,71,2,18,198,248,206,30,0,33,28,123,131,43,6,0,0,0,0,0,0,14,144,250,248,94,0,0,0,0,3,36,19,0,8,36,16,130,177,25,
+0,0,0,81,243,248,252,252,249,160,36,2,0,0,10,66,0,142,179,178,74,0,10,33,40,88,28,0,6,38,13,21,165,204,150,75,156,121,82,217,250,197,9,0,0,18,202,249,
+199,18,0,22,147,83,105,154,19,48,159,59,38,13,0,0,126,248,94,3,8,73,102,76,26,127,249,248,219,28,62,36,0,0,0,20,88,54,142,203,170,20,0,0,6,38,14,0,
+0,6,140,136,6,14,35,6,0,0,0,0,0,0,14,83,85,12,0,130,248,248,249,248,230,50,0,8,88,74,89,148,22,0,0,4,6,0,27,195,247,249,249,248,248,248,250,249,
+248,234,186,178,74,0,10,33,40,88,28,0,6,38,13,21,165,204,150,88,233,251,216,67,82,13,0,0,0,0,19,36,3,0,0,22,147,83,105,154,19,124,252,249,115,13,0,0,
+0,0,0,3,8,73,102,76,26,38,36,6,0,10,62,36,0,0,0,20,88,54,142,203,170,20,0,0,24,206,248,198,18,6,140,136,6,14,35,6,0,0,0,0,0,90,248,250,
+148,12,0,0,0,3,36,19,0,0,0,8,88,74,89,148,22,0,81,243,248,248,249,251,189,41,36,6,0,10,62,37,72,170,178,74,0,10,33,40,88,28,0,6,38,14,0,0,
+20,159,203,194,128,64,209,249,207,89,13,0,0,0,18,202,249,199,39,148,90,36,19,81,152,149,48,0,2,38,13,0,0,50,0,6,35,46,69,28,47,198,248,249,248,129,37,0,
+0,0,0,0,17,82,99,168,180,138,18,6,38,14,0,0,5,123,124,38,24,0,13,38,6,0,0,0,0,0,0,13,78,84,136,248,248,249,248,230,45,0,3,68,71,36,12,88,
+148,22,0,6,37,31,168,246,251,252,248,249,128,191,249,248,250,253,241,89,0,10,33,40,88,28,0,6,38,14,0,0,20,159,206,241,251,212,27,32,55,82,13,0,0,0,0,19,
+36,3,22,148,90,36,19,81,152,149,125,248,248,114,13,0,0,0,0,6,35,46,69,28,32,1,13,34,16,60,37,0,0,0,0,0,17,82,99,168,180,138,18,6,38,31,198,248,
+199,132,124,38,24,0,13,38,6,0,0,0,90,248,248,102,78,84,12,0,3,36,19,0,0,0,3,68,71,36,12,88,148,96,243,248,249,249,250,147,132,121,17,34,16,60,37,0,
+178,178,74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,66,195,209,173,213,248,197,41,55,82,13,0,0,0,18,202,250,231,101,36,19,0,46,174,152,16,7,44,10,36,14,
+0,0,0,0,10,33,24,46,199,248,203,117,250,249,90,0,0,0,0,0,6,82,102,56,138,179,141,53,14,0,0,5,123,124,6,1,33,24,0,14,38,6,0,0,0,0,0,0,
+13,172,250,248,249,248,230,45,0,3,70,71,2,5,38,13,88,148,23,0,32,183,246,249,248,252,252,132,73,42,171,250,253,253,250,207,31,33,40,88,28,0,6,38,14,0,0,0,
+0,79,242,254,237,47,0,13,33,55,82,13,0,0,0,0,19,55,149,89,36,19,0,46,174,152,16,98,249,248,113,14,0,0,0,0,10,33,24,30,3,0,0,20,82,41,0,0,
+0,0,0,0,6,82,102,56,138,179,141,53,14,0,18,199,252,226,23,1,33,24,0,14,38,6,0,90,248,248,94,0,13,78,84,16,32,19,0,0,0,3,70,71,2,5,38,13,
+141,250,249,248,249,251,152,33,7,122,122,25,73,38,0,74,178,74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,52,157,124,177,245,252,200,9,13,33,54,80,28,0,0,0,
+40,233,251,206,35,0,53,157,48,81,148,26,70,68,6,36,14,0,0,0,0,28,70,200,248,203,27,59,163,252,248,90,0,0,0,9,82,66,24,86,56,140,190,144,18,0,6,122,
+124,6,0,0,1,32,12,0,14,38,5,0,22,2,0,1,169,252,251,251,249,230,41,0,3,70,71,3,0,0,7,39,13,88,141,83,189,246,250,248,248,248,184,153,46,32,81,229,
+253,250,248,248,213,63,88,28,0,6,38,14,0,0,0,0,66,233,252,238,206,156,24,0,13,33,54,80,28,0,0,0,24,155,110,34,18,0,53,157,48,81,148,26,138,250,248,113,
+14,0,0,0,0,28,56,10,0,0,10,59,109,140,11,0,0,0,0,9,82,66,24,86,56,140,190,144,18,0,6,132,225,248,198,18,1,32,12,0,14,38,93,248,249,96,0,1,
+63,133,86,96,27,0,0,0,3,70,71,3,0,0,7,107,244,250,252,250,251,156,56,10,0,5,127,153,46,32,78,178,74,0,10,33,40,88,28,0,6,38,14,0,0,0,0,52,
+167,118,67,211,252,243,148,17,0,12,30,74,99,16,0,13,141,101,208,249,198,18,55,52,0,0,88,148,25,70,68,6,36,14,0,0,24,46,200,249,205,26,62,37,11,175,252,248,
+90,0,9,82,71,3,0,17,86,78,142,179,137,30,117,124,13,0,0,0,0,0,2,0,0,14,32,44,53,4,0,142,252,253,252,251,235,51,0,3,70,71,3,0,0,0,0,7,
+38,11,120,221,249,249,248,249,248,113,66,140,112,86,190,182,192,248,248,249,249,223,52,0,6,38,14,0,0,0,0,66,236,251,213,36,163,204,144,17,0,12,30,74,99,16,0,13,
+141,89,45,45,1,0,55,52,0,0,88,148,25,138,250,248,113,14,0,0,24,30,11,38,8,9,62,37,11,129,142,11,0,0,9,82,71,3,0,17,86,78,142,179,137,30,117,124,
+30,198,248,198,18,0,2,0,0,99,249,249,128,4,0,4,131,179,153,90,82,12,0,3,70,71,3,0,0,0,81,243,249,248,252,253,190,44,9,38,8,9,66,140,112,86,190,180,
+4,8,33,40,88,28,0,6,38,14,0,0,0,0,52,167,134,75,207,248,198,166,204,144,17,0,48,63,56,82,13,7,47,36,32,202,249,199,18,0,0,0,0,88,148,24,70,68,
+6,36,12,21,48,198,248,205,54,61,35,0,0,5,175,252,248,96,82,71,2,0,0,3,46,90,56,136,179,169,118,16,61,16,0,0,0,0,0,0,0,0,49,69,10,0,144,248,
+249,252,253,241,114,82,18,66,70,3,0,0,0,0,0,0,3,80,201,250,253,249,248,248,130,61,35,0,142,179,175,99,9,170,249,249,250,249,207,32,38,14,0,0,0,0,66,236,
+251,215,18,0,19,163,204,144,17,0,48,63,56,82,13,7,47,36,16,16,36,3,0,0,0,0,0,88,148,24,138,250,248,113,12,21,33,1,0,8,38,61,35,0,0,5,129,141,
+6,8,82,71,2,0,0,3,46,90,56,136,179,169,118,16,61,32,198,248,198,18,0,0,90,248,249,138,10,0,0,0,24,156,183,137,87,82,18,66,70,3,0,0,0,81,243,248,
+248,251,251,203,160,22,0,8,38,61,35,0,142,179,175,99,40,34,39,88,28,0,6,38,14,0,0,0,0,52,164,118,82,218,248,194,55,36,162,204,145,56,53,16,31,55,81,17,
+32,19,0,18,202,249,199,18,0,0,0,0,98,150,24,70,68,6,47,54,198,248,203,26,61,56,7,0,0,0,5,174,252,250,135,2,0,0,6,38,10,16,88,62,171,179,134,15,
+30,64,14,1,48,22,0,0,0,45,53,17,35,147,248,248,249,249,240,191,136,82,100,68,0,0,0,0,0,0,0,0,59,207,249,250,250,252,249,109,61,56,7,72,170,179,142,12,
+40,38,181,250,249,248,248,214,39,0,0,0,0,66,235,251,216,70,14,1,47,36,162,204,145,56,53,16,31,55,81,17,32,19,0,0,19,36,3,0,0,0,0,0,98,150,24,138,
+250,248,120,39,0,0,0,8,61,56,7,0,0,0,5,127,140,83,70,2,0,0,6,38,10,16,88,62,171,179,134,15,30,64,31,198,249,203,18,90,248,249,127,17,35,6,0,3,
+36,38,142,179,136,82,100,68,0,0,0,0,81,243,248,248,250,252,187,58,87,148,22,8,61,56,7,72,170,179,142,12,43,58,86,27,0,6,38,14,0,0,0,0,52,164,120,68,
+207,249,208,60,47,4,18,162,208,168,19,0,13,32,55,95,28,0,0,0,18,202,249,199,18,0,0,0,0,89,148,24,67,76,46,205,248,203,27,62,35,9,38,10,0,0,0,10,
+197,253,248,90,0,6,38,14,0,0,22,165,141,135,179,138,18,28,58,53,46,6,0,0,46,55,4,0,155,249,248,249,248,221,58,145,179,163,101,79,11,0,0,0,0,0,0,60,
+208,249,250,249,248,250,194,79,35,9,101,181,178,76,112,125,43,58,89,172,248,248,249,248,212,27,0,0,66,235,251,213,18,27,58,53,47,4,18,162,208,168,19,0,13,32,55,95,
+28,0,0,0,0,19,36,3,0,0,0,0,0,89,148,24,136,250,249,111,15,0,10,62,35,9,38,10,0,0,0,10,163,167,12,0,0,6,38,14,0,0,22,165,141,135,179,138,
+18,28,58,68,208,248,216,248,249,128,4,0,14,36,9,34,19,0,20,145,179,163,101,79,11,0,0,81,243,248,248,250,252,187,54,31,14,88,152,79,35,9,101,181,178,76,112,125,
+142,93,53,1,5,38,14,0,0,0,0,52,164,120,68,207,248,194,66,76,17,0,1,57,178,170,22,0,0,13,52,62,79,13,0,0,0,18,202,249,199,18,0,0,0,0,88,148,
+42,96,213,248,207,28,62,37,0,0,10,39,10,0,9,75,65,176,252,248,93,38,14,0,0,5,122,131,88,57,138,179,138,19,59,76,17,0,1,46,54,5,9,158,248,248,250,248,
+221,36,0,24,177,199,135,84,85,12,0,0,0,0,62,208,249,250,248,248,248,106,128,163,23,69,181,190,81,0,14,139,142,93,53,6,164,249,248,248,248,212,27,66,235,251,213,18,
+0,1,59,76,17,0,1,57,178,170,22,0,0,13,52,62,79,13,0,0,0,0,19,36,3,0,0,0,0,0,88,148,42,147,250,248,103,11,62,37,0,0,10,39,10,0,9,75,
+65,130,140,10,5,38,14,0,0,5,122,131,88,57,138,179,138,19,59,76,34,216,248,249,137,5,9,22,0,14,58,21,0,0,0,24,177,199,135,84,85,12,81,243,248,248,250,252,
+187,52,0,6,22,11,128,163,23,69,181,190,81,0,14,139,168,136,13,36,36,11,0,0,0,0,52,164,120,72,207,248,195,57,44,28,59,16,39,51,19,55,84,12,0,31,28,29,
+54,82,13,0,0,0,18,202,249,199,18,0,0,0,0,102,168,204,250,217,29,57,36,0,0,0,0,10,33,16,79,68,1,5,175,252,249,97,0,0,5,122,122,5,17,87,60,138,
+180,161,58,28,59,16,39,52,4,0,162,250,249,249,249,225,41,0,3,70,87,149,179,130,82,84,12,0,0,52,205,249,250,248,248,248,103,59,36,81,156,173,175,81,35,16,29,44,
+168,136,13,36,41,166,248,248,248,248,223,236,251,213,18,0,3,50,44,28,59,16,39,51,19,55,84,12,0,31,28,29,54,82,13,0,0,0,0,19,34,3,0,0,0,0,0,102,
+160,28,138,250,248,127,36,0,0,0,0,10,33,16,79,68,1,5,129,141,41,11,0,0,5,122,122,5,17,87,60,138,180,161,58,28,128,248,249,250,199,18,22,87,31,24,28,32,
+6,0,3,70,87,149,179,130,82,138,243,248,248,249,251,187,52,0,0,0,7,59,36,81,156,173,175,81,35,16,29,44,32,122,125,46,38,20,23,0,0,52,164,120,72,207,248,195,
+59,46,1,0,26,73,49,1,0,0,50,82,40,14,0,12,32,55,82,13,0,0,0,18,202,249,199,18,0,0,24,47,218,252,208,83,94,33,0,0,0,0,0,0,14,93,73,1,
+0,0,11,185,252,248,105,5,122,122,5,0,0,17,85,60,159,193,138,18,26,73,49,1,0,154,248,249,251,249,221,42,34,11,68,70,3,25,150,179,127,82,84,12,40,151,249,250,
+248,248,248,100,60,34,0,69,179,179,86,0,16,52,43,86,32,122,125,46,38,25,170,248,248,249,252,251,217,18,0,4,52,46,1,0,26,73,49,1,0,0,50,82,40,14,0,12,
+32,55,82,13,0,0,0,0,18,35,3,0,0,0,24,31,88,148,23,138,250,249,90,0,0,0,0,0,14,93,73,1,0,0,11,144,142,25,23,5,122,122,5,0,0,17,85,60,
+159,193,138,101,249,250,134,198,248,198,18,30,101,42,0,13,34,11,68,70,3,25,150,179,168,247,250,248,249,248,169,52,0,0,0,10,60,34,0,69,179,179,86,0,16,52,43,86,
+0,5,129,127,30,58,8,0,52,164,120,72,207,248,195,60,48,2,0,2,44,59,55,15,0,0,0,70,89,11,0,0,13,33,55,82,13,0,0,0,18,202,249,199,18,24,48,198,
+248,221,160,74,82,66,2,0,0,0,0,9,80,73,35,8,0,0,14,14,179,253,249,167,122,5,0,0,0,0,20,102,85,138,179,139,59,59,55,15,158,248,248,249,249,233,57,0,
+14,88,70,2,0,0,26,152,179,126,78,89,145,248,250,248,248,248,96,62,37,0,74,178,173,123,135,31,31,44,100,34,0,5,129,127,30,58,13,162,249,252,251,249,219,27,4,53,
+48,2,0,2,44,59,55,15,0,0,0,70,89,11,0,0,13,33,55,82,13,0,0,0,0,19,36,3,0,24,33,1,0,88,152,74,146,250,248,90,0,0,0,9,80,73,35,8,
+0,0,14,14,135,150,26,119,122,5,0,0,0,0,20,102,85,138,206,252,250,131,55,32,198,248,199,46,44,86,30,0,14,88,70,2,0,0,26,184,251,252,250,250,248,151,52,0,
+0,0,10,62,37,0,74,178,181,163,135,31,31,44,100,34,10,0,5,131,139,20,36,54,163,120,72,207,248,195,61,47,1,0,2,49,51,3,25,64,16,1,35,15,48,84,13,0,
+0,13,33,55,82,13,0,0,0,18,202,249,203,62,198,248,203,27,129,163,25,69,70,3,0,0,9,82,71,1,8,37,7,0,0,17,35,172,252,252,92,0,0,0,0,4,49,53,
+82,58,138,193,162,21,29,182,248,248,249,248,221,53,87,29,62,73,35,5,0,0,0,27,153,179,144,153,248,250,248,248,243,96,62,37,0,74,178,178,72,0,93,162,58,86,35,32,
+10,0,5,131,139,20,36,72,245,251,249,248,248,218,75,47,1,0,2,49,51,3,25,64,16,1,35,15,48,84,13,0,0,13,33,55,82,13,0,0,0,0,18,31,24,32,1,0,
+0,10,129,163,25,138,250,248,90,0,9,82,71,1,8,37,7,0,0,17,35,123,178,118,3,0,0,0,0,4,49,53,82,127,252,253,196,21,25,64,33,198,249,202,18,30,87,29,
+62,73,35,5,0,0,81,244,252,253,252,248,151,58,0,0,0,10,62,37,0,74,178,186,231,243,145,162,58,86,35,32,39,8,17,41,124,113,61,172,119,71,207,248,195,61,46,1,
+0,4,49,51,3,0,0,26,61,42,15,0,0,50,85,17,0,0,13,33,55,82,13,0,0,0,18,206,250,238,248,203,27,62,37,88,148,23,70,70,0,8,82,71,2,0,0,7,
+37,8,17,36,6,115,201,252,248,90,0,0,5,54,46,0,15,83,86,159,180,140,165,249,250,249,248,217,27,0,38,102,75,0,12,38,6,0,0,0,30,172,223,251,250,250,248,243,
+97,62,37,0,74,178,178,74,0,10,33,114,185,47,0,10,39,8,17,41,124,113,76,236,251,236,248,248,248,250,224,28,0,4,49,51,3,0,0,26,61,42,15,0,0,50,85,17,
+0,0,13,33,55,82,13,0,0,0,0,33,53,1,0,0,10,62,37,88,148,23,138,250,248,95,82,71,2,0,0,7,37,8,17,36,6,115,170,136,9,0,0,0,5,54,46,0,
+100,250,251,194,180,138,18,26,61,57,201,248,198,18,38,102,75,0,12,38,6,81,243,248,249,252,253,198,90,78,12,0,10,62,37,0,74,178,186,231,248,248,245,159,185,47,0,10,
+8,46,38,2,0,134,182,122,91,207,248,195,61,46,0,0,0,43,51,3,0,0,0,0,48,66,15,0,0,0,50,42,0,0,0,13,33,55,82,13,0,0,21,105,243,249,241,62,
+62,37,0,0,112,157,22,67,67,77,69,2,0,0,0,0,7,46,38,7,122,119,18,174,252,248,90,5,54,46,0,0,0,48,102,61,140,227,252,249,249,250,219,27,0,13,78,65,
+81,29,0,14,38,6,0,0,42,120,202,247,251,250,247,101,58,37,0,74,189,185,74,0,10,33,40,88,106,148,22,0,8,46,38,2,0,143,239,251,217,25,158,248,250,249,248,217,
+27,43,51,3,0,0,0,0,48,66,15,0,0,0,50,42,0,0,0,13,33,55,82,13,0,0,21,82,70,36,32,30,62,37,0,0,112,157,22,136,250,250,135,2,0,0,0,0,
+7,46,38,7,122,119,18,127,142,11,0,5,54,46,0,90,248,249,158,61,138,179,138,18,48,66,32,198,248,201,90,65,81,29,0,14,107,243,248,248,249,248,215,194,117,77,82,23,
+58,37,0,74,189,185,128,243,248,249,249,247,153,148,22,0,17,38,36,10,50,149,173,152,210,249,197,61,45,0,0,0,0,14,3,0,0,0,3,36,15,24,64,18,0,0,0,0,
+0,0,0,0,13,33,55,82,12,19,96,221,250,241,251,237,69,0,0,0,24,130,155,31,102,98,5,0,0,0,0,0,16,38,40,127,122,5,0,5,176,252,248,125,45,0,0,0,
+0,10,21,88,184,252,253,252,249,216,84,14,11,84,50,0,29,90,30,0,14,37,4,41,101,102,80,168,243,248,137,102,42,0,74,178,185,120,20,8,33,40,88,28,0,88,148,22,
+17,38,36,10,64,231,253,232,33,34,16,178,249,248,248,248,217,39,3,0,0,0,3,36,15,24,64,18,0,0,0,0,0,0,0,0,13,33,55,82,12,19,84,102,89,28,96,174,
+55,0,0,0,24,130,155,31,158,251,248,90,0,0,0,0,16,38,40,127,122,5,0,5,129,140,16,54,45,0,90,248,248,100,21,85,62,138,180,154,32,24,64,31,200,250,209,18,
+29,90,30,81,244,249,248,249,248,151,80,158,168,109,77,102,42,0,74,178,185,120,20,87,245,249,250,249,243,141,148,22,55,1,9,76,164,118,73,230,252,199,75,44,0,0,0,0,
+0,0,0,31,3,1,34,19,0,0,27,64,18,0,0,0,0,0,0,0,0,13,33,53,82,96,221,250,207,41,212,251,231,39,0,0,0,19,127,182,80,64,68,3,0,0,0,15,
+34,6,126,140,9,0,0,0,5,177,253,249,90,0,0,0,0,0,5,172,250,250,252,253,235,43,23,64,85,48,0,0,0,30,90,30,0,10,63,100,102,52,0,36,161,196,142,84,
+80,82,178,178,74,20,63,43,39,88,28,0,0,0,88,156,55,1,9,89,235,251,213,132,122,21,69,44,158,248,248,248,248,221,27,31,3,1,34,19,0,0,27,64,18,0,0,0,
+0,0,0,0,0,13,33,53,82,84,102,92,21,7,64,124,148,22,0,0,0,19,127,182,80,135,250,248,90,0,0,15,34,6,126,140,9,0,0,0,5,130,158,49,0,90,248,248,
+94,0,0,16,85,62,150,184,138,18,23,64,97,209,248,198,18,30,143,244,248,248,250,248,151,52,0,36,150,170,142,84,80,82,178,178,74,20,63,43,107,247,249,248,248,243,141,156,
+149,19,48,164,121,72,207,248,224,154,53,32,6,0,0,0,0,0,47,102,63,31,16,0,0,0,0,26,63,18,0,0,0,0,0,0,0,0,9,43,104,221,250,207,24,62,50,201,
+251,231,39,0,0,6,84,151,156,22,70,70,3,0,20,35,6,122,122,8,2,0,0,0,8,57,187,252,248,90,0,0,0,5,167,248,248,251,250,233,187,143,27,89,86,14,0,0,
+0,0,30,89,27,37,101,102,54,0,0,0,42,177,189,108,128,204,182,74,0,7,43,73,90,25,0,0,0,0,20,112,149,19,62,234,251,213,18,5,126,150,53,32,6,158,248,248,
+248,248,227,118,63,31,16,0,0,0,0,26,63,18,0,0,0,0,0,0,0,0,9,43,93,102,90,17,6,62,34,15,111,149,22,0,0,6,84,151,156,22,138,250,248,90,20,35,
+6,122,122,8,2,0,0,0,8,57,148,139,98,248,248,94,0,0,0,0,16,98,71,138,179,143,27,89,86,31,198,248,198,93,244,250,249,249,248,151,54,0,0,0,42,177,189,108,
+128,204,182,74,0,7,43,73,90,98,243,248,248,248,244,157,136,152,153,115,72,207,248,194,50,145,122,18,38,6,0,0,0,0,27,92,102,70,0,0,0,0,0,0,26,62,18,0,
+0,0,0,0,0,0,19,97,221,251,219,36,58,37,0,18,202,251,231,39,9,82,67,22,128,156,22,69,70,3,19,8,122,122,5,0,0,0,0,0,38,45,5,175,252,248,90,0,
+5,171,248,248,249,249,223,82,143,137,92,47,22,63,18,0,0,0,0,26,92,100,102,58,30,6,0,10,62,69,155,179,183,196,132,10,6,33,39,90,72,17,0,0,0,1,21,3,
+81,159,232,251,213,18,0,0,42,145,122,18,38,6,158,248,248,248,249,233,118,70,0,0,0,0,0,0,26,62,18,0,0,0,0,0,0,0,19,85,102,96,78,20,58,37,0,0,
+19,112,149,22,9,82,67,22,128,156,22,138,250,248,102,8,122,122,5,0,0,0,0,0,38,45,5,173,252,248,94,0,0,0,0,3,31,30,82,63,143,137,92,47,22,63,35,198,
+248,247,248,249,250,248,150,58,30,6,0,10,62,69,155,179,183,196,132,10,6,33,39,90,72,17,81,243,248,248,248,243,245,203,186,84,207,248,194,9,4,5,122,122,19,38,6,0,
+0,0,0,48,94,102,62,2,0,0,0,11,71,62,62,18,0,0,0,0,0,22,98,221,250,212,70,102,43,0,0,0,18,202,251,232,107,71,2,0,22,130,156,22,69,70,5,122,
+122,5,0,0,0,0,0,0,4,0,0,5,176,252,248,93,171,248,248,249,248,207,36,81,65,82,50,0,0,26,64,18,0,0,0,39,100,102,66,0,13,34,16,60,37,0,98,179,
+179,137,76,84,40,39,87,25,18,64,22,0,0,0,0,0,62,238,253,217,18,0,0,0,4,5,122,122,19,38,6,154,248,248,248,249,233,121,62,2,0,0,0,11,71,62,62,18,
+0,0,0,0,0,22,86,102,91,44,56,102,43,0,0,0,0,19,109,153,96,71,2,0,22,130,156,22,138,250,248,169,122,5,0,0,0,0,0,0,4,0,90,248,252,183,11,0,
+0,0,3,36,19,0,15,81,65,82,50,0,0,26,64,105,247,248,248,249,248,151,66,0,13,34,16,60,37,0,98,179,179,137,76,84,40,39,87,25,18,64,22,81,243,248,248,248,
+252,248,170,235,249,194,9,0,0,0,5,122,122,19,38,6,0,3,36,14,22,92,102,63,2,0,11,80,102,71,26,64,19,0,0,0,22,98,221,250,206,32,66,70,78,13,0,0,
+0,18,203,252,237,40,0,0,0,22,130,156,20,70,158,124,5,0,0,0,0,0,0,0,0,0,0,0,5,176,252,248,248,248,249,248,207,22,0,26,102,75,0,0,0,0,26,64,
+18,0,42,101,102,66,80,29,0,20,73,38,0,70,173,174,168,179,111,83,88,82,25,0,0,22,64,22,0,0,0,66,234,251,227,156,22,0,0,0,0,0,5,122,122,19,38,6,
+154,248,249,248,249,233,121,63,2,0,11,80,102,71,26,64,19,0,0,0,22,86,102,90,16,16,66,70,78,13,0,0,0,0,22,148,177,24,0,0,0,22,130,156,20,139,253,252,
+94,0,0,0,0,0,0,0,0,90,248,248,97,129,142,11,0,3,36,19,0,0,0,26,102,75,0,0,0,0,99,246,248,248,249,250,158,66,80,29,0,20,73,38,0,70,173,174,
+168,179,111,83,88,82,25,0,0,22,64,22,81,243,248,249,251,249,247,250,229,31,0,0,0,0,0,5,122,122,19,36,9,34,19,0,0,23,92,102,61,18,80,102,78,9,0,25,
+64,19,0,22,99,221,250,207,24,59,42,30,55,82,13,0,0,9,91,215,251,231,39,0,0,0,22,128,144,121,154,71,1,0,0,0,0,0,0,0,0,0,0,0,0,14,230,252,
+248,249,248,207,18,0,13,80,55,77,48,0,0,0,0,25,56,54,100,102,52,0,29,87,37,53,42,32,71,168,178,68,43,169,188,128,102,86,8,0,0,0,22,64,22,0,66,234,
+251,213,18,88,148,22,0,0,0,0,0,5,122,122,19,36,9,168,248,248,248,249,233,121,61,18,80,102,78,9,0,25,64,19,0,22,87,102,90,17,6,59,42,30,55,82,13,0,
+0,9,79,76,110,149,22,0,0,0,22,128,144,121,192,250,248,90,0,0,0,0,0,0,90,248,248,94,0,5,129,141,14,34,19,0,0,0,13,80,55,77,48,0,0,81,243,249,
+250,250,250,251,210,18,29,87,37,53,42,32,71,168,178,68,43,169,188,128,102,86,8,0,0,0,22,64,22,81,245,252,249,248,248,247,145,148,22,0,0,0,0,0,5,122,122,19,
+58,21,0,0,0,0,23,90,102,94,102,75,9,13,4,0,25,58,35,97,221,250,206,24,62,37,0,12,33,55,82,11,7,82,71,19,202,236,161,22,0,0,0,22,178,185,27,62,
+62,2,0,0,0,0,0,0,0,0,0,0,9,176,248,252,253,248,219,18,0,13,84,50,0,14,85,48,0,15,3,0,56,102,102,50,0,0,0,36,102,55,0,84,180,169,74,0,
+10,75,181,204,119,74,84,12,0,0,0,22,64,80,234,251,213,18,0,0,88,148,22,0,0,0,0,0,5,122,122,19,58,21,154,248,248,248,249,233,121,94,102,75,9,13,4,0,
+25,58,35,85,102,89,16,6,62,37,0,12,33,55,82,11,7,82,71,1,16,112,149,22,0,0,0,22,178,185,27,133,250,248,90,0,0,0,0,90,248,248,94,0,0,0,5,129,
+152,25,0,0,0,13,84,50,0,14,85,48,81,244,248,248,250,248,158,209,248,198,18,36,102,55,0,84,180,169,74,0,10,75,181,204,119,74,84,12,0,0,0,22,64,67,192,248,
+247,248,248,248,243,141,148,22,0,0,0,0,0,5,124,139,33,34,6,0,0,0,0,34,102,102,97,24,0,19,36,3,0,38,108,221,250,202,24,62,37,0,0,0,13,33,53,78,
+78,68,2,0,18,44,112,150,23,0,5,121,124,128,154,22,67,69,3,0,0,0,0,0,0,0,0,9,180,248,248,249,252,252,248,90,13,84,50,0,0,0,22,96,36,15,29,43,
+99,102,82,16,0,0,10,56,56,84,95,178,173,95,4,8,34,40,120,178,179,100,78,86,12,0,0,0,81,239,251,213,18,0,0,0,0,88,148,22,0,0,0,0,0,5,124,139,
+33,34,6,154,248,248,248,249,235,124,97,24,0,19,36,3,0,38,97,102,86,16,6,62,37,0,0,0,13,33,53,78,78,68,2,0,0,19,112,150,23,0,5,121,124,128,154,22,
+136,250,248,90,0,0,90,248,248,94,0,0,0,0,3,37,137,140,11,0,13,84,50,0,0,0,22,147,245,248,249,249,248,151,82,33,198,248,200,70,56,84,95,178,173,95,4,8,
+34,40,120,178,179,100,78,86,12,0,0,0,67,182,121,137,248,247,248,248,248,243,141,150,31,0,0,0,0,3,40,132,122,19,38,6,0,0,13,79,102,100,102,80,16,0,18,30,
+24,96,221,251,205,23,62,37,0,0,0,0,0,10,36,92,102,15,0,0,0,0,19,102,145,34,121,124,4,22,130,158,20,70,70,3,0,0,0,0,0,0,9,180,248,248,249,248,
+199,181,252,248,144,50,0,0,0,0,1,44,35,0,53,112,103,49,22,63,18,9,62,37,0,95,205,187,71,12,40,34,40,88,28,52,170,179,98,66,83,13,0,72,234,251,221,35,
+0,0,0,0,0,0,88,150,31,0,0,0,0,3,40,132,122,19,38,6,149,248,248,250,251,234,124,80,16,0,18,30,24,84,102,102,32,6,62,37,0,0,0,0,0,10,36,92,
+102,15,0,0,0,0,19,102,145,34,121,124,4,22,130,158,20,138,250,248,90,90,248,248,94,0,0,0,0,3,36,19,5,129,139,24,83,50,0,0,0,0,82,245,249,248,250,248,
+151,49,22,63,34,200,250,206,18,95,205,187,71,12,40,34,40,88,28,52,170,179,98,66,83,13,0,58,160,121,106,241,199,87,243,248,248,248,243,139,151,22,0,0,3,36,19,5,
+122,122,19,38,3,12,83,102,72,30,90,102,83,15,0,34,105,221,250,206,68,62,53,93,13,0,0,0,0,7,82,82,54,80,13,0,0,0,0,0,81,175,135,6,0,0,21,134,
+154,22,69,70,3,0,0,0,0,9,185,248,248,249,248,198,18,5,179,253,250,90,0,0,0,0,0,1,27,57,173,167,72,0,0,22,60,62,34,0,74,178,187,138,28,4,39,58,
+86,26,0,0,53,171,179,88,50,84,77,235,251,213,35,62,21,0,0,0,0,0,0,86,151,22,0,0,3,36,19,5,122,122,19,38,3,154,250,251,250,249,233,124,83,15,0,34,
+94,102,85,36,54,62,53,93,13,0,0,0,0,7,82,82,54,80,13,0,0,0,0,0,81,175,135,6,0,0,21,134,154,22,138,250,248,248,248,94,0,0,0,0,3,36,19,0,
+0,5,134,173,55,0,0,0,0,81,243,248,249,250,251,195,72,0,0,22,60,75,206,248,214,184,187,138,28,4,39,58,86,26,0,0,53,171,179,88,50,84,63,163,113,62,202,250,
+67,22,81,243,248,248,248,243,141,149,22,3,36,19,0,0,5,122,122,15,42,84,102,75,8,0,20,92,102,79,35,96,221,251,202,22,64,83,147,179,93,0,0,0,9,82,68,16,
+32,55,82,13,0,0,0,0,100,155,138,20,0,0,0,18,128,156,22,69,70,3,0,0,9,185,248,248,249,248,194,18,0,13,85,190,252,248,90,0,0,0,0,0,47,176,176,55,
+14,34,2,7,63,70,18,74,178,178,74,28,89,52,38,90,53,2,0,0,0,57,171,179,79,100,240,251,213,18,0,20,64,22,0,0,0,0,0,0,88,149,22,3,36,19,0,0,
+5,122,122,15,42,84,191,250,248,248,248,233,124,79,35,84,102,96,17,5,64,83,147,179,93,0,0,0,9,82,68,16,32,55,82,13,0,0,0,0,100,155,138,20,0,0,0,18,
+128,156,22,178,250,248,150,0,0,0,0,3,36,19,0,0,0,13,85,152,138,11,0,0,81,243,248,248,249,251,202,55,14,34,2,7,63,70,34,214,253,238,87,28,89,52,38,90,
+53,2,0,0,0,57,171,179,79,89,188,115,62,198,248,207,45,61,22,81,243,248,248,248,243,142,148,55,19,0,0,0,0,5,122,128,91,102,75,6,0,16,13,18,88,102,112,221,
+250,204,31,60,49,148,198,148,25,0,0,9,82,71,3,0,13,33,54,82,17,0,0,110,133,14,84,148,22,0,0,0,21,130,156,22,69,70,3,9,190,248,248,249,248,194,18,0,
+13,84,50,5,175,252,248,90,0,15,14,45,175,176,72,14,0,14,19,60,33,22,119,184,178,74,0,6,52,91,90,22,9,38,5,4,9,0,58,167,184,236,251,223,28,0,3,59,
+45,61,22,0,0,0,0,0,0,90,148,55,19,0,0,0,0,5,122,128,91,102,75,151,248,248,248,248,233,124,101,102,82,27,14,60,49,148,198,148,25,0,0,9,82,71,3,0,
+13,33,54,82,17,0,0,110,133,14,84,148,22,0,0,0,21,130,191,249,250,250,248,90,0,0,3,36,19,0,0,0,13,84,50,5,129,142,11,81,243,248,248,249,251,202,72,14,
+0,14,19,60,33,22,119,190,238,250,198,24,52,91,90,22,9,38,5,4,9,0,58,167,178,170,124,107,200,248,204,73,4,20,64,22,81,243,248,248,248,243,158,155,22,0,0,0,
+0,0,19,166,175,80,35,4,0,5,36,9,40,102,118,235,204,21,61,52,138,179,149,78,21,0,9,82,71,2,0,0,0,12,34,70,82,22,121,135,12,0,0,88,148,22,0,0,
+0,22,130,156,22,69,73,191,248,248,249,248,194,14,0,13,84,50,0,0,5,175,252,248,90,2,66,175,176,56,3,34,16,7,61,37,0,74,185,198,89,0,10,33,39,90,90,29,
+14,13,38,37,9,10,23,107,239,254,225,61,82,19,66,71,4,20,64,22,0,0,0,0,0,3,113,155,22,0,0,0,0,0,19,166,175,80,35,4,144,248,249,248,249,235,127,101,
+29,4,61,52,138,179,149,78,21,0,9,82,71,2,0,0,0,12,34,70,82,22,121,135,12,0,0,88,148,22,0,0,0,104,251,252,108,138,250,248,90,3,36,19,0,0,0,13,
+84,50,0,0,5,129,177,243,248,248,250,251,202,56,3,34,16,7,61,37,0,74,185,198,101,198,248,206,54,90,90,29,14,13,38,37,9,10,23,96,183,203,118,208,250,207,80,71,
+0,0,22,64,22,81,243,248,248,249,244,143,147,22,0,0,0,15,86,105,160,125,17,38,6,0,0,45,88,102,102,118,91,59,50,138,179,138,18,23,60,26,78,71,2,0,0,0,
+0,4,42,37,57,166,143,11,0,0,0,0,88,148,22,0,0,0,22,130,156,22,69,161,248,249,248,194,14,0,13,84,50,0,0,0,0,5,175,252,248,117,174,176,64,0,0,1,
+36,65,36,0,74,178,178,90,62,27,29,41,87,24,26,99,153,54,43,40,13,37,76,230,252,242,184,78,48,102,70,1,0,0,22,64,22,0,0,0,3,36,19,91,147,22,0,0,
+0,15,86,105,160,125,17,38,6,144,248,249,250,251,235,127,79,59,50,138,179,138,18,23,60,26,78,71,2,0,0,0,0,4,42,37,57,166,143,11,0,0,0,0,88,148,22,0,
+90,248,248,176,156,22,138,250,248,112,19,0,0,0,13,84,50,0,0,0,0,85,249,252,248,249,251,202,64,0,0,1,36,65,36,0,74,178,178,90,62,43,204,249,218,41,26,99,
+153,54,43,40,13,37,62,145,139,193,238,250,213,113,70,1,0,0,0,22,64,22,81,243,249,248,248,243,143,147,22,0,16,86,102,72,11,124,110,16,38,3,22,89,102,85,31,88,
+102,92,138,179,138,18,0,0,27,101,76,0,0,0,0,0,6,38,12,19,144,161,88,13,0,0,0,0,0,88,150,22,0,0,0,22,130,156,22,68,170,248,194,9,0,13,84,50,
+0,0,0,0,0,0,5,172,252,253,203,57,28,18,0,10,60,37,0,74,178,178,74,0,28,70,52,84,28,0,0,30,124,179,59,19,61,78,234,249,205,78,175,180,121,84,78,11,
+0,0,0,22,64,22,0,3,36,19,0,0,91,147,22,0,16,86,102,72,11,124,110,16,38,3,154,250,251,250,249,233,127,92,138,179,138,18,0,0,27,101,76,0,0,0,0,0,
+6,38,12,19,144,161,88,13,0,0,0,0,0,88,150,105,248,248,94,22,130,156,22,137,250,248,90,0,0,13,84,50,0,0,0,0,81,243,248,252,252,251,200,57,28,18,0,10,
+60,37,0,74,178,178,74,0,28,70,66,217,249,198,18,30,124,179,59,19,61,65,159,51,26,213,253,240,130,84,78,11,12,0,0,0,22,63,23,102,244,248,248,248,243,143,147,37,
+90,102,69,6,0,9,42,1,10,46,89,102,82,37,18,62,106,185,199,140,18,0,0,9,78,76,58,20,0,0,0,4,36,14,1,128,141,39,55,82,13,0,0,0,0,1,107,156,
+22,0,0,0,22,129,157,48,75,140,12,0,13,84,50,0,46,22,0,0,0,0,0,47,223,254,250,90,2,32,24,58,37,0,74,178,178,74,0,10,29,53,102,43,0,0,0,0,
+52,125,169,62,79,237,249,203,18,0,69,198,199,79,63,87,12,0,0,0,22,63,23,31,19,0,0,0,0,91,147,37,90,102,69,6,0,9,42,1,10,46,89,188,250,249,248,250,
+235,196,199,140,18,0,0,9,78,76,58,20,0,0,0,4,36,14,1,128,141,39,55,82,13,0,0,0,0,1,160,252,249,94,0,0,22,129,157,48,142,250,248,90,13,84,50,0,
+46,22,0,81,243,248,248,249,253,221,61,0,2,32,24,58,37,0,74,178,178,74,0,10,29,53,102,58,198,248,198,18,52,125,169,62,66,172,56,18,198,248,217,202,199,79,63,87,
+87,12,0,0,0,22,75,33,81,243,248,248,248,243,150,184,114,93,23,0,0,0,0,0,22,91,102,83,10,8,72,55,146,206,185,80,4,0,9,82,71,1,20,64,23,0,0,2,
+7,2,116,130,8,14,34,55,82,13,0,0,0,0,4,109,154,22,0,0,0,22,137,161,22,69,66,19,82,50,0,0,24,64,20,0,0,0,46,173,171,186,252,248,90,11,72,44,
+0,74,178,178,74,0,10,34,41,83,44,58,23,0,0,2,3,29,118,178,234,249,211,24,0,3,70,121,180,169,22,64,87,12,0,0,0,22,75,33,0,0,0,0,0,0,103,184,
+114,93,23,0,0,0,0,0,22,91,102,83,144,248,250,250,252,249,196,80,4,0,9,82,71,1,20,64,23,0,0,2,7,2,116,130,8,14,34,55,82,13,0,0,0,90,248,251,
+191,22,0,0,0,22,137,161,22,138,250,248,143,50,0,0,24,64,94,243,248,248,249,251,198,146,135,11,0,11,72,44,0,74,178,178,74,0,10,34,41,83,44,58,39,198,248,198,
+21,29,118,172,161,56,54,200,248,203,83,121,180,169,22,64,64,87,12,0,3,30,34,60,22,81,243,248,248,248,247,188,175,44,61,19,0,0,0,24,92,102,84,38,13,59,52,152,
+183,145,102,102,65,17,80,71,2,0,0,23,55,5,0,0,2,117,130,8,0,0,14,33,55,82,13,0,0,0,0,1,111,156,22,0,3,30,34,128,156,22,69,102,48,0,0,0,
+0,23,64,18,0,46,175,176,54,2,175,252,248,128,36,30,87,178,178,74,0,10,34,40,88,28,0,23,55,5,0,0,0,0,84,241,252,213,31,36,11,68,71,3,71,60,1,0,
+64,87,12,0,3,30,34,60,22,0,0,0,0,17,88,158,175,44,61,19,0,0,0,24,92,102,84,38,13,167,250,252,253,252,238,127,65,17,80,71,2,0,0,23,55,5,0,0,
+2,117,130,8,0,0,14,33,55,82,13,0,90,248,248,94,111,156,22,0,3,30,34,128,156,22,138,251,249,90,0,0,0,97,246,248,248,249,251,202,54,2,130,140,21,59,36,30,
+87,178,178,74,0,10,34,40,88,28,0,23,55,22,198,248,198,18,72,193,170,62,201,249,205,81,71,3,71,60,1,0,0,64,86,16,31,19,0,22,64,22,81,243,248,250,251,246,
+146,146,42,64,18,0,12,89,102,81,9,17,73,53,138,180,154,30,16,88,102,96,67,1,0,0,0,0,4,0,0,3,118,128,8,0,0,0,0,13,33,55,82,13,0,0,0,0,
+3,112,155,23,36,19,0,22,127,161,88,83,64,2,0,0,0,0,24,56,57,175,176,55,0,0,5,177,253,249,90,76,189,184,74,0,10,34,42,88,28,0,0,0,4,0,0,0,
+0,69,233,250,227,175,55,14,88,71,2,0,0,0,0,0,0,64,86,16,31,19,0,22,64,22,0,0,18,89,102,69,96,146,42,64,18,0,12,89,102,81,9,17,73,53,202,253,
+252,249,248,236,127,96,67,1,0,0,0,0,4,0,0,3,118,128,8,0,0,0,0,13,33,55,82,98,248,248,94,0,3,112,155,23,36,19,0,22,127,161,88,146,250,248,90,0,
+81,243,249,250,250,251,202,55,0,0,5,132,158,40,0,76,189,184,74,0,10,34,42,88,28,0,0,0,4,0,18,198,248,210,165,69,128,235,249,206,100,71,2,0,0,0,0,0,
+0,0,63,98,26,0,0,0,22,64,18,93,247,251,250,248,243,145,145,43,62,28,76,102,80,9,8,59,58,153,181,138,21,36,10,26,102,102,67,3,0,0,0,0,0,0,4,119,
+127,7,0,0,0,0,0,0,13,33,55,82,13,0,0,0,0,2,110,167,36,0,0,0,31,155,173,24,68,70,3,0,0,0,0,60,176,176,45,0,0,0,9,66,199,252,250,205,
+179,100,16,8,33,42,88,28,0,0,0,0,0,0,0,0,69,234,249,203,46,121,171,104,74,35,5,0,0,0,0,0,0,0,63,98,26,0,0,0,22,64,18,17,89,102,69,4,
+0,93,145,43,62,28,76,102,80,9,8,59,58,153,181,202,249,249,248,249,238,127,67,3,0,0,0,0,0,0,4,119,127,7,0,0,0,0,0,0,13,33,126,250,248,94,0,0,
+0,2,110,167,36,0,0,0,31,155,173,24,137,250,248,141,243,248,248,250,251,201,45,0,0,0,9,66,166,136,78,178,179,100,16,8,33,42,88,28,0,0,0,0,0,0,0,18,
+210,252,209,35,205,251,237,114,74,35,5,0,0,0,0,0,0,2,30,70,84,12,0,0,0,18,67,91,151,246,248,248,248,243,145,145,42,87,102,78,9,8,62,52,138,183,156,24,
+0,1,35,80,69,86,102,68,4,0,0,0,0,4,121,126,6,0,0,0,0,0,0,8,0,13,33,55,82,13,0,0,0,2,34,117,154,22,0,13,80,61,125,156,22,69,70,3,
+0,0,46,174,176,82,12,0,0,10,58,81,102,209,253,253,138,2,38,42,40,88,28,0,0,0,0,0,0,0,0,69,234,249,203,18,0,30,131,189,56,12,38,6,0,0,0,0,
+0,2,30,70,84,12,0,0,0,18,67,91,102,68,4,0,0,0,93,145,42,87,102,78,9,8,62,52,138,183,156,24,140,248,249,250,250,238,127,68,4,0,0,0,0,4,121,126,
+6,0,0,0,0,0,0,8,0,98,249,250,146,13,0,0,0,2,34,117,154,22,0,13,80,61,125,156,22,138,250,248,248,248,249,251,201,82,12,0,0,10,58,81,102,182,192,179,
+74,2,38,42,40,88,28,0,0,0,0,0,0,0,0,55,165,209,248,238,248,209,140,189,56,12,38,6,0,0,0,0,3,36,17,0,64,87,12,0,0,18,92,102,75,84,243,248,
+248,248,243,145,145,45,85,24,6,62,52,138,179,138,31,38,3,7,79,86,14,14,89,102,68,4,0,0,6,122,124,6,0,0,0,0,0,0,0,29,24,0,13,33,55,82,13,0,
+3,36,18,1,111,154,32,84,50,0,21,130,157,24,70,69,4,45,175,176,45,24,59,13,8,62,35,12,128,204,223,251,248,95,32,58,92,25,0,0,0,0,0,0,0,0,69,234,
+249,203,18,0,3,65,76,118,172,57,14,38,6,0,0,0,3,36,17,0,64,87,12,0,0,18,92,102,75,4,0,0,0,0,0,93,145,45,85,24,6,62,52,138,179,138,31,38,
+3,138,250,250,248,248,239,127,68,4,0,0,6,122,124,6,0,0,0,0,0,0,0,29,106,248,248,115,55,82,13,0,3,36,18,1,111,154,32,84,50,0,21,130,157,98,248,250,
+248,249,251,202,45,24,59,13,8,62,35,12,128,204,205,105,1,8,32,58,92,25,0,0,0,0,0,0,0,0,55,159,50,35,238,248,239,91,76,118,172,57,14,38,6,0,0,0,
+36,19,0,0,0,64,87,10,18,90,102,74,49,3,81,243,248,248,248,243,146,145,39,57,60,50,138,179,138,18,0,12,36,80,68,8,33,13,15,89,102,69,4,5,122,116,6,0,
+0,0,0,0,0,0,0,1,33,24,0,25,112,71,82,15,33,18,0,0,0,115,185,66,0,0,0,23,124,149,25,64,83,173,176,47,0,0,25,59,60,34,0,74,181,202,146,150,
+249,249,116,84,52,13,0,0,0,0,0,0,0,67,234,249,203,18,0,3,70,70,1,28,125,173,58,14,38,6,0,3,36,19,0,0,0,64,87,10,18,90,102,74,49,3,0,0,
+0,0,0,0,95,145,39,57,60,50,138,179,138,18,0,12,36,80,167,248,249,248,248,239,127,69,4,5,122,116,6,0,0,0,0,0,0,0,0,91,249,249,94,25,112,71,82,15,
+33,18,0,0,0,115,185,66,0,0,0,23,165,250,249,250,250,253,219,47,0,0,25,59,60,34,0,74,181,202,146,89,46,30,40,84,52,13,0,0,0,0,0,0,0,53,159,50,
+18,198,248,239,250,214,19,28,125,173,58,14,38,6,0,3,19,0,0,0,0,0,60,83,88,102,66,4,2,0,0,81,243,248,248,248,243,146,147,76,81,143,179,138,18,0,0,7,
+83,88,7,0,3,36,13,15,89,102,73,125,122,1,0,0,0,0,0,0,0,0,0,0,1,33,24,93,183,150,66,88,24,0,0,0,12,82,134,154,22,0,0,0,4,88,145,71,
+172,176,48,0,0,0,7,65,70,12,74,178,178,81,78,102,153,250,250,106,0,36,19,0,0,0,0,0,59,231,249,203,18,0,3,70,71,3,0,0,29,124,173,58,14,36,9,34,
+19,0,0,0,0,0,60,83,88,102,66,4,2,0,0,0,0,0,0,0,0,95,147,76,81,143,179,138,18,0,0,7,83,88,7,135,248,249,248,248,239,127,73,125,122,1,0,0,
+0,0,0,0,0,0,90,248,248,115,24,93,183,150,66,88,24,0,0,0,12,82,134,154,22,0,0,81,243,250,252,250,252,253,249,90,0,0,7,65,70,12,74,178,178,81,78,102,
+94,63,83,26,0,36,19,0,0,0,0,0,44,148,48,18,198,248,203,95,214,248,198,18,29,124,173,58,14,36,9,34,0,0,0,0,0,0,22,101,102,67,0,0,0,0,0,0,
+81,243,248,248,248,243,169,150,151,197,144,18,0,0,9,82,68,16,36,6,0,3,36,13,15,92,176,160,10,0,0,0,0,0,0,0,0,0,0,0,0,1,33,46,140,183,159,65,
+75,13,0,13,84,49,2,111,156,22,0,0,0,0,113,209,173,81,64,2,0,10,58,33,28,118,182,178,74,0,18,88,102,158,250,248,90,3,36,19,0,0,0,68,231,249,203,18,
+0,3,70,70,3,0,0,0,0,29,118,168,59,14,58,21,0,0,0,0,0,0,22,101,102,67,0,0,0,0,0,0,0,0,0,0,0,10,128,150,151,197,144,18,0,0,9,82,
+68,16,36,6,130,248,249,248,248,239,190,160,10,0,0,0,0,0,0,0,0,90,248,248,94,1,33,46,140,183,159,65,75,13,0,13,84,49,2,111,156,22,81,243,248,248,251,253,
+199,145,250,248,90,10,58,33,28,118,182,178,74,0,18,88,102,102,58,0,0,3,36,19,0,0,0,53,148,40,18,198,248,203,83,70,21,198,248,198,18,29,118,168,59,14,58,21,
+6,0,0,0,0,22,91,102,87,80,11,0,0,0,0,5,1,81,243,248,248,250,246,192,179,152,73,12,0,9,82,71,3,0,14,38,7,0,3,36,18,131,170,106,70,5,0,0,
+0,0,0,0,0,0,0,0,0,0,1,32,41,153,187,147,62,78,26,80,50,0,0,3,112,156,22,0,0,45,169,190,154,23,69,67,15,59,35,0,74,188,197,82,0,10,29,51,
+102,102,149,249,248,90,3,36,19,0,69,234,249,203,18,0,3,70,69,1,0,0,0,0,0,0,9,73,168,82,28,34,6,0,0,0,0,22,91,102,87,80,11,0,0,0,0,5,
+1,0,0,0,10,62,48,162,179,152,73,12,0,9,82,71,3,0,14,38,7,130,248,249,248,252,246,132,70,5,0,0,0,0,0,0,90,248,248,94,0,0,1,32,41,153,187,147,
+62,78,26,80,50,0,0,3,112,187,244,248,248,249,251,211,154,23,138,250,248,128,35,0,74,188,197,82,0,10,29,51,102,102,88,44,4,0,3,36,19,0,55,159,48,18,198,248,
+203,83,69,1,0,18,198,248,198,18,9,73,168,82,28,34,38,6,0,0,23,92,102,62,7,62,87,12,0,0,19,32,2,0,81,243,250,250,252,251,190,134,46,59,20,79,71,2,
+0,0,0,14,38,6,0,8,142,131,20,88,102,70,5,0,0,0,2,43,14,0,0,0,0,0,0,1,54,54,142,182,144,69,102,54,0,0,0,0,3,112,156,20,43,175,175,62,
+85,148,23,70,96,36,0,53,179,178,97,60,20,30,38,85,36,76,102,151,249,248,90,3,36,83,234,249,203,18,0,6,70,68,3,41,14,0,0,0,0,0,0,1,90,172,60,15,
+38,6,0,0,23,92,102,62,7,62,87,12,0,0,19,32,2,0,0,10,62,52,138,179,159,134,46,59,20,79,71,2,0,0,0,14,38,6,130,248,252,252,248,239,129,70,5,0,
+0,0,2,118,248,248,94,0,0,0,0,1,54,54,142,182,144,69,102,54,0,0,0,0,83,248,252,249,249,251,201,62,85,148,23,138,251,249,90,53,179,178,97,60,20,30,38,85,
+36,76,102,90,44,2,0,3,36,70,159,50,18,198,248,204,83,68,3,41,14,0,18,198,248,198,18,1,90,172,60,15,14,38,3,21,96,102,63,2,0,0,64,87,11,15,36,4,
+0,0,10,123,246,252,253,252,244,143,143,51,99,72,1,0,0,0,0,0,14,38,11,123,126,41,13,15,88,102,70,6,0,3,50,50,6,0,0,0,0,0,2,34,20,29,42,145,
+186,174,84,76,12,0,0,0,0,3,105,160,174,173,62,0,0,88,152,74,82,66,2,15,124,79,0,37,68,44,85,30,0,10,79,102,151,249,248,90,71,237,249,203,18,0,0,46,
+68,2,47,51,6,0,0,0,0,0,2,34,20,69,168,60,14,38,3,21,96,102,63,2,0,0,64,87,11,15,36,4,0,0,10,62,52,138,179,139,25,92,143,51,99,72,1,0,
+0,0,0,0,14,38,11,190,252,249,248,248,238,129,70,6,0,3,122,249,248,94,0,0,0,0,2,34,20,29,42,145,186,174,84,76,12,0,0,81,243,248,250,253,251,199,62,0,
+0,88,152,74,146,250,248,100,124,79,0,37,68,44,85,30,0,10,79,102,90,43,2,0,57,173,65,18,198,248,203,60,68,2,47,51,6,0,0,18,198,248,198,50,20,69,168,60,
+61,14,35,22,87,65,2,0,0,0,0,62,88,40,0,0,0,10,62,52,175,251,252,249,249,243,151,176,93,56,10,0,0,0,0,0,0,19,143,127,6,3,36,9,16,88,102,70,
+11,47,50,2,0,0,0,0,0,2,35,21,0,1,30,48,178,195,142,63,82,13,0,0,0,0,43,193,209,76,0,0,0,10,129,163,25,69,69,4,33,8,8,29,57,102,38,0,
+0,0,10,79,102,151,249,249,241,249,210,32,0,0,0,6,3,48,50,2,0,0,0,0,0,2,35,21,0,1,71,167,61,14,35,22,87,65,2,0,0,0,0,62,88,40,0,0,
+0,10,62,52,138,179,138,22,36,7,102,176,93,56,10,0,0,0,0,0,0,19,143,127,129,248,249,248,248,238,132,70,11,120,249,248,94,0,0,0,0,2,35,21,0,1,30,48,
+178,195,142,63,82,13,81,243,248,248,249,252,224,76,0,0,0,10,129,163,25,138,250,248,111,8,8,29,57,102,38,0,0,0,10,79,102,90,44,57,159,52,51,201,248,203,18,6,
+3,48,50,2,0,0,0,0,18,198,249,203,18,1,71,167,168,62,14,35,15,2,0,0,0,0,0,15,78,84,11,0,10,62,52,138,179,175,244,248,248,249,247,177,144,50,58,4,
+0,0,0,0,5,123,131,43,6,0,2,7,0,16,86,102,88,48,1,0,0,0,0,0,2,35,20,0,0,0,12,86,74,147,183,143,63,82,13,0,0,46,174,170,133,151,22,0,
+10,62,37,88,148,24,70,68,9,38,36,37,83,56,51,4,0,0,0,10,79,102,179,252,249,219,20,7,0,0,0,1,49,50,2,0,0,0,0,0,2,35,20,0,0,0,1,71,
+168,62,14,35,15,2,0,0,0,0,0,15,78,84,11,0,10,62,52,138,179,138,18,0,8,37,81,152,218,64,58,4,0,0,0,0,5,123,131,43,6,126,248,248,248,248,238,132,
+147,249,248,94,0,0,0,0,2,35,20,0,0,0,12,86,74,147,183,143,63,137,244,248,248,249,251,197,133,151,22,0,10,62,37,88,148,24,138,250,248,115,36,37,83,56,51,4,
+0,0,0,10,79,102,126,175,52,18,198,248,203,18,0,1,49,50,2,0,0,0,0,0,2,51,202,248,198,18,1,71,70,167,62,14,36,5,0,0,0,0,19,34,4,63,84,23,
+58,52,138,179,138,18,81,243,248,250,250,243,148,142,31,2,0,0,0,5,123,124,6,15,38,6,0,0,0,0,18,98,102,70,5,0,0,0,0,2,36,20,0,0,0,13,84,48,
+28,45,148,183,141,63,82,13,44,175,176,60,4,110,154,30,62,37,0,0,88,148,24,68,69,36,56,88,28,0,16,2,0,0,0,0,10,127,242,251,249,248,90,0,0,0,2,50,
+50,2,0,0,0,0,0,2,36,20,0,0,0,0,0,1,70,167,62,14,36,5,0,0,0,0,19,34,4,63,84,23,58,52,138,179,138,18,0,0,8,81,88,175,251,230,47,2,
+0,0,0,5,123,124,6,15,38,6,126,248,248,248,248,243,251,250,97,0,0,0,0,2,36,20,0,0,0,13,84,48,28,45,148,183,178,246,250,248,249,251,202,60,4,110,154,30,
+62,37,0,0,88,148,24,137,250,249,126,88,28,0,16,2,0,0,0,0,10,117,197,123,58,198,248,203,18,0,2,50,50,2,0,0,0,0,0,2,36,20,18,198,248,198,18,1,
+1,70,168,63,14,38,6,0,0,19,36,3,0,0,64,102,58,138,179,138,18,0,0,87,247,250,248,249,243,148,141,17,0,0,5,123,124,6,0,0,15,38,6,0,0,2,45,54,
+85,102,72,6,0,0,3,36,20,0,0,0,13,84,48,0,0,33,46,150,183,140,57,89,174,176,62,0,0,1,112,175,55,0,0,0,0,88,148,32,83,77,80,54,7,0,0,0,
+0,0,0,0,69,235,251,224,158,249,248,90,0,2,50,50,2,0,0,0,0,0,3,36,20,0,0,0,0,0,0,0,1,70,168,63,14,38,6,0,0,19,36,3,0,0,64,102,
+58,138,179,138,18,0,0,9,82,69,13,52,200,251,230,33,0,0,5,123,124,6,0,0,15,38,6,126,248,248,249,250,250,177,72,6,0,0,3,36,20,0,0,0,13,84,48,0,
+0,33,46,183,251,252,250,250,251,202,62,0,0,1,112,175,55,0,0,0,0,88,148,32,146,250,250,125,7,0,0,0,0,0,0,0,55,163,113,113,218,249,203,18,0,2,50,50,
+2,0,0,0,0,0,3,36,20,0,0,18,198,248,198,18,18,1,69,166,63,14,38,4,17,36,3,0,0,9,54,82,174,183,138,18,0,0,8,82,129,243,248,248,249,243,149,142,
+14,1,123,124,6,0,0,0,0,15,38,4,1,50,50,0,15,86,102,72,5,0,35,19,0,0,0,13,84,56,9,0,0,1,33,47,151,182,151,170,174,66,0,0,0,9,60,112,
+148,22,0,0,0,0,94,161,58,102,75,8,36,11,0,0,0,0,0,69,234,249,205,91,102,151,249,248,91,50,50,2,0,0,0,0,0,3,35,19,0,0,0,0,0,6,13,0,
+0,1,69,166,63,14,38,4,17,36,3,0,0,9,54,82,174,190,146,18,0,0,8,82,71,3,0,10,54,200,251,230,31,1,123,124,6,0,0,0,0,15,38,4,127,249,249,248,
+248,238,132,72,5,0,35,19,0,0,0,13,84,56,9,0,0,1,103,245,252,253,253,251,200,66,0,0,0,9,60,112,148,22,0,0,0,0,94,161,58,158,250,248,114,11,0,0,
+0,0,0,55,159,50,27,216,251,221,58,1,1,50,50,2,0,0,0,0,0,3,35,19,0,0,0,0,18,199,248,198,198,18,1,69,166,65,11,47,36,2,0,0,10,62,52,138,
+194,177,30,0,0,9,81,71,2,81,243,248,248,249,243,148,130,119,119,6,0,0,0,0,0,0,14,33,48,49,2,0,0,16,86,102,72,35,16,0,0,0,13,84,48,9,60,20,
+0,0,1,32,42,162,209,201,87,75,12,0,11,62,37,0,88,148,22,0,0,10,30,113,184,50,64,67,9,37,11,0,0,0,69,234,249,203,18,10,79,102,151,249,249,122,2,0,
+0,0,0,0,3,36,18,0,0,0,0,0,0,14,62,20,0,0,1,69,166,65,11,47,36,2,0,0,10,62,52,138,200,244,205,18,0,9,81,71,2,0,0,0,10,54,200,251,
+227,128,119,6,0,0,0,0,0,0,14,33,121,249,248,248,248,248,238,134,72,35,16,0,0,0,13,84,48,9,60,20,0,81,243,249,249,252,253,218,87,75,12,0,11,62,37,0,
+88,148,22,0,0,10,30,113,184,50,135,250,248,114,11,0,0,0,55,159,50,18,198,248,219,113,90,41,45,49,2,0,0,0,0,0,3,36,18,0,0,0,0,0,0,31,212,248,
+248,198,18,1,69,165,75,41,36,5,0,7,60,52,138,179,138,65,84,11,7,82,71,2,0,0,81,243,248,248,249,243,190,179,20,0,0,0,0,0,0,0,0,54,65,6,0,0,
+0,0,14,85,102,78,4,0,0,13,84,50,0,0,22,60,16,0,0,0,61,175,207,197,131,59,81,20,56,37,0,0,0,88,148,22,10,33,38,88,108,148,24,70,67,9,37,11,
+0,69,234,249,203,18,0,0,10,78,102,155,250,248,90,0,0,0,0,3,36,19,0,0,0,0,0,0,0,0,23,64,20,0,0,1,69,165,75,41,36,5,0,7,60,52,138,179,
+146,212,250,200,24,82,71,2,0,0,0,0,0,9,54,200,252,238,36,0,0,0,0,0,0,0,0,125,250,248,169,248,248,248,248,238,134,78,4,0,0,13,84,50,0,0,22,60,
+92,243,248,248,250,251,222,197,131,59,81,20,56,37,0,0,0,88,148,22,10,33,38,88,108,148,24,138,250,248,114,11,0,55,159,50,18,198,248,203,27,78,102,96,65,3,0,0,
+0,0,0,3,36,19,0,0,0,0,0,0,0,0,39,212,212,248,198,18,0,76,176,66,13,38,6,4,38,138,179,138,18,0,48,79,78,68,2,0,0,0,0,81,243,248,248,252,
+249,146,137,15,0,0,0,0,0,2,50,48,16,35,4,0,0,0,0,42,88,102,72,4,11,84,50,0,0,0,0,19,59,18,0,45,174,172,95,154,183,134,58,87,33,0,0,0,
+0,0,88,152,53,38,88,30,0,88,148,24,70,67,9,37,77,234,249,203,18,0,0,0,0,12,93,102,150,249,248,90,0,0,3,36,19,0,0,0,0,0,0,0,0,0,0,23,
+64,19,0,0,0,76,176,66,13,38,6,4,38,138,179,138,18,18,209,250,216,81,2,0,0,0,0,0,0,0,14,149,225,251,229,32,0,0,0,0,0,2,122,249,248,116,4,122,
+248,248,248,249,238,134,72,4,11,84,50,0,0,0,0,94,246,248,248,249,251,198,95,154,183,134,58,87,33,0,0,0,0,0,88,152,53,38,88,30,0,88,148,24,138,250,248,114,
+64,159,50,18,198,248,203,18,0,12,93,102,88,42,2,0,0,0,3,36,19,0,0,0,0,0,0,0,0,0,0,40,40,212,248,198,35,33,65,166,66,14,38,23,138,179,138,18,
+0,0,6,94,102,15,0,0,0,0,0,0,81,243,252,252,249,243,150,140,15,0,0,0,2,49,50,2,0,35,74,6,0,3,36,15,14,86,102,74,78,48,0,0,0,0,0,0,
+23,56,57,175,176,60,27,52,157,183,132,58,80,13,0,0,0,0,10,110,164,102,30,0,0,0,88,148,24,70,68,75,237,249,203,18,0,0,0,0,2,46,51,77,102,151,249,248,
+90,3,36,19,0,0,0,0,0,0,0,0,0,0,0,0,24,64,18,0,18,33,65,166,66,14,38,23,138,179,138,18,0,0,24,219,251,201,18,0,0,0,0,0,0,5,123,129,
+58,200,251,230,32,0,0,0,2,122,249,248,94,35,74,6,122,248,249,248,248,238,134,74,78,48,0,0,0,0,81,243,249,250,250,251,202,60,27,52,157,183,132,58,80,13,0,0,
+0,0,10,110,164,102,30,0,0,0,88,148,24,138,250,249,201,59,18,198,248,203,18,0,2,46,51,77,102,91,43,2,0,3,36,19,0,0,0,0,0,0,0,0,0,0,0,0,
+0,41,212,225,55,2,0,67,166,62,29,156,181,138,18,0,0,9,82,66,48,82,13,0,0,0,0,0,5,165,249,248,248,249,243,150,140,15,0,2,52,50,1,0,0,6,71,76,
+10,33,19,0,0,12,84,102,87,4,0,0,0,0,0,0,0,60,176,176,60,0,0,33,53,157,183,131,58,82,13,0,0,10,34,38,146,161,22,0,0,0,0,88,148,21,116,240,
+249,211,28,0,0,0,0,2,50,50,25,121,88,102,151,249,248,112,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,60,31,32,2,0,67,166,62,29,156,181,138,18,0,
+0,9,82,79,209,250,201,18,0,0,0,0,5,123,124,6,9,54,200,251,229,32,0,2,124,249,248,94,0,6,71,76,10,136,248,248,248,248,241,134,87,4,0,0,0,81,243,248,
+248,250,251,202,60,0,0,33,53,157,183,131,58,82,13,0,0,10,34,38,146,161,22,0,0,0,0,88,148,21,162,253,249,124,200,248,203,18,0,2,50,50,25,121,88,102,91,42,
+5,34,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,94,18,0,0,1,62,154,150,183,156,24,0,0,9,82,71,2,0,50,84,13,0,0,0,5,123,124,85,243,
+248,248,249,243,151,140,17,46,82,67,2,0,0,0,2,70,90,19,0,0,0,10,80,92,102,73,7,0,0,0,0,0,45,174,176,87,15,0,0,1,33,54,159,183,130,57,82,12,
+7,34,38,88,30,88,148,22,0,0,0,0,81,160,231,251,217,26,37,12,0,0,2,50,50,24,148,91,13,79,102,150,250,248,90,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,36,75,18,0,0,1,62,154,150,183,156,24,0,0,9,82,71,2,18,209,250,201,18,0,0,5,123,124,6,0,0,9,54,200,251,229,34,120,250,250,95,0,0,0,2,70,
+90,19,118,248,248,248,250,242,134,73,7,0,81,243,248,248,249,251,202,87,15,0,0,1,33,54,159,183,130,57,82,12,7,34,38,88,30,88,148,22,0,0,0,0,81,152,150,158,
+250,248,249,205,18,0,2,50,50,24,148,91,13,79,102,90,59,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,31,27,62,16,0,0,14,156,186,152,26,38,4,8,
+82,71,2,0,0,0,51,84,13,0,5,123,124,6,0,81,243,248,248,249,243,151,162,61,9,68,70,3,0,0,2,32,76,74,5,0,13,84,47,15,85,102,74,7,0,0,0,42,
+172,176,59,24,62,16,0,0,1,33,56,160,183,128,56,83,40,36,88,30,0,0,88,148,22,0,0,0,63,237,252,207,83,68,10,38,10,1,50,50,24,148,88,0,0,10,78,102,
+152,249,248,90,0,0,0,0,0,0,0,0,0,0,0,0,0,18,31,27,62,16,0,0,14,156,186,152,26,38,4,8,82,71,2,0,0,18,209,250,201,18,5,123,124,6,0,0,
+0,0,9,54,200,251,241,250,248,137,70,3,0,0,2,32,76,74,5,118,248,250,249,248,241,134,74,86,243,248,248,249,251,202,59,24,62,16,0,0,1,33,56,160,183,128,56,83,
+40,36,88,30,0,0,88,148,22,0,0,0,48,174,151,35,227,250,248,125,10,1,50,50,24,148,88,0,0,10,78,102,92,40,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
+19,36,3,0,27,64,16,18,138,179,156,154,64,12,37,80,70,2,0,0,6,32,0,49,84,17,123,124,6,0,0,0,81,243,248,248,249,245,171,140,15,3,70,70,2,1,36,17,
+1,70,73,21,82,50,0,0,14,84,102,74,7,0,46,172,173,62,0,0,27,64,16,0,0,1,33,58,161,182,131,76,86,83,28,0,6,33,4,88,148,22,0,69,233,249,219,156,
+26,46,4,6,34,52,48,24,148,88,0,0,0,0,38,83,102,152,249,248,90,0,0,0,0,0,0,0,0,0,0,0,19,36,3,0,27,64,16,18,138,179,156,154,64,12,37,80,
+70,2,0,0,6,32,18,209,250,202,132,124,6,0,0,0,0,0,0,8,50,224,252,252,113,3,70,70,2,1,36,17,1,70,73,21,162,249,248,248,248,241,173,247,248,248,249,251,
+200,62,0,0,27,64,16,0,0,1,33,58,161,182,131,76,86,83,28,0,6,33,4,88,148,22,0,55,157,46,93,231,249,226,248,248,112,52,48,24,148,88,0,0,0,0,38,83,
+102,91,42,2,0,0,0,0,0,0,0,0,0,0,0,0,36,3,0,0,0,28,77,146,179,138,15,61,165,74,82,88,6,0,0,6,38,15,0,0,55,167,130,6,0,0,0,0,
+0,81,243,248,249,250,243,153,139,14,3,69,68,33,18,0,0,1,70,102,49,0,0,0,0,14,84,102,71,50,175,174,59,0,0,0,0,28,63,18,0,0,1,33,57,166,191,97,
+95,86,8,3,38,15,0,0,88,136,82,232,249,203,18,88,148,22,0,1,49,65,32,148,88,0,0,0,3,36,16,9,79,102,152,249,248,90,0,0,0,0,0,0,0,0,0,18,
+36,3,0,0,0,28,77,146,179,138,15,61,165,74,82,88,6,0,0,6,38,15,0,18,210,253,228,23,0,0,0,0,0,0,0,1,122,250,248,251,229,31,3,69,68,33,18,0,
+0,1,70,102,49,113,248,248,248,248,250,251,250,249,251,200,59,0,0,0,0,28,63,18,0,0,1,33,57,166,191,97,95,86,8,3,38,15,0,0,88,136,69,151,50,18,198,250,
+233,39,94,248,249,132,32,148,88,0,0,0,3,36,16,9,79,102,91,42,2,0,0,0,0,0,0,0,0,0,0,18,3,0,0,0,0,18,151,188,138,18,0,1,63,186,117,15,
+33,4,4,35,14,0,0,5,123,149,82,11,0,0,0,0,0,0,83,245,249,248,249,243,153,138,14,3,81,68,2,0,0,10,70,81,63,5,0,0,0,0,13,80,99,173,173,58,
+0,0,0,0,0,0,29,32,0,0,0,1,33,80,103,85,50,49,77,40,12,0,0,0,0,124,238,250,203,18,0,0,88,148,24,44,47,31,163,94,0,0,0,2,33,18,0,0,
+9,75,96,148,249,248,90,0,0,0,0,0,0,0,15,35,3,0,0,0,0,18,151,188,138,18,0,1,63,186,117,15,33,4,4,35,14,0,0,5,132,232,250,200,18,0,0,0,
+0,0,3,119,249,248,126,200,251,229,31,3,81,68,2,0,0,10,70,81,63,5,113,248,248,248,248,250,251,251,200,58,0,0,0,0,0,0,29,32,0,0,0,1,33,80,103,85,
+50,49,77,40,12,0,0,0,0,114,179,65,18,198,248,203,100,148,24,122,249,249,195,94,0,0,0,2,33,18,0,0,9,75,96,85,39,2,0,0,0,0,0,0,0,0,15,35,
+0,0,0,0,18,138,179,138,18,0,0,9,77,100,164,71,10,36,36,10,0,0,5,123,124,6,43,81,12,0,0,0,0,3,48,111,243,248,248,249,243,153,140,46,17,60,67,0,
+11,81,43,2,62,74,5,0,0,0,0,51,173,173,89,8,0,0,0,0,0,0,0,0,0,0,0,9,30,52,90,22,7,35,62,79,12,0,0,0,68,230,251,231,39,0,0,0,
+0,90,168,60,21,148,92,37,11,0,3,35,16,0,0,0,0,9,74,96,147,249,248,90,0,0,0,0,0,18,34,2,0,0,0,0,18,138,179,138,18,0,0,9,77,100,164,71,
+10,36,36,10,0,0,5,123,124,23,208,250,201,18,0,0,0,3,121,249,248,94,6,52,201,251,229,61,17,60,67,0,11,81,43,2,62,74,5,157,248,248,248,249,253,211,89,8,
+0,0,0,0,0,0,0,0,0,0,0,9,30,52,90,22,7,35,62,79,12,0,0,0,53,143,112,146,203,248,203,18,0,90,168,60,108,252,250,114,11,0,3,35,16,0,0,0,
+0,9,74,96,85,41,1,0,0,0,0,0,0,18,34,2,0,0,0,18,138,179,138,18,0,0,9,82,69,6,62,164,73,42,43,4,0,5,123,124,6,0,0,49,84,12,0,0,
+1,47,50,2,81,243,248,248,249,244,166,147,13,3,66,69,77,48,0,0,3,70,78,8,0,0,46,175,176,98,102,74,6,0,0,0,0,0,0,0,0,0,10,34,38,84,52,17,
+4,42,40,54,82,13,0,69,234,249,203,100,148,22,0,0,1,47,117,141,140,83,0,8,37,14,33,19,0,0,0,0,0,0,10,79,102,151,249,248,90,0,0,0,19,36,3,0,
+0,0,0,18,138,179,138,18,0,0,9,82,69,6,62,164,73,42,43,4,0,5,123,124,6,0,18,209,250,201,18,0,1,120,249,248,94,0,0,6,53,201,251,231,30,3,66,69,
+77,48,0,0,3,70,134,243,248,248,249,253,253,246,134,74,6,0,0,0,0,0,0,0,0,0,10,34,38,84,52,17,4,42,40,54,82,13,0,55,159,49,18,218,252,208,18,0,
+1,47,117,141,140,147,248,248,114,14,33,19,0,0,0,0,0,0,10,79,102,90,44,2,0,0,0,0,19,36,3,0,0,0,20,138,179,138,18,0,0,9,82,71,3,0,0,64,
+174,78,12,38,11,123,124,6,0,0,0,0,58,86,12,0,1,22,4,0,0,81,244,248,248,250,244,153,140,25,15,102,87,0,0,0,0,2,70,64,3,45,175,176,60,17,82,96,
+70,8,0,0,0,0,0,0,0,10,34,38,88,30,0,33,49,9,10,33,55,82,79,234,249,203,18,0,95,149,22,0,1,22,22,168,168,18,0,0,8,58,26,0,0,0,0,0,
+0,0,0,10,79,102,151,249,248,90,0,19,36,3,0,0,0,0,20,138,179,138,18,0,0,9,82,71,3,0,0,64,174,78,12,38,11,123,124,6,0,0,0,18,211,250,201,18,
+90,248,248,94,0,0,24,3,6,72,204,251,230,41,15,102,87,0,0,0,0,83,246,250,248,249,253,253,250,248,244,132,70,8,0,0,0,0,0,0,0,10,34,38,88,30,0,33,
+49,9,10,33,55,82,65,159,50,18,198,248,223,157,22,0,1,22,22,168,168,18,94,248,248,128,26,0,0,0,0,0,0,0,0,10,79,102,90,43,2,0,0,19,36,3,0,0,
+52,14,131,179,138,18,0,0,9,82,71,2,0,0,6,34,69,163,69,18,141,127,6,0,0,0,0,0,11,78,84,12,0,0,0,0,0,1,123,246,249,248,249,243,151,156,97,48,
+64,69,3,0,0,0,0,16,66,174,176,62,0,0,11,78,96,76,8,0,0,0,0,0,10,34,38,88,30,0,6,34,39,21,0,13,33,109,241,249,203,18,16,40,17,111,149,23,
+0,23,147,81,81,147,22,3,34,23,34,12,0,0,0,0,0,0,0,0,10,79,102,151,249,248,101,36,3,0,0,11,52,14,131,179,138,18,0,0,9,82,71,2,0,0,6,34,
+69,163,69,18,141,127,6,0,0,0,0,0,28,216,250,218,248,248,94,0,0,1,62,69,31,21,50,201,251,233,109,48,64,69,3,0,81,243,248,248,250,251,224,250,248,248,248,244,
+132,76,8,0,0,0,0,0,10,34,38,88,30,0,6,34,39,21,0,13,33,98,190,61,18,198,248,211,34,111,149,23,0,23,147,81,81,147,22,96,249,249,112,12,0,0,0,0,
+0,0,0,0,10,79,102,90,43,1,18,36,3,0,0,11,38,3,64,131,18,0,0,9,82,71,2,0,0,6,38,13,0,61,151,140,122,42,6,0,0,0,0,0,0,13,78,84,
+12,0,0,0,0,0,5,140,247,248,248,249,244,177,169,22,2,70,70,3,0,0,0,43,175,176,63,0,0,0,7,59,83,102,76,8,0,0,0,10,34,38,88,30,0,6,38,13,
+0,33,24,0,78,237,250,220,28,11,85,50,0,18,108,152,54,141,88,0,0,88,149,55,19,0,8,39,13,0,0,0,0,0,0,0,0,10,79,102,150,249,249,92,0,0,10,62,
+38,3,64,131,18,0,0,9,82,71,2,0,0,6,38,13,0,61,151,140,122,42,6,0,0,0,0,0,0,30,228,250,248,105,0,0,0,0,5,86,76,0,7,50,204,252,236,39,
+2,70,70,83,243,248,248,249,251,202,63,108,248,248,248,250,244,137,76,8,0,0,0,10,34,38,88,30,0,6,38,13,0,33,24,0,65,171,94,94,200,248,220,65,0,18,108,152,
+54,141,88,0,0,88,149,55,106,248,248,115,13,0,0,0,0,0,0,0,0,10,79,102,89,50,32,2,0,0,10,62,0,0,0,1,0,0,9,82,71,2,0,0,6,38,14,0,
+0,1,142,186,72,14,35,6,0,0,0,0,0,0,13,78,84,12,0,0,0,3,34,19,127,246,248,248,251,246,141,148,22,3,70,71,6,0,46,175,176,66,31,6,0,10,62,35,
+13,82,102,77,9,0,10,33,38,88,30,0,6,38,14,0,0,1,33,86,234,249,209,67,79,80,47,0,0,0,43,157,186,95,0,0,0,3,112,156,22,0,0,7,39,13,0,0,
+0,0,0,4,6,0,10,77,109,186,249,248,90,10,62,37,0,0,0,1,0,0,9,82,71,2,0,0,32,183,31,0,0,1,142,186,72,14,35,6,0,0,0,0,0,90,248,250,
+250,201,18,0,0,3,34,19,67,70,0,16,110,210,233,160,22,3,129,246,248,248,249,251,202,66,31,6,108,248,250,249,248,244,137,77,9,0,10,33,38,88,30,0,6,38,14,0,
+0,1,33,73,159,60,46,210,250,219,62,0,0,0,43,157,186,95,0,0,0,3,112,156,22,94,248,248,115,13,0,0,0,0,0,4,6,0,10,77,109,146,49,2,0,10,62,37,
+0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,116,69,161,74,13,38,6,0,0,0,0,0,0,13,78,84,12,0,3,36,19,0,3,126,246,250,249,249,243,141,
+148,22,3,70,75,51,175,176,62,0,13,34,16,60,37,0,79,128,92,102,76,19,30,38,88,30,0,6,38,14,0,0,0,0,69,237,249,203,26,41,94,94,10,0,0,30,101,156,
+143,137,22,0,3,36,19,88,148,22,0,0,7,39,13,0,0,0,0,7,38,10,0,25,95,176,201,249,248,129,37,0,0,0,0,0,0,9,82,71,2,0,0,6,183,248,198,18,
+5,123,116,69,161,74,13,38,6,0,0,0,90,248,248,113,216,250,201,18,3,36,19,0,3,66,69,75,51,48,38,88,148,96,243,250,250,249,251,202,62,0,13,34,16,140,249,248,
+250,252,245,140,76,19,30,38,88,30,0,6,38,14,0,0,0,0,56,171,69,18,200,249,222,106,10,0,0,30,101,156,143,137,22,0,3,36,19,88,148,22,94,248,248,115,13,0,
+0,0,0,7,38,10,45,25,95,176,169,45,14,60,37,0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,124,6,1,61,165,74,14,38,6,0,0,0,0,0,0,
+13,78,84,16,32,19,0,0,0,15,151,247,248,248,249,244,141,148,23,0,85,176,176,60,0,0,0,20,73,38,0,74,178,179,63,80,102,87,44,84,30,0,6,38,14,0,0,0,
+0,69,234,249,210,36,11,85,67,53,81,11,27,105,161,87,19,111,149,24,36,19,0,0,88,148,22,0,0,7,38,13,0,0,0,0,10,35,24,29,15,82,175,200,250,249,90,0,
+0,0,0,0,9,82,71,2,0,0,6,38,31,198,248,199,132,124,6,1,61,165,74,14,38,6,0,90,248,248,94,0,30,216,250,202,47,19,0,0,0,15,102,87,0,5,38,13,
+141,250,249,248,250,251,202,60,0,0,0,20,73,38,104,250,253,253,249,244,140,87,44,84,30,0,6,38,14,0,0,0,0,55,159,51,48,202,248,220,80,53,81,11,27,105,161,87,
+19,111,149,24,36,19,0,0,88,148,22,94,248,248,115,13,0,0,0,0,10,112,249,137,15,82,175,168,74,35,0,0,0,0,0,9,82,71,2,0,0,6,38,14,0,0,5,123,
+124,6,0,0,0,60,159,75,14,38,5,0,22,2,0,0,0,12,75,96,27,0,0,0,13,82,48,124,246,248,248,249,244,141,145,69,168,176,75,7,0,0,10,59,43,32,78,178,
+178,74,0,20,90,102,101,36,0,6,38,14,0,0,0,0,69,234,249,203,18,39,90,47,11,32,52,84,103,160,88,0,0,18,110,162,38,0,0,0,0,88,148,22,0,0,7,38,
+12,0,0,0,0,28,57,10,0,8,83,175,201,249,248,90,0,0,0,9,82,71,2,0,0,6,38,14,0,18,199,252,226,23,0,0,0,60,159,75,14,38,93,248,249,96,0,0,
+0,29,215,251,204,18,0,0,13,82,48,64,69,2,6,107,244,250,252,250,251,201,75,7,0,0,10,59,43,32,78,209,253,250,248,248,245,140,101,36,0,6,38,14,0,0,0,0,
+55,159,50,18,198,249,221,62,11,32,52,84,103,160,88,0,0,18,110,162,38,0,0,0,0,88,148,22,94,248,248,114,12,0,0,0,90,249,250,100,0,8,83,175,170,45,2,0,
+27,0,9,82,71,2,0,0,6,38,14,0,0,5,123,126,14,0,0,0,0,0,33,154,76,14,32,44,53,4,0,0,0,1,38,81,82,12,0,13,84,50,0,2,129,246,248,248,
+249,243,157,209,175,52,9,37,8,9,62,37,0,84,190,180,74,0,10,29,46,102,102,73,16,34,14,0,0,0,0,72,235,249,203,18,12,83,50,0,0,10,50,113,189,96,0,0,
+0,1,45,118,148,22,0,0,0,0,88,148,22,0,0,12,41,12,0,0,24,30,11,38,8,6,60,91,175,201,249,248,90,0,9,82,71,2,0,0,6,38,14,0,0,5,132,226,
+248,198,18,0,0,0,33,154,76,99,249,249,128,4,0,0,0,1,53,216,250,201,18,13,84,50,0,2,70,70,82,243,249,248,251,253,200,52,9,37,8,9,62,37,0,84,190,180,
+148,248,248,249,249,245,140,73,16,34,14,0,0,0,0,58,162,50,18,198,248,220,65,0,0,10,50,113,189,96,0,0,0,1,45,118,148,22,0,0,0,0,88,148,22,94,248,248,
+116,12,0,90,249,249,101,38,8,6,60,91,175,169,62,172,176,8,82,70,2,0,0,6,38,14,0,0,5,123,124,21,61,15,0,36,72,9,0,30,154,77,49,69,10,0,0,0,
+3,36,15,10,78,81,26,80,50,0,0,0,3,129,246,248,248,250,251,211,160,20,0,8,38,61,35,0,74,178,182,100,2,9,33,38,84,39,76,102,90,20,0,0,0,0,69,235,
+251,206,18,13,83,50,0,0,0,24,111,178,124,81,13,0,3,36,16,16,111,149,22,0,0,0,0,86,141,16,0,43,76,39,10,21,33,1,0,8,38,61,32,11,82,175,201,249,
+248,95,82,70,2,0,0,6,38,14,0,0,5,123,124,37,212,248,198,51,72,9,0,30,190,250,249,138,10,0,0,0,3,36,15,28,216,250,204,93,50,0,0,0,3,129,246,248,
+248,250,251,211,160,20,0,8,38,61,35,0,74,178,182,100,2,110,249,249,250,249,244,143,90,20,0,0,0,0,55,165,99,32,198,248,220,65,0,0,0,24,111,178,124,81,13,0,
+3,36,16,16,111,149,22,0,0,0,0,86,141,16,94,249,250,115,96,248,249,94,0,8,38,61,32,11,82,181,235,249,65,77,69,2,0,0,6,38,14,0,0,5,123,124,6,0,
+30,63,16,72,102,78,8,0,30,171,115,17,35,6,0,3,36,19,0,0,10,77,102,68,37,0,0,0,0,3,128,246,249,253,253,246,139,148,22,8,61,56,7,74,178,178,74,10,
+38,33,37,88,30,0,16,92,102,77,10,0,0,69,234,249,209,76,21,76,88,16,0,0,0,80,174,98,31,55,81,17,32,19,0,0,19,112,149,22,0,0,0,0,76,136,22,6,
+67,73,48,36,0,0,0,8,61,56,7,0,10,82,175,200,249,250,134,2,0,0,6,38,14,0,0,5,123,124,6,0,46,212,248,214,113,78,8,90,249,252,166,17,35,6,0,3,
+36,19,0,0,27,215,251,213,52,0,0,0,81,243,250,250,249,251,200,64,86,148,22,8,61,56,7,74,178,178,74,10,38,33,122,250,249,248,248,245,143,77,10,0,0,55,159,48,
+46,212,248,219,100,16,0,0,0,80,174,98,31,55,81,17,32,19,0,0,19,112,149,22,0,0,0,0,76,136,22,98,250,250,249,249,94,0,0,8,61,56,7,0,27,216,253,238,
+175,87,4,0,0,6,38,14,0,0,5,123,124,6,0,0,0,28,57,56,90,102,75,11,43,77,155,79,14,36,9,34,19,0,0,0,10,81,88,104,159,53,0,0,0,0,0,139,
+251,253,250,249,244,141,152,79,35,9,101,181,178,74,0,6,37,56,86,29,0,6,34,23,78,102,78,10,69,234,249,203,18,27,62,73,43,5,0,0,64,170,90,0,13,32,55,95,
+28,0,0,0,0,19,112,149,22,0,0,0,0,85,147,22,1,76,85,37,12,0,10,62,35,9,38,10,0,10,80,175,205,250,248,90,0,6,38,14,0,0,5,123,124,6,0,0,
+0,44,211,250,218,113,138,248,249,143,155,79,14,36,9,34,19,0,0,0,10,94,218,251,233,67,0,81,243,248,248,250,251,200,57,31,14,88,152,79,35,9,101,181,178,74,0,6,
+37,56,86,117,248,248,249,249,244,143,78,10,55,159,48,18,198,249,216,86,43,5,0,0,64,170,90,0,13,32,55,95,28,0,0,0,0,19,112,149,22,0,0,0,0,85,147,22,
+150,250,250,165,12,0,10,62,35,9,38,27,198,248,219,181,175,168,46,1,5,38,14,0,0,5,123,124,6,0,0,0,0,1,59,73,30,76,102,88,53,3,29,152,79,14,58,21,
+0,0,0,13,84,48,12,77,120,162,52,0,0,0,45,172,201,247,248,248,249,243,169,163,23,69,181,190,81,0,11,34,34,90,55,1,5,38,14,0,11,80,102,126,235,249,203,18,
+0,1,59,74,17,0,1,64,171,91,0,0,0,13,52,68,81,13,0,0,0,0,19,112,149,22,0,0,0,0,88,148,42,30,66,76,23,9,62,37,0,0,10,39,10,0,19,105,
+175,200,249,248,93,38,14,0,0,5,123,124,6,0,0,0,0,1,73,214,249,228,251,250,127,3,29,152,79,14,58,21,0,0,0,13,84,48,30,215,251,234,126,243,248,248,249,251,
+201,90,0,4,22,11,128,163,23,69,181,190,81,0,11,34,34,90,55,1,102,249,248,248,248,244,143,117,163,48,18,198,248,203,73,74,17,0,1,64,171,91,0,0,0,13,52,68,
+81,13,0,0,0,0,19,112,149,22,0,0,0,0,88,186,249,249,250,250,105,9,62,37,0,0,27,207,248,203,36,105,80,175,169,47,32,12,0,0,5,123,124,6,0,0,0,0,
+3,50,44,28,54,28,89,102,73,5,0,29,153,100,28,32,6,0,13,84,50,0,0,13,77,119,162,53,0,46,175,175,56,125,246,248,248,250,245,136,156,173,175,81,35,16,30,33,
+84,28,8,36,36,11,0,0,0,10,127,242,251,205,18,0,3,50,44,28,59,16,58,170,91,0,0,0,3,31,27,30,55,82,13,0,0,0,0,19,110,149,22,0,0,0,0,102,
+162,22,2,66,68,55,35,0,0,0,0,10,33,16,76,68,80,175,201,249,249,98,0,0,5,123,124,6,0,0,0,0,3,50,44,44,224,249,250,165,73,5,0,29,153,100,28,32,
+6,0,13,84,50,0,0,30,215,251,252,249,248,249,251,201,56,64,69,0,6,59,36,81,156,173,175,81,35,16,30,33,84,28,8,36,36,106,248,248,248,248,247,213,114,27,198,248,
+204,64,44,28,59,16,58,170,91,0,0,0,3,31,27,30,55,82,13,0,0,0,0,19,110,149,22,0,0,0,90,250,252,108,96,250,250,126,35,0,0,18,198,248,210,33,76,68,
+9,82,175,171,49,17,24,5,123,124,6,0,0,0,0,4,52,46,1,0,26,69,52,80,102,72,5,0,61,160,80,13,34,20,83,50,0,0,0,0,12,77,118,158,83,169,175,55,
+0,2,127,246,250,249,248,247,203,179,86,0,16,52,40,81,25,0,6,42,38,20,23,0,0,69,235,251,218,24,0,4,52,46,1,0,26,89,169,88,0,0,0,3,36,18,0,12,
+32,55,82,13,0,0,0,0,18,111,149,22,0,0,24,31,88,148,22,12,96,82,1,0,0,0,0,0,14,93,72,0,9,82,175,202,249,248,105,5,123,124,6,0,0,0,0,4,
+52,46,1,90,249,250,250,216,113,72,5,0,61,160,80,13,34,20,83,50,0,0,0,0,100,249,251,252,250,251,201,55,0,2,67,70,55,33,0,69,179,179,86,0,16,52,40,81,
+25,0,6,42,38,20,109,248,248,249,252,246,135,200,248,204,66,46,1,0,26,89,169,88,0,0,0,3,36,18,0,12,32,55,82,13,0,0,0,0,18,111,149,22,0,90,249,249,
+150,148,22,102,251,250,90,0,18,198,248,203,31,93,72,0,0,10,83,175,169,61,7,123,124,6,0,0,0,0,4,53,48,2,0,2,44,59,52,28,81,102,70,34,17,28,152,81,
+18,94,52,0,0,0,0,0,0,12,73,133,208,182,52,0,0,0,12,147,247,248,250,253,251,165,135,32,31,42,99,35,0,0,14,9,26,58,8,0,69,234,249,205,22,0,4,53,
+48,2,0,2,62,173,124,15,0,0,3,36,19,0,0,0,13,33,55,82,13,0,0,0,0,19,112,150,28,24,33,1,0,88,152,76,36,66,69,3,0,0,0,9,80,72,36,9,
+0,10,83,175,201,250,248,169,124,6,0,0,0,0,4,53,48,2,90,248,249,140,210,249,216,113,70,34,17,28,152,81,18,94,52,0,0,0,0,81,243,248,250,252,253,205,52,0,
+0,0,12,96,83,1,74,178,173,123,135,32,31,42,99,35,0,0,14,9,26,58,8,94,249,252,249,248,246,248,204,67,48,2,0,2,62,173,124,15,0,0,3,36,19,0,0,0,
+13,33,55,82,13,0,0,0,0,19,112,150,108,249,249,94,0,88,152,76,117,250,250,104,198,248,203,26,80,72,36,9,10,0,8,87,173,163,138,122,6,0,0,0,0,4,54,47,
+1,0,2,49,51,3,25,59,30,82,102,75,2,0,28,152,82,32,35,6,0,0,0,0,0,0,68,184,170,168,50,0,0,10,60,36,125,249,253,253,250,243,146,162,57,86,37,30,
+7,0,0,17,33,16,36,73,234,249,203,18,0,4,54,47,1,0,2,66,170,90,25,64,16,1,36,19,0,0,0,0,0,13,33,55,82,13,0,0,0,0,18,109,88,32,1,0,
+0,10,129,164,22,2,70,72,114,95,14,82,70,1,8,39,10,0,8,87,173,197,252,252,94,0,0,0,0,4,54,47,1,90,248,249,126,3,42,211,249,216,113,75,2,0,28,152,
+82,32,35,6,0,0,81,243,248,248,250,252,197,168,50,0,0,10,60,36,65,123,179,178,72,0,94,162,57,86,37,30,7,0,0,17,33,16,36,60,194,249,248,248,248,246,121,47,
+1,0,2,66,170,90,25,64,16,1,36,19,0,0,0,0,0,13,33,55,82,13,0,0,0,0,18,161,250,249,94,0,0,10,129,164,22,96,250,250,251,223,31,82,70,1,8,39,
+39,8,13,38,84,205,201,51,2,0,0,0,5,54,46,1,0,4,49,51,3,0,0,26,57,48,86,102,68,4,0,27,152,82,14,38,6,0,0,0,0,60,190,154,87,113,162,52,
+10,62,37,0,75,216,252,250,248,248,245,158,185,50,0,7,37,8,17,36,3,0,79,237,249,203,18,0,5,54,46,1,0,4,67,170,90,0,0,26,61,42,15,0,0,0,0,0,
+0,0,13,33,55,82,13,0,0,0,0,35,55,2,0,0,10,62,37,88,148,20,3,150,199,169,94,70,2,0,0,10,39,8,13,38,84,205,221,249,248,90,0,0,5,54,46,1,
+90,248,249,126,3,0,0,42,211,249,217,113,68,4,0,27,152,82,14,38,6,81,243,248,248,250,252,187,87,113,162,52,10,62,37,0,75,199,199,76,0,10,33,113,185,50,0,7,
+37,8,17,36,3,0,66,173,53,105,248,248,248,250,242,72,0,4,67,170,90,0,0,26,61,42,15,0,0,0,0,0,0,0,13,33,55,82,13,0,0,0,90,249,250,95,0,0,
+10,62,37,88,148,37,217,252,253,204,94,70,2,0,0,10,8,46,38,5,124,158,170,167,47,3,0,5,54,46,0,0,0,43,51,3,0,0,0,0,48,62,32,83,102,67,4,27,
+43,151,83,14,38,6,0,0,60,190,155,50,14,77,117,167,98,37,0,74,189,185,164,246,248,249,249,247,155,148,22,0,7,46,38,2,0,69,234,249,211,24,0,5,54,46,0,0,
+0,61,170,90,0,0,0,0,48,66,15,0,0,0,0,1,55,6,0,13,33,55,82,13,0,0,24,29,17,35,1,9,62,37,0,0,111,145,117,179,187,124,66,1,0,0,0,0,
+8,46,38,5,124,158,170,199,249,248,90,5,54,46,0,90,248,249,126,3,0,0,0,0,63,212,249,216,113,67,4,0,27,151,83,14,107,243,248,248,250,252,187,50,14,77,117,167,
+98,37,0,74,189,185,121,67,14,31,38,88,108,148,22,0,7,46,38,2,0,55,159,59,53,200,248,248,250,249,248,243,72,61,170,90,0,0,0,0,48,66,15,0,0,0,0,1,
+55,6,0,13,33,55,82,13,0,90,249,249,105,35,1,9,62,37,0,0,120,230,252,245,253,251,133,1,0,0,0,0,17,38,40,128,124,12,80,176,169,46,9,54,45,0,0,0,
+0,14,4,0,0,0,3,36,15,24,59,34,85,102,86,221,198,42,151,84,14,37,4,59,190,155,52,0,0,10,75,133,173,48,69,178,185,118,21,128,247,249,250,249,243,141,148,22,
+16,38,36,10,69,234,249,203,31,35,12,54,45,0,0,0,22,154,91,0,0,0,3,36,15,24,64,18,0,0,0,83,179,110,3,0,13,33,55,100,209,86,33,1,0,16,36,58,
+36,0,0,0,24,173,185,160,101,93,65,2,0,0,0,0,17,38,40,128,124,12,80,176,201,249,248,125,45,0,90,248,248,103,4,0,0,0,3,36,15,41,211,249,217,113,66,3,
+0,26,151,138,244,249,248,250,252,187,52,0,0,10,75,133,173,48,69,178,185,118,21,69,82,40,86,30,0,88,148,22,16,38,36,10,55,159,48,18,201,249,205,134,249,248,248,248,
+244,182,91,0,0,0,3,36,15,24,64,18,0,0,0,83,179,110,3,0,13,33,55,82,98,248,249,94,0,16,36,58,36,0,0,18,203,253,241,166,158,250,250,91,0,0,0,0,
+36,6,127,142,10,0,10,82,175,168,71,41,0,0,0,0,0,0,0,0,0,3,33,19,0,0,27,59,35,86,113,212,248,198,42,151,84,10,79,190,155,52,0,0,0,8,58,83,
+112,166,176,173,73,20,61,43,133,248,249,248,248,243,141,154,52,1,9,95,234,249,198,18,0,16,69,44,0,0,0,22,148,88,0,0,0,3,33,19,0,0,27,64,18,0,0,48,
+164,185,117,3,0,13,56,225,250,241,72,0,0,8,64,54,0,0,0,5,114,185,189,180,77,10,68,70,3,0,0,19,36,6,127,142,10,0,10,82,175,200,250,249,90,90,248,248,
+94,0,0,0,0,3,33,19,0,0,43,211,249,217,113,64,2,0,99,250,250,248,251,252,187,52,0,0,0,8,58,83,112,166,176,173,73,20,61,43,77,102,31,0,0,0,88,154,
+52,1,9,83,161,48,18,198,248,206,82,44,90,248,248,249,252,247,72,0,0,3,33,19,0,0,27,64,18,0,0,48,164,185,117,3,0,13,33,125,250,249,94,0,0,8,64,54,
+0,0,18,199,251,239,193,180,77,100,250,250,92,0,0,19,8,123,124,9,2,0,0,10,84,175,172,45,2,0,0,0,0,0,0,0,3,36,18,0,0,0,0,26,59,36,86,113,
+212,248,198,41,142,119,183,154,54,0,0,0,10,62,34,12,125,201,183,104,0,7,44,71,82,131,246,248,248,248,244,156,148,20,66,234,249,198,18,0,8,53,49,32,6,0,22,148,
+88,0,0,0,3,36,18,0,0,0,0,26,64,18,0,0,41,179,204,117,3,5,219,249,251,253,244,69,10,62,34,15,35,3,6,116,179,162,108,146,157,22,3,70,70,2,17,36,
+8,123,124,9,2,0,0,10,84,175,202,249,248,248,248,94,0,0,0,0,3,36,18,0,0,0,0,42,211,249,217,113,63,82,243,249,252,252,251,187,54,0,0,0,10,62,34,12,
+125,201,183,104,0,7,44,71,82,74,64,3,0,0,19,111,148,20,51,160,49,18,198,248,205,68,49,32,6,90,249,252,250,248,243,77,3,36,18,0,0,0,0,26,64,18,0,0,
+41,179,204,117,3,0,97,249,251,202,74,1,10,62,34,15,35,3,33,236,238,169,108,146,157,22,96,250,250,91,17,36,123,124,6,0,0,0,0,0,37,95,175,169,48,3,0,0,
+0,0,0,3,36,19,0,0,0,0,0,0,26,59,38,87,113,212,248,198,91,209,181,58,30,6,0,10,62,37,0,74,182,199,155,147,56,33,38,90,72,21,126,246,248,248,248,243,
+136,160,231,249,198,18,0,0,38,45,0,13,38,28,148,88,0,0,0,3,36,19,0,0,0,0,0,0,26,64,18,0,0,41,180,204,117,4,95,246,252,253,253,241,103,37,0,0,
+19,41,119,179,162,107,66,22,128,157,22,3,69,70,21,7,123,124,6,0,0,0,0,0,37,95,175,220,249,248,150,0,0,0,0,3,36,19,0,0,0,0,0,0,42,211,249,218,
+158,246,248,248,250,253,205,58,30,6,0,10,62,37,0,74,182,199,155,147,56,33,38,90,72,21,66,70,3,0,21,3,81,153,148,44,18,198,248,203,53,45,0,13,38,28,186,247,
+248,248,248,243,102,19,0,0,0,0,0,0,26,64,18,0,0,41,180,204,117,49,248,250,191,195,169,27,58,37,0,0,19,41,119,187,168,107,66,22,128,157,22,96,250,250,104,7,
+124,6,0,0,0,0,0,0,1,14,82,175,170,48,4,0,0,0,3,36,19,0,0,0,0,0,0,0,0,26,58,39,88,113,211,250,240,167,160,85,13,34,16,60,37,0,74,178,
+178,82,76,118,173,82,87,28,18,61,22,126,246,248,248,248,245,242,252,202,18,0,0,0,4,0,0,0,35,164,92,0,0,0,3,36,19,0,0,0,0,0,0,0,0,26,64,18,
+0,0,41,180,203,125,57,179,251,252,250,251,242,54,0,0,7,129,189,163,104,70,2,0,22,130,157,22,3,70,72,124,124,6,0,0,0,0,0,0,1,14,144,253,253,249,248,90,
+0,0,3,36,19,0,0,0,0,0,0,0,0,42,211,249,250,251,250,250,251,190,160,85,13,34,16,60,37,0,74,178,178,82,76,118,173,82,87,28,18,61,22,66,70,3,0,0,
+50,174,150,33,198,248,203,18,4,0,0,0,35,164,92,90,243,248,248,249,244,77,0,0,0,0,0,0,0,26,64,18,0,0,41,180,203,125,155,182,183,152,74,102,43,0,0,0,
+7,129,189,163,104,70,2,0,22,130,157,22,96,250,250,170,96,0,0,0,0,0,0,0,0,0,10,85,159,132,41,6,0,3,36,19,0,0,0,0,0,0,0,0,0,0,25,58,
+40,86,125,241,252,210,40,150,87,20,73,38,0,74,178,178,74,0,19,83,122,189,73,0,0,22,61,22,126,246,248,249,252,249,227,156,22,0,0,0,0,0,0,22,148,97,38,6,
+0,3,36,19,0,0,0,0,0,0,0,0,0,0,26,64,19,0,0,40,181,207,170,179,177,245,250,250,250,240,54,8,121,179,165,114,69,2,0,0,0,22,130,157,20,4,159,160,
+9,0,0,0,0,0,0,0,0,90,248,250,195,177,249,248,90,3,36,19,0,0,0,0,0,0,0,0,0,0,109,249,249,250,251,252,186,52,24,150,87,20,73,38,0,74,178,178,
+74,0,19,83,122,189,73,0,0,22,61,22,66,70,3,55,157,44,93,231,249,203,18,0,0,0,0,22,148,97,38,6,90,243,249,248,248,243,77,0,0,0,0,0,0,0,26,64,
+19,0,0,40,181,207,170,179,134,34,66,70,78,13,0,8,121,179,165,114,69,2,0,0,0,22,130,157,20,97,253,253,250,92,0,0,0,0,0,0,0,0,0,8,9,122,130,41,
+9,34,19,0,0,0,0,0,0,0,0,0,0,0,0,25,53,84,191,162,216,248,198,40,154,114,43,32,78,178,178,74,0,10,30,46,102,121,161,52,0,0,22,61,22,126,248,252,
+249,248,243,141,148,22,0,0,0,0,22,148,88,0,14,36,9,34,19,0,0,0,0,0,0,0,0,0,0,0,0,25,64,19,0,23,79,193,204,168,28,128,249,249,250,250,236,149,
+179,160,101,75,32,2,0,0,0,0,22,128,145,121,120,74,70,3,0,0,0,0,0,0,90,248,248,99,9,122,176,249,248,112,19,0,0,0,0,0,0,0,0,0,0,81,243,249,
+250,251,253,191,81,0,0,24,154,114,43,32,78,178,178,74,0,10,30,46,102,121,161,52,0,0,22,61,22,66,109,160,48,18,198,250,233,39,0,0,0,0,22,148,88,0,14,36,
+9,112,244,248,248,248,243,77,0,0,0,0,0,0,0,25,64,19,0,23,79,193,204,168,28,59,42,30,55,82,21,121,179,160,101,75,32,2,0,0,0,0,22,128,145,121,177,250,
+250,250,92,0,0,0,0,0,0,0,0,0,0,5,122,129,62,21,0,0,0,0,0,0,0,0,0,0,0,16,3,0,74,191,153,96,113,211,248,200,92,64,0,84,190,180,74,0,
+10,34,39,83,40,74,119,162,52,0,0,22,61,85,243,251,248,248,248,243,141,148,22,0,0,22,148,88,0,0,0,14,58,21,0,0,0,0,0,0,0,0,0,0,0,16,4,0,
+25,60,35,48,139,179,192,203,145,37,90,248,249,250,253,248,178,104,70,1,16,36,3,0,0,0,0,22,178,185,27,3,70,70,3,0,0,0,0,90,248,248,94,0,0,5,122,176,
+250,248,90,0,0,0,0,0,0,0,0,0,81,244,248,248,250,253,252,219,113,56,0,9,79,64,0,84,190,180,74,0,10,34,39,83,40,74,119,162,52,0,0,22,61,72,183,102,
+19,198,248,203,100,148,22,0,0,22,148,88,0,0,0,14,58,21,86,243,248,248,248,243,81,0,0,0,0,16,4,0,25,60,35,48,139,179,192,203,145,37,0,12,33,62,166,182,
+158,104,70,1,16,36,3,0,0,0,0,22,178,185,27,154,96,250,250,92,0,0,0,0,0,0,0,0,0,0,8,139,136,38,6,0,0,0,0,0,0,0,11,16,0,18,30,62,
+189,155,78,45,91,113,211,250,206,18,74,177,182,101,4,8,34,39,87,30,0,13,78,120,163,51,0,0,85,239,249,223,246,248,248,248,243,141,147,18,18,147,88,0,0,0,3,32,
+28,34,6,0,0,0,0,0,0,0,11,16,0,19,36,3,0,38,90,154,179,127,59,191,207,120,5,94,248,251,253,253,240,104,2,0,0,19,36,5,0,0,5,120,125,128,154,22,
+3,70,70,3,0,0,90,248,248,94,0,0,0,0,8,139,180,249,248,90,0,0,0,0,0,0,11,92,243,248,249,250,252,191,216,249,218,113,59,55,36,0,74,177,182,101,4,8,
+34,39,87,30,0,13,78,120,163,51,0,0,71,182,66,72,212,248,203,18,0,88,147,18,18,147,88,0,0,0,3,32,28,34,6,86,243,248,248,248,243,81,11,16,0,19,36,3,
+0,38,90,154,179,127,59,191,207,120,5,0,19,139,195,185,99,67,2,0,0,19,36,5,0,0,5,120,125,128,154,22,19,96,250,250,92,0,0,0,0,0,0,0,0,3,36,24,
+118,117,43,6,0,0,0,0,0,0,5,36,18,0,68,184,153,49,22,57,46,92,113,214,248,212,172,165,71,12,40,34,38,87,30,0,0,0,12,66,116,153,38,56,232,249,212,38,
+126,246,248,248,248,243,138,135,135,84,0,0,0,3,36,19,0,14,38,6,0,0,0,0,0,0,5,36,19,0,18,32,24,46,149,190,135,21,61,65,171,197,111,16,165,252,252,251,
+251,232,45,0,0,0,19,21,0,6,109,120,4,22,128,146,19,3,70,70,3,90,248,248,94,0,0,0,0,3,36,24,118,168,249,248,90,0,0,0,0,0,85,245,248,248,250,252,
+185,49,38,211,249,218,113,72,0,66,165,165,71,12,40,34,38,87,30,0,0,0,12,66,116,153,38,41,149,64,76,203,250,217,21,0,0,0,84,135,135,84,0,0,0,3,36,19,
+0,14,38,6,86,243,248,248,248,243,81,36,19,0,18,32,24,46,149,190,135,21,61,65,171,197,111,16,108,162,160,109,102,15,0,0,0,0,19,21,0,6,109,120,4,22,128,146,
+152,21,96,250,250,92,0,0,0,0,0,0,3,36,19,0,6,109,125,42,6,0,0,0,0,0,0,3,29,70,186,148,68,0,0,22,56,69,96,113,222,253,235,79,0,8,39,57,
+85,28,0,0,0,0,0,0,50,109,164,232,249,198,38,59,18,126,246,248,248,248,244,184,150,21,0,5,110,71,19,0,0,0,14,38,6,0,0,0,0,0,0,3,36,18,0,35,
+74,142,168,133,69,62,34,0,34,169,195,161,154,183,251,250,250,250,231,41,0,0,0,0,5,118,111,6,0,0,22,121,152,21,3,70,135,248,248,94,0,0,0,0,3,36,19,0,
+6,109,172,249,248,90,0,0,0,81,243,248,249,250,252,181,68,0,0,38,210,250,219,113,109,165,165,66,0,8,39,57,85,28,0,0,0,0,0,0,50,109,157,151,34,18,203,250,
+207,80,70,3,0,0,21,150,150,21,0,5,110,71,19,0,0,0,14,38,6,86,243,248,248,221,27,3,36,18,0,35,74,142,168,133,69,62,34,0,34,169,195,161,154,135,98,81,
+54,80,13,0,0,0,0,0,5,118,111,6,0,0,22,121,128,157,22,96,250,250,92,0,0,0,0,3,36,19,0,0,0,5,125,130,42,6,0,0,0,0,0,0,61,191,154,49,
+14,34,2,7,63,66,48,140,212,241,250,198,27,33,41,88,55,2,0,0,0,0,0,0,0,102,241,252,209,18,0,18,57,21,126,246,248,249,252,247,136,144,34,119,142,31,0,0,
+0,0,0,14,38,6,0,0,0,0,0,0,3,32,35,49,157,189,129,19,63,70,18,0,0,48,191,202,172,97,151,248,249,250,250,231,41,0,0,5,123,123,6,0,0,0,0,22,
+128,157,22,92,250,250,96,0,0,0,0,3,36,19,0,0,0,5,125,176,249,248,90,0,81,243,248,248,250,252,186,49,14,34,2,7,76,213,249,229,212,193,74,0,10,33,41,88,
+55,2,0,0,0,0,0,0,0,90,191,164,62,198,248,207,71,21,66,70,3,27,147,81,81,144,34,119,142,31,0,0,0,0,0,14,38,6,81,243,221,27,0,0,3,32,35,49,
+157,189,129,19,63,70,18,0,0,48,191,202,172,97,69,16,31,56,83,11,0,0,0,5,123,123,6,0,0,0,0,22,22,130,157,22,96,250,250,92,0,0,3,36,19,0,0,0,
+3,69,65,122,129,42,6,0,0,15,14,59,190,155,68,14,0,14,19,60,33,21,115,193,206,154,209,248,205,55,88,23,10,38,5,4,9,0,0,0,69,233,250,225,168,52,0,0,
+21,61,22,126,246,252,251,248,243,139,180,141,20,0,0,0,0,0,0,0,14,38,6,0,0,22,56,6,0,23,76,157,179,135,30,60,33,22,64,20,13,124,179,193,202,149,9,113,
+248,249,250,250,223,41,5,123,124,6,0,0,0,0,0,0,22,130,192,249,248,138,70,3,0,0,3,36,19,0,0,0,3,69,65,122,175,249,248,141,243,248,248,250,252,187,68,14,
+0,14,19,60,33,38,223,253,244,154,49,10,32,40,88,23,10,38,5,4,9,0,0,0,55,158,83,127,234,249,203,18,21,61,22,66,70,118,91,0,0,85,180,141,20,0,0,0,
+0,0,0,0,14,38,6,77,27,22,56,6,0,23,76,157,179,135,30,60,33,22,64,20,13,124,179,193,202,149,9,0,13,35,59,81,17,0,5,123,124,6,0,0,0,0,0,0,
+0,22,130,157,22,96,250,250,91,1,36,19,0,0,0,3,70,71,5,5,122,129,39,6,0,2,79,191,155,52,3,34,16,7,61,37,0,74,185,196,111,94,113,212,249,218,45,0,
+0,13,37,37,9,10,23,69,234,249,198,65,120,163,52,0,0,22,61,22,126,247,248,248,248,249,191,144,20,0,0,0,0,0,0,0,0,14,35,3,9,80,102,54,18,55,153,189,
+135,17,61,37,0,0,24,74,142,179,145,116,183,194,122,6,118,248,249,250,250,225,149,124,6,0,0,0,0,0,0,0,0,63,251,252,108,3,70,70,2,1,36,19,0,0,0,3,
+70,71,5,5,122,175,249,248,248,248,251,252,187,52,3,34,16,7,61,37,0,74,190,242,251,219,113,65,39,87,29,0,0,13,37,37,9,10,23,55,159,48,18,209,251,236,66,0,
+0,22,61,22,66,81,3,0,4,115,162,144,20,0,0,0,0,0,0,0,0,14,35,3,9,80,102,54,18,55,153,189,135,17,61,37,0,0,24,74,142,179,145,116,183,194,122,6,
+0,11,34,70,82,27,132,124,6,0,0,0,0,0,0,0,0,0,22,130,157,22,96,250,250,112,17,0,0,0,3,70,70,3,0,0,5,122,129,42,4,60,190,155,60,0,0,1,
+36,65,36,0,74,178,178,90,56,56,96,111,219,249,198,18,0,4,44,40,13,37,77,234,249,198,18,0,51,119,163,52,0,0,22,61,22,126,246,248,252,252,245,139,148,22,0,0,
+0,0,0,0,0,0,10,40,79,102,77,54,65,153,179,127,45,65,36,0,0,0,15,144,197,157,92,76,39,170,204,124,6,124,249,249,250,253,240,36,0,0,0,0,0,0,0,0,
+0,0,137,176,157,22,3,69,68,33,17,0,0,0,3,70,70,3,0,0,5,165,250,249,248,250,252,187,60,0,0,1,36,65,36,0,74,178,178,102,211,250,220,111,93,26,0,0,
+0,4,44,40,13,37,64,159,48,18,198,248,213,128,163,52,0,0,22,61,22,66,70,7,123,141,26,85,148,22,0,0,0,0,0,0,0,0,10,40,79,102,77,54,65,153,179,127,
+45,65,36,0,0,0,15,144,197,157,92,76,39,170,204,124,6,4,42,37,61,173,135,6,0,0,0,0,0,0,0,0,0,0,0,22,130,157,22,96,250,250,90,0,0,3,70,71,
+4,0,0,0,0,5,122,122,88,188,155,52,28,18,0,10,60,37,0,79,178,178,74,0,28,64,73,102,112,208,248,198,24,38,11,19,61,78,234,249,198,18,0,0,0,51,119,163,
+52,0,0,22,61,22,128,251,252,248,248,243,141,148,22,0,1,0,0,0,0,0,8,82,102,78,31,53,167,185,124,19,60,37,0,0,0,15,134,179,156,112,80,4,0,35,178,204,
+128,39,132,248,253,253,250,223,27,0,0,0,0,0,4,0,0,0,0,22,130,157,22,4,86,76,1,0,0,3,70,71,4,0,0,0,81,243,252,252,251,253,210,52,28,18,0,10,
+60,37,0,79,178,178,74,0,44,212,250,221,112,43,0,0,6,38,11,19,61,65,159,48,18,198,248,203,18,51,119,163,52,0,0,22,61,22,69,159,141,23,0,0,88,148,22,0,
+1,0,0,0,0,0,8,82,102,78,31,53,167,185,124,19,60,37,0,0,0,15,134,179,156,112,80,4,0,35,178,204,128,39,12,23,151,154,85,13,0,0,0,0,0,0,4,0,
+0,0,0,0,22,129,158,48,106,250,250,91,1,70,70,4,44,22,0,0,0,0,1,142,209,153,54,0,2,32,24,58,37,0,79,202,187,74,0,10,29,52,100,70,94,113,208,248,
+206,31,0,24,85,237,249,198,18,0,0,0,0,0,62,118,161,52,0,0,22,64,136,194,247,248,248,248,243,141,148,24,46,22,0,0,0,10,79,102,80,51,56,154,180,139,34,58,
+37,0,0,0,15,135,179,148,91,80,60,19,0,0,34,177,208,129,20,194,252,249,250,250,223,27,0,0,0,1,30,19,0,0,0,0,22,129,158,48,19,67,70,1,1,70,70,4,
+44,22,0,81,243,248,248,252,253,252,250,90,2,32,24,58,37,0,79,202,187,74,0,10,29,66,220,250,219,113,44,1,34,14,0,24,72,172,53,18,198,248,203,18,0,0,62,118,
+161,52,0,0,22,64,136,166,80,2,0,0,0,88,148,24,46,22,0,0,0,10,79,102,80,51,56,154,180,139,34,58,37,0,0,0,15,135,179,148,91,80,60,19,0,0,34,177,
+208,129,20,132,135,36,55,82,13,0,0,0,0,1,30,19,19,0,0,0,0,22,137,162,22,96,250,250,132,69,3,0,24,64,20,0,0,0,59,183,190,144,34,6,0,11,72,44,
+0,74,178,188,138,28,6,33,40,84,46,54,58,99,113,208,248,198,18,71,234,249,207,24,0,0,0,0,0,0,1,58,114,162,53,0,5,135,161,37,125,246,248,248,248,243,141,148,
+44,64,20,0,10,79,102,76,31,63,169,181,121,19,72,44,0,0,0,17,136,179,146,94,76,4,20,64,23,0,0,34,177,203,166,116,136,248,249,250,250,219,27,0,0,0,4,36,
+19,0,0,0,0,22,137,162,22,3,68,65,65,69,3,0,24,64,94,243,248,248,250,251,211,185,249,248,90,11,72,44,0,74,178,188,138,28,6,33,40,84,60,210,250,220,113,46,
+3,0,0,57,159,60,54,199,248,203,18,0,0,0,1,58,114,162,53,0,5,135,161,37,64,62,1,0,0,0,88,148,44,64,20,0,10,79,102,76,31,63,169,181,121,19,72,44,
+0,0,0,17,136,179,146,94,76,4,20,64,23,0,0,34,177,203,166,116,3,14,34,55,82,13,0,0,0,0,4,36,36,19,0,0,3,30,34,127,157,22,97,251,251,93,0,0,
+0,23,64,18,0,60,191,154,58,121,129,39,16,59,36,30,87,178,178,74,28,89,52,38,96,111,22,22,49,42,100,112,207,248,214,235,249,198,31,38,6,0,0,0,0,0,0,0,
+62,120,158,53,115,140,39,58,26,95,243,248,248,248,243,141,148,43,60,28,77,102,78,33,58,157,183,139,24,59,36,30,18,0,25,138,179,144,93,75,5,0,0,23,55,5,0,0,
+39,194,204,124,5,135,248,249,250,250,214,27,0,0,0,3,36,19,0,0,3,30,34,127,157,22,5,98,98,5,0,0,0,97,246,248,248,250,252,185,58,121,175,249,248,128,36,30,
+87,178,178,74,28,89,52,38,96,111,22,39,209,249,220,112,42,2,57,159,48,18,201,249,204,18,0,0,0,0,0,0,62,120,158,53,115,140,39,58,26,21,0,0,0,0,0,88,
+148,43,60,28,77,102,78,33,58,157,183,139,24,59,36,30,18,0,25,138,179,144,93,75,5,0,0,23,55,5,0,0,39,194,204,124,5,0,14,33,55,82,13,0,0,0,0,3,
+3,36,18,1,36,19,0,22,128,158,81,136,250,250,92,0,0,0,24,56,71,190,155,50,0,5,122,133,77,38,0,76,189,184,74,0,6,52,91,90,109,179,139,18,4,0,39,102,
+108,216,252,249,202,18,0,14,38,6,0,0,0,0,0,0,0,65,120,184,150,19,0,22,63,18,81,243,248,248,248,243,141,148,50,98,102,76,14,53,157,179,119,27,73,38,0,2,
+36,19,93,179,144,93,74,4,0,0,0,0,4,0,0,5,115,125,171,204,126,7,140,248,249,250,250,209,27,0,0,0,3,36,18,1,36,19,0,22,128,158,81,66,65,68,3,0,
+81,243,249,250,250,252,187,50,0,5,122,178,250,249,90,76,189,184,74,0,6,52,91,90,109,179,139,18,21,198,249,221,108,67,159,48,18,198,248,206,53,6,0,0,0,0,0,0,
+0,65,120,184,150,19,0,22,63,18,0,0,0,0,0,0,88,148,50,98,102,76,14,53,157,179,119,27,73,38,0,2,36,19,93,179,144,93,74,4,0,0,0,0,4,0,0,5,
+115,125,171,204,126,7,0,13,33,55,82,13,0,0,0,0,0,2,34,45,15,0,0,0,22,152,180,22,95,250,250,92,0,0,0,74,191,154,40,0,0,0,15,153,143,37,75,178,
+179,100,16,8,33,38,89,91,49,139,179,138,18,0,0,40,95,235,249,248,202,18,0,0,14,38,6,0,0,0,0,0,0,5,149,179,153,50,0,0,22,64,22,81,243,248,248,248,
+243,145,180,115,97,25,36,159,179,118,16,59,43,32,6,0,3,36,28,97,96,74,4,0,0,0,0,0,0,0,5,123,124,1,31,176,204,127,7,149,248,249,250,250,209,18,0,0,
+0,2,34,45,15,0,0,0,22,152,180,22,1,70,70,83,243,248,248,250,252,186,40,0,0,0,15,153,185,249,250,205,179,100,16,8,33,38,89,91,49,139,179,138,18,18,198,249,
+217,165,48,18,198,248,203,18,14,38,6,0,0,0,0,0,0,5,149,179,153,50,0,0,22,64,22,0,0,0,0,0,0,94,180,115,97,25,36,159,179,118,16,59,43,32,6,0,
+3,36,28,97,96,74,4,0,0,0,0,0,0,0,5,123,124,1,31,176,204,127,7,0,13,33,55,82,13,0,0,0,0,2,34,45,15,0,0,3,66,76,126,156,22,96,250,250,
+92,0,60,190,154,78,12,0,0,10,62,40,112,146,183,179,74,2,38,42,39,87,26,25,90,47,138,179,138,18,0,71,234,249,202,202,248,198,18,8,0,14,38,6,0,0,0,0,
+5,124,139,71,115,162,52,0,0,22,64,22,81,243,248,248,248,247,187,180,50,84,165,179,117,16,62,37,0,14,38,6,0,1,34,82,71,4,0,0,0,0,0,0,0,5,123,124,
+6,0,0,32,176,204,128,11,154,248,249,250,250,209,18,0,0,2,34,45,15,0,0,3,66,76,126,156,22,3,129,246,248,248,250,252,186,78,12,0,0,10,62,40,112,186,253,253,
+138,2,38,42,39,87,26,25,90,47,138,179,138,18,18,211,252,209,35,198,248,203,18,8,0,14,38,6,0,0,0,0,5,124,139,71,115,162,52,0,0,22,64,22,0,0,0,0,
+10,79,155,180,50,84,165,179,117,16,62,37,0,14,38,6,0,1,34,82,71,4,0,0,0,0,0,0,0,5,123,124,6,0,0,32,176,204,128,11,0,13,33,55,82,13,0,0,
+3,36,18,1,36,16,1,70,70,2,20,130,158,22,96,250,250,131,191,154,40,24,59,13,8,62,37,0,74,179,183,101,4,8,32,56,92,26,0,0,28,90,47,138,179,133,82,232,
+249,198,18,18,198,248,198,45,24,0,14,38,6,0,0,5,125,142,23,0,66,120,162,55,1,0,22,64,23,81,243,248,250,251,247,141,143,166,197,123,14,62,37,0,0,0,14,38,
+4,6,78,87,18,0,0,0,0,0,0,0,2,118,123,6,0,0,0,0,32,176,204,143,26,158,248,249,250,250,206,18,3,36,18,1,36,16,1,70,70,2,20,130,158,96,243,250,
+250,250,252,187,40,24,59,13,8,62,37,0,74,179,210,251,248,95,32,56,92,26,0,0,28,90,47,138,179,133,69,160,209,248,238,248,203,18,0,29,24,0,14,38,6,0,0,5,
+125,142,23,0,66,120,162,55,1,0,22,64,23,0,0,10,79,102,79,88,143,166,197,123,14,62,37,0,0,0,14,38,4,6,78,87,18,0,0,0,0,0,0,0,2,118,123,6,
+0,0,0,0,32,176,204,143,26,0,13,33,55,82,13,0,31,19,0,122,91,33,75,68,3,0,0,23,124,150,23,94,251,253,191,42,0,0,25,59,60,34,0,74,177,171,140,119,
+43,33,38,84,52,13,0,0,0,28,90,48,132,184,238,249,198,18,0,0,18,198,248,198,48,24,0,14,38,6,5,123,142,24,0,0,0,66,121,145,15,0,0,23,55,1,87,247,
+251,250,248,244,198,179,132,59,60,34,0,0,0,0,0,12,36,79,70,8,33,19,0,0,0,0,0,4,109,111,5,0,0,0,0,0,0,32,176,204,144,26,158,248,249,250,250,202,
+47,19,0,0,2,33,75,68,3,0,0,23,165,250,249,248,251,252,187,42,0,0,25,59,60,34,0,74,177,171,140,169,249,249,115,84,52,13,0,0,0,28,90,48,132,179,179,60,
+35,238,248,239,35,0,0,1,33,24,0,14,38,6,5,123,142,24,0,0,0,66,121,145,15,0,0,23,55,1,10,79,102,79,10,36,171,179,132,59,60,34,0,0,0,0,0,12,
+36,79,70,8,33,19,0,0,0,0,0,4,109,111,5,0,0,0,0,0,0,32,176,204,144,26,0,13,33,55,81,17,27,0,45,248,248,134,86,18,0,0,0,0,4,88,141,80,
+210,252,249,90,0,0,7,65,70,12,74,178,178,71,6,125,142,61,86,26,0,36,19,0,0,0,27,90,108,238,253,227,34,0,0,0,0,18,198,248,198,48,24,0,14,41,126,139,
+20,0,0,0,0,0,66,94,13,0,0,0,2,10,79,151,247,248,249,252,251,178,138,80,70,12,0,0,0,0,0,7,83,88,7,0,3,36,19,0,0,0,5,121,119,2,0,0,
+0,0,0,0,0,0,32,174,204,145,31,158,248,249,250,251,200,18,0,0,2,69,86,18,0,0,0,81,243,250,252,250,251,186,42,0,0,0,7,65,70,12,74,178,178,71,6,125,
+184,250,250,107,0,36,19,0,0,0,27,90,96,179,179,141,202,248,239,248,198,18,0,0,1,33,24,0,14,41,126,139,20,0,0,0,0,0,66,94,13,0,0,0,2,10,79,102,
+79,10,39,161,179,142,138,80,70,12,0,0,0,0,0,7,83,88,7,0,3,36,19,0,0,0,5,121,119,2,0,0,0,0,0,0,0,0,32,174,204,145,26,0,13,32,55,95,
+79,13,0,96,250,250,95,33,19,0,0,0,0,0,121,209,159,120,248,248,90,10,58,33,28,118,182,178,74,0,10,37,142,169,57,2,0,3,36,19,0,0,0,86,240,250,227,184,
+138,18,0,0,0,0,18,198,248,198,48,24,11,129,152,25,0,0,0,0,0,0,0,66,84,10,0,0,9,79,102,78,88,245,252,253,251,243,165,162,48,62,13,0,0,0,9,81,
+64,16,36,6,0,3,36,19,0,5,123,124,5,0,8,51,11,0,0,0,0,0,0,30,174,204,146,31,162,248,250,250,250,197,14,3,70,70,8,33,19,0,81,243,248,248,252,253,
+190,42,0,0,0,10,58,33,28,118,182,178,74,0,10,37,142,201,250,248,90,3,36,19,0,0,0,74,189,87,142,238,252,207,35,198,248,198,18,0,0,1,33,24,11,129,152,25,
+0,0,0,0,0,0,0,66,84,10,0,0,9,79,102,78,10,41,162,179,111,16,124,162,48,62,13,0,0,0,9,81,64,16,36,6,0,3,36,19,0,5,123,124,5,0,8,51,
+11,0,0,0,0,0,0,30,174,204,146,26,0,13,52,62,55,80,19,66,139,248,248,92,36,19,0,0,0,60,183,179,155,22,94,248,248,130,35,0,74,188,197,82,0,10,33,40,
+91,136,127,42,7,0,3,36,19,0,66,234,250,218,64,138,179,138,18,0,0,0,0,18,198,248,198,48,96,139,32,33,3,0,0,0,0,0,0,0,66,84,8,8,79,102,77,14,
+41,195,251,251,248,250,245,141,148,51,63,12,0,9,82,70,0,0,14,38,7,0,3,36,23,123,124,6,0,0,53,102,77,9,0,0,0,0,0,0,30,174,204,145,34,177,249,249,
+250,250,198,73,71,3,0,3,36,94,243,248,248,250,251,203,155,22,0,0,10,62,35,0,74,188,197,82,0,10,33,40,91,136,174,249,248,90,3,36,19,0,52,159,74,102,209,252,
+238,146,18,18,198,248,198,18,0,0,1,32,96,139,32,33,3,0,0,0,0,0,0,0,66,84,8,8,79,102,77,14,41,168,179,110,14,62,35,88,148,51,63,12,0,9,82,70,
+0,0,14,38,7,0,3,36,23,123,124,6,0,0,53,102,77,9,0,0,0,0,0,0,30,174,204,145,29,29,27,30,32,54,102,70,1,94,248,248,92,36,18,0,60,190,154,56,
+87,148,22,100,250,249,90,74,178,178,97,60,20,30,39,88,28,5,122,129,43,6,0,3,36,80,234,249,198,42,90,49,138,179,139,58,14,0,0,0,18,198,248,198,77,40,0,12,
+35,6,0,0,0,0,0,0,0,64,78,78,102,76,27,28,32,156,159,243,250,249,248,243,141,148,52,59,20,79,71,3,0,0,0,14,38,6,0,8,142,134,6,0,0,0,14,80,
+102,75,13,40,14,0,0,0,0,29,173,203,155,46,171,248,249,250,251,211,10,0,0,0,83,245,248,248,250,252,187,56,87,148,22,10,62,37,0,74,178,178,97,60,20,30,39,88,
+28,5,122,176,249,248,90,3,36,67,159,53,18,204,250,209,146,179,139,58,31,198,248,198,18,0,0,1,64,40,0,12,35,6,0,0,0,0,0,0,0,64,78,78,102,76,27,28,
+32,156,114,13,62,37,0,0,88,148,52,59,20,79,71,3,0,0,0,14,38,6,0,8,142,134,6,0,0,0,14,80,102,75,13,40,14,0,0,0,0,29,173,203,155,42,0,14,
+14,82,86,76,12,0,94,248,248,92,32,71,190,155,57,0,0,88,152,79,117,248,250,205,179,74,0,37,68,46,85,28,0,0,5,122,130,42,6,0,68,237,249,198,18,0,26,91,
+48,138,194,161,23,0,0,0,0,18,198,249,202,45,24,0,14,38,6,0,0,0,0,0,0,11,97,102,76,26,32,4,0,19,15,123,245,248,248,248,243,141,148,54,99,72,1,0,
+0,0,0,0,14,38,11,123,126,41,19,0,0,0,0,11,79,102,90,50,4,0,0,0,0,0,29,180,205,146,33,176,248,250,250,250,193,9,0,81,243,248,249,250,252,187,57,0,
+0,88,152,79,37,0,74,178,179,74,0,37,68,46,85,28,0,0,5,122,176,249,248,90,54,173,68,18,198,248,204,102,48,138,194,161,23,18,198,248,198,18,2,34,20,29,24,0,
+14,38,6,0,0,0,0,0,0,11,97,102,76,26,32,4,0,19,15,62,37,0,0,2,3,88,148,54,99,72,1,0,0,0,0,0,14,38,11,123,126,41,19,0,0,0,0,11,
+79,102,90,50,4,0,0,0,0,0,29,180,205,146,28,0,64,73,34,54,82,13,0,94,248,248,123,191,155,55,0,0,0,10,129,163,23,138,253,253,154,8,8,29,58,102,36,0,
+0,0,0,5,122,130,39,68,234,249,206,32,0,0,0,25,84,79,158,180,138,18,0,0,0,2,51,203,248,198,48,23,0,14,38,6,0,0,0,0,10,78,102,93,82,36,1,0,
+0,10,62,37,81,243,248,248,249,243,142,180,96,56,10,0,0,0,0,0,0,19,143,127,6,3,36,15,0,0,0,0,13,95,102,73,6,0,0,0,0,2,34,43,172,204,147,37,
+196,250,249,250,250,184,87,243,248,248,250,252,187,55,0,0,0,10,129,163,23,69,178,179,99,8,8,29,58,102,36,0,0,0,0,5,122,176,249,249,193,55,51,201,248,198,18,25,
+84,79,158,180,138,18,18,198,248,198,51,21,0,1,33,23,0,14,38,6,0,0,0,0,10,78,102,93,82,36,1,0,0,10,62,37,0,0,0,4,36,7,93,180,96,56,10,0,
+0,0,0,0,0,19,143,127,6,3,36,15,0,0,0,0,13,95,102,73,6,0,0,0,0,2,34,43,172,204,147,29,83,0,11,33,55,82,13,0,94,249,252,179,75,15,0,0,
+10,62,37,81,156,173,204,250,248,116,36,38,82,54,51,4,0,0,0,0,5,113,147,234,249,198,20,7,0,0,0,0,61,102,50,138,179,138,18,0,2,35,20,18,198,248,198,45,
+20,0,14,38,6,0,0,10,79,102,75,28,78,82,9,0,10,62,37,0,0,81,243,248,248,226,99,133,150,54,58,4,0,0,0,0,5,123,131,43,6,0,2,7,0,0,0,2,
+46,52,80,102,74,7,0,0,2,35,20,0,29,172,203,168,89,180,248,249,250,250,247,248,248,249,250,174,75,15,0,0,10,62,37,81,156,173,175,74,9,41,36,38,82,54,51,4,
+0,0,0,0,5,113,182,252,249,102,198,248,198,18,0,0,61,102,50,138,179,138,18,18,198,249,202,18,0,0,0,30,20,0,14,38,6,0,0,10,79,102,75,28,78,82,9,0,
+10,62,37,0,0,0,0,0,8,37,81,133,150,54,58,4,0,0,0,0,5,123,131,43,6,0,2,7,0,0,0,2,46,52,80,102,74,7,0,0,2,35,20,0,29,172,203,168,
+149,27,0,13,33,55,82,13,22,187,250,249,94,34,16,9,62,37,0,69,179,179,86,94,248,249,127,88,26,0,16,2,0,0,0,0,0,67,238,252,206,24,0,0,0,0,2,50,
+44,27,88,50,138,179,138,20,36,20,0,0,18,198,248,198,48,24,0,14,38,3,9,79,102,76,27,30,6,66,80,21,58,37,0,0,0,0,81,243,222,100,88,11,88,148,36,2,
+0,0,0,5,123,124,6,15,38,6,0,0,0,0,2,50,50,0,11,83,102,72,5,0,36,20,0,0,0,27,186,209,149,35,185,248,249,250,250,248,249,250,149,33,6,34,16,9,
+62,37,0,69,179,179,86,0,8,36,58,88,26,0,16,2,0,0,0,0,0,53,179,183,249,248,248,198,18,0,2,50,44,27,88,50,138,179,138,20,51,202,248,198,18,0,0,0,
+32,24,0,14,38,3,9,79,102,76,27,30,6,66,80,21,58,37,0,0,0,0,0,0,8,81,88,11,88,148,36,2,0,0,0,5,123,124,6,15,38,6,0,0,0,0,2,50,
+50,0,11,83,102,72,5,0,36,20,0,0,0,27,186,209,203,148,29,0,13,33,55,97,153,98,117,248,248,91,36,65,36,0,74,178,173,123,135,31,115,249,250,125,7,0,0,0,
+0,0,0,0,66,232,249,223,139,42,6,0,0,2,50,50,2,0,25,90,51,138,180,154,36,0,0,0,0,18,198,248,198,49,24,0,11,40,79,102,76,27,32,4,0,0,66,102,
+41,0,0,0,0,0,0,83,101,69,13,36,10,88,148,22,0,0,5,123,124,6,0,0,15,38,6,0,0,2,50,50,2,0,0,13,84,102,72,34,17,0,0,0,3,68,83,171,
+203,148,37,209,248,249,250,251,252,150,36,3,0,1,36,65,36,0,74,178,173,123,135,31,33,38,88,54,7,0,0,0,0,0,0,0,52,155,55,123,236,249,248,102,0,2,50,50,
+2,0,25,90,51,138,180,154,36,18,198,248,198,18,0,0,0,33,24,0,11,40,79,102,76,27,32,4,0,0,66,102,41,0,0,0,0,0,0,9,82,69,13,36,10,88,148,22,
+0,0,5,123,124,6,0,0,15,38,6,0,0,2,50,50,2,0,0,13,84,102,72,34,17,0,0,0,3,68,83,171,171,204,149,29,0,13,52,171,145,41,0,94,248,248,129,37,
+0,74,178,178,72,0,93,162,58,149,249,248,115,11,0,0,0,0,0,66,234,249,198,23,122,130,42,4,1,50,50,2,0,0,0,24,89,52,151,185,138,18,0,0,0,6,30,198,
+248,198,48,20,8,82,102,77,26,32,3,0,0,9,55,73,76,9,0,0,0,0,8,82,71,3,0,10,39,11,88,148,20,1,123,124,6,0,0,0,0,15,38,4,1,50,50,2,
+0,0,0,0,13,83,102,77,3,0,0,3,69,76,13,27,171,204,183,245,248,248,250,253,252,185,5,0,0,9,60,37,0,74,178,178,72,0,93,162,58,88,27,6,39,11,0,0,
+0,0,0,52,159,53,18,199,252,236,249,248,91,50,50,2,0,0,0,24,89,52,151,185,138,18,18,198,248,199,30,0,0,1,33,20,8,82,102,77,26,32,3,0,0,9,55,73,
+76,9,0,0,0,0,8,82,71,3,0,10,39,11,88,148,20,1,123,124,6,0,0,0,0,15,38,4,1,50,50,2,0,0,0,0,13,83,102,77,3,0,0,3,69,76,13,27,
+27,170,204,149,26,20,152,116,70,80,12,0,101,250,249,90,74,178,178,74,0,10,30,114,185,48,94,248,248,115,11,0,0,0,66,234,249,198,18,0,5,122,129,37,48,49,2,0,
+0,0,0,0,25,101,62,138,179,138,18,0,0,14,62,36,198,248,198,52,84,102,79,48,32,2,0,0,10,62,36,0,56,80,10,0,0,9,81,71,2,0,0,0,10,39,11,86,
+135,121,118,6,0,0,0,0,0,0,14,33,48,49,2,0,0,0,0,0,0,42,88,102,70,3,1,70,68,15,59,20,27,197,252,252,248,249,252,251,250,250,171,5,11,62,37,0,
+74,178,178,74,0,10,30,114,185,48,0,0,10,39,11,0,0,0,52,159,53,18,198,248,199,132,175,249,249,122,2,0,0,0,0,0,25,101,62,138,179,138,18,18,198,248,212,36,
+0,0,0,36,84,102,79,48,32,2,0,0,10,62,36,0,56,80,10,0,0,9,81,71,2,0,0,0,10,39,11,86,135,121,118,6,0,0,0,0,0,0,14,33,48,49,2,0,
+0,0,0,0,0,42,88,102,70,3,1,70,68,15,59,20,19,26,170,204,152,144,92,40,32,54,81,20,56,118,248,250,205,178,74,0,10,33,39,88,107,148,22,94,248,248,115,11,
+0,66,234,249,198,18,0,0,0,5,122,150,69,6,0,0,0,0,0,3,30,39,86,52,138,179,138,18,0,0,22,60,33,198,248,215,113,81,25,38,36,5,0,7,60,37,0,0,
+0,57,81,8,7,82,71,2,0,0,0,0,0,9,39,11,152,179,27,0,0,0,0,0,0,0,0,54,65,6,0,0,0,0,0,3,36,15,14,86,102,68,96,150,9,0,23,64,
+94,244,252,254,252,249,228,249,249,250,250,169,60,37,0,74,178,178,74,0,10,33,39,88,107,148,22,0,0,9,39,11,0,52,159,53,18,198,248,198,18,5,122,189,250,248,90,0,
+0,0,0,3,30,39,86,52,138,179,138,18,18,198,249,212,33,0,10,78,102,81,25,38,36,5,0,7,60,37,0,0,0,57,81,8,7,82,71,2,0,0,0,0,0,9,39,11,
+152,179,27,0,0,0,0,0,0,0,0,54,65,6,0,0,0,0,0,3,36,15,14,86,102,68,96,150,9,0,23,64,64,18,21,168,203,173,50,0,12,33,54,87,33,0,140,253,
+253,138,0,10,33,39,88,28,0,88,148,22,94,248,248,115,74,234,249,198,18,0,0,0,0,2,54,147,130,40,5,0,0,0,3,36,19,0,24,90,52,138,179,138,18,0,0,19,
+56,43,215,251,215,60,45,0,13,38,6,4,22,0,0,0,0,0,55,76,78,68,2,0,0,0,0,0,0,0,14,141,119,85,145,22,0,0,0,0,0,2,50,48,16,36,5,0,
+0,0,3,36,19,12,4,14,83,102,102,128,122,5,0,97,246,248,249,252,252,200,64,194,248,249,250,250,171,5,74,178,178,74,0,10,33,39,88,28,0,88,148,22,0,0,9,39,
+61,159,53,18,198,248,198,18,0,2,54,147,176,249,248,90,0,0,3,36,19,0,24,90,52,138,179,138,18,18,198,248,210,43,77,102,75,45,45,0,13,38,6,4,22,0,0,0,
+0,0,55,76,78,68,2,0,0,0,0,0,0,0,14,141,119,85,145,22,0,0,0,0,0,2,50,48,16,36,5,0,0,0,3,36,19,12,4,14,83,102,102,128,122,5,0,23,
+24,64,34,140,184,207,150,30,0,13,33,54,80,83,178,206,250,248,96,33,39,88,28,0,0,0,88,148,22,94,248,249,243,249,198,18,0,0,0,0,2,50,50,7,122,130,43,5,
+0,3,36,19,0,0,0,23,89,52,138,179,138,18,0,0,30,97,113,214,249,204,47,23,0,14,38,6,0,0,0,0,0,0,8,97,102,11,0,0,0,0,0,0,0,5,123,129,
+42,11,88,148,22,0,0,0,2,50,50,2,0,16,38,5,0,3,36,19,0,80,124,5,70,100,102,69,124,122,85,243,249,250,249,249,206,207,150,45,203,248,249,250,250,190,178,178,
+74,0,10,33,39,88,28,0,0,0,88,148,22,0,0,59,174,62,18,198,248,198,18,0,2,50,50,7,122,176,249,248,90,3,36,19,0,0,0,23,89,52,138,179,138,18,18,198,
+249,220,113,74,27,29,31,23,0,14,38,6,0,0,0,0,0,0,8,97,102,11,0,0,0,0,0,0,0,5,123,129,42,11,88,148,22,0,0,0,2,50,50,2,0,16,38,5,
+0,3,36,19,0,80,124,5,70,100,102,69,124,122,5,0,0,45,173,102,49,170,204,151,31,0,13,33,113,203,182,74,94,248,249,115,88,28,0,0,0,0,0,88,148,19,133,252,
+249,222,28,0,0,0,0,2,50,50,2,0,5,123,131,43,8,34,19,0,0,0,0,0,23,90,53,138,179,138,18,8,73,102,94,53,204,248,198,49,24,0,14,38,6,0,0,0,
+0,9,81,66,54,78,9,0,0,0,0,0,5,123,124,6,9,39,11,88,148,22,0,2,50,50,2,0,0,0,15,36,8,34,19,0,0,11,124,158,70,23,88,102,70,166,249,248,
+248,249,251,151,49,170,204,151,47,207,248,249,251,254,227,74,0,10,33,39,88,28,0,0,0,0,0,88,148,19,48,159,60,54,200,248,198,18,0,2,50,50,2,0,5,123,176,249,
+248,112,19,0,0,0,0,0,23,90,53,138,179,138,18,26,214,251,219,53,28,2,0,33,24,0,14,38,6,0,0,0,0,9,81,66,54,78,9,0,0,0,0,0,5,123,124,6,
+9,39,11,88,148,22,0,2,50,50,2,0,0,0,15,36,8,34,19,0,0,11,124,158,70,23,88,102,70,124,122,6,34,145,111,75,17,25,169,204,153,30,0,83,188,194,132,12,
+7,115,249,250,108,0,0,0,0,0,0,0,81,159,231,249,248,248,115,12,0,0,2,50,50,2,0,0,0,7,81,26,58,20,0,0,0,0,0,0,0,22,89,53,138,179,142,87,
+96,74,42,71,35,198,248,198,48,24,0,14,38,6,0,0,9,82,71,2,0,58,80,8,0,0,0,5,123,124,6,0,0,9,39,12,88,148,24,50,50,2,0,0,0,0,0,15,
+58,20,0,0,0,3,74,159,124,5,18,89,151,246,252,252,249,250,157,75,17,25,169,204,153,46,207,250,253,253,252,154,7,33,39,88,28,0,0,0,0,0,0,0,81,152,149,48,
+18,200,249,200,18,0,2,50,50,2,0,0,0,7,81,111,250,248,90,0,0,0,0,0,0,22,89,53,138,179,142,87,107,215,249,214,35,0,0,1,33,24,0,14,38,6,0,0,
+9,82,71,2,0,58,80,8,0,0,0,5,123,124,6,0,0,9,39,12,88,148,24,50,50,2,0,0,0,0,0,15,58,20,0,0,0,3,74,159,124,5,18,89,102,69,124,116,
+179,97,31,27,62,16,25,169,204,147,93,178,182,98,54,83,40,38,149,249,248,90,1,0,0,0,0,0,61,238,253,204,105,248,248,115,10,1,50,50,2,0,0,0,0,0,3,32,
+30,34,5,0,0,0,0,0,0,0,22,90,51,142,203,182,84,27,27,28,62,33,198,248,198,48,24,0,14,38,4,8,82,71,2,0,0,0,59,80,8,0,5,123,124,6,0,0,
+0,0,9,39,10,88,169,68,2,0,0,0,0,0,3,32,30,34,5,0,3,70,71,8,122,122,5,93,247,251,250,252,251,147,31,27,62,16,25,169,204,147,107,241,253,251,250,250,
+162,38,88,28,0,0,1,0,0,0,0,0,46,178,179,41,198,248,200,54,10,1,50,50,2,0,0,0,0,0,3,32,113,249,248,90,0,0,0,0,0,0,22,90,51,142,203,182,
+84,43,204,249,212,33,0,0,1,33,24,0,14,38,4,8,82,71,2,0,0,0,59,80,8,0,5,123,124,6,0,0,0,0,9,39,10,88,169,68,2,0,0,0,0,0,3,32,
+30,34,5,0,3,70,71,8,122,122,5,18,90,102,65,122,154,131,7,0,27,64,15,23,162,204,192,176,70,11,37,68,86,83,26,94,248,249,93,0,0,0,0,66,234,251,224,157,
+22,94,248,248,112,52,48,2,0,0,0,0,0,3,36,19,0,16,38,5,0,0,0,0,0,0,0,20,82,98,185,201,150,48,3,0,27,64,32,198,248,198,48,24,0,12,37,80,
+70,2,0,0,6,32,2,58,80,13,123,124,6,0,0,0,0,0,0,8,34,52,120,149,22,0,0,0,0,3,36,19,0,16,35,10,68,71,3,0,5,122,165,243,248,250,251,251,
+186,131,7,0,27,64,15,23,162,204,192,185,220,248,249,250,250,178,26,0,6,33,4,0,0,0,0,52,162,117,126,231,249,198,18,8,34,52,48,2,0,0,0,0,0,3,36,19,
+0,104,249,248,90,0,0,0,0,0,0,20,82,98,185,201,150,48,21,198,249,212,32,0,0,1,33,24,0,12,37,80,70,2,0,0,6,32,2,58,80,13,123,124,6,0,0,0,
+0,0,0,8,34,52,120,149,22,0,0,0,0,3,36,19,0,16,35,10,68,71,3,0,5,122,122,5,20,91,114,164,83,123,122,5,0,28,64,17,88,194,204,166,25,7,38,56,
+96,85,8,3,118,248,248,90,0,0,66,236,251,209,18,88,148,22,94,248,249,132,12,0,0,0,0,0,3,36,19,0,0,0,16,38,5,0,0,0,0,0,0,7,81,102,97,148,
+188,139,18,0,0,28,64,34,198,248,198,48,20,6,83,88,7,0,0,6,38,15,0,0,63,164,128,6,0,0,0,0,0,0,0,1,50,65,12,88,148,22,0,0,3,36,19,0,
+0,0,15,87,70,2,0,0,0,85,249,252,248,249,252,185,83,123,122,5,0,28,64,17,88,194,204,166,49,213,249,250,251,250,139,3,38,15,0,0,0,0,52,164,120,65,198,250,
+231,39,0,1,50,65,12,0,0,0,0,0,3,36,19,0,0,0,104,249,248,90,0,0,0,0,0,7,81,102,97,148,188,139,18,18,198,249,212,34,0,0,1,33,20,6,83,88,
+7,0,0,6,38,15,0,0,63,164,128,6,0,0,0,0,0,0,0,1,50,65,12,88,148,22,0,0,3,36,19,0,0,0,15,87,70,2,0,0,0,5,122,122,1,39,186,154,
+102,65,125,122,11,0,30,97,175,172,175,203,155,51,38,88,51,52,81,42,11,94,248,248,90,66,245,251,213,18,0,0,88,148,24,126,249,248,98,12,0,0,0,3,36,19,0,0,
+0,0,0,16,38,5,0,0,0,0,10,79,102,79,85,71,138,179,138,18,0,0,30,32,18,198,248,198,49,86,66,16,36,5,5,38,14,0,0,5,123,154,83,8,0,0,0,0,
+0,0,2,50,48,11,37,12,88,148,22,3,36,19,0,0,0,3,67,75,35,4,0,0,81,243,248,252,252,249,155,98,102,65,125,122,11,0,30,97,175,172,175,203,155,73,223,250,
+250,250,250,155,11,0,0,0,0,52,164,120,79,229,248,198,100,148,24,50,48,11,37,12,0,0,0,3,36,19,0,0,0,0,0,104,249,248,148,0,0,0,10,79,102,79,85,71,
+138,179,138,18,18,198,249,205,18,0,0,0,33,86,66,16,36,5,5,38,14,0,0,5,123,154,83,8,0,0,0,0,0,0,2,50,48,11,37,12,88,148,22,3,36,19,0,0,
+0,3,67,75,35,4,0,0,0,0,5,117,121,135,110,98
+};
+
+
+#endif
diff --git a/kscreensaver/kdesavers/Flux.cpp b/kscreensaver/kdesavers/Flux.cpp
new file mode 100644
index 00000000..403c07b6
--- /dev/null
+++ b/kscreensaver/kdesavers/Flux.cpp
@@ -0,0 +1,967 @@
+//============================================================================
+//
+// Terence Welsh Screensaver - Flux
+// http://www.reallyslick.com/
+//
+// Ported to KDE by Karl Robillard
+//
+/*
+ * Copyright (C) 2002 Terence M. Welsh
+ *
+ * Flux is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Flux is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+//============================================================================
+
+
+/*
+ TODO
+
+ [ ] Regular and others are messed up after Sparkler.
+ Insane seems to reset them.
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+#include <qtimer.h>
+#include "Flux.h"
+#include "Flux.moc"
+
+
+#define NUMCONSTS 8
+#define PIx2 6.28318530718f
+#define DEG2RAD 0.0174532925f
+
+
+void hsl2rgb(float h, float s, float l, float &r, float &g, float &b)
+{
+ // hue influence
+ if(h < 0.166667){ // full red, some green
+ r = 1.0;
+ g = h * 6.0f;
+ b = 0.0;
+ }
+ else {
+ if(h < 0.5){ // full green
+ g = 1.0;
+ if(h < 0.333333){ // some red
+ r = 1.0f - ((h - 0.166667f) * 6.0f);
+ b = 0.0;
+ }
+ else{ // some blue
+ b = (h - 0.333333f) * 6.0f;
+ r = 0.0;
+ }
+ }
+ else{
+ if(h < 0.833333){ // full blue
+ b = 1.0;
+ if(h < 0.666667){ // some green
+ g = 1.0f - ((h - 0.5f) * 6.0f);
+ r = 0.0;
+ }
+ else{ // some red
+ r = (h - 0.666667f) * 6.0f;
+ g = 0.0;
+ }
+ }
+ else{ // full red, some blue
+ r = 1.0;
+ b = 1.0f - ((h - 0.833333f) * 6.0f);
+ g = 0.0;
+ }
+ }
+ }
+
+ // saturation influence
+ r = 1.0f - (s * (1.0f - r));
+ g = 1.0f - (s * (1.0f - g));
+ b = 1.0f - (s * (1.0f - b));
+
+ // luminosity influence
+ r *= l;
+ g *= l;
+ b *= l;
+}
+
+
+// Useful random number macros
+// Don't forget to initialize with srand()
+inline int myRandi(int x){
+ return((rand() * x) / RAND_MAX);
+}
+inline float myRandf(float x){
+ return(float(rand() * x) / float(RAND_MAX));
+}
+
+
+//----------------------------------------------------------------------------
+
+
+// Flux context to allow many instances.
+static FluxWidget* _fc = 0;
+
+static int whichparticle;
+
+
+// This class is poorly named. It's actually a whole trail of particles.
+class particle
+{
+public:
+
+ particle();
+ ~particle();
+ float update(float *c);
+
+private:
+
+ float** vertices;
+ short trails;
+ short counter;
+ float offset[3];
+};
+
+
+particle::particle()
+{
+ // Offsets are somewhat like default positions for the head of each
+ // particle trail. Offsets spread out the particle trails and keep
+ // them from all overlapping.
+ offset[0] = cos(PIx2 * float(whichparticle) / float(_fc->dParticles));
+ offset[1] = float(whichparticle) / float(_fc->dParticles) - 0.5f;
+ offset[2] = sin(PIx2 * float(whichparticle) / float(_fc->dParticles));
+ whichparticle++;
+
+ // Initialize memory and set initial positions out of view of the camera
+ trails = _fc->dTrail;
+ vertices = new float*[ trails ];
+
+ int i;
+ for(i=0; i<trails; i++)
+ {
+ vertices[i] = new float[5]; // 0,1,2 = position, 3 = hue, 4 = saturation
+ vertices[i][0] = 0.0f;
+ vertices[i][1] = 3.0f;
+ vertices[i][2] = 0.0f;
+ vertices[i][3] = 0.0f;
+ vertices[i][4] = 0.0f;
+ }
+
+ counter = 0;
+}
+
+
+particle::~particle()
+{
+ for(int i=0; i<trails; i++)
+ delete[] vertices[i];
+ delete[] vertices;
+}
+
+
+float particle::update(float *c)
+{
+ int i, p, growth;
+ float rgb[3];
+ float cx, cy, cz; // Containment variables
+ float luminosity;
+ static float expander = 1.0f + 0.0005f * float(_fc->dExpansion);
+ static float blower = 0.001f * float(_fc->dWind);
+ //static float otherxyz[3];
+ float depth = 0;
+
+ // Record old position
+ int oldc = counter;
+ float oldpos[3];
+ oldpos[0] = vertices[oldc][0];
+ oldpos[1] = vertices[oldc][1];
+ oldpos[2] = vertices[oldc][2];
+
+ counter ++;
+ if(counter >= _fc->dTrail)
+ counter = 0;
+
+ // Here's the iterative math for calculating new vertex positions
+ // first calculate limiting terms which keep vertices from constantly
+ // flying off to infinity
+ cx = vertices[oldc][0] * (1.0f - 1.0f / (vertices[oldc][0] * vertices[oldc][0] + 1.0f));
+ cy = vertices[oldc][1] * (1.0f - 1.0f / (vertices[oldc][1] * vertices[oldc][1] + 1.0f));
+ cz = vertices[oldc][2] * (1.0f - 1.0f / (vertices[oldc][2] * vertices[oldc][2] + 1.0f));
+ // then calculate new positions
+ vertices[counter][0] = vertices[oldc][0] + c[6] * offset[0] - cx
+ + c[2] * vertices[oldc][1]
+ + c[5] * vertices[oldc][2];
+ vertices[counter][1] = vertices[oldc][1] + c[6] * offset[1] - cy
+ + c[1] * vertices[oldc][2]
+ + c[4] * vertices[oldc][0];
+ vertices[counter][2] = vertices[oldc][2] + c[6] * offset[2] - cz
+ + c[0] * vertices[oldc][0]
+ + c[3] * vertices[oldc][1];
+
+ // Pick a hue
+ vertices[counter][3] = cx * cx + cy * cy + cz * cz;
+ if(vertices[counter][3] > 1.0f)
+ vertices[counter][3] = 1.0f;
+ vertices[counter][3] += c[7];
+ // Limit the hue (0 - 1)
+ if(vertices[counter][3] > 1.0f)
+ vertices[counter][3] -= 1.0f;
+ if(vertices[counter][3] < 0.0f)
+ vertices[counter][3] += 1.0f;
+ // Pick a saturation
+ vertices[counter][4] = c[0] + vertices[counter][3];
+ // Limit the saturation (0 - 1)
+ if(vertices[counter][4] < 0.0f)
+ vertices[counter][4] = -vertices[counter][4];
+ vertices[counter][4] -= float(int(vertices[counter][4]));
+ vertices[counter][4] = 1.0f - (vertices[counter][4] * vertices[counter][4]);
+
+ // Bring particles back if they escape
+ if(!counter){
+ if((vertices[0][0] > 1000000000.0f) || (vertices[0][0] < -1000000000.0f)
+ || (vertices[0][1] > 1000000000.0f) || (vertices[0][1] < -1000000000.0f)
+ || (vertices[2][2] > 1000000000.0f) || (vertices[0][2] < -1000000000.0f)){
+ vertices[0][0] = myRandf(2.0f) - 1.0f;
+ vertices[0][1] = myRandf(2.0f) - 1.0f;
+ vertices[0][2] = myRandf(2.0f) - 1.0f;
+ }
+ }
+
+ // Draw every vertex in particle trail
+ p = counter;
+ growth = 0;
+ luminosity = _fc->lumdiff;
+ for(i=0; i<_fc->dTrail; i++){
+ p ++;
+ if(p >= _fc->dTrail)
+ p = 0;
+ growth++;
+
+ // assign color to particle
+ hsl2rgb(vertices[p][3], vertices[p][4], luminosity, rgb[0], rgb[1], rgb[2]);
+ glColor3fv(rgb);
+
+ glPushMatrix();
+ if(_fc->dGeometry == 1) // Spheres
+ glTranslatef(vertices[p][0], vertices[p][1], vertices[p][2]);
+ else{ // Points or lights
+ depth = _fc->cosCameraAngle * vertices[p][2] - _fc->sinCameraAngle * vertices[p][0];
+ glTranslatef(_fc->cosCameraAngle * vertices[p][0] + _fc->sinCameraAngle
+ * vertices[p][2], vertices[p][1], depth);
+ }
+ if(_fc->dGeometry){ // Spheres or lights
+ switch(_fc->dTrail - growth){
+ case 0:
+ glScalef(0.259f, 0.259f, 0.259f);
+ break;
+ case 1:
+ glScalef(0.5f, 0.5f, 0.5f);
+ break;
+ case 2:
+ glScalef(0.707f, 0.707f, 0.707f);
+ break;
+ case 3:
+ glScalef(0.866f, 0.866f, 0.866f);
+ break;
+ case 4:
+ glScalef(0.966f, 0.966f, 0.966f);
+ }
+ }
+ switch(_fc->dGeometry){
+ case 0: // Points
+ switch(_fc->dTrail - growth){
+ case 0:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.001036f));
+ break;
+ case 1:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.002f));
+ break;
+ case 2:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.002828f));
+ break;
+ case 3:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.003464f));
+ break;
+ case 4:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.003864f));
+ break;
+ default:
+ glPointSize(float(_fc->dSize * (depth + 200.0f) * 0.004f));
+ }
+ glBegin(GL_POINTS);
+ glVertex3f(0.0f,0.0f,0.0f);
+ glEnd();
+ break;
+ case 1: // Spheres
+ case 2: // Lights
+ glCallList(1);
+ }
+ glPopMatrix();
+ vertices[p][0] *= expander;
+ vertices[p][1] *= expander;
+ vertices[p][2] *= expander;
+ vertices[p][2] += blower;
+ luminosity += _fc->lumdiff;
+ }
+
+ // Find distance between new position and old position and return it
+ oldpos[0] -= vertices[counter][0];
+ oldpos[1] -= vertices[counter][1];
+ oldpos[2] -= vertices[counter][2];
+ return(float(sqrt(oldpos[0] * oldpos[0] + oldpos[1] * oldpos[1] + oldpos[2] * oldpos[2])));
+}
+
+
+// This class is a set of particle trails and constants that enter
+// into their equations of motion.
+class flux
+{
+public:
+
+ flux();
+ ~flux();
+ void update();
+
+ particle *particles;
+ int randomize;
+ float c[NUMCONSTS]; // constants
+ float cv[NUMCONSTS]; // constants' change velocities
+ int currentSmartConstant;
+ float oldDistance;
+};
+
+
+flux::flux()
+{
+ whichparticle = 0;
+
+ particles = new particle[_fc->dParticles];
+ randomize = 1;
+
+ float instability = _fc->dInstability;
+ int i;
+ for(i=0; i<NUMCONSTS; i++)
+ {
+ c[i] = myRandf(2.0f) - 1.0f;
+ cv[i] = myRandf(0.000005f * instability * instability)
+ + 0.000001f * instability * instability;
+ }
+
+ currentSmartConstant = 0;
+ oldDistance = 0.0f;
+}
+
+
+flux::~flux()
+{
+ delete[] particles;
+}
+
+
+void flux::update()
+{
+ int i;
+
+ // randomize constants
+ if(_fc->dRandomize){
+ randomize --;
+ if(randomize <= 0){
+ for(i=0; i<NUMCONSTS; i++)
+ c[i] = myRandf(2.0f) - 1.0f;
+ int temp = 101 - _fc->dRandomize;
+ temp = temp * temp;
+ randomize = temp + myRandi(temp);
+ }
+ }
+
+ // update constants
+ for(i=0; i<NUMCONSTS; i++){
+ c[i] += cv[i];
+ if(c[i] >= 1.0f){
+ c[i] = 1.0f;
+ cv[i] = -cv[i];
+ }
+ if(c[i] <= -1.0f){
+ c[i] = -1.0f;
+ cv[i] = -cv[i];
+ }
+ }
+
+ // update all particles in this flux field
+ float dist;
+ for(i=0; i<_fc->dParticles; i++)
+ dist = particles[i].update(c);
+
+ // use dist from last particle to activate smart constants
+ _fc->dSmart = 0;
+ if(_fc->dSmart){
+ const float upper = 0.4f;
+ const float lower = 0.2f;
+ int beSmart = 0;
+ if(dist > upper && dist > oldDistance)
+ beSmart = 1;
+ if(dist < lower && dist < oldDistance)
+ beSmart = 1;
+ if(beSmart){
+ cv[currentSmartConstant] = -cv[currentSmartConstant];
+ currentSmartConstant ++;
+ if(currentSmartConstant >= _fc->dSmart)
+ currentSmartConstant = 0;
+ }
+ oldDistance = dist;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+FluxWidget::FluxWidget( QWidget* parent, const char* name )
+ : QGLWidget(parent, name), _fluxes(0)
+{
+ setDefaults( Regular );
+
+ _frameTime = 1000 / 60;
+ _timer = new QTimer( this );
+ connect( _timer, SIGNAL(timeout()), this, SLOT(nextFrame()) );
+}
+
+
+FluxWidget::~FluxWidget()
+{
+ // Free memory
+ delete[] _fluxes;
+}
+
+
+void FluxWidget::paintGL()
+{
+ // clear the screen
+ glLoadIdentity();
+
+ if(dBlur) // partially
+ {
+ int viewport[4];
+ glGetIntegerv(GL_VIEWPORT, viewport);
+ float viewRatio = float(viewport[2]) / float(viewport[3]);
+
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
+ glDisable(GL_DEPTH_TEST);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.5f - (float(sqrt(sqrt(double(dBlur)))) * 0.15495f));
+ glBegin(GL_TRIANGLE_STRIP);
+ glVertex3f(-3.0f * viewRatio, -3.0f, 0.0f);
+ glVertex3f(3.0f * viewRatio, -3.0f, 0.0f);
+ glVertex3f(-3.0f * viewRatio, 3.0f, 0.0f);
+ glVertex3f(3.0f * viewRatio, 3.0f, 0.0f);
+ glEnd();
+ }
+ else // completely
+ {
+ glClear(GL_COLOR_BUFFER_BIT);
+ }
+
+ cameraAngle += 0.01f * float(dRotation);
+ if(cameraAngle >= 360.0f)
+ cameraAngle -= 360.0f;
+ if(dGeometry == 1) // Only rotate for spheres
+ glRotatef(cameraAngle, 0.0f, 1.0f, 0.0f);
+ else
+ {
+ cosCameraAngle = cos(cameraAngle * DEG2RAD);
+ sinCameraAngle = sin(cameraAngle * DEG2RAD);
+ }
+
+ // set up blend modes for rendering particles
+ switch(dGeometry)
+ {
+ case 0: // Blending for points
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ glEnable(GL_BLEND);
+ glEnable(GL_POINT_SMOOTH);
+ glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
+ break;
+
+ case 1: // No blending for spheres, but we need z-buffering
+ glDisable(GL_BLEND);
+ glEnable(GL_DEPTH_TEST);
+ glClear(GL_DEPTH_BUFFER_BIT);
+ break;
+
+ case 2: // Blending for lights
+ glBlendFunc(GL_ONE, GL_ONE);
+ glEnable(GL_BLEND);
+ }
+
+ // Update particles
+ if( _fluxes )
+ {
+ _fc = this;
+ int i;
+ for(i=0; i<dFluxes; i++)
+ _fluxes[i].update();
+ }
+
+ glFlush();
+}
+
+
+void FluxWidget::resizeGL( int w, int h )
+{
+ glViewport(0, 0, w, h );
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(100.0, (float) w / (float) h, 0.01, 200);
+ glTranslatef(0.0, 0.0, -2.5);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+}
+
+
+// Window initialization
+void FluxWidget::initializeGL()
+{
+ //resizeGL( width(), height() );
+
+ updateParameters();
+
+ _timer->start( _frameTime, true );
+}
+
+
+#ifdef UNIT_TEST
+void FluxWidget::keyPressEvent( QKeyEvent* e )
+{
+ if( e->key() == Qt::Key_0 ) { setDefaults( 0 ); updateParameters(); }
+ if( e->key() == Qt::Key_1 ) { setDefaults( 1 ); updateParameters(); }
+ if( e->key() == Qt::Key_2 ) { setDefaults( 2 ); updateParameters(); }
+ if( e->key() == Qt::Key_3 ) { setDefaults( 3 ); updateParameters(); }
+ if( e->key() == Qt::Key_4 ) { setDefaults( 4 ); updateParameters(); }
+ if( e->key() == Qt::Key_5 ) { setDefaults( 5 ); updateParameters(); }
+}
+#endif
+
+
+void FluxWidget::nextFrame()
+{
+ updateGL();
+ _timer->start( _frameTime, true );
+}
+
+
+/**
+ May be called at any time - makes no OpenGL calls.
+*/
+void FluxWidget::setDefaults( int which )
+{
+ switch(which)
+ {
+ case Hypnotic:
+ dFluxes = 2;
+ dParticles = 10;
+ dTrail = 40;
+ dGeometry = 2;
+ dSize = 15;
+ dRandomize = 80;
+ dExpansion = 20;
+ dRotation = 0;
+ dWind = 40;
+ dInstability = 10;
+ dBlur = 30;
+ break;
+
+ case Insane:
+ dFluxes = 4;
+ dParticles = 30;
+ dTrail = 8;
+ dGeometry = 2;
+ dSize = 25;
+ dRandomize = 0;
+ dExpansion = 80;
+ dRotation = 60;
+ dWind = 40;
+ dInstability = 100;
+ dBlur = 10;
+ break;
+
+ case Sparklers:
+ dFluxes = 3;
+ dParticles = 20;
+ dTrail = 6;
+ dGeometry = 1;
+ dSize = 20;
+ dComplexity = 3;
+ dRandomize = 85;
+ dExpansion = 60;
+ dRotation = 30;
+ dWind = 20;
+ dInstability = 30;
+ dBlur = 0;
+ break;
+
+ case Paradigm:
+ dFluxes = 1;
+ dParticles = 40;
+ dTrail = 40;
+ dGeometry = 2;
+ dSize = 5;
+ dRandomize = 90;
+ dExpansion = 30;
+ dRotation = 20;
+ dWind = 10;
+ dInstability = 5;
+ dBlur = 10;
+ break;
+
+ case Galactic:
+ dFluxes = 1;
+ dParticles = 2;
+ dTrail = 1500;
+ dGeometry = 2;
+ dSize = 10;
+ dRandomize = 0;
+ dExpansion = 5;
+ dRotation = 25;
+ dWind = 0;
+ dInstability = 5;
+ dBlur = 0;
+ break;
+
+ case Regular:
+ default:
+ dFluxes = 1;
+ dParticles = 20;
+ dTrail = 40;
+ dGeometry = 2;
+ dSize = 15;
+ dRandomize = 0;
+ dExpansion = 40;
+ dRotation = 30;
+ dWind = 20;
+ dInstability = 20;
+ dBlur = 0;
+ break;
+ }
+}
+
+
+/**
+ Called after dGeometry, dTrail, or dFluxes is changed
+ (such as with setDefaults).
+*/
+void FluxWidget::updateParameters()
+{
+ int i, j;
+ float x, y, temp;
+
+ srand((unsigned)time(NULL));
+ rand(); rand(); rand(); rand(); rand();
+
+ cameraAngle = 0.0f;
+
+ glFrontFace(GL_CCW);
+ glEnable(GL_CULL_FACE);
+ glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ if(dGeometry == 0)
+ {
+ glDisable(GL_LIGHTING);
+ glDisable(GL_COLOR_MATERIAL);
+ glDisable(GL_TEXTURE_2D);
+
+ glEnable(GL_POINT_SMOOTH);
+ //glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
+ }
+ else if(dGeometry == 1) // Spheres and their lighting
+ {
+ glNewList(1, GL_COMPILE);
+ GLUquadricObj* qobj = gluNewQuadric();
+ gluSphere(qobj, 0.005f * dSize, dComplexity + 2, dComplexity + 1);
+ gluDeleteQuadric(qobj);
+ glEndList();
+
+ glDisable(GL_TEXTURE_2D);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ float ambient[4] = {0.0f, 0.0f, 0.0f, 0.0f};
+ float diffuse[4] = {1.0f, 1.0f, 1.0f, 0.0f};
+ float specular[4] = {1.0f, 1.0f, 1.0f, 0.0f};
+ float position[4] = {500.0f, 500.0f, 500.0f, 0.0f};
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT0, GL_SPECULAR, specular);
+ glLightfv(GL_LIGHT0, GL_POSITION, position);
+ glEnable(GL_COLOR_MATERIAL);
+ glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
+ }
+ else if(dGeometry == 2) // Init lights
+ {
+ for(i=0; i<LIGHTSIZE; i++)
+ {
+ for(j=0; j<LIGHTSIZE; j++)
+ {
+ x = float(i - LIGHTSIZE / 2) / float(LIGHTSIZE / 2);
+ y = float(j - LIGHTSIZE / 2) / float(LIGHTSIZE / 2);
+ temp = 1.0f - float(sqrt((x * x) + (y * y)));
+ if(temp > 1.0f)
+ temp = 1.0f;
+ if(temp < 0.0f)
+ temp = 0.0f;
+ lightTexture[i][j] = (unsigned char) (255.0f * temp * temp);
+ }
+ }
+
+ glDisable(GL_LIGHTING);
+ glDisable(GL_COLOR_MATERIAL);
+
+ glEnable(GL_TEXTURE_2D);
+ glBindTexture(GL_TEXTURE_2D, 1);
+ glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexImage2D(GL_TEXTURE_2D, 0, 1, LIGHTSIZE, LIGHTSIZE, 0,
+ GL_LUMINANCE, GL_UNSIGNED_BYTE, lightTexture);
+
+ temp = float(dSize) * 0.005f;
+ glNewList(1, GL_COMPILE);
+ glBindTexture(GL_TEXTURE_2D, 1);
+ glBegin(GL_TRIANGLES);
+ glTexCoord2f(0.0f, 0.0f);
+ glVertex3f(-temp, -temp, 0.0f);
+ glTexCoord2f(1.0f, 0.0f);
+ glVertex3f(temp, -temp, 0.0f);
+ glTexCoord2f(1.0f, 1.0f);
+ glVertex3f(temp, temp, 0.0f);
+ glTexCoord2f(0.0f, 0.0f);
+ glVertex3f(-temp, -temp, 0.0f);
+ glTexCoord2f(1.0f, 1.0f);
+ glVertex3f(temp, temp, 0.0f);
+ glTexCoord2f(0.0f, 1.0f);
+ glVertex3f(-temp, temp, 0.0f);
+ glEnd();
+ glEndList();
+ }
+
+ // Initialize luminosity difference
+ lumdiff = 1.0f / float(dTrail);
+
+ _fc = this;
+ delete[] _fluxes;
+ _fluxes = new flux[dFluxes];
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#ifndef UNIT_TEST
+#include <klocale.h>
+#include <kglobal.h>
+#include <kconfig.h>
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char* kss_applicationName = "kflux.kss";
+ KDE_EXPORT const char* kss_description = I18N_NOOP( "Flux" );
+ KDE_EXPORT const char* kss_version = "1.0";
+
+ KDE_EXPORT KScreenSaver* kss_create( WId id )
+ {
+ return new KFluxScreenSaver( id );
+ }
+
+ KDE_EXPORT QDialog* kss_setup()
+ {
+ return new KFluxSetup;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+KFluxScreenSaver::KFluxScreenSaver( WId id ) : KScreenSaver( id )
+{
+ _flux = new FluxWidget;
+
+ readSettings();
+
+ embed( _flux );
+ _flux->show();
+}
+
+
+KFluxScreenSaver::~KFluxScreenSaver()
+{
+}
+
+
+static int filterRandom( int n )
+{
+ if( (n < 0) || (n >= FluxWidget::DefaultModes) )
+ {
+ srand((unsigned)time(NULL));
+ n = rand() % FluxWidget::DefaultModes;
+ }
+ return n;
+}
+
+
+void KFluxScreenSaver::readSettings()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ _mode = config->readNumEntry( "Mode", FluxWidget::Regular );
+ _flux->setDefaults( filterRandom(_mode) );
+}
+
+
+/**
+ Any invalid mode will select one at random.
+*/
+void KFluxScreenSaver::setMode( int id )
+{
+ _mode = id;
+ _flux->setDefaults( filterRandom(id) );
+ _flux->updateParameters();
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <kbuttonbox.h>
+#include <kmessagebox.h>
+
+
+static const char* defaultText[] =
+{
+ I18N_NOOP( "Regular" ),
+ I18N_NOOP( "Hypnotic" ),
+ I18N_NOOP( "Insane" ),
+ I18N_NOOP( "Sparklers" ),
+ I18N_NOOP( "Paradigm" ),
+ I18N_NOOP( "Galactic" ),
+ I18N_NOOP( "(Random)" ),
+ 0
+};
+
+
+KFluxSetup::KFluxSetup( QWidget* parent, const char* name )
+ : KDialogBase( parent, name, true, i18n( "Setup Flux Screen Saver" ),
+ Ok|Cancel|Help, Ok, true )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout* top = new QHBoxLayout( main, 0, spacingHint() );
+ QVBoxLayout* leftCol = new QVBoxLayout;
+ top->addLayout( leftCol );
+
+ // Parameters
+ QLabel* label = new QLabel( i18n("Mode:"), main );
+ leftCol->addWidget( label );
+
+ modeW = new QComboBox( main );
+ int i = 0;
+ while (defaultText[i])
+ modeW->insertItem( i18n(defaultText[i++]) );
+ leftCol->addWidget( modeW );
+
+ leftCol->addStretch();
+
+ // Preview
+ QWidget* preview;
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 165 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ _saver = new KFluxScreenSaver( preview->winId() );
+ top->addWidget(preview);
+
+ // Now that we have _saver...
+ modeW->setCurrentItem( _saver->mode() ); // set before we connect
+ connect( modeW, SIGNAL(activated(int)), _saver, SLOT(setMode(int)) );
+}
+
+
+KFluxSetup::~KFluxSetup()
+{
+ delete _saver;
+}
+
+
+void KFluxSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Flux 1.0</h3>\n<p>Copyright (c) 2002 Terence M. Welsh<br>\n<a href=\"http://www.reallyslick.com/\">http://www.reallyslick.com/</a></p>\n\n<p>Ported to KDE by Karl Robillard</p>"),
+ QString::null, KMessageBox::AllowLink);
+}
+
+
+/**
+ Ok pressed - save settings and exit
+*/
+void KFluxSetup::slotOk()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ QString val;
+ val.setNum( modeW->currentItem() );
+ config->writeEntry("Mode", val );
+
+ config->sync();
+ accept();
+}
+#endif
+
+
+//----------------------------------------------------------------------------
+
+
+#ifdef UNIT_TEST
+// moc Flux.h -o Flux.moc
+// g++ -g -DUNIT_TEST Flux.cpp -I/usr/lib/qt3/include -lqt -L/usr/lib/qt3/lib -lGLU -lGL
+
+#include <qapplication.h>
+
+int main( int argc, char** argv )
+{
+ QApplication app( argc, argv );
+
+ FluxWidget w;
+ w.setDefaults( FluxWidget::Sparklers );
+ app.setMainWidget( &w );
+ w.show();
+
+ return app.exec();
+}
+#endif
+
+
+//EOF
diff --git a/kscreensaver/kdesavers/Flux.h b/kscreensaver/kdesavers/Flux.h
new file mode 100644
index 00000000..7fe20172
--- /dev/null
+++ b/kscreensaver/kdesavers/Flux.h
@@ -0,0 +1,147 @@
+#ifndef __FLUXSS_H__
+#define __FLUXSS_H__
+//============================================================================
+//
+// Terence Welsh Screensaver - Flux
+// http://www.reallyslick.com/
+//
+// Ported to KDE by Karl Robillard
+//
+//============================================================================
+
+
+#include <qgl.h>
+
+
+#define LIGHTSIZE 64
+
+
+class flux;
+class particle;
+class QTimer;
+
+class FluxWidget : public QGLWidget
+{
+ Q_OBJECT
+
+public:
+
+ enum eDefault
+ {
+ Regular,
+ Hypnotic,
+ Insane,
+ Sparklers,
+ Paradigm,
+ Galactic,
+ DefaultModes
+ };
+
+ FluxWidget( QWidget* parent=0, const char* name=0 );
+ ~FluxWidget();
+
+ void setDefaults( int which );
+ void updateParameters();
+
+protected:
+
+ void paintGL();
+ void resizeGL( int w, int h );
+ void initializeGL();
+#ifdef UNIT_TEST
+ void keyPressEvent( QKeyEvent* );
+#endif
+
+private slots:
+
+ void nextFrame();
+
+private:
+
+ float lumdiff;
+ float cameraAngle;
+ float cosCameraAngle, sinCameraAngle;
+ unsigned char lightTexture[LIGHTSIZE][LIGHTSIZE];
+
+ int dFluxes;
+ int dParticles;
+ int dTrail;
+ int dGeometry;
+ float dSize;
+ int dComplexity;
+ int dRandomize;
+ int dExpansion;
+ int dRotation;
+ int dWind;
+ float dInstability;
+ int dBlur;
+ int dSmart;
+ int dPriority;
+
+ flux* _fluxes;
+
+ // Using QTimer rather than timerEvent() to avoid getting locked out of
+ // the QEvent loop on lower-end systems. Ian Geiser <geiseri@kde.org>
+ // says this is the way to go.
+ QTimer* _timer;
+ int _frameTime;
+
+ friend class flux;
+ friend class particle;
+};
+
+
+#ifndef UNIT_TEST
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+
+class KFluxScreenSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+public:
+
+ KFluxScreenSaver( WId id );
+ virtual ~KFluxScreenSaver();
+
+ int mode() const { return _mode; }
+
+public slots:
+
+ void setMode( int );
+
+private:
+
+ void readSettings();
+
+ FluxWidget* _flux;
+ int _mode;
+};
+
+
+class QComboBox;
+
+class KFluxSetup : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+
+ KFluxSetup( QWidget* parent = 0, const char* name = 0 );
+ ~KFluxSetup();
+
+private slots:
+
+ void slotHelp();
+ void slotOk();
+
+private:
+
+ QComboBox* modeW;
+ KFluxScreenSaver* _saver;
+};
+#endif
+
+
+#endif //__FLUXSS_H__
diff --git a/kscreensaver/kdesavers/KBanner.desktop b/kscreensaver/kdesavers/KBanner.desktop
new file mode 100644
index 00000000..cfc11caf
--- /dev/null
+++ b/kscreensaver/kdesavers/KBanner.desktop
@@ -0,0 +1,243 @@
+[Desktop Entry]
+Exec=kbanner.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Banners & Pictures
+Name=Banner
+Name[af]=Bannier
+Name[bg]=Банер
+Name[br]=Lugan
+Name[ca]=Rètol
+Name[cs]=Běžící text
+Name[cy]=Baner
+Name[de]=Lauftext
+Name[el]=Τίτλος
+Name[eo]=Standardo
+Name[es]=Pancarta
+Name[et]=Tekstiriba
+Name[eu]=Titularra
+Name[fa]=بنر
+Name[fi]=Viesti
+Name[fr]=Bannière
+Name[fy]=Ljochtkrante
+Name[ga]=Meirge
+Name[gl]=Pancarta
+Name[he]=כתובית
+Name[hi]=बैनर
+Name[hu]=Felirat
+Name[is]=Borði
+Name[it]=Testo scorrevole
+Name[ja]=バナー
+Name[ka]=აბრა
+Name[lt]=Plakatas
+Name[lv]=Banners
+Name[mk]=Транспарент
+Name[ms]=Kain Rentang
+Name[nds]=Looptext
+Name[ne]=ब्यानर
+Name[nl]=Lichtkrant
+Name[nn]=Fane
+Name[pa]=ਬੈਨਰ
+Name[pt]=Cartaz
+Name[ru]=Бегущая строка
+Name[sl]=Napis
+Name[sr]=Застава
+Name[sr@Latn]=Zastava
+Name[sv]=Rubrik
+Name[ta]=பேனர்
+Name[tg]=Давида истодаи рах
+Name[th]=แบนเนอร์
+Name[tr]=Afiş
+Name[uk]=Транспарант
+Name[ven]=Muvhala
+Name[vi]=Biểu ngữ
+Name[xh]=Isiqwentshu selaphu
+Name[zh_CN]=横幅
+Name[zh_TW]=標誌
+Name[zu]=Ibhodi elinomyalezo
+
+[Desktop Action Setup]
+Exec=kbanner.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kbanner.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kbanner.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KBlob.desktop b/kscreensaver/kdesavers/KBlob.desktop
new file mode 100644
index 00000000..13aaba1b
--- /dev/null
+++ b/kscreensaver/kdesavers/KBlob.desktop
@@ -0,0 +1,227 @@
+[Desktop Entry]
+Exec=kblob.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Visit to Flatland
+Name=Blob
+Name[bg]=Петно
+Name[br]=Pokard
+Name[cs]=Kaňka
+Name[cy]=Smotyn
+Name[da]=Dråbe
+Name[de]=Blob 
+Name[eo]=Gutoj
+Name[et]=Piisk
+Name[eu]=Tanta
+Name[fi]=Kuplat
+Name[he]=כתמים
+Name[hi]=ब्लॉब
+Name[ja]=斑点
+Name[ka]=წვეთები
+Name[lt]=Rutuliukas
+Name[mk]=Дамка
+Name[nb]=Fargeflekk
+Name[ne]=ब्लब
+Name[nn]=Klattar
+Name[pl]=Bąbel
+Name[ro]=Bule
+Name[ru]=Геометрические построения
+Name[sl]=Kepica
+Name[sr]=Блоб
+Name[sv]=Färgfläck
+Name[ta]=தொழிற்பொருள்
+Name[tg]=Асос гузории геометрӣ
+Name[th]=รอยเปื้อน
+Name[tr]=Damlacık
+Name[uk]=Геометричні візерунки
+Name[ven]=Tshileme
+Name[vi]=Giọt nước
+Name[xh]=Ichaphaza elincinane
+Name[zh_CN]=光线
+Name[zh_TW]=斑點
+
+[Desktop Action Setup]
+Exec=kblob.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kblob.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kblob.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KClock.desktop b/kscreensaver/kdesavers/KClock.desktop
new file mode 100644
index 00000000..78a82d76
--- /dev/null
+++ b/kscreensaver/kdesavers/KClock.desktop
@@ -0,0 +1,252 @@
+[Desktop Entry]
+Exec=kclock.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Miscellaneous
+Name=Clock
+Name[bg]=Часовник
+Name[br]=Eurier
+Name[bs]=Sat
+Name[ca]=Rellotge
+Name[cs]=Hodiny
+Name[cy]=Cloc
+Name[da]=Ur
+Name[de]=Uhr
+Name[el]=Ρολόι
+Name[eo]=Horloĝo
+Name[es]=Reloj
+Name[et]=Kell
+Name[eu]=Erlojua
+Name[fa]=ساعت
+Name[fi]=Kello
+Name[fr]=Horloge
+Name[fy]=Klok
+Name[ga]=Clog
+Name[gl]=Reloxio
+Name[he]=שעון
+Name[hi]=घड़ी
+Name[hu]=Óra
+Name[is]=Klukka
+Name[it]=Orologio
+Name[ja]=時計
+Name[ka]=საათი
+Name[lt]=Laikrodis
+Name[lv]=Pulkstenis
+Name[mk]=Часовник
+Name[ms]=Jam
+Name[nb]=Klokke
+Name[nds]=Klock
+Name[ne]=घडी
+Name[nl]=Klok
+Name[nn]=Klokke
+Name[pa]=ਘੜੀ
+Name[pl]=Zegar
+Name[pt]=Relógio
+Name[pt_BR]=Relógio
+Name[ro]=Ceas
+Name[ru]=Часы
+Name[rw]=Isaha
+Name[sk]=Hodiny
+Name[sl]=Ura
+Name[sr]=Часовник
+Name[sr@Latn]=Časovnik
+Name[sv]=Klocka
+Name[ta]=கடிகாரம்
+Name[tg]=Соат
+Name[th]=นาฬิกา
+Name[tr]=Saat
+Name[uk]=Годинник
+Name[uz]=Soat
+Name[uz@cyrillic]=Соат
+Name[ven]=Tshifhinga
+Name[vi]=Đồng hồ
+Name[xh]=Ikloko
+Name[zh_CN]=时钟
+Name[zh_TW]=時鐘
+Name[zu]=Iwashi
+
+[Desktop Action Setup]
+Exec=kclock.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kclock.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kclock.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KEuphoria.desktop b/kscreensaver/kdesavers/KEuphoria.desktop
new file mode 100644
index 00000000..8b62da28
--- /dev/null
+++ b/kscreensaver/kdesavers/KEuphoria.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=keuphoria.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Euphoria (GL)
+Name[bg]=Еуфория
+Name[ca]=Eufòria (GL)
+Name[cy]=Iwfforia (GL)
+Name[da]=Eufori (GL)
+Name[de]=Euphorie
+Name[el]=Ευφορία (GL)
+Name[es]=Euforia (GL)
+Name[et]=Eufooria (GL)
+Name[eu]=Euforia (GL)
+Name[fa]=شادی (GL)
+Name[fr]=Euphorie (GL)
+Name[he]=אופוריה (GL)
+Name[hi]=परम आनंद (जीएल)
+Name[hu]=Euphoria (OpenGL)
+Name[it]=Euforia (GL)
+Name[ja]=幸福 (GL)
+Name[ka]=ეიფორია (GL)
+Name[mk]=Еуфорија (GL)
+Name[mt]=Ewforija (GL)
+Name[nb]=Eufori (GL)
+Name[nds]=Euphorie (GL)
+Name[ne]=यूफोरिया (GL)
+Name[nn]=Rom (GL)
+Name[pl]=Euforia (GL)
+Name[pt]=Euforia (GL)
+Name[pt_BR]=Euforia (GL)
+Name[ro]=Euforia (GL)
+Name[ru]=Эйфория (GL)
+Name[sl]=Evforija (GL)
+Name[sr]=Еуфорија (GL)
+Name[sr@Latn]=Euforija (GL)
+Name[sv]=Eufori (GL)
+Name[ta]=மகிழ்ச்சி(GL)
+Name[tg]=Кайфчоқӣ (GL)
+Name[th]=ยูโฟเรีย (GL)
+Name[uk]=Ейфорія (GL)
+Name[uz]=Eyforiya (GL)
+Name[uz@cyrillic]=Эйфория (GL)
+Name[vi]=Trạng thái phởn phơ (GL)
+Name[zh_CN]=陶醉(GL)
+
+[Desktop Action Setup]
+Exec=keuphoria.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=keuphoria.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=keuphoria.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KFiresaver.desktop b/kscreensaver/kdesavers/KFiresaver.desktop
new file mode 100644
index 00000000..14946cc9
--- /dev/null
+++ b/kscreensaver/kdesavers/KFiresaver.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=kfiresaver.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Fireworks 3D (GL)
+Name[bg]=Фойерверки
+Name[ca]=Focs d'artifici 3D (GL)
+Name[cs]=Ohňostroj (GL)
+Name[de]=Feuerwerk
+Name[el]=Βεγγαλικά (GL)
+Name[es]=Fuegos artificiales 3D (GL)
+Name[et]=Tulevärk 3D (GL)
+Name[eu]=Su artifizialak 3D (GL)
+Name[fa]=آتش‌بازیهای سه بعدی (GL)
+Name[fi]=Ilotulitus 3D (GL)
+Name[fr]=Feux d'artifices 3D (GL)
+Name[fy]=Fjoerwurk 3D (GL)
+Name[ga]=Fireworks 3T (GL)
+Name[gl]=Fogos de artifício 3D (GL)
+Name[he]=זיקוקי דינור (GL)
+Name[hi]=आतिशबाज़ी 3डी (जीएल)
+Name[hu]=Tűzijáték 3D (OpenGL)
+Name[is]=Flugeldar 3D (GL)
+Name[it]=Fuochi d'artificio 3D (GL)
+Name[ja]=花火 3D (GL)
+Name[ka]=ფეიერვერკი (GL)
+Name[mk]=Огномет 3Д (GL)
+Name[nb]=Fyrverkeri 3D (GL)
+Name[nds]=Füerwark (GL)
+Name[ne]=त्रि-आयामिक फाएरवर्क्स (GL)
+Name[nn]=Fyrverkeri 3D (GL)
+Name[pl]=Sztuczne ognie 3D (GL)
+Name[pt]=Fogo de Artifício 3D (GL)
+Name[ro]=Focuri de artificii 3D (GL)
+Name[ru]=Фейерверк (GL)
+Name[sl]=Ognjemet 3D (GL)
+Name[sr]=Ватромети 3Д (GL)
+Name[sr@Latn]=Vatrometi 3D (GL)
+Name[sv]=Fyrverkeri 3D (GL)
+Name[tg]=Оташи тарф (GL)
+Name[tr]=3B Havai Fişekler (GL)
+Name[uk]=Феєрверк 3D (GL)
+Name[vi]=Pháo hoa 3 chiều (GL)
+Name[zh_CN]=三维烟花(GL)
+Name[zh_TW]=3D 煙火秀 (GL)
+
+[Desktop Action Setup]
+Exec=kfiresaver.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kfiresaver.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kfiresaver.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KFlux.desktop b/kscreensaver/kdesavers/KFlux.desktop
new file mode 100644
index 00000000..a431e385
--- /dev/null
+++ b/kscreensaver/kdesavers/KFlux.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=kflux.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Flux (GL)
+Name[bg]=Прилив
+Name[cy]=Dylif (GL)
+Name[de]=Flux
+Name[el]=Ροή (GL)
+Name[es]=Flujo (GL)
+Name[fa]=شار (GL)
+Name[fy]=Fluks (GL)
+Name[gl]=Fluxo (GL)
+Name[he]=שטף (GL)
+Name[hi]=लहर-लहर (जीएल)
+Name[hu]=Flux (OpenGL)
+Name[it]=Flusso (GL)
+Name[ja]=流れ (GL)
+Name[ka]=ფლუქტუაცია (GL)
+Name[mk]=Флукс (GL)
+Name[nb]=Fluks (GL)
+Name[ne]=फ्लक्स (GL)
+Name[nn]=Pulsar (GL)
+Name[pt]=Fluxo (GL)
+Name[pt_BR]=Fluxo (GL)
+Name[ru]=Флуктуации (GL)
+Name[sl]=Pretok (GL)
+Name[sr]=Флукс (GL)
+Name[sr@Latn]=Fluks (GL)
+Name[ta]=மாற்றம்(GL)
+Name[tg]=Флуктуатсияи (GL)
+Name[uk]=Флюксія (GL)
+Name[uz]=Oqim (GL)
+Name[uz@cyrillic]=Оқим (GL)
+Name[vi]=Dòng chảy (GL)
+Name[zh_CN]=流动(GL)
+
+[Desktop Action Setup]
+Exec=kflux.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kflux.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kflux.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KFountain.desktop b/kscreensaver/kdesavers/KFountain.desktop
new file mode 100644
index 00000000..cb9ada0b
--- /dev/null
+++ b/kscreensaver/kdesavers/KFountain.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=kfountain.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Particle Fountain (GL)
+Name[af]=Deeltjie Fontein (Gl)
+Name[bg]=Източник на частици
+Name[ca]=Font de partícules (GL)
+Name[cs]=Částicová fontána (GL)
+Name[cy]=Ffynnon Gronyn (GL)
+Name[da]=Partikelbrønd (GL)
+Name[de]=Partikelfontäne
+Name[el]=Σιντριβάνι σωματιδίων (GL)
+Name[eo]=Erofontano
+Name[es]=Fuente de partículas (GL)
+Name[et]=Osakeste Fontään (GL)
+Name[eu]=Partikula iturria (GL)
+Name[fa]=منشأ ذره (GL)
+Name[fi]=Hiukkaslähde (GL)
+Name[fr]=Fontaine de particules (GL)
+Name[fy]=Dieltsjesfontein (GL)
+Name[gl]=Fonte de partículas (GL)
+Name[he]=מזרקת חלקיקים (GL)
+Name[hi]=अणु निर्झर (जीएल)
+Name[hu]=Szökőkút (OpenGL)
+Name[is]=Eindagosbrunnur (GL)
+Name[it]=Fontana di particelle (GL)
+Name[ja]=粒子の泉 (GL)
+Name[ka]=შადრევანი (GL)
+Name[lt]=Dalelių fontanas (GL)
+Name[lv]=Kripatiņu Strūklaka (GL)
+Name[mk]=Фонтана од честички (GL)
+Name[mt]=Funtana ta' partiċelli (GL)
+Name[nb]=Partikkelfontene (GL)
+Name[nds]=Deeltjeblaser (GL)
+Name[ne]=पार्टिकल फाउन्टेन (GL)
+Name[nl]=Deeltjes-fontijn (GL)
+Name[nn]=Partikkelfontene (GL)
+Name[pl]=Fontanna cząstek (GL)
+Name[pt]=Fonte de Partículas (GL)
+Name[pt_BR]=Fonte de Partículas (GL)
+Name[ro]=Fîntînă de particule (GL)
+Name[ru]=Фонтан частиц (GL)
+Name[sk]=Fontána častíc (GL)
+Name[sl]=Vodnjak delcev (GL)
+Name[sr]=Фонтана честица (GL)
+Name[sr@Latn]=Fontana čestica (GL)
+Name[sv]=Partikelfontän (GL)
+Name[ta]=பொருள் ஊற்று (GL)
+Name[tg]=Қисми фаввораи (GL)
+Name[th]=ละอองน้ำ (GL)
+Name[tr]=Parçacık Şelalesi (GL)
+Name[uk]=Фонтан частинок (GL)
+Name[uz]=Zarrachalar favvorasi (GL)
+Name[uz@cyrillic]=Заррачалар фаввораси (GL)
+Name[ven]=Tshisima tsha Zwithu nyana (GL)
+Name[vi]=Đài phun Hạt (GL)
+Name[xh]=Umthombo Womhlaba (GL)
+Name[zh_CN]=粒子喷泉(GL)
+Name[zh_TW]=粒子噴泉 (GL)
+Name[zu]=Ingxenye encane yomfudlana (GL)
+
+[Desktop Action Setup]
+Exec=kfountain.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kfountain.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kfountain.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KGravity.desktop b/kscreensaver/kdesavers/KGravity.desktop
new file mode 100644
index 00000000..16981acd
--- /dev/null
+++ b/kscreensaver/kdesavers/KGravity.desktop
@@ -0,0 +1,253 @@
+[Desktop Entry]
+Exec=kgravity.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Gravity (GL)
+Name[af]=Gravitasie (Gl)
+Name[bg]=Гравитация
+Name[br]=Dedennerezh (GL)
+Name[ca]=Gravetat (GL)
+Name[cs]=Gravitace (GL)
+Name[cy]=Disgyrchiant (GL)
+Name[da]=Tyngdekraft (GL)
+Name[de]=Schwerkraft
+Name[el]=Βαρύτητα (GL)
+Name[eo]=Gravito
+Name[es]=Gravedad (GL)
+Name[et]=Raskusjõud (GL)
+Name[eu]=Grabitatea (GL)
+Name[fa]=جاذبه (GL)
+Name[fi]=Gravitaatio (GL)
+Name[fo]=Tyngd (GL)
+Name[fr]=Gravité (GL)
+Name[fy]=Swiertekrêft (GL)
+Name[gl]=Gravidade (GL)
+Name[he]=חלקיקים (GL)
+Name[hi]=गुरूत्व (जीएल)
+Name[hu]=Gravitáció (OpenGL)
+Name[is]=Þyngdarafl (GL)
+Name[it]=Gravità (GL)
+Name[ja]=重力 (GL)
+Name[ka]=მიზიდულობა (GL)
+Name[lt]=Trauka (GL)
+Name[lv]=Gravitācija (GL)
+Name[mk]=Гравитација (GL)
+Name[ms]=Graviti (GL)
+Name[mt]=Gravità (GL)
+Name[nb]=Gravitasjon (GL)
+Name[nds]=Swoorkraft (GL)
+Name[ne]=गुरुत्व (GL)
+Name[nl]=Zwaartekracht (GL)
+Name[nn]=Tyngdekraft (GL)
+Name[pl]=Grawitacja (GL)
+Name[pt]=Gravidade (GL)
+Name[pt_BR]=Gravidade (GL)
+Name[ro]=Gravitaţie (GL)
+Name[ru]=Гравитация (GL)
+Name[sk]=Gravitácia (GL)
+Name[sl]=Gravitacija (GL)
+Name[sr]=Гравитација (GL)
+Name[sr@Latn]=Gravitacija (GL)
+Name[sv]=Gravitation (GL)
+Name[ta]=புவியிர்ப்பு(GL)
+Name[tg]=Ҷозибаи (GL)
+Name[th]=แรงดึงดูด (GL)
+Name[tr]=Yerçekimi (GL)
+Name[uk]=Гравітація (GL)
+Name[uz]=Gravitatsiya (GL)
+Name[uz@cyrillic]=Гравитация (GL)
+Name[ven]=Fhasi Mavuni (GL)
+Name[vi]=Trọng trường (GL)
+Name[xh]=Umoya otsala izinto kumbindi womhlaba (GL)
+Name[zh_CN]=重力(GL)
+Name[zh_TW]=重力 (GL)
+Name[zu]=Amandla adonsela emhlabeni (GL)
+
+
+[Desktop Action Setup]
+Exec=kgravity.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kgravity.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kgravity.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KLines-saver.desktop b/kscreensaver/kdesavers/KLines-saver.desktop
new file mode 100644
index 00000000..1f5f6e99
--- /dev/null
+++ b/kscreensaver/kdesavers/KLines-saver.desktop
@@ -0,0 +1,255 @@
+[Desktop Entry]
+Exec=klines.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Flying Things
+Name=Lines
+Name[af]=Lyne
+Name[bg]=Линии
+Name[br]=Linennoù
+Name[ca]=Línies
+Name[cs]=Linie
+Name[cy]=Llinellau
+Name[da]=Linjer
+Name[de]=Linien
+Name[el]=Γραμμές
+Name[eo]=Linioj
+Name[es]=Líneas
+Name[et]=Jooned
+Name[eu]=Lerroak
+Name[fa]=خطوط
+Name[fi]=Viivat
+Name[fo]=Reglur
+Name[fr]=Lignes
+Name[fy]=Linen
+Name[ga]=Línte
+Name[gl]=Liñas
+Name[he]=קווים
+Name[hi]= लकीरें
+Name[hu]=Vonalak
+Name[is]=Línur
+Name[it]=Linee
+Name[ja]=線
+Name[ka]=წრფეები
+Name[lt]=Linijos
+Name[lv]=Līnijas
+Name[mk]=Прави
+Name[ms]=Baris
+Name[mt]=Linji
+Name[nb]=Linjer
+Name[nds]=Lienen
+Name[ne]=पङ्क्ति
+Name[nl]=Lijnen
+Name[nn]=Linjer
+Name[nso]=Methalo
+Name[pa]=ਰੇਖਾਵਾਂ
+Name[pl]=Linie
+Name[pt]=Linhas
+Name[pt_BR]=Linhas
+Name[ro]=Linii
+Name[ru]=Линии
+Name[sk]=Čiary
+Name[sl]=Črte
+Name[sr]=Линије
+Name[sr@Latn]=Linije
+Name[sv]=Linjer
+Name[ta]=கம்பிகள்
+Name[tg]=Рахҳо
+Name[th]=เส้น
+Name[tr]=Çizgiler
+Name[uk]=Лінії
+Name[uz]=Chiziqlar
+Name[uz@cyrillic]=Чизиқлар
+Name[ven]=Mitalo
+Name[vi]=Dòng kẻ
+Name[xh]=Iilayini
+Name[zh_CN]=线条
+Name[zh_TW]=線條
+Name[zu]=Olayini
+
+[Desktop Action Setup]
+Exec=klines.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=klines.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=klines.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+X-DCOP-ServiceType=Multi
diff --git a/kscreensaver/kdesavers/KLorenz.desktop b/kscreensaver/kdesavers/KLorenz.desktop
new file mode 100644
index 00000000..e8a94651
--- /dev/null
+++ b/kscreensaver/kdesavers/KLorenz.desktop
@@ -0,0 +1,244 @@
+[Desktop Entry]
+Exec=klorenz.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Gadgets & Simulations
+Name=Lorenz Attractor
+Name[af]=Lorenz Aantrekker
+Name[bg]=Лоренцо
+Name[br]=Dedenner Lorenz
+Name[cs]=Lorenzův atraktor
+Name[cy]=Attynydd Lorenz
+Name[da]=Lorenz-attraktor
+Name[de]=Lorenz-Attraktor
+Name[el]=Ελκυστής Lorenz
+Name[eo]=Lorenza atraktoro
+Name[es]=Atractor de Lorenz
+Name[et]=Lorenzi atraktor
+Name[eu]=Lorenz erakarlea
+Name[fa]=ربایندۀ Lorenz
+Name[fi]=Lorentz attraktori
+Name[fo]=Lorenz attractor
+Name[fr]=Attracteur de Lorentz
+Name[fy]=Lorenz Oanlûker
+Name[gl]=Atractor Caótico de Lorenz
+Name[he]=מושך לורנץ
+Name[hi]=आठ एकम आठ
+Name[hu]=Lorenz-féle képernyővédő
+Name[is]=Lorenz aðdráttur
+Name[it]=Attrattore di Lorenz
+Name[ja]=ローレンツアトラクタ
+Name[ka]=ლორენცის მიზიდულობა
+Name[lv]=Lorensa Attraktors
+Name[mk]=Лоренцов атрактор
+Name[mt]=Attrattur Lorenz
+Name[nb]=Lorenz-attraktor
+Name[nds]=Lorenz-Antrecker
+Name[ne]=लरेन्ज आकर्षक
+Name[nn]=Lorenz-tiltrekking
+Name[pl]=Atraktor Lorenza
+Name[pt]=Força de Lorenz
+Name[pt_BR]=Atração Lorenz
+Name[ro]=Atracţie Lorenz
+Name[ru]=Странный аттрактор Лоренца
+Name[sl]=Lorenzov atraktor
+Name[sr]=Лоренцов атрактор
+Name[sr@Latn]=Lorencov atraktor
+Name[sv]=Lorenz attraktor
+Name[ta]=லோரன்ஸ் கவர்பவர்
+Name[tg]=Аттракти аҷоиби Лоренс
+Name[th]=สิ่งที่น่าดึงดูดของลอเรนซ์
+Name[tr]=Cazibe
+Name[uk]=Притягнення Лоренца
+Name[ven]=Tshikokodzi tsha Lorenz
+Name[vi]=Điểm hút Lorenz
+Name[xh]=Umtsali we Lorenz
+Name[zh_CN]=洛仑兹吸引子
+Name[zh_TW]=Lorenz 吸引者
+Name[zu]=Umhehi we-Lorenz
+
+[Desktop Action Setup]
+Exec=klorenz.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=klorenz.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=klorenz.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KPendulum.desktop b/kscreensaver/kdesavers/KPendulum.desktop
new file mode 100644
index 00000000..0361dea2
--- /dev/null
+++ b/kscreensaver/kdesavers/KPendulum.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=kpendulum.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=KPendulum (GL)
+Name[bg]=Махало
+Name[cs]=Kyvadlo
+Name[de]=KPendulum
+Name[el]=Εκκρεμές (GL)
+Name[fr]=Pendule (GL)
+Name[hi]=के-पेंडुलम (जीएल)
+Name[hu]=KPendulum (OpenGL)
+Name[is]=Pendúlar (GL)
+Name[it]=KPendolo (GL)
+Name[ja]=振り子 (GL)
+Name[ka]=ქანქარა (GL)
+Name[mk]=КНишало (GL)
+Name[nb]=KPendel (GL)
+Name[nds]=Pennel (GL)
+Name[ne]=केडीई पेन्डुलम (GL)
+Name[nn]=KPendel (GL)
+Name[pt]=KPêndulo (GL)
+Name[ro]=Pendul (GL)
+Name[ru]=Маятник (GL)
+Name[sl]=KNihalo (GL)
+Name[sr]=К-клатно (GL)
+Name[sr@Latn]=K-klatno (GL)
+Name[sv]=Pendel (GL)
+Name[ta]=KPendulum(GL)
+Name[tg]=Раққосак (GL)
+Name[tr]=Sarkaç (GL)
+Name[uk]=Маятник (GL)
+Name[vi]=Con lắc (GL)
+
+[Desktop Action Setup]
+Exec=kpendulum.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kpendulum.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kpendulum.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KPolygon.desktop b/kscreensaver/kdesavers/KPolygon.desktop
new file mode 100644
index 00000000..62c86869
--- /dev/null
+++ b/kscreensaver/kdesavers/KPolygon.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=kpolygon.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Rapid Motion
+Name=Polygons
+Name[af]=Poligone
+Name[bg]=Полигон
+Name[br]=Lieskognegoù
+Name[ca]=Polígons
+Name[cs]=Polygony
+Name[cy]=Polygonau
+Name[da]=Polygoner
+Name[de]=Polygon
+Name[el]=Πολύγωνα
+Name[eo]=Poligonoj
+Name[es]=Polígonos
+Name[et]=Polügoonid
+Name[eu]=Poligonoak
+Name[fa]=چند ضلعیها
+Name[fi]=Polygonit
+Name[fo]=Fleirhyrntir
+Name[fr]=Polygones
+Name[fy]=Polygoanen
+Name[ga]=Polagáin
+Name[gl]=Polígonos
+Name[he]=מצולעים
+Name[hi]=बहुभुज
+Name[hu]=Poligonok
+Name[is]=Marghyrningar
+Name[it]=Poligoni
+Name[ja]=ポリゴン
+Name[ka]=მრავალკუთხედები
+Name[lt]=Daugiakampiai
+Name[lv]=Poligoni
+Name[mk]=Полигони
+Name[ms]=Poligon
+Name[mt]=Poligoni
+Name[nb]=Polygoner
+Name[nds]=Veelecks
+Name[ne]=बहुभुज
+Name[nl]=Polygonen
+Name[nn]=Polygon
+Name[pa]=ਬਹੁਭੁਜ
+Name[pl]=Wielokąty
+Name[pt]=Polígonos
+Name[pt_BR]=Polígonos
+Name[ro]=Poligoane
+Name[ru]=Многоугольники
+Name[sk]=Polygóny
+Name[sl]=Mnogokotniki
+Name[sr]=Полигони
+Name[sr@Latn]=Poligoni
+Name[sv]=Polygoner
+Name[ta]=பலகோணவடிவங்கள்
+Name[tg]=Бисёркунҷа
+Name[th]=รูปหลายเหลี่ยม
+Name[tr]=Poligonlar
+Name[uk]=Багатокутники
+Name[uz]=Koʻpburchaklar
+Name[uz@cyrillic]=Кўпбурчаклар
+Name[vi]=Đa giác
+Name[xh]=Iziqu ezinekona namacala amaninzi
+Name[zh_CN]=多边形
+Name[zh_TW]=多邊形
+
+[Desktop Action Setup]
+Exec=kpolygon.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kpolygon.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kpolygon.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KRotation.desktop b/kscreensaver/kdesavers/KRotation.desktop
new file mode 100644
index 00000000..9ec61439
--- /dev/null
+++ b/kscreensaver/kdesavers/KRotation.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=krotation.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=KRotation (GL)
+Name[bg]=Ротация
+Name[cs]=Rotace
+Name[de]=KRotation
+Name[el]=Ατλαντίδα (GL)
+Name[fr]=Rotation (GL)
+Name[fy]=KRotaasje (GL)
+Name[he]= KRotation(GL)
+Name[hi]=के-रोटेशन (जीएल)
+Name[hu]=KRotation (OpenGL)
+Name[is]=Ksnúningur (GL)
+Name[it]=KRotazione (GL)
+Name[ja]=回転 (GL)
+Name[ka]=დატრიალება (GL)
+Name[mk]=КРотација (GL)
+Name[nb]=KRotasjon (GL)
+Name[ne]=केडीई परिक्रमण (GL)
+Name[nn]=KRotasjon (GL)
+Name[pt]=KRotação (GL)
+Name[ro]=Rotire (GL)
+Name[ru]=Вращение (GL)
+Name[sl]=KRotacija (GL)
+Name[sr]=К-ротација (GL)
+Name[sr@Latn]=K-rotacija (GL)
+Name[sv]=Rotation (GL)
+Name[tg]=Тобхурӣ (GL)
+Name[tr]=Döndürme (GL)
+Name[uk]=Обертання (GL)
+Name[vi]=Xoay (GL)
+
+[Desktop Action Setup]
+Exec=krotation.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=krotation.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=krotation.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KScience.desktop b/kscreensaver/kdesavers/KScience.desktop
new file mode 100644
index 00000000..4b4c9dfd
--- /dev/null
+++ b/kscreensaver/kdesavers/KScience.desktop
@@ -0,0 +1,254 @@
+[Desktop Entry]
+Exec=kscience.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Science
+Name[af]=Wetenskap
+Name[bg]=Наука
+Name[br]=Skiantoù
+Name[ca]=Ciència
+Name[cs]=Věda
+Name[cy]=Gwyddoniaeth
+Name[da]=Videnskab
+Name[de]=Wissenschaft
+Name[el]=Επιστήμη
+Name[eo]=Scienco
+Name[es]=Ciencia
+Name[et]=Teadus
+Name[eu]=Zientzia
+Name[fa]=علم
+Name[fi]=Linssi
+Name[fo]=Náttúruvísind
+Name[fy]=Wittenskiplik
+Name[ga]=Eolaíocht
+Name[gl]=Ciéncia
+Name[he]=מדע
+Name[hi]=विज्ञान
+Name[hu]=Tudomány
+Name[is]=Vísindi
+Name[it]=Scienza
+Name[ja]=サイエンス
+Name[ka]=მეცნიერება
+Name[lt]=Mokslas
+Name[lv]=Zinātne
+Name[mk]=Наука
+Name[ms]=Sains
+Name[mt]=Xjenza
+Name[nb]=Vitenskap
+Name[nds]=Wetenschap
+Name[ne]=बिज्ञान
+Name[nl]=Wetenschappelijk
+Name[nn]=Vitskap
+Name[nso]=Mahlale
+Name[pa]=ਵਿਗਿਆਨ
+Name[pl]=Nauka
+Name[pt]=Ciência
+Name[pt_BR]=Ciência
+Name[ro]=Ştiinţă
+Name[ru]=Наука
+Name[sk]=Vedecký
+Name[sl]=Znanost
+Name[sr]=Наука
+Name[sr@Latn]=Nauka
+Name[sv]=Vetenskap
+Name[ta]=அறிவியல்
+Name[tg]=Илм
+Name[th]=วิทยาศาสตร์
+Name[tr]=Bilim
+Name[uk]=Наука
+Name[uz]=Fan
+Name[uz@cyrillic]=Фан
+Name[ven]=Vhutsila
+Name[vi]=Khoa học
+Name[xh]=Inzulu lwazi
+Name[zh_CN]=科学
+Name[zh_TW]=科學
+Name[zu]=Ubuchwepheshe bezesayensi
+
+[Desktop Action Setup]
+Exec=kscience.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kscience.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kscience.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KSlideshow.desktop b/kscreensaver/kdesavers/KSlideshow.desktop
new file mode 100644
index 00000000..3edb75da
--- /dev/null
+++ b/kscreensaver/kdesavers/KSlideshow.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=kslideshow.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Banners & Pictures
+Name=Slide Show
+Name[af]=Skuif Vertoon
+Name[bg]=Слайдшоу
+Name[br]=Diskouezadur skeudennoù
+Name[ca]=Diapositives
+Name[cs]=Promítání
+Name[cy]=Sioe Tryloywder
+Name[da]=Diasshow
+Name[de]=Dia-Schau
+Name[el]=Προβολή σλάιντς
+Name[eo]=Lumbildoj
+Name[es]=Presentación
+Name[et]=Slaidishow
+Name[eu]=Diapositiba erakusketa
+Name[fa]=نمایش اسلاید
+Name[fi]=Diaesitys
+Name[fo]=Framløga
+Name[fr]=Diaporama
+Name[fy]=Diafoarstelling
+Name[ga]=Taispeántas Sleamhnán
+Name[gl]=Apresentación
+Name[he]=מצגת שקופיות
+Name[hi]=झलक तमाशा
+Name[hu]=Diavetítés
+Name[is]=Skyggnusýning
+Name[it]=Immagini in sequenza
+Name[ja]=スライドショー
+Name[ka]=სლაიდების ჩვენება
+Name[lt]=Skaidrių šou
+Name[lv]=Slīdrāde
+Name[mk]=Слајд-шоу
+Name[ms]=Tayangan Slaid
+Name[nb]=Lysbildeshow
+Name[nds]=Diaschau
+Name[ne]=स्लाइड प्रदर्शन
+Name[nl]=Diavoorstelling
+Name[nn]=Framvising
+Name[pl]=Sekwencja slajdów
+Name[pt]=Slides
+Name[pt_BR]=Show de slides
+Name[ro]=Succesiune de imagini
+Name[ru]=Слайд-шоу
+Name[sl]=Diapozitivi
+Name[sr]=Слајд шоу
+Name[sr@Latn]=Slajd šou
+Name[sv]=Bildspel
+Name[ta]=ஸ்லைடு காட்சி
+Name[tg]=Намоиши слайд
+Name[th]=แสดงภาพนิ่ง
+Name[tr]=Saydam Gösterisi
+Name[uk]=Слайди
+Name[uz]=Slayd shou
+Name[uz@cyrillic]=Слайд шоу
+Name[ven]=Musumbedzo wo peamaho
+Name[vi]=Trình bày
+Name[xh]=Isiboniso esihamba thambileyo
+Name[zh_CN]=幻灯播放
+Name[zh_TW]=幻燈片放映
+Name[zu]=Isiboniso esihamba ngokuthambile
+
+[Desktop Action Setup]
+Exec=kslideshow.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kslideshow.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kslideshow.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kdesavers/KSolarWinds.desktop b/kscreensaver/kdesavers/KSolarWinds.desktop
new file mode 100644
index 00000000..fafbe5a9
--- /dev/null
+++ b/kscreensaver/kdesavers/KSolarWinds.desktop
@@ -0,0 +1,243 @@
+[Desktop Entry]
+Exec=ksolarwinds.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Solar Winds (GL)
+Name[bg]=Слънчев вятър
+Name[br]=Avelioù an Heol (GL)
+Name[ca]=Vent solar (GL)
+Name[cy]=Gwyntoedd o'r Haul (GL)
+Name[da]=Solvinde (GL)
+Name[de]=Sonnenwind
+Name[el]=Αστρικοί Άνεμοι (GL)
+Name[es]=Viento solar (GL)
+Name[et]=Päikesetuul (GL)
+Name[eu]=Eguzki-haizeak (GL)
+Name[fa]=پیچشهای خورشیدی (GL)
+Name[fi]=Aurinkotuuli (GL)
+Name[fo]=Sólvind (GL)
+Name[fr]=Vents solaires (GL)
+Name[fy]=Sinnewyn (GL)
+Name[gl]=Vento solar (GL)
+Name[he]=רוחות סולאריות (GL)
+Name[hi]=सौर तूफ़ान (जीएल)
+Name[hu]=Napszél (OpenGL)
+Name[is]=Sólvindar (GL)
+Name[it]=Venti Solari (GL)
+Name[ja]=太陽風 (GL)
+Name[ka]=მზის ქარი (GL)
+Name[mk]=Соларни ветрови (GL)
+Name[mt]=Irjieħ solari (GL)
+Name[nb]=Solvind (GL)
+Name[nds]=Sünnwind
+Name[ne]=सौर्य हावा (GL)
+Name[nl]=Zonnewind (GL)
+Name[nn]=Solvind (GL)
+Name[pl]=Wiatry słoneczne (GL)
+Name[pt]=Ventos Solares (GL)
+Name[pt_BR]=Ventos Solares (GL)
+Name[ro]=Vînturi solare (GL)
+Name[ru]=Солнечный ветер (GL)
+Name[sl]=Solarni vetrovi (GL)
+Name[sr]=Соларни ветрови (GL)
+Name[sr@Latn]=Solarni vetrovi (GL)
+Name[sv]=Solvindar (GL)
+Name[ta]=சூரிய காற்றுக்கள்(GL)
+Name[tg]=Шамоли офтобӣ (GL)
+Name[th]=สายลมสุริยะ (GL)
+Name[tr]=Güneş Rüzgarı (GL)
+Name[uk]=Сонячні вітри (GL)
+Name[uz]=Quyosh shamollari (GL)
+Name[uz@cyrillic]=Қуёш шамоллари (GL)
+Name[ven]=Mimuya yau solar (GL)
+Name[vi]=Gió Mặt Trời (GL)
+Name[zh_CN]=太阳风(GL)
+Name[zu]=Imimoya Yelanga (GL)
+
+[Desktop Action Setup]
+Exec=ksolarwinds.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=ksolarwinds.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=ksolarwinds.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KVm.desktop b/kscreensaver/kdesavers/KVm.desktop
new file mode 100644
index 00000000..c30d8014
--- /dev/null
+++ b/kscreensaver/kdesavers/KVm.desktop
@@ -0,0 +1,253 @@
+[Desktop Entry]
+Exec=kvm.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Gadgets & Simulations
+Name=Virtual Machine
+Name[af]=Virtuele Masjien
+Name[bg]=Виртуална машина
+Name[br]=Ardivink galloudel
+Name[ca]=Màquina virtual
+Name[cs]=Virtuální stroj
+Name[cy]=Peiriant Rhith
+Name[da]=Virtuel maskine
+Name[de]=Virtuelle Maschine
+Name[el]=Εικονική μηχανή
+Name[eo]=Virtuala Maŝino
+Name[es]=Máquina virtual
+Name[et]=Virtuaalne Masin
+Name[eu]=Makina birtuala
+Name[fa]=ماشین مجازی
+Name[fi]=Virtuaalikone
+Name[fo]=Tyknismaskina
+Name[fr]=Machine virtuelle
+Name[fy]=Firtuele masine
+Name[ga]=Meaisín Fíorúil
+Name[gl]=Máquina virtual
+Name[he]=מכונה וירטואלית
+Name[hi]=आभासी यंत्र
+Name[hu]=Virtuális gép
+Name[is]=Sýndarvél
+Name[it]=Macchina virtuale
+Name[ja]=仮想マシン
+Name[ka]=ვირტუალური მანქანა
+Name[lt]=Virtuali Mašina
+Name[lv]=Virtuālā mašīna
+Name[mk]=Виртуелна машина
+Name[ms]=Mesin Maya
+Name[mt]=Magna Virtwali
+Name[nb]=Virtuell maskin
+Name[nds]=Virtuell Maschien
+Name[ne]=अवास्तविक मेशिन
+Name[nl]=Virtuele machine
+Name[nn]=Virtuell maskin
+Name[nso]=Motshene o Maatla
+Name[pl]=Maszyna wirtualna
+Name[pt]=Máquina Virtual
+Name[pt_BR]=Máquina virtual
+Name[ro]=Maşină virtuală
+Name[ru]=Виртуальная машина
+Name[sk]=Virtuálny stroj
+Name[sl]=Navidezni stroj
+Name[sr]=Виртуелна машина
+Name[sr@Latn]=Virtuelna mašina
+Name[sv]=Virtuell maskin
+Name[ta]=கற்பனை வாகனம்
+Name[tg]=Мошини уфуқӣ
+Name[th]=เครื่องจำลอง
+Name[tr]=Sanal Makine
+Name[uk]=Віртуальна машина
+Name[uz]=Virtual kompyuter
+Name[uz@cyrillic]=Виртуал компьютер
+Name[ven]=Mutshini usa vhonali
+Name[vi]=Máy Ảo
+Name[xh]=Umatshini onesiqhamo
+Name[zh_CN]=虚拟机
+Name[zh_TW]=虛擬機器
+Name[zu]=Ushini Obonakalayo
+
+[Desktop Action Setup]
+Exec=kvm.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kvm.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kvm.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/KWave.desktop b/kscreensaver/kdesavers/KWave.desktop
new file mode 100644
index 00000000..3b7093d2
--- /dev/null
+++ b/kscreensaver/kdesavers/KWave.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=kwave.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Bitmap Flag (GL)
+Name[af]=Biskaart Vlag (Gl)
+Name[bg]=Развяващ се флаг
+Name[ca]=Bandera de mapa de bits (GL)
+Name[cs]=Vlajka (GL)
+Name[cy]=Baner Didfap (GL)
+Name[da]=Bitmapflag (GL)
+Name[de]=Bildflagge
+Name[el]=Σημαία bitmap (GL)
+Name[eo]=Bildflago
+Name[es]=Bandera de mapa de bits (GL)
+Name[et]=Pildilipp (GL)
+Name[eu]=Bitmap Bandera (GL)
+Name[fa]=پرچم نگاشت بیت(GL)
+Name[fi]=Bittikarttalippu (GL)
+Name[fo]=Flagg (GL)
+Name[fr]=Drapeau (GL)
+Name[fy]=Bitmap flagge (GL)
+Name[gl]=Bandeira de mapa de bits (GL)
+Name[he]=דגל (GL)
+Name[hi]=झंडियाँ (जीएल)
+Name[hu]=Zászló (OpenGL)
+Name[is]=Myndafáni (GL)
+Name[it]=Bandiera bitmap (GL)
+Name[ja]=ビットマップフラッグ (GL)
+Name[ka]=რასტრული ალამი (GL)
+Name[lt]=Taškinės grafikos (bitmap) vėliava (GL)
+Name[lv]=Bitmapa Karogs (GL)
+Name[mk]=Битмапирано знаме (GL)
+Name[mt]=Bandiera bi stampa (GL)
+Name[nb]=Bittmap-flagg (GL)
+Name[nds]=Weihen Flagg (GL)
+Name[ne]=बिटम्याप झण्डा(GL)
+Name[nl]=Bitmap vlag (GL)
+Name[nn]=Flagg (GL)
+Name[pl]=Bitmapowa flaga (GL)
+Name[pt]=Imagem Ondulante (GL)
+Name[pt_BR]=Bitmap (GL)
+Name[ro]=Steag imagine (GL)
+Name[ru]=Растровый флаг (GL)
+Name[sk]=alajka (GL)
+Name[sl]=Bitna zastava (GL)
+Name[sr]=Битмапирана застава (GL)
+Name[sr@Latn]=Bitmapirana zastava (GL)
+Name[sv]=Bitmappsflagga (GL)
+Name[ta]=பிட்வரைப்பட குறி
+Name[tg]=Байрақи растрӣ (GL)
+Name[th]=ธงภาพบิตแมพ (GL)
+Name[tr]=Bayrak (GL)
+Name[uk]=Растровий прапор (GL)
+Name[uz]=Bayroq (GL)
+Name[uz@cyrillic]=Байроқ (GL)
+Name[ven]=Fulaga ya Bitmap (GL)
+Name[vi]=Cờ Mảng ảnh (GL)
+Name[xh]=Indwe ye Bitmap (GL)
+Name[zh_CN]=位图旗帜(GL)
+Name[zh_TW]=點陣圖旗幟 (GL)
+Name[zu]=Bitmap Flap (GL)
+
+
+[Desktop Action Setup]
+Exec=kwave.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kwave.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kwave.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kdesavers/Makefile.am b/kscreensaver/kdesavers/Makefile.am
new file mode 100644
index 00000000..8f399401
--- /dev/null
+++ b/kscreensaver/kdesavers/Makefile.am
@@ -0,0 +1,102 @@
+# $Id$
+# Makefile.am for kscreensaver.
+#
+
+SUBDIRS = . data
+
+AM_CPPFLAGS = -UQT_NO_ASCII_CAST
+
+INCLUDES = $(all_includes) $(GLINC) $(LIBART_CFLAGS)
+AM_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+AM_LDADD = $(LIB_KDEUI) -lkscreensaver
+
+if COMPILE_X11_KSAVERS
+X11_KSAVERS = kscience.kss
+X11_DESKTOP_FILES = KScience.desktop
+endif
+
+if COMPILE_LIBART_KSAVERS
+LIBART_KSAVERS = kclock.kss
+LIBART_DESKTOP_FILES = KClock.desktop
+endif
+LIBART_KSAVERS_LDADD = $(AM_LDADD) $(LIBART_LIBS)
+
+if COMPILE_ARTS_GL_KSAVERS
+ARTS_GL_KSAVERS = kfiresaver.kss
+ARTS_GL_DESKTOP_FILES = KFiresaver.desktop
+endif
+
+if COMPILE_GL_KSAVERS
+GL_KSAVERS=kfountain.kss kwave.kss kgravity.kss kflux.kss keuphoria.kss ksolarwinds.kss krotation.kss kpendulum.kss
+GL_DESKTOP_FILES=KGravity.desktop KWave.desktop KFountain.desktop KFlux.desktop KEuphoria.desktop KSolarWinds.desktop KRotation.desktop KPendulum.desktop
+endif
+GL_KSAVERS_LDADD = $(AM_LDADD) $(GLLIB)
+
+bin_PROGRAMS = kbanner.kss kpolygon.kss kslideshow.kss \
+ klines.kss klorenz.kss kblob.kss kvm.kss \
+ $(X11_KSAVERS) $(LIBART_KSAVERS) $(ARTS_GL_KSAVERS) $(GL_KSAVERS)
+
+# The "normal" screensavers
+kbanner_kss_SOURCES = banner.cpp
+kbanner_kss_LDADD = $(AM_LDADD)
+kpolygon_kss_SOURCES = polygon.cpp
+kpolygon_kss_LDADD = $(AM_LDADD)
+kslideshow_kss_SOURCES = slideshow.cpp slideshowcfg.ui
+kslideshow_kss_LDADD = $(LIB_KFILE) $(AM_LDADD) $(LIB_KSYCOCA) -lm
+klines_kss_SOURCES = lines.cpp
+klines_kss_LDADD = $(AM_LDADD)
+klorenz_kss_SOURCES = lorenz.cpp
+klorenz_kss_LDADD = $(AM_LDADD) -lm
+kblob_kss_SOURCES = blob.cpp
+kblob_kss_LDADD = $(AM_LDADD) -lm
+kvm_kss_SOURCES = kvm.cpp vm.c vm_random.c
+kvm_kss_LDADD = $(AM_LDADD)
+kscience_kss_SOURCES = science.cpp
+kscience_kss_LDADD = $(AM_LDADD) -lm
+
+# The GL screensavers
+kfountain_kss_SOURCES = fountain.cpp fountaincfg.ui
+kfountain_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+kwave_kss_SOURCES = wave.cpp wavecfg.ui
+kwave_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+kgravity_kss_SOURCES = gravity.cpp gravitycfg.ui
+kgravity_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+kflux_kss_SOURCES = Flux.cpp
+kflux_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+keuphoria_kss_SOURCES = Euphoria.cpp
+keuphoria_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+ksolarwinds_kss_SOURCES = SolarWinds.cpp
+ksolarwinds_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+krotation_kss_SOURCES = rotation.cpp rotationcfg.ui sspreviewarea.cpp rkodesolver.cpp vec3.cpp
+krotation_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+kpendulum_kss_SOURCES = pendulum.cpp pendulumcfg.ui sspreviewarea.cpp rkodesolver.cpp
+kpendulum_kss_LDADD = $(GL_KSAVERS_LDADD) -lm
+kfiresaver_kss_SOURCES = firesaversetup.ui firesaverparticle.cpp firesaverwriter.cpp firesaver.cpp
+kfiresaver_kss_LDADD = $(GL_KSAVERS_LDADD) -lartskde -lm
+
+# The LIBART screensavers
+kclock_kss_SOURCES = kclock.cpp
+kclock_kss_LDADD = $(LIBART_KSAVERS_LDADD)
+
+METASOURCES = AUTO
+
+noinst_HEADERS = banner.h polygon.h slideshow.h lines.h\
+ lorenz.h blob.h kvm.h vm.h vm_random.h science.h \
+ fountain.h wave.h gravity.h kclock.h\
+ rotation.h pendulum.h sspreviewarea.h rkodesolver.h vec3.h\
+ firesaver.h firesaverparticle.h firesaversetup.ui.h\
+ firesaverwriter.h
+
+########## Meta objects ##########
+
+pics_DATA = kscience.png particle.png image.png
+picsdir = $(kde_datadir)/kscreensaver
+
+desktop_DATA = KBanner.desktop KPolygon.desktop \
+ KSlideshow.desktop KLines-saver.desktop KLorenz.desktop \
+ KBlob.desktop KVm.desktop \
+ KClock.desktop $(X11_DESKTOP_FILES) $(GL_DESKTOP_FILES) $(LIBART_DESKTOP_FILES) $(ARTS_GL_DESKTOP_FILES)
+
+desktopdir = $(kde_appsdir)/System/ScreenSavers
+
+EXTRA_DIST = $(desktop_DATA) vm.xpm vm.xbm kscience.png particle.png image.png
diff --git a/kscreensaver/kdesavers/README b/kscreensaver/kdesavers/README
new file mode 100644
index 00000000..694adefd
--- /dev/null
+++ b/kscreensaver/kdesavers/README
@@ -0,0 +1,3 @@
+These are native KDE screensavers using the libkscreensaver library.
+If you are writing a screensaver for KDE use these as references rather
+than the ported savers.
diff --git a/kscreensaver/kdesavers/SolarWinds.cpp b/kscreensaver/kdesavers/SolarWinds.cpp
new file mode 100644
index 00000000..ee3743c0
--- /dev/null
+++ b/kscreensaver/kdesavers/SolarWinds.cpp
@@ -0,0 +1,778 @@
+//============================================================================
+//
+// Terence Welsh Screensaver - Solar Winds
+// http://www.reallyslick.com/
+//
+// Ported to KDE by Karl Robillard
+//
+/*
+ * Copyright (C) 2002 Terence M. Welsh
+ *
+ * Solar Winds is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Solar Winds is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+//============================================================================
+
+
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <time.h>
+#include <qtimer.h>
+#include "SolarWinds.h"
+#include "SolarWinds.moc"
+
+
+#define NUMCONSTS 9
+#define PIx2 6.28318530718f
+#define DEG2RAD 0.0174532925f
+
+
+// Useful random number macro
+// Don't forget to initialize with srand()
+
+// This is the original myRandf() which does not work on Linux.
+// I grabed the inline version from Flux.cpp.
+//#define myRandf(x) (float(rand()) * (x * 0.0000305185095f))
+
+inline float myRandf(float x){
+ return(float(rand() * x) / float(RAND_MAX));
+}
+
+
+// Context pointer to allow many instances.
+static SWindsWidget* _ec = 0;
+
+
+struct Emitter
+{
+ float x, y, z;
+};
+
+
+struct Particle
+{
+ float x, y, z;
+ float r, g, b;
+};
+
+
+class wind
+{
+public:
+
+ wind();
+ ~wind();
+ void update();
+
+ Emitter* emitters;
+ Particle* particles;
+ int** linelist;
+ int* lastparticle;
+ int whichparticle;
+ int partCount;
+ int emitCount;
+ bool useLines;
+ float c[NUMCONSTS];
+ float ct[NUMCONSTS];
+ float cv[NUMCONSTS];
+};
+
+
+wind::wind()
+{
+ int i;
+
+ partCount = _ec->dParticles;
+ emitCount = _ec->dEmitters;
+ useLines = (_ec->dGeometry == 2);
+
+ emitters = new Emitter[emitCount];
+ for(i=0; i<emitCount; i++)
+ {
+ emitters[i].x = myRandf(60.0f) - 30.0f;
+ emitters[i].y = myRandf(60.0f) - 30.0f;
+ emitters[i].z = myRandf(30.0f) - 15.0f;
+ }
+
+ particles = new Particle[partCount];
+ for(i=0; i<partCount; i++)
+ {
+ particles[i].x = 0.0f;
+ particles[i].y = 0.0f;
+ particles[i].z = 100.0f; // start particles behind viewer
+ }
+
+ whichparticle = 0;
+
+ if( useLines )
+ {
+ linelist = new int*[partCount];
+ for(i=0; i<partCount; i++)
+ {
+ linelist[i] = new int[2];
+ linelist[i][0] = -1;
+ linelist[i][1] = -1;
+ }
+ lastparticle = new int[emitCount];
+ for(i=0; i<emitCount; i++)
+ lastparticle[i] = i;
+ }
+
+ float windspeed = (float) (_ec->dWindspeed);
+ for(i=0; i<NUMCONSTS; i++)
+ {
+ ct[i] = myRandf(PIx2);
+ cv[i] = myRandf(0.00005f * windspeed * windspeed)
+ + 0.00001f * windspeed * windspeed;
+ //printf( "KR ct %g cv %g\n", ct[i], cv[i] );
+ }
+}
+
+
+wind::~wind()
+{
+ delete[] emitters;
+ delete[] particles;
+
+ if( useLines )
+ {
+ int i;
+ for(i=0; i<partCount; i++)
+ delete[] linelist[i];
+ delete[] linelist;
+ delete[] lastparticle;
+ }
+}
+
+
+void wind::update()
+{
+ int i;
+ float x, y, z;
+ float temp;
+ float particleSpeed = (float) _ec->dParticlespeed;
+
+ float evel = float(_ec->dEmitterspeed) * 0.01f;
+ float pvel = particleSpeed * 0.01f;
+ float pointsize = 0.04f * _ec->dSize;
+ float linesize = 0.005f * _ec->dSize;
+
+ // update constants
+ for(i=0; i<NUMCONSTS; i++)
+ {
+ ct[i] += cv[i];
+ if(ct[i] > PIx2)
+ ct[i] -= PIx2;
+ c[i] = cos(ct[i]);
+ }
+
+ // calculate emissions
+ for(i=0; i<emitCount; i++)
+ {
+ emitters[i].z += evel; // emitter moves toward viewer
+ if(emitters[i].z > 15.0f)
+ {
+ // reset emitter
+ emitters[i].x = myRandf(60.0f) - 30.0f;
+ emitters[i].y = myRandf(60.0f) - 30.0f;
+ emitters[i].z = -15.0f;
+ }
+
+ particles[whichparticle].x = emitters[i].x;
+ particles[whichparticle].y = emitters[i].y;
+ particles[whichparticle].z = emitters[i].z;
+
+ if( useLines )
+ {
+ // link particles to form lines
+ if(linelist[whichparticle][0] >= 0)
+ linelist[linelist[whichparticle][0]][1] = -1;
+ linelist[whichparticle][0] = -1;
+ if(emitters[i].z == -15.0f)
+ linelist[whichparticle][1] = -1;
+ else
+ linelist[whichparticle][1] = lastparticle[i];
+ linelist[lastparticle[i]][0] = whichparticle;
+ lastparticle[i] = whichparticle;
+ }
+
+ whichparticle++;
+ if(whichparticle >= partCount)
+ whichparticle = 0;
+ }
+
+ // calculate particle positions and colors
+ // first modify constants that affect colors
+ c[6] *= 9.0f / particleSpeed;
+ c[7] *= 9.0f / particleSpeed;
+ c[8] *= 9.0f / particleSpeed;
+ // then update each particle
+ for(i=0; i<partCount; i++)
+ {
+ Particle* part = particles + i;
+
+ // store old positions
+ x = part->x;
+ y = part->y;
+ z = part->z;
+
+ // make new positins
+ part->x = x + (c[0] * y + c[1] * z) * pvel;
+ part->y = y + (c[2] * z + c[3] * x) * pvel;
+ part->z = z + (c[4] * x + c[5] * y) * pvel;
+
+ // calculate colors
+ part->r = fabs((part->x - x) * c[6]);
+ part->g = fabs((part->y - y) * c[7]);
+ part->b = fabs((part->z - z) * c[8]);
+
+ // clamp colors
+ if( part->r > 1.0f )
+ part->r = 1.0f;
+ if( part->g > 1.0f )
+ part->g = 1.0f;
+ if( part->b > 1.0f )
+ part->b = 1.0f;
+ }
+
+ // draw particles
+ switch(_ec->dGeometry)
+ {
+ case 0: // lights
+ for(i=0; i<partCount; i++)
+ {
+ glColor3fv(&particles[i].r);
+ glPushMatrix();
+ glTranslatef(particles[i].x, particles[i].y, particles[i].z);
+ glCallList(1);
+ glPopMatrix();
+#if 0
+ if( i == 0 )
+ printf( "KR %d %g %g %g\n", i,
+ particles[i].x, particles[i].y, particles[i].z);
+#endif
+ }
+ break;
+
+ case 1: // points
+ for(i=0; i<partCount; i++)
+ {
+ temp = particles[i].z + 40.0f;
+ if(temp < 0.01f)
+ temp = 0.01f;
+ glPointSize(pointsize * temp);
+
+ glBegin(GL_POINTS);
+ glColor3fv(&particles[i].r);
+ glVertex3fv(&particles[i].x);
+ glEnd();
+ }
+ break;
+
+ case 2: // lines
+ for(i=0; i<partCount; i++)
+ {
+ temp = particles[i].z + 40.0f;
+ if(temp < 0.01f)
+ temp = 0.01f;
+ glLineWidth(linesize * temp);
+
+ glBegin(GL_LINES);
+ if(linelist[i][1] >= 0)
+ {
+ glColor3fv(&particles[i].r);
+ if(linelist[i][0] == -1)
+ glColor3f(0.0f, 0.0f, 0.0f);
+ glVertex3fv(&particles[i].x);
+
+ glColor3fv(&particles[linelist[i][1]].r);
+ if(linelist[linelist[i][1]][1] == -1)
+ glColor3f(0.0f, 0.0f, 0.0f);
+ glVertex3fv(&particles[linelist[i][1]].x);
+ }
+ glEnd();
+ }
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+SWindsWidget::SWindsWidget( QWidget* parent, const char* name )
+ : QGLWidget(parent, name), _winds(0)
+{
+ setDefaults( Regular );
+
+ _frameTime = 1000 / 60;
+ _timer = new QTimer( this );
+ connect( _timer, SIGNAL(timeout()), this, SLOT(nextFrame()) );
+}
+
+
+SWindsWidget::~SWindsWidget()
+{
+ // Free memory
+ delete[] _winds;
+}
+
+
+void SWindsWidget::paintGL()
+{
+ glLoadIdentity();
+
+ if( ! dBlur )
+ {
+ glClear(GL_COLOR_BUFFER_BIT);
+ }
+ else
+ {
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.5f - (float(dBlur) * 0.0049f));
+
+ glBegin(GL_QUADS);
+ glVertex3f(-40.0f, -17.0f, 0.0f);
+ glVertex3f(40.0f, -17.0f, 0.0f);
+ glVertex3f(40.0f, 17.0f, 0.0f);
+ glVertex3f(-40.0f, 17.0f, 0.0f);
+ glEnd();
+
+ if(!dGeometry)
+ glBlendFunc(GL_ONE, GL_ONE);
+ else
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE); // Necessary for point and line smoothing (I don't know why)
+ // Maybe it's just my video card...
+ }
+
+ // You should need to draw twice if using blur, once to each buffer.
+ // But wglSwapLayerBuffers appears to copy the back to the
+ // front instead of just switching the pointers to them. It turns
+ // out that both NVidia and 3dfx prefer to use PFD_SWAP_COPY instead
+ // of PFD_SWAP_EXCHANGE in the PIXELFORMATDESCRIPTOR. I don't know why...
+ // So this may not work right on other platforms or all video cards.
+
+ // Update surfaces
+ if( _winds )
+ {
+ _ec = this;
+ int i;
+ for(i=0; i<dWinds; i++)
+ _winds[i].update();
+ }
+
+ glFlush();
+}
+
+
+void SWindsWidget::resizeGL( int w, int h )
+{
+ glViewport(0, 0, w, h );
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(90.0, (float) w / (float) h, 1.0, 10000);
+ glTranslatef(0.0, 0.0, -15.0);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+}
+
+
+// Window initialization
+void SWindsWidget::initializeGL()
+{
+ updateParameters();
+ _timer->start( _frameTime, true );
+}
+
+
+#ifdef UNIT_TEST
+void SWindsWidget::keyPressEvent( QKeyEvent* e )
+{
+ if( e->key() == Qt::Key_0 ) { setDefaults( 0 ); updateParameters(); }
+ if( e->key() == Qt::Key_1 ) { setDefaults( 1 ); updateParameters(); }
+ if( e->key() == Qt::Key_2 ) { setDefaults( 2 ); updateParameters(); }
+ if( e->key() == Qt::Key_3 ) { setDefaults( 3 ); updateParameters(); }
+ if( e->key() == Qt::Key_4 ) { setDefaults( 4 ); updateParameters(); }
+ if( e->key() == Qt::Key_5 ) { setDefaults( 5 ); updateParameters(); }
+}
+#endif
+
+
+void SWindsWidget::nextFrame()
+{
+ updateGL();
+ _timer->start( _frameTime, true );
+}
+
+
+void SWindsWidget::updateParameters()
+{
+ int i, j;
+ float x, y, temp;
+
+ srand((unsigned)time(NULL));
+ rand(); rand(); rand(); rand(); rand();
+
+ glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ if(!dGeometry)
+ glBlendFunc(GL_ONE, GL_ONE);
+ else
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE); // Necessary for point and line smoothing (I don't know why)
+ glEnable(GL_BLEND);
+
+ if( ! dGeometry )
+ {
+ // Init lights
+ for(i=0; i<LIGHTSIZE; i++)
+ {
+ for(j=0; j<LIGHTSIZE; j++)
+ {
+ x = float(i - LIGHTSIZE / 2) / float(LIGHTSIZE / 2);
+ y = float(j - LIGHTSIZE / 2) / float(LIGHTSIZE / 2);
+ temp = 1.0f - float(sqrt((x * x) + (y * y)));
+ if(temp > 1.0f)
+ temp = 1.0f;
+ if(temp < 0.0f)
+ temp = 0.0f;
+ lightTexture[i][j] = (unsigned char) (255.0f * temp);
+ }
+ }
+
+ glEnable(GL_TEXTURE_2D);
+ glBindTexture(GL_TEXTURE_2D, 1);
+ glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexImage2D(GL_TEXTURE_2D, 0, 1, LIGHTSIZE, LIGHTSIZE, 0,
+ GL_LUMINANCE, GL_UNSIGNED_BYTE, lightTexture);
+
+ temp = 0.02f * dSize;
+ glNewList(1, GL_COMPILE);
+ glBindTexture(GL_TEXTURE_2D, 1);
+ glBegin(GL_TRIANGLE_STRIP);
+ glTexCoord2f(0.0f, 0.0f);
+ glVertex3f(-temp, -temp, 0.0f);
+ glTexCoord2f(1.0f, 0.0f);
+ glVertex3f(temp, -temp, 0.0f);
+ glTexCoord2f(0.0f, 1.0f);
+ glVertex3f(-temp, temp, 0.0f);
+ glTexCoord2f(1.0f, 1.0f);
+ glVertex3f(temp, temp, 0.0f);
+ glEnd();
+ glEndList();
+ }
+ else if(dGeometry == 1)
+ {
+ // init point smoothing
+ glEnable(GL_POINT_SMOOTH);
+ glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
+
+ glDisable(GL_TEXTURE_2D);
+ }
+ else if(dGeometry == 2)
+ {
+ // init line smoothing
+ glEnable(GL_LINE_SMOOTH);
+ glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
+
+ glDisable(GL_TEXTURE_2D);
+ }
+
+
+ // Initialize surfaces
+ _ec = this;
+ delete[] _winds;
+ _winds = new wind[dWinds];
+}
+
+
+/**
+ May be called at any time - makes no OpenGL calls.
+*/
+void SWindsWidget::setDefaults(int which)
+{
+ switch(which)
+ {
+ case CosmicStrings:
+ dWinds = 1;
+ dEmitters = 50;
+ dParticles = 3000;
+ dGeometry = 2;
+ dSize = 20;
+ dWindspeed = 10;
+ dEmitterspeed = 10;
+ dParticlespeed = 10;
+ dBlur = 10;
+ break;
+
+ case ColdPricklies:
+ dWinds = 1;
+ dEmitters = 300;
+ dParticles = 3000;
+ dGeometry = 2;
+ dSize = 5;
+ dWindspeed = 20;
+ dEmitterspeed = 100;
+ dParticlespeed = 15;
+ dBlur = 70;
+ break;
+
+ case SpaceFur:
+ dWinds = 2;
+ dEmitters = 400;
+ dParticles = 1600;
+ dGeometry = 2;
+ dSize = 15;
+ dWindspeed = 20;
+ dEmitterspeed = 15;
+ dParticlespeed = 10;
+ dBlur = 0;
+ break;
+
+ case Jiggly:
+ dWinds = 1;
+ dEmitters = 40;
+ dParticles = 1200;
+ dGeometry = 1;
+ dSize = 20;
+ dWindspeed = 100;
+ dEmitterspeed = 20;
+ dParticlespeed = 4;
+ dBlur = 50;
+ break;
+
+ case Undertow:
+ dWinds = 1;
+ dEmitters = 400;
+ dParticles = 1200;
+ dGeometry = 0;
+ dSize = 40;
+ dWindspeed = 20;
+ dEmitterspeed = 1;
+ dParticlespeed = 100;
+ dBlur = 50;
+ break;
+
+ case Regular:
+ default:
+ dWinds = 1;
+ dEmitters = 30;
+ dParticles = 2000;
+ dGeometry = 0;
+ dSize = 50;
+ dWindspeed = 20;
+ dEmitterspeed = 15;
+ dParticlespeed = 10;
+ dBlur = 40;
+ break;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#ifndef UNIT_TEST
+#include <klocale.h>
+#include <kglobal.h>
+#include <kconfig.h>
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char* kss_applicationName = "ksolarwinds.kss";
+ KDE_EXPORT const char* kss_description = I18N_NOOP( "Solar Winds" );
+ KDE_EXPORT const char* kss_version = "1.0";
+
+ KDE_EXPORT KScreenSaver* kss_create( WId id )
+ {
+ return new KSWindsScreenSaver( id );
+ }
+
+ KDE_EXPORT QDialog* kss_setup()
+ {
+ return new KSWindsSetup;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+
+KSWindsScreenSaver::KSWindsScreenSaver( WId id ) : KScreenSaver( id )
+{
+ _flux = new SWindsWidget;
+
+ readSettings();
+
+ embed( _flux );
+ _flux->show();
+}
+
+
+KSWindsScreenSaver::~KSWindsScreenSaver()
+{
+}
+
+
+static int filterRandom( int n )
+{
+ if( (n < 0) || (n >= SWindsWidget::DefaultModes) )
+ {
+ srand((unsigned)time(NULL));
+ n = rand() % SWindsWidget::DefaultModes;
+ }
+ return n;
+}
+
+
+void KSWindsScreenSaver::readSettings()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ _mode = config->readNumEntry( "Mode", SWindsWidget::Regular );
+ _flux->setDefaults( filterRandom(_mode) );
+}
+
+
+/**
+ Any invalid mode will select one at random.
+*/
+void KSWindsScreenSaver::setMode( int id )
+{
+ _mode = id;
+ _flux->setDefaults( filterRandom(id) );
+ _flux->updateParameters();
+}
+
+
+//----------------------------------------------------------------------------
+
+
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <kmessagebox.h>
+
+
+static const char* defaultText[] =
+{
+ I18N_NOOP( "Regular" ),
+ I18N_NOOP( "Cosmic Strings" ),
+ I18N_NOOP( "Cold Pricklies" ),
+ I18N_NOOP( "Space Fur" ),
+ I18N_NOOP( "Jiggly" ),
+ I18N_NOOP( "Undertow" ),
+ I18N_NOOP( "(Random)" ),
+ 0
+};
+
+
+KSWindsSetup::KSWindsSetup( QWidget* parent, const char* name )
+ : KDialogBase( parent, name, true, i18n( "Setup Solar Wind" ),
+ Ok|Cancel|Help, Ok, true )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout* top = new QHBoxLayout( main, 0, spacingHint() );
+
+ QVBoxLayout* leftCol = new QVBoxLayout;
+ top->addLayout( leftCol );
+
+ QLabel* label = new QLabel( i18n("Mode:"), main );
+ leftCol->addWidget( label );
+
+ modeW = new QComboBox( main );
+ int i = 0;
+ while (defaultText[i])
+ modeW->insertItem( i18n(defaultText[i++]) );
+ leftCol->addWidget( modeW );
+
+ leftCol->addStretch();
+
+ // Preview
+ QWidget* preview;
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 165 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ _saver = new KSWindsScreenSaver( preview->winId() );
+ top->addWidget(preview);
+
+ // Now that we have _saver...
+ modeW->setCurrentItem( _saver->mode() ); // set before we connect
+ connect( modeW, SIGNAL(activated(int)), _saver, SLOT(setMode(int)) );
+}
+
+
+KSWindsSetup::~KSWindsSetup()
+{
+ delete _saver;
+}
+
+
+void KSWindsSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Solar Winds 1.0</h3>\n<p>Copyright (c) 2002 Terence M. Welsh<br>\n<a href=\"http://www.reallyslick.com/\">http://www.reallyslick.com/</a></p>\n\n<p>Ported to KDE by Karl Robillard</p>"),
+ QString::null, KMessageBox::AllowLink);
+}
+
+
+/**
+ Ok pressed - save settings and exit
+*/
+void KSWindsSetup::slotOk()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ QString val;
+ val.setNum( modeW->currentItem() );
+ config->writeEntry("Mode", val );
+
+ config->sync();
+ accept();
+}
+#endif
+
+
+//----------------------------------------------------------------------------
+
+
+#ifdef UNIT_TEST
+// moc SolarWinds.h -o SolarWinds.moc
+// g++ -g -DUNIT_TEST SolarWinds.cpp -I/usr/lib/qt3/include -lqt -L/usr/lib/qt3/lib -lGLU -lGL
+
+#include <qapplication.h>
+
+int main( int argc, char** argv )
+{
+ QApplication app( argc, argv );
+
+ SWindsWidget w;
+ app.setMainWidget( &w );
+ w.show();
+
+ return app.exec();
+}
+#endif
+
+
+//EOF
diff --git a/kscreensaver/kdesavers/SolarWinds.h b/kscreensaver/kdesavers/SolarWinds.h
new file mode 100644
index 00000000..8831c015
--- /dev/null
+++ b/kscreensaver/kdesavers/SolarWinds.h
@@ -0,0 +1,138 @@
+#ifndef __SOLARWINDS_H__
+#define __SOLARWINDS_H__
+//============================================================================
+//
+// Terence Welsh Screensaver - Solar Winds
+// http://www.reallyslick.com/
+//
+// Ported to KDE by Karl Robillard
+//
+//============================================================================
+
+
+#include <qgl.h>
+
+
+#define LIGHTSIZE 64
+
+
+class wind;
+class QTimer;
+
+class SWindsWidget : public QGLWidget
+{
+ Q_OBJECT
+
+public:
+
+ enum eDefault
+ {
+ Regular,
+ CosmicStrings,
+ ColdPricklies,
+ SpaceFur,
+ Jiggly,
+ Undertow,
+
+ DefaultModes
+ };
+
+ SWindsWidget( QWidget* parent=0, const char* name=0 );
+ ~SWindsWidget();
+
+ void updateParameters();
+ void setDefaults( int which );
+
+protected:
+
+ void paintGL();
+ void resizeGL( int w, int h );
+ void initializeGL();
+#ifdef UNIT_TEST
+ void keyPressEvent( QKeyEvent* );
+#endif
+
+private slots:
+
+ void nextFrame();
+
+private:
+
+ wind* _winds;
+ unsigned char lightTexture[LIGHTSIZE][LIGHTSIZE];
+
+ int dWinds;
+ int dEmitters;
+ int dParticles;
+ int dGeometry;
+ float dSize;
+ int dParticlespeed;
+ int dEmitterspeed;
+ int dWindspeed;
+ int dBlur;
+
+
+ // Using QTimer rather than timerEvent() to avoid getting locked out of
+ // the QEvent loop on lower-end systems. Ian Geiser <geiseri@kde.org>
+ // says this is the way to go.
+ QTimer* _timer;
+ int _frameTime;
+
+ friend class wind;
+};
+
+
+#ifndef UNIT_TEST
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+
+class KSWindsScreenSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+public:
+
+ KSWindsScreenSaver( WId id );
+ virtual ~KSWindsScreenSaver();
+
+ int mode() const { return _mode; }
+
+public slots:
+
+ void setMode( int );
+
+private:
+
+ void readSettings();
+
+ SWindsWidget* _flux;
+ int _mode;
+};
+
+
+class QComboBox;
+
+class KSWindsSetup : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+
+ KSWindsSetup( QWidget* parent = 0, const char* name = 0 );
+ ~KSWindsSetup();
+
+private slots:
+
+ void slotHelp();
+ void slotOk();
+
+private:
+
+ QComboBox* modeW;
+ KSWindsScreenSaver* _saver;
+};
+#endif
+
+
+#endif //__SOLARWINDS_H__
diff --git a/kscreensaver/kdesavers/banner.cpp b/kscreensaver/kdesavers/banner.cpp
new file mode 100644
index 00000000..5309c05a
--- /dev/null
+++ b/kscreensaver/kdesavers/banner.cpp
@@ -0,0 +1,509 @@
+//-----------------------------------------------------------------------------
+//
+// kbanner - Basic screen saver for KDE
+//
+// Copyright (c) Martin R. Jones 1996
+//
+// layout management added 1998/04/19 by Mario Weilguni <mweilguni@kde.org>
+// clock function and color cycling added 2000/01/09 by Alexander Neundorf <alexander.neundorf@rz.tu-ilmenau.de>
+// 2001/03/04 Converted to use libkscreensaver by Martin R. Jones
+// 2002/04/07 Added random vertical position of text,
+// changed horizontal step size to reduce jerkyness,
+// text will return to right margin immediately (and not be drawn half a screen width off-screen)
+// Harald H.-J. Bongartz <harald@bongartz.org>
+// 2003/09/06 Converted to use KDialogBase - Nadeem Hasan <nhasan@kde.org>
+#include <stdlib.h>
+
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qcombobox.h>
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qslider.h>
+#include <qlayout.h>
+#include <qdatetime.h>
+#include <qfontdatabase.h>
+#include <qpainter.h>
+
+#include <kapplication.h>
+#include <krandomsequence.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kmessagebox.h>
+#include <kcolorbutton.h>
+#include <kfontcombo.h>
+
+#include "banner.h"
+#include "banner.moc"
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kbanner.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KBanner" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KBannerSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KBannerSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+KBannerSetup::KBannerSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Banner Screen Saver" ),
+ Ok|Cancel|Help, Ok, true ), saver( 0 ), ed(0), speed( 50 )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+ readSettings();
+
+ QWidget *main = makeMainWidget();
+
+ QLabel *label;
+
+ QVBoxLayout *tl = new QVBoxLayout(main, 0, spacingHint());
+ QHBoxLayout *tl1 = new QHBoxLayout( 0, 0, spacingHint() );
+ tl->addLayout(tl1);
+ QVBoxLayout *tl11 = new QVBoxLayout( 0, 0, spacingHint() );
+ tl1->addLayout(tl11);
+
+ QGroupBox *group = new QGroupBox( 0, Vertical, i18n("Font"), main );
+ QGridLayout *gl = new QGridLayout(group->layout(), 6, 2, spacingHint() );
+
+ label = new QLabel( i18n("Family:"), group );
+ gl->addWidget(label, 1, 0);
+
+ KFontCombo* comboFonts = new KFontCombo( QFontDatabase().families(), group );
+ comboFonts->setCurrentFont( fontFamily );
+ gl->addWidget(comboFonts, 1, 1);
+ connect( comboFonts, SIGNAL( activated( const QString& ) ),
+ SLOT( slotFamily( const QString& ) ) );
+
+ label = new QLabel( i18n("Size:"), group );
+ gl->addWidget(label, 2, 0);
+
+ comboSizes = new QComboBox( TRUE, group );
+ fillFontSizes();
+ gl->addWidget(comboSizes, 2, 1);
+ connect( comboSizes, SIGNAL( activated( int ) ), SLOT( slotSize( int ) ) );
+ connect( comboSizes, SIGNAL( textChanged( const QString & ) ),
+ SLOT( slotSizeEdit( const QString & ) ) );
+
+ QCheckBox *cb = new QCheckBox( i18n("Bold"),
+ group );
+ cb->setChecked( bold );
+ connect( cb, SIGNAL( toggled( bool ) ), SLOT( slotBold( bool ) ) );
+ gl->addWidget(cb, 3, 0);
+
+ cb = new QCheckBox( i18n("Italic"), group );
+ cb->setChecked( italic );
+ gl->addWidget(cb, 3, 1);
+ connect( cb, SIGNAL( toggled( bool ) ), SLOT( slotItalic( bool ) ) );
+
+ label = new QLabel( i18n("Color:"), group );
+ gl->addWidget(label, 4, 0);
+
+ colorPush = new KColorButton( fontColor, group );
+ gl->addWidget(colorPush, 4, 1);
+ connect( colorPush, SIGNAL( changed(const QColor &) ),
+ SLOT( slotColor(const QColor &) ) );
+
+ QCheckBox *cyclingColorCb=new QCheckBox(i18n("Cycling color"),group);
+ cyclingColorCb->setMinimumSize(cyclingColorCb->sizeHint());
+ gl->addMultiCellWidget(cyclingColorCb,5,5,0,1);
+ connect(cyclingColorCb,SIGNAL(toggled(bool)),this,SLOT(slotCyclingColor(bool)));
+ cyclingColorCb->setChecked(cyclingColor);
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new KBannerSaver( preview->winId() );
+ tl1->addWidget(preview);
+
+ tl11->addWidget(group);
+
+ label = new QLabel( i18n("Speed:"), main );
+ tl11->addStretch(1);
+ tl11->addWidget(label);
+
+ QSlider *sb = new QSlider(0, 100, 10, speed, QSlider::Horizontal, main );
+ sb->setMinimumWidth( 180);
+ sb->setFixedHeight(20);
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(10);
+ tl11->addWidget(sb);
+ connect( sb, SIGNAL( valueChanged( int ) ), SLOT( slotSpeed( int ) ) );
+
+ QHBoxLayout *tl2 = new QHBoxLayout;
+ tl->addLayout(tl2);
+
+ label = new QLabel( i18n("Message:"), main );
+ tl2->addWidget(label);
+
+ ed = new QLineEdit( main );
+ tl2->addWidget(ed);
+ ed->setText( message );
+ connect( ed, SIGNAL( textChanged( const QString & ) ),
+ SLOT( slotMessage( const QString & ) ) );
+
+ QCheckBox *timeCb=new QCheckBox( i18n("Show current time"), main);
+ timeCb->setFixedSize(timeCb->sizeHint());
+ tl->addWidget(timeCb,0,Qt::AlignLeft);
+ connect(timeCb,SIGNAL(toggled(bool)),this,SLOT(slotTimeToggled(bool)));
+ timeCb->setChecked(showTime);
+
+ tl->addStretch();
+}
+
+// read settings from config file
+void KBannerSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ speed=config->readNumEntry("Speed",50);
+/* if ( speed > 100 )
+ speed = 100;
+ else if ( speed < 50 )
+ speed = 50;*/
+
+ message=config->readEntry("Message","KDE");
+ showTime=config->readBoolEntry("ShowTime",FALSE);
+ fontFamily=config->readEntry("FontFamily",(QApplication::font()).family());
+ fontSize=config->readNumEntry("FontSize",48);
+ fontColor.setNamedColor(config->readEntry("FontColor","red"));
+ cyclingColor=config->readBoolEntry("CyclingColor",FALSE);
+ bold=config->readBoolEntry("FontBold",FALSE);
+ italic=config->readBoolEntry("FontItalic",FALSE);
+}
+
+void KBannerSetup::fillFontSizes()
+{
+ bool block = comboSizes->signalsBlocked();
+ comboSizes->blockSignals( true );
+ comboSizes->clear();
+ int i = 0;
+ sizes = QFontDatabase().pointSizes( fontFamily );
+ sizes << 96 << 128 << 156 << 0;
+ int current = 0;
+ while ( sizes[i] )
+ {
+ QString num;
+ num.setNum( sizes[i] );
+ comboSizes->insertItem( num, i );
+ if ( fontSize == sizes[i] ) // fontsize equals one of the defined ones
+ {
+ current = i;
+ comboSizes->setCurrentItem( current );
+ slotSize( current );
+ }
+ i++;
+ }
+ if ( current == 0 ) // fontsize seems to be entered by hand
+ {
+ QString fsize;
+ fsize.setNum( fontSize );
+ comboSizes->setEditText(fsize);
+ slotSizeEdit( fsize );
+ }
+ comboSizes->blockSignals( block );
+}
+
+void KBannerSetup::slotFamily( const QString& fam )
+{
+ fontFamily = fam;
+ fillFontSizes(); // different font, different sizes
+ if ( saver )
+ saver->setFont( fontFamily, fontSize, fontColor, bold, italic );
+}
+
+void KBannerSetup::slotSize( int indx )
+{
+ fontSize = sizes[indx];
+ if ( saver )
+ saver->setFont( fontFamily, fontSize, fontColor, bold, italic );
+}
+
+void KBannerSetup::slotSizeEdit( const QString& fs )
+{
+ bool ok;
+ fontSize = fs.toInt( &ok, 10 );
+ if ( ok )
+ if ( saver )
+ saver->setFont( fontFamily, fontSize, fontColor, bold, italic );
+}
+
+void KBannerSetup::slotColor( const QColor &col )
+{
+ fontColor = col;
+ if ( saver )
+ saver->setColor(fontColor);
+}
+
+void KBannerSetup::slotCyclingColor(bool on)
+{
+ colorPush->setEnabled(!on);
+ cyclingColor=on;
+
+ if ( saver )
+ {
+ saver->setCyclingColor( on );
+ if ( !on )
+ saver->setColor( fontColor );
+ }
+}
+
+void KBannerSetup::slotBold( bool state )
+{
+ bold = state;
+ if ( saver )
+ saver->setFont( fontFamily, fontSize, fontColor, bold, italic );
+}
+
+void KBannerSetup::slotItalic( bool state )
+{
+ italic = state;
+ if ( saver )
+ saver->setFont( fontFamily, fontSize, fontColor, bold, italic );
+}
+
+void KBannerSetup::slotSpeed( int num )
+{
+ speed = num;
+ if ( saver )
+ saver->setSpeed( speed );
+}
+
+void KBannerSetup::slotMessage( const QString &msg )
+{
+ message = msg;
+ if ( saver )
+ saver->setMessage( message );
+}
+
+void KBannerSetup::slotTimeToggled( bool on )
+{
+ ed->setEnabled(!on);
+ showTime=on;
+ if (saver)
+ {
+ if (showTime)
+ saver->setTimeDisplay();
+ else
+ {
+ message=ed->text();
+ saver->setMessage(message);
+ };
+ };
+}
+
+// Ok pressed - save settings and exit
+void KBannerSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ config->writeEntry( "Speed", speed );
+ config->writeEntry( "Message", message );
+ config->writeEntry( "ShowTime", showTime );
+ config->writeEntry( "FontFamily", fontFamily );
+
+ QString fsize;
+ if (fontSize == 0) // an non-number was entered in the font size combo
+ {
+ fontSize = 48;
+ }
+ fsize.setNum( fontSize );
+ config->writeEntry( "FontSize", fsize );
+
+ QString colName;
+ colName.sprintf( "#%02x%02x%02x", fontColor.red(), fontColor.green(),
+ fontColor.blue() );
+ config->writeEntry( "FontColor", colName );
+ config->writeEntry( "CyclingColor", cyclingColor );
+ config->writeEntry( "FontBold", bold );
+ config->writeEntry( "FontItalic", italic );
+
+ config->sync();
+
+ accept();
+}
+
+void KBannerSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("Banner Version 2.2.1\n\nWritten by Martin R. Jones 1996\nmjones@kde.org\nExtended by Alexander Neundorf 2000\nalexander.neundorf@rz.tu-ilmenau.de\n"));
+}
+
+//-----------------------------------------------------------------------------
+
+KBannerSaver::KBannerSaver( WId id ) : KScreenSaver( id )
+{
+ krnd = new KRandomSequence();
+ readSettings();
+ initialize();
+ colorContext = QColor::enterAllocContext();
+ needBlank = TRUE;
+ timer.start( speed );
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+}
+
+KBannerSaver::~KBannerSaver()
+{
+ timer.stop();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+ delete krnd;
+}
+
+void KBannerSaver::setSpeed( int spd )
+{
+ timer.stop();
+ int inv = 100 - spd;
+ speed = 1 + ((inv * inv) / 100);
+ timer.start( speed );
+}
+
+void KBannerSaver::setFont( const QString& family, int size, const QColor &color,
+ bool b, bool i )
+{
+ fontFamily = family;
+ fontSize = size;
+ fontColor = color;
+ bold = b;
+ italic = i;
+
+ initialize();
+}
+
+void KBannerSaver::setColor(QColor &color)
+{
+ fontColor = color;
+ cyclingColor = FALSE;
+ needUpdate = TRUE;
+}
+
+void KBannerSaver::setCyclingColor( bool on )
+{
+ cyclingColor = on;
+ needUpdate = TRUE;
+}
+
+void KBannerSaver::setMessage( const QString &msg )
+{
+ showTime = FALSE;
+ message = msg;
+ pixmapSize = QSize();
+ needBlank = TRUE;
+}
+
+void KBannerSaver::setTimeDisplay()
+{
+ showTime = TRUE;
+ pixmapSize = QSize();
+ needBlank = TRUE;
+}
+
+// read settings from config file
+void KBannerSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ setSpeed( config->readNumEntry("Speed",50) );
+
+ message=config->readEntry("Message","KDE");
+
+ showTime=config->readBoolEntry("ShowTime",FALSE);
+
+ fontFamily=config->readEntry("FontFamily",(QApplication::font()).family());
+
+ fontSize=config->readNumEntry("FontSize",48);
+
+ fontColor.setNamedColor(config->readEntry("FontColor","red"));
+
+ cyclingColor=config->readBoolEntry("CyclingColor",FALSE);
+
+ bold=config->readBoolEntry("FontBold",FALSE);
+ italic=config->readBoolEntry("FontItalic",FALSE);
+
+ if ( cyclingColor )
+ {
+ currentHue=0;
+ fontColor.setHsv(0,SATURATION,VALUE);
+ }
+}
+
+// initialize font
+void KBannerSaver::initialize()
+{
+ fsize = fontSize * height() / QApplication::desktop()->height();
+
+ font = QFont( fontFamily, fsize, bold ? QFont::Bold : QFont::Normal, italic );
+
+ pixmapSize = QSize();
+ needBlank = TRUE;
+
+ xpos = width();
+ ypos = fsize + (int) ((double)(height()-fsize)*krnd->getDouble());
+ step = 2 * width() / QApplication::desktop()->width(); // 6 -> 2 -hhjb-
+ if ( step == 0 )
+ step = 1;
+}
+
+// erase old text and draw in new position
+void KBannerSaver::slotTimeout()
+{
+ if (cyclingColor)
+ {
+ int hueStep = speed/10;
+ currentHue=(currentHue+hueStep)%360;
+ fontColor.setHsv(currentHue,SATURATION,VALUE);
+ }
+ if (showTime)
+ {
+ QString new_message = KGlobal::locale()->formatTime(QTime::currentTime(), true);
+ if( new_message != message )
+ needUpdate = TRUE;
+ message = new_message;
+ }
+ if ( !pixmapSize.isValid() || cyclingColor || needUpdate || needBlank )
+ {
+ QRect rect = QFontMetrics( font ).boundingRect( message );
+ rect.setWidth( rect.width() + step );
+ if ( rect.width() > pixmapSize.width() )
+ pixmapSize.setWidth( rect.width() );
+ if ( rect.height() > pixmapSize.height() )
+ pixmapSize.setHeight( rect.height() );
+ pixmap = QPixmap( pixmapSize );
+ pixmap.fill( black );
+ QPainter p( &pixmap );
+ p.setFont( font );
+ p.setPen( fontColor );
+ p.drawText( -rect.x(), -rect.y(), message );
+ needUpdate = FALSE;
+ }
+ xpos -= step;
+ if ( xpos < -pixmapSize.width() ) {
+ QPainter p( this );
+ p.fillRect( xpos + step, ypos, pixmapSize.width(), pixmapSize.height(), black );
+ xpos = width();
+ ypos = fsize + (int) ((double)(height()-2.0*fsize)*krnd->getDouble());
+ }
+
+ if ( needBlank )
+ {
+ setBackgroundColor( black );
+ erase();
+ needBlank = FALSE;
+ }
+ bitBlt( this, xpos, ypos, &pixmap, 0, 0, pixmapSize.width(), pixmapSize.height());
+}
diff --git a/kscreensaver/kdesavers/banner.h b/kscreensaver/kdesavers/banner.h
new file mode 100644
index 00000000..026b817d
--- /dev/null
+++ b/kscreensaver/kdesavers/banner.h
@@ -0,0 +1,112 @@
+//-----------------------------------------------------------------------------
+//
+// kbanner - Basic screen saver for KDE
+//
+// Copyright (c) Martin R. Jones 1996
+//
+
+#ifndef __BANNER_H__
+#define __BANNER_H__
+
+#include <qtimer.h>
+
+#include <kscreensaver.h>
+#include <kdialogbase.h>
+
+#define SATURATION 150
+#define VALUE 255
+
+class QLineEdit;
+class KColorButton;
+class KRandomSequence;
+
+class KBannerSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ KBannerSaver( WId id );
+ virtual ~KBannerSaver();
+
+ void setSpeed( int spd );
+ void setFont( const QString &family, int size, const QColor &color,
+ bool b, bool i );
+ void setMessage( const QString &msg );
+ void setTimeDisplay();
+ void setCyclingColor(bool on);
+ void setColor( QColor &color);
+
+private:
+ void readSettings();
+ void initialize();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ QFont font;
+ QTimer timer;
+ QString fontFamily;
+ int fontSize;
+ bool bold;
+ bool italic;
+ QColor fontColor;
+ bool cyclingColor;
+ int currentHue;
+ bool needUpdate;
+ bool needBlank;
+ QString message;
+ bool showTime;
+ int xpos, ypos, step, fsize;
+ KRandomSequence *krnd;
+ int speed;
+ int colorContext;
+ QPixmap pixmap;
+ QSize pixmapSize;
+};
+
+
+class KBannerSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ KBannerSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+ void fillFontSizes();
+
+private slots:
+ void slotFamily( const QString & );
+ void slotSize( int );
+ void slotSizeEdit(const QString &);
+ void slotColor(const QColor &);
+ void slotCyclingColor(bool on);
+ void slotBold( bool );
+ void slotItalic( bool );
+ void slotSpeed( int );
+ void slotMessage( const QString & );
+ void slotOk();
+ void slotHelp();
+ void slotTimeToggled(bool on);
+
+private:
+ QWidget *preview;
+ KColorButton *colorPush;
+ KBannerSaver *saver;
+ QLineEdit *ed;
+ QComboBox* comboSizes;
+
+ QString message;
+ bool showTime;
+ QString fontFamily;
+ int fontSize;
+ QColor fontColor;
+ bool cyclingColor;
+ bool bold;
+ bool italic;
+ int speed;
+ QValueList<int> sizes;
+};
+
+#endif
+
diff --git a/kscreensaver/kdesavers/blob.cpp b/kscreensaver/kdesavers/blob.cpp
new file mode 100644
index 00000000..e717c7ee
--- /dev/null
+++ b/kscreensaver/kdesavers/blob.cpp
@@ -0,0 +1,527 @@
+//-----------------------------------------------------------------------------
+//
+// kblob - Basic screen saver for KDE
+//
+// Copyright (c) Tiaan Wessels, 1997
+//
+// To add new alg :
+// - add blob_alg enum in blob.h before ALG_LAST
+// - choose 2 letter prefix for alg and add vars needed to private vars
+// in KBlobSaver in blob.h
+// - add xxSetup and xxNextFrame method definitions in blob.h
+// - implement methods in this file. xxSetup to init vars mentioned
+// in step 2. xxNextFrame to advance blob painter ( calc tx,ty and
+// use box() method to position painter
+// - add descriptive string in alg_str array in this file before "Random"
+// - add to Algs array in KBlobSaver constructor in this file
+// - test by setup saver and choosing alg from list
+
+#include <config.h>
+#include <stdlib.h>
+#include <time.h>
+#include <limits.h>
+#include <math.h>
+
+#include <qcolor.h>
+#include <qlabel.h>
+#include <qlistbox.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qimage.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kmessagebox.h>
+#include <knuminput.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <krandomsequence.h>
+
+#include "blob.moc"
+#include "blob.h"
+
+#define SMALLRAND(a) (int)(rnd->getLong(a)+1)
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kblob.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KBlob" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KBlobSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KBlobSetup();
+ }
+}
+
+static KRandomSequence *rnd = 0;
+
+QString alg_str[5];
+void initAlg()
+{
+ alg_str[0] = i18n("Random Linear");
+ alg_str[1] = i18n("Horizontal Sine");
+ alg_str[2] = i18n("Circular Bounce");
+ alg_str[3] = i18n("Polar Coordinates");
+ alg_str[4] = i18n("Random");
+}
+
+//-----------------------------------------------------------------------------
+// the blob screensaver's code
+
+KBlobSaver::KBlobSaver ( WId id)
+ : KScreenSaver( id )
+{
+ rnd = new KRandomSequence();
+ initAlg();
+ QColor color;
+ float ramp = (256.0-64.0)/(float)RAMP;
+ QString msg =
+ i18n("This screen saver requires a color display.");
+
+ blank();
+
+ // needs colors to work this one
+ if (QPixmap::defaultDepth() < 8)
+ {
+ QPainter p(this);
+ p.setPen( white );
+ p.drawText( width()/2, height()/2, msg );
+ return;
+ }
+
+ colorContext = QColor::enterAllocContext();
+
+ // if 8-bit, create lookup table for color ramping further down
+ if (QPixmap::defaultDepth() == 8)
+ {
+ memset(lookup, 0, 256*sizeof(uint));
+ int i;
+ for (i = 0; i < RAMP; i++)
+ {
+ color.setRgb(64+(int)(ramp*(float)i), 0, 0);
+ colors[i] = color.alloc();
+ }
+ memset(lookup, black.pixel(), sizeof(uint)*256);
+ for (i = 0; i < RAMP-1; i++)
+ lookup[colors[i]] = colors[i+1];
+ lookup[black.pixel()] = lookup[colors[RAMP-1]] = colors[0];
+ }
+ else
+ {
+ // make special provision for preview mode
+ if (height() < 400)
+ {
+ if (QPixmap::defaultDepth() > 8 )
+ setColorInc(7);
+ else
+ setColorInc(4);
+ }
+ else
+ {
+ if (QPixmap::defaultDepth() > 8 )
+ setColorInc(3);
+ else
+ setColorInc(2);
+ }
+ }
+
+ // the dimensions of the blob painter
+ dim = height()/70+1;
+
+ // record starting time to know when to change frames
+ start = time(NULL);
+
+ // init some parameters used by all algorithms
+ xhalf = width()/2;
+ yhalf = height()/2;
+
+ // means a new algorithm should be set at entrance of timer
+ newalg = newalgp = 1;
+
+ // init algorithm space
+ Algs[0].Name = alg_str[0];
+ Algs[0].Init = &KBlobSaver::lnSetup;
+ Algs[0].NextFrame = &KBlobSaver::lnNextFrame;
+
+ Algs[1].Name = alg_str[1];
+ Algs[1].Init = &KBlobSaver::hsSetup;
+ Algs[1].NextFrame = &KBlobSaver::hsNextFrame;
+
+ Algs[2].Name = alg_str[2];
+ Algs[2].Init = &KBlobSaver::cbSetup;
+ Algs[2].NextFrame = &KBlobSaver::cbNextFrame;
+
+ Algs[3].Name = alg_str[3];
+ Algs[3].Init = &KBlobSaver::pcSetup;
+ Algs[3].NextFrame = &KBlobSaver::pcNextFrame;
+
+ // get setup from kde registry
+ readSettings();
+
+ // start timer which will update blob painter
+ timer.start(SPEED);
+ connect(&timer, SIGNAL(timeout()), SLOT(slotTimeout()));
+}
+
+KBlobSaver::~KBlobSaver()
+{
+ timer.stop();
+
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext(colorContext);
+ delete rnd; rnd = 0;
+}
+
+void KBlobSaver::setAlgorithm(int a)
+{
+ newalg = newalgp = ((a == ALG_RANDOM) ? 1 : 2);
+ alg = a;
+}
+
+void KBlobSaver::lnSetup()
+{
+ // initialize the blob movement dictators with random vals
+ // incrementals on axis
+ ln_xinc = SMALLRAND(3);
+ ln_yinc = SMALLRAND(2);
+
+ // start position
+ tx = SMALLRAND(width()-dim-ln_xinc*2);
+ ty = SMALLRAND(height()-dim-ln_yinc*2);
+}
+
+void KBlobSaver::hsSetup()
+{
+ hs_per = SMALLRAND(7);
+ hs_radians = 0.0;
+ hs_rinc = (hs_per*M_PI)/(hs_per*90*4);
+ hs_flip = 1.0;
+}
+
+void KBlobSaver::cbSetup()
+{
+ cb_radians = 0.0;
+ cb_rinc = (2.0*M_PI)/360.0;
+ cb_sradians = 0.0;
+ cb_deviate = SMALLRAND(height()/20)+(height()/15);
+ cb_radius = height()/2-cb_deviate*2-2*dim;
+ cb_devradinc = (rnd->getDouble()*10.0*2.0*M_PI)/360.0;
+}
+
+void KBlobSaver::pcSetup()
+{
+ pc_angle = 0.0;
+ pc_radius = 0.0;
+ pc_inc = (2.0*M_PI)/720.0;
+ pc_crot = 0.0;
+ pc_div = SMALLRAND(4)-1;
+}
+
+// render next frame ( or change algorithms )
+void KBlobSaver::slotTimeout()
+{
+ time_t now = time(NULL);
+
+ // should algorithm be changed
+ if (now-start > showlen)
+ newalg = newalgp;
+
+ // set new algorithm
+ if (newalg)
+ {
+ blank();
+ if (newalg == 1)
+ alg = SMALLRAND(ALG_LAST)-1;
+ (this->*Algs[alg].Init)();
+ newalg = 0;
+ start = time(NULL);
+ }
+
+ // gen next fram for current algorithm
+ (this->*Algs[alg].NextFrame)();
+}
+
+void KBlobSaver::lnNextFrame()
+{
+ int dir;
+
+ // depending on the algorithm to use, move the blob painter to
+ // a new location
+ // check for wall hit to change direction
+ if (tx+dim+ln_xinc > (int)width()-1 || tx+ln_xinc < 0)
+ {
+ if (ln_xinc > 0)
+ dir = -1;
+ else
+ dir = 1;
+ ln_xinc = SMALLRAND(3)*dir;
+ }
+ if (ty+dim+ln_yinc > (int)height()-1 || ty+ln_yinc < 0)
+ {
+ if (ln_yinc > 0)
+ dir = -1;
+ else
+ dir = 1;
+ ln_yinc = SMALLRAND(2)*dir;
+ }
+
+ // move box to new position
+ tx += ln_xinc;
+ ty += ln_yinc;
+
+ // draw new box
+ box(tx, ty);
+}
+
+void KBlobSaver::hsNextFrame()
+{
+ static int xlen = width()-(4*dim);
+ static int ylen = height()-(4*dim);
+
+ // calc x as offset on angle line and y as vertical offset
+ // on interval -1..1 sine of angle
+ tx = (int)((hs_radians/(hs_per*M_PI))*(float)xlen);
+ ty = (int)((float)(ylen/4)*(hs_flip*sin(hs_radians)))+yhalf;
+
+ // draw new box
+ box(tx, ty);
+
+ // set new radians
+ hs_radians += hs_rinc;
+ if (hs_radians > hs_per*M_PI)
+ {
+ hs_rinc *= -1.0;
+ hs_radians += hs_rinc;
+ hs_flip *= -1.0;
+ }
+ else if (hs_radians < 0.0)
+ hsSetup();
+}
+
+void KBlobSaver::cbNextFrame()
+{
+ int deviate;
+
+ // calculate deviation of circle main radius
+ deviate = (int)(sin(cb_sradians)*cb_deviate);
+
+ // calculate topleft of box as a circle with a sine perturbed radius
+ tx = (int)(cos(cb_radians)*(cb_radius+deviate))+xhalf;
+ ty = (int)(sin(cb_radians)*(cb_radius+deviate))+yhalf;
+
+ // draw the box
+ box(tx, ty);
+
+ // increase greater circle render angle
+ cb_radians += cb_rinc;
+ if (cb_radians > 2.0*M_PI)
+ cb_radians -= 2.0*M_PI;
+
+ // increase radius deviation offset on sine wave
+ cb_sradians += cb_devradinc;
+}
+
+void KBlobSaver::pcNextFrame()
+{
+ static float scale = (float)height()/3.0 - 4.0*dim;
+
+ // simple polar coordinate equation
+ if (pc_div < 1.0)
+ pc_radius = cos(2.0*pc_angle);
+ else
+ pc_radius = 1.0/pc_div + cos(2.0*pc_angle);
+
+ tx = (int)(scale*pc_radius*cos(pc_angle+pc_crot))+xhalf;
+ ty = (int)(scale*pc_radius*sin(pc_angle+pc_crot))+yhalf;
+
+ // advance blob painter
+ box(tx, ty);
+
+ // new movement parameters
+ pc_angle += pc_inc;
+ if (pc_angle > 2.0*M_PI)
+ {
+ pc_angle -= 2.0*M_PI;
+ pc_crot += M_PI/45.0;
+ }
+}
+
+void KBlobSaver::box ( int x, int y )
+{
+ // for bad behaving algorithms that wants to cause an X trap
+ // confine to the valid region before using potentially fatal XGetImage
+ if ((x+dim) >= width())
+ x = width()-dim-1;
+ else if (x < 0)
+ x = 0;
+ if ((y+dim) > height())
+ y = height()-dim-1;
+ else if (y < 0)
+ y = 0;
+
+ // get the box region from the display to upgrade
+ QImage img = QPixmap::grabWindow(winId(), x, y, dim, dim).convertToImage();
+
+ // depending on the depth of the display, use either lookup table for
+ // next rgb val ( 8-bit ) or ramp the color directly for other displays
+ if ( img.depth() == 8)
+ {
+ // manipulate image by upgrading each pixel with 1 using a lookup
+ // table as the color allocation could have resulted in a spread out
+ // configuration of the color ramp
+ for (int j = 0; j < img.height(); j++)
+ {
+ for (int i = 0; i < img.width(); i++)
+ {
+ img.scanLine(j)[i] = lookup[img.scanLine(j)[i]];
+ }
+ }
+ }
+ else
+ {
+ for (int j = 0; j < img.height(); j++)
+ {
+ for (int i = 0; i < img.width(); i++)
+ {
+ QRgb p = img.pixel( i, j );
+ p += (colorInc<<18);
+ img.setPixel( i, j, p );
+ }
+ }
+ }
+
+ // put the image back onto the screen
+ QPainter p(this);
+ p.drawImage( x, y, img );
+}
+
+void KBlobSaver::blank()
+{
+ setBackgroundColor( black );
+ erase();
+}
+
+void KBlobSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+
+ // number of seconds to spend on a frame
+ showlen = config->readNumEntry("Showtime", 3*60);
+
+ // algorithm to use. if not set then use random
+ alg = config->readNumEntry("Algorithm", ALG_RANDOM);
+ if (alg == ALG_RANDOM)
+ newalg = 1;
+ else
+ newalg = 2;
+ newalgp = newalg;
+}
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+KBlobSetup::KBlobSetup
+(
+ QWidget *parent,
+ const char *name
+)
+: KDialogBase( parent, name, true, i18n( "Setup Blob Screen Saver" ),
+ Ok|Cancel|Help, Ok, true )
+{
+
+ initAlg();
+
+ // get saver configuration from kde registry
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *tl = new QHBoxLayout( main, 0, spacingHint() );
+
+ QVBoxLayout *vbox = new QVBoxLayout;
+ tl->addLayout(vbox);
+
+ // seconds to generate on a frame
+ QLabel *label = new QLabel(i18n("Frame duration:"), main);
+ stime = new KIntNumInput( showtime, main );
+ stime->setSuffix( i18n( " sec" ) );
+ vbox->addWidget(label);
+ vbox->addWidget(stime);
+
+ // available algorithms
+ label = new QLabel(i18n("Algorithm:"), main);
+ algs = new QListBox(main);
+ algs->setMinimumSize(150, 105);
+ for (int i = 0; i <= ALG_RANDOM; i++)
+ algs->insertItem(alg_str[i]);
+ algs->setCurrentItem(alg);
+ vbox->addWidget(label);
+ vbox->addWidget(algs);
+
+ // preview window
+ QWidget *preview = new QWidget( main );
+ preview->setFixedSize(220, 170);
+ preview->setBackgroundColor(black);
+ preview->show();
+ tl->addWidget(preview);
+ saver = new KBlobSaver(preview->winId());
+ saver->setDimension(3);
+ if (QPixmap::defaultDepth() > 8)
+ saver->setColorInc(7);
+ else
+ saver->setColorInc(4);
+
+ tl->addStretch();
+
+ // so selecting an algorithm will start previewing that alg
+ connect(algs, SIGNAL(highlighted(int)), saver,
+ SLOT(setAlgorithm(int)));
+}
+
+void KBlobSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+
+ // number of seconds to spend on a frame
+ showtime = config->readNumEntry("Showtime", 3*60);
+
+ // algorithm to use. if not set then use random
+ alg = config->readNumEntry("Algorithm", ALG_LAST);
+}
+
+// Ok pressed - save settings and exit
+void KBlobSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("Settings");
+
+ config->writeEntry("Showtime", stime->value());
+ config->writeEntry("Algorithm", algs->currentItem());
+
+ config->sync();
+
+ accept();
+}
+
+void KBlobSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("Blobsaver Version 0.1\n\nWritten by Tiaan Wessels 1997\ntiaan@netsys.co.za"));
+ if (saver)
+ saver->setAlgorithm(algs->currentItem());
+}
+
+
diff --git a/kscreensaver/kdesavers/blob.h b/kscreensaver/kdesavers/blob.h
new file mode 100644
index 00000000..93a02998
--- /dev/null
+++ b/kscreensaver/kdesavers/blob.h
@@ -0,0 +1,117 @@
+//-----------------------------------------------------------------------------
+//
+// kblob - Basic screen saver for KDE
+//
+// Copyright (c) Tiaan Wessels, 1997
+//
+
+#ifndef __BLOB_H__
+#define __BLOB_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+#define RAMP 64
+#define SPEED 10
+
+enum blob_alg {
+ ALG_LINEAR,
+ ALG_HSINE,
+ ALG_CIRB,
+ ALG_POLARC,
+ ALG_LAST,
+ ALG_RANDOM = ALG_LAST };
+
+class KBlobSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+public:
+ KBlobSaver( WId id );
+ virtual ~KBlobSaver();
+
+ void setDimension(int d)
+ { dim = d; }
+ void setShowlen(time_t s)
+ { showlen = s; }
+ void setColorInc(int c)
+ { colorInc = c; }
+
+public slots:
+ void setAlgorithm(int);
+
+public:
+ typedef void (KBlobSaver::*AlgFunc)();
+ struct KBSAlg
+ {
+ QString Name;
+ AlgFunc Init;
+ AlgFunc NextFrame;
+ };
+private:
+
+ QTimer timer;
+ uint colors[RAMP];
+ uint lookup[256];
+ int colorContext, colorInc;
+ int tx, ty;
+ int dim;
+ int xhalf, yhalf;
+ int alg, newalg, newalgp;
+ time_t showlen, start;
+ KBSAlg Algs[ALG_LAST];
+ int ln_xinc, ln_yinc;
+ float hs_radians, hs_rinc, hs_flip, hs_per;
+ float cb_radians, cb_rinc, cb_sradians, cb_radius, cb_devradinc;
+ float cb_deviate;
+ float pc_angle, pc_radius, pc_inc, pc_crot, pc_div;
+
+ void lnSetup();
+ void hsSetup();
+ void cbSetup();
+ void pcSetup();
+
+ void lnNextFrame();
+ void hsNextFrame();
+ void cbNextFrame();
+ void pcNextFrame();
+
+ void blank();
+ void box(int, int);
+ void readSettings();
+
+protected slots:
+ void slotTimeout();
+};
+
+class QListBox;
+class KIntNumInput;
+
+class KBlobSetup : public KDialogBase
+{
+ Q_OBJECT
+
+ int showtime;
+ int alg;
+ QListBox *algs;
+ KIntNumInput *stime;
+
+public:
+ KBlobSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotOk();
+ void slotHelp();
+
+private:
+ KBlobSaver *saver;
+};
+
+#endif
+
diff --git a/kscreensaver/kdesavers/data/Makefile.am b/kscreensaver/kdesavers/data/Makefile.am
new file mode 100644
index 00000000..2882f34c
--- /dev/null
+++ b/kscreensaver/kdesavers/data/Makefile.am
@@ -0,0 +1,11 @@
+# Makefile.am for screensavers data
+
+METASOURCES = AUTO
+
+if COMPILE_GL_KSAVERS
+kfiresaver_DATA = kfs_particle.png kfs_particle_flare.png kfs_particle_diastar.png\
+ kfs_kde.png kfs_tux.png\
+ kfs_letters1.png kfs_letters2.png kfs_letters.desc\
+ kfs_explode.ogg kfs_debris.ogg
+kfiresaverdir = $(kde_datadir)/kfiresaver
+endif
diff --git a/kscreensaver/kdesavers/data/kfs_debris.ogg b/kscreensaver/kdesavers/data/kfs_debris.ogg
new file mode 100644
index 00000000..f1265ec2
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_debris.ogg
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_explode.ogg b/kscreensaver/kdesavers/data/kfs_explode.ogg
new file mode 100644
index 00000000..3eda0ef0
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_explode.ogg
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_kde.png b/kscreensaver/kdesavers/data/kfs_kde.png
new file mode 100644
index 00000000..33f53b33
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_kde.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_letters.desc b/kscreensaver/kdesavers/data/kfs_letters.desc
new file mode 100644
index 00000000..186a1b8d
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_letters.desc
@@ -0,0 +1,84 @@
+#first map and its coordinates
+#note that capitals are used for lowercase also
+
+"kfs_letters1.png"
+
+A 0 0 48 63
+a 0 0 48 63
+B 48 0 87 63
+b 48 0 87 63
+C 87 0 132 63
+c 87 0 132 63
+D 132 0 178 63
+d 132 0 178 63
+E 179 0 222 63
+e 179 0 222 63
+
+F 0 64 40 127
+f 0 64 40 127
+G 41 64 89 127
+g 41 64 89 127
+H 89 64 142 127
+h 89 64 142 127
+I 142 64 180 127
+i 142 64 180 127
+J 180 64 227 127
+j 180 64 227 127
+
+K 0 128 40 191
+k 0 128 40 191
+L 41 128 80 191
+l 41 128 80 191
+M 80 128 142 191
+m 80 128 142 191
+N 142 128 196 191
+n 142 128 196 191
+O 196 128 252 191
+o 196 128 252 191
+
+P 0 192 36 255
+p 0 192 36 255
+Q 36 192 97 255
+q 36 192 97 255
+R 97 192 142 255
+r 97 192 142 255
+S 142 192 189 255
+s 142 192 189 255
+T 189 192 244 255
+t 189 192 244 255
+
+
+"kfs_letters2.png"
+
+U 0 0 50 63
+u 0 0 50 63
+V 50 0 97 63
+v 50 0 97 63
+W 97 0 169 63
+w 97 0 169 63
+X 169 0 220 63
+x 169 0 220 63
+, 220 0 239 63
+. 239 0 254 63
+
+Y 0 64 48 127
+y 0 64 48 127
+Z 48 64 99 127
+z 48 64 99 127
+! 99 64 119 127
+? 119 64 157 127
+- 157 64 188 127
+: 188 64 205 127
+; 205 64 226 127
+
+0 0 128 45 191
+1 45 128 75 191
+2 75 128 118 191
+3 118 128 158 191
+4 158 128 203 191
+5 203 128 245 191
+
+6 0 192 41 255
+7 41 192 86 255
+8 86 192 127 255
+9 127 192 169 255
diff --git a/kscreensaver/kdesavers/data/kfs_letters1.png b/kscreensaver/kdesavers/data/kfs_letters1.png
new file mode 100644
index 00000000..2f6678ba
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_letters1.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_letters2.png b/kscreensaver/kdesavers/data/kfs_letters2.png
new file mode 100644
index 00000000..8d0442ac
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_letters2.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_particle.png b/kscreensaver/kdesavers/data/kfs_particle.png
new file mode 100644
index 00000000..d6294dc3
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_particle.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_particle_diastar.png b/kscreensaver/kdesavers/data/kfs_particle_diastar.png
new file mode 100644
index 00000000..6f645ddb
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_particle_diastar.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_particle_flare.png b/kscreensaver/kdesavers/data/kfs_particle_flare.png
new file mode 100644
index 00000000..4a4fdcb5
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_particle_flare.png
Binary files differ
diff --git a/kscreensaver/kdesavers/data/kfs_tux.png b/kscreensaver/kdesavers/data/kfs_tux.png
new file mode 100644
index 00000000..99f3465e
--- /dev/null
+++ b/kscreensaver/kdesavers/data/kfs_tux.png
Binary files differ
diff --git a/kscreensaver/kdesavers/firesaver.ChangeLog b/kscreensaver/kdesavers/firesaver.ChangeLog
new file mode 100644
index 00000000..98749856
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaver.ChangeLog
@@ -0,0 +1,106 @@
+2004-06-29 Enrico Ros <eros.kde@email.it>
+
+ * general : added support for 'per particle' texture with
+ smart binding. added 2 textures (explosion light / toxxic)
+
+ * firesaverparticle : finished TurningParticle class. moved
+ some code from the header to the cpp.
+
+ * firesaver : added 'Toxic spirals' fireworks, disabled
+ supernova in .ui since after 3.3. fixed monochrome<->monotype
+ bug.
+
+ * firesaverwriter : bugfix on word's color (blinking on start).
+
+2004-05-30 Enrico Ros <eros.kde@email.it>
+
+ * this file : renamed Changelog to firesaver.ChangeLog
+
+ * general : moved / renamed files and chaged stuff to get ready
+ to be imported into kdeartwork.
+
+ * general : all images are .png, all sounds are .ogg.
+
+2004-02-07 Enrico Ros <eros.kde@email.it>
+
+ * firesaver.cpp : implemented trail and alpha on explosions.
+
+ * firesaver : damn dirty bug! reordered projection lines. Looks
+ way cooler now. trimmed defaults.
+
+ * firesaversetup : config dialog redone from scratch. Now it is
+ more usable and ready for translation into different languages.
+ Also added many new features.
+
+ * firesaver : adapted to setup dialog changes (also embeds the
+ setup widget into a KDialogBase). Implemented some new features
+ added in the setup dialog.
+
+2004-02-06 Enrico Ros <eros.kde@email.it>
+
+ * all : optimized logic and math.. kcachegrind rules.
+
+ * firesaverparticle : inheritance test on particle class.
+ Implemented a "funny phisics" on the TurningParticle class. This
+ will lead to strange fireworks (spirals, fountains... )
+
+2004-01-31 Enrico Ros <eros.kde@email.it>
+
+ * all : leak checked and fixed uninitialized values. optimized
+ the code for less cpu consumption (reduced 7% over the 19% of
+ internal code cpu consumption (the remaining 81% of cpu time is
+ spent into GL libraries!!..) seems there's a limit to the code
+ optimization!).
+
+ * firesaver : added KDE icons as exploding elements and checked
+ the explode logo routine.
+
+ * fw_letters* : added support for overlay writings. cleaned api.
+
+ * firesaver.cpp/.h : implemented texture loader. some fixes and
+ a major speedup. again more changes to the graphical pipeline.
+
+2004-01-30 Enrico Ros <eros.kde@email.it>
+
+ * firesaverparticle.cpp/.h: cleaned a lot; changed the interface.
+ It's not completely decoupled from the 'firework' entity yet.
+
+ * fw_debris.ogg: added a second sound (used only on logo explosion
+ for now).
+
+ * firesaver.cpp: reworked the generation of image logos (new
+ default: 64x64 pixel for hi-res).
+
+2004-01-29 Enrico Ros <eros.kde@email.it>
+
+ * firesaver.cpp: fix: screen blink. add: particle size not
+ dependant from screen size.
+
+ * firesaver.cpp: optimized the rendering core for particles.
+ Computation takes now less than half of the time than before.
+ Set a capacity of 20000 simultaneous particles; more will be
+ dropped (but a progressive 'resize' is done..)
+
+ * fw_explode.ogg: converted sound file to ogg format.
+
+ * firesaver.cpp/.h: redone the audio engine (limited by default
+ to 4 mixer channels).
+
+ * firesaver.cpp: use the .mp3 sound that is "auto-mixed" by the
+ sound system. The old Wav was played sequentially (a boom is heard
+ after the previous one terminates). The Ogg format has the same
+ problem as the wave one (plus it goes on playing many booms after
+ the program is exited).
+
+2004-01-28 Enrico Ros <eros.kde@email.it>
+
+ * firesaverparticle.cpp: keep a particle independent from the
+ 'shape' of the firework it belongs to. Added depth (level) of
+ explosion (normal particles reach level 1, splitters reach 2).
+
+ * name syntax: converted filenames to match the style of the ones
+ in kdeartwork/kscreensaver/kdesavers.
+
+ * merging: merged some file's content to lower the number of files
+ before initial import.
+
diff --git a/kscreensaver/kdesavers/firesaver.cpp b/kscreensaver/kdesavers/firesaver.cpp
new file mode 100644
index 00000000..fff07dde
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaver.cpp
@@ -0,0 +1,1151 @@
+// This file is part of KFireSaver3D.
+
+// KFireSaver3D is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+
+// KFireSaver3D is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with KFireSaver3D; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+// Author: Enrico Ros, based on the great work of David Sansome (kfiresaver)
+// Email: asy@libero.it
+
+#include <math.h>
+#include <sys/time.h>
+#include <stdlib.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kurl.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <arts/kmedia2.h>
+#include <arts/kplayobject.h>
+#include <arts/kplayobjectfactory.h>
+
+#include "firesaversetup.h"
+#include "firesaverparticle.h"
+#include "firesaverwriter.h"
+#include "firesaver.h"
+
+
+/* Factory code for KScreensaver begins *here* *\
+\* */
+
+#include <kscreensaver.h>
+#include <kdialogbase.h>
+
+class KFireSaverKSS : public KScreenSaver
+{
+ public:
+ KFireSaverKSS( WId id )
+ : KScreenSaver( id )
+ {
+ setBackgroundColor( black );
+ erase();
+ saver = new KFireSaver;
+ embed(saver);
+ saver->show();
+ }
+
+ ~KFireSaverKSS()
+ {
+ delete saver;
+ }
+
+ private:
+ KFireSaver* saver;
+};
+
+class KFireSaverSetupKDB : public KDialogBase
+{
+ public:
+ KFireSaverSetupKDB( QWidget* parent = 0, const char* name = 0 )
+ : KDialogBase( parent, name, true, i18n("Setup Screen Saver"),
+ Ok | Cancel | Help, Ok, true )
+ {
+ setup = new KFireSaverSetup( this );
+ setMainWidget( setup );
+ setButtonText( KDialogBase::Help, i18n( "A&bout" ) );
+ }
+
+ private slots:
+ void slotHelp()
+ {
+ KMessageBox::about(this, i18n("<h3>KFireSaver 3D 1.0</h3>\n<p>TEST Koral - Enrico Ros::2004</p>") );
+ }
+ void slotOk()
+ {
+ setup->writeConfig();
+ accept();
+ }
+
+ private:
+ KFireSaverSetup * setup;
+};
+
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kfiresaver.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Fireworks 3D (GL)" );
+ KDE_EXPORT const char *kss_version = "0.7";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KFireSaverKSS( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KFireSaverSetupKDB;
+ }
+}
+
+/* *\
+\* Factory code for KScreensaver ends *here* */
+
+
+KFireSaver :: KFireSaver( QWidget *parent, const char *name )
+ : QGLWidget( parent, name )
+{
+ // set random seed to initialize drand48() calls
+ timeval tv;
+ gettimeofday(&tv,NULL);
+ srand48( (long)tv.tv_usec );
+
+ readConfig();
+
+ particleList.setAutoDelete(true);
+ starList.setAutoDelete(true);
+ imageList.setAutoDelete(true);
+ playObjectList.setAutoDelete(true);
+
+ //initialize openGL context before managing GL calls
+ makeCurrent();
+ loadTexture( locate("data","kfiresaver/kfs_particle.png"), particleTexture );
+ loadTexture( locate("data","kfiresaver/kfs_particle_flare.png"), flareTexture );
+ loadTexture( locate("data","kfiresaver/kfs_particle_diastar.png"), diastarTexture );
+ starTexture = particleTexture;
+
+ //generate stars
+ if (parameters.enableStars) {
+ int number = parameters.starsNumber + 1;
+ number *= 10 * number;
+ for (int i=0 ; i<number ; i++)
+ {
+ Particle * star = new Particle( Particle::StarParticle );
+ star->initializeValues();
+ star->texture = starTexture;
+ if (parameters.enableStarGradient)
+ {
+ GLfloat red = star->colour[0],
+ green = star->colour[1],
+ blue = star->colour[2],
+ tint = 0.5 + star->ypos / FIELDWIDTH,
+ merge = 0.3 + DRAND*0.7,
+ mergen = 1 - merge;
+ star->colour[0] = red * merge + (1.0-tint) * mergen;
+ star->colour[1] = green * merge + tint * mergen;
+ star->colour[2] = blue * merge + tint * mergen;
+ }
+ starList.append( star );
+ }
+ }
+
+ //generate bottom fire
+ if (parameters.enableBottomFire) {
+ float cRed = (float)parameters.bottomFireColor.red() / 255.0,
+ cGreen = (float)parameters.bottomFireColor.green() / 255.0,
+ cBlue = (float)parameters.bottomFireColor.blue() / 255.0;
+ for (int i=0 ; i<NUMBER_OF_FIREPARTICLES ; i++)
+ {
+ Particle* particle = new Particle( Particle::FireParticle );
+ particle->initializeValues();
+ particle->texture = particleTexture;
+ particle->zspeed *= 4.0;
+ particle->colour[0] = cRed * (0.6 + 0.4*DRAND);
+ particle->colour[1] = cGreen * (0.6 + 0.4*DRAND);
+ particle->colour[2] = cBlue * (0.6 + 0.4*DRAND);
+ particleList.append(particle);
+ }
+ }
+
+ //get sound files
+ if (parameters.enableSound) {
+ sound_explosion = locate("data","kfiresaver/kfs_explode.ogg");
+ sound_debris = locate("data","kfiresaver/kfs_debris.ogg");
+ }
+
+ //create the writer class that manages flying writings.
+ if ( parameters.enableWritings )
+ writer = new Writer("kfs_letters.desc");
+
+ showp.forceBicolour =
+ showp.forceColour =
+ showp.forcePower =
+ showp.forceType = false;
+ showp.timeStamp = 0.0;
+ startTimer(MSECPERIOD);
+
+ //force initialization of "show" variables for the first time
+ timerEvent(NULL);
+}
+
+
+KFireSaver :: ~KFireSaver()
+{
+ freeTexture( particleTexture );
+ freeTexture( starTexture );
+ particleList.clear();
+ starList.clear();
+ imageList.clear();
+ playObjectList.clear();
+ if ( parameters.enableWritings )
+ delete writer;
+}
+
+
+void KFireSaver :: initializeGL()
+{
+ glDisable(GL_DEPTH_TEST);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA,GL_ONE);
+ glShadeModel( GL_SMOOTH );
+
+ resizeGL( 640, 480 );
+}
+
+
+void KFireSaver :: resizeGL( int width, int height )
+{
+ glViewport( 0, 0, width, height );
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho( -FIELDW_2, FIELDW_2, -FIELDW_2, FIELDW_2, 5.0, 60.0 );
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ float ratio = (float)width / (float)height,
+ numH = 750 - 90 * parameters.particleSize,
+ numW = 1000 - 120 * parameters.particleSize;
+ if ( ratio >= (4.0/3.0) ) {
+ unitX = FIELDWIDTH / (numH * ratio);
+ unitY = FIELDWIDTH / numH;
+ } else {
+ unitX = FIELDWIDTH / numW;
+ unitY = FIELDWIDTH / (numW / ratio);
+ }
+
+ timeval tv;
+ gettimeofday(&tv,NULL);
+ timeStampFrame = (double)tv.tv_sec + (double)tv.tv_usec/1000000.0;
+
+ firstGLFrame = true;
+}
+
+
+void KFireSaver :: paintGL ()
+/* Main procedure. It does the following:
+ - calculate time diff between current and previous frame
+ - clear the color buffer
+ - simple render of stars
+ - advanced render of particles
+ - render
+ - update physics based on time difference
+ - check die/change conditions
+ - call to explode_firework if a leader dies
+ - if random -> start a new firework
+ - if random -> explode a penquin or kde logo
+*/
+{
+ /* calculate TIME ELAPSED between current and previous frame */
+
+ timeval tv;
+ gettimeofday(&tv,NULL);
+ double timeCurrent = (double)tv.tv_sec + (double)tv.tv_usec/1000000.0;
+ double timeDiff = (MSECPERIOD / 1000.0);
+ if (parameters.enableRealtime)
+ {
+ timeDiff = timeCurrent - timeStampFrame;
+ timeStampFrame = timeCurrent;
+ timeDiff = (timeDiff > 0.5) ? 0.5 : (timeDiff < 0.005) ? 0.005 : timeDiff;
+ }
+
+ /* CLEAR SCREEN: to do it there are 2 ways */
+
+ glLoadIdentity();
+ glTranslatef( 0, 0, -50.0 );
+ glDisable( GL_TEXTURE_2D );
+
+ if ( !parameters.enableFade || firstGLFrame )
+ { // quick - clear the OpenGL color buffer
+ glClearColor( 0.0, 0.0, 0.0, 1.0 );
+ glClear( GL_COLOR_BUFFER_BIT );
+ firstGLFrame = false;
+ }
+ else
+ { // good looking
+ /* superpose a semi-transparent black rectangle so we
+ can see a sort of 'tail' for each particle drawn. */
+ const GLfloat conv_tab[10] = {
+ 0.50, 0.33, 0.22, 0.15, 0.10,
+ 0.07, 0.05, 0.03, 0.02, 0.01 };
+ glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
+ glColor4f(0.0,0.0,0.0, conv_tab[parameters.fadeAmount]);
+ glBegin( GL_TRIANGLE_STRIP );
+ glVertex2f( FIELDW_2, FIELDW_2 );
+ glVertex2f( -FIELDW_2, FIELDW_2 );
+ glVertex2f( FIELDW_2, -FIELDW_2 );
+ glVertex2f( -FIELDW_2, -FIELDW_2 );
+ glEnd();
+ glBlendFunc(GL_SRC_ALPHA,GL_ONE);
+ }
+
+ /* render STARS */
+
+ if (parameters.enableStars) {
+ if ( starTexture ) {
+ glEnable( GL_TEXTURE_2D );
+ glBindTexture( GL_TEXTURE_2D, currentTexture = starTexture );
+ } else
+ glDisable( GL_TEXTURE_2D );
+
+ glBegin( GL_QUADS );
+ bool flickers = parameters.enableStarFlickering;
+ float alpha = flickers ? 0.5 : 1.0;
+ Particle * star = starList.first();
+ for (; star; star = starList.next())
+ {
+ if (flickers && DRAND<0.6)
+ continue;
+
+ GLfloat sizeX = star->pixelSize * unitX,
+ sizeY = star->pixelSize * unitY,
+ pLeft = star->xpos - sizeX,
+ pRight = star->xpos + sizeX,
+ pTop = star->ypos + sizeY,
+ pBottom = star->ypos - sizeY;
+ glColor4f(star->colour[0], star->colour[1], star->colour[2], alpha);
+ glTexCoord2f( 0, 0 ); // Bottom Left
+ glVertex2f( pLeft, pBottom );
+ glTexCoord2f( 0, 1 ); // Top Left
+ glVertex2f( pLeft, pTop );
+ glTexCoord2f( 1, 1 ); // Top Right
+ glVertex2f( pRight, pTop );
+ glTexCoord2f( 1, 0 ); // Bottom Right
+ glVertex2f( pRight, pBottom );
+ }
+ glEnd();
+ }
+
+ /* render FIREWORKS */
+
+ glBegin( GL_QUADS );
+ bool playedExplodeSound = false;
+ bool flashedScreen = false;
+ Particle * particle = particleList.first();
+ for (; particle; particle = particleList.next())
+ {
+ //bind the texture for current particle (if not already bound)
+ if ( !particle->texture ) {
+ glEnd();
+ glDisable( GL_TEXTURE_2D );
+ glBegin( GL_QUADS );
+ currentTexture = 0;
+ } else if ( particle->texture != currentTexture ) {
+ glEnd();
+ glEnable( GL_TEXTURE_2D );
+ glBindTexture( GL_TEXTURE_2D, currentTexture = particle->texture );
+ glBegin( GL_QUADS );
+ }
+
+ //perspective projection (done by hand to make it funnier than opengl's :-)
+ float mfactor = PERSP_MAG_FACTOR * particle->ypos;
+ if ( mfactor < -246.0 ) {
+ particleList.remove();
+ particleList.prev();
+ continue;
+ }
+ float sfactor = 256.0 / (256.0 + mfactor),
+ posx = sfactor * particle->xpos,
+ posy = sfactor * particle->zpos - 4.0;
+ //size computation (magnify if enableMegaFlares is set)
+ if ( parameters.enableMegaFlares ) {
+ mfactor = parameters.megaFlares*particle->ypos;
+ if ( mfactor < -255.0 || mfactor > 512.0 ) {
+ particleList.remove();
+ particleList.prev();
+ continue;
+ }
+ sfactor = 256.0 / (256.0 + mfactor);
+ if ( sfactor > 64 )
+ sfactor = 76.8 - sfactor / 5.0;
+ }
+ float size = sfactor * particle->pixelSize,
+ sizeX = size * unitX,
+ sizeY = size * unitY;
+
+ //determine brightness (alpha component) for the particle
+ if ( particle->useLife ) {
+ float life = particle->life,
+ startLife = particle->startLife;
+ //bright changes with the following curve: "2*k - k^2" (or "k(2-k)")
+ if ( life > startLife )
+ particle->colour[3] = startLife + 1 - life;
+ else
+ particle->colour[3] = life / startLife;
+ //apply flickering if enabled
+ if (particle->flicker < 0) {
+ particle->colour[3] = 0.2;
+ if (++particle->flicker >= 0)
+ particle->flicker = FLICKER_FRAMES_DELAY;
+ } else if (particle->flicker > 0) {
+ if ( life <= startLife )
+ particle->colour[3] = 1.0;
+ if (--particle->flicker <= 0)
+ particle->flicker = -FLICKER_FRAMES_DELAY;
+ }
+ glColor4fv( particle->colour );
+ } else
+ glColor3fv( particle->colour );
+
+ //draw particle
+ float pLeft = posx - sizeX,
+ pTop = posy + sizeY,
+ pRight = posx + sizeX,
+ pBottom = posy - sizeY;
+ glTexCoord2f( 0, 0 ); // Bottom Left
+ glVertex2f( pLeft, pBottom );
+ glTexCoord2f( 0, 1 ); // Top Left
+ glVertex2f( pLeft, pTop );
+ glTexCoord2f( 1, 1 ); // Top Right
+ glVertex2f( pRight, pTop );
+ glTexCoord2f( 1, 0 ); // Bottom Right
+ glVertex2f( pRight, pBottom );
+
+ //phisically update parameters of the particle
+ particle->updateParameters( timeDiff );
+
+ //check for particle death / explosion
+ switch (particle->particleType)
+ {
+ //a Fireparticle is restarted when in right conditions
+ case Particle::FireParticle:
+ if ( posx < -FIELDW_2 || posx > FIELDW_2 ||
+ (particle->zpos < -10.0 && posy < -FIELDW_2) )
+ {
+ particle->initializeValues();
+ if ( DRAND > 0.9995 )
+ particle->zspeed *= 4;
+ }
+ break;
+
+ //a leader explodes when his z speed drops to zero
+ //or, if it uses life, at death
+ case Particle::FireWorkLeaderParticle:
+ if ((particle->zspeed <= 0.0f && !particle->useLife) ||
+ (particle->useLife && particle->life <= 0.0) )
+ {
+ // play sound if enabled (and once per frame)
+ if (parameters.enableSound && !playedExplodeSound)
+ {
+ playSound(sound_explosion);
+ playedExplodeSound = true;
+ }
+ // flash screen if enabled
+ if (parameters.enableFlash && !flashedScreen) {
+ glEnd();
+ glDisable( GL_TEXTURE_2D );
+ glColor4f( 1,1,1, parameters.flashOpacity / 10.0 );
+ glBegin( GL_TRIANGLE_STRIP );
+ glVertex2f( FIELDW_2, FIELDW_2 );
+ glVertex2f( -FIELDW_2, FIELDW_2 );
+ glVertex2f( FIELDW_2, -FIELDW_2 );
+ glVertex2f( -FIELDW_2, -FIELDW_2 );
+ glEnd();
+ if ( particleTexture )
+ glEnable( GL_TEXTURE_2D );
+ glBegin( GL_QUADS );
+ flashedScreen = true;
+ }
+ // generating children and removing parent
+ int elementIndex = particleList.at();
+ explodeFirework(particle);
+ particleList.remove(elementIndex);
+ particleList.prev();
+ } else if ( parameters.enableTrails && DRAND < 0.4 ) {
+ // leave trail behind the particle (it'a small and slow red debris)
+ Particle * p = new Particle( Particle::FireWorkDebrisParticle );
+ p->initializeValues( 0, particle, 1, 1 );
+ p->texture = particleTexture;
+ p->xspeed /= 4;
+ p->yspeed /= 4;
+ p->zspeed /= 8;
+ p->zacc /= 4;
+ p->pixelSize = 2;
+ p->colour[0] /= 2;
+ int elementIndex = particleList.at();
+ particleList.append( p );
+ particleList.at( elementIndex );
+ }
+ break;
+
+ //remove if dead or outside field
+ default:
+ if (particle->life <= 0.0 || posx<-FIELDW_2 || posx>FIELDW_2 || posy<-FIELDW_2) {
+ particleList.remove();
+ particleList.prev();
+ }
+ break;
+ }
+ }
+ glEnd();
+
+ /* render WRITINGS */
+
+ if ( parameters.enableWritings )
+ {
+ int chance = (int) (1000.0 * DRAND);
+ if ( !chance ) {
+ static const QString someStrings[] = {
+ i18n("www.kde.org"),
+ i18n("My KDE, please!"),
+ i18n("KoNqUeR the World"),
+ i18n("KFIRESAVER 3D"),
+ i18n("Gimme your eyes..."),
+ i18n("Thank you for using KDE"),
+ i18n("Going insane tonight"),
+ };
+ int n = (int)(6.0 * DRAND);
+ writer->spawnWords( someStrings[n], Writer::Fun1 );
+ }
+ writer->render( timeDiff );
+ }
+
+ /* generate a new FIREWORK_LEADER */
+
+ int random = (int) ((float)parameters.fireworksFrequency * DRAND);
+ if (showp.ShowType == Show)
+ {
+ //double the chances ('frequency') to raise a new leaderParticle
+ //but envelop it under a sine function
+ float step = (showp.timeStamp - timeCurrent) / showp.timeGap;
+ if (DRAND > sin(M_PI*step))
+ random = -1;
+ if (showp.type == AngelHairs && DRAND < 0.5)
+ random = -1;
+ }
+ if ( !random )
+ {
+ Particle * particle = new Particle( Particle::FireWorkLeaderParticle );
+ particle->initializeValues();
+ particle->texture = flareTexture;
+ particleList.append( particle );
+ }
+
+ /* explode a logo */
+
+ int logoImages = imageList.count();
+ if ( logoImages > 0 ) {
+ random = (int) (parameters.logoFrequency * logoImages * 200.0 * DRAND);
+ if ( random < logoImages )
+ {
+ if (parameters.enableFlash && !flashedScreen) {
+ glDisable( GL_TEXTURE_2D );
+ glColor4f( 1,1,1, parameters.flashOpacity / 10.0 );
+ glBegin( GL_TRIANGLE_STRIP );
+ glVertex2f( FIELDW_2, FIELDW_2 );
+ glVertex2f( -FIELDW_2, FIELDW_2 );
+ glVertex2f( FIELDW_2, -FIELDW_2 );
+ glVertex2f( -FIELDW_2, -FIELDW_2 );
+ glEnd();
+ }
+ burnLogo( imageList.at(random) );
+ }
+ }
+}
+
+
+int KFireSaver :: pickColour()
+{
+ int color = (int) (DRAND * parameters.colorsCount);
+ return parameters.colorsT[ color ];
+}
+
+
+KFireSaver :: enumFireworkType KFireSaver :: pickType()
+{
+ int type = (int) (DRAND * parameters.typesCount);
+ return parameters.typesT[ type ];
+}
+
+
+void KFireSaver :: explodeFirework(Particle* leaderParticle)
+{
+ GLfloat displace[3] = {0.0,0.0,0.0};
+ float tmp1 = 0.0, tmp2 = 0.0, tmp3 = 0.0, tmp4 = 0.0, tmp5 = 0.0;
+
+ // color of exploded particles
+ bool bicolor = parameters.enableCombos && (showp.forceBicolour || DRAND > 0.95),
+ flickers = false;
+ int cscheme = showp.forceColour ? showp.colour : pickColour(),
+ cscheme2 = showp.forceColour ? showp.colourSec : pickColour();
+
+ // randomize type of exploding firework
+ enumFireworkType fwType =
+ showp.forceType ? (enumFireworkType) showp.type : pickType();
+
+ // other options for generated particles
+ int number = (int) ((DRAND + DRAND) * 150.0);
+ float power = showp.forcePower ?
+ showp.powerEnvelop * (0.8 + 0.3*DRAND) :
+ DRAND * 11.0 + 2.0,
+ powermin = DRAND * power;
+
+ // now some rules ...
+ //a splitter can't split up more than 2 times
+ if (fwType == Splitter && leaderParticle->explosionsDepth > 1) {
+ if (parameters.typesCount == 1)
+ return;
+ if (showp.forceType)
+ fwType = showp.typeSec;
+ if (fwType == Splitter)
+ while ( (fwType = pickType()) == Splitter );
+ }
+
+ // PRE-ADJUST parameters for the firework we're creating
+ switch ( fwType )
+ {
+ //no need to handle this. it's the default configuration.
+ case Sphere:
+ break;
+
+ //explosion whithout emitting particles, only a flash
+ case NoFW:
+ number = 1;
+ power = powermin = 0;
+ break;
+
+ //splits up into 'number' orange pieces. tmp1 holds base_life
+ case Splitter:
+ cscheme = showp.forceColour ? showp.colour : 1;
+ bicolor = false;
+ number = 3 + (int) (DRAND * 4);
+ power /= 2.0;
+ powermin = power / 2.0;
+ tmp1 = 0.4 + DRAND * 1.5;
+ break;
+
+ //randomize a couple of angles (phi - theta) for exploding circle
+ case BiCircle:
+ number *= 2;
+ case Circle:
+ power = DRAND * 5.0 + 4.0;
+ tmp1 = DRAND * M_PI;
+ tmp2 = DRAND * M_PI;
+ tmp4 = cos(tmp2); //c2
+ tmp3 = sin(tmp2); //s2
+ tmp2 = cos(tmp1); //c1
+ tmp1 = sin(tmp1); //s1
+ break;
+
+ //cascade of flickering orange particles
+ case AngelHairs:
+ cscheme = showp.forceColour ? showp.colour : 1;
+ bicolor = false;
+ flickers = true;
+ power = 0.8 + DRAND * 1.9;
+ powermin = DRAND*0.5;
+ number = 100 + (int)(DRAND * 150);
+ displace[0] = -leaderParticle->xspeed/2;
+ displace[1] = -leaderParticle->yspeed/2;
+ displace[2] = power;
+ break;
+
+ //behave as a standard spherical firework
+ case Spirals:
+ break;
+
+ //not yet implemented, suppressing particles
+ case SuperNova:
+ case NoRender:
+ number = 0;
+ break;
+ }
+
+ //limit number of particles as we are getting to the capacity saturation
+ float currentParticles = (float) particleList.count();
+ const float particleCapacity = 15000;
+ const float particleGap = 8000;
+ if ( number > 10 && currentParticles > (particleCapacity - particleGap) )
+ {
+ //NoFW, Splitter and NoRender aren't limited.
+ number = (int)( (float)number * (particleCapacity - currentParticles) / particleGap );
+ if ( number < 10 )
+ number = 0;
+ }
+
+ int newExplosionsDepth = leaderParticle->explosionsDepth + 1;
+ for (int i=0 ; i<number ; i++)
+ {
+ Particle * particle;
+ if ( fwType == Spirals )
+ particle = new TurningParticle( Particle::FireWorkDebrisParticle );
+ else
+ particle = new Particle( Particle::FireWorkDebrisParticle );
+
+ particle->initializeValues (
+ bicolor && (i>number/2) ? cscheme2 : cscheme,
+ leaderParticle, powermin, power,
+ flickers, displace );
+ particle->texture = particleTexture;
+ particle->explosionsDepth = newExplosionsDepth;
+
+ // POST-ADJUST particle coefficients adapting to current FireworkType
+ switch ( fwType )
+ {
+ //create a big, white particle, simulating explosion
+ case NoFW:
+ if (parameters.enableFade)
+ particle->startLife = particle->life = 0.030;
+ else
+ particle->startLife = particle->life = 0.075;
+ particle->texture = flareTexture;
+ particle->colour[0]=
+ particle->colour[1]=
+ particle->colour[2]=1.0;
+ particle->pixelSize = 50.0 + 75.0 * DRAND;
+ particle->zacc = 0;
+ break;
+
+ //default. no need to change parameters, only create the
+ //'sphere light' as the first big particle if set.
+ case Sphere:
+ if (i==0 && parameters.enableSphereLight && number > 40) {
+ particle->texture = flareTexture;
+ particle->xspeed = leaderParticle->xspeed;
+ particle->yspeed = leaderParticle->yspeed;
+ particle->zspeed = 0.0;
+ particle->colour[0] /= 2.0;
+ particle->colour[1] /= 2.0;
+ particle->colour[2] /= 2.0;
+ float impression = power * (float)number/5.0;
+ particle->pixelSize = 25.0 * DRAND + impression;
+ if (parameters.enableFade) {
+ particle->startLife = particle->life = 0.040;
+ } else {
+ particle->startLife = 1.3;
+ particle->life = 1.8;
+ }
+ }
+ break;
+
+ //
+ case Splitter:
+ particle->particleType = Particle::FireWorkLeaderParticle;
+ particle->pixelSize *= 3.0;
+ particle->startLife = particle->life = tmp1 * (0.75 + DRAND/3.0);
+ if (particle->zspeed < 0)
+ particle->zspeed = -particle->zspeed;
+ break;
+
+ case Circle:
+ case BiCircle:
+ tmp5 = 2 * M_PI * DRAND;
+ //MMX can be useful.. if you know how to use it :-)
+ if ( fwType == BiCircle && i > number/2 ) {
+ GLfloat ey = cos(tmp5),
+ ez = sin(tmp5);
+ particle->xspeed = power * ( tmp3*ez );
+ particle->yspeed = power * ( tmp2*ey - tmp1*tmp4*ez );
+ particle->zspeed = power * ( tmp1*ey + tmp2*tmp4*ez );
+ } else {
+ GLfloat ex = sin(tmp5),
+ ey = cos(tmp5);
+ particle->xspeed = power * ( tmp4*ex );
+ particle->yspeed = power * ( tmp1*tmp3*ex + tmp2*ey );
+ particle->zspeed = power * ( -tmp2*tmp3*ex + tmp1*ey );
+ }
+ break;
+
+ case AngelHairs:
+ particle->zacc = -9.807 * (0.05 + DRAND*0.20);
+ particle->life = 2.0 + DRAND*2.5;
+ particle->startLife = particle->life - 1;
+ if (particle->zspeed < 0)
+ particle->zspeed *= -1;
+ //particle->pixelSize = 5.0;
+ break;
+
+ case Spirals:
+ particle->texture = diastarTexture;
+ break;
+
+ //discard cases
+ case SuperNova:
+ case NoRender:
+ break;
+ }
+ particleList.append(particle);
+ }
+}
+
+void KFireSaver :: timerEvent(QTimerEvent*)
+{
+ timeval tv;
+ gettimeofday(&tv,NULL);
+ double currentTime = (double)tv.tv_sec + (double)tv.tv_usec/1000000.0;
+
+ bool chooseType = false,
+ chooseColor = false,
+ chooseOthers = false,
+ updateTimings = false;
+ bool firstTime = showp.timeStamp == 0.0;
+ bool endOfScene = currentTime >= showp.timeStamp;
+
+ if (firstTime)
+ switch (showp.ShowType)
+ {
+ case Monotype:
+ /* first time choose the type, color and attributes will
+ be choosed randomly for every firework which explodes*/
+ showp.forceType = true;
+ chooseType = true;
+ break;
+
+ case Monochrome:
+ /* first time choose the color, type and attributes will
+ be choosed randomly for every firework which explodes*/
+ showp.forceColour = true;
+ chooseColor =
+ chooseOthers = true;
+ break;
+
+ default: break;
+ }
+
+ if (endOfScene || firstTime)
+ switch (showp.ShowType)
+ {
+ case Show:
+ /* if a scene ended, randomize global parameters for the
+ whole next scene */
+ showp.forceType = true;
+ showp.forceColour = true;
+ showp.forcePower = true;
+ chooseOthers =
+ chooseColor =
+ chooseType = true;
+ updateTimings = true;
+ break;
+
+ default: break;
+ }
+
+ if ( chooseType )
+ {
+ showp.type = pickType();
+ if (parameters.typesCount < 2)
+ showp.typeSec = NoRender;
+ else
+ while ((showp.typeSec = pickType()) == showp.type);
+ }
+ if ( chooseColor ) {
+ showp.colour = pickColour();
+ showp.colourSec = pickColour();
+ }
+ if ( chooseOthers )
+ {
+ showp.powerEnvelop = DRAND * 8.0 + 3.0;
+ if (DRAND > 0.9)
+ {
+ showp.forceBicolour = true;
+ showp.colourSec = pickColour();
+ } else
+ showp.forceBicolour = false;
+ }
+ if ( firstTime || updateTimings )
+ {
+ if (DRAND < 0.2)
+ showp.timeGap = 1.0 + DRAND * 2.0;
+ else
+ showp.timeGap = 3.0 + DRAND * 10.0;
+ showp.timeStamp = currentTime + showp.timeGap;
+ showp.timeGap /= 1.5; //hack to introduce delay in sine func
+ }
+
+ updateGL();
+}
+
+void KFireSaver :: burnLogo(QImage * image)
+{
+ if (!image || image->isNull())
+ return;
+ int step = parameters.enableReduceLogo ? 2 : 1,
+ imageW = image->width(),
+ imageH = image->height(),
+ offsetX = imageW / 2,
+ offsetY = imageH / 2;
+ float speed = FIELDW_4 / (imageW > imageH ? imageW : imageH),
+ speedXOffs = 5 * (DRAND - DRAND),
+ speedYOffs = DRAND + DRAND + 1;
+ //if image is too big, lower sample points
+ while ((imageW/step)>96 || (imageH/step)>96)
+ step *= 2;
+ for (int y=0 ; y<imageH ; y+=step)
+ {
+ for (int x=0 ; x<imageW ; x+=step)
+ {
+ QRgb pixel = image->pixel(x,y);
+ if ( qAlpha(pixel) < 250 )
+ continue;
+ //if ( DRAND > 0.9 )
+ // continue;
+
+ Particle* particle = new Particle( Particle::LogoParticle );
+ particle->initializeValues();
+ particle->texture = particleTexture;
+
+ float xI = (x - offsetX) ,
+ yI = (offsetY - y) ;
+ particle->xpos = xI * speed * 0.5;
+ particle->zpos = yI * speed * 0.5 + 5;
+ particle->xspeed = xI * speed + speedXOffs;
+ particle->zspeed = yI * speed + speedYOffs;
+
+ particle->colour[0] = qRed(pixel) / 255.0f;
+ particle->colour[1] = qGreen(pixel) / 255.0f;
+ particle->colour[2] = qBlue(pixel) / 255.0f;
+
+ particleList.append(particle);
+ }
+ }
+ if (parameters.enableSound)
+ playSound(sound_debris);
+}
+
+void KFireSaver :: playSound(QString file)
+{
+ //flush inactive players
+ KPlayObject * playObject = playObjectList.first();
+ while ( playObject )
+ {
+ if ( playObject->state() != Arts::posPlaying )
+ {
+ playObjectList.remove();
+ playObject = playObjectList.current();
+ } else
+ playObject = playObjectList.next();
+ }
+
+ //discart this sound if the player queue is already full (4 channels playing)
+ if ( playObjectList.count() >= 6 )
+ return;
+
+ // not needed when all of the files are in the distribution
+ //if (!QFile::exists(file))
+ //return;
+
+ KPlayObjectFactory factory(artsServer.server());
+ playObject = factory.createPlayObject(KURL(file), true);
+
+ if (playObject && !playObject->isNull())
+ {
+ playObject->play();
+ playObjectList.append(playObject);
+ }
+}
+
+bool KFireSaver :: loadTexture( QString fileName, unsigned int & textureID )
+{
+ //reset texture ID to the default EMPTY value
+ textureID = 0;
+
+ //load image
+ QImage tmp;
+ if ( !tmp.load( fileName ) )
+ return false;
+
+ //convert it to suitable format (flipped RGBA)
+ QImage texture = QGLWidget::convertToGLFormat( tmp );
+ if ( texture.isNull() )
+ return false;
+
+ //get texture number and bind loaded image to that texture
+ glGenTextures( 1, &textureID );
+ glBindTexture( GL_TEXTURE_2D, textureID );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
+ glTexImage2D( GL_TEXTURE_2D, 0, 4 /* 3 ??? */, texture.width(), texture.height(),
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, texture.bits() );
+ return true;
+}
+
+void KFireSaver :: freeTexture( unsigned int & textureID )
+{
+ if ( textureID > 0 )
+ glDeleteTextures( 1, &textureID );
+ textureID = 0;
+}
+
+void KFireSaver :: readConfig ()
+{
+ KConfig config("kfiresaverrc",true,false);
+
+ // show
+ config.setGroup( "Show" );
+ showp.ShowType = (enum enumShowType)config.readNumEntry( "ShowType", 1 );
+ parameters.fireworksFrequency = 11 - config.readNumEntry( "FireworksFrequency", 7 );
+ if ( parameters.fireworksFrequency < 1 )
+ parameters.fireworksFrequency = 1;
+ if ( parameters.fireworksFrequency > 11 )
+ parameters.fireworksFrequency = 11;
+ parameters.fireworksFrequency *= (parameters.fireworksFrequency + 1); //*karl gauss's sum*
+ parameters.particleSize = config.readNumEntry( "ParticlesSize", 0 );
+ if ( parameters.particleSize < -5 )
+ parameters.particleSize = -5;
+ if ( parameters.particleSize > 5 )
+ parameters.particleSize = 5;
+ if ( parameters.enableBottomFire = config.readBoolEntry( "enable-BottomFire", true ) )
+ {
+ QColor blue = Qt::darkBlue;
+ parameters.bottomFireColor = config.readColorEntry( "BottomFireColor", &blue );
+ }
+ parameters.enableSound = config.readBoolEntry( "enable-Sounds", false );
+ parameters.enableNoOverhead = config.readBoolEntry( "enable-NoOverhead", true );
+ parameters.enableRealtime = config.readBoolEntry( "enable-FrameSkip", true );
+
+ // fireworks
+ config.setGroup( "Fireworks" );
+ parameters.typesCount = 0;
+ if ( config.readBoolEntry( "use-Classic", true ) )
+ parameters.typesT[parameters.typesCount++] = Sphere;
+ if ( config.readBoolEntry( "use-Explosion", false ) )
+ parameters.typesT[parameters.typesCount++] = NoFW;
+ if ( config.readBoolEntry( "use-FlameRing", false ) )
+ parameters.typesT[parameters.typesCount++] = Circle;
+ if ( config.readBoolEntry( "use-FlameWorld", false ) )
+ parameters.typesT[parameters.typesCount++] = BiCircle;
+ if ( config.readBoolEntry( "use-Fall", false ) )
+ parameters.typesT[parameters.typesCount++] = AngelHairs;
+ if ( config.readBoolEntry( "use-Splitter", false ) )
+ parameters.typesT[parameters.typesCount++] = Splitter;
+ if ( config.readBoolEntry( "use-Spirals", false ) )
+ parameters.typesT[parameters.typesCount++] = Spirals;
+ if ( config.readBoolEntry( "use-SuperNova", false ) )
+ parameters.typesT[parameters.typesCount++] = SuperNova;
+ if ( !parameters.typesCount ) {
+ kdWarning() << "KFireSaver3D: Warning, no fireworks enabled in config file" << endl;
+ kdWarning() << " enabling 'Classic Spherical'" << endl;
+ parameters.typesCount = 1;
+ parameters.typesT[0] = Sphere;
+ }
+ parameters.typesT[ parameters.typesCount ] =
+ parameters.typesT[ parameters.typesCount-1 ];
+ parameters.colorsCount = 0;
+ if ( config.readBoolEntry( "use-Red", false ) )
+ parameters.colorsT[parameters.colorsCount++] = 0;
+ if ( config.readBoolEntry( "use-Orange", true ) )
+ parameters.colorsT[parameters.colorsCount++] = 1;
+ if ( config.readBoolEntry( "use-Green", false ) )
+ parameters.colorsT[parameters.colorsCount++] = 2;
+ if ( config.readBoolEntry( "use-Blue", false ) )
+ parameters.colorsT[parameters.colorsCount++] = 3;
+ if ( config.readBoolEntry( "use-White", true ) )
+ parameters.colorsT[parameters.colorsCount++] = 4;
+ if ( config.readBoolEntry( "use-Purple", false ) )
+ parameters.colorsT[parameters.colorsCount++] = 5;
+ if ( config.readBoolEntry( "use-DeepGreen", true ) )
+ parameters.colorsT[parameters.colorsCount++] = 6;
+ if ( !parameters.colorsCount )
+ {
+ kdWarning() << "KFireSaver3D: Warning enable at least one color" << endl;
+ kdWarning() << " enabling 'Blinding White'" << endl;
+ parameters.colorsCount = 1;
+ parameters.colorsT[0] = 4;
+ }
+ parameters.colorsT[ parameters.colorsCount ] =
+ parameters.colorsT[ parameters.colorsCount-1 ];
+ parameters.enableCombos = config.readBoolEntry( "use-Multicolor", true );
+
+ // specials
+ config.setGroup( "Specials" );
+ if ( parameters.enableLogos = config.readBoolEntry( "enable-Logos", true ) )
+ {
+ QImage tempImage;
+ tempImage.setAlphaBuffer( true );
+ if ( config.readBoolEntry( "LogosTux", true ) )
+ if ( tempImage.load(locate("data","kfiresaver/kfs_tux.png")) )
+ imageList.append( new QImage(tempImage) );
+ if ( config.readBoolEntry( "LogosKonqui", true ) )
+ if ( tempImage.load(locate("data","kfiresaver/kfs_kde.png")) )
+ imageList.append( new QImage(tempImage) );
+ if ( config.readBoolEntry( "LogosKDEIcons", true ) ) {
+ const QString icons[] = {
+ "3floppy_unmount", "cdrom_unmount", "hdd_mount", "kmix",
+ "network", "my-computer", "folder_home", "konqueror",
+ "kmail", "penguin", "personal" };
+ for ( int i = 0; i < 11; i++ )
+ imageList.append( new QImage(DesktopIcon(icons[i],64).convertToImage()) );
+ }
+ parameters.enableReduceLogo = config.readBoolEntry( "LogosReduceDetail", true );
+ parameters.logoFrequency = 11 - config.readNumEntry( "LogosFrequency", 4 );
+ if ( parameters.logoFrequency < 1 )
+ parameters.logoFrequency = 1;
+ if ( parameters.logoFrequency > 11 )
+ parameters.logoFrequency = 11;
+ }
+ if ( parameters.enableStars = config.readBoolEntry( "enable-Stars", true ) )
+ {
+ parameters.enableStarFlickering = config.readBoolEntry( "StarsFlicker", false );
+ parameters.enableStarGradient = config.readBoolEntry( "StarsGradient", true );
+ parameters.starsNumber = config.readNumEntry( "StarsNumber", 4 );
+ if ( parameters.starsNumber < 0 )
+ parameters.starsNumber = 0;
+ if ( parameters.starsNumber > 10 )
+ parameters.starsNumber = 10;
+ }
+ parameters.enableWritings = config.readBoolEntry( "enable-Writings", true );
+
+ // effects
+ config.setGroup( "Effects" );
+ parameters.enableSphereLight = config.readBoolEntry( "enable-SphericalLight", true );
+ if ( parameters.enableFlash = config.readBoolEntry( "enable-Flash", false ) )
+ {
+ parameters.flashOpacity = config.readNumEntry( "FlashOpacity", 5 );
+ if ( parameters.flashOpacity < 0 )
+ parameters.flashOpacity = 0;
+ if ( parameters.flashOpacity > 10 )
+ parameters.flashOpacity = 10;
+ }
+ if ( parameters.enableFade = config.readBoolEntry( "enable-Fade", false ) )
+ {
+ parameters.fadeAmount = config.readNumEntry( "FadeIntensity", 3 );
+ if ( parameters.fadeAmount < 0 )
+ parameters.fadeAmount = 0;
+ if ( parameters.fadeAmount > 9 )
+ parameters.fadeAmount = 9;
+ }
+ if ( parameters.enableMegaFlares = config.readBoolEntry( "enable-Flares", true ) )
+ {
+ parameters.megaFlares = config.readNumEntry( "FlaresDimension", 5 );
+ if ( parameters.megaFlares < 0 )
+ parameters.megaFlares = 0;
+ if ( parameters.megaFlares > 10 )
+ parameters.megaFlares = 10;
+ parameters.megaFlares += 4;
+ parameters.megaFlares *= 2;
+ }
+ parameters.enableTrails = config.readBoolEntry( "enable-Trail", false );
+}
diff --git a/kscreensaver/kdesavers/firesaver.h b/kscreensaver/kdesavers/firesaver.h
new file mode 100644
index 00000000..3757b64b
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaver.h
@@ -0,0 +1,170 @@
+// This file is part of KFireSaver3D.
+
+// KFireSaver3D is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+
+// KFireSaver3D is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with KFireSaver3D; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+// Author: Enrico Ros, based on the great work of David Sansome (kfiresaver)
+// Email: asy@libero.it
+
+#ifndef KFIRESAVER_H
+#define KFIRESAVER_H
+
+#define PERSP_MAG_FACTOR 8.0
+#define NUMBER_OF_FIREPARTICLES 180
+
+#define MSECPERIOD 17 // 1000ms / 60fps = 16.6667 ~= 17 [ms/frame]
+
+#define FIELDWIDTH 30.0
+#define FIELDW_2 (FIELDWIDTH/2.0)
+#define FIELDW_4 (FIELDWIDTH/4.0)
+
+#include <qgl.h>
+#include <qptrlist.h>
+#include <qimage.h>
+#include <qstring.h>
+#include <qcolor.h>
+
+#include <arts/kplayobject.h>
+#include <arts/kartsserver.h>
+#include <arts/kartsdispatcher.h>
+
+class Particle;
+class Writer;
+
+class KFireSaver : public QGLWidget
+{
+ public:
+ KFireSaver( QWidget *parent=0, const char *name=0 );
+ ~KFireSaver();
+
+ protected:
+ void initializeGL();
+ void resizeGL( int, int );
+ void paintGL();
+ void timerEvent( class QTimerEvent * );
+
+ private:
+ enum enumFireworkType
+ {
+ Sphere = 0,
+ NoFW = 1,
+ Circle = 2,
+ BiCircle = 3,
+ AngelHairs = 4,
+ Splitter = 5,
+ Spirals = 6,
+ SuperNova = 7,
+ NoRender = 8
+ };
+
+ inline enumFireworkType pickType();
+ inline int pickColour();
+ void explodeFirework(Particle* fireWorkLeaderParticle);
+ void burnLogo(QImage * image);
+ void playSound(QString file);
+ bool loadTexture(QString file, unsigned int & textureID);
+ void freeTexture(unsigned int & textureID);
+ void readConfig();
+
+ //list of particles and stars
+ QPtrList<Particle>
+ particleList,
+ starList;
+
+ //stuff for 'exploding' pixmaps (kde, tux, icons..)
+ QPtrList<QImage>
+ imageList;
+
+ //texture stuff
+ unsigned int
+ currentTexture,
+ particleTexture,
+ starTexture,
+ flareTexture,
+ diastarTexture; // (to add) novaTexture cometTexture
+
+ //sound stuff
+ KArtsDispatcher artsDispatcher;
+ KArtsServer artsServer;
+ QPtrList<KPlayObject> playObjectList;
+ QString sound_explosion,
+ sound_debris;
+
+ //other stuff
+ class Writer * writer;
+ float unitX,
+ unitY;
+ double timeStampFrame;
+ bool firstGLFrame;
+
+ struct {
+ bool enableBottomFire, //show
+ enableSound,
+ enableNoOverhead,
+ enableRealtime,
+ enableCombos, //fireworks
+ enableLogos, //specials
+ enableReduceLogo,
+ enableStars,
+ enableStarFlickering,
+ enableStarGradient,
+ enableWritings,
+ enableSphereLight, //effects
+ enableFlash,
+ enableFade,
+ enableMegaFlares,
+ enableTrails;
+ int fireworksFrequency, //show
+ particleSize,
+ logoFrequency, //specials
+ starsNumber,
+ flashOpacity, //effects
+ fadeAmount,
+ megaFlares;
+ QColor
+ bottomFireColor;
+ int colorsCount,
+ colorsT[8],
+ typesCount;
+ enumFireworkType
+ typesT[9];
+ } parameters;
+
+
+ enum enumShowType {
+ Show = 0,
+ Random = 1,
+ Monotype = 2,
+ Monochrome = 3
+ };
+
+ struct {
+ enum enumShowType ShowType;
+ int colour,
+ colourSec;
+ enumFireworkType
+ type,
+ typeSec;
+ bool forceBicolour,
+ forceColour,
+ forcePower,
+ forceType;
+ float powerEnvelop;
+ double timeStamp,
+ timeGap;
+ } showp;
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/firesaverparticle.cpp b/kscreensaver/kdesavers/firesaverparticle.cpp
new file mode 100644
index 00000000..421115a7
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaverparticle.cpp
@@ -0,0 +1,273 @@
+// This file is part of KFireSaver3D.
+
+// KFireSaver3D is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+
+// KFireSaver3D is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with KFireSaver3D; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+// Author: Enrico Ros, based on the great work of David Sansome (kfiresaver)
+// Email: asy@libero.it
+
+#include <math.h>
+#include <stdlib.h>
+
+#include "firesaverparticle.h"
+#include "firesaver.h"
+
+//current color scheme : red orng grn blue w m c
+static const GLfloat c_red_min[7] = { 0.4, 0.9, 0, 0, 1, 0, 0 };
+static const GLfloat c_red_max[7] = { 1, 1, 0, 0, 1, 1, 0 };
+static const GLfloat c_green_min[7] = { 0, 0.4, 0.4, 0, 1, 0, 0 };
+static const GLfloat c_green_max[7] = { 0, 0.5, 1, 0.5, 1, 0, 1 };
+static const GLfloat c_blue_min[7] = { 0, 0.1, 0, 0.5, 1, 0, 0 };
+static const GLfloat c_blue_max[7] = { 0, 0.2, 0, 1, 1, 1, 1 };
+
+
+//default initialization (good for Leader / Fire)
+Particle :: Particle( ParticleType pT )
+ : particleType( pT ), explosionsDepth( 0 ), texture( 0 ),
+ xpos( 0.0 ), ypos( 0.0 ), zpos( -9.9 ),
+ xspeed( 0.0 ), yspeed( 0.0 ), zspeed( 0.0 ), zacc( -9.807 ),
+ life( 0.0 ), startLife( 0.0 ),
+ pixelSize( 5.0 ), useLife( true ), flicker( 0 )
+{
+ colour[0] = 0;
+ colour[1] = 0;
+ colour[2] = 0;
+ colour[3] = 1;
+}
+
+
+void Particle :: initializeValues (
+ int cs,
+ Particle* debrisParent,
+ GLfloat powermin, GLfloat powermax,
+ bool flickers,
+ GLfloat *displace )
+//note: this function is called when a particle needs a set of default parameters.
+// these depends on the ParticleType.
+{
+ switch (particleType)
+ {
+// -- FireParticle (params: [cs])
+// born in a rectangle centered in { 0, 0, -9.9 }
+// speed 3-6 [m/s] blue/cyan colored
+// this is only done at the beginning or when a particle dies
+ case FireParticle:
+ xpos = DRAND * FIELDWIDTH - FIELDW_2;
+ ypos = DRAND - 2.0;
+
+ xspeed = DRAND * 4.0 - 2.0;
+ yspeed = DRAND * 2.0;
+ zspeed = DRAND * 3.0 + 3.0;
+
+ useLife = false;
+ pixelSize = 2.0 + DRAND * 2.0;
+ break;
+
+// -- FireWorkLeaderParticle (params: none)
+// they start in a rectangle at the same height but
+// with different power and the same 'orange' colour
+ case FireWorkLeaderParticle:
+ xpos = DRAND * 14.0 - 7.0;
+ ypos = DRAND * 2.0 - 1.0;
+
+ xspeed = DRAND * 8.0 - 4.0 - (xpos / 2.0)*DRAND;
+ yspeed = DRAND * 8.0 - 4.0;
+ zspeed = DRAND * 6.5 + 18.0;
+
+ colour[0] = 0.6;
+ colour[1] = DRAND * 0.4;
+ colour[2] = 0.0;
+
+ useLife = false;
+ break;
+
+// -- LogoParticle (params: none)
+// they start in the middle of the screen.
+// little g-force, constant life, weavy-y
+ case LogoParticle:
+ yspeed = 3*(DRAND - DRAND);
+ zacc = -9.807f / 5.0f;
+
+ startLife = 0.7f;
+ life = 1.7f;
+ break;
+
+// -- StarParticle (params: none)
+// spherically distributed. xpos and ypos are the
+// transformed screen positions of the star.
+ case StarParticle:
+ colour[0] = DRAND * 0.2 + 0.5;
+ colour[1] = DRAND * 0.2 + 0.5;
+ colour[2] = DRAND * 0.2 + 0.5;
+
+ {bool accepted = false;
+ while (!accepted) {
+ float module = 30,
+ theta = DRAND * M_PI * 2.0,
+ u = DRAND * 2.0 - 1.0,
+ root = sqrt( 1 - u*u );
+ xpos = module * root * cos(theta);
+ ypos = fabs(module * root * sin(theta)) - 10.0;
+ zpos = fabs(module * u);
+
+ float sfactor = 256.0 / (256.0 + PERSP_MAG_FACTOR*ypos);
+ xpos *= sfactor;
+ ypos = sfactor * zpos - FIELDW_2;
+
+ pixelSize = sfactor * (2.0 + 3.0*DRAND);
+
+ accepted = xpos > -FIELDW_2 && xpos < FIELDW_2 &&
+ ypos > -FIELDW_2 && ypos < FIELDW_2;
+ }}
+ break;
+
+// -- FireWorkDebrisParticle (params: cs, parent, [powerm], [powerM], [flickers], [displace])
+// parameters are randomized for a 'spherical' explosion.
+// power{min,max}, flickers and displace applies only for that
+// kind of ParticleType.
+ case FireWorkDebrisParticle:
+
+ //same origin of the dead leader
+ xpos = debrisParent->xpos;
+ ypos = debrisParent->ypos;
+ zpos = debrisParent->zpos;
+
+ //true spherical randomization
+ float module = powermin + DRAND * (powermax - powermin),
+ theta = DRAND * M_PI * 2.0,
+ u = DRAND * 2.0 - 1.0,
+ root = sqrt( 1 - u*u );
+ xspeed = debrisParent->xspeed + module * root * cos(theta) * (1.0 + DRAND/3.0);
+ yspeed = debrisParent->yspeed + module * root * sin(theta) * (1.0 + DRAND/3.0);
+ zspeed = module * u * (1.0 + DRAND/3.0); //was 0.9 + DRAND/3
+
+ //if set add a displace to speed
+ if ( displace ) {
+ xspeed += displace[0];
+ yspeed += displace[1];
+ zspeed += displace[2];
+ }
+
+ //randomize the color choosing on current palette
+ colour[0] = c_red_min[cs] + (c_red_max[cs]-c_red_min[cs]) * DRAND;
+ colour[1] = c_green_min[cs] + (c_green_max[cs]-c_green_min[cs]) * DRAND;
+ colour[2] = c_blue_min[cs] + (c_blue_max[cs]-c_blue_min[cs]) * DRAND;
+
+ pixelSize = DRAND * 2.0 + 2.0;
+ zacc = -9.807 / (6.0 - pixelSize);
+
+ life = startLife = pixelSize / 2.0;
+
+ //if flickers is set the current visible delay is randomized
+ if ( flickers )
+ flicker = (int) ((DRAND * 2.0 - 1.0) * (float)FLICKER_FRAMES_DELAY);
+ break;
+ }
+}
+
+
+void Particle :: updateParameters( float dT )
+//note: this procedure uses a reduced set of parameters
+// x and y axis acceleration is no more used
+// the only external iterations are:
+// - the g force
+// - a sort of air friction that limits speed in x,y and
+// acceleration on z
+{
+ xpos += xspeed * dT;
+ ypos += yspeed * dT;
+ zpos += (zspeed + zacc*dT/2) * dT;
+
+ zspeed += zacc * dT;
+
+ xspeed *= 0.998;
+ yspeed *= 0.998;
+ zspeed *= 0.999;
+
+ if (useLife)
+ life -= dT;
+}
+
+
+// BEGIN TurningParticle class
+
+TurningParticle :: TurningParticle( ParticleType pT )
+ : Particle( pT ) {}
+
+void TurningParticle :: initializeValues (
+ int cs,
+ Particle* leader,
+ GLfloat powermin,
+ GLfloat powermax,
+ bool /*flickers*/,
+ GLfloat * /*displace*/ )
+{
+ //same origin of the parent
+ xpos = leader->xpos;
+ ypos = leader->ypos;
+ zpos = leader->zpos;
+
+ //velocity : true spherical randomization
+ float module = powermin + (powermax - powermin) * DRAND * 0.6,
+ theta = DRAND * M_PI * 2.0,
+ u = DRAND * 2.0 - 1.0,
+ root = sqrt( 1 - u*u );
+ xspeed = -module * root * cos(theta);
+ yspeed = -module * root * sin(theta);
+ zspeed = module * u;
+
+ //spin axis : in quadrature with velocity
+ module = (1 + DRAND) / 40;
+ u = DRAND * 2.0 - 1.0;
+ root = sqrt( 1 - u*u );
+ // axis to spin around
+ wx = module * root * cos(theta + M_PI_2);
+ wy = module * root * sin(theta + M_PI_2);
+ wz = module * u;
+
+ //randomize the color choosing on current palette
+ colour[0] = c_red_min[cs] + (c_red_max[cs]-c_red_min[cs]) * DRAND;
+ colour[1] = c_green_min[cs] + (c_green_max[cs]-c_green_min[cs]) * DRAND;
+ colour[2] = c_blue_min[cs] + (c_blue_max[cs]-c_blue_min[cs]) * DRAND;
+
+ pixelSize = DRAND * 2.0 + 2.0;
+ zacc = -9.807 / 5.0;
+ life = startLife = pixelSize / 2.0;
+}
+
+
+void TurningParticle :: updateParameters ( float dT )
+{
+ //update position
+ xpos += xspeed * dT;
+ ypos += yspeed * dT;
+ zpos += zspeed * dT;
+
+ //tan vector = velocity vector (vect producted by) spin axis
+ float vx = yspeed * wz - zspeed * wy,
+ vy = zspeed * wx - xspeed * wz,
+ vz = xspeed * wy - yspeed * wx;
+
+ //update velocity adding a tangential component (aka infinitesimally
+ //rotating the vector)
+ xspeed += vx;
+ yspeed += vy;
+ zspeed += vz + zacc * dT;
+
+ if (useLife)
+ life -= dT;
+}
+
+//END TurningParticle
diff --git a/kscreensaver/kdesavers/firesaverparticle.h b/kscreensaver/kdesavers/firesaverparticle.h
new file mode 100644
index 00000000..de8d9ac2
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaverparticle.h
@@ -0,0 +1,105 @@
+// This file is part of KFireSaver3D.
+
+// KFireSaver3D is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+
+// KFireSaver3D is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with KFireSaver3D; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+// Author: Enrico Ros, based on the great work of David Sansome (kfiresaver)
+// Email: asy@libero.it
+
+#ifndef KFIRESAVER_PARTICLE_H
+#define KFIRESAVER_PARTICLE_H
+
+#include <qgl.h>
+
+#define FLICKER_FRAMES_DELAY 8
+#define DRAND ((float)rand() / (float)RAND_MAX) /*random float between 0 and 1*/
+
+/* -- Particle class.
+ * Sets initial parameters and takes care of updating physics for a single
+ * fireworks particle. The physics model is the Newtonian one.
+ */
+class Particle
+{
+ public:
+ //enum definitions for type of particle
+ enum ParticleType
+ {
+ FireParticle,
+ FireWorkLeaderParticle,
+ FireWorkDebrisParticle,
+ LogoParticle,
+ StarParticle
+ };
+
+ Particle( ParticleType pT );
+
+ //public methods for initializing default parameters and update them
+ virtual void initializeValues (
+ int color_scheme = 0,
+ Particle* leader = 0L,
+ GLfloat powermin = 5.0,
+ GLfloat powermax = 10.0,
+ bool flickers = false,
+ GLfloat *displace = 0L );
+
+ virtual void updateParameters ( float timeGap );
+
+ //public accessible variables of the class
+ ParticleType particleType;
+ int explosionsDepth;
+ unsigned int texture;
+
+ GLfloat xpos, ypos, zpos,
+ xspeed, yspeed, zspeed,
+ zacc;
+
+ GLfloat colour[4],
+ life, startLife,
+ pixelSize;
+
+ bool useLife;
+ int flicker;
+
+ private:
+ Particle();
+};
+
+
+/* -- TurningParticle class.
+ * Randomize initial parameters similar to a standard 'spherical' particle
+ * and takes care of updating physics. The physics model is a funny 'bees'
+ * (vectorial-product) one.
+ */
+class TurningParticle : public Particle
+{
+ public:
+ TurningParticle( ParticleType pT );
+
+ virtual void initializeValues (
+ int color_scheme = 0,
+ Particle* leader = 0L,
+ GLfloat powermin = 5.0,
+ GLfloat powermax = 10.0,
+ bool flickers = false,
+ GLfloat *displace = 0L );
+
+ virtual void updateParameters ( float dT );
+
+ private:
+ float wx, wy, wz;
+ TurningParticle();
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/firesaversetup.ui b/kscreensaver/kdesavers/firesaversetup.ui
new file mode 100644
index 00000000..37614afa
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaversetup.ui
@@ -0,0 +1,1855 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>KFireSaverSetup</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>KFireSaverSetup</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>375</width>
+ <height>344</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="caption">
+ <string>KFireSaver Setup</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QPushButton" row="0" column="2">
+ <property name="name">
+ <cstring>useButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Load</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1">
+ <item>
+ <property name="text">
+ <string>KDE (default)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Elegant White</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Quick Simple</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Enhanced Reality</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Hypnotic Illusions</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>presetCombo</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>presetLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Preset:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="3">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>201</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QTabWidget" row="1" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>tabWidget</cstring>
+ </property>
+ <property name="tabShape">
+ <enum>Rounded</enum>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Preview</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer162</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>220</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer161</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>210</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="1" column="1">
+ <property name="name">
+ <cstring>layout118</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer162_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>43</width>
+ <height>180</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QFrame" row="1" column="1">
+ <property name="name">
+ <cstring>previewFrame</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>240</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>240</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>preview window</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here is the preview (if it is not detached)</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>previewLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>P R E V I E W</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer161_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>180</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>detachBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Show in separate window</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>applyButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Apply &amp;&amp; Update</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Show</string>
+ </attribute>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layS1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>showLabel1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Show type:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Simple Show</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Completely Random</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Only Change Color</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Only Change Fireworks</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>showCombo</cstring>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer25</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>260</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layS2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>showLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Number of fireworks:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>showLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>few</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>fireworksSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>showLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>more</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>125</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layS2_2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>particlesLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Size of particles:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>particlesLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>small</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>particlesSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minValue">
+ <number>-5</number>
+ </property>
+ <property name="maxValue">
+ <number>5</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>particlesLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>big</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6_2_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>125</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>bottomfireBox</cstring>
+ </property>
+ <property name="text">
+ <string>Use bottom fire</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layS3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer7</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>bottomfireLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Color:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton">
+ <property name="name">
+ <cstring>bottomfireColorButton</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Select the color</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>309</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>soundsBox</cstring>
+ </property>
+ <property name="text">
+ <string>Enable sounds</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>overheadBox</cstring>
+ </property>
+ <property name="text">
+ <string>Limit overload (recommended)</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>frameskipBox</cstring>
+ </property>
+ <property name="text">
+ <string>Realtime fps adjust (recommended)</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacerT2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Fireworks</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="4" column="0">
+ <property name="name">
+ <cstring>spacerT3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="3" column="0">
+ <property name="name">
+ <cstring>layF2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>whiteBox</cstring>
+ </property>
+ <property name="text">
+ <string>Blinding white</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="1">
+ <property name="name">
+ <cstring>purpleBox</cstring>
+ </property>
+ <property name="text">
+ <string>Velvet purple</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>seagreenBox</cstring>
+ </property>
+ <property name="text">
+ <string>Deep-sea green</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="2">
+ <property name="name">
+ <cstring>redBox</cstring>
+ </property>
+ <property name="text">
+ <string>Deep red</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="2">
+ <property name="name">
+ <cstring>combosBox</cstring>
+ </property>
+ <property name="text">
+ <string>Multicolor</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try bi-color fireworks</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This allow a random creation of fireworks that explodes in 2 colors</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>blueBox</cstring>
+ </property>
+ <property name="text">
+ <string>Boring blue</string>
+ </property>
+ </widget>
+ <spacer row="0" column="0" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer7_2_5_2_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>80</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>orangeBox</cstring>
+ </property>
+ <property name="text">
+ <string>Hot orange</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="2">
+ <property name="name">
+ <cstring>greenBox</cstring>
+ </property>
+ <property name="text">
+ <string>Purest green</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>colorsLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Colors</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>fireworksLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Fireworks</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>layF1</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>fire3Box</cstring>
+ </property>
+ <property name="text">
+ <string>Flames ring</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="2">
+ <property name="name">
+ <cstring>fire6Box</cstring>
+ </property>
+ <property name="text">
+ <string>Atomic splitter</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>fire5Box</cstring>
+ </property>
+ <property name="text">
+ <string>Sparkling fall</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>fire1Box</cstring>
+ </property>
+ <property name="text">
+ <string>Classic</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>fire2Box</cstring>
+ </property>
+ <property name="text">
+ <string>Only explosion</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <spacer row="0" column="0" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer7_2_5_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>80</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="3" column="2">
+ <property name="name">
+ <cstring>fire8Box</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="paletteForegroundColor">
+ <color>
+ <red>255</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </property>
+ <property name="text">
+ <string>SuperNova</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="2">
+ <property name="name">
+ <cstring>fire7Box</cstring>
+ </property>
+ <property name="text">
+ <string>Toxic spirals</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="1">
+ <property name="name">
+ <cstring>fire4Box</cstring>
+ </property>
+ <property name="text">
+ <string>Flames world</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>try me</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Specials</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="5" column="0">
+ <property name="name">
+ <cstring>spacerT4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>41</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>logosBox</cstring>
+ </property>
+ <property name="text">
+ <string>Logos</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Watch exploding images</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enable images explosion.</string>
+ </property>
+ </widget>
+ <widget class="QFrame" row="1" column="0">
+ <property name="name">
+ <cstring>logosFrame</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <spacer row="0" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer46</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>70</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layP1</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>logosIconsBox</cstring>
+ </property>
+ <property name="text">
+ <string>KDE icons</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables KDE Icons</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enables random KDE Icons explosions.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>logosTuxBox</cstring>
+ </property>
+ <property name="text">
+ <string>Tux</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables Tux</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enables random Tux explosions.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>logosDetailBox</cstring>
+ </property>
+ <property name="text">
+ <string>Reduce detail</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>useful for increasing speed</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When enabled speeds up logo explosion but reduces quality.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>logosKonquiBox</cstring>
+ </property>
+ <property name="text">
+ <string>Konqui</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables Konqui</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enables random Konqui explosions.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="1">
+ <property name="name">
+ <cstring>layP2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>frequencyLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Frequency:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>neverLabel</cstring>
+ </property>
+ <property name="text">
+ <string>sometimes</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>logosSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>oftenLabel</cstring>
+ </property>
+ <property name="text">
+ <string>often</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer18</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>91</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QFrame" row="3" column="0">
+ <property name="name">
+ <cstring>starsFrame</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <spacer row="0" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer7_2_5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>50</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layP3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>starsFlickerBox</cstring>
+ </property>
+ <property name="text">
+ <string>Flickering</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>enables a natural 'flicker' effect</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option produces a sort of vibration in the lightness of the star.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>starsGradientBox</cstring>
+ </property>
+ <property name="text">
+ <string>Red-blue gradient</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>emulate horizon coloring</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Gives lower stars a reddish tint.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="1">
+ <property name="name">
+ <cstring>layP4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel4_5</cstring>
+ </property>
+ <property name="text">
+ <string>Number:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel3_2_6</cstring>
+ </property>
+ <property name="text">
+ <string>less</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>starsSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel3_2_2_5</cstring>
+ </property>
+ <property name="text">
+ <string>more</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6_5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>149</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>starsBox</cstring>
+ </property>
+ <property name="text">
+ <string>Stars</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Watch the stars</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enable stars in the sky.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0">
+ <property name="name">
+ <cstring>writingsBox</cstring>
+ </property>
+ <property name="text">
+ <string>Writings</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Watch the stars</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enable stars in the sky.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Effects</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>flashBox</cstring>
+ </property>
+ <property name="text">
+ <string>Flash screen on explosions</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="4" column="0">
+ <property name="name">
+ <cstring>layE2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer7_2_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>fadeLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Intensity:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>fadeLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>small</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>fadeSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>9</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>3</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>fadeLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>hypnotic</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>131</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="5" column="0">
+ <property name="name">
+ <cstring>flaresBox</cstring>
+ </property>
+ <property name="text">
+ <string>Mega flares</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="6" column="0">
+ <property name="name">
+ <cstring>layE3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer7_2_4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flaresLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Dimension:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flaresLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>small</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>flaresSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flaresLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>big</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6_4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>117</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="7" column="0">
+ <property name="name">
+ <cstring>trailBox</cstring>
+ </property>
+ <property name="text">
+ <string>Fireworks leave a particle trail</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>not yet ported</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>not yet ported</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="0">
+ <property name="name">
+ <cstring>layE1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer7_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flashLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Flash opacity:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flashLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>min</string>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>flashSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>flashLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>max</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>110</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>fadeBox</cstring>
+ </property>
+ <property name="text">
+ <string>Fade effect</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>lightBox</cstring>
+ </property>
+ <property name="text">
+ <string>Spherical light after explosion</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>warning, this can shock your mind :-)</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Multiplies the scale factor for particles near you, resulting in a colorful experience.</string>
+ </property>
+ </widget>
+ <spacer row="8" column="0">
+ <property name="name">
+ <cstring>spacerT5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>logosBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>logosFrame</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>starsBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>starsFrame</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>bottomfireBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bottomfireLabel1</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>bottomfireBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bottomfireColorButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flashBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flashLabel1</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flashBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flashLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flashBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flashLabel3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flashBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flashSlider</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>fadeBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>fadeLabel1</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>fadeBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>fadeLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>fadeBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>fadeLabel3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>fadeBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>fadeSlider</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flaresBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flaresLabel1</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flaresBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flaresLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flaresBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flaresLabel3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>flaresBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>flaresSlider</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>useButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KFireSaverSetup</receiver>
+ <slot>useButton_clicked()</slot>
+ </connection>
+ <connection>
+ <sender>applyButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KFireSaverSetup</receiver>
+ <slot>applyButton_clicked()</slot>
+ </connection>
+ <connection>
+ <sender>detachBox</sender>
+ <signal>clicked()</signal>
+ <receiver>KFireSaverSetup</receiver>
+ <slot>updatePreview()</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>presetCombo</tabstop>
+ <tabstop>useButton</tabstop>
+ <tabstop>tabWidget</tabstop>
+ <tabstop>showCombo</tabstop>
+ <tabstop>fireworksSlider</tabstop>
+ <tabstop>particlesSlider</tabstop>
+ <tabstop>bottomfireBox</tabstop>
+ <tabstop>bottomfireColorButton</tabstop>
+ <tabstop>soundsBox</tabstop>
+ <tabstop>overheadBox</tabstop>
+ <tabstop>frameskipBox</tabstop>
+ <tabstop>fire1Box</tabstop>
+ <tabstop>fire2Box</tabstop>
+ <tabstop>fire3Box</tabstop>
+ <tabstop>fire4Box</tabstop>
+ <tabstop>fire5Box</tabstop>
+ <tabstop>fire6Box</tabstop>
+ <tabstop>fire7Box</tabstop>
+ <tabstop>fire8Box</tabstop>
+ <tabstop>whiteBox</tabstop>
+ <tabstop>blueBox</tabstop>
+ <tabstop>seagreenBox</tabstop>
+ <tabstop>purpleBox</tabstop>
+ <tabstop>orangeBox</tabstop>
+ <tabstop>redBox</tabstop>
+ <tabstop>greenBox</tabstop>
+ <tabstop>combosBox</tabstop>
+ <tabstop>logosBox</tabstop>
+ <tabstop>logosKonquiBox</tabstop>
+ <tabstop>logosTuxBox</tabstop>
+ <tabstop>logosIconsBox</tabstop>
+ <tabstop>logosDetailBox</tabstop>
+ <tabstop>logosSlider</tabstop>
+ <tabstop>starsBox</tabstop>
+ <tabstop>starsFlickerBox</tabstop>
+ <tabstop>starsGradientBox</tabstop>
+ <tabstop>starsSlider</tabstop>
+ <tabstop>lightBox</tabstop>
+ <tabstop>flashBox</tabstop>
+ <tabstop>flashSlider</tabstop>
+ <tabstop>fadeBox</tabstop>
+ <tabstop>fadeSlider</tabstop>
+ <tabstop>flaresBox</tabstop>
+ <tabstop>flaresSlider</tabstop>
+ <tabstop>trailBox</tabstop>
+</tabstops>
+<includes>
+ <include location="local" impldecl="in declaration">firesaver.h</include>
+ <include location="local" impldecl="in implementation">firesaversetup.ui.h</include>
+</includes>
+<variables>
+ <variable access="private">KFireSaver * fireSaverWidget;</variable>
+</variables>
+<slots>
+ <slot>applyButton_clicked()</slot>
+ <slot>updatePreview()</slot>
+ <slot>writeConfig()</slot>
+ <slot>readConfig()</slot>
+ <slot>useButton_clicked()</slot>
+</slots>
+<functions>
+ <function access="private" specifier="non virtual">init()</function>
+ <function access="private">destroy()</function>
+</functions>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/kscreensaver/kdesavers/firesaversetup.ui.h b/kscreensaver/kdesavers/firesaversetup.ui.h
new file mode 100644
index 00000000..8cf478e2
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaversetup.ui.h
@@ -0,0 +1,400 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions or slots use
+** Qt Designer which will update this file, preserving your code. Create an
+** init() function in place of a constructor, and a destroy() function in
+** place of a destructor.
+*****************************************************************************/
+
+
+#ifndef KFIRESAVER_SETUP_H
+#define KFIRESAVER_SETUP_H
+
+#include <qcolor.h>
+#include <qtimer.h>
+#include <kconfig.h>
+
+
+void KFireSaverSetup::init()
+{
+ readConfig();
+ fireSaverWidget = NULL;
+ updatePreview();
+}
+
+void KFireSaverSetup::destroy()
+{
+ if ( fireSaverWidget )
+ delete fireSaverWidget;
+}
+
+
+void KFireSaverSetup::applyButton_clicked()
+{
+ writeConfig();
+ updatePreview();
+}
+
+void KFireSaverSetup::updatePreview()
+{
+ if ( fireSaverWidget )
+ delete fireSaverWidget;
+ if ( detachBox->isChecked() ) {
+ previewLabel->show();
+ fireSaverWidget = new KFireSaver;
+ fireSaverWidget->resize(640,480);
+ } else {
+ previewLabel->hide();
+ fireSaverWidget = new KFireSaver( previewFrame );
+ fireSaverWidget->move(1,1);
+ fireSaverWidget->resize(
+ previewFrame->width() - 2,
+ previewFrame->height() - 2 );
+ }
+ fireSaverWidget->show();
+}
+
+
+void KFireSaverSetup::writeConfig()
+{
+ KConfig config("kfiresaverrc",false,false);
+
+ // show
+ config.setGroup( "Show" );
+ config.writeEntry( "ShowType", showCombo->currentItem() );
+ config.writeEntry( "FireworksFrequency", fireworksSlider->value() );
+ config.writeEntry( "ParticlesSize", particlesSlider->value() );
+ config.writeEntry( "enable-BottomFire", bottomfireBox->isChecked() );
+ config.writeEntry( "BottomFireColor", bottomfireColorButton->color() );
+ config.writeEntry( "enable-Sounds", soundsBox->isChecked() );
+ config.writeEntry( "enable-NoOverhead", overheadBox->isChecked() );
+ config.writeEntry( "enable-FrameSkip", frameskipBox->isChecked() );
+
+ // fireworks
+ config.setGroup( "Fireworks" );
+ if (!fire1Box->isChecked() && !fire2Box->isChecked() &&
+ !fire3Box->isChecked() && !fire4Box->isChecked() &&
+ !fire5Box->isChecked() && !fire6Box->isChecked() &&
+ !fire7Box->isChecked() && !fire8Box->isChecked())
+ fire1Box->setChecked(true);
+ config.writeEntry( "use-Classic", fire1Box->isChecked() );
+ config.writeEntry( "use-Explosion", fire2Box->isChecked() );
+ config.writeEntry( "use-FlameRing", fire3Box->isChecked() );
+ config.writeEntry( "use-FlameWorld", fire4Box->isChecked() );
+ config.writeEntry( "use-Fall", fire5Box->isChecked() );
+ config.writeEntry( "use-Splitter", fire6Box->isChecked() );
+ config.writeEntry( "use-Spirals", fire7Box->isChecked() );
+ config.writeEntry( "use-SuperNova", fire8Box->isChecked() );
+ if (!redBox->isChecked() && !orangeBox->isChecked() &&
+ !greenBox->isChecked() && !blueBox->isChecked() &&
+ !whiteBox->isChecked() && !purpleBox->isChecked() &&
+ !seagreenBox->isChecked())
+ whiteBox->setChecked(true);
+ config.writeEntry( "use-White", whiteBox->isChecked() );
+ config.writeEntry( "use-Blue", blueBox->isChecked() );
+ config.writeEntry( "use-DeepGreen", seagreenBox->isChecked() );
+ config.writeEntry( "use-Purple", purpleBox->isChecked() );
+ config.writeEntry( "use-Orange", orangeBox->isChecked() );
+ config.writeEntry( "use-Red", redBox->isChecked() );
+ config.writeEntry( "use-Green", greenBox->isChecked() );
+ config.writeEntry( "use-Multicolor", combosBox->isChecked() );
+
+ // specials
+ config.setGroup( "Specials" );
+ config.writeEntry( "enable-Logos", logosBox->isChecked() );
+ config.writeEntry( "LogosKonqui", logosKonquiBox->isChecked() );
+ config.writeEntry( "LogosTux", logosTuxBox->isChecked() );
+ config.writeEntry( "LogosKDEIcons", logosIconsBox->isChecked() );
+ config.writeEntry( "LogosReduceDetail", logosDetailBox->isChecked() );
+ config.writeEntry( "LogosFrequency", logosSlider->value() );
+ config.writeEntry( "enable-Stars", starsBox->isChecked() );
+ config.writeEntry( "StarsFlicker", starsFlickerBox->isChecked() );
+ config.writeEntry( "StarsGradient", starsGradientBox->isChecked() );
+ config.writeEntry( "StarsNumber", starsSlider->value() );
+ config.writeEntry( "enable-Writings", writingsBox->isChecked() );
+
+ // effects
+ config.setGroup( "Effects" );
+ config.writeEntry( "enable-SphericalLight", lightBox->isChecked() );
+ config.writeEntry( "enable-Flash", flashBox->isChecked() );
+ config.writeEntry( "FlashOpacity", flashSlider->value() );
+ config.writeEntry( "enable-Fade", fadeBox->isChecked() );
+ config.writeEntry( "FadeIntensity", fadeSlider->value() );
+ config.writeEntry( "enable-Flares", flaresBox->isChecked() );
+ config.writeEntry( "FlaresDimension", flaresSlider->value() );
+ config.writeEntry( "enable-Trail", trailBox->isChecked() );
+}
+
+
+void KFireSaverSetup::readConfig()
+{
+ KConfig config("kfiresaverrc",true,false);
+
+ // show
+ config.setGroup( "Show" );
+ showCombo->setCurrentItem(config.readNumEntry( "ShowType", 1 ));
+ fireworksSlider->setValue(config.readNumEntry( "FireworksFrequency", 7 ));
+ particlesSlider->setValue(config.readNumEntry( "ParticlesSize", 0 ));
+ bottomfireBox->setChecked(config.readBoolEntry( "enable-BottomFire", true ));
+ QColor blue = Qt::darkBlue;
+ bottomfireColorButton->setColor(config.readColorEntry( "BottomFireColor", &blue ));
+ soundsBox->setChecked(config.readBoolEntry( "enable-Sounds", false ));
+ overheadBox->setChecked(config.readBoolEntry( "enable-NoOverhead", true ));
+ frameskipBox->setChecked(config.readBoolEntry( "enable-FrameSkip", true ));
+
+ // fireworks
+ config.setGroup( "Fireworks" );
+ fire1Box->setChecked(config.readBoolEntry( "use-Classic", true ));
+ fire2Box->setChecked(config.readBoolEntry( "use-Explosion", false ));
+ fire3Box->setChecked(config.readBoolEntry( "use-FlameRing", false ));
+ fire4Box->setChecked(config.readBoolEntry( "use-FlameWorld", false ));
+ fire5Box->setChecked(config.readBoolEntry( "use-Fall", false ));
+ fire6Box->setChecked(config.readBoolEntry( "use-Splitter", false ));
+ fire7Box->setChecked(config.readBoolEntry( "use-Spirals", false ));
+ fire8Box->setChecked(config.readBoolEntry( "use-SuperNova", false ));
+ whiteBox->setChecked(config.readBoolEntry( "use-White", true ));
+ blueBox->setChecked(config.readBoolEntry( "use-Blue", false ));
+ seagreenBox->setChecked(config.readBoolEntry( "use-DeepGreen", true ));
+ purpleBox->setChecked(config.readBoolEntry( "use-Purple", false ));
+ orangeBox->setChecked(config.readBoolEntry( "use-Orange", true ));
+ redBox->setChecked(config.readBoolEntry( "use-Red", false ));
+ greenBox->setChecked(config.readBoolEntry( "use-Green", false ));
+ combosBox->setChecked(config.readBoolEntry( "use-Multicolor", true ));
+
+ // specials
+ config.setGroup( "Specials" );
+ logosBox->setChecked(config.readBoolEntry( "enable-Logos", true ));
+ logosKonquiBox->setChecked(config.readBoolEntry( "LogosKonqui", true ));
+ logosTuxBox->setChecked(config.readBoolEntry( "LogosTux", true ));
+ logosIconsBox->setChecked(config.readBoolEntry( "LogosKDEIcons", true ));
+ logosDetailBox->setChecked(config.readBoolEntry( "LogosReduceDetail", true ));
+ logosSlider->setValue(config.readNumEntry( "LogosFrequency", 4 ));
+ starsBox->setChecked(config.readBoolEntry( "enable-Stars", true ));
+ starsFlickerBox->setChecked(config.readBoolEntry( "StarsFlicker", false ));
+ starsGradientBox->setChecked(config.readBoolEntry( "StarsGradient", true ));
+ starsSlider->setValue(config.readNumEntry( "StarsNumber", 4 ));
+ writingsBox->setChecked(config.readBoolEntry( "enable-Writings", true ));
+
+ // effects
+ config.setGroup( "Effects" );
+ lightBox->setChecked(config.readBoolEntry( "enable-SphericalLight", true ));
+ flashBox->setChecked(config.readBoolEntry( "enable-Flash", false ));
+ flashSlider->setValue(config.readNumEntry( "FlashOpacity", 5 ));
+ fadeBox->setChecked(config.readBoolEntry( "enable-Fade", false ));
+ fadeSlider->setValue(config.readNumEntry( "FadeIntensity", 3 ));
+ flaresBox->setChecked(config.readBoolEntry( "enable-Flares", true ));
+ flaresSlider->setValue(config.readNumEntry( "FlaresDimension", 5 ));
+ trailBox->setChecked(config.readBoolEntry( "enable-Trail", false ));
+}
+
+void KFireSaverSetup::useButton_clicked()
+{
+ int ci = presetCombo->currentItem();
+
+ showCombo->setCurrentItem( 0 );
+ particlesSlider->setValue( 0 );
+ overheadBox->setChecked( true );
+ flashBox->setChecked( false );
+ //flashSlider->setValue( );
+ //soundsBox->setChecked( );
+ //logosDetailBox->setChecked( );
+
+ switch (ci){
+ case 0: // KDE default
+ showCombo->setCurrentItem( 1 );
+ fireworksSlider->setValue( 7 );
+ bottomfireBox->setChecked( true );
+ bottomfireColorButton->setColor( Qt::darkBlue );
+ frameskipBox->setChecked( true );
+ fire1Box->setChecked( true );
+ fire2Box->setChecked( false );
+ fire3Box->setChecked( false );
+ fire4Box->setChecked( false );
+ fire5Box->setChecked( false );
+ fire6Box->setChecked( false );
+ fire7Box->setChecked( false );
+ fire8Box->setChecked( false );
+ whiteBox->setChecked( true );
+ blueBox->setChecked( false );
+ seagreenBox->setChecked( true );
+ purpleBox->setChecked( false );
+ orangeBox->setChecked( true );
+ redBox->setChecked( false );
+ greenBox->setChecked( false );
+ combosBox->setChecked( true );
+ logosBox->setChecked( true );
+ logosKonquiBox->setChecked( true );
+ logosTuxBox->setChecked( true );
+ logosIconsBox->setChecked( true );
+ logosSlider->setValue( 4 );
+ starsBox->setChecked( true );
+ starsFlickerBox->setChecked( false );
+ starsGradientBox->setChecked( true );
+ starsSlider->setValue( 4 );
+ writingsBox->setChecked( true );
+ lightBox->setChecked( true );
+ fadeBox->setChecked( false );
+ //fadeSlider->setValue( );
+ flaresBox->setChecked( true );
+ flaresSlider->setValue( 5 );
+ trailBox->setChecked( false );
+ break;
+ case 1: // Elegant white
+ fireworksSlider->setValue( 7 );
+ bottomfireBox->setChecked( true );
+ bottomfireColorButton->setColor( Qt::blue );
+ frameskipBox->setChecked( true );
+ fire1Box->setChecked( true );
+ fire2Box->setChecked( false );
+ fire3Box->setChecked( false );
+ fire4Box->setChecked( false );
+ fire5Box->setChecked( true );
+ fire6Box->setChecked( true );
+ fire7Box->setChecked( false );
+ fire8Box->setChecked( false );
+ whiteBox->setChecked( true );
+ blueBox->setChecked( true );
+ seagreenBox->setChecked( false );
+ purpleBox->setChecked( false );
+ orangeBox->setChecked( false );
+ redBox->setChecked( false );
+ greenBox->setChecked( false );
+ combosBox->setChecked( true );
+ logosBox->setChecked( true );
+ logosKonquiBox->setChecked( true );
+ logosTuxBox->setChecked( false );
+ logosIconsBox->setChecked( false );
+ logosSlider->setValue( 3 );
+ starsBox->setChecked( true );
+ starsFlickerBox->setChecked( true );
+ starsGradientBox->setChecked( false );
+ starsSlider->setValue( 4 );
+ writingsBox->setChecked( true );
+ lightBox->setChecked( true );
+ fadeBox->setChecked( true );
+ fadeSlider->setValue( 3 );
+ flaresBox->setChecked( true );
+ flaresSlider->setValue( 6 );
+ trailBox->setChecked( true );
+ break;
+ case 2: // Quick simple
+ showCombo->setCurrentItem(1);
+ fireworksSlider->setValue( 4 );
+ bottomfireBox->setChecked( false );
+ //bottomfireColorButton->setColor( );
+ frameskipBox->setChecked( false );
+ fire1Box->setChecked( true );
+ fire2Box->setChecked( true );
+ fire3Box->setChecked( false );
+ fire4Box->setChecked( false );
+ fire5Box->setChecked( false );
+ fire6Box->setChecked( false );
+ fire7Box->setChecked( false );
+ fire8Box->setChecked( false );
+ whiteBox->setChecked( true );
+ blueBox->setChecked( true );
+ seagreenBox->setChecked( false );
+ purpleBox->setChecked( false );
+ orangeBox->setChecked( false );
+ redBox->setChecked( true );
+ greenBox->setChecked( true );
+ combosBox->setChecked( false );
+ logosBox->setChecked( true );
+ logosKonquiBox->setChecked( true );
+ logosTuxBox->setChecked( true );
+ logosIconsBox->setChecked( true );
+ logosSlider->setValue( 2 );
+ starsBox->setChecked( false );
+ //starsFlickerBox->setChecked( );
+ //starsGradientBox->setChecked( );
+ //starsSlider->setValue( );
+ writingsBox->setChecked( false );
+ lightBox->setChecked( false );
+ fadeBox->setChecked( false );
+ //fadeSlider->setValue( );
+ flaresBox->setChecked( false );
+ //flaresSlider->setValue( );
+ trailBox->setChecked( false );
+ break;
+ case 3: //Enhanced reality
+ fireworksSlider->setValue( 8 );
+ bottomfireBox->setChecked( true );
+ bottomfireColorButton->setColor( Qt::magenta );
+ frameskipBox->setChecked( true );
+ fire1Box->setChecked( true );
+ fire2Box->setChecked( true );
+ fire3Box->setChecked( true );
+ fire4Box->setChecked( true );
+ fire5Box->setChecked( true );
+ fire6Box->setChecked( true );
+ fire7Box->setChecked( false );
+ fire8Box->setChecked( false );
+ whiteBox->setChecked( true );
+ blueBox->setChecked( true );
+ seagreenBox->setChecked( true );
+ purpleBox->setChecked( true );
+ orangeBox->setChecked( true );
+ redBox->setChecked( true );
+ greenBox->setChecked( true );
+ combosBox->setChecked( true );
+ logosBox->setChecked( true );
+ logosKonquiBox->setChecked( false );
+ logosTuxBox->setChecked( true );
+ logosIconsBox->setChecked( false );
+ logosSlider->setValue( 2 );
+ starsBox->setChecked( true );
+ starsFlickerBox->setChecked( true );
+ starsGradientBox->setChecked( true );
+ starsSlider->setValue( 5 );
+ writingsBox->setChecked( true );
+ lightBox->setChecked( false );
+ fadeBox->setChecked( true );
+ fadeSlider->setValue( 3 );
+ flaresBox->setChecked( false );
+ //flaresSlider->setValue( );
+ trailBox->setChecked( true );
+ break;
+ case 4: //Hypnotic illusions
+ fireworksSlider->setValue( 9 );
+ bottomfireBox->setChecked( true );
+ bottomfireColorButton->setColor( Qt::red );
+ frameskipBox->setChecked( true );
+ fire1Box->setChecked( true );
+ fire2Box->setChecked( true );
+ fire3Box->setChecked( true );
+ fire4Box->setChecked( true );
+ fire5Box->setChecked( true );
+ fire6Box->setChecked( true );
+ fire7Box->setChecked( false );
+ fire8Box->setChecked( false );
+ whiteBox->setChecked( true );
+ blueBox->setChecked( true );
+ seagreenBox->setChecked( true );
+ purpleBox->setChecked( true );
+ orangeBox->setChecked( true );
+ redBox->setChecked( true );
+ greenBox->setChecked( true );
+ combosBox->setChecked( true );
+ logosBox->setChecked( false );
+ //logosKonquiBox->setChecked( true );
+ //logosTuxBox->setChecked( true );
+ //logosIconsBox->setChecked( true );
+ //logosSlider->setValue( 5 );
+ starsBox->setChecked( true );
+ starsFlickerBox->setChecked( true );
+ starsGradientBox->setChecked( true );
+ starsSlider->setValue( 8 );
+ writingsBox->setChecked( false );
+ lightBox->setChecked( false );
+ fadeBox->setChecked( true );
+ fadeSlider->setValue( 7 );
+ flaresBox->setChecked( true );
+ flaresSlider->setValue( 8 );
+ trailBox->setChecked( false );
+ break;
+ }
+ //applyButton_clicked();
+}
+
+#endif
diff --git a/kscreensaver/kdesavers/firesaverwriter.cpp b/kscreensaver/kdesavers/firesaverwriter.cpp
new file mode 100644
index 00000000..07209884
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaverwriter.cpp
@@ -0,0 +1,247 @@
+/***************************************************************************
+ * Copyright (C) 2004 by E.Ros *
+ * rosenric@dei.unipd.it *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <math.h>
+#include <stdlib.h>
+#include <qimage.h>
+#include <qgl.h>
+#include <qfile.h>
+#include <qstring.h>
+#include <kdebug.h>
+#include <kstandarddirs.h>
+#include <kdeversion.h>
+#include <klocale.h>
+#include "firesaverwriter.h"
+
+
+/* Word: SINGLE WORD */
+
+Word::Word( const char * _text, QMap<char, Symbol *> * sMap, float _scale )
+ : width(0), scale(_scale), cX(0), cY(0), vScale(0), vX(0), vY(0),
+ activateTime(0.0), lifeTime(2), currentTime(0)
+{
+ for ( ; *_text != 0 && *_text != ' '; _text++ )
+ {
+ char c = *_text;
+ if ( !sMap->contains(c) ) //search for a symbol in the map
+ continue;
+ Symbol * symbol = (*sMap)[c]; //get the symbol*
+ width += symbol->scale; //increase word's half-width
+ symbolList.append( symbol ); //insert it to the list
+ }
+ color[0] = 0;
+ color[1] = 0.8 * drand48();
+ color[2] = 0.2 + 0.8 * drand48();
+ color[3] = 1;
+}
+
+inline void Word::renderWord( double dT )
+{
+ if ( (currentTime += dT) < activateTime )
+ return;
+
+ //update coloring
+ if ( activateTime >= 0 ) {
+ if ( currentTime < activateTime + 0.4 )
+ color[3] = (currentTime - activateTime) / 0.4;
+ else
+ color[3] = 1 - (currentTime - activateTime - 0.4) / (lifeTime - 0.4);
+ } else
+ color[3] = 1 - currentTime / lifeTime;
+
+ //word's global transforms
+ glPushMatrix();
+ glTranslatef( cX - scale * width, cY, 0 );
+ glScalef( scale, scale, 1 );
+ glColor4fv( color );
+
+ //for each symbol draw it!
+ Symbol * symbol = symbolList.first();
+ for( ; symbol; symbol = symbolList.next() )
+ symbol->renderSymbol();
+ glPopMatrix();
+
+ //physical update to position and scale
+ cX += vX * dT;
+ cY += vY * dT;
+ scale += scale * vScale * dT;
+}
+
+inline bool Word::isDead()
+{
+ if ( activateTime > 0 )
+ return (currentTime - activateTime) >= lifeTime;
+ return currentTime >= lifeTime;
+}
+
+
+
+/* Writer: engine that spawns and manages words */
+
+Writer::Writer( QString descFileName )
+ : numTextures(0)
+{
+ wordList.setAutoDelete( true );
+
+ if ( !loadMap( descFileName ) )
+ return;
+
+ QString welcomeString = i18n("Welcome to KDE %1.%2.%3")
+ .arg(KDE_VERSION_MAJOR)
+ .arg(KDE_VERSION_MINOR)
+ .arg(KDE_VERSION_RELEASE);
+ spawnWords(welcomeString, Fun1);
+}
+
+Writer::~ Writer()
+{
+ glDeleteTextures( numTextures, texArray );
+ wordList.clear();
+ QMap<char, Symbol *>::Iterator it = symbolMap.begin();
+ for ( ; it != symbolMap.end(); ++it )
+ delete (Symbol *)it.data();
+}
+
+void Writer::spawnWords( QString phrase, effectType fX )
+{
+ int wordCount = 0;
+ float xCenter = 0,
+ yCenter = drand48()*40 - 20,
+ wordsWidth = 0;
+ QPtrList<Word> localWords;
+ while ( phrase.length() > 0 )
+ {
+ QString letters = phrase.section(" ",0,0);
+ Word * word = new Word( letters.latin1(), &symbolMap );
+ wordList.append( word );
+ localWords.append( word );
+ word->cX = xCenter;
+ word->cY = yCenter;
+ switch ( fX ) {
+ case Fun1:{
+ float angle = 2*M_PI * drand48(),
+ module = 0.25 * (drand48() + drand48());
+ word->vX = module * cos( angle );
+ word->vY = module * sin( angle );
+ word->vScale = 0.6;
+ word->scale = 0.7 + 0.3*(drand48() + drand48());}
+ word->activateTime = 0.3 * wordCount;
+ //fall to the case below for word spacing
+ default:
+ case NoEffect:
+ wordsWidth += word->width;
+ word->cX += wordsWidth;
+ wordsWidth += word->width + 1;
+ break;
+ case Sequence:
+ word->lifeTime = 1.2;
+ word->activateTime = 0.6 + 0.9 * wordCount;
+// word->vY = -5;
+ break;
+ }
+ wordCount ++;
+ phrase.remove(0, letters.length() + 1);
+ }
+ if ( localWords.count() < 1 )
+ return;
+ //some computations to 'center' the string
+ float displace = -(wordsWidth - 1) / 2;
+ Word * word = localWords.first();
+ for( ; word; word = localWords.next() )
+ word->cX += displace;
+}
+
+void Writer::render( double dT )
+{
+ if ( !numTextures )
+ return;
+
+ glEnable( GL_TEXTURE_2D );
+
+ glPushMatrix();
+ glScalef( 0.6, 0.6, 1.0 );
+ Word * word = wordList.first();
+ while( word ) {
+ word->renderWord( dT );
+ if ( word->isDead() ) {
+ wordList.remove();
+ word = wordList.current();
+ } else
+ word = wordList.next();
+ }
+ glPopMatrix();
+}
+
+/* loadMap()
+ * parses the description file to create the internal symbols map.
+ * This map is then used when building words.
+ **/
+bool Writer::loadMap( QString descFile )
+{
+ QFile desc( locate("data","kfiresaver/"+descFile) );
+ if ( !desc.open( IO_ReadOnly ) )
+ return false;
+
+ unsigned int currentNumber;
+ float xres = 0, yres = 0;
+ bool generatedFirst = false;
+
+ while ( !desc.atEnd() )
+ {
+ QString line;
+ int count = desc.readLine( line, 100 );
+ //skip comments / invalid lines
+ if ( count < 6 || line.at(0) == '#')
+ continue;
+ //load texture maps
+ if ( line.at(0) == '"' && numTextures < 15 )
+ {
+ //load and generate texture
+ QString fileName = line.section("\"", 1,1 );
+ QImage tmp;
+ if ( !tmp.load( locate("data","kfiresaver/"+fileName) ) ) {
+ kdWarning() << "can't load filename:" << fileName << endl;
+ generatedFirst = false;
+ continue;
+ }
+ glGenTextures( 1, &currentNumber );
+ texArray[ numTextures++ ] = currentNumber;
+ glBindTexture(GL_TEXTURE_2D, currentNumber);
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
+ QImage texture = QGLWidget::convertToGLFormat( tmp );
+ xres = (float)texture.width();
+ yres = (float)texture.height();
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (int)xres, (int)yres, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, texture.bits());
+ generatedFirst = true;
+ continue;
+ }
+ if ( !generatedFirst )
+ continue;
+ if ( line.contains(' ') != 4 ) {
+ kdWarning() << "wrong line on symbols.desc (4 spaces expected):" << endl;
+ kdWarning() << " '" << line << "'" << endl;
+ continue;
+ }
+ //parse the line describing a symbol and create it
+ char p = *(line.latin1());
+ if ( symbolMap.contains(p) )
+ continue;
+ float left = (float)(line.section(" ",1,1).toInt())/xres,
+ top = (float)(line.section(" ",2,2).toInt())/yres,
+ right = (float)(line.section(" ",3,3).toInt() + 1)/xres,
+ bottom = (float)(line.section(" ",4,4).toInt() + 1)/yres;
+ symbolMap[p] = new Symbol( currentNumber, left,top,right,bottom );
+ }
+
+ return symbolMap.size() > 0;
+}
diff --git a/kscreensaver/kdesavers/firesaverwriter.h b/kscreensaver/kdesavers/firesaverwriter.h
new file mode 100644
index 00000000..b7bd2e78
--- /dev/null
+++ b/kscreensaver/kdesavers/firesaverwriter.h
@@ -0,0 +1,113 @@
+/***************************************************************************
+ * Copyright (C) 2004 by E.Ros *
+ * rosenric@dei.unipd.it *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef FIRESAVER_WRITER_H
+#define FIRESAVER_WRITER_H
+
+#include <qgl.h>
+#include <qptrlist.h>
+#include <qmap.h>
+#include <qstring.h>
+
+class Symbol
+{
+ public:
+ Symbol( unsigned int textureNumber, float l, float t, float r, float b )
+ : scale((r - l) / (b - t)), texNum(textureNumber), L(l), T(1-t), R(r), B(1-b)
+ {
+ v1[0] = -scale; v1[1] = 1;
+ v2[0] = -scale; v2[1] = -1;
+ v3[0] = scale; v3[1] = 1;
+ v4[0] = scale; v4[1] = -1;
+ }
+
+ float scale;
+
+ inline void renderSymbol()
+ {
+ //draw the symbol and update "cursor"'s position
+ glBindTexture( GL_TEXTURE_2D, texNum );
+ glTranslatef( scale, 0, 0 );
+ glBegin( GL_TRIANGLE_STRIP );
+ glTexCoord2f( L, T );
+ glVertex2fv( v1 );
+ glTexCoord2f( L, B );
+ glVertex2fv( v2 );
+ glTexCoord2f( R, T );
+ glVertex2fv( v3 );
+ glTexCoord2f( R, B );
+ glVertex2fv( v4 );
+ glEnd();
+ glTranslatef( scale, 0, 0 );
+ }
+
+ private:
+ float v1[2], v2[2], v3[2], v4[2];
+ unsigned int texNum; //number of texture to activate
+ float L, T, R, B; //coordinates for mapping
+};
+
+
+class Word
+{
+ friend class Writer;
+ public:
+ Word( const char * text, QMap<char, Symbol *> * map, float scale = 1.0 );
+
+ inline void renderWord( double dT );
+ inline bool isDead();
+
+ private:
+ float width, scale, cX, cY;
+ float vScale, vX, vY;
+ float activateTime, lifeTime, currentTime;
+ float color[4];
+ QPtrList<Symbol> symbolList;
+};
+
+
+/*
+ *
+ **/
+class Writer
+{
+ public:
+ Writer( QString descFileName );
+ ~Writer();
+
+ //types of effects implemented
+ enum effectType { NoEffect = 0, Sequence, Fun1, Fun2 };
+
+ //call this function to add a sentence to the renderer
+ void spawnWords( QString phrase, effectType fx = NoEffect );
+
+ //called to get the words on screen using OpenGL
+ //Note: the context must be set up. Words are drawn on XY plane
+ //inside a rectangle with 10 units's side.
+ void render( double dT );
+
+ private:
+ //misc utility functions
+ bool loadMap( QString );
+
+ //texture 'references' used by GL to delete allocated textures
+ int numTextures;
+ unsigned int texArray[16];
+
+ //list of words and map of symbols
+ QPtrList<Word> wordList;
+ QMap<char, Symbol *> symbolMap;
+
+ //disables standard constructor
+ Writer();
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/fountain.cpp b/kscreensaver/kdesavers/fountain.cpp
new file mode 100644
index 00000000..51d88343
--- /dev/null
+++ b/kscreensaver/kdesavers/fountain.cpp
@@ -0,0 +1,461 @@
+//-----------------------------------------------------------------------------
+//
+// kfountain - Partical Fountain Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+// KConfig code and KScreenSaver "Setup..." improvements by
+// Nick Betcher <nbetcher@usinternet.com> 2001
+//
+#include <stdlib.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kcolordialog.h>
+#include <kbuttonbox.h>
+#include <kcolorbutton.h>
+#include <kglobal.h>
+#include "fountain.h"
+#include "fountain.moc"
+#ifdef Q_WS_MACX
+#include <OpenGL/gl.h>
+#include <OpenGL/glu.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <qimage.h>
+#include <kdebug.h>
+#include <qpainter.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <kstandarddirs.h>
+#include <math.h>
+#include <kmessagebox.h>
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kfountain.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Particle Fountain Screen Saver" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KFountainSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KFountainSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+KFountainSetup::KFountainSetup( QWidget *parent, const char *name )
+ : SetupUi( parent, name, TRUE )
+{
+ readSettings();
+
+ //QLabel *label;
+ //QPushButton *button;
+
+ //setCaption( i18n("Setup Particle Fountain") );
+
+ //QVBoxLayout *tl = new QVBoxLayout(this, 10);
+ //QHBoxLayout *tl1 = new QHBoxLayout;
+ //tl->addLayout(tl1);
+
+ //QVBoxLayout *tl11 = new QVBoxLayout(5);
+ //tl1->addLayout(tl11);
+
+ //label = new QLabel( i18n("No options here yet...:"), this );
+ ///tl11->addWidget(label);;
+
+ //preview = new QWidget( this );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new KFountainSaver( preview->winId() );
+ //tl1->addWidget(preview);
+
+ //KButtonBox *bbox = new KButtonBox(this);
+ //bbox->addStretch(1);
+;
+ connect( PushButton1, SIGNAL( clicked() ), SLOT( slotOkPressed() ) );
+ connect( PushButton2, SIGNAL( clicked() ), SLOT( reject() ) );
+ connect( PushButton3, SIGNAL( clicked() ), SLOT( aboutPressed() ) );
+ connect( SpinBox1, SIGNAL( valueChanged(int)), saver, SLOT( updateSize(int)));
+ connect( RadioButton1, SIGNAL( toggled(bool)), saver, SLOT( doStars(bool)));
+
+}
+
+// read settings from config file
+void KFountainSetup::readSettings()
+{
+ KConfig config("kssfountainrc", false, false);
+
+ config.setGroup( "Settings" );
+ QString boolval = config.readEntry( "Stars", "false" );
+ if (boolval == "true") {
+ RadioButton1->setDown(true);
+ RadioButton1_2->setDown(false);
+ } else {
+ if (boolval == "false")
+ {
+ RadioButton1->setDown(false);
+ RadioButton1_2->setDown(true);
+ }
+ }
+
+ QString starammount = config.readEntry("StarSize", "75");
+ SpinBox1->setValue(starammount.toInt());
+
+}
+
+// Ok pressed - save settings and exit
+void KFountainSetup::slotOkPressed()
+{
+ KConfig config("kssfountainrc", false, false);
+ config.setGroup( "Settings" );
+
+ if (RadioButton1->isOn() == true)
+ {
+ config.writeEntry( "Stars", "true" );
+ } else {
+ if (RadioButton1_2->isOn() == true)
+ {
+ config.writeEntry( "Stars", "false" );
+ }
+ }
+ config.writeEntry( "StarSize", QString::number(SpinBox1->value()) );
+
+ config.sync();
+
+ accept();
+}
+
+void KFountainSetup::aboutPressed()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Particle Fountain</h3>\n<p>Particle Fountain Screen Saver for KDE</p>\nCopyright (c) Ian Reinhart Geiser 2001<br>\n\n<p>KConfig code and KScreenSaver \"Setup...\" improvements by Nick Betcher <nbetcher@usinternet.com> 2001</p>"));
+}
+//-----------------------------------------------------------------------------
+
+
+KFountainSaver::KFountainSaver( WId id ) : KScreenSaver( id )
+{
+
+ kdDebug() << "Blank" << endl;
+
+ timer = new QTimer( this );
+ timer->start( 25, TRUE );
+ setBackgroundColor( black );
+ erase();
+ fountain = new Fountain();
+ embed(fountain);
+ fountain->show();
+ connect( timer, SIGNAL(timeout()), this, SLOT(blank()) );
+}
+
+KFountainSaver::~KFountainSaver()
+{
+
+}
+
+// read configuration settings from config file
+void KFountainSaver::readSettings()
+{
+// Please remove me
+
+}
+
+void KFountainSaver::blank()
+{
+ // Play fountain
+
+ fountain->updateGL();
+ timer->start( 25, TRUE );
+
+}
+Fountain::Fountain( QWidget * parent, const char * name) : QGLWidget (parent,name)
+{
+ rainbow=true;
+ slowdown=2.0f;
+ zoom=-40.0f;
+ index=0;
+ size = 0.75f;
+ obj = gluNewQuadric();
+
+// This has to be here because you can't update the fountain until 'fountain' is created!
+ KConfig config("kssfountainrc", false, false);
+ config.setGroup( "Settings" );
+ QString boolval = config.readEntry( "Stars", "false" );
+ if (boolval == "true") {
+ setStars(true);
+ } else {
+ if (boolval == "false")
+ {
+ setStars(false);
+ }
+ }
+
+ QString starammount = config.readEntry("StarSize", "75");
+ float passvalue = (starammount.toInt() / 100.0);
+ setSize(passvalue);
+
+}
+
+Fountain::~Fountain()
+{
+ glDeleteTextures( 1, &texture[0] );
+ gluDeleteQuadric(obj);
+}
+
+/** load the particle file */
+bool Fountain::loadParticle()
+{
+ /* Status indicator */
+ bool Status = TRUE;
+ QImage buf;
+
+ kdDebug() << "Loading: " << locate("data", "kscreensaver/particle.png") << endl;
+ if (buf.load( locate("data", "kscreensaver/particle.png") ) )
+
+ {
+ tex = convertToGLFormat(buf); // flipped 32bit RGBA
+ kdDebug() << "Texture loaded: " << tex.numBytes () << endl;
+ }
+ else
+ {
+ QImage dummy( 32, 32, 32 );
+ dummy.fill( Qt::white.rgb() );
+ buf = dummy;
+ tex = convertToGLFormat( buf );
+ }
+
+ /* Set the status to true */
+ //Status = TRUE;
+ glGenTextures(1, &texture[0]); /* create three textures */
+ glBindTexture(GL_TEXTURE_2D, texture[0]);
+ /* use linear filtering */
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ /* actually generate the texture */
+ glTexImage2D(GL_TEXTURE_2D, 0, 4, tex.width(), tex.height(), 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, tex.bits());
+
+
+
+ return Status;
+}
+/** setup the GL enviroment */
+void Fountain::initializeGL ()
+{
+
+ kdDebug() << "InitGL" << endl;
+ GLfloat colors[12][3]=
+ {{1.0f,0.5f,0.5f},{1.0f,0.75f,0.5f},{1.0f,1.0f,0.5f},{0.75f,1.0f,0.5f},
+ {0.5f,1.0f,0.5f},{0.5f,1.0f,0.75f},{0.5f,1.0f,1.0f},{0.5f,0.75f,1.0f},
+ {0.5f,0.5f,1.0f},{0.75f,0.5f,1.0f},{1.0f,0.5f,1.0f},{1.0f,0.5f,0.75f}};
+
+ if (loadParticle()) // Jump To Texture Loading Routine
+ {
+ /* Enable smooth shading */
+ glShadeModel( GL_SMOOTH );
+
+ /* Set the background black */
+ glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
+
+ /* Depth buffer setup */
+ glClearDepth( 1.0f );
+
+ /* Enables Depth Testing */
+ glDisable( GL_DEPTH_TEST );
+
+ /* Enable Blending */
+ glEnable( GL_BLEND );
+ /* Type Of Blending To Perform */
+ glBlendFunc( GL_SRC_ALPHA, GL_ONE );
+
+
+ /* Really Nice Perspective Calculations */
+ glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
+ /* Really Nice Point Smoothing */
+ glHint( GL_POINT_SMOOTH_HINT, GL_NICEST );
+
+ /* Enable Texture Mapping */
+ glEnable( GL_TEXTURE_2D );
+ /* Select Our Texture */
+ glBindTexture( GL_TEXTURE_2D, texture[0] );
+
+ for (loop=0;loop<MAX_PARTICLES;loop++) // Initials All The Textures
+ {
+ particle[loop].active=true; // Make All The Particles Active
+ particle[loop].life=1.0f; // Give All The Particles Full Life
+ particle[loop].fade=float(KApplication::random()%100)/1000.0f+0.003f; // Random Fade Speed
+ particle[loop].r=colors[(loop+1)/(MAX_PARTICLES/12)][0]; // Select Red Rainbow Color
+ particle[loop].g=colors[(loop+1)/(MAX_PARTICLES/12)][1]; // Select Green Rainbow Color
+ particle[loop].b=colors[(loop+1)/(MAX_PARTICLES/12)][2]; // Select Blue Rainbow Color
+ particle[loop].xi=float((KApplication::random()%50)-26.0f)*10.0f; // Random Speed On X Axis
+ particle[loop].yi=float((KApplication::random()%50)-25.0f)*10.0f; // Random Speed On Y Axis
+ particle[loop].zi=float((KApplication::random()%50)-25.0f)*10.0f; // Random Speed On Z Axis
+ particle[loop].xg=0.0f; // Set Horizontal Pull To Zero
+ particle[loop].yg=-0.8f; // Set Vertical Pull Downward
+ particle[loop].zg=0.0f; // Set Pull On Z Axis To Zero
+ particle[loop].size=size; // Set particle size.
+ }
+ }
+ else
+ exit(0);
+}
+/** resize the gl view */
+void Fountain::resizeGL ( int width, int height )
+{
+ kdDebug() << "ResizeGL " << width << "," <<height<< endl;
+ if (height==0) // Prevent A Divide By Zero By
+ {
+ height=1; // Making Height Equal One
+ }
+
+ glViewport(0,0,width,height); // Reset The Current Viewport
+
+ glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
+ glLoadIdentity(); // Reset The Projection Matrix
+
+ // Calculate The Aspect Ratio Of The Window
+ gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,200.0f);
+
+ glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
+ glLoadIdentity();
+}
+/** paint the GL view */
+void Fountain::paintGL ()
+{
+ //kdDebug() << "PaintGL" << endl;
+
+ GLfloat colors[12][3]=
+ {{1.0f,0.5f,0.5f},{1.0f,0.75f,0.5f},{1.0f,1.0f,0.5f},{0.75f,1.0f,0.5f},
+ {0.5f,1.0f,0.5f},{0.5f,1.0f,0.75f},{0.5f,1.0f,1.0f},{0.5f,0.75f,1.0f},
+ {0.5f,0.5f,1.0f},{0.75f,0.5f,1.0f},{1.0f,0.5f,1.0f},{1.0f,0.5f,0.75f}};
+ col = ( ++col ) % 12;
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
+
+ glLoadIdentity();
+ // Reset The ModelView Matrix
+ transIndex++;
+ glTranslatef( GLfloat(5.0*sin(4*3.14*transIndex/360)), GLfloat(4.0*cos(2*3.14*transIndex/360)), 0.0 );
+ xspeed = GLfloat(100.0*cos(3*3.14*transIndex/360)+100);
+ yspeed = GLfloat(100.0*sin(3*3.14*transIndex/360)+100);
+ //slowdown = GLfloat(4.0*sin(2*3.14*transIndex/360)+4.01);
+
+ for (loop=0;loop<MAX_PARTICLES;loop++) // Loop Through All The Particles
+ {
+ if (particle[loop].active) // If The Particle Is Active
+ {
+ float x=particle[loop].x; // Grab Our Particle X Position
+ float y=particle[loop].y; // Grab Our Particle Y Position
+ float z=particle[loop].z+zoom; // Particle Z Pos + Zoom
+ /* Select Our Texture */
+
+ /* Draw The Particle Using Our RGB Values,
+ * Fade The Particle Based On It's Life
+ */
+
+ glColor4f( particle[loop].r,
+ particle[loop].g,
+ particle[loop].b,
+ particle[loop].life );
+
+ /* Build Quad From A Triangle Strip */
+ if( !stars )
+ glBegin( GL_TRIANGLE_STRIP );
+ else
+ glBegin( GL_TRIANGLE_FAN );
+ /* Top Right */
+ glTexCoord2d( 1, 1 );
+ glVertex3f( x + particle[loop].size, y + particle[loop].size, z );
+ /* Top Left */
+ glTexCoord2d( 0, 1 );
+ glVertex3f( x - particle[loop].size, y + particle[loop].size, z );
+ /* Bottom Right */
+ glTexCoord2d( 1, 0 );
+ glVertex3f( x + particle[loop].size, y - particle[loop].size, z );
+ /* Bottom Left */
+ glTexCoord2d( 0, 0 );
+ glVertex3f( x - particle[loop].size, y - particle[loop].size, z );
+ glEnd( );
+
+ particle[loop].x+=particle[loop].xi/(slowdown*1000);// Move On The X Axis By X Speed
+ particle[loop].y+=particle[loop].yi/(slowdown*1000);// Move On The Y Axis By Y Speed
+ particle[loop].z+=particle[loop].zi/(slowdown*1000);// Move On The Z Axis By Z Speed
+
+ particle[loop].xi+=particle[loop].xg; // Take Pull On X Axis Into Account
+ particle[loop].yi+=particle[loop].yg; // Take Pull On Y Axis Into Account
+ particle[loop].zi+=particle[loop].zg; // Take Pull On Z Axis Into Account
+ particle[loop].life-=particle[loop].fade; // Reduce Particles Life By 'Fade'
+
+ if (particle[loop].life<0.0f) // If Particle Is Burned Out
+ {
+ particle[loop].life=2.0f; // Give It New Life
+ particle[loop].fade=float(KApplication::random()%100)/1000.0f+0.003f; // Random Fade Value
+ particle[loop].x=0.0f; // Center On X Axis
+ particle[loop].y=0.0f; // Center On Y Axis
+ particle[loop].z=0.0f; // Center On Z Axis
+ particle[loop].xi=xspeed+float((KApplication::random()%60)-32.0f); // X Axis Speed And Direction
+ particle[loop].yi=yspeed+float((KApplication::random()%60)-30.0f); // Y Axis Speed And Direction
+ particle[loop].zi=float((KApplication::random()%60)-30.0f); // Z Axis Speed And Direction
+ particle[loop].r=colors[col][0]; // Select Red From Color Table
+ particle[loop].g=colors[col][1]; // Select Green From Color Table
+ particle[loop].b=colors[col][2]; // Select Blue From Color Table
+ particle[loop].size=size;
+ if ((1+(random()%20)) == 10)
+ {
+ // Explode
+ particle[loop].active=true; // Make All The Particles Active
+ particle[loop].life=1.0f; // Give All The Particles Full Life
+ particle[loop].fade=float(KApplication::random()%100)/1000.0f+0.003f; // Random Fade Speed
+ particle[loop].r=colors[(loop+1)/(MAX_PARTICLES/12)][0]; // Select Red Rainbow Color
+ particle[loop].g=colors[(loop+1)/(MAX_PARTICLES/12)][1]; // Select Green Rainbow Color
+ particle[loop].b=colors[(loop+1)/(MAX_PARTICLES/12)][2]; // Select Blue Rainbow Color
+ particle[loop].xi=float((KApplication::random()%50)-26.0f)*10.0f; // Random Speed On X Axis
+ particle[loop].yi=float((KApplication::random()%50)-25.0f)*10.0f; // Random Speed On Y Axis
+ particle[loop].zi=float((KApplication::random()%50)-25.0f)*10.0f; // Random Speed On Z Axis
+ particle[loop].xg=0.0f; // Set Horizontal Pull To Zero
+ particle[loop].yg=-0.8f; // Set Vertical Pull Downward
+ particle[loop].zg=0.0f; // Set Pull On Z Axis To Zero
+ particle[loop].size=size; // Set particle size.
+ }
+ }
+ // Lets stir some things up
+ index += 0.001;
+ particle[loop].yg =2.0*sin(2*3.14*transIndex/360);
+ particle[loop].xg =2.0*cos(2*3.14*transIndex/360);
+ particle[loop].zg =4.0+(4.0*cos(2*3.14*transIndex/360));
+
+ }
+ }
+
+ glFlush();
+}
+void Fountain::setSize( float newSize )
+{
+ size = newSize;
+}
+void Fountain::setStars( bool doStars )
+{
+ stars = doStars;
+}
+
+void KFountainSaver::updateSize(int newSize)
+{
+ fountain->setSize(newSize/100);
+}
+void KFountainSaver::doStars(bool starState)
+{
+ fountain->setStars(starState);
+}
+
diff --git a/kscreensaver/kdesavers/fountain.h b/kscreensaver/kdesavers/fountain.h
new file mode 100644
index 00000000..fa89e6f8
--- /dev/null
+++ b/kscreensaver/kdesavers/fountain.h
@@ -0,0 +1,140 @@
+//-----------------------------------------------------------------------------
+//
+// kfountain - Partical Fountain Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+/////
+//NOTE:
+// The base particle engine did not come from me, it was designed by Jeff Molofee <nehe@connect.ab.ca>
+// I did some extensive modifications to make it work with QT's OpenGL but the base principal is about
+// the same.
+////
+
+#ifndef __FOUNTAIN_H__
+#define __FOUNTAIN_H__
+
+#include <qdialog.h>
+#include <qgl.h>
+#ifdef Q_WS_MACX
+#include <OpenGL/gl.h>
+#include <OpenGL/glu.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <kscreensaver.h>
+#include <qtimer.h>
+#include <qimage.h>
+#include "fountaincfg.h"
+#include <kinstance.h>
+#include <qfile.h>
+#include <qtextstream.h>
+
+#define MAX_PARTICLES 1000
+
+
+class Fountain : public QGLWidget
+{
+Q_OBJECT
+ class particles // Create A Structure For Particle
+ {
+ public:
+ bool active; // Active (Yes/No)
+ float life; // Particle Life
+ float fade; // Fade Speed
+ float r; // Red Value
+ float g; // Green Value
+ float b; // Blue Value
+ float x; // X Position
+ float y; // Y Position
+ float z; // Z Position
+ float xi; // X Direction
+ float yi; // Y Direction
+ float zi; // Z Direction
+ float xg; // X Gravity
+ float yg; // Y Gravity
+ float zg; // Z Gravity
+ float size; // Particle Size
+ };
+
+public:
+ Fountain( QWidget * parent=0, const char * name=0 );
+ ~Fountain();
+ void setSize( float newSize );
+ void setStars( bool doStars );
+protected:
+ /** paint the GL view */
+ void paintGL ();
+ /** resize the gl view */
+ void resizeGL ( int w, int h );
+ /** setup the GL enviroment */
+ void initializeGL ();
+
+
+private:
+ /** load the partical file */
+ bool loadParticle();
+
+ particles particle[MAX_PARTICLES];
+
+
+ bool rainbow; // Rainbow Mode?
+ bool sp; // Spacebar Pressed?
+ bool rp; // Enter Key Pressed?
+
+ float slowdown; // Slow Down Particles
+ float xspeed; // Base X Speed (To Allow Keyboard Direction Of Tail)
+ float yspeed; // Base Y Speed (To Allow Keyboard Direction Of Tail)
+ float zoom; // Used To Zoom Out
+ float size;
+ float stars;
+ GLuint loop; // Misc Loop Variable
+ GLuint col; // Current Color Selection
+ GLuint delay; // Rainbow Effect Delay
+ GLuint texture[1];
+ QImage tex;
+ float index;
+ float transIndex;
+ GLfloat scale;
+ GLUquadricObj *obj;
+};
+
+class KFountainSaver : public KScreenSaver
+{
+Q_OBJECT
+public:
+ KFountainSaver( WId drawable );
+ virtual ~KFountainSaver();
+ void readSettings();
+public slots:
+ void blank();
+ void updateSize(int newSize);
+ void doStars(bool starState);
+// void loadTextures(bool textures);
+private:
+ Fountain *fountain;
+ QTimer *timer;
+};
+
+class KFountainSetup : public SetupUi
+{
+ Q_OBJECT
+public:
+ KFountainSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotOkPressed();
+ void aboutPressed();
+private:
+ KFountainSaver *saver;
+ float size;
+ float stars;
+};
+
+#endif
+
+
diff --git a/kscreensaver/kdesavers/fountaincfg.ui b/kscreensaver/kdesavers/fountaincfg.ui
new file mode 100644
index 00000000..94759b2f
--- /dev/null
+++ b/kscreensaver/kdesavers/fountaincfg.ui
@@ -0,0 +1,192 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>SetupUi</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>SetupUi</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>209</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>209</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>400</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>Particle Fountain Setup</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>CheckBox1</cstring>
+ </property>
+ <property name="text">
+ <string>Use textures</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="2">
+ <property name="name">
+ <cstring>PushButton3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;About</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="0">
+ <property name="name">
+ <cstring>SpinBox1</cstring>
+ </property>
+ <property name="maxValue">
+ <number>500</number>
+ </property>
+ <property name="minValue">
+ <number>25</number>
+ </property>
+ <property name="lineStep">
+ <number>10</number>
+ </property>
+ <property name="value">
+ <number>75</number>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="1">
+ <property name="name">
+ <cstring>PushButton2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="0">
+ <property name="name">
+ <cstring>PushButton1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Shapes</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>Layout3</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1</cstring>
+ </property>
+ <property name="text">
+ <string>Stars</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Flares</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget" row="0" column="1" rowspan="4" colspan="2">
+ <property name="name">
+ <cstring>preview</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Particle size:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>RadioButton1_2</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1</receiver>
+ <slot>toggle()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButton1</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1_2</receiver>
+ <slot>toggle()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kscreensaver/kdesavers/gravity.cpp b/kscreensaver/kdesavers/gravity.cpp
new file mode 100644
index 00000000..d9f9bbd1
--- /dev/null
+++ b/kscreensaver/kdesavers/gravity.cpp
@@ -0,0 +1,419 @@
+//-----------------------------------------------------------------------------
+//
+// kgravity - Partical Gravity Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+// KConfig code and KScreenSaver "Setup..." improvements by
+// Nick Betcher <nbetcher@usinternet.com> 2001
+//
+#include <stdlib.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kcolordialog.h>
+#include <kbuttonbox.h>
+#include <kcolorbutton.h>
+#include "gravity.h"
+#include "gravity.moc"
+#ifdef Q_WS_MACX
+#include <OpenGL/glu.h>
+#include <OpenGL/gl.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <qimage.h>
+#include <kdebug.h>
+#include <qpainter.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <kstandarddirs.h>
+#include <math.h>
+#include <kmessagebox.h>
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kgravity.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Particle Gravity Screen Saver" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KGravitySaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KGravitySetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+KGravitySetup::KGravitySetup( QWidget *parent, const char *name )
+ : SetupUi( parent, name, TRUE )
+{
+ readSettings();
+
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+#ifdef Q_WS_X11
+ preview->show(); // otherwise saver does not get correct size
+#endif
+ saver = new KGravitySaver( preview->winId() );
+;
+ connect( PushButton1, SIGNAL( clicked() ), SLOT( slotOkPressed() ) );
+ connect( PushButton2, SIGNAL( clicked() ), SLOT( reject() ) );
+ connect( PushButton3, SIGNAL( clicked() ), SLOT( aboutPressed() ) );
+ connect( SpinBox1, SIGNAL( valueChanged(int)), saver, SLOT( updateSize(int)));
+ connect( RadioButton1, SIGNAL( toggled(bool)), saver, SLOT( doStars(bool)));
+
+}
+
+KGravitySetup::~KGravitySetup()
+{
+ delete saver;
+}
+
+// read settings from config file
+void KGravitySetup::readSettings()
+{
+ KConfig config("kssgravityrc", false, false);
+
+ config.setGroup( "Settings" );
+ QString boolval = config.readEntry( "Stars", "false" );
+ if (boolval == "true") {
+ RadioButton1->setDown(true);
+ RadioButton1_2->setDown(false);
+ } else {
+ if (boolval == "false")
+ {
+ RadioButton1->setDown(false);
+ RadioButton1_2->setDown(true);
+ }
+ }
+
+ QString starammount = config.readEntry("StarSize", "75");
+ SpinBox1->setValue(starammount.toInt());
+
+}
+
+// Ok pressed - save settings and exit
+void KGravitySetup::slotOkPressed()
+{
+ KConfig config("kssgravityrc", false, false);
+ config.setGroup( "Settings" );
+
+ if (RadioButton1->isOn() == true)
+ {
+ config.writeEntry( "Stars", "true" );
+ } else {
+ if (RadioButton1_2->isOn() == true)
+ {
+ config.writeEntry( "Stars", "false" );
+ }
+ }
+ config.writeEntry( "StarSize", QString::number(SpinBox1->value()) );
+
+ config.sync();
+
+ accept();
+}
+
+void KGravitySetup::aboutPressed()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Gravity</h3>\n<p>Particle Gravity Screen Saver for KDE</p>\nCopyright (c) Ian Reinhart Geiser 2001<br>\n\n<p>KConfig code and KScreenSaver \"Setup...\" improvements by Nick Betcher <nbetcher@usinternet.com> 2001</p>"));
+}
+//-----------------------------------------------------------------------------
+
+
+KGravitySaver::KGravitySaver( WId id ) : KScreenSaver( id )
+{
+
+ kdDebug() << "Blank" << endl;
+
+ timer = new QTimer( this );
+ timer->start( 25, TRUE );
+ setBackgroundColor( black );
+ erase();
+ gravity = new Gravity();
+ embed(gravity);
+#ifdef Q_WS_X11
+ gravity->show();
+#endif
+ connect( timer, SIGNAL(timeout()), this, SLOT(blank()) );
+}
+
+KGravitySaver::~KGravitySaver()
+{
+
+}
+
+// read configuration settings from config file
+void KGravitySaver::readSettings()
+{
+// Please remove me
+
+}
+
+void KGravitySaver::blank()
+{
+ // Play gravity
+
+ gravity->updateGL();
+ timer->start( 25, TRUE );
+
+}
+Gravity::Gravity( QWidget * parent, const char * name) : QGLWidget (parent,name)
+{
+ rainbow=true;
+ slowdown=2.0f;
+ zoom=-50.0f;
+ index=0;
+ size = 3.95f;
+// obj = gluNewQuadric();
+
+// This has to be here because you can't update the gravity until 'gravity' is created!
+ KConfig config("kssgravityrc", false, false);
+ config.setGroup( "Settings" );
+ QString boolval = config.readEntry( "Stars", "false" );
+ if (boolval == "true") {
+ setStars(true);
+ } else {
+ if (boolval == "false")
+ {
+ setStars(false);
+ }
+ }
+
+ QString starammount = config.readEntry("StarSize", "75");
+ float passvalue = (starammount.toInt() / 100.0);
+ setSize(passvalue);
+
+}
+
+Gravity::~Gravity()
+{
+ glDeleteTextures( 1, &texture[0] );
+ gluDeleteQuadric(obj);
+}
+
+/** load the particle file */
+bool Gravity::loadParticle()
+{
+ /* Status indicator */
+ bool Status = TRUE;
+ QImage buf;
+
+ kdDebug() << "Loading: " << locate("data", "kscreensaver/particle.png") << endl;
+ if (buf.load( locate("data", "kscreensaver/particle.png") ) )
+
+ {
+ tex = convertToGLFormat(buf); // flipped 32bit RGBA
+ kdDebug() << "Texture loaded: " << tex.numBytes () << endl;
+ }
+ else
+ {
+ QImage dummy( 32, 32, 32 );
+ dummy.fill( Qt::white.rgb() );
+ buf = dummy;
+ tex = convertToGLFormat( buf );
+ }
+
+ /* Set the status to true */
+ //Status = TRUE;
+ glGenTextures(1, &texture[0]); /* create three textures */
+ glBindTexture(GL_TEXTURE_2D, texture[0]);
+ /* use linear filtering */
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ /* actually generate the texture */
+ glTexImage2D(GL_TEXTURE_2D, 0, 4, tex.width(), tex.height(), 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, tex.bits());
+
+
+
+ return Status;
+}
+/** setup the GL enviroment */
+void Gravity::initializeGL ()
+{
+
+ kdDebug() << "InitGL" << endl;
+
+ if (loadParticle()) // Jump To Texture Loading Routine
+ {
+ /* Enable smooth shading */
+ glShadeModel( GL_SMOOTH );
+
+ /* Set the background black */
+ glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
+
+ /* Depth buffer setup */
+ glClearDepth( 1.0f );
+
+ /* Enables Depth Testing */
+ glDisable( GL_DEPTH_TEST );
+
+ /* Enable Blending */
+ glEnable( GL_BLEND );
+ /* Type Of Blending To Perform */
+ glBlendFunc( GL_SRC_ALPHA, GL_ONE );
+
+
+ /* Really Nice Perspective Calculations */
+ glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
+ /* Really Nice Point Smoothing */
+ glHint( GL_POINT_SMOOTH_HINT, GL_NICEST );
+
+ /* Enable Texture Mapping */
+ glEnable( GL_TEXTURE_2D );
+ /* Select Our Texture */
+ glBindTexture( GL_TEXTURE_2D, texture[0] );
+
+ for (loop=0;loop<MAX_PARTICLES;loop++) // Initials All The Textures
+ {
+ buildParticle(loop);
+ }
+ }
+ else
+ exit(0);
+}
+/** resize the gl view */
+void Gravity::resizeGL ( int width, int height )
+{
+ kdDebug() << "ResizeGL " << width << "," <<height<< endl;
+ if (height==0) // Prevent A Divide By Zero By
+ {
+ height=1; // Making Height Equal One
+ }
+
+ glViewport(0,0,width,height); // Reset The Current Viewport
+
+ glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
+ glLoadIdentity(); // Reset The Projection Matrix
+
+ // Calculate The Aspect Ratio Of The Window
+ gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
+
+ glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
+ glLoadIdentity();
+}
+/** paint the GL view */
+void Gravity::paintGL ()
+{
+ //kdDebug() << "PaintGL" << endl;
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
+ glLoadIdentity();
+ // Reset The ModelView Matrix
+ transIndex++;
+ //glRotatef(transIndex, 1,0,0);
+ //glRotatef(transIndex, 0,1,0);
+ //glRotatef(transIndex, 0,0,1);
+ float xmax = 5.0;
+ float ymax = 5.0;
+ glTranslatef( GLfloat(xmax*sin(3.14*transIndex/360)-xmax),
+ GLfloat(ymax*cos(3.14*transIndex/360)-ymax),
+ 0.0 );
+ //glRotatef(transIndex, 0,GLfloat(zmax*cos(3.14*transIndex/360000)), GLfloat(zmax*cos(3.14*transIndex/360000)));
+
+ for (loop=0;loop<MAX_PARTICLES;loop++) // Loop Through All The Particles
+ {
+ if (particle[loop].active) // If The Particle Is Active
+ {
+ float x=particle[loop].x; // Grab Our Particle X Position
+ float y=particle[loop].y; // Grab Our Particle Y Position
+ float z=particle[loop].z+zoom; // Particle Z Pos + Zoom
+ /* Select Our Texture */
+
+ /* Draw The Particle Using Our RGB Values,
+ * Fade The Particle Based On It's Life
+ */
+ particle[loop].life=(particle[loop].index/particle[loop].indexo)*2.0f;
+ glColor4f( particle[loop].r,
+ particle[loop].g,
+ particle[loop].b,
+ particle[loop].life );
+
+ /* Build Quad From A Triangle Strip */
+ if( !stars )
+ glBegin( GL_TRIANGLE_STRIP );
+ else
+ glBegin( GL_TRIANGLE_FAN );
+ /* Top Right */
+ glTexCoord2d( 1, 1 );
+ glVertex3f( x + particle[loop].size, y + particle[loop].size, z );
+ /* Top Left */
+ glTexCoord2d( 0, 1 );
+ glVertex3f( x - particle[loop].size, y + particle[loop].size, z );
+ /* Bottom Right */
+ glTexCoord2d( 1, 0 );
+ glVertex3f( x + particle[loop].size, y - particle[loop].size, z );
+ /* Bottom Left */
+ glTexCoord2d( 0, 0 );
+ glVertex3f( x - particle[loop].size, y - particle[loop].size, z );
+ glEnd( );
+ particle[loop].x=(particle[loop].xo*sin(particle[loop].index))*pow((double) particle[loop].index/particle[loop].indexo,(double) 8.0);
+ particle[loop].y=(particle[loop].yo*sin(particle[loop].index))*pow((double) particle[loop].index/particle[loop].indexo,(double) 8.0);
+ particle[loop].z=(particle[loop].zo*sin(particle[loop].index))*pow((double) particle[loop].index/particle[loop].indexo,(double) 8.0);
+ particle[loop].index-=0.05;
+ if (particle[loop].index<0.0f ) // If Particle Is Burned Out
+ {
+ buildParticle(loop);
+ }
+ // Lets stir some things up
+ }
+ }
+
+ glFlush();
+}
+void Gravity::setSize( float newSize )
+{
+ size = newSize;
+}
+void Gravity::setStars( bool doStars )
+{
+ stars = doStars;
+}
+
+void KGravitySaver::updateSize(int newSize)
+{
+ gravity->setSize(newSize/100);
+}
+void KGravitySaver::doStars(bool starState)
+{
+ gravity->setStars(starState);
+}
+
+void Gravity::buildParticle(int loop)
+{
+ GLfloat colors[12][3]=
+ {{1.0f,0.5f,0.5f},{1.0f,0.75f,0.5f},{1.0f,1.0f,0.5f},{0.75f,1.0f,0.5f},
+ {0.5f,1.0f,0.5f},{0.5f,1.0f,0.75f},{0.5f,1.0f,1.0f},{0.5f,0.75f,1.0f},
+ {0.5f,0.5f,1.0f},{0.75f,0.5f,1.0f},{1.0f,0.5f,1.0f},{1.0f,0.5f,0.75f}};
+ col = ( ++col ) % 12;
+ particle[loop].active=true;
+ particle[loop].index=KApplication::random()%100;
+ particle[loop].indexo=particle[loop].index;
+ particle[loop].fade=float(KApplication::random()%100)/1000.0f+0.003f; // Random Fade Value
+ particle[loop].r=colors[col][0]; // Select Red From Color Table
+ particle[loop].g=colors[col][1]; // Select Green From Color Table
+ particle[loop].b=colors[col][2]; // Select Blue From Color Table
+ particle[loop].size=size;
+ particle[loop].x = float(KApplication::random()%100-50)*4.0;
+ particle[loop].y = float(KApplication::random()%20-10)*4.0;
+ particle[loop].z = float(KApplication::random()%100-50)*4.0;
+ particle[loop].xo = particle[loop].x;
+ if ((1+(KApplication::random() % 10) > 5))
+ particle[loop].yo = particle[loop].y;
+ else
+ particle[loop].yo = 0.0;
+ particle[loop].zo = particle[loop].z;
+
+}
+
diff --git a/kscreensaver/kdesavers/gravity.h b/kscreensaver/kdesavers/gravity.h
new file mode 100644
index 00000000..2cd7080f
--- /dev/null
+++ b/kscreensaver/kdesavers/gravity.h
@@ -0,0 +1,141 @@
+///-----------------------------------------------------------------------------
+//
+// kgravity - Partical gravity Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+/////
+//NOTE:
+// The base particle engine did not come from me, it was designed by Jeff Molofee <nehe@connect.ab.ca>
+// I did some extensive modifications to make it work with QT's OpenGL but the base principal is about
+// the same.
+////
+
+#ifndef __GRAVITY_H__
+#define __GRAVITY_H__
+
+#include <qdialog.h>
+#include <qgl.h>
+#ifdef Q_WS_MACX
+#include <OpenGL/glu.h>
+#include <OpenGL/gl.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <kscreensaver.h>
+#include <qtimer.h>
+#include <qimage.h>
+#include "gravitycfg.h"
+#include <kinstance.h>
+#include <qfile.h>
+#include <qtextstream.h>
+
+#define MAX_PARTICLES 100
+
+
+class Gravity : public QGLWidget
+{
+Q_OBJECT
+ class particles // Create A Structure For Particle
+ {
+ public:
+ bool active; // Active (Yes/No)
+ float life; // Particle Life
+ float fade; // Fade Speed
+ float r; // Red Value
+ float g; // Green Value
+ float b; // Blue Value
+ float x; // X Position
+ float y; // Y Position
+ float z; // Z Position
+ float xo; // X Position
+ float yo; // Y Position
+ float zo; // Z Position
+ float index; // Index
+ float indexo;
+ float size; // Particle Size
+ };
+
+public:
+ Gravity( QWidget * parent=0, const char * name=0 );
+ ~Gravity();
+ void setSize( float newSize );
+ void setStars( bool doStars );
+protected:
+ /** paint the GL view */
+ void paintGL ();
+ /** resize the gl view */
+ void resizeGL ( int w, int h );
+ /** setup the GL enviroment */
+ void initializeGL ();
+ void buildParticle(int loop);
+
+private:
+ /** load the partical file */
+ bool loadParticle();
+
+ particles particle[MAX_PARTICLES];
+
+
+ bool rainbow; // Rainbow Mode?
+ bool sp; // Spacebar Pressed?
+ bool rp; // Enter Key Pressed?
+ float slowdown; // Slow Down Particles
+ float xspeed; // Base X Speed (To Allow Keyboard Direction Of Tail)
+ float yspeed; // Base Y Speed (To Allow Keyboard Direction Of Tail)
+ float zoom; // Used To Zoom Out
+ float size;
+ float stars;
+ GLuint loop; // Misc Loop Variable
+ GLuint col; // Current Color Selection
+ GLuint delay; // Rainbow Effect Delay
+ GLuint texture[1];
+ QImage tex;
+ float index;
+ float transIndex;
+ GLfloat scale;
+ GLUquadricObj *obj;
+};
+
+class KGravitySaver : public KScreenSaver
+{
+Q_OBJECT
+public:
+ KGravitySaver( WId drawable );
+ virtual ~KGravitySaver();
+ void readSettings();
+public slots:
+ void blank();
+ void updateSize(int newSize);
+ void doStars(bool starState);
+// void loadTextures(bool textures);
+private:
+ Gravity *gravity;
+ QTimer *timer;
+};
+
+class KGravitySetup : public SetupUi
+{
+ Q_OBJECT
+public:
+ KGravitySetup( QWidget *parent = NULL, const char *name = NULL );
+ ~KGravitySetup();
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotOkPressed();
+ void aboutPressed();
+private:
+ KGravitySaver *saver;
+ float size;
+ float stars;
+ float zoom;
+ float speed;
+};
+
+#endif
+
+
diff --git a/kscreensaver/kdesavers/gravitycfg.ui b/kscreensaver/kdesavers/gravitycfg.ui
new file mode 100644
index 00000000..acdd2c80
--- /dev/null
+++ b/kscreensaver/kdesavers/gravitycfg.ui
@@ -0,0 +1,192 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>SetupUi</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>SetupUi</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>209</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>209</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>400</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>Gravity Setup</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>CheckBox1</cstring>
+ </property>
+ <property name="text">
+ <string>Use textures</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="2">
+ <property name="name">
+ <cstring>PushButton3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;About</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="0">
+ <property name="name">
+ <cstring>SpinBox1</cstring>
+ </property>
+ <property name="maxValue">
+ <number>500</number>
+ </property>
+ <property name="minValue">
+ <number>25</number>
+ </property>
+ <property name="lineStep">
+ <number>10</number>
+ </property>
+ <property name="value">
+ <number>75</number>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="1">
+ <property name="name">
+ <cstring>PushButton2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="0">
+ <property name="name">
+ <cstring>PushButton1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Shapes</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>Layout3</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1</cstring>
+ </property>
+ <property name="text">
+ <string>Stars</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Flares</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget" row="0" column="1" rowspan="4" colspan="2">
+ <property name="name">
+ <cstring>preview</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Particle size:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>RadioButton1_2</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1</receiver>
+ <slot>toggle()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButton1</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1_2</receiver>
+ <slot>toggle()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kscreensaver/kdesavers/image.png b/kscreensaver/kdesavers/image.png
new file mode 100644
index 00000000..e717cb38
--- /dev/null
+++ b/kscreensaver/kdesavers/image.png
Binary files differ
diff --git a/kscreensaver/kdesavers/kclock.cpp b/kscreensaver/kdesavers/kclock.cpp
new file mode 100644
index 00000000..ac24c4b1
--- /dev/null
+++ b/kscreensaver/kdesavers/kclock.cpp
@@ -0,0 +1,588 @@
+// $Id$
+//
+// kclock - Clock screen saver for KDE
+// Copyright (c) 2003 Melchior FRANZ
+//
+// License: GPL v2
+// Author: Melchior FRANZ <mfranz@kde.org>
+// Dependencies: libart_lgpl_2 http://www.levien.com/libart/
+//
+#include <stdlib.h>
+#include <string.h>
+
+#include <qcheckbox.h>
+#include <qcolor.h>
+#include <qdatetime.h>
+#include <qgroupbox.h>
+#include <qhbox.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qslider.h>
+
+#include <kapplication.h>
+#include <kcolorbutton.h>
+#include <kconfig.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+
+#include <libart_lgpl/art_affine.h>
+#include <libart_lgpl/art_misc.h>
+#include <libart_lgpl/art_rgb.h>
+#include <libart_lgpl/art_rgb_svp.h>
+#include <libart_lgpl/art_svp_vpath.h>
+#include <libart_lgpl/art_svp_vpath_stroke.h>
+#include <libart_lgpl/art_vpath.h>
+
+#include "kclock.h"
+#include "kclock.moc"
+
+
+const int COLOR_BUTTON_WIDTH = 80;
+const int TIMER_INTERVALL = 100;
+const int MAX_CLOCK_SIZE = 10;
+const int DEFAULT_CLOCK_SIZE = 3;
+const bool DEFAULT_KEEP_CENTERED = false;
+
+
+
+
+extern "C" {
+ KDE_EXPORT const char *kss_applicationName = "kclock.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP("Clock");
+ KDE_EXPORT const char *kss_version = "1.0";
+
+ KDE_EXPORT KScreenSaver *kss_create(WId id) {
+ return new KClockSaver(id);
+ }
+
+ KDE_EXPORT QDialog *kss_setup() {
+ return new KClockSetup();
+ }
+}
+
+
+
+
+//-----------------------------------------------------------------------------
+
+KClockSetup::KClockSetup(QWidget *parent, const char *name)
+ : KDialogBase(parent, name, true, i18n( "Setup Clock Screen Saver" ),
+ Ok|Cancel|Help, Ok, true),
+ m_saver(0)
+{
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QVBoxLayout *top = new QVBoxLayout(main, 0, spacingHint());
+
+ QHBoxLayout *hbox = new QHBoxLayout;
+ top->addLayout( hbox );
+
+ QGroupBox *colgroup = new QGroupBox(i18n("Colors"), main);
+ colgroup->setColumnLayout( 0, Horizontal );
+ QGridLayout *grid = new QGridLayout( colgroup->layout(),
+ 5, 2, spacingHint() );
+
+ QLabel *label = new QLabel(i18n("&Hour-hand:"), colgroup);
+ KColorButton *colorButton = new KColorButton(m_hourColor, colgroup);
+ colorButton->setFixedWidth(COLOR_BUTTON_WIDTH);
+ label->setBuddy(colorButton);
+ connect(colorButton, SIGNAL(changed(const QColor &)),
+ SLOT(slotHourColor(const QColor &)));
+ grid->addWidget( label, 1, 1 );
+ grid->addWidget( colorButton, 1, 2 );
+
+ label = new QLabel(i18n("&Minute-hand:"), colgroup);
+ colorButton = new KColorButton(m_minColor, colgroup);
+ colorButton->setFixedWidth(COLOR_BUTTON_WIDTH);
+ label->setBuddy(colorButton);
+ connect(colorButton, SIGNAL(changed(const QColor &)),
+ SLOT(slotMinColor(const QColor &)));
+ grid->addWidget( label, 2, 1 );
+ grid->addWidget( colorButton, 2, 2 );
+
+ label = new QLabel(i18n("&Second-hand:"), colgroup);
+ colorButton = new KColorButton(m_secColor, colgroup);
+ colorButton->setFixedWidth(COLOR_BUTTON_WIDTH);
+ label->setBuddy(colorButton);
+ connect(colorButton, SIGNAL(changed(const QColor &)),
+ SLOT(slotSecColor(const QColor &)));
+ grid->addWidget( label, 3, 1 );
+ grid->addWidget( colorButton, 3, 2 );
+
+ label = new QLabel(i18n("Scal&e:"), colgroup);
+ colorButton = new KColorButton(m_scaleColor, colgroup);
+ colorButton->setFixedWidth(COLOR_BUTTON_WIDTH);
+ label->setBuddy(colorButton);
+ connect(colorButton, SIGNAL(changed(const QColor &)),
+ SLOT(slotScaleColor(const QColor &)));
+ grid->addWidget( label, 4, 1 );
+ grid->addWidget( colorButton, 4, 2 );
+
+ label = new QLabel(i18n("&Background:"), colgroup);
+ colorButton = new KColorButton(m_bgndColor, colgroup);
+ colorButton->setFixedWidth(COLOR_BUTTON_WIDTH);
+ label->setBuddy(colorButton);
+ connect(colorButton, SIGNAL(changed(const QColor &)),
+ SLOT(slotBgndColor(const QColor &)));
+ grid->addWidget( label, 5, 1 );
+ grid->addWidget( colorButton, 5, 2 );
+
+ hbox->addWidget(colgroup);
+
+ QWidget *m_preview = new QWidget(main);
+ m_preview->setFixedSize(220, 165);
+ m_preview->show();
+ m_saver = new KClockSaver(m_preview->winId());
+ hbox->addWidget(m_preview);
+
+ label = new QLabel( i18n( "Si&ze:" ), main );
+ top->addWidget( label );
+ QSlider *qs = new QSlider(0, MAX_CLOCK_SIZE, 1, m_size, Horizontal, main);
+ label->setBuddy( qs );
+ qs->setTickInterval(1);
+ qs->setTickmarks(QSlider::Below);
+ connect(qs, SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int)));
+ top->addWidget( qs );
+
+ bool rtl = kapp->reverseLayout();
+ QHBox *qsscale = new QHBox(main);
+ label = new QLabel(i18n("Small"), qsscale);
+ label->setAlignment(rtl ? AlignRight : AlignLeft);
+ label = new QLabel(i18n("Medium"), qsscale);
+ label->setAlignment(AlignHCenter);
+ label = new QLabel(i18n("Big"), qsscale);
+ label->setAlignment(rtl ? AlignLeft : AlignRight);
+ top->addWidget(qsscale);
+
+ QCheckBox *keepCentered = new QCheckBox(i18n("&Keep clock centered"), main);
+ keepCentered->setChecked(m_keepCentered);
+ connect(keepCentered, SIGNAL(stateChanged(int)), SLOT(slotKeepCenteredChanged(int)));
+ top->addWidget(keepCentered);
+ top->addStretch();
+}
+
+KClockSetup::~KClockSetup()
+{
+ delete m_saver;
+}
+
+void KClockSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("Settings");
+ m_keepCentered = config->readBoolEntry("KeepCentered", DEFAULT_KEEP_CENTERED);
+ m_size = config->readUnsignedNumEntry("Size", DEFAULT_CLOCK_SIZE);
+ if (m_size > MAX_CLOCK_SIZE)
+ m_size = MAX_CLOCK_SIZE;
+
+ config->setGroup("Colors");
+ QColor c = Qt::black;
+ m_bgndColor = config->readColorEntry("Background", &c);
+
+ c = Qt::white;
+ m_scaleColor = config->readColorEntry("Scale", &c);
+ m_hourColor = config->readColorEntry("HourHand", &c);
+ m_minColor = config->readColorEntry("MinuteHand", &c);
+
+ c = Qt::red;
+ m_secColor = config->readColorEntry("SecondHand", &c);
+
+ if (m_saver) {
+ m_saver->setBgndColor(m_bgndColor);
+ m_saver->setScaleColor(m_scaleColor);
+ m_saver->setHourColor(m_hourColor);
+ m_saver->setMinColor(m_minColor);
+ m_saver->setSecColor(m_secColor);
+ }
+}
+
+
+void KClockSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+ config->writeEntry("Size", m_size);
+ config->writeEntry("KeepCentered", m_keepCentered);
+
+ config->setGroup("Colors");
+ config->writeEntry("Background", m_bgndColor);
+ config->writeEntry("Scale", m_scaleColor);
+ config->writeEntry("HourHand", m_hourColor);
+ config->writeEntry("MinuteHand", m_minColor);
+ config->writeEntry("SecondHand", m_secColor);
+ config->sync();
+ accept();
+}
+
+
+void KClockSetup::slotHelp()
+{
+ KMessageBox::about(this, "<qt>" + i18n(
+ "Clock Screen Saver<br>"
+ "Version 1.0<br>"
+ "<nobr>Melchior FRANZ (c) 2003</nobr>") +
+ "<br><a href=\"mailto:mfranz@kde.org\">mfranz@kde.org</a>"
+ "</qt>", QString::null, KMessageBox::AllowLink);
+}
+
+
+void KClockSetup::slotBgndColor(const QColor &color)
+{
+ m_bgndColor = color;
+ if (m_saver)
+ m_saver->setBgndColor(m_bgndColor);
+}
+
+
+void KClockSetup::slotScaleColor(const QColor &color)
+{
+ m_scaleColor = color;
+ if (m_saver)
+ m_saver->setScaleColor(m_scaleColor);
+}
+
+
+void KClockSetup::slotHourColor(const QColor &color)
+{
+ m_hourColor = color;
+ if (m_saver)
+ m_saver->setHourColor(m_hourColor);
+}
+
+
+void KClockSetup::slotMinColor(const QColor &color)
+{
+ m_minColor = color;
+ if (m_saver)
+ m_saver->setMinColor(m_minColor);
+}
+
+
+void KClockSetup::slotSecColor(const QColor &color)
+{
+ m_secColor = color;
+ if (m_saver)
+ m_saver->setSecColor(m_secColor);
+}
+
+
+void KClockSetup::slotSliderMoved(int v)
+{
+ if (m_saver)
+ m_saver->restart(m_size = v);
+}
+
+
+void KClockSetup::slotKeepCenteredChanged(int c)
+{
+ if (m_saver)
+ m_saver->setKeepCentered(m_keepCentered = c);
+}
+
+
+
+
+
+//-----------------------------------------------------------------------------
+
+KClockPainter::KClockPainter(int width, int height)
+ : m_width(width),
+ m_height(height)
+{
+ m_buf = new Q_UINT8[m_width * m_height * 3];
+ // build Cartesian coordinate system ranging from -1000 to +1000;
+ // points with positive x and y are in the top right quarter
+ m_matrix[0] = m_width / 2000.0;
+ m_matrix[1] = 0;
+ m_matrix[2] = 0;
+ m_matrix[3] = m_height / -2000.0;
+ m_matrix[4] = m_width / 2.0;
+ m_matrix[5] = m_height / 2.0;
+}
+
+
+KClockPainter::~KClockPainter()
+{
+ delete[] m_buf;
+}
+
+
+void KClockPainter::copy(KClockPainter *p)
+{
+ memcpy(m_buf, p->image(), m_width * m_height * 3);
+}
+
+
+void KClockPainter::drawToImage(QImage *q, int xoffs = 0, int yoffs = 0)
+{
+ unsigned char *src = (unsigned char *)image();
+ for (int y = 0; y < m_height; y++) {
+ QRgb *dest = reinterpret_cast<QRgb *>(q->scanLine(y + yoffs)) + xoffs;
+ for (int x = 0; x < m_width; x++, src += 3)
+ *dest++ = qRgba(src[0], src[1], src[2], 255);
+ }
+}
+
+
+void KClockPainter::setColor(const QColor &c)
+{
+ m_color = (c.red() << 24) | (c.green() << 16) | (c.blue() << 8) | 255;
+}
+
+
+void KClockPainter::setShadowColor(const QColor &c)
+{
+ m_shadow = (c.red() << 24) | (c.green() << 16) | (c.blue() << 8) | 255;
+}
+
+
+void KClockPainter::fill(const QColor &c)
+{
+ art_rgb_fill_run(m_buf, c.red(), c.green(), c.blue(), m_width * m_height);
+}
+
+
+void KClockPainter::drawRadial(double alpha, double r0, double r1, double width)
+{
+ ArtVpath *vx, *v = art_new(ArtVpath, 3);
+ v[0].code = ART_MOVETO_OPEN;
+ v[0].x = r0;
+ v[0].y = 0;
+ v[1].code = ART_LINETO;
+ v[1].x = r1;
+ v[1].y = 0;
+ v[2].code = ART_END;
+
+ double m[6] = {0, 0, 0, 0, 0, 0};
+ art_affine_rotate(m, 90 - alpha);
+ vx = art_vpath_affine_transform(v, m);
+ art_free(v);
+ v = art_vpath_affine_transform(vx, m_matrix);
+ art_free(vx);
+
+ double w = width * m_matrix[0];
+ if (w < 1.0)
+ w = 1.0;
+
+ ArtSVP *path = art_svp_vpath_stroke(v, ART_PATH_STROKE_JOIN_MITER,
+ ART_PATH_STROKE_CAP_BUTT, w, 4, .5);
+ art_rgb_svp_alpha(path, 0, 0, m_width, m_height, m_color, m_buf, 3 * m_width, 0);
+ art_svp_free(path);
+ art_free(v);
+}
+
+
+void KClockPainter::drawDisc(double r)
+{
+ ArtVpath *v, *vx = art_vpath_new_circle(0, 0, r);
+ v = art_vpath_affine_transform(vx, m_matrix);
+ art_free(vx);
+
+ ArtSVP *path = art_svp_from_vpath(v);
+ art_rgb_svp_alpha(path, 0, 0, m_width, m_height, m_color, m_buf, 3 * m_width, 0);
+ art_svp_free(path);
+
+ path = art_svp_vpath_stroke(v, ART_PATH_STROKE_JOIN_MITER,
+ ART_PATH_STROKE_CAP_BUTT, 2, 4, .5);
+ art_free(v);
+
+ art_rgb_svp_alpha(path, 0, 0, m_width, m_height, m_color, m_buf, 3 * m_width, 0);
+ art_svp_free(path);
+}
+
+
+void KClockPainter::drawHand(const QColor &c, double angle, double length,
+ double width, bool disc = true)
+{
+ const double shadow_width = 1.0;
+ setColor(m_shadow);
+ if (disc)
+ drawDisc(width * 1.3 + shadow_width);
+ drawRadial(angle, .75 * width, length + shadow_width, width + shadow_width);
+
+ setColor(c);
+ if (disc)
+ drawDisc(width * 1.3);
+ drawRadial(angle, .75 * width, length, width);
+}
+
+
+
+
+
+
+//-----------------------------------------------------------------------------
+
+KClockSaver::KClockSaver(WId id)
+ : KScreenSaver(id),
+ m_showSecond(true)
+{
+ readSettings();
+ setBackgroundColor(m_bgndColor);
+ connect(&m_timer, SIGNAL(timeout()), SLOT(slotTimeout()));
+ start(m_size);
+ m_timer.start(TIMER_INTERVALL);
+}
+
+
+KClockSaver::~KClockSaver()
+{
+ m_timer.stop();
+ stop();
+}
+
+
+void KClockSaver::start(int size)
+{
+ m_diameter = int(QMIN(width(), height()) * (size + 4) / 14.0);
+ m_x = (width() - m_diameter) / 2;
+ m_y = (height() - m_diameter) / 2;
+
+ m_image = new QImage(m_diameter, m_diameter, 32);
+ m_scale = new KClockPainter(m_diameter, m_diameter);
+ m_clock = new KClockPainter(m_diameter, m_diameter);
+
+ m_clock->setShadowColor(qRgb((m_bgndColor.red() + m_scaleColor.red()) / 2,
+ (m_bgndColor.green() + m_scaleColor.green()) / 2,
+ (m_bgndColor.blue() + m_scaleColor.blue()) / 2));
+ drawScale();
+ forceRedraw();
+}
+
+
+void KClockSaver::stop()
+{
+ delete m_clock;
+ delete m_scale;
+ delete m_image;
+}
+
+
+void KClockSaver::restart(int size)
+{
+ m_timer.stop();
+ stop();
+ start(size);
+ drawScale();
+ m_timer.start(TIMER_INTERVALL);
+}
+
+
+void KClockSaver::setKeepCentered(bool b)
+{
+ m_keepCentered = b;
+ if (b) {
+ m_x = (width() - m_diameter) / 2;
+ m_y = (height() - m_diameter) / 2;
+ }
+ forceRedraw();
+}
+
+
+void KClockSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("Settings");
+ m_keepCentered = config->readBoolEntry("KeepCentered", DEFAULT_KEEP_CENTERED);
+ m_size = config->readUnsignedNumEntry("Size", DEFAULT_CLOCK_SIZE);
+ if (m_size > MAX_CLOCK_SIZE)
+ m_size = MAX_CLOCK_SIZE;
+
+ config->setGroup("Colors");
+ QColor c = Qt::black;
+ m_bgndColor = config->readColorEntry("Background", &c);
+
+ c = Qt::white;
+ m_scaleColor = config->readColorEntry("Scale", &c);
+ m_hourColor = config->readColorEntry("HourHand", &c);
+ m_minColor = config->readColorEntry("MinuteHand", &c);
+
+ c = Qt::red;
+ m_secColor = config->readColorEntry("SecondHand", &c);
+}
+
+
+void KClockSaver::drawScale()
+{
+ m_scale->fill(m_bgndColor);
+ m_scale->setColor(m_scaleColor);
+
+ for (int i = 0; i < 360; i += 6)
+ if (i % 30)
+ m_scale->drawRadial(i, 920, 980, 15);
+ else
+ m_scale->drawRadial(i, 825, 980, 40);
+
+ forceRedraw();
+}
+
+
+void KClockSaver::drawClock()
+{
+ double hour_angle = m_hour * 30.0 + m_minute * .5;
+ double minute_angle = m_minute * 6.0 + m_second * .1;
+ double second_angle = m_second * 6.0;
+
+ m_clock->copy(m_scale);
+ m_clock->drawHand(m_hourColor, hour_angle, 600, 55, false);
+ m_clock->drawHand(m_minColor, minute_angle, 900, 40);
+
+ if (m_showSecond)
+ m_clock->drawHand(m_secColor, second_angle, 900, 30);
+}
+
+
+void KClockSaver::slotTimeout()
+{
+ QTime t = QTime::currentTime();
+ int s = t.second();
+ if (s == m_second)
+ return;
+
+ m_second = m_showSecond ? s : 0;
+ m_hour = t.hour();
+ m_minute = t.minute();
+
+ drawClock();
+ QPainter p(this);
+
+ if (width() < 256) {
+ // intended for the control module preview: always fill the whole area
+ QImage *img = new QImage(width(), height(), 32);
+ img->fill(qRgb(m_bgndColor.red(), m_bgndColor.green(), m_bgndColor.blue()));
+ m_clock->drawToImage(img, m_x, m_y);
+ p.drawImage(0, 0, *img);
+ delete img;
+ } else {
+ m_clock->drawToImage(m_image);
+ p.drawImage(m_x, m_y, *m_image);
+ }
+
+ if (!m_keepCentered) {
+ static int xstep = 1;
+ static int ystep = -1;
+ int i;
+
+ m_x += xstep;
+ if (m_x <= 0)
+ m_x = 0, xstep = 1;
+ else if (m_x >= (i = width() - m_diameter))
+ m_x = i, xstep = -1;
+
+ m_y += ystep;
+ if (m_y <= 0)
+ m_y = 0, ystep = 1;
+ else if (m_y >= (i = height() - m_diameter))
+ m_y = i, ystep = -1;
+ }
+}
+
+
diff --git a/kscreensaver/kdesavers/kclock.h b/kscreensaver/kdesavers/kclock.h
new file mode 100644
index 00000000..b16945d6
--- /dev/null
+++ b/kscreensaver/kdesavers/kclock.h
@@ -0,0 +1,130 @@
+// $Id$
+//
+// kclock - Clock screen saver for KDE
+// Copyright (c) 2003 Melchior FRANZ
+//
+// License: GPL v2
+// Author: Melchior FRANZ <mfranz@kde.org>
+// Dependencies: libart_lgpl_2 http://www.levien.com/libart/
+//
+#ifndef __KCLOCK_H__
+#define __KCLOCK_H__
+
+#include <qtimer.h>
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+
+class KClockPainter
+{
+ int m_width;
+ int m_height;
+ Q_UINT8 *m_buf;
+ double m_matrix[6];
+ Q_UINT32 m_color;
+ Q_UINT32 m_shadow;
+
+ public:
+ KClockPainter(int width, int height);
+ ~KClockPainter();
+ void copy(KClockPainter *p);
+ void drawToImage(QImage *q, int x, int y);
+ inline int width() { return m_width; }
+ inline int height() { return m_height; }
+ inline void *image() { return (void *)m_buf; }
+ void setColor(const QColor &color);
+ void setShadowColor(const QColor &color);
+ void fill(const QColor &color);
+ void drawRadial(double alpha, double r0, double r1, double width);
+ void drawDisc(double radius);
+ void drawHand(const QColor &color, double angle, double length,
+ double width, bool disc);
+};
+
+
+class KClockSaver : public KScreenSaver
+{
+ Q_OBJECT
+ public:
+ KClockSaver(WId id);
+ virtual ~KClockSaver();
+ inline void setBgndColor(const QColor &c) { m_bgndColor = c; drawScale(); setBackgroundColor(c); };
+ inline void setScaleColor(const QColor &c) { m_scaleColor = c; drawScale(); };
+ inline void setHourColor(const QColor &c) { m_hourColor = c; forceRedraw(); };
+ inline void setMinColor(const QColor &c) { m_minColor = c; forceRedraw(); };
+ inline void setSecColor(const QColor &c) { m_secColor = c; forceRedraw(); };
+ void setKeepCentered(bool b);
+ void restart(int siz);
+ inline void forceRedraw() { m_second = -1; }
+
+ private:
+ void readSettings();
+ void drawScale();
+ void drawClock();
+ void start(int size);
+ void stop();
+
+ protected slots:
+ void slotTimeout();
+
+ protected:
+ QTimer m_timer;
+ QImage *m_image;
+ KClockPainter *m_scale;
+ KClockPainter *m_clock;
+
+ int m_x;
+ int m_y;
+ int m_diameter;
+ int m_size;
+ bool m_showSecond;
+ bool m_keepCentered;
+ int m_hour;
+ int m_minute;
+ int m_second;
+
+ QColor m_bgndColor;
+ QColor m_scaleColor;
+ QColor m_hourColor;
+ QColor m_minColor;
+ QColor m_secColor;
+};
+
+
+class KClockSetup : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ KClockSetup(QWidget *parent = 0, const char *name = 0);
+ ~KClockSetup();
+ protected:
+ void readSettings();
+
+ private slots:
+ void slotOk();
+ void slotHelp();
+
+ void slotBgndColor(const QColor &);
+ void slotScaleColor(const QColor &);
+ void slotHourColor(const QColor &);
+ void slotMinColor(const QColor &);
+ void slotSecColor(const QColor &);
+ void slotSliderMoved(int);
+ void slotKeepCenteredChanged(int);
+
+ private:
+ KClockSaver *m_saver;
+
+ QColor m_bgndColor;
+ QColor m_scaleColor;
+ QColor m_hourColor;
+ QColor m_minColor;
+ QColor m_secColor;
+
+ int m_size;
+ bool m_keepCentered;
+};
+
+#endif
+
+
diff --git a/kscreensaver/kdesavers/kscience.png b/kscreensaver/kdesavers/kscience.png
new file mode 100644
index 00000000..19de5909
--- /dev/null
+++ b/kscreensaver/kdesavers/kscience.png
Binary files differ
diff --git a/kscreensaver/kdesavers/kvm.cpp b/kscreensaver/kdesavers/kvm.cpp
new file mode 100644
index 00000000..9d7a32fa
--- /dev/null
+++ b/kscreensaver/kdesavers/kvm.cpp
@@ -0,0 +1,384 @@
+/*-
+ * kvm.cpp - The Vm screensaver for KDE
+ * Copyright (c) 2000 by Artur Rataj
+ * This file is distributed under the terms of the GNU General Public License
+ *
+ * This file is partially based on kmatrix screen saver -- original copyright follows:
+ * kmatrix.c - The Matrix screensaver for KDE
+ * by Eric Plante Copyright (c) 1999
+ * Distributed under the Gnu Public License
+ *
+ * Much of this code taken from xmatrix.c from xscreensaver;
+ * original copyright follows:
+ * xscreensaver, Copyright (c) 1999 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ */
+// layout management added 1998/04/19 by Mario Weilguni <mweilguni@kde.org>
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* for AIX at least */
+#include <time.h>
+
+#include <qcolor.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qslider.h>
+#include <qpainter.h>
+#include <qbitmap.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <kmessagebox.h>
+
+#ifdef DEBUG_MEM
+#include <mcheck.h>
+#endif
+
+#include "kvm.h"
+
+#include "vm.xpm"
+#include "vm.xbm"
+
+#define CHAR_HEIGHT 22
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kvm.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Virtual Machine" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new kVmSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new kVmSetup();
+ }
+}
+
+
+
+static void
+load_images (m_state *state)
+{
+ if ( QPixmap::defaultDepth() > 1 )
+ {
+ state->images = QPixmap( vm );
+ }
+ else
+ {
+ state->images = QBitmap( vm_width, vm_height, vm_bits );
+ }
+ state->image_width = state->images.width();
+ state->image_height = state->images.height();
+ state->nglyphs = state->image_height / CHAR_HEIGHT;
+}
+
+
+static m_state *
+init_pool ( QWidget *w )
+{
+ m_state *state = new m_state;
+ state->w = w;
+
+ load_images (state);
+
+ state->char_width = state->image_width / 4;
+ state->char_height = CHAR_HEIGHT;
+
+ state->grid_width = w->width() / state->char_width;
+ state->grid_height = w->height() / state->char_height;
+ state->grid_margin_x = w->width()%state->char_width/2;
+ state->grid_margin_y = w->height()%state->char_height/2;
+ state->show_threads = 1;
+ vm_init_pool( &(state->pool), state->grid_width*state->grid_height,
+ THREAD_MAX_STACK_SIZE, MAX_THREADS_NUM );
+ //vm_enable_reverse( state->pool, 1 );
+ state->modified = new char[state->grid_height*state->grid_width];
+ for( int x = 0; x < state->grid_width*state->grid_height; ++x )
+ state->modified[x] = 1;
+ return state;
+}
+
+static void
+draw_pool (m_state *state)
+{
+ int x, y;
+ struct tvm_process* curr_thread;
+
+ if( state->show_threads ) {
+ curr_thread = state->pool->processes;
+ while( curr_thread ) {
+ state->modified[curr_thread->position] = 2;
+ curr_thread = curr_thread->next;
+ }
+ }
+ for (y = 0; y < state->grid_height; y++)
+ for (x = 0; x < state->grid_width; x++) {
+ int index = state->grid_width * y + x;
+ if( state->modified[index] )
+ {
+ int op = state->pool->area[index];
+ int pos_y;
+ int pos_x = 0;
+ switch( op ) {
+ case VM_OP_STOP:
+ pos_y = 14;
+ break;
+
+ case VM_OP_EXEC:
+ pos_y = 15;
+ break;
+
+ case VM_OP_COPY:
+ pos_y = 12;
+ break;
+
+ default:
+ pos_y = op - VM_OP_PUSH;
+ if( pos_y < 0 ) {
+ pos_y = -pos_y;
+ pos_x = 1;
+ }
+ break;
+ }
+ if( state->show_threads )
+ if( state->modified[index] == 1 )
+ pos_x += 2;
+ QPainter p(state->w);
+ p.setPen( Qt::green );
+ p.setBrush( Qt::black );
+ p.drawPixmap( state->grid_margin_x + x*state->char_width,
+ state->grid_margin_y + y*state->char_height,
+ state->images, pos_x*state->char_width,
+ pos_y*state->char_height,
+ state->char_width, state->char_height );
+ --state->modified[index];
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+kVmSaver::kVmSaver( WId id ) : KScreenSaver( id )
+{
+ readSettings();
+
+ colorContext = QColor::enterAllocContext();
+
+ blank();
+ setSpeed( speed );
+ setRefreshTimeout( refreshTimeout );
+
+ refreshStep = 0;
+
+ pool_state = init_pool( this );
+ vm_default_initstate( time(0), &(pool_state->pool->vm_random_data) );
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+ timer.start( 100 - speed );
+}
+
+kVmSaver::~kVmSaver()
+{
+ timer.stop();
+ vm_done_pool( pool_state->pool );
+ delete[] pool_state->modified;
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+}
+
+void kVmSaver::blank()
+{
+ setBackgroundColor( black );
+ erase();
+}
+
+void kVmSaver::setSpeed( int spd )
+{
+ speed = spd;
+// timer.changeInterval( (100 - speed)*(100 - speed)*(100 - speed)/10000 );
+ timer.changeInterval( (100 - speed) );
+}
+void kVmSaver::setRefreshTimeout( const int refreshTimeout )
+{
+ this->refreshTimeout = refreshTimeout;
+}
+
+void kVmSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", 50 );
+ refreshTimeout = config->readNumEntry( "DisplayRefreshTimeout", 0 );
+}
+int kVmSaver::getRandom( const int max_value ) {
+ return (int)( vm_random(&(pool_state->pool->vm_random_data))*1.0*(max_value + 1.0)/
+ (VM_RAND_MAX + 1.0) );
+// return (int)( rand()*1.0*(max_value + 1.0)/
+// (RAND_MAX + 1.0) );
+}
+void kVmSaver::modifyArea( const int op ) {
+ int position;
+
+ vm_modify( pool_state->pool, position =
+ getRandom(pool_state->pool->area_size - 1), op );
+ pool_state->modified[position] = 1;
+}
+
+void kVmSaver::slotTimeout()
+{
+ for( int i = 0; i < 1; ++i ) {
+ if( getRandom(2) == 0 )
+ modifyArea( VM_OP_PUSH + getRandom(11) - getRandom(11) );
+ if( getRandom(8) == 0 )
+ modifyArea( VM_OP_STOP );
+ if( getRandom(8) == 0 )
+ modifyArea( VM_OP_COPY );
+ if( getRandom(8) == 0 )
+ modifyArea( VM_OP_EXEC );
+// if( getRandom(5) == 0 )
+// modifyArea( VM_OP_WAIT );
+ }
+ if( getRandom(0) == 0 )
+ vm_exec( pool_state->pool, getRandom(pool_state->pool->area_size - 1), 0,
+ vm_get_reverse( pool_state->pool ) );
+ vm_iterate( pool_state->pool, pool_state->modified );
+// if( refreshStep++ >= refreshTimeout*refreshTimeout*refreshTimeout ) {
+ if( refreshStep++ >= refreshTimeout ) {
+ draw_pool( pool_state );
+ refreshStep = 0;
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+kVmSetup::kVmSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Virtual Machine" ),
+ Ok|Cancel|Help, Ok, true )
+{
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *tl = new QHBoxLayout( main, 0, spacingHint() );
+ QVBoxLayout *tl1 = new QVBoxLayout();
+ tl->addLayout(tl1);
+
+ QLabel *label = new QLabel( i18n("Virtual machine speed:"), main );
+ tl1->addWidget(label);
+
+ QSlider *slider = new QSlider( QSlider::Horizontal, main );
+ slider->setMinimumSize( 120, 20 );
+ slider->setRange( 0, 100 );
+ slider->setSteps( 10, 20 );
+ slider->setTickmarks( QSlider::Below );
+ slider->setTickInterval( 10 );
+ slider->setValue( speed );
+ connect( slider, SIGNAL( valueChanged( int ) ),
+ SLOT( slotSpeed( int ) ) );
+ tl1->addWidget(slider);
+
+ label = new QLabel( i18n("Display update speed:"), main );
+ tl1->addWidget(label);
+
+ slider = new QSlider( QSlider::Horizontal, main );
+ slider->setMinimumSize( 120, 20 );
+ slider->setRange( 0, MAX_REFRESH_TIMEOUT );
+ slider->setSteps( MAX_REFRESH_TIMEOUT/10, MAX_REFRESH_TIMEOUT/5 );
+ slider->setTickmarks( QSlider::Below );
+ slider->setTickInterval( MAX_REFRESH_TIMEOUT/10 );
+ slider->setValue( MAX_REFRESH_TIMEOUT - refreshTimeout );
+ connect( slider, SIGNAL( valueChanged( int ) ),
+ SLOT( slotRefreshTimeout( int ) ) );
+ tl1->addWidget(slider);
+ tl1->addStretch();
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 165 );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new kVmSaver( preview->winId() );
+ tl->addWidget(preview);
+}
+
+kVmSetup::~kVmSetup()
+{
+ delete saver;
+}
+
+void kVmSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", 50 );
+ if ( speed > 100 )
+ speed = 100;
+ else if ( speed < 0 )
+ speed = 0;
+ refreshTimeout = config->readNumEntry( "DisplayRefreshTimeout", 0 );
+ if ( refreshTimeout > MAX_REFRESH_TIMEOUT )
+ refreshTimeout = MAX_REFRESH_TIMEOUT;
+ else if ( refreshTimeout < 0 )
+ refreshTimeout = 0;
+}
+
+void kVmSetup::slotSpeed( int num )
+{
+ speed = num;
+ if ( saver )
+ saver->setSpeed( num );
+}
+void kVmSetup::slotRefreshTimeout( int num )
+{
+ refreshTimeout = MAX_REFRESH_TIMEOUT - num;
+ if ( saver )
+ saver->setRefreshTimeout( refreshTimeout );
+}
+
+void kVmSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ QString sspeed;
+ sspeed.setNum( speed );
+ config->writeEntry( "Speed", sspeed );
+ sspeed.setNum( refreshTimeout );
+ config->writeEntry( "DisplayRefreshTimeout", sspeed );
+
+ config->sync();
+ accept();
+}
+
+void kVmSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("Virtual Machine Version 0.1\n\nCopyright (c) 2000 Artur Rataj <art@zeus.polsl.gliwice.pl>\n"),
+ i18n("About Virtual Machine")
+ );
+}
+
+#include "kvm.moc"
+
diff --git a/kscreensaver/kdesavers/kvm.h b/kscreensaver/kdesavers/kvm.h
new file mode 100644
index 00000000..44c7eeb3
--- /dev/null
+++ b/kscreensaver/kdesavers/kvm.h
@@ -0,0 +1,99 @@
+//-----------------------------------------------------------------------------
+//
+// kvm screensaver
+//
+
+#ifndef __KVM_H__
+#define __KVM_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+extern "C" {
+#include "vm.h"
+#include "vm_random.h"
+}
+
+#define THREAD_MAX_STACK_SIZE 10
+#define MAX_THREADS_NUM 20
+
+#define MAX_REFRESH_TIMEOUT 40
+
+typedef struct {
+ QWidget *w;
+ int grid_width, grid_height;
+ int grid_margin_x;
+ int grid_margin_y;
+ int char_width, char_height;
+ bool insert_top_p, insert_bottom_p;
+ int density;
+ struct tvm_pool* pool;
+ char* modified;
+ int show_threads;
+
+ QPixmap images;
+ int image_width, image_height;
+ int nglyphs;
+
+} m_state;
+
+
+class kVmSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ kVmSaver( WId id );
+ virtual ~kVmSaver();
+
+ void setSpeed( int spd );
+ void setRefreshTimeout( const int refreshTimeout );
+
+protected:
+ void blank();
+ void readSettings();
+ int getRandom( const int max_value );
+ void modifyArea( const int op );
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ QTimer timer;
+ int colorContext;
+
+ int speed;
+ m_state* pool_state;
+ int refreshStep;
+ int refreshTimeout;
+};
+
+
+class kVmSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kVmSetup( QWidget *parent = NULL, const char *name = NULL );
+ ~kVmSetup();
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed( int );
+ void slotRefreshTimeout( int num );
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kVmSaver *saver;
+
+ int speed;
+ int refreshTimeout;
+};
+
+
+#endif
+
diff --git a/kscreensaver/kdesavers/lines.cpp b/kscreensaver/kdesavers/lines.cpp
new file mode 100644
index 00000000..fbe31056
--- /dev/null
+++ b/kscreensaver/kdesavers/lines.cpp
@@ -0,0 +1,401 @@
+//-----------------------------------------------------------------------------
+//
+// klines 0.1.1 - Basic screen saver for KDE
+// by Dirk Staneker 1997
+// based on kpolygon from Martin R. Jones 1996
+// mailto:dirk.staneker@student.uni-tuebingen.de
+//
+// layout management added 1998/04/19 by Mario Weilguni <mweilguni@kde.org>
+// 2001/03/04 Converted to libkscreensaver by Martin R. Jones
+
+#include <config.h>
+#include <stdlib.h>
+#include <time.h>
+#include <qcolor.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <kconfig.h>
+#include <kapplication.h>
+#include <kmessagebox.h>
+#include <kcolorbutton.h>
+
+#include "kcolordialog.h"
+#include "lines.h"
+#include "lines.moc"
+
+#include <qlayout.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <qpainter.h>
+
+#define MAXLENGTH 256
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "klines.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KLines" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new kLinesSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new kLinesSetup();
+ }
+}
+
+// Methods of the Lines-class
+Lines::Lines(int x){
+ uint i;
+ numLn=x;
+ offx1=12;
+ offy1=16;
+ offx2=9;
+ offy2=10;
+ start=new Ln;
+ end=start;
+ for(i=1; i<numLn; i++){
+ end->next=new Ln;
+ end=end->next;
+ }
+ end->next=start;
+ akt=start;
+}
+
+Lines::~Lines(){
+ uint i;
+ for(i=0; i<numLn; i++){
+ end=start->next;
+ delete start;
+ start=end;
+ }
+}
+
+inline void Lines::reset(){ akt=start; }
+
+inline void Lines::getKoord(int& a, int& b, int& c, int& d){
+ a=akt->x1; b=akt->y1;
+ c=akt->x2; d=akt->y2;
+ akt=akt->next;
+}
+
+inline void Lines::setKoord(const int& a, const int& b, const int& c, const int& d){
+ akt->x1=a; akt->y1=b;
+ akt->x2=c; akt->y2=d;
+}
+
+inline void Lines::next(void){ akt=akt->next; }
+
+void Lines::turn(const int& w, const int& h){
+ start->x1=end->x1+offx1;
+ start->y1=end->y1+offy1;
+ start->x2=end->x2+offx2;
+ start->y2=end->y2+offy2;
+ if(start->x1>=w) offx1=-8;
+ if(start->x1<=0) offx1=7;
+ if(start->y1>=h) offy1=-11;
+ if(start->y1<=0) offy1=13;
+ if(start->x2>=w) offx2=-17;
+ if(start->x2<=0) offx2=15;
+ if(start->y2>=h) offy2=-10;
+ if(start->y2<=0) offy2=13;
+ end->next=start;
+ start=start->next;
+ end=end->next;
+}
+
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+kLinesSetup::kLinesSetup(QWidget *parent, const char *name)
+ : KDialogBase(parent, name, true, i18n( "Setup Lines Screen Saver" ),
+ Ok|Cancel|Help, Ok, true ), saver( 0 ), length( 10 ), speed( 50 )
+{
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *tl = new QHBoxLayout(main, 0, spacingHint());
+ QVBoxLayout *tl1 = new QVBoxLayout;
+ tl->addLayout(tl1);
+
+ QLabel *label=new QLabel(i18n("Length:"), main);
+ tl1->addWidget(label);
+
+ QSlider *sb= new QSlider(1, MAXLENGTH+1, 16, length, QSlider::Horizontal,
+ main);
+ sb->setMinimumSize(120, 20);
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(32);
+ connect(sb, SIGNAL(valueChanged(int)), SLOT(slotLength(int)));
+ tl1->addWidget(sb);
+
+ label=new QLabel(i18n("Speed:"), main);
+ tl1->addWidget(label);
+
+ sb = new QSlider(0, 100, 10, speed, QSlider::Horizontal, main);
+ sb->setMinimumSize(120, 20);
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(10);
+ connect( sb, SIGNAL( valueChanged( int ) ), SLOT( slotSpeed( int ) ) );
+ tl1->addWidget(sb);
+
+ label=new QLabel(i18n("Beginning:"), main);
+ tl1->addWidget(label);
+
+ colorPush0=new KColorButton(colstart, main);
+ connect(colorPush0, SIGNAL(changed(const QColor &)),
+ SLOT(slotColstart(const QColor &)));
+ tl1->addWidget(colorPush0);
+
+ label=new QLabel(i18n("Middle:"), main);
+ tl1->addWidget(label);
+
+ colorPush1=new KColorButton(colmid, main);
+ connect(colorPush1, SIGNAL(changed(const QColor &)),
+ SLOT(slotColmid(const QColor &)));
+ tl1->addWidget(colorPush1);
+
+ label=new QLabel(i18n("End:"), main);
+ tl1->addWidget(label);
+
+ colorPush2=new KColorButton(colend, main);
+ connect(colorPush2, SIGNAL(changed(const QColor &)),
+ SLOT(slotColend(const QColor &)));
+ tl1->addWidget(colorPush2);
+ tl1->addStretch();
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver=new kLinesSaver(preview->winId());
+ tl->addWidget(preview);
+}
+
+kLinesSetup::~kLinesSetup()
+{
+ delete saver;
+}
+
+// read settings from config file
+void kLinesSetup::readSettings(){
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ QString str;
+
+ length = config->readNumEntry("Length", length);
+ if(length>MAXLENGTH) length=MAXLENGTH;
+ else if(length<1) length=1;
+
+ speed = config->readNumEntry("Speed", speed);
+ if(speed>100) speed=100;
+ else if(speed<50) speed=50;
+
+ str=config->readEntry("StartColor");
+ if(!str.isNull()) colstart.setNamedColor(str);
+ else colstart=white;
+ str=config->readEntry("MidColor");
+ if(!str.isNull()) colmid.setNamedColor(str);
+ else colmid=blue;
+ str=config->readEntry("EndColor");
+ if(!str.isNull()) colend.setNamedColor(str);
+ else colend=black;
+}
+
+void kLinesSetup::slotLength(int len){
+ length=len;
+ if(saver) saver->setLines(length);
+}
+
+void kLinesSetup::slotSpeed(int num){
+ speed=num;
+ if(saver) saver->setSpeed(speed);
+}
+
+void kLinesSetup::slotColstart(const QColor &col){
+ colstart = col;
+ if(saver) saver->setColor(colstart, colmid, colend);
+}
+
+void kLinesSetup::slotColmid(const QColor &col){
+ colmid = col;
+ if(saver) saver->setColor(colstart, colmid, colend);
+}
+
+void kLinesSetup::slotColend(const QColor &col){
+ colend = col;
+ if(saver) saver->setColor(colstart, colmid, colend);
+}
+
+void kLinesSetup::slotHelp(){
+ KMessageBox::about(this,
+ i18n("Lines Version 2.2.0\n\n"
+ "Written by Dirk Staneker 1997\n"
+ "dirk.stanerker@student.uni-tuebingen.de"));
+}
+
+// Ok pressed - save settings and exit
+void kLinesSetup::slotOk(){
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+
+ QString slength;
+ slength.setNum(length);
+ config->writeEntry("Length", slength);
+
+ QString sspeed;
+ sspeed.setNum( speed );
+ config->writeEntry( "Speed", sspeed );
+
+ QString colName0, colName1, colName2;
+ colName0.sprintf("#%02x%02x%02x", colstart.red(),
+ colstart.green(), colstart.blue() );
+ config->writeEntry( "StartColor", colName0 );
+
+ colName1.sprintf("#%02x%02x%02x", colmid.red(),
+ colmid.green(), colmid.blue() );
+ config->writeEntry( "MidColor", colName1 );
+
+ colName2.sprintf("#%02x%02x%02x", colend.red(),
+ colend.green(), colend.blue() );
+ config->writeEntry( "EndColor", colName2 );
+
+ config->sync();
+ accept();
+}
+
+//-----------------------------------------------------------------------------
+
+
+kLinesSaver::kLinesSaver( WId id ) : KScreenSaver( id ){
+ readSettings();
+ lines=new Lines(numLines);
+ colorContext=QColor::enterAllocContext();
+ blank();
+ initialiseColor();
+ initialiseLines();
+ timer.start(speed);
+ connect(&timer, SIGNAL(timeout()), SLOT(slotTimeout()));
+}
+
+kLinesSaver::~kLinesSaver(){
+ timer.stop();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext(colorContext);
+ delete lines;
+}
+
+// set lines properties
+void kLinesSaver::setLines(int len){
+ timer.stop();
+ numLines=len;
+ initialiseLines();
+ initialiseColor();
+ blank();
+ timer.start(speed);
+}
+
+// set the speed
+void kLinesSaver::setSpeed(int spd){
+ timer.stop();
+ speed=100-spd;
+ timer.start(speed);
+}
+
+void kLinesSaver::setColor(const QColor& cs, const QColor& cm, const QColor& ce){
+ colstart=cs;
+ colmid=cm;
+ colend=ce;
+ initialiseColor();
+}
+
+// read configuration settings from config file
+void kLinesSaver::readSettings(){
+ KConfig *config=KGlobal::config();
+ config->setGroup("Settings");
+
+ numLines=config->readNumEntry("Length", 10);
+ speed = 100- config->readNumEntry("Speed", 50);
+ if(numLines>MAXLENGTH) numLines=MAXLENGTH;
+ else if(numLines<1) numLines = 1;
+
+ colstart=config->readColorEntry("StartColor", &white);
+ colmid=config->readColorEntry("MidColor", &blue);
+ colend=config->readColorEntry("EndColor", &black);
+}
+
+// draw next lines and erase tail
+void kLinesSaver::slotTimeout(){
+ uint i;
+ int x1,y1,x2,y2;
+ int col=0;
+
+ lines->reset();
+ QPainter p( this );
+ p.setPen( black );
+
+ for(i=0; i<numLines; i++){
+ lines->getKoord(x1,y1,x2,y2);
+ p.drawLine( x1, y1, x2, y2 );
+ p.setPen( colors[col] );
+ col=(int)(i*colscale);
+ if(col>63) col=0;
+ }
+ lines->turn(width(), height());
+}
+
+void kLinesSaver::blank(){
+ setBackgroundColor( black );
+ erase();
+}
+
+// initialise the lines
+void kLinesSaver::initialiseLines(){
+ uint i;
+ int x1,y1,x2,y2;
+ delete lines;
+ lines=new Lines(numLines);
+ lines->reset();
+ x1=rnd.getLong(width());
+ y1=rnd.getLong(height());
+ x2=rnd.getLong(width());
+ y2=rnd.getLong(height());
+ for(i=0; i<numLines; i++){
+ lines->setKoord(x1,y1,x2,y2);
+ lines->next();
+ }
+}
+
+// create a color table of 64 colors
+void kLinesSaver::initialiseColor(){
+ int i;
+ double mr, mg, mb;
+ double cr, cg, cb;
+ mr=(double)(colmid.red()-colstart.red())/32;
+ mg=(double)(colmid.green()-colstart.green())/32;
+ mb=(double)(colmid.blue()-colstart.blue())/32;
+ cr=colstart.red();
+ cg=colstart.green();
+ cb=colstart.blue();
+ for(i=0; i<32; i++){
+ colors[63-i].setRgb((int)(mr*i+cr), (int)(mg*i+cg), (int)(mb*i+cb));
+ }
+ mr=(double)(colend.red()-colmid.red())/32;
+ mg=(double)(colend.green()-colmid.green())/32;
+ mb=(double)(colend.blue()-colmid.blue())/32;
+ cr=colmid.red();
+ cg=colmid.green();
+ cb=colmid.blue();
+ for(i=0; i<32; i++){
+ colors[31-1].setRgb((int)(mr*i+cr), (int)(mg*i+cg), (int)(mb*i+cb));
+ }
+ colscale=64.0/(double)numLines;
+}
diff --git a/kscreensaver/kdesavers/lines.h b/kscreensaver/kdesavers/lines.h
new file mode 100644
index 00000000..d3f1062c
--- /dev/null
+++ b/kscreensaver/kdesavers/lines.h
@@ -0,0 +1,96 @@
+//-----------------------------------------------------------------------------
+//
+// klines 0.1.1 - Basic screen saver for KDE
+// by Dirk Staneker 1997
+// based on kpolygon 0.3 by Martin R. Jones 1996
+//
+
+#ifndef __LINES_H__
+#define __LINES_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <krandomsequence.h>
+#include <kscreensaver.h>
+
+class KColorButton;
+
+class Lines{
+ private:
+ struct Ln{
+ Ln* next;
+ int x1, y1, x2, y2;
+ };
+ Ln *start, *end, *akt;
+ int offx1, offy1, offx2, offy2;
+ uint numLn;
+ public:
+ Lines(int);
+ ~Lines();
+ inline void reset();
+ inline void getKoord(int&, int&, int&, int&);
+ inline void setKoord(const int&, const int&, const int&, const int&);
+ inline void next(void);
+ void turn(const int&, const int&);
+};
+
+class kLinesSaver:public KScreenSaver{
+ Q_OBJECT
+ public:
+ kLinesSaver( WId id );
+ virtual ~kLinesSaver();
+
+ void setLines(int len);
+ void setSpeed(int spd);
+ void setColor(const QColor&, const QColor&, const QColor&);
+
+ private:
+ void readSettings();
+ void blank();
+ void initialiseLines();
+ void initialiseColor();
+
+ protected slots:
+ void slotTimeout();
+
+ protected:
+ KRandomSequence rnd;
+ QTimer timer;
+ unsigned numLines;
+ int colorContext, speed;
+ QColor colors[64];
+ QColor colstart, colmid, colend;
+ double colscale;
+ Lines* lines;
+};
+
+class kLinesSetup : public KDialogBase{
+ Q_OBJECT
+ public:
+ kLinesSetup(QWidget *parent=NULL, const char *name=NULL);
+ ~kLinesSetup();
+
+ protected:
+ void readSettings();
+
+ private slots:
+ void slotLength(int);
+ void slotSpeed(int);
+ void slotColstart(const QColor &);
+ void slotColmid(const QColor &);
+ void slotColend(const QColor &);
+ void slotOk();
+ void slotHelp();
+
+ private:
+ KColorButton *colorPush0, *colorPush1, *colorPush2;
+ QWidget *preview;
+ kLinesSaver *saver;
+ int length, speed;
+ QColor colstart, colmid, colend;
+};
+
+#endif
+
diff --git a/kscreensaver/kdesavers/lorenz.cpp b/kscreensaver/kdesavers/lorenz.cpp
new file mode 100644
index 00000000..c9017bb0
--- /dev/null
+++ b/kscreensaver/kdesavers/lorenz.cpp
@@ -0,0 +1,569 @@
+//-----------------------------------------------------------------------------
+//
+// Lorenz - Lorenz Attractor screen saver
+// Nicolas Brodu, brodu@kde.org, 2000
+//
+// Portions of code from kblankscrn and khop.
+// See authors there.
+//
+// I release my code as GPL, but see the other headers and the README
+
+#include <math.h>
+#include <stdlib.h>
+
+#include <qpainter.h>
+#include <qslider.h>
+#include <qlayout.h>
+#include <qcolor.h>
+#include <qlabel.h>
+
+#include <kapplication.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <kconfig.h>
+#include <kmessagebox.h>
+
+#include "lorenz.h"
+#include "lorenz.moc"
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "klorenz.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KLorenz" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KLorenzSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KLorenzSetup();
+ }
+}
+
+#define MINSPEED 1
+#define MAXSPEED 1500
+#define DEFSPEED 150
+#define MINZROT -180
+#define MAXZROT 180
+#define DEFZROT 104 //100
+#define MINYROT -180
+#define MAXYROT 180
+#define DEFYROT -19 //80
+#define MINXROT -180
+#define MAXXROT 180
+#define DEFXROT 25 //20
+#define MINEPOCH 1
+#define MAXEPOCH 30000
+#define DEFEPOCH 5800
+#define MINCOLOR 1
+#define MAXCOLOR 100
+#define DEFCOLOR 20
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+KLorenzSetup::KLorenzSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Lorenz Attractor" ),
+ Ok|Cancel|Default|Help, Ok, true )
+{
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *tl = new QHBoxLayout( main, 0, spacingHint() );
+ QVBoxLayout *tl1 = new QVBoxLayout;
+ tl->addLayout(tl1);
+
+ QLabel *label = new QLabel( i18n("Speed:"), main );
+ tl1->addWidget(label);
+
+ sps = new QSlider(MINSPEED, MAXSPEED, 10, speed, QSlider::Horizontal, main);
+ sps->setMinimumSize( 120, 20 );
+ sps->setTickmarks(QSlider::Below);
+ sps->setTickInterval(150);
+ connect( sps, SIGNAL( valueChanged( int ) ), SLOT( slotSpeed( int ) ) );
+ tl1->addWidget(sps);
+
+ label = new QLabel( i18n("Epoch:"), main );
+ tl1->addWidget(label);
+
+ eps = new QSlider(MINEPOCH, MAXEPOCH, 100, epoch, QSlider::Horizontal, main);
+ eps->setMinimumSize( 120, 20 );
+ eps->setTickmarks(QSlider::Below);
+ eps->setTickInterval(3000);
+ connect( eps, SIGNAL( valueChanged( int ) ), SLOT( slotEpoch( int ) ) );
+ tl1->addWidget(eps);
+
+ label = new QLabel( i18n("Color rate:"), main );
+ tl1->addWidget(label);
+
+ crs = new QSlider(MINCOLOR, MAXCOLOR, 5, crate, QSlider::Horizontal, main);
+ crs->setMinimumSize( 120, 20 );
+ crs->setTickmarks(QSlider::Below);
+ crs->setTickInterval(10);
+ connect( crs, SIGNAL( valueChanged( int ) ), SLOT( slotCRate( int ) ) );
+ tl1->addWidget(crs);
+
+ label = new QLabel( i18n("Rotation Z:"), main );
+ tl1->addWidget(label);
+
+ zrs = new QSlider(MINZROT, MAXZROT, 18, zrot, QSlider::Horizontal, main);
+ zrs->setMinimumSize( 120, 20 );
+ zrs->setTickmarks(QSlider::Below);
+ zrs->setTickInterval(36);
+ connect( zrs, SIGNAL( valueChanged( int ) ), SLOT( slotZRot( int ) ) );
+ tl1->addWidget(zrs);
+
+ label = new QLabel( i18n("Rotation Y:"), main );
+ tl1->addWidget(label);
+
+ yrs = new QSlider(MINYROT, MAXYROT, 18, yrot, QSlider::Horizontal, main);
+ yrs->setMinimumSize( 120, 20 );
+ yrs->setTickmarks(QSlider::Below);
+ yrs->setTickInterval(36);
+ connect( yrs, SIGNAL( valueChanged( int ) ), SLOT( slotYRot( int ) ) );
+ tl1->addWidget(yrs);
+
+ label = new QLabel( i18n("Rotation X:"), main );
+ tl1->addWidget(label);
+
+ xrs = new QSlider(MINXROT, MAXXROT, 18, xrot, QSlider::Horizontal, main);
+ xrs->setMinimumSize( 120, 20 );
+ xrs->setTickmarks(QSlider::Below);
+ xrs->setTickInterval(36);
+ connect( xrs, SIGNAL( valueChanged( int ) ), SLOT( slotXRot( int ) ) );
+ tl1->addWidget(xrs);
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 165 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new KLorenzSaver( preview->winId() );
+ tl->addWidget(preview);
+}
+
+KLorenzSetup::~KLorenzSetup()
+{
+ delete saver;
+}
+
+// read settings from config file
+void KLorenzSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", DEFSPEED );
+ epoch = config->readNumEntry( "Epoch", DEFEPOCH );
+ crate = config->readNumEntry( "Color Rate", DEFCOLOR );
+ zrot = config->readNumEntry( "ZRot", DEFZROT );
+ yrot = config->readNumEntry( "YRot", DEFZROT );
+ xrot = config->readNumEntry( "XRot", DEFZROT );
+}
+
+
+void KLorenzSetup::slotSpeed(int num)
+{
+ speed = num;
+ if (saver) saver->setSpeed(speed);
+}
+
+void KLorenzSetup::slotEpoch(int num)
+{
+ epoch = num;
+ if (saver) saver->setEpoch(epoch);
+}
+
+void KLorenzSetup::slotCRate(int num)
+{
+ crate = num;
+ if (saver) saver->setCRate(crate);
+}
+
+void KLorenzSetup::slotZRot(int num)
+{
+ zrot = num;
+ if (saver) {
+ saver->setZRot(zrot);
+ saver->updateMatrix();
+ saver->newEpoch();
+ }
+}
+
+void KLorenzSetup::slotYRot(int num)
+{
+ yrot = num;
+ if (saver) {
+ saver->setYRot(yrot);
+ saver->updateMatrix();
+ saver->newEpoch();
+ }
+}
+
+void KLorenzSetup::slotXRot(int num)
+{
+ xrot = num;
+ if (saver) {
+ saver->setXRot(xrot);
+ saver->updateMatrix();
+ saver->newEpoch();
+ }
+}
+
+void KLorenzSetup::slotHelp()
+{
+ KMessageBox::about(this,i18n("Lorenz Attractor screen saver for KDE\n\nCopyright (c) 2000 Nicolas Brodu"));
+}
+
+// Ok pressed - save settings and exit
+void KLorenzSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ config->writeEntry( "Speed", speed );
+ config->writeEntry( "Epoch", epoch );
+ config->writeEntry( "Color Rate", crate );
+ config->writeEntry( "ZRot", zrot );
+ config->writeEntry( "YRot", yrot );
+ config->writeEntry( "XRot", xrot );
+
+ config->sync();
+
+ accept();
+}
+
+void KLorenzSetup::slotDefault()
+{
+ speed = DEFSPEED;
+ epoch = DEFEPOCH;
+ crate = DEFCOLOR;
+ zrot = DEFZROT;
+ yrot = DEFYROT;
+ xrot = DEFXROT;
+ if (saver) {
+ saver->setSpeed(speed);
+ saver->setEpoch(epoch);
+ saver->setCRate(crate);
+ saver->setZRot(zrot);
+ saver->setYRot(yrot);
+ saver->setXRot(xrot);
+ saver->updateMatrix();
+ saver->newEpoch();
+ }
+ sps->setValue(speed);
+ eps->setValue(epoch);
+ crs->setValue(crate);
+ zrs->setValue(zrot);
+ yrs->setValue(yrot);
+ xrs->setValue(xrot);
+
+/* // User can cancel, or save defaults?
+
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ config->writeEntry( "Speed", speed );
+ config->writeEntry( "Epoch", epoch );
+ config->writeEntry( "Color Rate", crate );
+ config->writeEntry( "ZRot", zrot );
+ config->writeEntry( "YRot", yrot );
+ config->writeEntry( "XRot", xrot );
+
+ config->sync();
+*/
+}
+
+//-----------------------------------------------------------------------------
+
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+const double pi = M_PI;
+
+// Homogeneous coordinate transform matrix
+// I initially wrote it for a Java applet, it is inspired from a
+// Matrix class in the JDK.
+// Nicolas Brodu, 1998-2000
+class Matrix3D
+{
+ // All coefficients
+ double xx, xy, xz, xo;
+ double yx, yy, yz, yo;
+ double zx, zy, zz, zo;
+ // 0, 0, 0, 1 are implicit
+public:
+
+ void unit()
+ {
+ xx=1.0; xy=0.0; xz=0.0; xo=0.0;
+ yx=0.0; yy=1.0; yz=0.0; yo=0.0;
+ zx=0.0; zy=0.0; zz=1.0; zo=0.0;
+ }
+
+ Matrix3D ()
+ {
+ unit();
+ }
+
+ // Translation
+ void translate(double x, double y, double z)
+ {
+ xo += x;
+ yo += y;
+ zo += z;
+ }
+
+ // Rotation, in degrees, around the Y axis
+ void rotY(double theta)
+ {
+ theta *= pi / 180;
+ double ct = cos(theta);
+ double st = sin(theta);
+
+ double Nxx = xx * ct + zx * st;
+ double Nxy = xy * ct + zy * st;
+ double Nxz = xz * ct + zz * st;
+ double Nxo = xo * ct + zo * st;
+
+ double Nzx = zx * ct - xx * st;
+ double Nzy = zy * ct - xy * st;
+ double Nzz = zz * ct - xz * st;
+ double Nzo = zo * ct - xo * st;
+
+ xo = Nxo;
+ xx = Nxx;
+ xy = Nxy;
+ xz = Nxz;
+ zo = Nzo;
+ zx = Nzx;
+ zy = Nzy;
+ zz = Nzz;
+ }
+
+
+ // Rotation, in degrees, around the X axis
+ void rotX(double theta)
+ {
+ theta *= pi / 180;
+ double ct = cos(theta);
+ double st = sin(theta);
+
+ double Nyx = yx * ct + zx * st;
+ double Nyy = yy * ct + zy * st;
+ double Nyz = yz * ct + zz * st;
+ double Nyo = yo * ct + zo * st;
+
+ double Nzx = zx * ct - yx * st;
+ double Nzy = zy * ct - yy * st;
+ double Nzz = zz * ct - yz * st;
+ double Nzo = zo * ct - yo * st;
+
+ yo = Nyo;
+ yx = Nyx;
+ yy = Nyy;
+ yz = Nyz;
+ zo = Nzo;
+ zx = Nzx;
+ zy = Nzy;
+ zz = Nzz;
+ }
+
+
+ // Rotation, in degrees, around the Z axis
+ void rotZ(double theta)
+ {
+ theta *= pi / 180;
+ double ct = cos(theta);
+ double st = sin(theta);
+
+ double Nyx = yx * ct + xx * st;
+ double Nyy = yy * ct + xy * st;
+ double Nyz = yz * ct + xz * st;
+ double Nyo = yo * ct + xo * st;
+
+ double Nxx = xx * ct - yx * st;
+ double Nxy = xy * ct - yy * st;
+ double Nxz = xz * ct - yz * st;
+ double Nxo = xo * ct - yo * st;
+
+ yo = Nyo;
+ yx = Nyx;
+ yy = Nyy;
+ yz = Nyz;
+ xo = Nxo;
+ xx = Nxx;
+ xy = Nxy;
+ xz = Nxz;
+ }
+
+ // Multiply by a projection matrix, with camera f
+ // f 0 0 0 x f*x
+ // 0 f 0 0 * y = f*y
+ // 0 0 1 f z z+f
+ // 0 0 0 1 1 1
+ // So, it it easy to find the 2D coordinates after the transform
+ // u = f*x / (z+f)
+ // v = f*y / (z+f)
+ void proj(double f)
+ {
+ xx*=f;
+ xy*=f;
+ xz*=f;
+ xo*=f;
+ yx*=f;
+ yy*=f;
+ yz*=f;
+ yo*=f;
+ zo+=f;
+ }
+
+ // Apply the transformation 3D => 2D
+ void transform(double x, double y, double z, double &u, double& v, double& w)
+ {
+ u = x * xx + y * xy + z * xz + xo;
+ v = x * yx + y * yy + z * yz + yo;
+ w = x * zx + y * zy + z * zz + zo;
+ }
+};
+
+KLorenzSaver::KLorenzSaver( WId id ) : KScreenSaver( id )
+{
+ readSettings();
+
+ // Create a transform matrix with the parameters
+ mat = new Matrix3D();
+ updateMatrix();
+
+ colorContext = QColor::enterAllocContext();
+ setBackgroundColor( black );
+ newEpoch();
+
+ timer.start( 10 );
+ connect( &timer, SIGNAL( timeout() ), SLOT( drawOnce() ) );
+}
+
+KLorenzSaver::~KLorenzSaver()
+{
+ delete mat;
+ mat=0;
+ timer.stop();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+}
+
+// read configuration settings from config file
+void KLorenzSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", DEFSPEED );
+ epoch = config->readNumEntry( "Epoch", DEFEPOCH );
+ zrot = config->readNumEntry( "ZRot", DEFZROT );
+ yrot = config->readNumEntry( "YRot", DEFZROT );
+ xrot = config->readNumEntry( "XRot", DEFZROT );
+
+ int crate_num = config->readNumEntry( "Color Rate", DEFCOLOR );
+ crate = (double)crate_num / (double)MAXCOLOR;
+}
+
+void KLorenzSaver::setSpeed(int num)
+{
+ speed = num;
+}
+
+void KLorenzSaver::setEpoch(int num)
+{
+ epoch = num;
+}
+
+void KLorenzSaver::setZRot(int num)
+{
+ zrot = num;
+}
+
+void KLorenzSaver::setYRot(int num)
+{
+ yrot = num;
+}
+
+void KLorenzSaver::setXRot(int num)
+{
+ xrot = num;
+}
+
+void KLorenzSaver::setCRate(int num)
+{
+ crate = (double)num / (double)MAXCOLOR;
+}
+
+void KLorenzSaver::updateMatrix()
+{
+ // reset matrix
+ mat->unit();
+ // Remove the mean before the rotations...
+ mat->translate(-0.95413, -0.96740, -23.60065);
+ mat->rotZ(zrot);
+ mat->rotY(yrot);
+ mat->rotX(xrot);
+ mat->translate(0, 0, 100);
+ mat->proj(1);
+}
+
+void KLorenzSaver::newEpoch()
+{
+ // Start at a random position, somewhere around the mean
+ x = 0.95-25.0+50.0*kapp->random() / (RAND_MAX+1.0);
+ y = 0.97-25.0+50.0*kapp->random() / (RAND_MAX+1.0);
+ z = 23.6-25.0+50.0*kapp->random() / (RAND_MAX+1.0);
+ // start at some random 'time' as well to have different colors
+ t = 10000.0*kapp->random() / (RAND_MAX+1.0);
+ erase();
+ e=0; // reset epoch counter
+}
+
+// Computes the derivatives using Lorenz equations
+static void lorenz(double x, double y, double z, double& dx, double& dy, double& dz)
+{
+ dx = 10*(y-x);
+ dy = 28*x - y - x*z;
+ dz = x*y - z*8.0/3.0;
+}
+
+// Use a simple Runge-Kutta formula to draw a few points
+// No need to go beyond 2nd order for a screensaver!
+void KLorenzSaver::drawOnce()
+{
+ double kx, ky, kz, dx, dy, dz;
+ const double h = 0.0001;
+ const double tqh = h * 3.0 / 4.0;
+ QPainter p(this);
+
+ for (int i=0; i<speed; i++) {
+ // Runge-Kutta formula
+ lorenz(x,y,z,dx,dy,dz);
+ lorenz(x + tqh*dx, y + tqh*dy, z + tqh*dz, kx, ky, kz);
+ x += h*(dx/3.0+2*kx/3.0);
+ y += h*(dy/3.0+2*ky/3.0);
+ z += h*(dz/3.0+2*kz/3.0);
+ // Apply transform
+ mat->transform(x,y,z,kx,ky,kz);
+ // Choose a color
+ p.setPen(
+ QColor((int)(sin(t*crate/pi)*127+128),
+ (int)(sin(t*crate/(pi-1))*127+128),
+ (int)(sin(t*crate/(pi-2))*127+128)).pixel() );
+ // Draw a point
+ p.drawPoint( (int)(kx*width()*1.5/kz)+(int)(width()/2),
+ (int)(ky*height()*1.5/kz)+(int)(height()/2));
+ t+=h;
+ }
+ if (++e>=epoch) newEpoch();
+}
diff --git a/kscreensaver/kdesavers/lorenz.h b/kscreensaver/kdesavers/lorenz.h
new file mode 100644
index 00000000..f666db71
--- /dev/null
+++ b/kscreensaver/kdesavers/lorenz.h
@@ -0,0 +1,86 @@
+//-----------------------------------------------------------------------------
+//
+// Lorenz - Lorenz Attractor screen saver
+// Nicolas Brodu, brodu@kde.org, 2000
+//
+// Portions of code from kblankscrn and khop.
+// See authors there.
+//
+// I release my code as GPL, but see the other headers and the README
+
+#ifndef __LORENZKSCRN_H__
+#define __LORENZKSCRN_H__
+
+#include <qtimer.h>
+#include <qcolor.h>
+#include <kscreensaver.h>
+#include <kdialogbase.h>
+
+// See lorenz.cpp for this private class
+class Matrix3D;
+
+class KLorenzSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ KLorenzSaver( WId id );
+ virtual ~KLorenzSaver();
+ void setSpeed(int num);
+ void setEpoch(int num);
+ void setCRate(int num);
+ void setZRot(int num);
+ void setYRot(int num);
+ void setXRot(int num);
+ void updateMatrix();
+ void newEpoch();
+
+protected slots:
+ void drawOnce();
+
+protected:
+ QTimer timer;
+ int colorContext;
+
+private:
+ void readSettings();
+
+private:
+ double x, y, z, t;
+ double speed, epoch, zrot, yrot, xrot, crate;
+ int e;
+ Matrix3D *mat;
+};
+
+class QSlider;
+
+class KLorenzSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ KLorenzSetup(QWidget *parent = 0, const char *name = 0 );
+ ~KLorenzSetup();
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed(int num);
+ void slotEpoch(int num);
+ void slotCRate(int num);
+ void slotZRot(int num);
+ void slotYRot(int num);
+ void slotXRot(int num);
+
+ void slotOk();
+ void slotHelp();
+ void slotDefault();
+
+private:
+ QWidget *preview;
+ QSlider *sps, *eps, *zrs, *yrs, *xrs, *crs;
+ KLorenzSaver *saver;
+ int speed, epoch, zrot, yrot, xrot, crate;
+};
+
+#endif
+
diff --git a/kscreensaver/kdesavers/particle.png b/kscreensaver/kdesavers/particle.png
new file mode 100644
index 00000000..a777c822
--- /dev/null
+++ b/kscreensaver/kdesavers/particle.png
Binary files differ
diff --git a/kscreensaver/kdesavers/pendulum.cpp b/kscreensaver/kdesavers/pendulum.cpp
new file mode 100644
index 00000000..801b74dd
--- /dev/null
+++ b/kscreensaver/kdesavers/pendulum.cpp
@@ -0,0 +1,881 @@
+//============================================================================
+//
+// KPendulum screen saver for KDE
+//
+// The screen saver displays a physically realistic simulation of a two-part
+// pendulum.
+//
+// Developed by Georg Drenkhahn, georg-d@users.sourceforge.net
+//
+// $Id$
+//
+/*
+ * Copyright (C) 2004 Georg Drenkhahn
+ *
+ * KRotation is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License version 2 as published by the
+ * Free Software Foundation.
+ *
+ * KRotation is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA 02110-1301 USA
+ */
+//============================================================================
+
+// std. C++ headers
+#include <cstdlib>
+
+// Qt headers
+#include <qlineedit.h>
+#include <qspinbox.h>
+#include <qvalidator.h>
+#include <qcolordialog.h>
+#include <qpushbutton.h>
+#include <qtooltip.h>
+// KDE headers
+#include <klocale.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kmessagebox.h>
+
+#include "sspreviewarea.h"
+
+// pendulum.moc includes pendulum.h
+#include "pendulum.moc"
+
+#define KPENDULUM_VERSION "1.1"
+
+// libkscreensaver interface
+extern "C"
+{
+ /// application name for libkscreensaver interface
+ KDE_EXPORT const char *kss_applicationName = "kpendulum.kss";
+ /// application description for libkscreensaver interface
+ KDE_EXPORT const char *kss_description = I18N_NOOP("Simulation of\
+ a two-part pendulum");
+ /// application version for libkscreensaver interface
+ KDE_EXPORT const char *kss_version = KPENDULUM_VERSION;
+
+ /// function to create screen saver object
+ KDE_EXPORT KScreenSaver* kss_create(WId id)
+ {
+ return new KPendulumSaver(id);
+ }
+
+ /// function to create setup dialog for screen saver
+ KDE_EXPORT QDialog* kss_setup()
+ {
+ return new KPendulumSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// PendulumOdeSolver
+//-----------------------------------------------------------------------------
+
+PendulumOdeSolver::PendulumOdeSolver(
+ const double &_t,
+ const double &_dt,
+ std::valarray<double> &_y,
+ const double &_eps,
+ const double &_m1,
+ const double &_m2,
+ const double &_l1,
+ const double &_l2,
+ const double &_g)
+ : RkOdeSolver<double>(_t,_y,_dt,_eps),
+ A(1.0/(_m2*_l1*_l1)),
+ B1(_m2*_l1*_l2), // constants for faster numeric calculation
+ B(1.0/B1), // derived from m1,m2,l1,l2,g
+ C((_m1+_m2)/(_m2*_m2*_l2*_l2)),
+ D(_g*(_m1+_m2)*_l1),
+ E(_g*_m2*_l2),
+ M((_m1+_m2)/_m2)
+{
+}
+
+std::valarray<double> PendulumOdeSolver::f(
+ const double &x,
+ const std::valarray<double> &y) const
+{
+ (void)x; // unused
+
+ const double& q1 = y[0];
+ const double& q2 = y[1];
+ const double& p1 = y[2];
+ const double& p2 = y[3];
+
+ const double cosDq = std::cos(q1-q2);
+ const double iden = 1.0/(M - cosDq*cosDq); // invers denominator
+ const double dq1dt = (A*p1 - B*cosDq*p2)*iden;
+ const double dq2dt = (C*p2 - B*cosDq*p1)*iden;
+
+ std::valarray<double> ypr(y.size());
+ ypr[0] = dq1dt;
+ ypr[1] = dq2dt;
+
+ const double K = B1 * dq1dt*dq2dt * std::sin(q1-q2);
+ ypr[2] = -K - D * std::sin(q1);
+ ypr[3] = K - E * std::sin(q2);
+
+ return ypr;
+}
+
+//-----------------------------------------------------------------------------
+// Rotation: screen saver widget
+//-----------------------------------------------------------------------------
+
+PendulumGLWidget::PendulumGLWidget(QWidget* parent, const char* name)
+ : QGLWidget(parent, name),
+ eyeR(30), // eye coordinates (polar)
+ eyeTheta(M_PI*0.45),
+ eyePhi(0),
+ lightR(eyeR), // light coordinates (polar)
+ lightTheta(M_PI*0.25),
+ lightPhi(M_PI*0.25),
+ quadM1(gluNewQuadric()),
+ m_barColor(KPendulumSaver::barColorDefault),
+ m_m1Color(KPendulumSaver::m1ColorDefault),
+ m_m2Color(KPendulumSaver::m2ColorDefault)
+{
+}
+
+PendulumGLWidget::~PendulumGLWidget(void)
+{
+ gluDeleteQuadric(quadM1);
+}
+
+void PendulumGLWidget::setEyePhi(double phi)
+{
+ eyePhi = phi;
+ while (eyePhi < 0) eyePhi += 2.*M_PI;
+ while (eyePhi > 2*M_PI) eyePhi -= 2.*M_PI;
+
+ // get the view port
+ static GLint vp[4];
+ glGetIntegerv(GL_VIEWPORT, vp);
+ // calc new perspective, a resize event is simulated here
+ resizeGL(static_cast<int>(vp[2]), static_cast<int>(vp[3]));
+}
+
+void PendulumGLWidget::setAngles(const double& q1, const double& q2)
+{
+ ang1 = static_cast<GLfloat>(q1*180./M_PI);
+ ang2 = static_cast<GLfloat>(q2*180./M_PI);
+}
+
+void PendulumGLWidget::setMasses(const double& m1, const double& m2)
+{
+ sqrtm1 = static_cast<GLfloat>(sqrt(m1));
+ sqrtm2 = static_cast<GLfloat>(sqrt(m2));
+}
+
+void PendulumGLWidget::setLengths(const double& _l1, const double& _l2)
+{
+ l1 = static_cast<GLfloat>(_l1);
+ l2 = static_cast<GLfloat>(_l2);
+}
+
+void PendulumGLWidget::setBarColor(const QColor& c)
+{
+ if (c.isValid())
+ {
+ m_barColor = c;
+ }
+}
+
+void PendulumGLWidget::setM1Color(const QColor& c)
+{
+ if (c.isValid())
+ {
+ m_m1Color = c;
+ }
+}
+void PendulumGLWidget::setM2Color(const QColor& c)
+{
+ if (c.isValid())
+ {
+ m_m2Color = c;
+ }
+}
+
+/* --------- protected methods ----------- */
+
+void PendulumGLWidget::initializeGL(void)
+{
+ qglClearColor(QColor(black)); // set color to clear the background
+
+ glClearDepth(1); // depth buffer setup
+ glEnable(GL_DEPTH_TEST); // depth testing
+ glDepthFunc(GL_LEQUAL); // type of depth test
+
+ glShadeModel(GL_SMOOTH); // smooth color shading in poygons
+
+ // nice perspective calculation
+ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
+
+ // set up the light
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glEnable(GL_LIGHT1);
+
+ glMatrixMode(GL_MODELVIEW); // select modelview matrix
+ glLoadIdentity();
+ // set positon of light0
+ GLfloat lightPos[4]=
+ {lightR * sin(lightTheta) * sin(lightPhi),
+ lightR * sin(lightTheta) * cos(lightPhi),
+ lightR * cos(lightTheta),
+ 0};
+ glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
+ // set positon of light1
+ lightPos[0] = lightR * sin(lightTheta) * sin(lightPhi+M_PI);
+ lightPos[1] = lightR * sin(lightTheta) * cos(lightPhi+M_PI);
+ glLightfv(GL_LIGHT1, GL_POSITION, lightPos);
+
+ // only for lights #>0
+ GLfloat spec[]={1,1,1,1};
+ glLightfv(GL_LIGHT1, GL_SPECULAR, spec);
+ glLightfv(GL_LIGHT1, GL_DIFFUSE, spec);
+
+ // enable setting the material colour by glColor()
+ glEnable(GL_COLOR_MATERIAL);
+
+ GLfloat emi[4] = {.13, .13, .13, 1};
+ glMaterialfv(GL_FRONT, GL_EMISSION, emi);
+}
+
+void PendulumGLWidget::paintGL(void)
+{
+ // clear color and depth buffer
+ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
+
+ glMatrixMode(GL_MODELVIEW); // select modelview matrix
+
+ glLoadIdentity();
+
+ static const GLfloat width = 2.0;
+ static const GLfloat masswidth = 1.0;
+ static const int noOfSlices = 20;
+
+ // top axis, left (x>0)
+ glTranslatef(0.5*width, 0, 0);
+ glRotatef(90, 0, 1, 0);
+ qglColor(m_barColor);
+ gluCylinder(quadM1, 0.2, 0.2, 5, 10, 1);
+ gluSphere(quadM1, 0.2, 10, 10);
+ // top axis, right
+ glLoadIdentity();
+ glTranslatef(-0.5*width, 0, 0);
+ glRotatef(-90, 0, 1, 0);
+ gluCylinder(quadM1, 0.2, 0.2, 5, 10, 1);
+ gluSphere(quadM1, 0.2, 10, 10);
+ // 1. part, left
+ glLoadIdentity();
+ glRotatef(ang1, 1, 0, 0);
+ glPushMatrix();
+ glTranslatef(0.5*width, 0, -l1);
+ gluCylinder(quadM1, 0.2, 0.2, l1, 10, 1);
+ glPopMatrix();
+
+ // 1. part, right
+ glPushMatrix();
+ glTranslatef(-0.5*width, 0, -l1);
+ gluCylinder(quadM1, 0.2, 0.2, l1, 10, 1);
+ // 1. part, bottom
+ glRotatef(90, 0, 1, 0);
+ gluSphere(quadM1, 0.2, 10, 10); // bottom corner 1
+ gluCylinder(quadM1, 0.2, 0.2, width, 10, 1); // connection
+ glTranslatef(0, 0, 0.5*(width-masswidth));
+ qglColor(m_m1Color);
+ gluCylinder(quadM1, sqrtm1, sqrtm1, masswidth, noOfSlices, 1); // mass 1
+ gluQuadricOrientation(quadM1, GLU_INSIDE);
+ gluDisk(quadM1, 0, sqrtm1, noOfSlices,1); // bottom of mass
+ gluQuadricOrientation(quadM1, GLU_OUTSIDE);
+ glTranslatef(0, 0, masswidth);
+ gluDisk(quadM1, 0, sqrtm1, noOfSlices,1); // top of mass
+
+ glTranslatef(0, 0, 0.5*(width-masswidth));
+ qglColor(m_barColor);
+ gluSphere(quadM1, 0.2, 10, 10); // bottom corner 2
+ glPopMatrix();
+
+ // 2. pendulum bar
+ glLoadIdentity();
+ glTranslatef(0, l1*std::sin(ang1*M_PI/180.), -l1*std::cos(ang1*M_PI/180.));
+ glRotatef(ang2, 1, 0, 0);
+ glTranslatef(0, 0, -l2);
+ qglColor(m_barColor);
+ gluCylinder(quadM1, 0.2, 0.2, l2, 10, 1);
+
+ // mass 2
+ glRotatef(90, 0, 1, 0);
+ glTranslatef(0, 0, -0.5*masswidth);
+ qglColor(m_m2Color);
+ gluCylinder(quadM1, sqrtm2, sqrtm2, masswidth, noOfSlices, 1);
+ gluQuadricOrientation(quadM1, GLU_INSIDE);
+ gluDisk(quadM1, 0, sqrtm2, noOfSlices,1); // bottom of mass
+ gluQuadricOrientation(quadM1, GLU_OUTSIDE);
+ glTranslatef(0, 0, masswidth);
+ gluDisk(quadM1, 0, sqrtm2, noOfSlices,1); // top of mass
+
+ glFlush();
+}
+
+void PendulumGLWidget::resizeGL(int w, int h)
+{
+ // Prevent a divide by zero
+ if (h == 0) h = 1;
+
+ // set the new view port
+ glViewport(0, 0, static_cast<GLint>(w), static_cast<GLint>(h));
+
+ // set up projection matrix
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ // Perspective view
+ gluPerspective(40.0f,
+ static_cast<GLdouble>(w)/static_cast<GLdouble>(h),
+ 1.0, 100.0f);
+
+ // Viewing transformation, position for better view
+ // Theta is polar angle 0<Theta<Pi
+ gluLookAt(
+ eyeR * sin(eyeTheta) * sin(eyePhi),
+ eyeR * sin(eyeTheta) * cos(eyePhi),
+ eyeR * cos(eyeTheta),
+ 0,0,0,
+ 0,0,1);
+}
+
+//-----------------------------------------------------------------------------
+// KPendulumSaver: screen saver class
+//-----------------------------------------------------------------------------
+
+KPendulumSaver::KPendulumSaver(WId id) :
+ KScreenSaver(id),
+ solver(0),
+ m_massRatio(massRatioDefault),
+ m_lengthRatio(lengthRatioDefault),
+ m_g(gDefault),
+ m_E(EDefault),
+ m_persChangeInterval(persChangeIntervalDefault)
+{
+ setEraseColor(black);
+ erase(); // erase area
+ glArea = new PendulumGLWidget(this); // create gl widget
+ glArea->setEyePhi(eyePhiDefault);
+
+ readSettings(); // read global settings into pars
+ initData(); // init solver and glArea with read settings
+
+ embed(glArea); // embed gl widget and resize it
+ glArea->show(); // show gl widget
+
+ // set up and start cyclic timer
+ timer = new QTimer(this);
+ timer->start(deltaT, TRUE);
+ connect(timer, SIGNAL(timeout()), this, SLOT(doTimeStep()));
+}
+
+KPendulumSaver::~KPendulumSaver()
+{
+ // time, rotation are automatically deleted with parent KPendulumSaver
+ delete solver;
+}
+
+
+void KPendulumSaver::readSettings()
+{
+ // read configuration settings from config file
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+
+ // internal saver parameters are set to stored values or left at their
+ // default values if stored values are out of range
+ setMassRatio(
+ config->readDoubleNumEntry(
+ "mass ratio",
+ KPendulumSaver::massRatioDefault));
+ setLengthRatio(
+ config->readDoubleNumEntry(
+ "length ratio",
+ KPendulumSaver::lengthRatioDefault));
+ setG(
+ config->readDoubleNumEntry(
+ "g",
+ KPendulumSaver::gDefault));
+ setE(
+ config->readDoubleNumEntry(
+ "E",
+ KPendulumSaver::EDefault));
+ setPersChangeInterval(
+ config->readUnsignedNumEntry(
+ "perspective change interval",
+ KPendulumSaver::persChangeIntervalDefault));
+
+ // set the colours
+ setBarColor(config->readColorEntry("bar color", &barColorDefault));
+ setM1Color( config->readColorEntry("m1 color", &m1ColorDefault));
+ setM2Color( config->readColorEntry("m2 color", &m2ColorDefault));
+}
+
+void KPendulumSaver::initData()
+{
+ const double m1plusm2 = 2; // m1+m2
+ const double m2 = m_massRatio * m1plusm2;
+ const double m1 = m1plusm2 - m2;
+ glArea->setMasses(m1, m2);
+ glArea->setAngles(0, 0);
+
+ const double l1plusl2 = 9; // l1+l2
+ const double l2 = m_lengthRatio * l1plusl2;
+ const double l1 = l1plusl2 - l2;
+ glArea->setLengths(l1, l2);
+
+ // kinetic energy of m2 and m1
+ const double kin_energy = m_E * m_g * (l1*m1 + (m1+m2)*(l1+l2));
+ // angular velocity for 1. and 2. pendulum
+ const double qp = sqrt(2.*kin_energy/((m1+m2)*l1*l1 + m2*l2*l2 + m2*l1*l2));
+
+ // assemble initial y for solver
+ std::valarray<double> y(4);
+ y[0] = 0; // q1
+ y[1] = 0; // q2
+ y[2] = (m1+m2)*l1*l1*qp + 0.5*m2*l1*l2*qp; // p1
+ y[3] = m2*l2*l2*qp + 0.5*m2*l1*l2*qp; // p2
+
+ // delete old solver
+ if (solver!=0) delete solver;
+ // init new solver
+ solver = new PendulumOdeSolver(
+ 0.0, // t
+ 0.01, // first dt step size estimation
+ y,
+ 1e-5, // eps
+ m1,
+ m2,
+ l1,
+ l2,
+ m_g);
+}
+
+
+void KPendulumSaver::setBarColor(const QColor& c)
+{
+ glArea->setBarColor(c);
+}
+QColor KPendulumSaver::barColor(void) const
+{
+ return glArea->barColor();
+}
+
+const QColor KPendulumSaver::barColorDefault(255, 255, 127);
+
+void KPendulumSaver::setM1Color(const QColor& c)
+{
+ glArea->setM1Color(c);
+}
+QColor KPendulumSaver::m1Color(void) const
+{
+ return glArea->m1Color();
+}
+
+const QColor KPendulumSaver::m1ColorDefault(170, 0, 127);
+
+void KPendulumSaver::setM2Color(const QColor& c)
+{
+ glArea->setM2Color(c);
+}
+QColor KPendulumSaver::m2Color(void) const
+{
+ return glArea->m2Color();
+}
+
+const QColor KPendulumSaver::m2ColorDefault( 85, 170, 127);
+
+
+void KPendulumSaver::setMassRatio(const double& massRatio)
+{
+ // range check is not neccessary in normal operation because validators check
+ // the values at input. But the validators do not check for corrupted
+ // settings read from disk.
+ if (massRatio >= massRatioLimitLower
+ && massRatio <= massRatioLimitUpper
+ && m_massRatio != massRatio)
+ {
+ m_massRatio = massRatio;
+ if (timer!=0)
+ {
+ initData();
+ }
+ }
+}
+
+const double KPendulumSaver::massRatioLimitLower = 0.01;
+const double KPendulumSaver::massRatioLimitUpper = 0.99;
+const double KPendulumSaver::massRatioDefault = 0.5;
+
+void KPendulumSaver::setLengthRatio(const double& lengthRatio)
+{
+ if (lengthRatio >= lengthRatioLimitLower
+ && lengthRatio <= lengthRatioLimitUpper
+ && m_lengthRatio != lengthRatio)
+ {
+ m_lengthRatio = lengthRatio;
+ if (timer!=0)
+ {
+ initData();
+ }
+ }
+}
+
+const double KPendulumSaver::lengthRatioLimitLower = 0.01;
+const double KPendulumSaver::lengthRatioLimitUpper = 0.99;
+const double KPendulumSaver::lengthRatioDefault = 0.5;
+
+void KPendulumSaver::setG(const double& g)
+{
+ if (g >= gLimitLower
+ && g <= gLimitUpper
+ && m_g != g)
+ {
+ m_g = g;
+ if (timer!=0)
+ {
+ initData();
+ }
+ }
+}
+
+const double KPendulumSaver::gLimitLower = 0.1;
+const double KPendulumSaver::gLimitUpper = 300.0;
+const double KPendulumSaver::gDefault = 40.0;
+
+void KPendulumSaver::setE(const double& E)
+{
+ if (E >= ELimitLower
+ && E <= ELimitUpper
+ && m_E != E)
+ {
+ m_E = E;
+ if (timer!=0)
+ {
+ initData();
+ }
+ }
+}
+
+const double KPendulumSaver::ELimitLower = 0.0;
+const double KPendulumSaver::ELimitUpper = 5.0;
+const double KPendulumSaver::EDefault = 1.2;
+
+void KPendulumSaver::setPersChangeInterval(
+ const unsigned int& persChangeInterval)
+{
+ if (persChangeInterval >= persChangeIntervalLimitLower
+ && persChangeInterval <= persChangeIntervalLimitUpper
+ && m_persChangeInterval != persChangeInterval)
+ {
+ m_persChangeInterval = persChangeInterval;
+ // do not restart simulation here
+ }
+}
+
+const double KPendulumSaver::eyePhiDefault = 0.25*M_PI;
+
+
+void KPendulumSaver::doTimeStep()
+{
+ /* time (in seconds) of perspective change.
+ * - t<0: no change yet
+ * - t=0: change starts
+ * - 0<t<moving time: change takes place
+ * - t=moving time: end of the change */
+ static double persChangeTime = -5;
+
+ // integrate a step ahead
+ solver->integrate(0.001*deltaT);
+
+ // read new y from solver
+ const std::valarray<double> y = solver->Y();
+
+ // tell glArea the new coordinates/angles of the pendulum
+ glArea->setAngles(y[0], y[1]);
+
+ // handle perspective change
+ persChangeTime += 0.001*deltaT;
+ if (persChangeTime > 0)
+ {
+ // phi value at the start of a perspective change
+ static double eyePhi0 = eyePhiDefault;
+ // phi value at the end of a perspective change
+ static double eyePhi1 = 0.75*M_PI;
+ static double deltaEyePhi = eyePhi1-eyePhi0;
+
+ // movement acceleration/deceleration
+ const double a = 3;
+ // duration of the change period
+ const double movingTime = 2.*sqrt(fabs(deltaEyePhi)/a);
+
+ // new current phi of eye
+ double eyePhi = persChangeTime < 0.5*movingTime ?
+ // accelerating phase
+ eyePhi0 + (deltaEyePhi>0?1:-1)
+ * 0.5*a*persChangeTime*persChangeTime:
+ // decellerating phase
+ eyePhi1 - (deltaEyePhi>0?1:-1)
+ * 0.5*a*(movingTime-persChangeTime)*(movingTime-persChangeTime);
+
+ if (persChangeTime>movingTime)
+ { // perspective change has finished
+ // set new time till next change
+ persChangeTime = -double(m_persChangeInterval);
+ eyePhi0 = eyePhi = eyePhi1;
+ // find new phi value with angleLimit < phi < Pi-angleLimit or
+ // Pi+angleLimit < phi < 2*Pi-angleLimit
+ const double angleLimit = M_PI*0.2;
+ for (eyePhi1 = 0;
+ eyePhi1<angleLimit
+ || (eyePhi1<M_PI+angleLimit && eyePhi1>M_PI-angleLimit)
+ || eyePhi1>2*M_PI-angleLimit;
+ eyePhi1 = double(rand())/RAND_MAX * 2*M_PI)
+ {}
+ // new delta phi for next change
+ deltaEyePhi = eyePhi1 - eyePhi0;
+ // find shortest perspective change
+ if (deltaEyePhi < -M_PI) deltaEyePhi += 2*M_PI;
+ }
+
+ glArea->setEyePhi(eyePhi); // set new perspective
+ }
+
+ glArea->updateGL(); // repaint scenery
+ timer->start(deltaT, TRUE); // restart timer
+}
+
+// public slot of KPendulumSaver, forward resize event to public slot of glArea
+// to allow the resizing of the gl area withing the setup dialog
+void KPendulumSaver::resizeGlArea(QResizeEvent* e)
+{
+ glArea->resize(e->size());
+}
+
+//-----------------------------------------------------------------------------
+// KPendulumSetup: dialog to setup screen saver parameters
+//-----------------------------------------------------------------------------
+
+KPendulumSetup::KPendulumSetup(QWidget* parent, const char* name)
+ : KPendulumSetupUi(parent, name),
+ // create saver and give it the WinID of the preview area
+ saver(new KPendulumSaver(preview->winId()))
+{
+ // the dialog should block, no other control center input should be possible
+ // until the dialog is closed
+ setModal(TRUE);
+
+ // create input validators
+ mEdit->setValidator(new QDoubleValidator(
+ KPendulumSaver::massRatioLimitLower,
+ KPendulumSaver::massRatioLimitUpper,
+ 5, mEdit));
+ lEdit->setValidator(new QDoubleValidator(
+ KPendulumSaver::lengthRatioLimitLower,
+ KPendulumSaver::lengthRatioLimitUpper,
+ 5, lEdit));
+ gEdit->setValidator(new QDoubleValidator(
+ KPendulumSaver::gLimitLower,
+ KPendulumSaver::gLimitUpper,
+ 5, gEdit));
+ eEdit->setValidator(new QDoubleValidator(
+ KPendulumSaver::ELimitLower,
+ KPendulumSaver::ELimitUpper,
+ 5, eEdit));
+
+ // set input limits for the perspective change interval time
+ persSpinBox->setMinValue(KPendulumSaver::persChangeIntervalLimitLower);
+ persSpinBox->setMaxValue(KPendulumSaver::persChangeIntervalLimitUpper);
+
+ // set tool tips of editable fields
+ QToolTip::add(
+ mEdit,
+ i18n("Ratio of 2nd mass to sum of both masses.\nValid values from %1 to %2.")
+ .arg(KPendulumSaver::massRatioLimitLower, 0, 'f', 2)
+ .arg(KPendulumSaver::massRatioLimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ lEdit,
+ i18n("Ratio of 2nd pendulum part length to the sum of both part lengths.\nValid values from %1 to %2.")
+ .arg(KPendulumSaver::lengthRatioLimitLower, 0, 'f', 2)
+ .arg(KPendulumSaver::lengthRatioLimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ gEdit,
+ i18n("Gravitational constant in arbitrary units.\nValid values from %1 to %2.")
+ .arg(KPendulumSaver::gLimitLower, 0, 'f', 2)
+ .arg(KPendulumSaver::gLimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ eEdit,
+ i18n("Energy in units of the maximum potential energy of the given configuration.\nValid values from %1 to %2.")
+ .arg(KPendulumSaver::ELimitLower, 0, 'f', 2)
+ .arg(KPendulumSaver::ELimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ persSpinBox,
+ i18n("Time in seconds after which a random perspective change occurs.\nValid values from %1 to %2.")
+ .arg(KPendulumSaver::persChangeIntervalLimitLower)
+ .arg(KPendulumSaver::persChangeIntervalLimitUpper));
+
+ // init preview area
+ preview->setBackgroundColor(black);
+ preview->show(); // otherwise saver does not get correct size
+
+ // read settings from saver and update GUI elements with these values, saver
+ // has read settings in its constructor
+
+ // set editable fields with stored values as defaults
+ QString text;
+ text.setNum(saver->massRatio());
+ mEdit->setText(text);
+ text.setNum(saver->lengthRatio());
+ lEdit->setText(text);
+ text.setNum(saver->g());
+ gEdit->setText(text);
+ text.setNum(saver->E());
+ eEdit->setText(text);
+
+ persSpinBox->setValue(saver->persChangeInterval());
+
+ barColorButton->setPaletteBackgroundColor(saver->barColor());
+ m1ColorButton->setPaletteBackgroundColor(saver->m1Color());
+ m2ColorButton->setPaletteBackgroundColor(saver->m2Color());
+
+ // if the preview area is resized it emmits the resized() event which is
+ // caught by the saver. The embedded GlArea is resized to fit into the
+ // preview area.
+ connect(preview, SIGNAL(resized(QResizeEvent*)),
+ saver, SLOT(resizeGlArea(QResizeEvent*)));
+}
+
+KPendulumSetup::~KPendulumSetup()
+{
+ delete saver;
+}
+
+// Ok pressed - save settings and exit
+void KPendulumSetup::okButtonClickedSlot()
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+
+ config->writeEntry("mass ratio", saver->massRatio());
+ config->writeEntry("length ratio", saver->lengthRatio());
+ config->writeEntry("g", saver->g());
+ config->writeEntry("E", saver->E());
+ config->writeEntry("perspective change interval",
+ saver->persChangeInterval());
+ config->writeEntry("bar color", saver->barColor());
+ config->writeEntry("m1 color", saver->m1Color());
+ config->writeEntry("m2 color", saver->m2Color());
+
+ config->sync();
+ accept();
+}
+
+void KPendulumSetup::aboutButtonClickedSlot()
+{
+ KMessageBox::about(this, i18n("\
+<h3>KPendulum Screen Saver for KDE</h3>\
+<p>Simulation of a two-part pendulum</p>\
+<p>Copyright (c) Georg&nbsp;Drenkhahn 2004</p>\
+<p><tt>georg-d@users.sourceforge.net</tt></p>"));
+}
+
+void KPendulumSetup::mEditLostFocusSlot(void)
+{
+ if (mEdit->hasAcceptableInput())
+ {
+ saver->setMassRatio(mEdit->text().toDouble());
+ }
+ else
+ { // write current setting back into input field
+ QString text;
+ text.setNum(saver->massRatio());
+ mEdit->setText(text);
+ }
+}
+void KPendulumSetup::lEditLostFocusSlot(void)
+{
+ if (lEdit->hasAcceptableInput())
+ {
+ saver->setLengthRatio(lEdit->text().toDouble());
+ }
+ else
+ { // write current setting back into input field
+ QString text;
+ text.setNum(saver->lengthRatio());
+ lEdit->setText(text);
+ }
+}
+void KPendulumSetup::gEditLostFocusSlot(void)
+{
+ if (gEdit->hasAcceptableInput())
+ {
+ saver->setG(gEdit->text().toDouble());
+ }
+ else
+ { // write current setting back into input field
+ QString text;
+ text.setNum(saver->g());
+ gEdit->setText(text);
+ }
+}
+void KPendulumSetup::eEditLostFocusSlot(void)
+{
+ if (eEdit->hasAcceptableInput())
+ {
+ saver->setE(eEdit->text().toDouble());
+ }
+ else
+ { // write current setting back into input field
+ QString text;
+ text.setNum(saver->E());
+ eEdit->setText(text);
+ }
+}
+void KPendulumSetup::persChangeEnteredSlot(int t)
+{
+ saver->setPersChangeInterval(t);
+}
+
+void KPendulumSetup::barColorButtonClickedSlot(void)
+{
+ QColor color = QColorDialog::getColor(
+ saver->barColor(), this, "bar color dialog");
+ if (color.isValid())
+ {
+ saver->setBarColor(color);
+ barColorButton->setPaletteBackgroundColor(color);
+ }
+}
+void KPendulumSetup::m1ColorButtonClickedSlot(void)
+{
+ QColor color = QColorDialog::getColor(
+ saver->m1Color(), this, "mass 1 color dialog");
+ if (color.isValid())
+ {
+ saver->setM1Color(color);
+ m1ColorButton->setPaletteBackgroundColor(color);
+ }
+}
+void KPendulumSetup::m2ColorButtonClickedSlot(void)
+{
+ QColor color = QColorDialog::getColor(
+ saver->m2Color(), this, "mass 2 color dialog");
+ if (color.isValid())
+ {
+ saver->setM2Color(color);
+ m2ColorButton->setPaletteBackgroundColor(color);
+ }
+}
diff --git a/kscreensaver/kdesavers/pendulum.h b/kscreensaver/kdesavers/pendulum.h
new file mode 100644
index 00000000..2b917a2b
--- /dev/null
+++ b/kscreensaver/kdesavers/pendulum.h
@@ -0,0 +1,388 @@
+//============================================================================
+//
+// KPendulum screen saver for KDE
+// $Id$
+// Copyright (C) 2004 Georg Drenkhahn
+//
+// This file is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+//============================================================================
+
+#ifndef __PENDULUM_H__
+#define __PENDULUM_H__
+
+// STL headers
+#include <valarray>
+// Qt headers
+#include <qwidget.h>
+#include <qtimer.h>
+#include <qgl.h>
+// GL headers
+#include <GL/glu.h>
+#include <GL/gl.h>
+// KDE headers
+#include <kscreensaver.h>
+
+#include "vec3.h"
+#include "rkodesolver.h"
+
+// KPendulumSetupUi
+#include "pendulumcfg.h"
+
+//--------------------------------------------------------------------
+
+/** @brief ODE solver for the Pendulum equations */
+class PendulumOdeSolver : public RkOdeSolver<double>
+{
+ public:
+ /** @brief Constuctor for the RK solver of the pendulum equation of motion
+ * @param t initial time in seconds
+ * @param dt initial time increment in seconds, just a hint for solver
+ * @param y generalized coordinates of pendulum system
+ * @param eps relative precision
+ * @param m1 mass of upper pendulum
+ * @param m2 mass of lower pendulum
+ * @param l1 length of upper pendulum
+ * @param l2 length of lower pendulum
+ * @param g gravitational constant */
+ PendulumOdeSolver(
+ const double &t,
+ const double &dt,
+ std::valarray<double> &y,
+ const double &eps,
+ const double &m1,
+ const double &m2,
+ const double &l1,
+ const double &l2,
+ const double &g
+ );
+
+ protected:
+ /** @brief ODE function for the pendulum equation of motion system
+ * @param x time
+ * @param y generalized coordinates of pendulum system
+ * @return derivation dy/dx */
+ std::valarray<double>
+ f(const double &x, const std::valarray<double> &y) const;
+
+ private:
+ /** These private variables contain constants for faster numeric calculation.
+ * They are derived from the constructor arguments m1,m2,l1,l2,g. */
+ const double A, B1, B, C, D, E, M;
+};
+
+
+//--------------------------------------------------------------------
+
+/** @brief GL widget class for the KPendulum screen saver
+ *
+ * Class implements QGLWidget to display the KPendulum screen saver. */
+class PendulumGLWidget : public QGLWidget
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor of KPendulum's GL widget
+ * @param parent parent widget, passed to QGLWidget's constructor
+ * @param name name of widget, passed to QGLWidget's constructor */
+ PendulumGLWidget(QWidget* parent=0, const char* name=0);
+ /** @brief Destructor of KPendulum's GL widget */
+ ~PendulumGLWidget(void);
+
+ /** @brief Set phi angle of viewpoint
+ * @param phi angle in sterad */
+ void setEyePhi(double phi);
+ /** @brief Set angles of pendulum configuration
+ * @param q1 angle of 1. pendulum in sterad
+ * @param q2 angle of 2. pendulum in sterad */
+ void setAngles(const double& q1, const double& q2);
+ /** @brief Set masses of pendulum configuration
+ * @param m1 mass of 1. pendulum
+ * @param m2 mass of 2. pendulum */
+ void setMasses(const double& m1, const double& m2);
+ /** @brief Set lengths of pendulum configuration
+ * @param l1 length of 1. pendulum
+ * @param l2 length of 2. pendulum */
+ void setLengths(const double& l1, const double& l2);
+
+ /* accessors for colour settings */
+
+ /** @brief set color of the bars
+ * @param c color */
+ void setBarColor(const QColor& c);
+ /** @brief get color of the bars
+ * @return color */
+ inline QColor barColor(void) const {return m_barColor;}
+ /** @brief set color of mass 1
+ * @param c color */
+ void setM1Color(const QColor& c);
+ /** @brief get color of mass 1
+ * @return color */
+ inline QColor m1Color(void) const {return m_m1Color;}
+ /** @brief set color of mass 2
+ * @param c color */
+ void setM2Color(const QColor& c);
+ /** @brief get color of mass 2
+ * @return color */
+ inline QColor m2Color(void) const {return m_m2Color;}
+
+ protected:
+ /** paint the GL view */
+ virtual void paintGL();
+ /** resize the gl view */
+ virtual void resizeGL(int w, int h);
+ /** setup the GL enviroment */
+ virtual void initializeGL();
+
+ private: // Private attributes
+ /** Eye position distance from coordinate zero point */
+ GLfloat eyeR;
+ /** Eye position theta angle from z axis in sterad */
+ double eyeTheta;
+ /** Eye position phi angle (longitude) in sterad */
+ double eyePhi;
+ /** Light position distance from coordinate zero point */
+ GLfloat lightR;
+ /** Light position theta angle from z axis in sterad */
+ double lightTheta;
+ /** Light position phi angle (longitude) in sterad */
+ double lightPhi;
+
+ /** 1. pendulum's angle, degree */
+ GLfloat ang1;
+ /** 2. pendulum's angle, degree */
+ GLfloat ang2;
+
+ /** 1. pendulum's square root of mass */
+ GLfloat sqrtm1;
+ /** 2. pendulum's square root of mass */
+ GLfloat sqrtm2;
+
+ /** 1. pendulum's length */
+ GLfloat l1;
+ /** 2. pendulum's length */
+ GLfloat l2;
+
+ /** Pointer to a quadric object used in the rendering function paintGL() */
+ GLUquadricObj* const quadM1;
+
+ /** color of the pendulum bars */
+ QColor m_barColor;
+ /** color of the 1. mass */
+ QColor m_m1Color;
+ /** color of the 2. mass */
+ QColor m_m2Color;
+};
+
+//--------------------------------------------------------------------
+
+/** @brief Main class of the KPendulum screen saver
+ *
+ * This class implements KScreenSaver for the KPendulum screen saver. */
+class KPendulumSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor of the KPendulum screen saver object
+ * @param drawable Id of the window in which the screen saver is drawed
+ *
+ * Initial settings are read from disk, the GL widget is set up and displayed
+ * and the eq. of motion solver is started. */
+ KPendulumSaver(WId drawable);
+ /** @brief Destructor of the KPendulum screen saver object
+ *
+ * Only KPendulumSaver::solver is destoyed. */
+ ~KPendulumSaver();
+ /** read the saved settings from disk */
+ void readSettings();
+ /** init physical quantities, set up the GL area and (re)start the ode
+ * solver. Called if new parameters are specified in the setup dialog and at
+ * startup. */
+ void initData();
+
+ /* accessors for PendulumGLWidget member variables */
+
+ /** Set the displayed bar color of the pendulum */
+ void setBarColor(const QColor& c);
+ /** Get the displayed bar color of the pendulum */
+ QColor barColor(void) const;
+
+ static const QColor barColorDefault;
+
+ /** Set the displayed color of the 1. pendulum mass */
+ void setM1Color(const QColor& c);
+ /** Get the displayed color of the 1. pendulum mass */
+ QColor m1Color(void) const;
+
+ static const QColor m1ColorDefault;
+
+ /** Set the displayed color of the 2. pendulum mass */
+ void setM2Color(const QColor& c);
+ /** Get the displayed color of the 2. pendulum mass */
+ QColor m2Color(void) const;
+
+ static const QColor m2ColorDefault;
+
+ /* accessors for own member variables */
+
+ /** Set the mass ratio of the pendulum system. @sa
+ * KPendulumSaver::m_massRatio */
+ void setMassRatio(const double& massRatio);
+ /** Get the mass ratio of the pendulum system. @sa
+ * KPendulumSaver::m_massRatio */
+ inline double massRatio(void) const {return m_massRatio;}
+
+ // lower, upper limits (inclusive) and default values for the setup
+ // parameters
+ static const double massRatioLimitUpper;
+ static const double massRatioLimitLower;
+ static const double massRatioDefault;
+
+ /** Set the length ratio of the pendulum system. @sa
+ * KPendulumSaver::m_lengthRatio */
+ void setLengthRatio(const double& lengthRatio);
+ /** Get the length ratio of the pendulum system. @sa
+ * KPendulumSaver::m_lengthRatio */
+ inline double lengthRatio(void) const {return m_lengthRatio;}
+
+ static const double lengthRatioLimitLower;
+ static const double lengthRatioLimitUpper;
+ static const double lengthRatioDefault;
+
+ /** Set the gravitational constant. @sa KPendulumSaver::m_g */
+ void setG(const double& g);
+ /** Get the gravitational constant. @sa KPendulumSaver::m_g */
+ inline double g(void) const {return m_g;}
+
+ static const double gLimitLower;
+ static const double gLimitUpper;
+ static const double gDefault;
+
+ /** Set the total energy. @sa KPendulumSaver::m_E */
+ void setE(const double& E);
+ /** Get the total energy. @sa KPendulumSaver::m_E */
+ inline double E(void) const {return m_E;}
+
+ static const double ELimitLower;
+ static const double ELimitUpper;
+ static const double EDefault;
+
+ /** Set the time interval for the periodic perspective change. @sa
+ * KPendulumSaver::m_persChangeInterval */
+ void setPersChangeInterval(const unsigned int& persChangeInterval);
+ /** Get the time interval for the periodic perspective change. @sa
+ * KPendulumSaver::m_persChangeInterval */
+ inline unsigned int persChangeInterval(void) const
+ {return m_persChangeInterval;}
+
+ static const unsigned int persChangeIntervalLimitLower = 5;
+ static const unsigned int persChangeIntervalLimitUpper = 600;
+ static const unsigned int persChangeIntervalDefault = 15;
+
+ public slots:
+ /** slot is called if integration should proceed by ::deltaT */
+ void doTimeStep();
+ /** slot is called if setup dialog changes in size and the GL are should be
+ * adjusted */
+ void resizeGlArea(QResizeEvent* e);
+
+ private:
+ /** The ode solver which is used to integrate the equations of motion */
+ PendulumOdeSolver* solver;
+ /** Gl widget of simulation */
+ PendulumGLWidget* glArea;
+ /** Timer for the real time integration of the eqs. of motion */
+ QTimer* timer;
+
+ /** Time step size for the integration in milliseconds. 20 ms corresponds to
+ * a frame rate of 50 fps. */
+ static const unsigned int deltaT = 20;
+ static const double eyePhiDefault;
+
+ // saved settings
+
+ /** Mass ratio m2/(m1+m2) of the pendulum masses. Value is determined by the
+ * setup dialog. Variable is accessed by setMassRatio() and massRatio(). */
+ double m_massRatio;
+ /** Length ratio l2/(l1+l2) of the pendulums. Value is determined by the
+ * setup dialog. Variable is accessed by setLengthRatio() and
+ * lengthRatio(). */
+ double m_lengthRatio;
+ /** Gravitational constant (in arbitrary units). Value is determined by the
+ * setup dialog. Variable is accessed by setG() and g(). */
+ double m_g;
+ /** Total energy of the system in units of the maximum possible potential
+ * energy. Value is determined by the setup dialog. Variable is accessed by
+ * setE() and E(). */
+ double m_E;
+ /** Time interval after which a new perspective changed happens. Value is
+ * determined by the setup dialog. Variable is accessed by
+ * setPersChangeInterval() and persChangeInterval(). */
+ unsigned int m_persChangeInterval;
+};
+
+//--------------------------------------------------------------------
+
+/** @brief KPendulum screen saver setup dialog.
+ *
+ * This class handles the KPendulum screen saver setup dialog. */
+class KPendulumSetup : public KPendulumSetupUi
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor for the KPendulum screen saver setup dialog
+ * @param parent Pointer to the parent widget, passed to KPendulumSetupUi
+ * @param name Widget name
+ *
+ * The dialog box is set up and the screen saver object KPendulumSetup::saver
+ * is instantiated. */
+ KPendulumSetup(QWidget* parent = 0, const char* name = 0);
+ /** @brief Destructor of the KPendulum screen saver setup dialog
+ *
+ * Only KPendulumSetup::saver is deleted. */
+ ~KPendulumSetup(void);
+
+ public slots:
+ /** slot for the "OK" button: save settings and exit */
+ void okButtonClickedSlot(void);
+ /** slot for the "About" button: show the About dialog */
+ void aboutButtonClickedSlot(void);
+
+ /** slot is called if the mass ratio edit field looses its focus. If the
+ * input is acceptable KPendulumSaver::setMassRatio() is called. */
+ void mEditLostFocusSlot(void);
+ /** slot is called if the length ratio edit field looses its focus. If the
+ * input is acceptable KPendulumSaver::setLengthRatio() is called. */
+ void lEditLostFocusSlot(void);
+ /** slot is called if the gravitational constant edit field looses its focus.
+ * If the input is acceptable KPendulumSaver::setG() is called. */
+ void gEditLostFocusSlot(void);
+ /** slot is called if the energy edit field looses its focus. If the input
+ * is acceptable KPendulumSaver::setE() is called. */
+ void eEditLostFocusSlot(void);
+ /** slot is called if the perspective change interval spin box changed. If
+ * the input is acceptable KPendulumSaver::setPersChangeInterval() is
+ * called. */
+ void persChangeEnteredSlot(int t);
+
+ /** slot is called if the bar color button was clicked. A color dialog is
+ * opened and the result is given to KPendulumSaver::setBarColor(). */
+ void barColorButtonClickedSlot(void);
+ /** slot is called if the mass 1 color button was clicked. A color dialog is
+ * opened and the result is given to KPendulumSaver::setM1Color(). */
+ void m1ColorButtonClickedSlot(void);
+ /** slot is called if the mass 2 color button was clicked. A color dialog is
+ * opened and the result is given to KPendulumSaver::setM2Color(). */
+ void m2ColorButtonClickedSlot(void);
+
+ private:
+ /** Pointer to the screen saver object. Its member KPendulumSaver::glArea is
+ * displayed in the preview area */
+ KPendulumSaver* saver;
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/pendulumcfg.ui b/kscreensaver/kdesavers/pendulumcfg.ui
new file mode 100644
index 00000000..51454a00
--- /dev/null
+++ b/kscreensaver/kdesavers/pendulumcfg.ui
@@ -0,0 +1,566 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>KPendulumSetupUi</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>KPendulumSetupUi</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>474</width>
+ <height>349</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>2</horstretch>
+ <verstretch>2</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1200</width>
+ <height>900</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>400</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>KPendulum Setup</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="resizeMode">
+ <enum>Minimum</enum>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout18</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout16</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout15</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ <property name="text">
+ <string>&lt;p align="center"&gt;
+m&lt;sub&gt;2&lt;/sub&gt;&lt;br&gt;
+-----------&lt;br&gt;
+m&lt;sub&gt;1&lt;/sub&gt;+m&lt;sub&gt;2&lt;/sub&gt;
+&lt;/p&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>mEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout14</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;p align="center"&gt;
+l&lt;sub&gt;2&lt;/sub&gt;&lt;br&gt;
+------&lt;br&gt;
+l&lt;sub&gt;1&lt;/sub&gt;+l&lt;sub&gt;2&lt;/sub&gt;
+&lt;/p&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>lEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout13</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>g</string>
+ </property>
+ <property name="alignment">
+ <set>WordBreak|AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>gEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout13_2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>E</string>
+ </property>
+ <property name="alignment">
+ <set>WordBreak|AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>eEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout18</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Perspective&lt;br&gt;
+Change [s]</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>specify the time in seconds after which a random perspective change occurs</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>persSpinBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>32767</height>
+ </size>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout15</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>barColorButton</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Bars</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m1ColorButton</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>M1</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m2ColorButton</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>M2</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="SsPreviewArea">
+ <property name="name">
+ <cstring>preview</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>2</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>150</height>
+ </size>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout19</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>66</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>OkButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>CancelButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>AboutButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;About</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>65</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<customwidgets>
+ <customwidget>
+ <class>SsPreviewArea</class>
+ <header location="global">sspreviewarea.h</header>
+ <sizehint>
+ <width>-1</width>
+ <height>1</height>
+ </sizehint>
+ <container>0</container>
+ <sizepolicy>
+ <hordata>5</hordata>
+ <verdata>5</verdata>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ <pixmap>image0</pixmap>
+ </customwidget>
+</customwidgets>
+<images>
+ <image name="image0">
+ <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e0582c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44ae426082</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>OkButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>okButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>CancelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>close()</slot>
+ </connection>
+ <connection>
+ <sender>AboutButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>aboutButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>lEdit</sender>
+ <signal>lostFocus()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>lEditLostFocusSlot()</slot>
+ </connection>
+ <connection>
+ <sender>gEdit</sender>
+ <signal>lostFocus()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>gEditLostFocusSlot()</slot>
+ </connection>
+ <connection>
+ <sender>eEdit</sender>
+ <signal>lostFocus()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>eEditLostFocusSlot()</slot>
+ </connection>
+ <connection>
+ <sender>persSpinBox</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>persChangeEnteredSlot(int)</slot>
+ </connection>
+ <connection>
+ <sender>mEdit</sender>
+ <signal>lostFocus()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>mEditLostFocusSlot()</slot>
+ </connection>
+ <connection>
+ <sender>barColorButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>barColorButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>m1ColorButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>m1ColorButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>m2ColorButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KPendulumSetupUi</receiver>
+ <slot>m2ColorButtonClickedSlot()</slot>
+ </connection>
+</connections>
+<slots>
+ <slot>okButtonClickedSlot()</slot>
+ <slot>aboutButtonClickedSlot()</slot>
+ <slot>mEditLostFocusSlot(void)</slot>
+ <slot>lEditLostFocusSlot(void)</slot>
+ <slot>gEditLostFocusSlot(void)</slot>
+ <slot>eEditLostFocusSlot(void)</slot>
+ <slot>persChangeEnteredSlot(int)</slot>
+ <slot>barColorButtonClickedSlot(void)</slot>
+ <slot>m1ColorButtonClickedSlot(void)</slot>
+ <slot>m2ColorButtonClickedSlot(void)</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>sspreviewarea.h</includehint>
+</includehints>
+</UI>
diff --git a/kscreensaver/kdesavers/polygon.cpp b/kscreensaver/kdesavers/polygon.cpp
new file mode 100644
index 00000000..55e052f1
--- /dev/null
+++ b/kscreensaver/kdesavers/polygon.cpp
@@ -0,0 +1,366 @@
+//-----------------------------------------------------------------------------
+//
+// kpolygon - Basic screen saver for KDE
+//
+// Copyright (c) Martin R. Jones 1996
+//
+// layout management added 1998/04/19 by Mario Weilguni <mweilguni@kde.org>
+// 2001/03/04 Converted to libkscreensaver by Martin R. Jones
+
+#include <config.h>
+#include <stdlib.h>
+#include <time.h>
+#include <qcolor.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <qlayout.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kglobal.h>
+#include <kmessagebox.h>
+
+#include "polygon.h"
+#include <qpainter.h>
+
+#include "polygon.moc"
+
+
+#define MAXLENGTH 65
+#define MAXVERTICES 19
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kpolygon.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KPolygon" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new kPolygonSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new kPolygonSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+kPolygonSetup::kPolygonSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Polygon Screen Saver" ),
+ Ok|Cancel|Help, Ok, true ), saver( 0 ), length( 10 ), vertices( 3 ),
+ speed( 50 )
+{
+ readSettings();
+
+ QWidget *main = makeMainWidget();
+ setButtonText( Help, i18n( "A&bout" ) );
+
+ QHBoxLayout *tl = new QHBoxLayout(main, 0, spacingHint());
+ QVBoxLayout *tl1 = new QVBoxLayout;
+ tl->addLayout(tl1);
+
+ QLabel *label = new QLabel( i18n("Length:"), main );
+ tl1->addWidget(label);
+
+ QSlider *sb = new QSlider(1, MAXLENGTH, 10, length, QSlider::Horizontal,
+ main );
+ sb->setMinimumSize( 90, 20 );
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(10);
+ connect( sb, SIGNAL( valueChanged( int ) ), SLOT( slotLength( int ) ) );
+ tl1->addWidget(sb);
+
+ label = new QLabel( i18n("Vertices:"), main );
+ tl1->addWidget(label);
+
+ sb = new QSlider(3, MAXVERTICES, 2, vertices, QSlider::Horizontal, main);
+ sb->setMinimumSize( 90, 20 );
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(2);
+ connect( sb, SIGNAL( valueChanged( int ) ), SLOT( slotVertices( int ) ) );
+ tl1->addWidget(sb);
+
+ label = new QLabel( i18n("Speed:"), main );
+ tl1->addWidget(label);
+
+ sb = new QSlider(0, 100, 10, speed, QSlider::Horizontal, main);
+ sb->setMinimumSize( 90, 20 );
+ sb->setTickmarks(QSlider::Below);
+ sb->setTickInterval(10);
+ connect( sb, SIGNAL( valueChanged( int ) ), SLOT( slotSpeed( int ) ) );
+ tl1->addWidget(sb);
+ tl1->addStretch();
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new kPolygonSaver( preview->winId() );
+ tl->addWidget(preview);
+
+ setMinimumSize( sizeHint() );
+}
+
+kPolygonSetup::~kPolygonSetup()
+{
+ delete saver;
+}
+
+// read settings from config file
+void kPolygonSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ length = config->readNumEntry( "Length", length );
+ if ( length > MAXLENGTH )
+ length = MAXLENGTH;
+ else if ( length < 1 )
+ length = 1;
+
+ vertices = config->readNumEntry( "Vertices", vertices );
+ if ( vertices > MAXVERTICES )
+ vertices = MAXVERTICES;
+ else if ( vertices < 3 )
+ vertices = 3;
+
+ speed = config->readNumEntry( "Speed", speed );
+ if ( speed > 100 )
+ speed = 100;
+ else if ( speed < 50 )
+ speed = 50;
+}
+
+void kPolygonSetup::slotLength( int len )
+{
+ length = len;
+ if ( saver )
+ saver->setPolygon( length, vertices );
+}
+
+void kPolygonSetup::slotVertices( int num )
+{
+ vertices = num;
+ if ( saver )
+ saver->setPolygon( length, vertices );
+}
+
+void kPolygonSetup::slotSpeed( int num )
+{
+ speed = num;
+ if ( saver )
+ saver->setSpeed( speed );
+}
+
+// Ok pressed - save settings and exit
+void kPolygonSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ QString slength;
+ slength.setNum( length );
+ config->writeEntry( "Length", slength );
+
+ QString svertices;
+ svertices.setNum( vertices );
+ config->writeEntry( "Vertices", svertices );
+
+ QString sspeed;
+ sspeed.setNum( speed );
+ config->writeEntry( "Speed", sspeed );
+
+ config->sync();
+
+ accept();
+}
+
+void kPolygonSetup::slotHelp()
+{
+ KMessageBox::information(this,
+ i18n("Polygon Version 2.2.0\n\n"\
+ "Written by Martin R. Jones 1996\n"\
+ "mjones@kde.org"));
+}
+
+//-----------------------------------------------------------------------------
+
+
+kPolygonSaver::kPolygonSaver( WId id ) : KScreenSaver( id )
+{
+ polygons.setAutoDelete( TRUE );
+
+ readSettings();
+
+ directions.resize( numVertices );
+ colorContext = QColor::enterAllocContext();
+
+ blank();
+
+ initialiseColor();
+ initialisePolygons();
+
+ timer.start( speed );
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+}
+
+kPolygonSaver::~kPolygonSaver()
+{
+ timer.stop();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+}
+
+// set polygon properties
+void kPolygonSaver::setPolygon( int len, int ver )
+{
+ timer.stop();
+ numLines = len;
+ numVertices = ver;
+
+ directions.resize( numVertices );
+ polygons.clear();
+ initialisePolygons();
+ blank();
+
+ timer.start( speed );
+}
+
+// set the speed
+void kPolygonSaver::setSpeed( int spd )
+{
+ timer.stop();
+ speed = 100-spd;
+ timer.start( speed );
+}
+
+// read configuration settings from config file
+void kPolygonSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+ numLines = config->readNumEntry( "Length", 10 );
+ if ( numLines > 50 )
+ numLines = 50;
+ else if ( numLines < 1 )
+ numLines = 1;
+
+ numVertices = config->readNumEntry( "Vertices", 3 );
+ if ( numVertices > 20 )
+ numVertices = 20;
+ else if ( numVertices < 3 )
+ numVertices = 3;
+
+ speed = 100 - config->readNumEntry( "Speed", 50 );
+}
+
+// draw next polygon and erase tail
+void kPolygonSaver::slotTimeout()
+{
+ QPainter p( this );
+ if ( polygons.count() > numLines )
+ {
+ p.setPen( black );
+ p.drawPolyline( *polygons.first() );
+ }
+
+ nextColor();
+ p.setPen( colors[currentColor] );
+ p.drawPolyline( *polygons.last() );
+
+ if ( polygons.count() > numLines )
+ polygons.removeFirst();
+
+ polygons.append( new QPointArray( polygons.last()->copy() ) );
+ moveVertices();
+}
+
+void kPolygonSaver::blank()
+{
+ setBackgroundColor( black );
+ erase();
+}
+
+// initialise the polygon
+void kPolygonSaver::initialisePolygons()
+{
+ int i;
+
+ polygons.append( new QPointArray( numVertices + 1 ) );
+
+ QPointArray &poly = *polygons.last();
+
+ for ( i = 0; i < numVertices; i++ )
+ {
+ poly.setPoint( i, rnd.getLong(width()), rnd.getLong(height()) );
+ directions[i].setX( 16 - rnd.getLong(8) * 4 );
+ if ( directions[i].x() == 0 )
+ directions[i].setX( 1 );
+ directions[i].setY( 16 - rnd.getLong(8) * 4 );
+ if ( directions[i].y() == 0 )
+ directions[i].setY( 1 );
+ }
+
+ poly.setPoint( i, poly.point(0) );
+}
+
+// move polygon in current direction and change direction if a border is hit
+void kPolygonSaver::moveVertices()
+{
+ int i;
+ QPointArray &poly = *polygons.last();
+
+ for ( i = 0; i < numVertices; i++ )
+ {
+ poly.setPoint( i, poly.point(i) + directions[i] );
+ if ( poly[i].x() >= (int)width() )
+ {
+ directions[i].setX( -(rnd.getLong(4) + 1) * 4 );
+ poly[i].setX( (int)width() );
+ }
+ else if ( poly[i].x() < 0 )
+ {
+ directions[i].setX( (rnd.getLong(4) + 1) * 4 );
+ poly[i].setX( 0 );
+ }
+
+ if ( poly[i].y() >= (int)height() )
+ {
+ directions[i].setY( -(rnd.getLong(4) + 1) * 4 );
+ poly[i].setY( height() );
+ }
+ else if ( poly[i].y() < 0 )
+ {
+ directions[i].setY( (rnd.getLong(4) + 1) * 4 );
+ poly[i].setY( 0 );
+ }
+ }
+
+ poly.setPoint( i, poly.point(0) );
+}
+
+// create a color table of 64 colors
+void kPolygonSaver::initialiseColor()
+{
+ for ( int i = 0; i < 64; i++ )
+ {
+ colors[i].setHsv( i * 360 / 64, 255, 255 );
+ }
+
+ currentColor = 0;
+}
+
+// set foreground color to next in the table
+void kPolygonSaver::nextColor()
+{
+ currentColor++;
+
+ if ( currentColor > 63 )
+ currentColor = 0;
+}
+
diff --git a/kscreensaver/kdesavers/polygon.h b/kscreensaver/kdesavers/polygon.h
new file mode 100644
index 00000000..bfaac8a4
--- /dev/null
+++ b/kscreensaver/kdesavers/polygon.h
@@ -0,0 +1,79 @@
+//-----------------------------------------------------------------------------
+//
+// kpolygon - Basic screen saver for KDE
+//
+// Copyright (c) Martin R. Jones 1996
+//
+
+#ifndef __POLYGON_H__
+#define __POLYGON_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+#include <krandomsequence.h>
+
+class kPolygonSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ kPolygonSaver( WId id );
+ virtual ~kPolygonSaver();
+
+ void setPolygon( int len, int ver );
+ void setSpeed( int spd );
+
+private:
+ void readSettings();
+ void blank();
+ void initialisePolygons();
+ void moveVertices();
+ void initialiseColor();
+ void nextColor();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ QTimer timer;
+ unsigned numLines;
+ int numVertices;
+ int colorContext;
+ int speed;
+ QColor colors[64];
+ int currentColor;
+ QPtrList<QPointArray> polygons;
+ QMemArray<QPoint> directions;
+ KRandomSequence rnd;
+};
+
+class kPolygonSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kPolygonSetup( QWidget *parent = 0, const char *name = 0 );
+ ~kPolygonSetup();
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotLength( int );
+ void slotVertices( int );
+ void slotSpeed( int );
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kPolygonSaver *saver;
+
+ int length;
+ int vertices;
+ int speed;
+};
+
+#endif
+
diff --git a/kscreensaver/kdesavers/rkodesolver.cpp b/kscreensaver/kdesavers/rkodesolver.cpp
new file mode 100644
index 00000000..2127a110
--- /dev/null
+++ b/kscreensaver/kdesavers/rkodesolver.cpp
@@ -0,0 +1,252 @@
+//============================================================================
+//
+// Ordinary differential equation solver using the Runge-Kutta method.
+// $Id$
+// Copyright (C) 2004 Georg Drenkhahn
+//
+// This file is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+//============================================================================
+
+#include <kdebug.h>
+#include "rkodesolver.h"
+
+template<typename T>
+RkOdeSolver<T>::RkOdeSolver(const T &x,
+ const std::valarray<T>& y,
+ const T &dx,
+ const T &eps)
+ : mX(x)
+{
+ Y(y);
+ dX(dx);
+ Eps(eps);
+}
+
+// virtual dtor
+template<typename T>
+RkOdeSolver<T>::~RkOdeSolver(void)
+{}
+
+// accessors
+
+template<typename T>
+void
+RkOdeSolver<T>::dX(const T &a)
+{
+ if (a < 0.0)
+ {
+ kdDebug() << "RkOdeSolver: dx was negative, made it positive" << endl;
+ mStep = -a;
+ }
+ else if (a == 0.0)
+ {
+ mStep = 0.001; // a very arbitrary value
+ kdDebug() << "RkOdeSolver: dx == 0, set it to " << mStep << endl;
+ }
+ else
+ {
+ mStep = a;
+ }
+}
+
+template<typename T>
+void
+RkOdeSolver<T>::Eps(const T &a)
+{
+ if (a < 0.0)
+ {
+ kdDebug() << "RkOdeSolver: eps was negative, made it positive" << endl;
+ mEps = -a;
+ }
+ else if (a == 0.0)
+ {
+ mEps = 1e-5; // a very arbitrary value
+ kdDebug() << "RkOdeSolver: eps == 0, set it to 1e-5" << endl;
+ }
+ else
+ {
+ mEps = a;
+ }
+}
+
+template<typename T>
+void
+RkOdeSolver<T>::Y(const std::valarray<T> &a)
+{
+ mY.resize(a.size());
+ mY = a;
+}
+
+
+// public member functions
+
+template<typename T>
+void
+RkOdeSolver<T>::integrate(const T &deltaX)
+{
+ if (deltaX == 0)
+ {
+ return; // nothing to integrate
+ }
+
+ // init dydx if uninitialised
+ if (mDydx.size() != mY.size())
+ {
+ mDydx.resize(mY.size());
+ mDydx = f(mX,mY);
+ }
+
+ static const unsigned int maxiter = 10000;
+ const T x2 = mX + deltaX;
+
+ unsigned int iter;
+ for (iter=0;
+ iter<maxiter && rkStepCheck(x2-mX) == false;
+ ++iter)
+ {}
+
+ if (iter>maxiter)
+ {
+ kdDebug() << "RkOdeSolver: More than " << maxiter
+ << " iterations in RkOdeSolver::integrate" << endl;
+ // TODO throw exeption here
+ }
+}
+
+
+// private member functions
+
+template<typename T>
+bool
+RkOdeSolver<T>::rkStepCheck(const T& dx_requested)
+{
+ static const T safety = 0.9;
+ static const T pshrnk = -0.25;
+ static const T pgrow = -0.2;
+
+ // reduce step size by no more than a factor 10
+ static const T shrinkLimit = 0.1;
+ // enlarge step size by no more than a factor 5
+ static const T growthLimit = 5.0;
+ // errmax_sl = 6561.0
+ static const T errmax_sl = pow(shrinkLimit/safety, 1.0/pshrnk);
+ // errmax_gl = 1.89e-4
+ static const T errmax_gl = pow(growthLimit/safety, 1.0/pgrow);
+
+ static const unsigned int maxiter = 100;
+
+ if (dx_requested == 0)
+ {
+ return true; // integration done
+ }
+
+ std::valarray<T> ytmp(mY.size());
+ std::valarray<T> yerr(mY.size());
+ std::valarray<T> t(mY.size());
+
+ bool stepSizeWasMaximal;
+ T dx;
+ if (std::abs(dx_requested) > mStep)
+ {
+ stepSizeWasMaximal = true;
+ dx = dx_requested>0 ? mStep : -mStep;
+ }
+ else
+ {
+ stepSizeWasMaximal = false;
+ dx = dx_requested;
+ }
+
+ // generic scaling factor
+ std::valarray<T> yscal = std::abs(mY) + std::abs(dx*mDydx) + 1e-15;
+
+ unsigned int iter = 0;
+ T errmax = 0;
+ do
+ {
+ if (errmax >= 1.0)
+ {
+ // reduce step size
+ dx *= errmax<errmax_sl ? safety * pow(errmax, pshrnk) : shrinkLimit;
+ stepSizeWasMaximal = true;
+ if (mX == mX + dx)
+ {
+ // stepsize below numerical resolution
+ kdDebug() << "RkOdeSolver: stepsize underflow in rkStepCheck"
+ << endl;
+ // TODO throw exeption here
+ exit(0);
+ }
+ // new dx -> update scaling vector
+ yscal = std::abs(mY) + std::abs(dx*mDydx) + 1e-15;
+ }
+
+ ytmp = rkStep(dx, yerr); // try to make a step forward
+ t = std::abs(yerr/yscal); // calc the error vector
+ errmax = t.max()/mEps; // calc the rel. maximal error
+ ++iter;
+ } while (iter < maxiter && errmax >= 1.0);
+
+ if (iter >= maxiter)
+ {
+ kdDebug() << "RkOdeSolver: too many iterations in rkStepCheck" << endl;
+ // TODO throw exeption here
+ exit(0);
+ }
+
+ if (stepSizeWasMaximal == true)
+ {
+ // estimate next step size if used step size was maximal
+ mStep =
+ std::abs(dx)
+ * (errmax>errmax_gl ? safety * pow(errmax, pgrow) : growthLimit);
+ }
+ mX += dx; // make step forward
+ mY = ytmp; // save new function values
+ mDydx = f(mX,mY); // and update derivatives
+
+ return std::abs(dx) < std::abs(dx_requested);
+}
+
+template<typename T>
+std::valarray<T>
+RkOdeSolver<T>::rkStep(const T& dx, std::valarray<T>& yerr) const
+{
+ static const T
+ a2=0.2, a3=0.3, a4=0.6, a5=1.0, a6=0.875,
+ b21=0.2,
+ b31=3.0/40.0, b32=9.0/40.0,
+ b41=0.3, b42=-0.9, b43=1.2,
+ b51=-11.0/54.0, b52=2.5, b53=-70.0/27.0, b54=35.0/27.0,
+ b61=1631.0/55296.0, b62=175.0/512.0, b63=575.0/13824.0,
+ b64=44275.0/110592.0, b65=253.0/4096.0,
+ c1=37.0/378.0, c3=250.0/621.0, c4=125.0/594.0, c6=512.0/1771.0,
+ dc1=c1-2825.0/27648.0, dc3=c3-18575.0/48384.0,
+ dc4=c4-13525.0/55296.0, dc5=-277.0/14336.0, dc6=c6-0.25;
+
+ std::valarray<T> ak2 = f(mX + a2*dx,
+ mY + dx*b21*mDydx); // 2. step
+ std::valarray<T> ak3 = f(mX + a3*dx,
+ mY + dx*(b31*mDydx + b32*ak2)); // 3.step
+ std::valarray<T> ak4 = f(mX + a4*dx,
+ mY + dx*(b41*mDydx + b42*ak2
+ + b43*ak3)); // 4.step
+ std::valarray<T> ak5 = f(mX + a5*dx,
+ mY + dx*(b51*mDydx + b52*ak2
+ + b53*ak3 + b54*ak4)); // 5.step
+ std::valarray<T> ak6 = f(mX + a6*dx,
+ mY + dx*(b61*mDydx + b62*ak2
+ + b63*ak3 + b64*ak4
+ + b65*ak5)); // 6.step
+ yerr = dx*(dc1*mDydx + dc3*ak3 + dc4*ak4 + dc5*ak5 + dc6*ak6);
+ return mY + dx*( c1*mDydx + c3*ak3 + c4*ak4 + c6*ak6);
+}
+
+
+// explicite instantiations
+//template RkOdeSolver<long double>;
+template class RkOdeSolver<double>;
+//template RkOdeSolver<float>;
diff --git a/kscreensaver/kdesavers/rkodesolver.h b/kscreensaver/kdesavers/rkodesolver.h
new file mode 100644
index 00000000..d1f9d556
--- /dev/null
+++ b/kscreensaver/kdesavers/rkodesolver.h
@@ -0,0 +1,187 @@
+//============================================================================
+//
+// Ordinary differential equation solver using the Runge-Kutta method.
+// $Id$
+// Copyright (C) 2004 Georg Drenkhahn
+//
+// This file is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+//============================================================================
+
+#ifndef RKODESOLVER_H
+#define RKODESOLVER_H
+
+// STL headers
+#include <valarray>
+
+/** @brief Solver class to integrate a first-order ordinary differential
+ * equation (ODE) by means of a 6. order Runge-Kutta method.
+ *
+ * The ODE system must be given as the derivative
+ * dy/dx = f(x,y)
+ * with x in R and y in R^n.
+ *
+ * Within this class the function f() is a pure virtual function, which must be
+ * reimplemented in a derived class.
+ *
+ * No other special data type for vectors or matrices are needed besides the STL
+ * class std::valarray. */
+template<typename T>
+class RkOdeSolver
+{
+ public:
+ /** @brief Constructor
+ * @param x Initial integration parameter
+ * @param y Initial function values of function to integrate
+ * @param dx Initial guess for step size. Will be automatically adjusted to
+ * guarantee required precision.
+ * @param eps Relative precision
+ *
+ * Initialises the solver with start conditions. */
+ RkOdeSolver(const T& x=0.0,
+ const std::valarray<T>& y=std::valarray<T>(0),
+ const T& dx=0,
+ const T& eps=1e-6);
+ /** @brief Destructor */
+ virtual ~RkOdeSolver(void);
+
+ /** @brief Integrates the ordinary differential equation from the current x
+ * value to x+@a dx.
+ * @param dx x-interval size to integrate over starting from x. dx may be
+ * negative.
+ *
+ * The integration is performed by calling rkStepCheck() repeatedly until the
+ * desired x value is reached. */
+ void integrate(const T& dx);
+
+ // Accessors
+
+ // get/set x value
+ /** @brief Get current x value.
+ * @return Reference of x value. */
+ const T& X(void) const;
+ /** @brief Set current x value.
+ * @param a The value to be set. */
+ void X(const T& a);
+
+ // get/set y value
+ /** @brief Get current y value.
+ * @return Reference of y vector. */
+ const std::valarray<T>& Y(void) const;
+ /** @brief Set current y values.
+ * @param a The vector to be set. */
+ void Y(const std::valarray<T>& a);
+
+ /** @brief Get current dy/dx value.
+ * @return Reference of dy/dx vector. */
+ const std::valarray<T>& dYdX(void) const;
+
+ // get/set dx value
+ /** @brief Get current estimated step size dX.
+ * @return Reference of dX value. */
+ const T& dX(void) const;
+ /** @brief Set estimated step size dX.
+ * @param a The value to be set. */
+ void dX(const T& a);
+
+ // get/set eps value
+ /** @brief Get current presision.
+ * @return Reference of precision value. */
+ const T& Eps(void) const;
+ /** @brief Set estimated presision.
+ * @param a The value to be set. */
+ void Eps(const T& a);
+
+ protected:
+ // purely virtual function which is integrated
+ /** @brief ODE function
+ * @param x Integration value
+ * @param y Function value
+ * @return Derivation
+ *
+ * This purely virtual function returns the value of dy/dx for the given
+ * parameter values of x and y. */
+ virtual std::valarray<T>
+ f(const T& x, const std::valarray<T>& y) const = 0;
+
+ private:
+ /** @brief Perform one integration step with a tolerable relative error given
+ * by ::mErr.
+ * @param dx Maximal step size, may be positive or negative depending on
+ * integration direction.
+ * @return Flag indicating if made absolute integration step was equal |@a dx
+ * | (true) less than |@a dx | (false).
+ *
+ * A new estimate for the maximum next step size is saved to ::mStep. The
+ * new values for x, y and f are saved in ::mX, ::mY and ::mDydx. */
+ bool rkStepCheck(const T& dx);
+ /** @brief Perform one Runge-Kutta integration step forward with step size
+ * ::mStep
+ * @param dx Step size relative to current x value.
+ * @param yerr Reference to vector in which the estimated error made in y is
+ * returned.
+ * @return The y value after the step at x+@a dx.
+ *
+ * Stored current x,y values are not adjusted. */
+ std::valarray<T> rkStep(const T& dx, std::valarray<T>& yerr) const;
+
+ /** current x value */
+ T mX;
+ /** current y value */
+ std::valarray<T> mY;
+ /** current value of dy/dx */
+ std::valarray<T> mDydx;
+
+ /** allowed relative error */
+ T mEps;
+ /** estimated step size for next Runge-Kutta step */
+ T mStep;
+};
+
+// inline accessors
+
+template<typename T>
+inline const T&
+RkOdeSolver<T>::X(void) const
+{
+ return mX;
+}
+
+template<typename T>
+inline void
+RkOdeSolver<T>::X(const T &a)
+{
+ mX = a;
+}
+
+template<typename T>
+inline const std::valarray<T>&
+RkOdeSolver<T>::Y(void) const
+{
+ return mY;
+}
+
+template<typename T>
+inline const std::valarray<T>&
+RkOdeSolver<T>::dYdX(void) const
+{
+ return mDydx;
+}
+
+template<typename T>
+inline const T&
+RkOdeSolver<T>::dX(void) const
+{
+ return mStep;
+}
+
+template<typename T>
+inline const T&
+RkOdeSolver<T>::Eps(void) const
+{
+ return mEps;
+}
+
+#endif
diff --git a/kscreensaver/kdesavers/rotation.cpp b/kscreensaver/kdesavers/rotation.cpp
new file mode 100644
index 00000000..38098cb0
--- /dev/null
+++ b/kscreensaver/kdesavers/rotation.cpp
@@ -0,0 +1,825 @@
+//============================================================================
+//
+// KRotation screen saver for KDE
+//
+// The screen saver displays a physically realistic simulation of a force free
+// rotating asymmetric body. The equations of motion for such a rotation, the
+// Euler equations, are integrated numerically by the Runge-Kutta method.
+//
+// Developed by Georg Drenkhahn, georg-d@users.sourceforge.net
+//
+// $Id$
+//
+/*
+ * Copyright (C) 2004 Georg Drenkhahn
+ *
+ * KRotation is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License version 2 as published by the
+ * Free Software Foundation.
+ *
+ * KRotation is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA 02110-1301 USA
+ */
+//============================================================================
+
+// std. C++ headers
+#include <cstdlib>
+// STL
+#include <deque>
+// Qt headers
+#include <qcheckbox.h>
+#include <qlineedit.h>
+#include <qvalidator.h>
+#include <qtooltip.h>
+// KDE headers
+#include <klocale.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kmessagebox.h>
+
+#include "sspreviewarea.h"
+
+// rotation.moc includes rotation.h
+#include "rotation.moc"
+
+/** Version number of this screen saver */
+#define KROTATION_VERSION "1.1"
+
+// libkscreensaver interface
+extern "C"
+{
+ /** application name for the libkscreensaver interface */
+ KDE_EXPORT const char *kss_applicationName = "krotation.kss";
+ /** application description for the libkscreensaver interface */
+ KDE_EXPORT const char *kss_description =
+ I18N_NOOP("Simulation of a force free rotating asymmetric body");
+ /** application version for the libkscreensaver interface */
+ KDE_EXPORT const char *kss_version = KROTATION_VERSION;
+
+ /** function to create screen saver object */
+ KDE_EXPORT KScreenSaver* kss_create(WId id)
+ {
+ return new KRotationSaver(id);
+ }
+
+ /** function to create setup dialog for screen saver */
+ KDE_EXPORT QDialog* kss_setup()
+ {
+ return new KRotationSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// EulerOdeSolver implementation
+//-----------------------------------------------------------------------------
+
+EulerOdeSolver::EulerOdeSolver(
+ const double &t_,
+ const double &dt_,
+ const double &A_,
+ const double &B_,
+ const double &C_,
+ std::valarray<double> &y_,
+ const double &eps_)
+ : RkOdeSolver<double>(t_,y_,dt_,eps_),
+ A(A_), B(B_), C(C_)
+{
+}
+
+std::valarray<double> EulerOdeSolver::f(
+ const double &x,
+ const std::valarray<double> &y) const
+{
+ // unused
+ (void)x;
+
+ // vec omega in body coor. sys.: omega_body = (p, q, r)
+ const vec3<double> omega_body(y[std::slice(0,3,1)]);
+ // body unit vectors in fixed frame coordinates
+ const vec3<double> e1(y[std::slice(3,3,1)]);
+ const vec3<double> e2(y[std::slice(6,3,1)]);
+ const vec3<double> e3(y[std::slice(9,3,1)]);
+
+ // don't use "const vec3<double>&" here because slice_array must be
+ // value-copied to vec3<double>.
+
+ // vec omega in global fixed coor. sys.
+ vec3<double> omega(
+ omega_body[0] * e1
+ + omega_body[1] * e2
+ + omega_body[2] * e3);
+
+ // return vector y'
+ std::valarray<double> ypr(y.size());
+
+ // omega_body'
+ ypr[0] = -(C-B)/A * omega_body[1] * omega_body[2]; // p'
+ ypr[1] = -(A-C)/B * omega_body[2] * omega_body[0]; // q'
+ ypr[2] = -(B-A)/C * omega_body[0] * omega_body[1]; // r'
+
+ // e1', e2', e3'
+ ypr[std::slice(3,3,1)] = vec3<double>::crossprod(omega, e1);
+ ypr[std::slice(6,3,1)] = vec3<double>::crossprod(omega, e2);
+ ypr[std::slice(9,3,1)] = vec3<double>::crossprod(omega, e3);
+
+ return ypr;
+}
+//-----------------------------------------------------------------------------
+
+
+//-----------------------------------------------------------------------------
+// Rotation: screen saver widget
+//-----------------------------------------------------------------------------
+
+RotationGLWidget::RotationGLWidget(
+ QWidget* parent, const char* name,
+ const vec3<double>& _omega,
+ const std::deque<vec3<double> >& e1_,
+ const std::deque<vec3<double> >& e2_,
+ const std::deque<vec3<double> >& e3_,
+ const vec3<double>& J)
+ : QGLWidget(parent, name),
+ eyeR(25), eyeTheta(1), eyePhi(M_PI*0.25),
+ boxSize(1,1,1),
+ fixedAxses(0),
+ bodyAxses(0),
+ lightR(10), lightTheta(M_PI/4), lightPhi(0),
+ bodyAxsesLength(6),
+ fixedAxsesLength(8),
+ omega(_omega),
+ e1(e1_),
+ e2(e2_),
+ e3(e3_)
+{
+ // set up initial rotation matrix as unit matrix, only non-constant elements
+ // are set later on
+ for (int i=0; i<16; i++)
+ rotmat[i] = ((i%5)==0) ? 1:0;
+
+ // Set the box sizes from the momenta of inertia. J is the 3 vector with
+ // momenta of inertia with respect to the 3 figure axes.
+
+ // the default values must be valid so that w,h,d are real!
+ GLfloat
+ x2 = 6.0*(-J[0] + J[1] + J[2]),
+ y2 = 6.0*( J[0] - J[1] + J[2]),
+ z2 = 6.0*( J[0] + J[1] - J[2]);
+
+ if (x2>=0 && y2>=0 && z2>=0)
+ {
+ boxSize = vec3<double>(sqrt(x2), sqrt(y2), sqrt(z2));
+ }
+ else
+ {
+ kdDebug() << "parameter error" << endl;
+ boxSize = vec3<double>(1, 1, 1);
+ }
+}
+
+/* --------- protected methods ----------- */
+
+void RotationGLWidget::initializeGL(void)
+{
+ qglClearColor(QColor(black)); // set color to clear the background
+
+ glClearDepth(1); // depth buffer setup
+ glEnable(GL_DEPTH_TEST); // depth testing
+ glDepthFunc(GL_LEQUAL); // type of depth test
+
+ glShadeModel(GL_SMOOTH); // smooth color shading in poygons
+
+ // nice perspective calculation
+ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
+
+ // set up the light
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ // set positon of light0
+ GLfloat lightPos[4]=
+ {lightR * sin(lightTheta) * sin(lightPhi),
+ lightR * sin(lightTheta) * cos(lightPhi),
+ lightR * cos(lightTheta), 1.};
+ glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
+
+ // enable setting the material colour by glColor()
+ glEnable(GL_COLOR_MATERIAL);
+
+ // set up display lists
+
+ if (fixedAxses == 0)
+ fixedAxses = glGenLists(1); // list to be returned
+ glNewList(fixedAxses, GL_COMPILE);
+
+ // fixed coordinate system axes
+
+ glPushMatrix();
+ glLoadIdentity();
+
+ // z-axis, blue
+ qglColor(QColor(blue));
+ myGlArrow(fixedAxsesLength, 0.5f, 0.03f, 0.1f);
+
+ // x-axis, red
+ qglColor(QColor(red));
+ glRotatef(90, 0, 1, 0);
+
+ myGlArrow(fixedAxsesLength, 0.5f, 0.03f, 0.1f);
+
+ // y-axis, green
+ qglColor(QColor(green));
+ glLoadIdentity();
+ glRotatef(-90, 1, 0, 0);
+ myGlArrow(fixedAxsesLength, 0.5f, 0.03f, 0.1f);
+
+ glPopMatrix();
+ glEndList();
+ // end of axes object list
+
+
+ // box and box-axses
+ if (bodyAxses == 0)
+ bodyAxses = glGenLists(1); // list to be returned
+ glNewList(bodyAxses, GL_COMPILE);
+
+ // z-axis, blue
+ qglColor(QColor(blue));
+ myGlArrow(bodyAxsesLength, 0.5f, 0.03f, 0.1f);
+
+ // x-axis, red
+ qglColor(QColor(red));
+ glPushMatrix();
+ glRotatef(90, 0, 1, 0);
+ myGlArrow(bodyAxsesLength, 0.5f, 0.03f, 0.1f);
+ glPopMatrix();
+
+ // y-axis, green
+ qglColor(QColor(green));
+ glPushMatrix();
+ glRotatef(-90, 1, 0, 0);
+ myGlArrow(bodyAxsesLength, 0.5f, 0.03f, 0.1f);
+ glPopMatrix();
+
+ glEndList();
+}
+
+void RotationGLWidget::draw_traces(void)
+{
+ if (e1.size()==0 && e2.size()==0 && e3.size()==0)
+ return;
+
+ glPushMatrix();
+ glScalef(bodyAxsesLength, bodyAxsesLength, bodyAxsesLength);
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ for (int j=0; j<3; ++j)
+ {
+ const std::deque<vec3<double> >& e =
+ j==0 ? e1 : j==1 ? e2 : e3;
+
+ // trace must contain at least 2 elements
+ if (e.size() > 1)
+ {
+ // emission colour
+ GLfloat em[4] = {0,0,0,1};
+ em[j] = 1; // set either red, green, blue emission colour
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, em);
+ glColor4fv(em);
+
+ // set iterator of the tail part
+ std::deque<vec3<double> >::const_iterator eit = e.begin();
+ std::deque<vec3<double> >::const_iterator tail =
+ e.begin() +
+ static_cast<std::deque<vec3<double> >::difference_type>
+ (0.9*e.size());
+
+ glBegin(GL_LINES);
+ for (; eit < e.end()-1; ++eit)
+ {
+ glVertex3f((*eit)[0], (*eit)[1], (*eit)[2]);
+ // decrease transparency for tail section
+ if (eit > tail)
+ em[3] =
+ static_cast<GLfloat>
+ (1.0 - double(eit-tail)/(0.1*e.size()));
+ glColor4fv(em);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, em);
+ glVertex3f((*(eit+1))[0], (*(eit+1))[1], (*(eit+1))[2]);
+ }
+ glEnd();
+ }
+ }
+
+ glDisable(GL_BLEND);
+
+ glPopMatrix();
+}
+
+void RotationGLWidget::paintGL(void)
+{
+ // clear color and depth buffer
+ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
+
+ glMatrixMode(GL_MODELVIEW); // select modelview matrix
+
+ glLoadIdentity();
+ GLfloat const em[] = {0,0,0,1};
+ glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, em);
+
+ // omega vector
+ vec3<double> rotvec =
+ vec3<double>::crossprod(vec3<double>(0,0,1), omega).normalize();
+ GLfloat rotdeg =
+ 180./M_PI * vec3<double>::angle(vec3<double>(0,0,1), omega);
+ glPushMatrix();
+ glRotatef(rotdeg, rotvec[0], rotvec[1], rotvec[2]);
+ qglColor(QColor(white));
+ myGlArrow(7, .5f, .1f, 0.2f);
+ glPopMatrix();
+
+ // fixed axes
+ glCallList(fixedAxses);
+
+ glPushMatrix();
+
+ // set up variable part of rotation matrix for body
+ // set gl body rotation matrix from e1,e2,e3
+ const vec3<double>& e1b = e1.front();
+ const vec3<double>& e2b = e2.front();
+ const vec3<double>& e3b = e3.front();
+
+ rotmat[0] = e1b[0];
+ rotmat[1] = e1b[1];
+ rotmat[2] = e1b[2];
+ rotmat[4] = e2b[0];
+ rotmat[5] = e2b[1];
+ rotmat[6] = e2b[2];
+ rotmat[8] = e3b[0];
+ rotmat[9] = e3b[1];
+ rotmat[10] = e3b[2];
+
+ glMultMatrixf(rotmat);
+
+ glCallList(bodyAxses);
+
+ glScalef(boxSize[0]/2, boxSize[1]/2, boxSize[2]/2);
+
+ // paint box
+ glBegin(GL_QUADS);
+ // front (z)
+ qglColor(QColor(blue));
+ glNormal3f( 0,0,1);
+ glVertex3f( 1, 1, 1);
+ glVertex3f(-1, 1, 1);
+ glVertex3f(-1, -1, 1);
+ glVertex3f( 1, -1, 1);
+ // back (-z)
+ glNormal3f( 0,0,-1);
+ glVertex3f( 1, 1, -1);
+ glVertex3f(-1, 1, -1);
+ glVertex3f(-1, -1, -1);
+ glVertex3f( 1, -1, -1);
+ // top (y)
+ qglColor(QColor(green));
+ glNormal3f( 0,1,0);
+ glVertex3f( 1, 1, 1);
+ glVertex3f( 1, 1, -1);
+ glVertex3f(-1, 1, -1);
+ glVertex3f(-1, 1, 1);
+ // bottom (-y)
+ glNormal3f( 0,-1,0);
+ glVertex3f( 1, -1, 1);
+
+ glVertex3f( 1, -1, -1);
+ glVertex3f(-1, -1, -1);
+ glVertex3f(-1, -1, 1);
+ // left (-x)
+ qglColor(QColor(red));
+ glNormal3f( -1,0,0);
+ glVertex3f(-1, 1, 1);
+ glVertex3f(-1, 1, -1);
+ glVertex3f(-1, -1, -1);
+ glVertex3f(-1, -1, 1);
+ // right (x)
+ glNormal3f( 1,0,0);
+ glVertex3f( 1, 1, 1);
+ glVertex3f( 1, 1, -1);
+ glVertex3f( 1, -1, -1);
+ glVertex3f( 1, -1, 1);
+ glEnd();
+
+ // traces
+ glPopMatrix();
+ draw_traces ();
+
+ glFlush();
+}
+
+void RotationGLWidget::resizeGL(int w, int h)
+{
+ // Prevent a divide by zero
+ if (h == 0) h = 1;
+
+ // set the new view port
+ glViewport(0, 0, (GLint)w, (GLint)h);
+
+ // set up projection matrix
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ // Perspective view
+ gluPerspective(40.0f, (GLdouble)w/(GLdouble)h, 1.0, 100.0f);
+
+ // Viewing transformation, position for better view
+ // Theta is polar angle 0<Theta<Pi
+ gluLookAt(
+ eyeR * sin(eyeTheta) * sin(eyePhi),
+ eyeR * sin(eyeTheta) * cos(eyePhi),
+ eyeR * cos(eyeTheta),
+ 0,0,0,
+ 0,0,1);
+}
+
+/* --------- privat methods ----------- */
+
+void RotationGLWidget::myGlArrow(
+ GLfloat total_length, GLfloat head_length,
+ GLfloat base_width, GLfloat head_width)
+{
+ GLUquadricObj* quadAx = gluNewQuadric();
+ glPushMatrix();
+ gluCylinder(quadAx, base_width, base_width,
+ total_length-head_length, 10, 1);
+ glTranslatef(0, 0, total_length-head_length);
+ gluCylinder(quadAx, head_width, 0, head_length, 10, 1);
+ glPopMatrix();
+ gluDeleteQuadric(quadAx);
+}
+
+
+//-----------------------------------------------------------------------------
+// KRotationSaver: screen saver class
+//-----------------------------------------------------------------------------
+
+KRotationSaver::KRotationSaver(WId id)
+ : KScreenSaver(id),
+ J(4,2,3), // fixed box sizes!
+ initEulerPhi(0),
+ initEulerPsi(0),
+ solver(0),
+ glArea(0),
+ timer(0),
+ m_traceLengthSeconds(traceLengthSecondsDefault),
+ m_Lz(LzDefault),
+ m_initEulerTheta(initEulerThetaDefault)
+{
+ readSettings(); // read global settings
+ initData(); // init e1,e2,e3,omega,solver
+
+ setEraseColor(black);
+ erase(); // erase area
+ glArea = new RotationGLWidget(
+ this, 0, omega, e1, e2, e3, J); // create gl widget
+ embed(glArea); // embed gl widget and resize it
+ glArea->show(); // show gl widget
+
+ timer = new QTimer(this);
+ timer->start(deltaT, TRUE);
+ connect(timer, SIGNAL(timeout()), this, SLOT(doTimeStep()));
+}
+
+KRotationSaver::~KRotationSaver()
+{
+ // time, rotation are automatically deleted with parent KRotationSaver
+ delete solver;
+}
+
+void KRotationSaver::initData()
+{
+ // reset coordiante system
+ vec3<double> e1t(1,0,0), e2t(0,1,0), e3t(0,0,1);
+ // rotation by phi around z = zhat axis
+ e1t.rotate(initEulerPhi*e3t);
+ e2t.rotate(initEulerPhi*e3t);
+ // rotation by theta around new x axis
+ e2t.rotate(m_initEulerTheta*e1t);
+ e3t.rotate(m_initEulerTheta*e1t);
+ // rotation by psi around new z axis
+ e1t.rotate(initEulerPsi*e3t);
+ e2t.rotate(initEulerPsi*e3t);
+ // set first vector in deque
+ e1.clear(); e1.push_front(e1t);
+ e2.clear(); e2.push_front(e2t);
+ e3.clear(); e3.push_front(e3t);
+
+ // calc L in body frame: 1. determine z-axis of fixed frame in body
+ // coordinates, undo the transformations for unit z vector of the body frame
+
+ // calc omega_body from ...
+ vec3<double> e1_body(1,0,0), e3_body(0,0,1);
+ // rotation by -psi along z axis
+ e1_body.rotate(-initEulerPsi*e3_body);
+ // rotation by -theta along new x axis
+ e3_body.rotate(-m_initEulerTheta*e1_body);
+ // omega_body = L_body * J_body^(-1)
+ vec3<double> omega_body = e3_body * m_Lz;
+ omega_body /= J;
+
+ // assemble initial y for solver
+ std::valarray<double> y(12);
+ y[std::slice(0,3,1)] = omega_body;
+ // 3 basis vectors of body system in fixed coordinates
+ y[std::slice(3,3,1)] = e1t;
+ y[std::slice(6,3,1)] = e2t;
+ y[std::slice(9,3,1)] = e3t;
+
+ // initial rotation vector
+ omega
+ = omega_body[0]*e1t
+ + omega_body[1]*e2t
+ + omega_body[2]*e3t;
+
+ if (solver!=0) delete solver;
+ // init solver
+ solver = new EulerOdeSolver(
+ 0.0, // t
+ 0.01, // first dt step size estimation
+ J[0], J[1], J[2], // A,B,C
+ y, // omega_body,e1,e2,e3
+ 1e-5); // eps
+}
+
+void KRotationSaver::readSettings()
+{
+ // read configuration settings from config file
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+
+ // internal saver parameters are set to stored values or left at their
+ // default values if stored values are out of range
+ setTraceFlag(0, config->readBoolEntry("x trace", traceFlagDefault[0]));
+ setTraceFlag(1, config->readBoolEntry("y trace", traceFlagDefault[1]));
+ setTraceFlag(2, config->readBoolEntry("z trace", traceFlagDefault[2]));
+ setRandomTraces(config->readBoolEntry("random traces", randomTracesDefault));
+ setTraceLengthSeconds(
+ config->readDoubleNumEntry("length", traceLengthSecondsDefault));
+ setLz(
+ config->readDoubleNumEntry("Lz", LzDefault));
+ setInitEulerTheta(
+ config->readDoubleNumEntry("theta", initEulerThetaDefault));
+}
+
+void KRotationSaver::setTraceLengthSeconds(const double& t)
+{
+ if (t >= traceLengthSecondsLimitLower
+ && t <= traceLengthSecondsLimitUpper)
+ {
+ m_traceLengthSeconds = t;
+ }
+}
+
+const double KRotationSaver::traceLengthSecondsLimitLower = 0.0;
+const double KRotationSaver::traceLengthSecondsLimitUpper = 99.0;
+const double KRotationSaver::traceLengthSecondsDefault = 3.0;
+
+const bool KRotationSaver::traceFlagDefault[3] = {false, false, true};
+
+void KRotationSaver::setLz(const double& Lz)
+{
+ if (Lz >= LzLimitLower && Lz <= LzLimitUpper)
+ {
+ m_Lz = Lz;
+ }
+}
+
+const double KRotationSaver::LzLimitLower = 0.0;
+const double KRotationSaver::LzLimitUpper = 500.0;
+const double KRotationSaver::LzDefault = 10.0;
+
+void KRotationSaver::setInitEulerTheta(const double& theta)
+{
+ if (theta >= initEulerThetaLimitLower
+ && theta <= initEulerThetaLimitUpper)
+ {
+ m_initEulerTheta = theta;
+ }
+}
+
+const double KRotationSaver::initEulerThetaLimitLower = 0.0;
+const double KRotationSaver::initEulerThetaLimitUpper = 180.0;
+const double KRotationSaver::initEulerThetaDefault = 0.03;
+
+// public slots
+
+void KRotationSaver::doTimeStep()
+{
+ // integrate a step ahead
+ solver->integrate(0.001*deltaT);
+
+ // read new y
+ std::valarray<double> y = solver->Y();
+
+ std::deque<vec3<double> >::size_type
+ max_vec_length =
+ static_cast<std::deque<vec3<double> >::size_type>
+ ( m_traceLengthSeconds/(0.001*deltaT) );
+
+ for (int j=0; j<3; ++j)
+ {
+ std::deque<vec3<double> >& e =
+ j==0 ? e1 :
+ j==1 ? e2 : e3;
+
+ // read out new body coordinate system
+ if (m_traceFlag[j] == true
+ && max_vec_length > 0)
+ {
+ e.push_front(y[std::slice(3*j+3, 3, 1)]);
+ while (e.size() > max_vec_length)
+ {
+ e.pop_back();
+ }
+ }
+ else
+ {
+ // only set the 1. element
+ e.front() = y[std::slice(3*j+3, 3, 1)];
+ // and delete all other emements
+ if (e.size() > 1)
+ e.resize(1);
+ }
+ }
+
+ // current rotation vector omega
+ omega = y[0]*e1.front() + y[1]*e2.front() + y[2]*e3.front();
+
+ // set new random traces every 10 seconds
+ if (m_randomTraces==true)
+ {
+ static unsigned int counter=0;
+ ++counter;
+ if (counter > unsigned(10.0/(0.001*deltaT)))
+ {
+ counter=0;
+ for (int i=0; i<3; ++i)
+ m_traceFlag[i] = rand()%2==1 ? true : false;
+ }
+ }
+
+ glArea->updateGL();
+ timer->start(deltaT, TRUE); // restart timer
+}
+
+// public slot of KRotationSaver, forward resize event to public slot of glArea
+// to allow the resizing of the gl area withing the setup dialog
+void KRotationSaver::resizeGlArea(QResizeEvent* e)
+{
+ glArea->resize(e->size());
+}
+
+//-----------------------------------------------------------------------------
+// KRotationSetup: dialog to setup screen saver parameters
+//-----------------------------------------------------------------------------
+
+KRotationSetup::KRotationSetup(QWidget* parent, const char* name)
+ : KRotationSetupUi(parent, name),
+ // create ssaver and give it the WinID of the preview area
+ saver(new KRotationSaver(preview->winId()))
+{
+ // the dialog should block, no other control center input should be possible
+ // until the dialog is closed
+ setModal(TRUE);
+
+ lengthEdit->setValidator(
+ new QDoubleValidator(
+ KRotationSaver::traceLengthSecondsLimitLower,
+ KRotationSaver::traceLengthSecondsLimitUpper,
+ 3, lengthEdit));
+ LzEdit->setValidator(
+ new QDoubleValidator(
+ KRotationSaver::LzLimitLower,
+ KRotationSaver::LzLimitUpper,
+ 3, LzEdit));
+ thetaEdit->setValidator(
+ new QDoubleValidator(
+ KRotationSaver::initEulerThetaLimitLower,
+ KRotationSaver::initEulerThetaLimitUpper,
+ 3, thetaEdit));
+
+ // set tool tips of editable fields
+ QToolTip::add(
+ lengthEdit,
+ i18n("Length of traces in seconds of visibility.\nValid values from %1 to %2.")
+ .arg(KRotationSaver::traceLengthSecondsLimitLower, 0, 'f', 2)
+ .arg(KRotationSaver::traceLengthSecondsLimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ LzEdit,
+ i18n("Angular momentum in z direction in arbitrary units.\nValid values from %1 to %2.")
+ .arg(KRotationSaver::LzLimitLower, 0, 'f', 2)
+ .arg(KRotationSaver::LzLimitUpper, 0, 'f', 2));
+ QToolTip::add(
+ thetaEdit,
+ i18n("Gravitational constant in arbitrary units.\nValid values from %1 to %2.")
+ .arg(KRotationSaver::initEulerThetaLimitLower, 0, 'f', 2)
+ .arg(KRotationSaver::initEulerThetaLimitUpper, 0, 'f', 2));
+
+ // init preview area
+ preview->setBackgroundColor(black);
+ preview->show(); // otherwise saver does not get correct size
+
+ // read settings from saver and update GUI elements with these values, saver
+ // has read settings in its constructor
+
+ // set editable fields with stored values as defaults
+ xTrace->setChecked(saver->traceFlag(0));
+ yTrace->setChecked(saver->traceFlag(1));
+ zTrace->setChecked(saver->traceFlag(2));
+ randTraces->setChecked(saver->randomTraces());
+ QString text;
+ text.setNum(saver->traceLengthSeconds());
+ lengthEdit->validateAndSet(text,0,0,0);
+ text.setNum(saver->Lz());
+ LzEdit->validateAndSet(text,0,0,0);
+ text.setNum(saver->initEulerTheta());
+ thetaEdit->validateAndSet(text,0,0,0);
+
+ // if the preview area is resized it emmits the resized() event which is
+ // caught by the saver. The embedded GlArea is resized to fit into the
+ // preview area.
+ connect(preview, SIGNAL(resized(QResizeEvent*)),
+ saver, SLOT(resizeGlArea(QResizeEvent*)));
+}
+
+KRotationSetup::~KRotationSetup()
+{
+ delete saver;
+}
+
+// Ok pressed - save settings and exit
+void KRotationSetup::okButtonClickedSlot(void)
+{
+ KConfig* config = KGlobal::config();
+ config->setGroup("Settings");
+ config->writeEntry("x trace", saver->traceFlag(0));
+ config->writeEntry("y trace", saver->traceFlag(1));
+ config->writeEntry("z trace", saver->traceFlag(2));
+ config->writeEntry("random traces", saver->randomTraces());
+ config->writeEntry("length", saver->traceLengthSeconds());
+ config->writeEntry("Lz", saver->Lz());
+ config->writeEntry("theta", saver->initEulerTheta());
+ config->sync();
+ accept();
+}
+
+void KRotationSetup::aboutButtonClickedSlot(void)
+{
+ KMessageBox::about(this, i18n("\
+<h3>KRotation Screen Saver for KDE</h3>\
+<p>Simulation of a force free rotating asymmetric body</p>\
+<p>Copyright (c) Georg&nbsp;Drenkhahn 2004</p>\
+<p><tt>georg-d@users.sourceforge.net</tt></p>"));
+}
+
+void KRotationSetup::xTraceToggled(bool state)
+{
+ saver->setTraceFlag(0, state);
+}
+void KRotationSetup::yTraceToggled(bool state)
+{
+ saver->setTraceFlag(1, state);
+}
+void KRotationSetup::zTraceToggled(bool state)
+{
+ saver->setTraceFlag(2, state);
+}
+void KRotationSetup::randomTracesToggled(bool state)
+{
+ saver->setRandomTraces(state);
+ if (state==false)
+ {
+ // restore settings from gui if random traces are turned off
+ saver->setTraceFlag(0, xTrace->isChecked());
+ saver->setTraceFlag(1, yTrace->isChecked());
+ saver->setTraceFlag(2, zTrace->isChecked());
+ }
+}
+void KRotationSetup::lengthEnteredSlot(const QString& s)
+{
+ saver->setTraceLengthSeconds(s.toDouble());
+}
+void KRotationSetup::LzEnteredSlot(const QString& s)
+{
+ saver->setLz(s.toDouble());
+ if (saver!=0) saver->initData();
+}
+void KRotationSetup::thetaEnteredSlot(const QString& s)
+{
+ saver->setInitEulerTheta(s.toDouble());
+ if (saver!=0) saver->initData();
+}
diff --git a/kscreensaver/kdesavers/rotation.h b/kscreensaver/kdesavers/rotation.h
new file mode 100644
index 00000000..a1a73867
--- /dev/null
+++ b/kscreensaver/kdesavers/rotation.h
@@ -0,0 +1,325 @@
+//============================================================================
+//
+// KRotation screen saver for KDE
+// Copyright (C) 2004 Georg Drenkhahn
+// $Id$
+//
+//============================================================================
+
+#ifndef __ROTATION_H__
+#define __ROTATION_H__
+
+#include <math.h>
+// STL headers
+#include <valarray>
+// Qt headers
+#include <qwidget.h>
+#include <qtimer.h>
+#include <qgl.h>
+// GL headers
+#include <GL/glu.h>
+#include <GL/gl.h>
+// KDE headers
+#include <kscreensaver.h>
+
+#include "vec3.h"
+#include "rkodesolver.h"
+
+// KRotationSetupUi
+#include "rotationcfg.h"
+
+//--------------------------------------------------------------------
+
+/** @brief ODE solver for the Euler equations.
+ *
+ * Class implements RkOdeSolver<double> to solve the Euler equations of motion
+ * tor the rotating object. */
+class EulerOdeSolver : public RkOdeSolver<double>
+{
+ public:
+ /** @brief Constructor for the ODE solver for the Euler equations.
+ * @param t Time in seconds, integration variable
+ * @param dt Initial time increment in seconds for integration, auto adjusted
+ * later to guarantee precision
+ * @param _A Moment of inertia along 1. figure axis
+ * @param _B Moment of inertia along 2. figure axis
+ * @param _C Moment of inertia along 3. figure axis
+ * @param _y Vector of 12 elements containing the initial rotation vector
+ * omega (elements 0 to 2), and the initial rotating systems coordinate
+ * vectors e1, e2, e3 (elements 3 to 5, 6 to 8, and 9 to 11).
+ * @param eps Relative precision per integration step, see
+ * RkOdeSolver::RkOdeSolver(). */
+ EulerOdeSolver(
+ const double &t_,
+ const double &dt_,
+ const double &A_,
+ const double &B_,
+ const double &C_,
+ std::valarray<double> &y_,
+ const double &eps);
+
+ protected:
+ /** @brief ODE function for the Euler equation system
+ * @param x time in seconds
+ * @param y Vector of 12 elements containing the rotation vector omega
+ * (elements 0 to 2), and the rotating systems coordinate vectors e1, e2, e3
+ * (elements 3 to 5, 6 to 8, and 9 to 11).
+ * @return derivation dy/dx */
+ std::valarray<double>
+ f(const double &x, const std::valarray<double> &y) const;
+
+ private:
+ /** Moments of inertia along the three figure axes */
+ double A, B, C;
+};
+
+
+//--------------------------------------------------------------------
+
+/** @brief GL widget class for the KRotation screen saver
+ *
+ * Class implements QGLWidget to display the KRotation screen saver. */
+class RotationGLWidget : public QGLWidget
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor of KRotation's GL widget
+ * @param parent parent widget, passed to QGLWidget's constructor
+ * @param name name of widget, passed to QGLWidget's constructor
+ * @param omega current rotation vector
+ * @param e1 x trace data
+ * @param e2 y trace data
+ * @param e3 z trace data
+ * @param J 3 vector with momenta of inertia with respect to the 3 figure
+ * axes. */
+ RotationGLWidget(QWidget* parent, const char* name,
+ const vec3<double>& omega,
+ const std::deque<vec3<double> >& e1,
+ const std::deque<vec3<double> >& e2,
+ const std::deque<vec3<double> >& e3,
+ const vec3<double>& J);
+
+ protected:
+ /** Called if scenery (GL view) must be updated */
+ virtual void paintGL();
+ /** Called if gl widget was resized. Method makes adjustments for new
+ * perspective */
+ virtual void resizeGL(int w, int h);
+ /** Setup the GL enviroment */
+ virtual void initializeGL();
+
+ private:
+ /** @brief Draw 3D arrow
+ * @param total_length total length of arrow
+ * @param head_length length of arrow head (cone)
+ * @param base_width width of arrow base
+ * @param head_width width of arrow head (cone)
+ *
+ * The arrow is drawn from the coordinates zero point along th z direction.
+ * The cone's tip is located at (0,0,@a total_length). */
+ void myGlArrow(GLfloat total_length, GLfloat head_length,
+ GLfloat base_width, GLfloat head_width);
+ /** Draw the traces in the GL area */
+ void draw_traces (void);
+
+ private: // Private attributes
+ /** Eye position distance from coordinate zero point */
+ GLfloat eyeR;
+ /** Eye position theta angle from z axis */
+ GLfloat eyeTheta;
+ /** Eye position phi angle (longitude) */
+ GLfloat eyePhi;
+ /** Box size */
+ vec3<double> boxSize;
+ /** GL object list of fixed coordinate systems axses */
+ GLuint fixedAxses;
+ /** GL object list of rotating coordinate systems axses */
+ GLuint bodyAxses;
+ /** Light position distance from coordinate zero point */
+ GLfloat lightR;
+ /** Light position theta angle from z axis */
+ GLfloat lightTheta;
+ /** Light position phi angle (longitude) */
+ GLfloat lightPhi;
+
+ /** stores position where the mouse button was pressed down */
+ QPoint mouse_press_pos;
+
+ /** Length of the rotating coordinate system axses */
+ GLfloat bodyAxsesLength;
+ /** Length of the fixed coordinate system axses */
+ GLfloat fixedAxsesLength;
+
+ /** The openGL rotation matrix for the box. */
+ GLfloat rotmat[16];
+
+ /** reference to current rotation vector */
+ const vec3<double>& omega;
+ /** reference to x trace values */
+ const std::deque<vec3<double> >& e1;
+ /** reference to y trace values */
+ const std::deque<vec3<double> >& e2;
+ /** reference to z trace values */
+ const std::deque<vec3<double> >& e3;
+};
+
+//--------------------------------------------------------------------
+
+/** @brief Main class of the KRotation screen saver
+ *
+ * This class implements KScreenSaver for the KRotation screen saver. */
+class KRotationSaver : public KScreenSaver
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor of the KRotation screen saver object
+ * @param drawable Id of the window in which the screen saver is drawed
+ *
+ * Initial settings are read from disk, the GL widget is set up and displayed
+ * and the eq. of motion solver is started. */
+ KRotationSaver(WId drawable);
+ /** @brief Destructor of the KPendulum screen saver object
+ *
+ * Only KPendulumSaver::solver is destoyed. */
+ ~KRotationSaver();
+ /** read the saved settings from disk */
+ void readSettings();
+ /** init physical quantities and set up the ode solver */
+ void initData();
+
+ /** Returns length of traces in seconds of visibility, parameter from setup
+ * dialog */
+ inline double traceLengthSeconds(void) const {return m_traceLengthSeconds;}
+ /** Sets the length of traces in seconds of visibility. */
+ void setTraceLengthSeconds(const double& t);
+ /** Lower argument limit for setTraceLengthSeconds() */
+ static const double traceLengthSecondsLimitLower;
+ /** Upper argument limit for setTraceLengthSeconds() */
+ static const double traceLengthSecondsLimitUpper;
+ /** Default value of KRotationSaver::m_traceLengthSeconds */
+ static const double traceLengthSecondsDefault;
+
+ /** Flags indicating if the traces for x,y,z are shown. Only relevant if
+ * ::randomTraces is not set to true. Parameter from setup dialog */
+ inline bool traceFlag(unsigned int n) const {return m_traceFlag[n];}
+ /** (Un)Sets the x,y,z traces flags. */
+ inline void setTraceFlag(unsigned int n, const bool& flag)
+ {m_traceFlag[n] = flag;}
+ /** Default values for KRotationSaver::m_traceFlag */
+ static const bool traceFlagDefault[3];
+
+ /** If flag is set to true the traces will be (de)activated randomly all 10
+ * seconds. Parameter from setup dialog */
+ inline bool randomTraces(void) const {return m_randomTraces;}
+ /** (Un)Sets the random trace flag. */
+ inline void setRandomTraces(const bool& flag) {m_randomTraces = flag;}
+ /** Default value for KRotationSaver::m_randomTraces */
+ static const bool randomTracesDefault = true;
+
+ /** Returns the angular momentum. */
+ inline double Lz(void) const {return m_Lz;}
+ /** Sets the angular momentum. */
+ void setLz(const double& Lz);
+ /** Lower argument limit for setLz() */
+ static const double LzLimitLower;
+ /** Upper argument limit for setLz() */
+ static const double LzLimitUpper;
+ /** Default value for KRotationSaver::m_Lz */
+ static const double LzDefault;
+
+ /** Returns initial eulerian angle theta of the top body at t=0 sec. */
+ inline double initEulerTheta(void) const {return m_initEulerTheta;}
+ /** Set the initial eulerian angle theta of the top body at t=0 sec. */
+ void setInitEulerTheta(const double& theta);
+ /** Lower argument limit for setInitEulerTheta() */
+ static const double initEulerThetaLimitLower;
+ /** Upper argument limit for setInitEulerTheta() */
+ static const double initEulerThetaLimitUpper;
+ /** Default value for KRotationSaver::m_initEulerTheta */
+ static const double initEulerThetaDefault;
+
+ public slots:
+ /** slot is called if integration should proceed by ::deltaT */
+ void doTimeStep();
+ /** slot is called if setup dialog changes in size and the GL area should be
+ * adjusted */
+ void resizeGlArea(QResizeEvent* e);
+
+ private:
+ /** Momentum of inertia along figure axes */
+ vec3<double> J;
+ /** Initial eulerian angles phi of the top body at t=0s */
+ double initEulerPhi;
+ /** Initial eulerian angles psi of the top body at t=0s */
+ double initEulerPsi;
+
+ /** The ode solver which is used to integrate the equations of motion */
+ EulerOdeSolver* solver;
+ /** Gl widget of simulation */
+ RotationGLWidget* glArea;
+ /** Timer for the real time integration of the Euler equations */
+ QTimer* timer;
+
+ /** current rotation vector */
+ vec3<double> omega;
+ /** deque of unit vectors of e1 figure axes in fixed frame coordinates */
+ std::deque<vec3<double> > e1;
+ /** deque of unit vectors of e2 figure axes in fixed frame coordinates */
+ std::deque<vec3<double> > e2;
+ /** deque of unit vectors of e3 figure axes in fixed frame coordinates */
+ std::deque<vec3<double> > e3;
+
+ /** Time step size for the integration in milliseconds. Used in
+ * ::KRotationSaver and ::RotationGLWidget. */
+ static const unsigned int deltaT = 20;
+
+ /** Length of traces in seconds of visibility, parameter from setup dialog */
+ double m_traceLengthSeconds;
+ /** Flags indicating if the traces for x,y,z are shown. Only relevant if
+ * ::randomTraces is not set to true. Parameter from setup dialog */
+ bool m_traceFlag[3];
+ /** If flag is set to true the traces will be (de)activated randomly all 10
+ * seconds. Parameter from setup dialog */
+ bool m_randomTraces;
+ /** Angular momentum. This is a constant of motion and points always into
+ * positive z direction. Parameter from setup dialog */
+ double m_Lz;
+ /** Initial eulerian angles theta of the top body at t=0 sec. Parameter from
+ * setup dialog */
+ double m_initEulerTheta;
+};
+
+//--------------------------------------------------------------------
+
+/** @brief KRotation screen saver setup dialog.
+ *
+ * This class handles the KRotation screen saver setup dialog. */
+class KRotationSetup : public KRotationSetupUi
+{
+ Q_OBJECT
+
+ public:
+ KRotationSetup(QWidget* parent = NULL, const char* name = NULL);
+ ~KRotationSetup();
+
+ public slots:
+ /// slot for the OK Button: save settings and exit
+ void okButtonClickedSlot(void);
+ /// slot for the About Button: show the About dialog
+ void aboutButtonClickedSlot(void);
+ void randomTracesToggled(bool state);
+ void xTraceToggled(bool state);
+ void yTraceToggled(bool state);
+ void zTraceToggled(bool state);
+ void lengthEnteredSlot(const QString& s);
+ void LzEnteredSlot(const QString& s);
+ void thetaEnteredSlot(const QString& s);
+
+ private:
+ /// the screen saver widget which is displayed in the preview area
+ KRotationSaver* saver;
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/rotationcfg.ui b/kscreensaver/kdesavers/rotationcfg.ui
new file mode 100644
index 00000000..d7e95d3b
--- /dev/null
+++ b/kscreensaver/kdesavers/rotationcfg.ui
@@ -0,0 +1,488 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>KRotationSetupUi</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>KRotationSetupUi</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>401</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1200</width>
+ <height>900</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>400</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>KRotation Setup</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="resizeMode">
+ <enum>Minimum</enum>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout17</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>buttonGroup1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Traces</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout5</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>xTrace</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>x</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>randTraces</cstring>
+ </property>
+ <property name="text">
+ <string>Random</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>yTrace</cstring>
+ </property>
+ <property name="text">
+ <string>y</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>zTrace</cstring>
+ </property>
+ <property name="text">
+ <string>z</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Length:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>lengthEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Helvetica</family>
+ <pointsize>11</pointsize>
+ </font>
+ </property>
+ <property name="maxLength">
+ <number>2</number>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout10</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit" row="0" column="1">
+ <property name="name">
+ <cstring>LzEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Theta:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Lz:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>thetaEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>51</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="SsPreviewArea">
+ <property name="name">
+ <cstring>preview</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>150</height>
+ </size>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout9</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>51</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>OkButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>CancelButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>AboutButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;About</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>61</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<customwidgets>
+ <customwidget>
+ <class>SsPreviewArea</class>
+ <header location="global">sspreviewarea.h</header>
+ <sizehint>
+ <width>-1</width>
+ <height>1</height>
+ </sizehint>
+ <container>0</container>
+ <sizepolicy>
+ <hordata>5</hordata>
+ <verdata>5</verdata>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ <pixmap>image0</pixmap>
+ </customwidget>
+</customwidgets>
+<images>
+ <image name="image0">
+ <data format="XPM.GZ" length="4462">789c9d97c76e24490e86effd1442f3d65870d2451a0ce6206f5adeb4cc620f8c34f2553225b5a4c1befb46927fe6a1d4c0ccac4287fa8a0c26834193f5dbb785b3fd9d856fbf7d799ec9ecba5ea8afe469e15bf3727ffffeeffffcf1e797af49b2d0ffc7d142f2f55f5fbe1ecc16ea85dde9a4ed81290045faa77ca49cf4ab67ba1e3953969173651ab9d4fdf1c8a27c3872ad7c3c72d3b32c2a67c3f3444636fbef23eb7e590267e68fcc4656395d8dacf6d938ef97eaef289781cddebdb2846fccff44b989ba58e3411f3dc75158e6df1d3889539517ca49bf54fe43398d1dec4f46567f685fd9c539f43fc025f80c1c3ce8d93f28e77185f8bf0c6cfae4c0b5f9c3c6e5c0542a4b5876fe13708df39d2bd7716372aa8c93c4e4723bb2f977aadc26ceec4bdb7310e6b0bfab9c2445ecd49f1370694cebca65d260ffa6711a41aef14d24e94cee6be3348e0ae5e9c8765f07ca3e8db17f0f9c825794eb3489351fe9bb7217e4969f29388bd51ee9fda5715a19730696b852fea95c6471647ca95cf64bcf43e0cef4657b647bfe6acf213d6bb32f9a9f5992b5a64f9a8f990b6cf9ecc15d6cf9acf6b2da55a8a75cb973dee4b2d1b38b5c05de02434e87e01aacfb351df5bebddea74b5c67f9c795711ea15e357e2ecde358fb87efc0a867df8cac728a074e62e527706afb59f3cf6583be5c28bb3c35f693812d1fbdc6dbe57966fec932d899ffa4f7e38adca17e34beaeca4b9c271a18f1d5fc739257b0d70d9c68be7bed7fcee7827ab91cd8e4740cf6b19d4ffb87ab07b9bf516e72d4a3ac821b9cef6e60d84f47367ded2fae1d9f7704f6163f79000ffde27660f387ed3c5dbf54dfeebb0bf6acbe6b706bfa5ef32f8f8b18f5bf0f463f20edb77956a4e68fbc80b3c4facd163847be6bfde72ec86dbeac82715fbc0286be683cf3bc081d44f7df80d344fb0b6b7de64581fb916765297263d6fccd9b7ee97e566e8b06cfdb1f59cf2bda2f8bbc2c11df0c5c41aefdb328ca22b1feb0012eedbce24736f91b18fb796d64eb87cb60817dcdafb07d906bfd14d22f659d8785ef97b2f6d7b2df6ef1d6fb2babaac6f92e8c25b27ecc1f239b7f3a5fca5a8678ea7c2d9bc0e6ef1238b3fca2c7814d5f4cbf9334b5f833384bed3c7a5f5514f4adbe2ec07962e7590457f06f6f649b977afe2a16f42f5e070bfc591e18f7a5f1a812a9e0df39d827da4fbd8c6ccfd7785569bf945f953371a9d5a3de67950bfa2d75c63eb2fb15bdcfaaf011e6c7263846bf8f4636f91618f3c7d3c0f047fb69550efab2074e12bd6fd27957553ec33c5b043bcc7f9d0795f818fdb501a3df8ae673e507ff69021eea37063bc45ffb73550736ff36c0a84f3e0317a86f8b5f139e6ffe1f821de6d9127898ff3be00a7c3ab2cd03e3d697560ff40016e47b3bb2e96bbd559d8f32bbff4b7065f193042c98873acf240af6adbf3c83c5f2954bb0c7bcd77c107d81d2fdebc63e33ff640aaecc9e1c8151df5c803dfaadc64b52dfa03ed64636ffb4ff4b2867f453ede7227586fcd3f9264ded91fffafe236d5da37fe83c91ceb7b9e5b7f6731ff92ed7f747d6fbf7e185cf58347e3e6932e47b3430fa893edf87d795c2fc3f003b67f5f902cec17abfde0dfa3c053b3c5ffb832fc2eb8fddcf233887fc195c801f46b6f3cdc02558fba72f7d2d1a7f7e321ee58fe0cad86bbff24dd3e2fe74fef836b0c6eb60d62fa6bf5e07b3419f853dd7dc70fb8bd5f1255fd90ed30f9f3c5ff30ddff21ddff384a7fcc08ffcc4cf61cdf8855ff9e79c7e1db4dff89d3f7891977899577895d7789d377893b7f83b6fcfe937bc13b477798ff7f9800ff928ac633ee11f7cca6761d7f99c7e1b3cb908da11c7413be1943376e153cc39175c72f549ff9e17c31744429e6a6aa8a58e2ee98aaee9866e7f617fc24b7417a4f734a1293dd0233dd133cd8285177aa5f9f3b63ca5377aa78f607b919668995682e62aadd17ab0b1419b9ff41f682b48bed336edd02eed05ed7d5ea3033a0cdf1ed1f127fd273ae123fa41a774a6b685cee982228a837e42e927fd47caf8985c38651eb40b2ac38e4a5842658a97fab33fd248cb87d2c9a55cc9b5dcc82d1fc99ddccb44a6f230af2f8ff224cf417f262ff22a3fe54ddee543166549966545567f617f4dd66523dc6b2c9bb225df655b7682f692ecca9eeccfe97772c09b722847722c27c1f3eb70f66bf9116c9fca999ccbc59cfe25bf4a143a5ef8992561324a78bd92522acf9ebc78efe7cf7b153276db37bef59dbff457fedadff85b7f27abfede4ffcd4cf9ff76faeff4fffefeff8c7f5fedfdfbffc0fa355c495</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>OkButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>okButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>CancelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>close()</slot>
+ </connection>
+ <connection>
+ <sender>AboutButton</sender>
+ <signal>clicked()</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>aboutButtonClickedSlot()</slot>
+ </connection>
+ <connection>
+ <sender>randTraces</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>xTrace</receiver>
+ <slot>setDisabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>xTrace</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>xTraceToggled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>randTraces</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>yTrace</receiver>
+ <slot>setDisabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>randTraces</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>zTrace</receiver>
+ <slot>setDisabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>randTraces</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>randomTracesToggled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>yTrace</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>yTraceToggled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>zTrace</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>zTraceToggled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>lengthEdit</sender>
+ <signal>textChanged(const QString&amp;)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>lengthEnteredSlot(const QString&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>LzEdit</sender>
+ <signal>textChanged(const QString&amp;)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>LzEnteredSlot(const QString&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>thetaEdit</sender>
+ <signal>textChanged(const QString&amp;)</signal>
+ <receiver>KRotationSetupUi</receiver>
+ <slot>thetaEnteredSlot(const QString&amp;)</slot>
+ </connection>
+</connections>
+<slots>
+ <slot>okButtonClickedSlot()</slot>
+ <slot>aboutButtonClickedSlot()</slot>
+ <slot>randomTracesToggled(bool)</slot>
+ <slot>xTraceToggled(bool)</slot>
+ <slot>yTraceToggled(bool)</slot>
+ <slot>zTraceToggled(bool)</slot>
+ <slot>lengthEnteredSlot(const QString&amp;)</slot>
+ <slot>LzEnteredSlot(const QString&amp;)</slot>
+ <slot>thetaEnteredSlot(const QString&amp;)</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>sspreviewarea.h</includehint>
+</includehints>
+</UI>
diff --git a/kscreensaver/kdesavers/science.cpp b/kscreensaver/kdesavers/science.cpp
new file mode 100644
index 00000000..185f3b55
--- /dev/null
+++ b/kscreensaver/kdesavers/science.cpp
@@ -0,0 +1,1151 @@
+//-----------------------------------------------------------------------------
+//
+// kscience - screen saver for KDE
+//
+// Copyright (c) Rene Beutler 1998
+//
+
+#include <config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <sys/types.h>
+#include <time.h>
+
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qlabel.h>
+#include <qlistbox.h>
+#include <qcheckbox.h>
+#include <qslider.h>
+#include <qlayout.h>
+
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kmessagebox.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <krandomsequence.h>
+
+#include "science.h"
+#include "science.moc"
+
+#if defined Q_WS_X11 && !defined K_WS_QTONLY
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#endif
+
+#define SCI_DEFAULT_MODE 0
+#define SCI_DEFAULT_MOVEX 6
+#define SCI_DEFAULT_MOVEY 8
+#define SCI_DEFAULT_SIZE 15
+#define SCI_DEFAULT_INTENSITY 4
+#define SCI_DEFAULT_SPEED 70
+#define SCI_DEFAULT_INVERSE false
+#define SCI_DEFAULT_GRAVITY false
+#define SCI_DEFAULT_HIDE false
+#define SCI_MAX_SPEED 100
+#define SCI_MAX_MOVE 20
+
+#undef Below
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kscience.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Science Screen Saver" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KScienceSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KScienceSetup();
+ }
+}
+
+static struct {
+ QString name;
+ bool inverseEnable;
+ } modeInfo[MAX_MODES];
+
+enum { MODE_WHIRL=0, MODE_CURVATURE, MODE_SPHERE, MODE_WAVE, MODE_EXPONENTIAL, MODE_CONTRACTION };
+
+void initModeInfo()
+{
+ modeInfo[MODE_WHIRL].name = i18n( "Whirl" );
+ modeInfo[MODE_WHIRL].inverseEnable = true;
+
+ modeInfo[MODE_SPHERE].name = i18n( "Sphere" );
+ modeInfo[MODE_SPHERE].inverseEnable = true;
+
+ modeInfo[MODE_EXPONENTIAL].name = i18n( "Exponential" );
+ modeInfo[MODE_EXPONENTIAL].inverseEnable = false;
+
+ modeInfo[MODE_CONTRACTION].name = i18n( "Contraction" );
+ modeInfo[MODE_CONTRACTION].inverseEnable = false;
+
+ modeInfo[MODE_WAVE].name = i18n( "Wave" );
+ modeInfo[MODE_WAVE].inverseEnable = false;
+
+ modeInfo[MODE_CURVATURE].name = i18n( "Curvature" );
+ modeInfo[MODE_CURVATURE].inverseEnable = true;
+}
+
+//-----------------------------------------------------------------------------
+// KPreviewWidget
+//
+
+KPreviewWidget::KPreviewWidget( QWidget *parent ) :
+ QWidget ( parent ) { }
+
+void KPreviewWidget::paintEvent( QPaintEvent *event )
+{
+ if( saver != 0 )
+ saver->do_refresh( event->rect() );
+}
+
+void KPreviewWidget::notifySaver( KScienceSaver *s )
+{
+ saver = s;
+}
+
+//-----------------------------------------------------------------------------
+// Screen Saver
+//
+
+struct KScienceData
+{
+ T32bit **offset;
+ XImage *buffer;
+ XImage *xRootWin;
+ GC gc;
+};
+
+KScienceSaver::KScienceSaver( WId id, bool s, bool gP )
+ : KScreenSaver( id )
+{
+ d = new KScienceData;
+ d->gc = XCreateGC(qt_xdisplay(), id, 0, 0);
+ d->xRootWin = 0;
+ d->buffer = 0;
+
+ moveOn = true;
+ grabPixmap = gP;
+ setup = s;
+
+ vx = vy = 0.0;
+ readSettings();
+
+ if( !grabPixmap )
+ {
+ grabRootWindow();
+ initialize();
+ do_refresh( QRect ( 0, 0, width(), height() ) );
+ }
+
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+ timer.start( SCI_MAX_SPEED - speed[mode] );
+}
+
+KScienceSaver::~KScienceSaver()
+{
+ timer.stop();
+ releaseLens();
+ if ( d->xRootWin )
+ XDestroyImage( d->xRootWin );
+ XFreeGC(qt_xdisplay(), d->gc );
+ delete d;
+}
+
+void KScienceSaver::myAssert( bool term, const char *eMsg )
+{
+ if( !term ) {
+ fprintf(stderr, "Error in KScreensaver - mode Science: %s\n", eMsg);
+ releaseLens();
+ exit(-1);
+ }
+}
+
+void KScienceSaver::initialize()
+{
+ KRandomSequence rnd;
+ initLens();
+ signed int ws = (signed int) (width() - diam);
+ signed int hs = (signed int) (height() - diam);
+
+ x = (ws > 0) ? (rnd.getDouble() * ws ) : 0.0;
+ y = (hs > 0) ? (rnd.getDouble() * hs ) : 0.0;
+
+ xcoord = (int) x;
+ ycoord = (int) y;
+
+ switch( bpp ) {
+ case 1 : applyLens = &KScienceSaver::applyLens8bpp; break;
+ case 2 : applyLens = &KScienceSaver::applyLens16bpp; break;
+ case 3 : applyLens = &KScienceSaver::applyLens24bpp; break;
+ case 4 : applyLens = &KScienceSaver::applyLens32bpp; break;
+ default: myAssert( false, "unsupported colordepth "\
+ "(only 8, 16, 24, 32 bpp supported)" );
+ }
+}
+
+void KScienceSaver::initWhirlLens()
+{
+ double dx, dy, r, phi, intens;
+ T32bit *off;
+ T32bit xo, yo;
+
+ intens = double( intensity[mode] + 1) / 5.0;
+ if( inverse[mode] )
+ intens = -intens;
+
+ for(int y = side-1; y >= 0; y--)
+ {
+ dy = y - origin;
+ off = d->offset[y] = (T32bit *) malloc(sizeof(T32bit) * side);
+ myAssert( off != 0, "too few memory" );
+ for(int x = side-1; x >= 0; x--)
+ {
+ dx = x - origin;
+ r = sqrt( dx*dx + dy*dy );
+
+ if( r < radius )
+ {
+ if ( dx == 0.0 )
+ phi = (dy > 0.0) ? M_PI_2 :-(M_PI_2);
+ else
+ phi = atan2( dy, dx );
+ phi += intens * ( radius - r ) / ( r+7.0 );
+ xo = (T32bit) ( origin + r*cos( phi ) - x );
+ yo = (T32bit) ( origin + r*sin( phi ) - y );
+ off[x] = xo*bpp + yo*imgnext;
+ }
+ else
+ if( hideBG[mode] )
+ off[x] = (border-y)*imgnext + (border-x)*bpp;
+ else
+ off[x] = 0;
+ }
+ }
+}
+
+void KScienceSaver::initSphereLens()
+{
+ double dx, dy, r, xr, yr, phi, intens;
+ T32bit *off;
+ T32bit xo, yo;
+
+ intens = 1.0 - double( intensity[mode] ) / 20.0;
+
+ if( inverse[mode] )
+ intens = -intens;
+
+ for(int y = side-1; y >= 0; y--)
+ {
+ dy = y - origin;
+ off = d->offset[y] = (T32bit *) malloc(sizeof(T32bit) * side);
+ myAssert( off != 0, "too few memory" );
+ for(int x = side-1; x >= 0; x--)
+ {
+ dx = x - origin;
+ r = sqrt( dx*dx + dy*dy );
+
+ if( r < radius )
+ {
+ xr = (double) radius*cos(asin(dy/radius));
+ yr = (double) radius*cos(asin(dx/radius));
+ phi = (xr != 0.0) ? asin(dx/xr) : 0.0;
+ xo = (T32bit) (origin + intens*2.0*phi*xr / M_PI - x);
+ phi = (yr != 0.0) ? asin(dy/yr) : 0.0;
+ yo = (T32bit) (origin + intens*2.0*phi*yr / M_PI - y);
+ off[x] = xo*bpp + yo*imgnext;
+ }
+ else
+ if( hideBG[mode] )
+ off[x] = (border-y)*imgnext + (border-x)*bpp;
+ else
+ off[x] = 0;
+ }
+ }
+}
+
+void KScienceSaver::initExponentialLens()
+{
+ double dx, dy, r, rnew, f, intens;
+ T32bit *off;
+ T32bit xo, yo;
+
+ if( mode == MODE_EXPONENTIAL )
+ intens = - (0.1 + 0.8 * double( intensity[mode] + 2) / 10.0);
+ else
+ intens = 0.9 - 0.8 * double( intensity[mode] ) / 10.0;
+
+ for(int y = side-1; y >= 0; y--)
+ {
+ dy = y - origin;
+ off = d->offset[y] = (T32bit *) malloc(sizeof(T32bit) * side);
+ myAssert( off != 0, "too few memory" );
+ for(int x = side-1; x >= 0; x--)
+ {
+ dx = x - origin;
+ r = sqrt( dx*dx + dy*dy );
+
+ if( r < radius )
+ {
+ if( r == 0.0 )
+ f = 0.0;
+ else
+ {
+ rnew = radius*(pow(r, intens) / pow(radius, intens));
+ f = double ((int)rnew % radius) / r;
+ }
+ xo = (T32bit) ( origin + f*dx - x );
+ yo = (T32bit) ( origin + f*dy - y );
+ off[x] = xo*bpp + yo*imgnext;
+ }
+ else
+ if( hideBG[mode] )
+ off[x] = (border-y)*imgnext + (border-x)*bpp;
+ else
+ off[x] = 0;
+ }
+ }
+}
+
+void KScienceSaver::initCurvatureLens()
+{
+ double dx, dy, r, f, intens;
+ T32bit *off;
+ T32bit xo, yo;
+
+ intens = (double) radius*intensity[mode] / 20.0;
+ if( inverse[mode] ) intens = -intens;
+
+ for(int y = side-1; y >= 0; y--)
+ {
+ dy = y - origin;
+ off = d->offset[y] = (T32bit *) malloc(sizeof(T32bit) * side);
+ myAssert( off != 0, "too few memory" );
+ for(int x = side-1; x >= 0; x--)
+ {
+ dx = x - origin;
+ r = sqrt( dx*dx + dy*dy );
+
+ if( r < radius )
+ {
+ if( r == 0.0 )
+ f = 0.0;
+ else
+ f = (r - intens * sin(M_PI * r/(double)radius)) / r;
+ xo = (T32bit) ( origin + f*dx - x );
+ yo = (T32bit) ( origin + f*dy - y );
+ off[x] = xo*bpp + yo*imgnext;
+ }
+ else
+ if( hideBG[mode] )
+ off[x] = (border-y)*imgnext + (border-x)*bpp;
+ else
+ off[x] = 0;
+ }
+ }
+}
+
+void KScienceSaver::initWaveLens()
+{
+ double dx, dy, r, rnew, f, intens, k;
+ T32bit *off;
+ T32bit xo, yo;
+
+ intens = (double) intensity[mode] + 1.0;
+ k = (intensity[mode] % 2) ? -12.0 : 12.0;
+
+ for(int y = side-1; y >= 0; y--)
+ {
+ dy = y - origin;
+ off = d->offset[y] = (T32bit *) malloc(sizeof(T32bit) * side);
+ myAssert( off != 0, "too few memory" );
+ for(int x = side-1; x >= 0; x--)
+ {
+ dx = x - origin;
+ r = sqrt( dx*dx + dy*dy );
+
+ if( r < radius )
+ {
+ if( r == 0.0 )
+ f = 0.0;
+ else
+ {
+ rnew = r - k * sin( M_PI * intens * r/(double)radius);
+ f = double ((int)rnew % radius) / r;
+ }
+ xo = (T32bit) ( origin + f*dx - x );
+ yo = (T32bit) ( origin + f*dy - y );
+ off[x] = xo*bpp + yo*imgnext;
+ }
+ else
+ if( hideBG[mode] )
+ off[x] = (border-y)*imgnext + (border-x)*bpp;
+ else
+ off[x] = 0;
+ }
+ }
+}
+
+void KScienceSaver::initLens()
+{
+ int min = (width() < height()) ? width() : height();
+ border = 1 + SCI_MAX_MOVE;
+
+ radius = (size[mode] * min) / 100;
+ if( radius<<1 == min ) radius--;
+ diam = radius << 1;
+ myAssert( diam < min, "assertion violated: diam < min" );
+ origin = radius + border;
+ side = origin << 1;
+
+ d->buffer = XSubImage( d->xRootWin, 0, 0, side, side );
+ myAssert( d->buffer != 0, "can't allocate pixmap" );
+
+ d->offset = (T32bit **) malloc( sizeof(T32bit *) * side );
+ myAssert( d->offset != 0, "too few memory" );
+
+ switch( mode ) {
+ case MODE_WHIRL: initWhirlLens(); break;
+ case MODE_SPHERE: initSphereLens(); break;
+ case MODE_EXPONENTIAL:
+ case MODE_CONTRACTION: initExponentialLens(); break;
+ case MODE_CURVATURE: initCurvatureLens(); break;
+ case MODE_WAVE: initWaveLens(); break;
+ default: myAssert( false, "internal error (wrong mode in initLens() )" );
+ }
+}
+
+void KScienceSaver::releaseLens()
+{
+ if( d->offset != 0 ) {
+ for(int i=0; i<side; i++)
+ if( d->offset[i] != 0 ) free( d->offset[i] );
+ free( d->offset );
+ d->offset = 0;
+ }
+ if( d->buffer != 0 ) {
+ XDestroyImage( d->buffer );
+ d->buffer = 0;
+ }
+}
+
+void KScienceSaver::setMode( int m )
+{
+ timer.stop();
+
+ releaseLens();
+ int old = mode;
+ mode = m;
+ vx = copysign( moveX[mode], vx );
+ vy = copysign( moveY[mode], vy );
+ int dm = diam;
+ initLens();
+ if( hideBG[old] ^ hideBG[m] )
+ do_refresh( QRect( 0, 0, width(), height() ) );
+ else
+ if( diam < dm )
+ {
+ do_refresh( QRect( (int) x+diam, (int) y, dm-diam, diam ) );
+ do_refresh( QRect( (int) x, (int) y+diam, dm, dm-diam ) );
+ }
+
+ timer.start( SCI_MAX_SPEED - speed[mode] );
+}
+
+void KScienceSaver::setMoveX( int s )
+{
+ timer.stop();
+
+ moveX[mode] = s;
+ vx = copysign( moveX[mode], vx );
+
+ timer.start( SCI_MAX_SPEED - speed[mode] );
+}
+
+void KScienceSaver::setMoveY( int s )
+{
+ timer.stop();
+
+ moveY[mode] = s;
+ vy = copysign( moveY[mode], vy );
+
+ timer.start( SCI_MAX_SPEED - speed[mode] );
+}
+
+void KScienceSaver::setMove( bool s )
+{
+ moveOn = s;
+}
+
+void KScienceSaver::setSize( int s )
+{
+ timer.stop();
+
+ releaseLens();
+ int dm = diam;
+ size[mode] = s;
+ initLens();
+ if( diam < dm )
+ {
+ do_refresh( QRect( (int) x+diam, (int) y, dm-diam, diam ) );
+ do_refresh( QRect( (int) x, (int) y+diam, dm, dm-diam ) );
+ }
+
+ timer.start( SCI_MAX_SPEED - speed[mode] );
+}
+
+void KScienceSaver::setSpeed( int s )
+{
+ speed[mode] = s;
+
+ timer.changeInterval( SCI_MAX_SPEED - speed[mode] );
+}
+
+void KScienceSaver::setIntensity( int i )
+{
+ timer.stop();
+
+ releaseLens();
+ intensity[mode] = i;
+ initLens();
+
+ timer.start( SCI_MAX_SPEED - speed[mode]);
+}
+
+void KScienceSaver::setInverse( bool b )
+{
+ timer.stop();
+
+ releaseLens();
+ inverse[mode] = b;
+ initLens();
+
+ timer.start( SCI_MAX_SPEED - speed[mode]);
+}
+
+void KScienceSaver::setGravity( bool b )
+{
+ timer.stop();
+
+ releaseLens();
+ gravity[mode] = b;
+ vy = copysign( moveY[mode], vy );
+ initLens();
+
+ timer.start( SCI_MAX_SPEED - speed[mode]);
+}
+
+void KScienceSaver::setHideBG( bool b )
+{
+ timer.stop();
+
+ releaseLens();
+ hideBG[mode] = b;
+ initLens();
+ do_refresh( QRect( 0, 0, width(), height() ) );
+
+ timer.start( SCI_MAX_SPEED - speed[mode]);
+}
+
+void KScienceSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ QString sMode;
+
+ config->setGroup( "Settings" );
+ mode = config->readNumEntry( "ModeNr", SCI_DEFAULT_MODE );
+
+ for(int i=0; i < MAX_MODES; i++)
+ {
+ sMode.setNum( i );
+ config->setGroup( "Mode" + sMode );
+ moveX[i] = config->readNumEntry( "MoveX", SCI_DEFAULT_MOVEX);
+ moveY[i] = config->readNumEntry( "MoveY", SCI_DEFAULT_MOVEY);
+ size[i] = config->readNumEntry( "Size", SCI_DEFAULT_SIZE);
+ speed[i] = config->readNumEntry( "Speed", SCI_DEFAULT_SPEED);
+ intensity[i] = config->readNumEntry( "Intensity", SCI_DEFAULT_INTENSITY);
+ inverse[i] = config->readBoolEntry( "Inverse", SCI_DEFAULT_INVERSE);
+ gravity[i] = config->readBoolEntry( "Gravity", SCI_DEFAULT_GRAVITY);
+ hideBG[i] = config->readBoolEntry( "HideBG", SCI_DEFAULT_HIDE);
+ }
+
+ vx = copysign( moveX[mode], vx );
+ vy = copysign( moveY[mode], vy );
+}
+
+void KScienceSaver::do_refresh( const QRect & rect )
+{
+ if( grabPixmap )
+ return;
+ rect.normalize();
+
+ if( hideBG[mode] )
+ {
+ XSetWindowBackground( qt_xdisplay(), winId(), black.pixel() );
+ XClearArea( qt_xdisplay(), winId(), rect.left(), rect.top(),
+ rect.width(), rect.height(), false );
+ }
+ else
+ {
+ myAssert( d->xRootWin != 0, "root window not grabbed" );
+ XPutImage( qt_xdisplay(), winId(), d->gc, d->xRootWin,
+ rect.left(), rect.top(),
+ rect.left(), rect.top(),
+ rect.width(), rect.height() );
+ }
+}
+
+void KScienceSaver::slotTimeout()
+{
+ if( grabPixmap ) {
+ if( !QWidget::find(winId())->isActiveWindow() )
+ return;
+ grabPreviewWidget();
+ grabPixmap = false;
+ initialize();
+ if( hideBG[mode] )
+ do_refresh( QRect ( 0, 0, width(), height() ) );
+ }
+
+ signed int oldx = xcoord, oldy = ycoord;
+
+ if( gravity[mode] ) {
+ double h = double(y+1.0) / double(height()-diam);
+ if( h > 1.0 ) h = 1.0;
+ vy = sqrt( h ) * ( (vy > 0.0) ? moveY[mode] : -moveY[mode] );
+ }
+ myAssert( abs((int)rint(vy)) <= border, "assertion violated: vy <= border" );
+
+ if( moveOn )
+ {
+ x += vx;
+ y += vy;
+ }
+
+ if( x <= 0.0 ) {
+ vx = -vx;
+ x = 0.0;
+ }
+ if( int(x) + diam >= width()) {
+ vx = -vx;
+ myAssert( width()-diam > 0, "assertion violated: width-diam > 0" );
+ x = (double) (width() - diam - 1);
+ }
+ if( y <= 0.0 ) {
+ vy = -vy;
+ y = 0.0;
+ }
+ if( int(y) + diam >= height() ) {
+ vy = -vy;
+ myAssert( height() - diam > 0, "assertion violated: height-diam > 0" );
+ y = (double) (height() - diam - 1);
+ }
+
+ xcoord = (int) x ;
+ ycoord = (int) y ;
+ signed int dx = (signed int) xcoord - oldx;
+ signed int dy = (signed int) ycoord - oldy;
+ signed int xs, ys, xd, yd, w, h;
+
+ if( dx > 0 ) {
+ w = diam+dx;
+ xd = oldx;
+ xs = border-dx;
+ if( dy > 0 ) {
+ h = diam+dy;
+ yd = oldy;
+ ys = border-dy;
+ }
+ else {
+ h = diam-dy;
+ yd = ycoord;
+ ys = border;
+ }
+ }
+ else {
+ w = diam-dx;
+ xd = xcoord;
+ xs = border;
+ if( dy > 0 ) {
+ h = diam+dy;
+ yd = oldy;
+ ys = border-dy;
+ } else {
+ h = diam-dy;
+ yd = ycoord;
+ ys = border;
+ }
+ }
+
+ if( xd + w >= width() ) w = width() - xd - 1;
+ if( yd + h >= height() ) h = height() - yd - 1;
+
+//printf("%d: (dx: %3d, dy: %3d), diam: %3d, (xc: %3d, yc: %3d), (xs: %3d, ys: %3d), (xd: %3d, yd: %3d), (w: %3d, h: %3d)\n", mode, dx, dy, diam, xcoord, ycoord, xs, ys, xd, yd, w, h);
+ myAssert( dx <= border && dy <=border, "assertion violated: dx or dy <= border");
+ myAssert( xcoord >= 0 && ycoord >= 0, "assertion violated: xcoord, ycoord >= 0 ");
+ myAssert( xd+w < width(), "assertion violated: xd+w < width" );
+ myAssert( yd+h < height(), "assertion violated: yd+h < height" );
+
+ if( hideBG[mode] )
+ blackPixel( xcoord, ycoord );
+ (this->*applyLens)(xs, ys, xd, yd, w, h);
+ XPutImage( qt_xdisplay(), winId(), d->gc, d->buffer, 0, 0, xd, yd, w, h );
+ if( hideBG[mode] )
+ blackPixelUndo( xcoord, ycoord );
+}
+
+void KScienceSaver::grabRootWindow()
+{
+ Display *dsp = qt_xdisplay();
+ Window rootwin = RootWindow( dsp, qt_xscreen() );
+
+ // grab contents of root window
+ if( d->xRootWin )
+ XDestroyImage( d->xRootWin );
+
+ d->xRootWin = XGetImage( dsp, rootwin, 0, 0, width(),
+ height(), AllPlanes, ZPixmap);
+ myAssert( d->xRootWin, "unable to grab root window\n" );
+
+ imgnext = d->xRootWin->bytes_per_line;
+ bpp = ( d->xRootWin->bits_per_pixel ) >> 3;
+}
+
+void KScienceSaver::grabPreviewWidget()
+{
+ myAssert( QWidget::find(winId())->isActiveWindow(), "can't grab preview widget: dialog not active()" );
+
+ if( d->xRootWin )
+ XDestroyImage( d->xRootWin );
+
+ Display *dsp = qt_xdisplay();
+ d->xRootWin = XGetImage( dsp, winId(), 0, 0, width(), height(), AllPlanes, ZPixmap);
+ myAssert( d->xRootWin, "unable to grab preview window\n" );
+
+ imgnext = d->xRootWin->bytes_per_line;
+ bpp = ( d->xRootWin->bits_per_pixel ) >> 3;
+}
+
+void KScienceSaver::blackPixel( int x, int y )
+{
+ unsigned char black = (char) BlackPixel( qt_xdisplay(), qt_xscreen() );
+ unsigned int adr = x*bpp + y*imgnext;
+
+ for(int i=0; i<bpp; i++) {
+ blackRestore[i] = d->xRootWin->data[adr];
+ d->xRootWin->data[adr++] = black;
+ }
+}
+
+void KScienceSaver::blackPixelUndo( int x, int y )
+{
+ unsigned int adr = x*bpp + y*imgnext;
+ for(int i=0; i<bpp; i++)
+ d->xRootWin->data[adr++] = blackRestore[i];
+}
+
+// hm....
+
+void KScienceSaver::applyLens8bpp(int xs, int ys, int xd, int yd, int w, int h)
+{
+ T32bit *off;
+ char *img1, *img2, *data;
+ signed int ix, iy, datanext = d->buffer->bytes_per_line - w;
+
+ img1 = d->xRootWin->data + xd + yd*imgnext;
+ data = d->buffer->data;
+ for(iy = ys; iy < ys+h; iy++)
+ {
+ off = d->offset[iy] + xs;
+ img2 = img1;
+ for(ix = w; ix > 0; ix--)
+ *data++ = img2++[*off++];
+ img1 += imgnext;
+ data += datanext;
+ }
+
+}
+
+void KScienceSaver::applyLens16bpp(int xs, int ys, int xd, int yd, int w, int h)
+{
+ T32bit *off;
+ char *img1, *img2, *data;
+ int ix, iy, datanext = d->buffer->bytes_per_line - (w << 1);
+
+ img1 = d->xRootWin->data + (xd << 1) + yd*imgnext;
+ data = d->buffer->data;
+ for(iy = ys; iy < ys+h; iy++)
+ {
+ off = d->offset[iy] + xs;
+ img2 = img1;
+ for(ix = w; ix > 0; ix--) {
+ *data++ = img2++[*off];
+ *data++ = img2++[*off++];
+ }
+ img1 += imgnext;
+ data += datanext;
+ }
+}
+
+void KScienceSaver::applyLens24bpp(int xs, int ys, int xd, int yd, int w, int h)
+{
+ T32bit *off;
+ char *img1, *img2, *data;
+ signed int ix, iy, datanext = d->buffer->bytes_per_line - 3*w;
+
+ img1 = d->xRootWin->data + 3*xd + yd*imgnext;
+ data = d->buffer->data;
+ for(iy = ys; iy < ys+h; iy++)
+ {
+ off = d->offset[iy] + xs;
+ img2 = img1;
+ for(ix = w; ix > 0; ix--) {
+ *data++ = img2++[*off];
+ *data++ = img2++[*off];
+ *data++ = img2++[*off++];
+ }
+ img1 += imgnext;
+ data += datanext;
+ }
+}
+
+void KScienceSaver::applyLens32bpp(int xs, int ys, int xd, int yd, int w, int h)
+{
+ T32bit *off;
+ char *img1, *img2, *data;
+ signed int ix, iy, datanext = d->buffer->bytes_per_line - (w << 2);
+
+ img1 = d->xRootWin->data + (xd << 2) + yd*imgnext;
+ data = d->buffer->data;
+ for(iy = ys; iy < ys+h; iy++)
+ {
+ off = d->offset[iy] + xs;
+ img2 = img1;
+ for(ix = w; ix > 0; ix--) {
+ *data++ = img2++[*off];
+ *data++ = img2++[*off];
+ *data++ = img2++[*off];
+ *data++ = img2++[*off++];
+ }
+ img1 += imgnext;
+ data += datanext;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+
+KScienceSetup::KScienceSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Science Screen Saver" ),
+ Ok|Cancel|Help, Ok, true ), saver( 0 )
+{
+ readSettings();
+ initModeInfo();
+
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *lt = new QHBoxLayout( main, 0, spacingHint());
+ QVBoxLayout *ltm = new QVBoxLayout;
+ lt->addLayout( ltm );
+ QVBoxLayout *ltc = new QVBoxLayout;
+ lt->addLayout( ltc );
+
+ // mode
+ QLabel *label = new QLabel( i18n("Mode:"), main );
+ ltm->addWidget( label );
+
+ QListBox *c = new QListBox( main );
+ for(int i = 0; i<MAX_MODES; i++)
+ c->insertItem( modeInfo[i].name );
+ c->setCurrentItem( mode );
+ c->setFixedHeight( 5 * c->fontMetrics().height() );
+ connect( c, SIGNAL( highlighted( int ) ), SLOT( slotMode( int ) ) );
+ ltm->addWidget( c );
+
+ // inverse
+ QCheckBox *cbox = checkInverse = new QCheckBox( i18n("Inverse"), main );
+ cbox->setEnabled( modeInfo[mode].inverseEnable );
+ cbox->setChecked( inverse[mode] );
+ connect( cbox, SIGNAL( clicked() ), SLOT( slotInverse() ) );
+ ltm->addWidget( cbox );
+
+ // gravity
+ cbox = checkGravity = new QCheckBox( i18n("Gravity"), main );
+ cbox->setChecked( gravity[mode] );
+ connect( cbox, SIGNAL( clicked() ), SLOT( slotGravity() ) );
+ ltm->addWidget( cbox );
+
+ // hide background
+ cbox = checkHideBG = new QCheckBox( i18n("Hide background"), main );
+ cbox->setChecked( hideBG[mode] );
+ connect( cbox, SIGNAL( clicked() ), SLOT( slotHideBG() ) );
+ ltm->addWidget( cbox );
+ ltm->addStretch();
+
+ // size
+ label = new QLabel( i18n("Size:"), main );
+ ltc->addWidget( label );
+
+ slideSize = new QSlider(9, 50, 5, size[mode], QSlider::Horizontal,
+ main );
+ slideSize->setMinimumSize( 90, 20 );
+ slideSize->setTickmarks(QSlider::Below);
+ slideSize->setTickInterval(5);
+ connect( slideSize, SIGNAL( sliderMoved( int ) ),
+ SLOT( slotSize( int ) ) );
+ connect( slideSize, SIGNAL( sliderPressed() ),
+ SLOT( slotSliderPressed() ) );
+ connect( slideSize, SIGNAL( sliderReleased() ),
+ SLOT( slotSliderReleased() ) );
+
+ ltc->addWidget( slideSize );
+
+ // intensity
+ label = new QLabel( i18n("Intensity:"), main );
+ ltc->addWidget( label );
+
+ slideIntensity = new QSlider(0, 10, 1, intensity[mode],
+ QSlider::Horizontal, main );
+ slideIntensity->setMinimumSize( 90, 20 );
+ slideIntensity->setTickmarks(QSlider::Below);
+ slideIntensity->setTickInterval(1);
+ connect( slideIntensity, SIGNAL( sliderMoved( int ) ),
+ SLOT( slotIntensity( int )) );
+ connect( slideIntensity, SIGNAL( sliderPressed() ),
+ SLOT( slotSliderPressed() ) );
+ connect( slideIntensity, SIGNAL( sliderReleased() ),
+ SLOT( slotSliderReleased() ) );
+ ltc->addWidget( slideIntensity );
+
+ // speed
+ label = new QLabel( i18n("Speed:"), main );
+ ltc->addWidget( label );
+
+ slideSpeed = new QSlider(0, SCI_MAX_SPEED, 10, speed[mode],
+ QSlider::Horizontal, main );
+ slideSpeed->setMinimumSize( 90, 20 );
+ slideSpeed->setTickmarks(QSlider::Below);
+ slideSpeed->setTickInterval(10);
+ connect( slideSpeed, SIGNAL( sliderMoved( int ) ),
+ SLOT( slotSpeed( int ) ) );
+ ltc->addWidget( slideSpeed );
+
+ // motion
+ label = new QLabel( i18n("Motion:"), main );
+ ltc->addWidget( label );
+
+ QHBoxLayout *ltcm = new QHBoxLayout;
+ ltc->addLayout( ltcm );
+
+ slideMoveX = new QSlider(0, SCI_MAX_MOVE, 5, moveX[mode],
+ QSlider::Horizontal, main );
+ slideMoveX->setMinimumSize( 40, 20 );
+ slideMoveX->setTickmarks(QSlider::Below);
+ slideMoveX->setTickInterval(5);
+ connect( slideMoveX, SIGNAL( sliderMoved( int ) ),
+ SLOT( slotMoveX( int ) ) );
+ ltcm->addWidget( slideMoveX );
+
+ slideMoveY = new QSlider(0, SCI_MAX_MOVE, 5, moveY[mode],
+ QSlider::Horizontal, main );
+ slideMoveY->setMinimumSize( 40, 20 );
+ slideMoveY->setTickmarks(QSlider::Below);
+ slideMoveY->setTickInterval(5);
+ connect( slideMoveY, SIGNAL( sliderMoved( int ) ),
+ SLOT( slotMoveY( int ) ) );
+ ltcm->addWidget( slideMoveY );
+
+ ltc->addStretch();
+
+ // preview
+ preview = new KPreviewWidget( main );
+ preview->setFixedSize( 220, 170 );
+ QPixmap p( locate("data", "kscreensaver/pics/kscience.png") );
+ if( p.isNull() )
+ preview->setBackgroundColor( black );
+ else
+ preview->setBackgroundPixmap( p );
+ preview->show(); // otherwise saver does not get correct size
+ lt->addWidget( preview );
+
+ // let the preview window display before creating the saver
+ kapp->processEvents();
+
+ saver = new KScienceSaver( preview->winId(), true, !p.isNull() );
+ preview->notifySaver( saver );
+}
+
+KScienceSetup::~KScienceSetup()
+{
+ delete saver; // be sure to delete this first
+}
+
+void KScienceSetup::updateSettings()
+{
+ // update dialog
+ slideMoveX ->setValue( moveX[mode] );
+ slideMoveY ->setValue( moveY[mode] );
+ slideSize ->setValue( size[mode] );
+ slideSpeed ->setValue( speed[mode] );
+ slideIntensity->setValue( intensity[mode] );
+ checkInverse ->setEnabled( modeInfo[mode].inverseEnable );
+ checkInverse ->setChecked( inverse[mode] );
+ checkGravity ->setChecked( gravity[mode] );
+ checkHideBG ->setChecked( hideBG[mode] );
+}
+
+// read settings from config file
+void KScienceSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ QString sMode;
+
+ config->setGroup( "Settings" );
+ mode = config->readNumEntry( "ModeNr", SCI_DEFAULT_MODE );
+
+ for(int i=0; i < MAX_MODES; i++)
+ {
+ sMode.setNum( i );
+ config->setGroup( "Mode" + sMode );
+ moveX[i] = config->readNumEntry( "MoveX", SCI_DEFAULT_MOVEX);
+ moveY[i] = config->readNumEntry( "MoveY", SCI_DEFAULT_MOVEY);
+ size[i] = config->readNumEntry( "Size", SCI_DEFAULT_SIZE);
+ speed[i] = config->readNumEntry( "Speed", SCI_DEFAULT_SPEED);
+ intensity[i] = config->readNumEntry( "Intensity", SCI_DEFAULT_INTENSITY);
+ inverse[i] = config->readBoolEntry( "Inverse", SCI_DEFAULT_INVERSE);
+ gravity[i] = config->readBoolEntry( "Gravity", SCI_DEFAULT_GRAVITY);
+ hideBG[i] = config->readBoolEntry( "HideBG", SCI_DEFAULT_HIDE);
+ }
+}
+
+void KScienceSetup::slotMode( int m )
+{
+ mode = m;
+
+ if( saver )
+ saver->setMode( mode );
+
+ updateSettings();
+}
+
+void KScienceSetup::slotInverse( )
+{
+ inverse[mode] = checkInverse->isChecked();
+
+ if( saver )
+ saver->setInverse( inverse[mode] );
+}
+
+void KScienceSetup::slotGravity( )
+{
+ gravity[mode] = checkGravity->isChecked();
+
+ if( saver )
+ saver->setGravity( gravity[mode] );
+}
+
+void KScienceSetup::slotHideBG( )
+{
+ hideBG[mode] = checkHideBG->isChecked();
+
+ if( saver )
+ saver->setHideBG( hideBG[mode] );
+}
+
+void KScienceSetup::slotMoveX( int x )
+{
+ moveX[mode] = x;
+
+ if( saver )
+ saver->setMoveX( x );
+}
+
+void KScienceSetup::slotMoveY( int y )
+{
+ moveY[mode] = y;
+
+ if( saver )
+ saver->setMoveY( y );
+}
+
+void KScienceSetup::slotSize( int s )
+{
+ size[mode] = s;
+
+ if( saver )
+ saver->setSize( s );
+}
+
+void KScienceSetup::slotSpeed( int s )
+{
+ speed[mode] = s;
+
+ if( saver )
+ saver->setSpeed( s );
+}
+
+void KScienceSetup::slotIntensity( int i )
+{
+ intensity[mode] = i;
+
+ if( saver )
+ saver->setIntensity( i );
+}
+
+void KScienceSetup::slotSliderPressed()
+{
+ if( saver )
+ saver->setMove( false );
+}
+
+void KScienceSetup::slotSliderReleased()
+{
+ if( saver )
+ saver->setMove( true );
+}
+
+// Ok pressed - save settings and exit
+void KScienceSetup::slotOk()
+{
+ KConfig *config = KGlobal::config();
+ QString sSize, sSpeed, sIntensity, sMode;
+
+ config->setGroup( "Settings" );
+ config->writeEntry( "ModeNr", mode );
+
+ for(int i=0; i<MAX_MODES; i++)
+ {
+ sMode.setNum( i );
+ config->setGroup( "Mode" + sMode );
+ config->writeEntry( "MoveX", moveX[i] );
+ config->writeEntry( "MoveY", moveY[i] );
+ config->writeEntry( "Size", size[i] );
+ config->writeEntry( "Speed", speed[i] );
+ config->writeEntry( "Intensity", intensity[i] );
+ config->writeEntry( "Inverse", inverse[i] );
+ config->writeEntry( "Gravity", gravity[i] );
+ config->writeEntry( "HideBG", hideBG[i] );
+ }
+
+ config->sync();
+
+ accept();
+}
+
+void KScienceSetup::slotHelp()
+{
+ QString about = i18n("Science Version 0.26.5\n\nWritten by Rene Beutler (1998)\nrbeutler@g26.ethz.ch");
+ KMessageBox::about(this,
+ about);
+}
diff --git a/kscreensaver/kdesavers/science.h b/kscreensaver/kdesavers/science.h
new file mode 100644
index 00000000..7211f5d5
--- /dev/null
+++ b/kscreensaver/kdesavers/science.h
@@ -0,0 +1,148 @@
+// ----------------------------------------------------------------
+//
+// kscience - screen saver for KDE
+//
+// copyright (c) Rene Beutler 1998
+//
+
+#ifndef __SCIENCE_H__
+#define __SCIENCE_H__
+
+#include <qrect.h>
+#include <qtimer.h>
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+class QSlider;
+class QCheckBox;
+
+#define MAX_MODES 6
+
+typedef signed int T32bit;
+
+class KScienceSaver;
+
+class KPreviewWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ KPreviewWidget( QWidget *parent );
+ void paintEvent( QPaintEvent *event );
+ void notifySaver( KScienceSaver *s = 0 );
+private:
+ KScienceSaver *saver;
+};
+
+struct KScienceData;
+
+class KScienceSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ KScienceSaver( WId id, bool setup=false, bool gP=false);
+ virtual ~KScienceSaver();
+
+ void do_refresh( const QRect & rect );
+ void setMode ( int mode );
+ void setMoveX ( signed int s );
+ void setMoveY ( signed int s );
+ void setMove ( bool s );
+ void setSize ( signed int s );
+ void setIntensity ( signed int s );
+ void setSpeed ( signed int s );
+ void setInverse ( bool b );
+ void setGravity ( bool b );
+ void setHideBG ( bool b );
+
+ void myAssert( bool term, const char *sMsg );
+
+private:
+ void readSettings();
+ void initLens();
+ void initialize();
+ void releaseLens();
+ void (KScienceSaver::*applyLens)(int xs, int ys, int xd, int yd, int w, int h);
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ void grabRootWindow();
+ void grabPreviewWidget();
+ void initWhirlLens();
+ void initSphereLens();
+ void initExponentialLens();
+ void initWaveLens();
+ void initCurvatureLens();
+ void blackPixel( int x, int y );
+ void blackPixelUndo( int x, int y);
+ void applyLens8bpp( int xs, int ys, int xd, int yd, int w, int h);
+ void applyLens16bpp(int xs, int ys, int xd, int yd, int w, int h);
+ void applyLens24bpp(int xs, int ys, int xd, int yd, int w, int h);
+ void applyLens32bpp(int xs, int ys, int xd, int yd, int w, int h);
+ QTimer timer;
+ bool moveOn;
+ bool setup;
+ bool grabPixmap;
+ int mode;
+ bool inverse[MAX_MODES];
+ bool gravity[MAX_MODES];
+ bool hideBG[MAX_MODES];
+ signed int size[MAX_MODES];
+ signed int moveX[MAX_MODES];
+ signed int moveY[MAX_MODES];
+ signed int speed[MAX_MODES];
+ signed int intensity[MAX_MODES];
+ int xcoord, ycoord;
+ double x, y, vx, vy;
+ signed int bpp, side;
+ int border, radius, diam, origin;
+ int imgnext;
+ char blackRestore[4];
+ KScienceData *d;
+};
+
+
+class KScienceSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ KScienceSetup(QWidget *parent=0, const char *name=0);
+ ~KScienceSetup();
+protected:
+ void updateSettings();
+ void readSettings();
+
+private slots:
+ void slotMode( int );
+ void slotInverse();
+ void slotGravity();
+ void slotHideBG();
+ void slotMoveX( int );
+ void slotMoveY( int );
+ void slotSize( int );
+ void slotIntensity( int );
+ void slotSliderPressed();
+ void slotSliderReleased();
+ void slotSpeed( int );
+ void slotOk();
+ void slotHelp();
+
+private:
+ KPreviewWidget *preview;
+ KScienceSaver *saver;
+ QSlider *slideSize, *slideSpeed, *slideIntensity;
+ QSlider *slideMoveX, *slideMoveY;
+ QCheckBox *checkInverse, *checkGravity, *checkHideBG;
+
+ int mode;
+ bool inverse [MAX_MODES];
+ bool gravity [MAX_MODES];
+ bool hideBG [MAX_MODES];
+ int moveX [MAX_MODES];
+ int moveY [MAX_MODES];
+ int size [MAX_MODES];
+ int intensity[MAX_MODES];
+ int speed [MAX_MODES];
+};
+#endif
diff --git a/kscreensaver/kdesavers/slideshow.cpp b/kscreensaver/kdesavers/slideshow.cpp
new file mode 100644
index 00000000..29df23ae
--- /dev/null
+++ b/kscreensaver/kdesavers/slideshow.cpp
@@ -0,0 +1,1022 @@
+/* Slide Show Screen Saver
+ * (C) 1999 Stefan Taferner <taferner@kde.org>
+ * (C) 2001 Martin R. Jones <mjones@kde.org>
+ * (C) 2003 Chris Howells <howells@kde.org>
+ * (C) 2003 Sven Leiber <s.leiber@web.de>
+ *
+ * This code is under GPL
+ *
+ * 2001/03/04 Converted to libkscreensaver by Martin R. Jones.
+ */
+
+
+#include <qdir.h>
+#include <qcolor.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qfile.h>
+#include <qpaintdevicemetrics.h>
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qspinbox.h>
+#include <qframe.h>
+#include <qdesktopwidget.h>
+
+#include <kconfig.h>
+#include <kglobal.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kimageio.h>
+#include <kfiledialog.h>
+#include <kstandarddirs.h>
+#include <kurlrequester.h>
+#include <kaboutdata.h>
+#include <kaboutapplication.h>
+#include <kdebug.h>
+
+#include <stdlib.h>
+#include <assert.h>
+#include <math.h>
+#include <time.h>
+
+#include "slideshow.h"
+#include "slideshow.moc"
+#include "slideshowcfg.h"
+
+
+#define SLIDESHOW_VERSION "2.3.0"
+static const char version[] = SLIDESHOW_VERSION;
+static const char description[] = I18N_NOOP("KSlideshow");
+
+
+// libkscreensaver interface
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kslideshow.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KSlideshow" );
+ KDE_EXPORT const char *kss_version = SLIDESHOW_VERSION;
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new kSlideShowSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new kSlideShowSetup();
+ }
+}
+
+
+//=============================================================================
+// Class kSlideShowSaver
+//=============================================================================
+kSlideShowSaver::kSlideShowSaver( WId id ): KScreenSaver(id)
+{
+ KImageIO::registerFormats();
+
+ blank();
+
+ mEffect = NULL;
+ mNumEffects = 0;
+ mIntArray = NULL;
+ registerEffects();
+
+ readConfig();
+ initNextScreen();
+
+ mFileIdx = 0;
+ mColorContext = QColor::enterAllocContext();
+
+ mEffectRunning = false;
+
+ mTimer.start(10, true);
+ connect(&mTimer, SIGNAL(timeout()), SLOT(slotTimeout()));
+
+ QDesktopWidget *d = QApplication::desktop();
+ if( geometry() == d->geometry() && d->numScreens() > 1)
+ {
+ for(int i = 0; i < d->numScreens(); ++i)
+ {
+ QRect s = d->screenGeometry(i);
+ mGeoList.append(new mScreenGeo(s.width(), s.height(), s.topLeft().x(), s.topLeft().y()));
+ }
+ }
+ else
+ {
+ mGeoList.append(new mScreenGeo(width(), height(), 0, 0 ));
+ }
+ createNextScreen();
+}
+
+
+//----------------------------------------------------------------------------
+kSlideShowSaver::~kSlideShowSaver()
+{
+ delete [] mIntArray;
+ delete [] mEffectList;
+
+ mTimer.stop();
+ if (mPainter.isActive()) mPainter.end();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext(mColorContext);
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::initNextScreen()
+{
+ QPaintDeviceMetrics metric(this);
+ int w, h;
+
+ w = width();
+ h = height();
+ mNextScreen = QPixmap(w, h, metric.depth());
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::readConfig()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup("Settings");
+ mShowRandom = config->readBoolEntry("ShowRandom", true);
+ mZoomImages = config->readBoolEntry("ZoomImages", false);
+ mPrintName = config->readBoolEntry("PrintName", true);
+ mDirectory = config->readPathEntry("Directory", KGlobal::dirs()->findDirs("wallpaper", "").last());
+ mDelay = config->readNumEntry("Delay", 10) * 1000;
+ mSubdirectory = config->readBoolEntry("SubDirectory", false);
+ mRandomPosition = config->readBoolEntry("RandomPosition", false);
+
+ loadDirectory();
+}
+
+
+//----------------------------------------------------------------------------
+void kSlideShowSaver::registerEffects()
+{
+ int i = 0;
+
+ mEffectList = new EffectMethod[64];
+ mEffectList[i++] = &kSlideShowSaver::effectChessboard;
+ mEffectList[i++] = &kSlideShowSaver::effectMultiCircleOut;
+ mEffectList[i++] = &kSlideShowSaver::effectSpiralIn;
+ mEffectList[i++] = &kSlideShowSaver::effectSweep;
+ mEffectList[i++] = &kSlideShowSaver::effectMeltdown;
+ mEffectList[i++] = &kSlideShowSaver::effectCircleOut;
+ mEffectList[i++] = &kSlideShowSaver::effectBlobs;
+ mEffectList[i++] = &kSlideShowSaver::effectHorizLines;
+ mEffectList[i++] = &kSlideShowSaver::effectVertLines;
+ mEffectList[i++] = &kSlideShowSaver::effectRandom;
+ mEffectList[i++] = &kSlideShowSaver::effectGrowing;
+ mEffectList[i++] = &kSlideShowSaver::effectIncomingEdges;
+
+ mNumEffects = i;
+ // mNumEffects = 1; //...for testing
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectMultiCircleOut(bool aInit)
+{
+ int x, y, i;
+ double alpha;
+ static QPointArray pa(4);
+
+ if (aInit)
+ {
+ startPainter();
+ mw = width();
+ mh = height();
+ mx = mw;
+ my = mh>>1;
+ pa.setPoint(0, mw>>1, mh>>1);
+ pa.setPoint(3, mw>>1, mh>>1);
+ mfy = sqrt((double)mw*mw + mh*mh) / 2;
+ mi = KApplication::random()%15 + 2;
+ mfd = M_PI*2/mi;
+ mAlpha = mfd;
+ mwait = 10 * mi;
+ mfx = M_PI/32; // divisor must be powers of 8
+ }
+
+ if (mAlpha < 0)
+ {
+ mPainter.end();
+ showNextScreen();
+ return -1;
+ }
+
+ for (alpha=mAlpha, i=mi; i>=0; i--, alpha+=mfd)
+ {
+ x = (mw>>1) + (int)(mfy * cos(-alpha));
+ y = (mh>>1) + (int)(mfy * sin(-alpha));
+
+ mx = (mw>>1) + (int)(mfy * cos(-alpha + mfx));
+ my = (mh>>1) + (int)(mfy * sin(-alpha + mfx));
+
+ pa.setPoint(1, x, y);
+ pa.setPoint(2, mx, my);
+
+ mPainter.drawPolygon(pa);
+ }
+ mAlpha -= mfx;
+
+ return mwait;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectSpiralIn(bool aInit)
+{
+ if (aInit)
+ {
+ startPainter();
+ mw = width();
+ mh = height();
+ mix = mw / 8;
+ miy = mh / 8;
+ mx0 = 0;
+ mx1 = mw - mix;
+ my0 = miy;
+ my1 = mh - miy;
+ mdx = mix;
+ mdy = 0;
+ mi = 0;
+ mj = 16 * 16;
+ mx = 0;
+ my = 0;
+ }
+
+ if (mi==0 && mx0>=mx1)
+ {
+ mPainter.end();
+ showNextScreen();
+ return -1;
+ }
+
+ if (mi==0 && mx>=mx1) // switch to: down on right side
+ {
+ mi = 1;
+ mdx = 0;
+ mdy = miy;
+ mx1 -= mix;
+ }
+ else if (mi==1 && my>=my1) // switch to: right to left on bottom side
+ {
+ mi = 2;
+ mdx = -mix;
+ mdy = 0;
+ my1 -= miy;
+ }
+ else if (mi==2 && mx<=mx0) // switch to: up on left side
+ {
+ mi = 3;
+ mdx = 0;
+ mdy = -miy;
+ mx0 += mix;
+ }
+ else if (mi==3 && my<=my0) // switch to: left to right on top side
+ {
+ mi = 0;
+ mdx = mix;
+ mdy = 0;
+ my0 += miy;
+ }
+
+ bitBlt(this, mx, my, &mNextScreen, mx, my, mix, miy, CopyROP, true);
+
+ mx += mdx;
+ my += mdy;
+ mj--;
+
+ return 8;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectMeltdown(bool aInit)
+{
+ int i, x, y;
+ bool done;
+
+ if (aInit)
+ {
+ delete [] mIntArray;
+ mw = width();
+ mh = height();
+ mdx = 4;
+ mdy = 16;
+ mix = mw / mdx;
+ mIntArray = new int[mix];
+ for (i=mix-1; i>=0; i--)
+ mIntArray[i] = 0;
+ }
+
+ done = true;
+ for (i=0,x=0; i<mix; i++,x+=mdx)
+ {
+ y = mIntArray[i];
+ if (y >= mh) continue;
+ done = false;
+ if ((KApplication::random()&15) < 6) continue;
+ bitBlt(this, x, y+mdy, this, x, y, mdx, mh-y-mdy, CopyROP, true);
+ bitBlt(this, x, y, &mNextScreen, x, y, mdx, mdy, CopyROP, true);
+ mIntArray[i] += mdy;
+ }
+
+ if (done)
+ {
+ delete [] mIntArray;
+ mIntArray = NULL;
+ return -1;
+ }
+
+ return 15;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectCircleOut(bool aInit)
+{
+ int x, y;
+ static QPointArray pa(4);
+
+ if (aInit)
+ {
+ startPainter();
+ mw = width();
+ mh = height();
+ mx = mw;
+ my = mh>>1;
+ mAlpha = 2*M_PI;
+ pa.setPoint(0, mw>>1, mh>>1);
+ pa.setPoint(3, mw>>1, mh>>1);
+ mfx = M_PI/16; // divisor must be powers of 8
+ mfy = sqrt((double)mw*mw + mh*mh) / 2;
+ }
+
+ if (mAlpha < 0)
+ {
+ mPainter.end();
+ showNextScreen();
+ return -1;
+ }
+
+ x = mx;
+ y = my;
+ mx = (mw>>1) + (int)(mfy * cos(mAlpha));
+ my = (mh>>1) + (int)(mfy * sin(mAlpha));
+ mAlpha -= mfx;
+
+ pa.setPoint(1, x, y);
+ pa.setPoint(2, mx, my);
+
+ mPainter.drawPolygon(pa);
+
+ return 20;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectSweep(bool aInit)
+{
+ int w, h, x, y, i;
+
+ if (aInit)
+ {
+ // subtype: 0=sweep right to left, 1=sweep left to right
+ // 2=sweep bottom to top, 3=sweep top to bottom
+ mSubType = KApplication::random() % 4;
+ mw = width();
+ mh = height();
+ mdx = (mSubType==1 ? 16 : -16);
+ mdy = (mSubType==3 ? 16 : -16);
+ mx = (mSubType==1 ? 0 : mw);
+ my = (mSubType==3 ? 0 : mh);
+ }
+
+ if (mSubType==0 || mSubType==1)
+ {
+ // horizontal sweep
+ if ((mSubType==0 && mx < -64) ||
+ (mSubType==1 && mx > mw+64))
+ {
+ return -1;
+ }
+ for (w=2,i=4,x=mx; i>0; i--, w<<=1, x-=mdx)
+ {
+ bitBlt(this, x, 0, &mNextScreen, x, 0, w, mh, CopyROP, true);
+ }
+ mx += mdx;
+ }
+ else
+ {
+ // vertical sweep
+ if ((mSubType==2 && my < -64) ||
+ (mSubType==3 && my > mh+64))
+ {
+ return -1;
+ }
+ for (h=2,i=4,y=my; i>0; i--, h<<=1, y-=mdy)
+ {
+ bitBlt(this, 0, y, &mNextScreen, 0, y, mw, h, CopyROP, true);
+ }
+ my += mdy;
+ }
+
+ return 20;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectBlobs(bool aInit)
+{
+ int r;
+
+ if (aInit)
+ {
+ startPainter();
+ mAlpha = M_PI * 2;
+ mw = width();
+ mh = height();
+ mi = 150;
+ }
+
+ if (mi <= 0)
+ {
+ mPainter.end();
+ showNextScreen();
+ return -1;
+ }
+
+ mx = KApplication::random() % mw;
+ my = KApplication::random() % mh;
+ r = (KApplication::random() % 200) + 50;
+
+ mPainter.drawEllipse(mx-r, my-r, r, r);
+ mi--;
+
+ return 10;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectRandom(bool /*aInit*/)
+{
+ int x, y, i, w, h, fact, sz;
+
+ fact = (KApplication::random() % 3) + 1;
+
+ w = width() >> fact;
+ h = height() >> fact;
+ sz = 1 << fact;
+
+ for (i = (w*h)<<1; i > 0; i--)
+ {
+ x = (KApplication::random() % w) << fact;
+ y = (KApplication::random() % h) << fact;
+ bitBlt(this, x, y, &mNextScreen, x, y, sz, sz, CopyROP, true);
+ }
+ showNextScreen();
+
+ return -1;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectGrowing(bool aInit)
+{
+ if (aInit)
+ {
+ mw = width();
+ mh = height();
+ mx = mw >> 1;
+ my = mh >> 1;
+ mi = 0;
+ mfx = mx / 100.0;
+ mfy = my / 100.0;
+ }
+
+ mx = (mw>>1) - (int)(mi * mfx);
+ my = (mh>>1) - (int)(mi * mfy);
+ mi++;
+
+ if (mx<0 || my<0)
+ {
+ showNextScreen();
+ return -1;
+ }
+
+ bitBlt(this, mx, my, &mNextScreen, mx, my,
+ mw - (mx<<1), mh - (my<<1), CopyROP, true);
+
+ return 20;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectChessboard(bool aInit)
+{
+ int y;
+
+ if (aInit)
+ {
+ mw = width();
+ mh = height();
+ mdx = 8; // width of one tile
+ mdy = 8; // height of one tile
+ mj = (mw+mdx-1)/mdx; // number of tiles
+ mx = mj*mdx; // shrinking x-offset from screen border
+ mix = 0; // growing x-offset from screen border
+ miy = 0; // 0 or mdy for growing tiling effect
+ my = mj&1 ? 0 : mdy; // 0 or mdy for shrinking tiling effect
+ mwait = 800 / mj; // timeout between effects
+ }
+
+ if (mix >= mw)
+ {
+ showNextScreen();
+ return -1;
+ }
+
+ mix += mdx;
+ mx -= mdx;
+ miy = miy ? 0 : mdy;
+ my = my ? 0 : mdy;
+
+ for (y=0; y<mw; y+=(mdy<<1))
+ {
+ bitBlt(this, mix, y+miy, &mNextScreen, mix, y+miy,
+ mdx, mdy, CopyROP, true);
+ bitBlt(this, mx, y+my, &mNextScreen, mx, y+my,
+ mdx, mdy, CopyROP, true);
+ }
+
+ return mwait;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectIncomingEdges(bool aInit)
+{
+ int x1, y1;
+
+ if (aInit)
+ {
+ mw = width();
+ mh = height();
+ mix = mw >> 1;
+ miy = mh >> 1;
+ mfx = mix / 100.0;
+ mfy = miy / 100.0;
+ mi = 0;
+ mSubType = KApplication::random() & 1;
+ }
+
+ mx = (int)(mfx * mi);
+ my = (int)(mfy * mi);
+
+ if (mx>mix || my>miy)
+ {
+ showNextScreen();
+ return -1;
+ }
+
+ x1 = mw - mx;
+ y1 = mh - my;
+ mi++;
+
+ if (mSubType)
+ {
+ // moving image edges
+ bitBlt(this, 0, 0, &mNextScreen, mix-mx, miy-my, mx, my, CopyROP, true);
+ bitBlt(this, x1, 0, &mNextScreen, mix, miy-my, mx, my, CopyROP, true);
+ bitBlt(this, 0, y1, &mNextScreen, mix-mx, miy, mx, my, CopyROP, true);
+ bitBlt(this, x1, y1, &mNextScreen, mix, miy, mx, my, CopyROP, true);
+ }
+ else
+ {
+ // fixed image edges
+ bitBlt(this, 0, 0, &mNextScreen, 0, 0, mx, my, CopyROP, true);
+ bitBlt(this, x1, 0, &mNextScreen, x1, 0, mx, my, CopyROP, true);
+ bitBlt(this, 0, y1, &mNextScreen, 0, y1, mx, my, CopyROP, true);
+ bitBlt(this, x1, y1, &mNextScreen, x1, y1, mx, my, CopyROP, true);
+ }
+ return 20;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectHorizLines(bool aInit)
+{
+ static int iyPos[] = { 0, 4, 2, 6, 1, 5, 3, 7, -1 };
+ int y;
+
+ if (aInit)
+ {
+ mw = width();
+ mh = height();
+ mi = 0;
+ }
+
+ if (iyPos[mi] < 0) return -1;
+
+ for (y=iyPos[mi]; y<mh; y+=8)
+ {
+ bitBlt(this, 0, y, &mNextScreen, 0, y, mw, 1, CopyROP, true);
+ }
+
+ mi++;
+ if (iyPos[mi] >= 0) return 160;
+ return -1;
+}
+
+
+//----------------------------------------------------------------------------
+int kSlideShowSaver::effectVertLines(bool aInit)
+{
+ static int ixPos[] = { 0, 4, 2, 6, 1, 5, 3, 7, -1 };
+ int x;
+
+ if (aInit)
+ {
+ mw = width();
+ mh = height();
+ mi = 0;
+ }
+
+ if (ixPos[mi] < 0) return -1;
+
+ for (x=ixPos[mi]; x<mw; x+=8)
+ {
+ bitBlt(this, x, 0, &mNextScreen, x, 0, 1, mh, CopyROP, true);
+ }
+
+ mi++;
+ if (ixPos[mi] >= 0) return 160;
+ return -1;
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::startPainter(Qt::PenStyle aPen)
+{
+ QBrush brush;
+ brush.setPixmap(mNextScreen);
+ if (mPainter.isActive()) mPainter.end();
+ mPainter.begin(this);
+ mPainter.setBrush(brush);
+ mPainter.setPen(aPen);
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::restart()
+{
+ mEffectRunning = false;
+ mEffect = NULL;
+ blank();
+ slotTimeout();
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::slotTimeout()
+{
+ int tmout = -1;
+ int i;
+
+ if (mEffectRunning)
+ {
+ tmout = (this->*mEffect)(false);
+ }
+ else
+ {
+ loadNextImage();
+ createNextScreen();
+
+ if (mNumEffects > 1) i = KApplication::random() % mNumEffects;
+ else i = 0;
+
+ mEffect = mEffectList[i];
+ mEffectRunning = true;
+ tmout = (this->*mEffect)(true);
+ }
+ if (tmout <= 0)
+ {
+ tmout = mDelay;
+ mEffectRunning = false;
+ }
+ mTimer.start(tmout, true);
+}
+
+
+//----------------------------------------------------------------------------
+void kSlideShowSaver::showNextScreen()
+{
+ bitBlt(this, 0, 0, &mNextScreen, 0, 0,
+ mNextScreen.width(), mNextScreen.height(), CopyROP, true);
+}
+
+
+//----------------------------------------------------------------------------
+void kSlideShowSaver::createNextScreen()
+{
+ QPainter p;
+ int ww, wh, iw, ih, x, y;
+ double fx, fy;
+
+ if (mNextScreen.size() != size())
+ mNextScreen.resize(size());
+
+ mNextScreen.fill(black);
+
+ p.begin(&mNextScreen);
+
+ mScreenGeo *geoptr = 0;
+ for(geoptr = mGeoList.first(); geoptr; geoptr = mGeoList.next())
+ {
+ loadNextImage();
+
+ iw = mImage.width();
+ ih = mImage.height();
+ ww = geoptr->mW;
+ wh = geoptr->mH;
+
+ if (mFileList.isEmpty())
+ {
+ p.setPen(QColor("white"));
+ p.drawText(20 + (KApplication::random() % (ww>>1)), 20 + (KApplication::random() % (wh>>1)),
+ i18n("No images found"));
+ }
+ else
+ {
+ if (mZoomImages)
+ {
+ fx = (double)ww / iw;
+ fy = (double)wh / ih;
+ if (fx > fy) fx = fy;
+ if (fx > 2) fx = 2;
+ iw = (int)(iw * fx);
+ ih = (int)(ih * fx);
+ QImage scaledImg = mImage.smoothScale(iw, ih);
+
+ x = ((ww - iw) >> 1) + geoptr->mXorg;
+ y = ((wh - ih) >> 1) + geoptr->mYorg;
+
+ p.drawImage(x, y, scaledImg);
+ }
+ else
+ {
+ if(iw >= ww || ih >= wh)
+ {
+ fx = (double)ww / iw;
+ fy = (double)wh / ih;
+ if (fx > fy) fx = fy;
+ if (fx > 2) fx = 2;
+ iw = (int)(iw * fx);
+ ih = (int)(ih * fx);
+ QImage scaledImg = mImage.smoothScale(iw, ih);
+
+ x = ((ww - iw) >> 1) + geoptr->mXorg;
+ y = ((wh - ih) >> 1) + geoptr->mYorg;
+
+ p.drawImage(x, y, scaledImg);
+ }
+ else
+ {
+ if(mRandomPosition)
+ {
+ x = (KApplication::random() % (ww - iw)) + geoptr->mXorg;
+ y = (KApplication::random() % (wh - ih)) + geoptr->mYorg;
+ }
+ else
+ {
+ x = ((ww - iw) >> 1) + geoptr->mXorg;
+ y = ((wh - ih) >> 1) + geoptr->mYorg;
+ }
+
+ // bitBlt(&mNextScreen, x, y, &mImage, 0, 0, iw, ih, CopyROP, false);
+ p.drawImage(x, y, mImage);
+ }
+ }
+
+ if (mPrintName)
+ {
+ p.setPen(QColor("black"));
+ for (x=9; x<=11; x++)
+ for (y=21; y>=19; y--)
+ p.drawText(x + geoptr->mXorg, wh-y+geoptr->mYorg, mImageName);
+ p.setPen(QColor("white"));
+ p.drawText(10 + geoptr->mXorg, wh-20 + geoptr->mYorg, mImageName);
+ }
+ }
+ }
+ p.end();
+}
+
+
+//----------------------------------------------------------------------------
+void kSlideShowSaver::loadNextImage()
+{
+ QString fname;
+ int num;
+
+ num = mFileList.count();
+ if (num <= 0) //no files in the directory
+ {
+ return;
+ }
+
+ if (mShowRandom)
+ {
+ mFileIdx = KApplication::random() % num;
+ fname = mFileList[mFileIdx];
+ mFileList.remove(fname);
+ if (num == 1) //we're about to run out of images
+ {
+ mFileList = mRandomList;
+ }
+ }
+ else
+ {
+ if (mFileIdx >= num) mFileIdx = 0;
+ fname = mFileList[mFileIdx];
+ }
+
+ if (!mImage.load(fname))
+ {
+ kdDebug() << "Failed to load image " << fname << endl;
+ mFileList.remove(fname);
+ mRandomList.remove(fname);
+ if (!mFileList.isEmpty())
+ loadNextImage();
+ return;
+ }
+ mFileIdx++;
+
+ int i, j;
+ i = fname.findRev('.');
+ if (i < 0) i = 32767;
+ j = fname.findRev('/') + 1;
+ if (j < 0) j = 0;
+ mImageName = fname.mid(j, i-j);
+}
+
+
+//----------------------------------------------------------------------------
+void kSlideShowSaver::loadDirectory()
+{
+ mFileIdx = 0;
+ mFileList.clear();
+ traverseDirectory(mDirectory);
+ mRandomList = mFileList;
+}
+
+void kSlideShowSaver::traverseDirectory(const QString &dirName)
+{
+ QDir dir(dirName);
+ if (!dir.exists())
+ {
+ return ;
+ }
+ dir.setFilter(QDir::Dirs | QDir::Files);
+
+ const QFileInfoList *fileinfolist = dir.entryInfoList();
+ QFileInfoListIterator it(*fileinfolist);
+ QFileInfo *fi;
+ while ((fi = it.current()))
+ {
+ if (fi->fileName() == "." || fi->fileName() == "..")
+ {
+ ++it;
+ continue;
+ }
+ if (fi->isDir() && fi->isReadable() && mSubdirectory)
+ {
+ traverseDirectory(fi->filePath());
+ }
+ else
+ {
+ if (!fi->isDir())
+ {
+ mFileList.append(fi->filePath());
+ }
+ }
+ ++it;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSaver::blank()
+{
+ erase();
+}
+
+
+//=============================================================================
+// Class kSlideShowSetup
+//=============================================================================
+kSlideShowSetup::kSlideShowSetup(QWidget *aParent, const char *aName)
+ : KDialogBase(aParent, aName, true, i18n( "Setup Slide Show Screen Saver" ),
+ Ok|Cancel|Help, Ok, true )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+
+ QWidget *main = makeMainWidget();
+ QVBoxLayout *top = new QVBoxLayout( main, 0, spacingHint() );
+
+ cfg = new SlideShowCfg( main, "SlideShowCfg" );
+ top->addWidget( cfg );
+ top->addStretch();
+
+ cfg->mPreview->setFixedSize(220, 170);
+ cfg->mPreview->setBackgroundColor(black);
+ cfg->mPreview->show(); // otherwise saver does not get correct size
+ mSaver = new kSlideShowSaver(cfg->mPreview->winId());
+
+ cfg->mDirChooser->setMode(KFile::Directory | KFile::ExistingOnly);
+ connect(cfg->mDirChooser, SIGNAL(returnPressed(const QString &)),
+ SLOT(slotDirSelected(const QString &)));
+ connect(cfg->mDirChooser, SIGNAL(urlSelected(const QString &)),
+ SLOT(slotDirSelected(const QString &)));
+
+ readSettings();
+}
+
+kSlideShowSetup::~kSlideShowSetup()
+{
+ delete mSaver;
+}
+
+//-----------------------------------------------------------------------------
+void kSlideShowSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("Settings");
+ cfg->mCbxRandom->setChecked(config->readBoolEntry("ShowRandom", true));
+ cfg->mCbxZoom->setChecked(config->readBoolEntry("ZoomImages", false));
+ cfg->mCbxShowName->setChecked(config->readBoolEntry("PrintName", true));
+ cfg->mDelay->setValue(config->readNumEntry("Delay", 20));
+ cfg->mDirChooser->setURL(config->readPathEntry("Directory"));
+ cfg->mCbxSubdirectory->setChecked(config->readBoolEntry("SubDirectory", false));
+ cfg->mCbxRandomPosition->setChecked(config->readBoolEntry("RandomPosition", false));
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSetup::writeSettings()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("Settings");
+ config->writeEntry("ShowRandom", cfg->mCbxRandom->isChecked());
+ config->writeEntry("ZoomImages", cfg->mCbxZoom->isChecked());
+ config->writeEntry("PrintName", cfg->mCbxShowName->isChecked());
+ config->writeEntry("Delay", cfg->mDelay->value());
+ config->writePathEntry("Directory", cfg->mDirChooser->url());
+ config->writeEntry("SubDirectory", cfg->mCbxSubdirectory->isChecked());
+ config->writeEntry("RandomPosition", cfg->mCbxRandomPosition->isChecked());
+
+ config->sync();
+
+ if (mSaver)
+ {
+ mSaver->readConfig();
+ mSaver->restart();
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSetup::slotDirSelected(const QString &)
+{
+ writeSettings();
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSetup::slotOk()
+{
+ writeSettings();
+ accept();
+}
+
+
+//-----------------------------------------------------------------------------
+void kSlideShowSetup::slotHelp()
+{
+ KAboutData aboutData( "kslideshow.kss", I18N_NOOP("SlideShow"),
+ version, description, KAboutData::License_GPL,
+ "(c) 1999-2003, The KDE Team" );
+ aboutData.addAuthor("Stefan Taferner", 0, "taferner@kde.org");
+ aboutData.addAuthor("Chris Howells", 0, "howells@kde.org");
+ aboutData.addAuthor("Sven Leiber", 0, "s.leiber@web.de");
+
+ KAboutApplication mAbout(&aboutData, this, 0);
+ mAbout.exec();
+}
diff --git a/kscreensaver/kdesavers/slideshow.h b/kscreensaver/kdesavers/slideshow.h
new file mode 100644
index 00000000..fa51670a
--- /dev/null
+++ b/kscreensaver/kdesavers/slideshow.h
@@ -0,0 +1,150 @@
+/* Slide Show Screen Saver
+ * (C) 1999 Stefan Taferner <taferner@kde.org>
+ * (C) 2003 Sven Leiber <s.leiber@web.de>
+ */
+
+
+#ifndef SLIDESHOW_H
+#define SLIDESHOW_H
+
+#include <qtimer.h>
+#include <qptrlist.h>
+#include <qstringlist.h>
+#include <qpixmap.h>
+#include <qpainter.h>
+#include <qimage.h>
+
+#include <kscreensaver.h>
+#include <kdialogbase.h>
+
+#include "slideshowcfg.h"
+
+class SlideShowCfg;
+
+//-----------------------------------------------------------------------------
+class kSlideShowSaver: public KScreenSaver
+{
+ Q_OBJECT
+public:
+ kSlideShowSaver( WId id );
+ virtual ~kSlideShowSaver();
+
+ typedef int (kSlideShowSaver::*EffectMethod)(bool);
+
+ void readConfig();
+
+ void restart();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ void blank();
+
+ /** Load list of images from directory */
+ virtual void loadDirectory();
+
+ /** Helper for loadDirectory() */
+ virtual void traverseDirectory(const QString &dirName);
+
+ /** Load next image from list. If the file cannot be read
+ it is automatically removed from the file list.
+ mImage contains the image after loading. */
+ virtual void loadNextImage();
+
+ /** Show next screen, completely, without transition. */
+ virtual void showNextScreen();
+
+ /** Set loaded image to next-screen buffer. */
+ virtual void createNextScreen();
+
+ /** Initialize next-screen buffer. */
+ virtual void initNextScreen();
+
+ /** Register effect methods in effect list. */
+ virtual void registerEffects();
+
+ /** Various effects. If adding one, do not forget to manually
+ add the effect to the list in the registerEffects() method. */
+ int effectHorizLines(bool doInit);
+ int effectVertLines(bool doInit);
+ int effectRandom(bool doInit);
+ int effectGrowing(bool doInit);
+ int effectChessboard(bool doInit);
+ int effectIncomingEdges(bool doInit);
+ int effectBlobs(bool doInit);
+ int effectCircleOut(bool doInit);
+ int effectSweep(bool doInit);
+ int effectMeltdown(bool doInit);
+ int effectSpiralIn(bool doInit);
+ int effectMultiCircleOut(bool doInit);
+
+protected:
+ /** Init mPainter with next-screen's pixmap and call
+ mPainter.begin(&mWidget) */
+ void startPainter(Qt::PenStyle penStyle=NoPen);
+
+protected:
+ struct mScreenGeo {
+ mScreenGeo(int w, int h, int x, int y) : mW(w), mH(h), mXorg(x), mYorg(y) {};
+ int mW;
+ int mH;
+ int mXorg;
+ int mYorg;
+ };
+ QPtrList<mScreenGeo> mGeoList;
+ bool mEffectRunning;
+ QTimer mTimer;
+ int mColorContext;
+ QStringList mFileList;
+ QStringList mRandomList;
+ int mFileIdx;
+ QImage mImage;
+ QPixmap mNextScreen;
+ EffectMethod* mEffectList;
+ EffectMethod mEffect;
+ int mNumEffects;
+ QPainter mPainter;
+ QString mImageName;
+
+ // config settings:
+ bool mShowRandom;
+ bool mZoomImages;
+ bool mPrintName;
+ bool mSubdirectory;
+ bool mRandomPosition;
+ int mDelay;
+ QString mDirectory;
+
+ // values for state of various effects:
+ int mx, my, mw, mh, mdx, mdy, mix, miy, mi, mj, mSubType;
+ int mx0, my0, mx1, my1, mwait;
+ double mfx, mfy, mAlpha, mfd;
+ int* mIntArray;
+};
+
+
+//-----------------------------------------------------------------------------
+class kSlideShowSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kSlideShowSetup(QWidget *parent=NULL, const char *name=NULL);
+ ~kSlideShowSetup();
+
+protected:
+ void readSettings();
+
+protected slots:
+ void slotOk();
+ void slotHelp();
+ void writeSettings();
+ void slotDirSelected(const QString &where);
+
+private:
+ kSlideShowSaver *mSaver;
+ SlideShowCfg *cfg;
+};
+
+#endif /*SLIDESHOW_H*/
+
diff --git a/kscreensaver/kdesavers/slideshowcfg.ui b/kscreensaver/kdesavers/slideshowcfg.ui
new file mode 100644
index 00000000..544ea60b
--- /dev/null
+++ b/kscreensaver/kdesavers/slideshowcfg.ui
@@ -0,0 +1,176 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>SlideShowCfg</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Form1</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>243</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>mCbxSubdirectory</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Include images from sub-folders</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mCbxRandom</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Random order</string>
+ </property>
+ </widget>
+ <widget class="KURLRequester" row="6" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mDirChooser</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mCbxZoom</cstring>
+ </property>
+ <property name="text">
+ <string>Resi&amp;ze images</string>
+ </property>
+ </widget>
+ <spacer row="7" column="4">
+ <property name="name">
+ <cstring>spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>161</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="6" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>I&amp;mage folder:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mDirChooser</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mCbxShowName</cstring>
+ </property>
+ <property name="text">
+ <string>Show &amp;names</string>
+ </property>
+ </widget>
+ <spacer row="5" column="1">
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>19</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QSpinBox" row="4" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>mDelay</cstring>
+ </property>
+ <property name="suffix">
+ <string> sec</string>
+ </property>
+ <property name="specialValueText">
+ <string></string>
+ </property>
+ <property name="maxValue">
+ <number>240</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Delay:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mDelay</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mCbxRandomPosition</cstring>
+ </property>
+ <property name="text">
+ <string>Random &amp;position</string>
+ </property>
+ </widget>
+ <widget class="QFrame" row="0" column="3" rowspan="6" colspan="2">
+ <property name="name">
+ <cstring>mPreview</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>mCbxZoom</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>mCbxRandomPosition</receiver>
+ <slot>setDisabled(bool)</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/kscreensaver/kdesavers/sspreviewarea.cpp b/kscreensaver/kdesavers/sspreviewarea.cpp
new file mode 100644
index 00000000..d189c409
--- /dev/null
+++ b/kscreensaver/kdesavers/sspreviewarea.cpp
@@ -0,0 +1,21 @@
+//============================================================================
+//
+// KRotation screen saver for KDE
+// Copyright (C) 2004 Georg Drenkhahn
+// $Id$
+//
+//============================================================================
+
+#include "sspreviewarea.h"
+#include "sspreviewarea.moc"
+
+SsPreviewArea::SsPreviewArea(QWidget* parent, const char* name)
+ : QWidget(parent, name)
+{
+}
+
+void SsPreviewArea::resizeEvent(QResizeEvent* e)
+{
+ emit resized(e);
+}
+
diff --git a/kscreensaver/kdesavers/sspreviewarea.h b/kscreensaver/kdesavers/sspreviewarea.h
new file mode 100644
index 00000000..5b14f09d
--- /dev/null
+++ b/kscreensaver/kdesavers/sspreviewarea.h
@@ -0,0 +1,57 @@
+//============================================================================
+//
+// KRotation screen saver for KDE
+// Copyright (C) 2004 Georg Drenkhahn
+// $Id$
+//
+//============================================================================
+
+#ifndef SSPREVIEWAREA_H
+#define SSPREVIEWAREA_H
+
+#include <qwidget.h>
+
+/** @brief Reimplementation of QWidget emitting a signal if resized.
+ *
+ * This class is equalt to QWidget except for the fact that the signal resized()
+ * is emitted if the widget gets resized. By this signaling mechanism it is
+ * possible to resize the embedded GL area object within the screen saver setup
+ * dialog.
+ *
+ * In the constructor of the dialog widget (KPendulumSetup::KPendulumSetup(),
+ * KRotationSetup::KRotationSetup()) the signal SsPreviewArea::resized() is
+ * connected with a slot of the screensaver class
+ * (KPendulumSaver::resizeGlArea(), KRotationSaver::resizeGlArea()). This slot
+ * function calls the reimplemented QGLWidget::resizeGL() method of the GL
+ * widgets (PendulumGLWidget::resizeGL(), RotationGLWidget::resizeGL()) which
+ * really resizes the GL scenery. */
+class SsPreviewArea : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ /** @brief Constructor for SsPreviewArea
+ * @param parent Pointer tp parent widget, forwarded to the QWidget
+ * constructor
+ * @param name Pointer to widget name, forwarded to the QWidget constructor
+ *
+ * The constructor just calls QWidget::QWidget() with the given arguments.
+ */
+ SsPreviewArea(QWidget* parent = NULL, const char* name = NULL);
+
+ protected:
+ /** @brief Called if widget gets resized.
+ * @param e Pointer to the corresponding QResizeEvent object containing the
+ * resize information
+ *
+ * Reimplemented event handler from QWidget. Only the signal resized() is
+ * emitted. */
+ virtual void resizeEvent(QResizeEvent* e);
+
+ signals:
+ /** @brief Signal which is emitted in the resizeEvent() method.
+ * @param e Pointer to the corresponding QResizeEvent object */
+ void resized(QResizeEvent* e);
+};
+
+#endif
diff --git a/kscreensaver/kdesavers/vec3.cpp b/kscreensaver/kdesavers/vec3.cpp
new file mode 100644
index 00000000..c66730e5
--- /dev/null
+++ b/kscreensaver/kdesavers/vec3.cpp
@@ -0,0 +1,105 @@
+//============================================================================
+//
+// 3-dim real vector class
+// $Id$
+// Copyright (C) 2004 Georg Drenkhahn
+//
+// This file is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+//============================================================================
+
+#include <math.h>
+#if !defined(NAN)
+static inline double nan__()
+{
+ static const unsigned int one = 1;
+ static const bool BigEndian = (*((unsigned char *) &one) == 0);
+
+ static const unsigned char be_nan_bytes[] = { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 };
+ static const unsigned char le_nan_bytes[] = { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f };
+
+ return *( ( const double * )( BigEndian ? be_nan_bytes : le_nan_bytes ) );
+}
+# define NAN (::nan__())
+#endif
+
+#include <config.h>
+
+#ifdef HAVE_NUMERIC_LIMITS
+#include <limits>
+#endif
+
+#include <cerrno>
+#include "vec3.h"
+
+template<typename T>
+vec3<T>& vec3<T>::normalize()
+{
+ T n = norm(*this);
+ if (n != 0)
+ {
+ (*this) /= n;
+ }
+ else
+ {
+ errno = EDOM; // indicate domain error
+ // TODO: throw an exception?
+ }
+ return *this;
+}
+
+template<typename T>
+vec3<T>& vec3<T>::rotate(const vec3<T>& r)
+{
+ T phi = norm(r);
+ if (phi != 0)
+ {
+ // part of vector which is parallel to r
+ vec3<T> par(r*(*this)/(r*r) * r);
+ // part of vector which is perpendicular to r
+ vec3<T> perp(*this - par);
+ // rotation direction, size of perp
+ vec3<T> rotdir(norm(perp) * normalized(crossprod(r,perp)));
+ *this = par + cos(phi)*perp + sin(phi)*rotdir;
+ }
+ return *this;
+}
+
+/*--- static member functions ---*/
+
+template<typename T>
+T vec3<T>::cos_angle(const vec3<T>& a, const vec3<T>& b)
+{
+ T den = norm(a) * norm(b);
+ T ret = 0;
+ // if |a|=0 or |b|=0 then angle is not defined. We return NAN in this case.
+ if (den != 0.0)
+ {
+ ret = a*b/den;
+ }
+ else
+ {
+ errno = EDOM; // indicate domain error
+#ifdef HAVE_NUMERIC_LIMITS
+ // TODO test
+ ret = std::numeric_limits<T>::quiet_NaN();
+#else
+ ret = NAN; // return NAN from ISO C99
+#endif
+ }
+ return ret;
+}
+
+template<typename T>
+T vec3<T>::angle(const vec3<T>& a, const vec3<T>& b, const vec3<T>& c)
+{
+ // if |a|=0 or |b|=0 then angle is not defined. We return NAN in this case.
+ T ang = vec3<T>::angle(a,b);
+ return (crossprod(a,b)*c<0) ?
+ T(2.*M_PI)-ang : ang;
+}
+
+// explicite instantiation
+template class vec3<double>;
diff --git a/kscreensaver/kdesavers/vec3.h b/kscreensaver/kdesavers/vec3.h
new file mode 100644
index 00000000..62aeb8ed
--- /dev/null
+++ b/kscreensaver/kdesavers/vec3.h
@@ -0,0 +1,214 @@
+//============================================================================
+//
+// 3-dim real vector class
+// $Id$
+// Copyright (C) 2004 Georg Drenkhahn
+//
+// This file is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+//============================================================================
+
+#ifndef VEC3_H
+#define VEC3_H
+
+#include <valarray>
+
+/** @brief 3-dimensional real vector
+ *
+ * Implements regular 3 dimensional (space) vectors including the common inner
+ * scalar product (2 norm) and the cross product. @a T may be any integer or
+ * float data type which is an acceptable template argument of std::valarray. */
+template<typename T>
+class vec3 : public std::valarray<T>
+{
+ public:
+ /** Default constructor */
+ vec3();
+ /** Constructor with initial element values */
+ vec3(const T&, const T&, const T&);
+ /** Copy constructor */
+ vec3(const std::valarray<T>&);
+ /** Copy constructor */
+ vec3(const std::slice_array<T>&);
+
+ /** Normalize the vector to have a norm of 1. @return Normalized vector if
+ * length is non-zero and otherwise the zero vector. */
+ vec3& normalize();
+
+ /** Rotate the vector (*this) in positive mathematical direction around the
+ * direction given by @a r. The norm of @a r specifies the rotation angle in
+ * radians.
+ * @param r Rotation vector.
+ * @return Rotated vector. */
+ vec3& rotate(const vec3& r);
+
+ /*--- static funcions ---*/
+
+ /** @param a first vector
+ * @param b second vector
+ * @return Cosine of the angle between @a a and @a b. If norm(@a a)==0 or
+ * norm(@a b)==0 the global variable errno is set to EDOM and NAN (or
+ * std::numeric_limits<T>::quiet_NaN()) is returned. */
+ static T cos_angle(const vec3& a, const vec3& b);
+
+ /** @brief Returns the angle between vectors @c a and @a b but with respect
+ * to a preferred rotation direction @a c.
+ *
+ * @param a First vector for angle. Must be | @a a |>0 otherwises NAN is
+ * returned.
+ * @param b Second vector for angle. Must be | @a b |>0 otherwises NAN is
+ * returned.
+ * @param c Indicates the rotation direction. @a c can be any vector which is
+ * not part of the plane spanned by @a a and @a b. If | @a c | = 0 the
+ * smalest possible angle angle is returned.
+ * @return Angle in radians between 0 and 2*Pi or NAN if | @a a |=0 or | @a b
+ * |=0.
+ *
+ * For @a a not parallel to @a b and @a a not antiparallel to @a b the 2
+ * vectors @a a,@a b span a unique plane in the 3-dimensional space. Let @b
+ * n<sub>1</sub> and @b n<sub>2</sub> be the two possible normal vectors for
+ * this plane with |@b n<sub>i</sub> |=1, i={1,2} and @b n<sub>1</sub> = -@b
+ * n<sub>2</sub> .
+ *
+ * Let further @a a and @a b enclose an angle alpha in [0,Pi], then there is
+ * one i in {1,2} so that (alpha*@b n<sub>i</sub> x @a a) * @a b = 0. This
+ * means @a a rotated by the rotation vector alpha*@b n<sub>i</sub> is
+ * parallel to @a b. One could also rotate @a a by (2*Pi-alpha)*(-@b
+ * n<sub>i</sub>) to acomplish the same transformation with
+ * ((2*Pi-alpha)*(-@b n<sub>i</sub>) x @a a) * @a b = 0
+ *
+ * The vector @a c defines the direction of the normal vector to take as
+ * reference. If @a c * @b n<sub>i</sub> > 0 alpha is returned and otherwise
+ * 2*Pi-alpha. If @a a parallel to @a b or @a a parallel to @a b the choice
+ * of @a c does not matter. */
+ static T angle(const vec3& a, const vec3& b, const vec3& c);
+
+ /*--- static inline funcions ---*/
+
+ /** Norm of argument vector.
+ * @param a vector.
+ * @return | @a a | */
+ static T norm(const vec3& a);
+
+ /** Angle between @a a and @a b.
+ * @param a fist vector. Must be | @a a | > 0 otherwises NAN is returned.
+ * @param b second vector. Must be | @a b | > 0 otherwises NAN is returned.
+ * @return Angle in radians between 0 and Pi or NAN if | @a a | = 0 or | @a b
+ * | = 0. */
+ static T angle(const vec3& a, const vec3& b);
+
+ /** Cross product of @a a and @a b.
+ * @param a fist vector.
+ * @param b second vector.
+ * @return Cross product of argument vectors @a a x @a b. */
+ static vec3 crossprod(const vec3& a, const vec3& b);
+
+ /** Normalized version of argument vector.
+ * @param a vector.
+ * @return @a a / | @a a | for | @a a | > 0 and otherwise the zero vector
+ * (=@a a). In the latter case the global variable errno is set to EDOM. */
+ static vec3 normalized(vec3 a);
+};
+
+/*--- inline member functions ---*/
+
+template<typename T>
+inline vec3<T>::vec3()
+ : std::valarray<T>(3)
+{}
+
+template<typename T>
+inline vec3<T>::vec3(const T& a, const T& b, const T& c)
+ : std::valarray<T>(3)
+{
+ (*this)[0] = a;
+ (*this)[1] = b;
+ (*this)[2] = c;
+}
+
+template<typename T>
+inline vec3<T>::vec3(const std::valarray<T>& a)
+ : std::valarray<T>(a)
+{
+}
+
+template<typename T>
+inline vec3<T>::vec3(const std::slice_array<T>& a)
+ : std::valarray<T>(a)
+{
+}
+
+/*--- inline non-member operators ---*/
+
+/** @param a first vector summand
+ * @param b second vector summand
+ * @return Sum vector of vectors @a a and @a b. */
+template<typename T>
+inline vec3<T> operator+(vec3<T> a, const vec3<T>& b)
+{
+ a += b; /* valarray<T>::operator+=(const valarray<T>&) */
+ return a;
+}
+
+/** @param a first vector multiplicant
+ * @param b second vector multiplicant
+ * @return Scalar product of vectors @a a and @a b. */
+template<typename T>
+inline T operator*(vec3<T> a, const vec3<T>& b)
+{
+ a *= b; /* valarray<T>::operator*=(const T&) */
+ return a.sum();
+}
+
+/** @param a scalar multiplicant
+ * @param b vector operand
+ * @return Product vector of scalar @a a and vector @a b. */
+template<typename T>
+inline vec3<T> operator*(const T& a, vec3<T> b)
+{
+ b *= a; /* valarray<T>::operator*=(const T&) */
+ return b;
+}
+
+/** @param a vector operand
+ * @param b scalar multiplicant
+ * @return Product vector of scalar @a b and vector @a a. */
+template<typename T>
+inline vec3<T> operator*(vec3<T> a, const T& b)
+{
+ return b*a; /* vec3<T>::operator*(const T&, vec3<T>) */
+}
+
+/*--- static inline funcions ---*/
+
+template<typename T>
+inline T vec3<T>::norm(const vec3<T>& a)
+{
+ return sqrt(a*a);
+}
+
+template<typename T>
+inline T vec3<T>::angle(const vec3<T>& a, const vec3<T>& b)
+{
+ // returns NAN if cos_angle() returns NAN (TODO: test this case)
+ return acos(cos_angle(a,b));
+}
+
+template<typename T>
+inline vec3<T> vec3<T>::crossprod(const vec3<T>& a, const vec3<T>& b)
+{
+ return vec3<T>(
+ a[1]*b[2] - a[2]*b[1],
+ a[2]*b[0] - a[0]*b[2],
+ a[0]*b[1] - a[1]*b[0]);
+}
+
+template<typename T>
+inline vec3<T> vec3<T>::normalized(vec3<T> a)
+{
+ return a.normalize();
+}
+
+#endif
diff --git a/kscreensaver/kdesavers/vm.c b/kscreensaver/kdesavers/vm.c
new file mode 100644
index 00000000..6d4a1af2
--- /dev/null
+++ b/kscreensaver/kdesavers/vm.c
@@ -0,0 +1,264 @@
+/*
+ * vm.c
+ *
+ * Copyright (c) 2000 Artur Rataj
+ * Distributed under the terms of the GNU General Public License
+ *
+ */
+
+#include "vm.h"
+
+#define ERROR_VALUE INT_MAX
+
+int vm_init_pool( struct tvm_pool** pool,
+ int area_size,
+ int max_stack_size,
+ int max_threads_num ) {
+ int position;
+
+ ( *pool ) = (struct tvm_pool*)malloc( sizeof(struct tvm_pool) );
+ ( *pool )->area_size = area_size;
+ ( *pool )->area = (int*)malloc( (*pool)->area_size*sizeof(int) );
+ ( *pool )->processes = NULL;
+ ( *pool )->max_stack_size = max_stack_size;
+ ( *pool )->max_threads_num = max_threads_num;
+ vm_enable_reverse( *pool, 0 );
+ for( position = 0; position < (*pool)->area_size; ++position )
+ ( *pool )->area[position] = VM_OP_STOP;
+ return 1;
+}
+
+void vm_done_pool( struct tvm_pool* pool ) {
+ struct tvm_process* curr_process;
+ free( pool->area );
+ curr_process = pool->processes;
+ while( curr_process ) {
+ struct tvm_process* tmp_process;
+
+ tmp_process = curr_process;
+ curr_process = curr_process->next;
+ free( tmp_process->stack );
+ free( tmp_process );
+ }
+ free( pool );
+}
+
+static int push( struct tvm_pool* pool,
+ struct tvm_process* process,
+ int value ) {
+ if( process->stack_top == pool->max_stack_size )
+ return ERROR_VALUE;
+ else
+ process->stack[process->stack_top++] = value;
+ return 1;
+}
+
+static int pop( struct tvm_pool* pool,
+ struct tvm_process* process ) {
+ if( process->stack_top == 0 )
+ return ERROR_VALUE;
+ else
+{
+ return process->stack[--process->stack_top];
+}
+}
+
+void vm_modify( struct tvm_pool* pool,
+ int position,
+ int op ) {
+ pool->area[position] = op;
+}
+
+void vm_exec( struct tvm_pool* pool,
+ int position,
+ int age,
+ int reverse ) {
+ struct tvm_process* new_process;
+
+ new_process = (struct tvm_process*)malloc( sizeof(struct tvm_process) );
+ new_process->position = position;
+ new_process->stack = (int*)malloc( pool->max_stack_size*sizeof(int) );
+ new_process->stack_top = 0;
+ new_process->age = age;
+ new_process->reverse = reverse;
+ new_process->next = pool->processes;
+ pool->processes = new_process;
+}
+
+void vm_enable_reverse( struct tvm_pool* pool,
+ const int enabled ) {
+ pool->reverse_enabled = enabled;
+}
+
+int vm_get_reverse( struct tvm_pool* pool ) {
+ if( pool->reverse_enabled )
+ return (int)( vm_random(&(pool->vm_random_data))*2.0/
+ ( VM_RAND_MAX + 1.0 ) );
+ else
+ return 0;
+}
+
+void vm_iterate( struct tvm_pool* pool,
+ char* modified ) {
+ struct tvm_process* prev_process;
+ struct tvm_process* curr_process;
+ struct tvm_process* next_process;
+ int processes_num;
+
+ processes_num = 0;
+ prev_process = NULL;
+ curr_process = pool->processes;
+ while( curr_process ) {
+ int op;
+ int arg;
+ int arg_2;
+ int arg_3;
+
+ ++curr_process->age;
+ next_process = curr_process->next;
+ op = pool->area[curr_process->position];
+ if( curr_process->reverse )
+ --curr_process->position;
+ else
+ ++curr_process->position;
+ curr_process->position = ( curr_process->position + pool->area_size )%
+ pool->area_size;
+ switch( op ) {
+ case VM_OP_WAIT:
+ break;
+
+ case VM_OP_STOP:
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ break;
+
+ case VM_OP_EXEC:
+ if( (arg = pop( pool, curr_process )) == ERROR_VALUE ) {
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ } else {
+ arg = curr_process->position + arg;
+ if( arg < 0 )
+ arg += pool->area_size;
+ if( arg >= pool->area_size )
+ arg -= pool->area_size;
+ vm_exec( pool, arg, curr_process->age, vm_get_reverse(pool) );
+ }
+ break;
+
+ case VM_OP_COPY:
+ if( (arg = pop( pool, curr_process )) == ERROR_VALUE ) {
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ } else if( (arg_2 = pop( pool, curr_process )) == ERROR_VALUE ) {
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ } else if( 1 && (arg_3 = pop( pool, curr_process )) == ERROR_VALUE ) {
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ } else {
+ int count;
+ int direction;
+
+ arg = curr_process->position + arg;
+ if( arg < 0 )
+ arg += pool->area_size;
+ if( arg >= pool->area_size )
+ arg -= pool->area_size;
+ arg_2 = curr_process->position + arg_2;
+ if( arg_2 < 0 )
+ arg_2 += pool->area_size;
+ if( arg_2 >= pool->area_size )
+ arg_2 -= pool->area_size;
+ if( curr_process->reverse )
+ direction = -1;
+ else
+ direction = 1;
+ for( count = 0; count < arg_3; ++count ) {
+ int i, j;
+ int offset;
+
+ offset = count*direction + pool->area_size;
+ i = pool->area[( arg_2 + offset )%pool->area_size];
+ j = pool->area[( arg_2 + offset )%pool->area_size] = pool->area[( arg + offset )%pool->area_size];
+ if( modified && i != j )
+ modified[( arg_2 + offset )%pool->area_size] = 1;
+ }
+ }
+ break;
+
+ default: /* >= VM_OP_PUSH */
+ arg = op - VM_OP_PUSH;
+ if( push(pool, curr_process, arg) == ERROR_VALUE ) {
+ if( !prev_process )
+ pool->processes = curr_process->next;
+ else
+ prev_process->next = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ curr_process = prev_process;
+ --processes_num;
+ }
+ break;
+ }
+ prev_process = curr_process;
+ curr_process = next_process;
+ ++processes_num;
+ }
+ while( processes_num > pool->max_threads_num ) {
+ int process_num;
+ int curr_process_num;
+
+ process_num = (int)( vm_random(&(pool->vm_random_data))*1.0*processes_num/
+ ( VM_RAND_MAX + 1.0 ) );
+/*
+ process_num = (int)( rand()*1.0*processes_num/
+ ( RAND_MAX + 1.0 ) );
+ */
+ curr_process_num = 0;
+ curr_process = pool->processes;
+ prev_process = NULL;
+ while( curr_process_num != process_num ) {
+ prev_process = curr_process;
+ curr_process = curr_process->next;
+ ++curr_process_num;
+ }
+ if( prev_process )
+ prev_process->next = curr_process->next;
+ else
+ pool->processes = curr_process->next;
+ free( curr_process->stack );
+ free( curr_process );
+ --processes_num;
+ }
+}
diff --git a/kscreensaver/kdesavers/vm.h b/kscreensaver/kdesavers/vm.h
new file mode 100644
index 00000000..dc64d241
--- /dev/null
+++ b/kscreensaver/kdesavers/vm.h
@@ -0,0 +1,52 @@
+#ifndef __VM_H__
+#define __VM_H__
+
+#include <stdlib.h>
+#include <stdio.h> /* !!! */
+#include <limits.h>
+#include "vm_random.h"
+
+#define VM_OP_STOP 1
+#define VM_OP_COPY 2
+#define VM_OP_EXEC 3
+#define VM_OP_WAIT 4
+#define VM_OP_PUSH (INT_MAX/2)
+
+struct tvm_process {
+ int position;
+ int* stack;
+ int stack_top;
+ int age;
+ int reverse;
+ struct tvm_process* next;
+};
+
+struct tvm_pool {
+ int* area;
+ int area_size;
+ struct tvm_process* processes;
+ int max_stack_size;
+ int max_threads_num;
+ int reverse_enabled;
+ struct vm_random_data vm_random_data;
+};
+
+int vm_init_pool( struct tvm_pool** pool,
+ int area_size,
+ int max_stack_size,
+ int max_threads_num );
+void vm_modify( struct tvm_pool* pool,
+ int position,
+ int op );
+void vm_exec( struct tvm_pool* pool,
+ int position,
+ int age,
+ int reverse );
+void vm_enable_reverse( struct tvm_pool* pool,
+ const int enabled );
+int vm_get_reverse( struct tvm_pool* pool );
+void vm_iterate( struct tvm_pool* pool,
+ char* modified );
+void vm_done_pool( struct tvm_pool* pool );
+
+#endif /* !defined( __VM_H__ ) */
diff --git a/kscreensaver/kdesavers/vm.xbm b/kscreensaver/kdesavers/vm.xbm
new file mode 100644
index 00000000..3d6e84cd
--- /dev/null
+++ b/kscreensaver/kdesavers/vm.xbm
@@ -0,0 +1,191 @@
+/* Created with The GIMP */
+#define vm_width 44
+#define vm_height 374
+static unsigned char vm_bits[] = {
+ 0x6d, 0xdb, 0xf6, 0xff, 0xff, 0x0f, 0xdb, 0xb6, 0x55, 0xdb, 0xb6, 0x0d,
+ 0x6d, 0x0b, 0xd0, 0xff, 0x07, 0x06, 0x5b, 0x1d, 0xd0, 0xdb, 0xee, 0x0c,
+ 0xf6, 0xf6, 0x77, 0xff, 0xbf, 0x0f, 0x8d, 0x4a, 0xd4, 0xd6, 0xba, 0x0d,
+ 0x05, 0x37, 0xe8, 0xd3, 0x4f, 0x0e, 0x27, 0x2c, 0xd1, 0x9a, 0xce, 0x0c,
+ 0x62, 0x1a, 0xd3, 0xdd, 0xeb, 0x0c, 0x52, 0x94, 0xa2, 0x39, 0xcf, 0x09,
+ 0x73, 0x9a, 0xd2, 0xde, 0xeb, 0x0e, 0xd2, 0x94, 0xd3, 0x39, 0xef, 0x09,
+ 0x53, 0x8a, 0x62, 0xdd, 0xa5, 0x0e, 0x62, 0x1c, 0xe3, 0x9a, 0xef, 0x0c,
+ 0x03, 0x16, 0xd0, 0xd5, 0x46, 0x0d, 0x0e, 0x75, 0xd8, 0xcb, 0x1f, 0x0d,
+ 0xdb, 0xae, 0x6a, 0x77, 0xff, 0x07, 0xd6, 0xaa, 0xed, 0xfe, 0xb6, 0x0e,
+ 0x5d, 0x5f, 0xdb, 0xf7, 0xff, 0x0f, 0x75, 0xf5, 0xd6, 0xbe, 0xb5, 0x0d,
+ 0xab, 0x95, 0xfa, 0xeb, 0xff, 0x07, 0x7a, 0xb7, 0xab, 0x7f, 0xb7, 0x0e,
+ 0xd7, 0x5a, 0xd5, 0xef, 0xfd, 0x0f, 0xad, 0x76, 0x77, 0xdd, 0xb7, 0x0d,
+ 0xf5, 0x0d, 0xd0, 0x7f, 0x47, 0x0c, 0x57, 0x1b, 0xd0, 0xf7, 0x5e, 0x0d,
+ 0x5a, 0xf5, 0xdb, 0xfe, 0xfb, 0x07, 0x6b, 0x97, 0xda, 0xad, 0xaf, 0x0e,
+ 0x85, 0x1a, 0xf4, 0xe5, 0x56, 0x0f, 0x87, 0x36, 0xa8, 0xe9, 0x1f, 0x0d,
+ 0x9a, 0xed, 0xec, 0xb7, 0x75, 0x0f, 0x16, 0x9b, 0xa8, 0xe7, 0x6f, 0x0d,
+ 0x8d, 0x76, 0xdc, 0xb7, 0x3f, 0x0f, 0x9d, 0xd5, 0xd4, 0xe6, 0x76, 0x0d,
+ 0x8b, 0xb6, 0xfc, 0xef, 0x5f, 0x0f, 0x9d, 0xad, 0xa4, 0xad, 0x5d, 0x0d,
+ 0x03, 0x34, 0xd0, 0xa5, 0x17, 0x0d, 0x06, 0x14, 0xc0, 0x91, 0x5e, 0x08,
+ 0xfd, 0xef, 0x7e, 0xff, 0xfb, 0x0f, 0xab, 0xaa, 0xe5, 0x77, 0xd7, 0x0f,
+ 0x6a, 0x5d, 0xdd, 0xdf, 0x7f, 0x0d, 0xde, 0xd5, 0x55, 0xfd, 0xf6, 0x0f,
+ 0x55, 0xb7, 0xf6, 0xef, 0xdf, 0x0a, 0xdb, 0xb6, 0xd6, 0x7d, 0xfb, 0x0f,
+ 0xb6, 0xea, 0xda, 0xef, 0x6f, 0x07, 0xb6, 0xaf, 0xb6, 0xbd, 0xfd, 0x0e,
+ 0x6d, 0x15, 0xd0, 0xef, 0x07, 0x0d, 0x5b, 0x1b, 0xd0, 0xfd, 0xae, 0x0c,
+ 0x76, 0xed, 0xdb, 0xef, 0xfb, 0x07, 0x8d, 0x5b, 0x5a, 0x5b, 0x5f, 0x0f,
+ 0x05, 0x16, 0xf0, 0xe5, 0x8b, 0x0e, 0x23, 0x14, 0xd1, 0x4c, 0x6f, 0x0c,
+ 0x72, 0x9e, 0xd2, 0x9e, 0xb3, 0x0d, 0x56, 0xd4, 0xf2, 0xbd, 0xff, 0x0c,
+ 0x1b, 0xbb, 0xd0, 0xc7, 0x36, 0x0d, 0x1b, 0xd6, 0x50, 0xdf, 0x7f, 0x0e,
+ 0xc6, 0x35, 0xfe, 0xf1, 0x96, 0x0b, 0x42, 0x16, 0xc2, 0xab, 0xaf, 0x0d,
+ 0x01, 0x0a, 0x70, 0x94, 0x45, 0x0e, 0x03, 0x1e, 0xd0, 0xa9, 0x4b, 0x0c,
+ 0xfd, 0xd2, 0xeb, 0xfe, 0xff, 0x07, 0xab, 0x5e, 0xdd, 0x6f, 0xdd, 0x0e,
+ 0xed, 0xb5, 0xd5, 0xfd, 0xf7, 0x0f, 0x5b, 0xab, 0xb6, 0x6f, 0xbf, 0x0d,
+ 0xd6, 0x76, 0xdb, 0xfd, 0xed, 0x07, 0xb5, 0xd6, 0xd6, 0xdb, 0xdf, 0x0e,
+ 0xef, 0x5a, 0xdd, 0x7f, 0xfb, 0x0f, 0xaa, 0xb7, 0xd5, 0xee, 0xbf, 0x0d,
+ 0x5d, 0x15, 0xf0, 0x7b, 0x03, 0x0c, 0xeb, 0x16, 0x50, 0xff, 0xb7, 0x0d,
+ 0x5d, 0xfb, 0xeb, 0x6b, 0xff, 0x0e, 0x55, 0x4b, 0x5c, 0xef, 0xad, 0x0d,
+ 0x03, 0x1d, 0xf0, 0xd1, 0x4f, 0x0e, 0x22, 0x14, 0xd1, 0x9d, 0xd6, 0x0c,
+ 0x57, 0x6e, 0xd3, 0xb6, 0xef, 0x0c, 0x3a, 0xda, 0xd0, 0x97, 0xbd, 0x0d,
+ 0x07, 0x55, 0xe8, 0xeb, 0x2f, 0x06, 0x2d, 0x5e, 0x51, 0x97, 0xfd, 0x0c,
+ 0x5d, 0xb4, 0xe2, 0x5f, 0xb7, 0x0d, 0x75, 0xea, 0xa3, 0x5d, 0xff, 0x09,
+ 0x03, 0x1a, 0xd0, 0xd6, 0x25, 0x0e, 0x02, 0x16, 0xf0, 0x88, 0xa7, 0x0c,
+ 0xef, 0xb5, 0xce, 0xf7, 0xdf, 0x0f, 0xad, 0xd6, 0xda, 0x7f, 0xbd, 0x0d,
+ 0xb5, 0xad, 0x6d, 0xef, 0xf7, 0x07, 0xb7, 0x6d, 0xeb, 0xdd, 0xdf, 0x0e,
+ 0xda, 0x5a, 0xdd, 0x7f, 0xfd, 0x0f, 0x56, 0xb7, 0xd5, 0xf6, 0xaf, 0x0d,
+ 0xfb, 0x6a, 0xdb, 0xdf, 0xfd, 0x0e, 0x56, 0xdb, 0xda, 0xfd, 0xed, 0x0d,
+ 0xb5, 0x0d, 0xd0, 0xb7, 0x07, 0x06, 0x6d, 0x1b, 0xd0, 0xfe, 0xdf, 0x0c,
+ 0xdb, 0xf6, 0xdb, 0xb7, 0xf6, 0x0f, 0xb6, 0x95, 0xda, 0xfe, 0xbf, 0x0d,
+ 0x0d, 0x7b, 0xe8, 0xc7, 0x36, 0x0f, 0x1b, 0xd6, 0xd8, 0xd6, 0x3f, 0x0c,
+ 0x06, 0x2b, 0xe8, 0xd3, 0x56, 0x0f, 0x25, 0x3a, 0xa8, 0xcb, 0x5f, 0x0d,
+ 0x23, 0x17, 0xe9, 0x6c, 0x4d, 0x0e, 0x23, 0x1a, 0xd9, 0xcd, 0x6b, 0x0d,
+ 0x02, 0x0b, 0xd0, 0xd4, 0x27, 0x0d, 0x02, 0x1a, 0xd0, 0x92, 0x26, 0x0d,
+ 0x2f, 0x76, 0xf0, 0xe7, 0x5f, 0x0e, 0x0a, 0x6a, 0xd0, 0x8e, 0x5d, 0x0c,
+ 0xfd, 0xad, 0xd7, 0xfb, 0xff, 0x07, 0x95, 0xb5, 0xb6, 0xff, 0xb5, 0x0f,
+ 0x7b, 0xd7, 0xda, 0xad, 0xff, 0x0e, 0x56, 0xbd, 0xb6, 0xff, 0xdb, 0x0d,
+ 0x75, 0xeb, 0xea, 0x5d, 0xff, 0x07, 0xd7, 0xaa, 0xae, 0xfb, 0xb6, 0x0e,
+ 0x5a, 0xd7, 0xf5, 0xff, 0xff, 0x0f, 0x76, 0x5d, 0xad, 0x6d, 0xab, 0x0d,
+ 0xad, 0x15, 0xd0, 0xff, 0x17, 0x0c, 0x6d, 0x17, 0x70, 0xdb, 0xd6, 0x0d,
+ 0xdb, 0xfa, 0xeb, 0xff, 0x7f, 0x07, 0xda, 0x96, 0xd6, 0xb6, 0xed, 0x0f,
+ 0x03, 0x2a, 0xd0, 0xc9, 0x17, 0x0c, 0x05, 0x1a, 0xd0, 0xa9, 0x4e, 0x0d,
+ 0xf3, 0x97, 0x6f, 0xfd, 0xeb, 0x0f, 0x02, 0x1a, 0xe8, 0xc5, 0x0f, 0x0d,
+ 0x03, 0x16, 0xd0, 0xaa, 0xad, 0x0c, 0x76, 0xb4, 0xd3, 0x9d, 0xff, 0x09,
+ 0x5b, 0x6e, 0xe1, 0xbf, 0x6a, 0x0d, 0x76, 0x58, 0x47, 0xb7, 0xff, 0x0d,
+ 0x01, 0x86, 0xf0, 0xcc, 0x26, 0x0c, 0x03, 0x1d, 0xd0, 0xc9, 0x4d, 0x0d,
+ 0xdd, 0x56, 0xed, 0xf7, 0xf7, 0x0f, 0xb5, 0x6d, 0xad, 0x7e, 0xbf, 0x0d,
+ 0xd7, 0xda, 0xda, 0xf7, 0xed, 0x07, 0xbd, 0xab, 0xdb, 0xaf, 0xbf, 0x0e,
+ 0x55, 0x5d, 0x75, 0xff, 0xed, 0x0f, 0xed, 0x75, 0xd7, 0xba, 0xff, 0x0d,
+ 0x5b, 0xab, 0xda, 0xff, 0x5a, 0x0f, 0xb6, 0x6e, 0xdb, 0xed, 0xff, 0x0d,
+ 0x6d, 0x1b, 0x70, 0xbf, 0x05, 0x06, 0x6b, 0x15, 0xd0, 0xf7, 0xaf, 0x0c,
+ 0xae, 0xdb, 0xeb, 0xbe, 0xfb, 0x0f, 0x5a, 0xb6, 0xda, 0x6f, 0x7f, 0x0d,
+ 0x05, 0x2a, 0xd0, 0xd2, 0x15, 0x0d, 0x47, 0x3e, 0xd0, 0xab, 0xaf, 0x0d,
+ 0xb1, 0x85, 0xef, 0xfc, 0xeb, 0x0e, 0x83, 0x1d, 0xd8, 0x65, 0x97, 0x0d,
+ 0x01, 0x0b, 0x68, 0xd4, 0x23, 0x0e, 0x23, 0x0a, 0xd1, 0x99, 0xe7, 0x0c,
+ 0x38, 0x8e, 0x71, 0xde, 0xf6, 0x06, 0x63, 0x1a, 0xe3, 0x9c, 0xc7, 0x0c,
+ 0x21, 0x16, 0xe8, 0xea, 0xad, 0x0e, 0x07, 0x35, 0xd8, 0xa3, 0x1f, 0x0d,
+ 0xad, 0xd7, 0xea, 0xfe, 0xfa, 0x0f, 0xb5, 0xb6, 0xd6, 0xef, 0xb7, 0x0d,
+ 0xdb, 0xda, 0x6d, 0x7b, 0xff, 0x07, 0xb6, 0xab, 0xda, 0xef, 0xad, 0x0e,
+ 0x6d, 0xdd, 0x76, 0xff, 0xff, 0x0f, 0xab, 0xd5, 0xea, 0xb6, 0xb5, 0x0d,
+ 0xdd, 0xae, 0xed, 0xff, 0xff, 0x07, 0xdb, 0xba, 0x55, 0xdb, 0xb6, 0x0e,
+ 0xb6, 0x15, 0xd0, 0xff, 0x47, 0x0c, 0x6d, 0x17, 0x70, 0xdb, 0xae, 0x0d,
+ 0xd5, 0xfa, 0xd7, 0xff, 0xff, 0x0e, 0xbd, 0x26, 0x6d, 0xdb, 0xda, 0x0d,
+ 0x03, 0x1c, 0xe0, 0xa1, 0x27, 0x0a, 0x02, 0x2a, 0x50, 0x97, 0xcf, 0x0c,
+ 0x77, 0x9a, 0xf3, 0x5d, 0xef, 0x0e, 0x6a, 0xb6, 0xa2, 0xbf, 0xdd, 0x0c,
+ 0x17, 0x6a, 0xf1, 0xca, 0x7f, 0x0d, 0x7d, 0xae, 0xd1, 0x5f, 0xeb, 0x0e,
+ 0x15, 0x5b, 0xe9, 0xef, 0x3f, 0x06, 0x37, 0x75, 0x59, 0x4d, 0xfb, 0x0e,
+ 0x9a, 0xd6, 0xd4, 0xf7, 0x2f, 0x0f, 0x96, 0xad, 0xd8, 0xe7, 0x7d, 0x0d,
+ 0x6d, 0xdb, 0x76, 0xbf, 0xff, 0x07, 0xdb, 0xb6, 0xd6, 0xfd, 0xd5, 0x0e,
+ 0xb6, 0xd5, 0xed, 0xb7, 0xff, 0x0f, 0xad, 0xb6, 0xda, 0xfe, 0xae, 0x0d,
+ 0x75, 0xdb, 0xd6, 0xdb, 0xfb, 0x07, 0x6f, 0xab, 0xb5, 0xff, 0xbf, 0x0e,
+ 0xaa, 0x5d, 0xdb, 0xad, 0xf5, 0x0f, 0xba, 0xd5, 0xd6, 0xff, 0xbf, 0x0d,
+ 0xd7, 0x0e, 0x70, 0xbb, 0x43, 0x0c, 0xb5, 0x1a, 0xd0, 0x77, 0x57, 0x0d,
+ 0xef, 0xed, 0xeb, 0xfe, 0xff, 0x07, 0x0a, 0x5b, 0xdc, 0xd7, 0xad, 0x0e,
+ 0x05, 0x15, 0xd0, 0x68, 0x8f, 0x0e, 0x23, 0x1e, 0xd1, 0x95, 0xad, 0x0c,
+ 0x79, 0x94, 0xf2, 0xde, 0xf7, 0x0c, 0x43, 0x96, 0xd2, 0x59, 0xc7, 0x0d,
+ 0x05, 0x2d, 0xd0, 0xca, 0x1d, 0x06, 0x05, 0x2a, 0xd8, 0xd3, 0x57, 0x0e,
+ 0x73, 0x8e, 0xd3, 0x9c, 0xe7, 0x0c, 0x52, 0x9a, 0xd2, 0xbd, 0xee, 0x0d,
+ 0x21, 0x16, 0x70, 0x95, 0xa3, 0x0c, 0x07, 0x2d, 0xd0, 0xd3, 0x1f, 0x0d,
+ 0x55, 0xdb, 0x76, 0xef, 0xf7, 0x0f, 0xdd, 0x56, 0xd5, 0xbd, 0xbe, 0x0d,
+ 0x6b, 0xdd, 0x76, 0xff, 0xeb, 0x07, 0xad, 0xd5, 0xd6, 0xdb, 0xbf, 0x0e,
+ 0x7b, 0xbb, 0xed, 0x7e, 0xef, 0x0f, 0x56, 0xab, 0xda, 0xf7, 0xfd, 0x0d,
+ 0x75, 0x6d, 0xeb, 0xde, 0x57, 0x0f, 0xd7, 0xdb, 0xda, 0xfd, 0xfe, 0x0d,
+ 0x5a, 0x15, 0xe0, 0xb7, 0x07, 0x06, 0x76, 0x17, 0x50, 0xff, 0xb7, 0x0c,
+ 0xad, 0xfa, 0xef, 0x6d, 0xfd, 0x0f, 0xcb, 0x27, 0xda, 0xfb, 0xaf, 0x0d,
+ 0x05, 0x1a, 0xe8, 0xa4, 0x0b, 0x0f, 0x22, 0x96, 0xd0, 0x55, 0x77, 0x0c,
+ 0x19, 0x8d, 0x69, 0xee, 0x73, 0x07, 0x71, 0x14, 0xe1, 0x9c, 0xe7, 0x0c,
+ 0x03, 0x8e, 0xf0, 0xc6, 0x16, 0x0e, 0x05, 0x1a, 0xc0, 0x95, 0xaf, 0x0c,
+ 0x2b, 0x6d, 0x79, 0xdb, 0xdd, 0x06, 0x3d, 0x5b, 0xd1, 0xdf, 0x7b, 0x0e,
+ 0x01, 0x15, 0xd8, 0x62, 0x97, 0x0e, 0x43, 0x17, 0xda, 0xea, 0x97, 0x0d,
+ 0xb5, 0xad, 0xf5, 0x7e, 0xeb, 0x0f, 0xad, 0xba, 0xd6, 0xed, 0xbf, 0x0d,
+ 0x7b, 0x6b, 0xed, 0xbf, 0xff, 0x07, 0xd6, 0xd6, 0x55, 0x7b, 0xb5, 0x0e,
+ 0xb5, 0xad, 0xee, 0xff, 0xff, 0x0f, 0x6d, 0xdb, 0x5a, 0xeb, 0xb6, 0x0d,
+ 0xdb, 0xb6, 0xf5, 0xbf, 0xff, 0x07, 0xb6, 0xad, 0x56, 0xfb, 0xb5, 0x0e,
+ 0x55, 0xdb, 0xed, 0xef, 0xff, 0x0f, 0xee, 0x16, 0xd0, 0xbe, 0x06, 0x0c,
+ 0xb5, 0x1a, 0xf0, 0xf7, 0x57, 0x0d, 0xd7, 0xd6, 0xcf, 0xfe, 0xfe, 0x0f,
+ 0xaa, 0x2d, 0xf8, 0xd5, 0xab, 0x0a, 0x03, 0x1b, 0xa0, 0xa5, 0x17, 0x0f,
+ 0x06, 0x35, 0xd8, 0xd5, 0xaf, 0x06, 0x0d, 0x6e, 0xd0, 0xab, 0x3d, 0x0e,
+ 0x25, 0x2a, 0x79, 0xdb, 0xd7, 0x0c, 0x67, 0x3a, 0xd3, 0x99, 0xce, 0x0d,
+ 0x02, 0x14, 0xe0, 0xa2, 0x17, 0x04, 0x03, 0x14, 0xc0, 0x2d, 0x57, 0x09,
+ 0x70, 0x08, 0x43, 0x5a, 0xea, 0x0a, 0x41, 0x08, 0xc2, 0x98, 0xc2, 0x01,
+ 0xf7, 0x7b, 0xdb, 0xff, 0x7f, 0x0f, 0xad, 0x56, 0xdb, 0xf7, 0xef, 0x0f,
+ 0xb5, 0x75, 0x75, 0x5f, 0xbd, 0x0e, 0xb7, 0x56, 0xd7, 0xfd, 0xf7, 0x0d,
+ 0xea, 0xed, 0xda, 0xf7, 0xbe, 0x07, 0x5e, 0xab, 0xd6, 0xde, 0x77, 0x0f,
+ 0xd5, 0x6e, 0xdd, 0xff, 0xfe, 0x0d, 0xb5, 0xda, 0xb5, 0xdb, 0xb7, 0x0f,
+ 0xef, 0x56, 0xeb, 0x7e, 0xfb, 0x06, 0xd5, 0x1a, 0xd0, 0xf7, 0x07, 0x0c,
+ 0xad, 0x0b, 0xd0, 0xde, 0xee, 0x0e, 0x7b, 0xfb, 0xf7, 0xfd, 0xdd, 0x0d,
+ 0x05, 0x0d, 0xa8, 0xeb, 0xb7, 0x0e, 0x03, 0x1a, 0x60, 0x09, 0x87, 0x08,
+ 0xa2, 0x14, 0xe5, 0xb5, 0x6f, 0x0d, 0xa7, 0x3c, 0xa5, 0x3b, 0xcd, 0x09,
+ 0x46, 0x14, 0xe2, 0xac, 0x6f, 0x0d, 0x05, 0x34, 0xc0, 0x91, 0x4e, 0x08,
+ 0xa5, 0x18, 0xc2, 0x6d, 0xab, 0x0b, 0xa7, 0x31, 0xce, 0x79, 0xce, 0x03,
+ 0x02, 0x0c, 0xc0, 0x4a, 0x17, 0x0a, 0x02, 0x18, 0xc0, 0x49, 0x57, 0x0a,
+ 0xfb, 0xf7, 0x7f, 0xff, 0xfd, 0x0f, 0x56, 0xad, 0xd4, 0xbf, 0xb7, 0x0d,
+ 0xad, 0x55, 0xeb, 0xfa, 0xfd, 0x0f, 0x7b, 0x77, 0xdd, 0xdf, 0x6f, 0x0d,
+ 0x55, 0xad, 0xeb, 0x76, 0xfb, 0x07, 0x6e, 0x6b, 0xd5, 0xff, 0x6f, 0x0f,
+ 0xb5, 0xfd, 0xff, 0xb6, 0xff, 0x0f, 0xb6, 0xfd, 0xff, 0x7f, 0xff, 0x0f,
+ 0x6d, 0xfb, 0x7f, 0xfb, 0xff, 0x0f, 0xdb, 0xfe, 0xff, 0x6f, 0xff, 0x0f,
+ 0xb6, 0xfd, 0x7f, 0xfb, 0xff, 0x0f, 0x55, 0xfb, 0xff, 0x7f, 0xff, 0x0f,
+ 0x07, 0x7e, 0x70, 0xa3, 0x1f, 0x0e, 0x05, 0x18, 0xe0, 0x25, 0x07, 0x08,
+ 0x71, 0x9c, 0x63, 0x9c, 0xe7, 0x08, 0xd1, 0x8c, 0xe7, 0x3d, 0xe3, 0x09,
+ 0x69, 0xcb, 0x7f, 0xfe, 0xf3, 0x0f, 0xd9, 0xce, 0xff, 0xec, 0xf3, 0x0f,
+ 0xa9, 0xcd, 0x7f, 0xbf, 0xf3, 0x0f, 0x71, 0x8d, 0x6f, 0x7a, 0xe3, 0x0f,
+ 0x01, 0x1c, 0xe0, 0x94, 0x47, 0x09, 0x07, 0x38, 0xe0, 0x23, 0x0f, 0x0c,
+ 0xad, 0xff, 0xfc, 0xfd, 0x7f, 0x0f, 0x6d, 0xfd, 0xbf, 0xdf, 0xff, 0x0f,
+ 0xb5, 0xfd, 0xff, 0x7d, 0xff, 0x0f, 0x6f, 0xfb, 0xff, 0xeb, 0xff, 0x0f,
+ 0xda, 0xfe, 0x7f, 0x7f, 0xff, 0x0f, 0xab, 0xfd, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0x83, 0x1f, 0xfc, 0xe4, 0x57, 0x0f, 0x01, 0x0e, 0xf0, 0x80, 0x07, 0x0c,
+ 0x03, 0x1c, 0xe0, 0x08, 0x47, 0x08, 0xe7, 0x1c, 0xe7, 0x3d, 0xef, 0x09,
+ 0xe3, 0x9c, 0xe7, 0x38, 0xc7, 0x09, 0x03, 0x1e, 0xe0, 0x81, 0x0f, 0x0c,
+ 0x03, 0x1f, 0xf8, 0xc1, 0x0f, 0x0e, 0xe3, 0x1f, 0xff, 0xfd, 0xef, 0x0f,
+ 0x83, 0x1f, 0xfc, 0xe0, 0x07, 0x0f, 0x83, 0x1f, 0xfc, 0xe0, 0x07, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0x0f, 0x3f, 0xf8, 0xe3, 0x1f, 0x0f, 0x03, 0x1e, 0xf0, 0x81, 0x07, 0x0c,
+ 0x73, 0x9e, 0xf3, 0x9c, 0xe7, 0x0c, 0x73, 0x9e, 0xf3, 0xbc, 0xe7, 0x0d,
+ 0xc3, 0x1f, 0xfc, 0xf8, 0x87, 0x0f, 0x07, 0x3e, 0xf0, 0x81, 0x0f, 0x0c,
+ 0x3f, 0xfe, 0xf1, 0x9f, 0x7f, 0x0c, 0x7b, 0x9c, 0xe3, 0xbe, 0xf7, 0x0d,
+ 0x21, 0x0e, 0xf0, 0x88, 0x43, 0x0c, 0x03, 0x1e, 0xf0, 0xc0, 0x07, 0x0c,
+ 0xdf, 0xff, 0xfc, 0xff, 0x7f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xb5, 0xfa, 0xff, 0xff, 0xff, 0x0f, 0x6e, 0xff, 0x7f, 0x55, 0xff, 0x0f,
+ 0xd5, 0xfa, 0xff, 0xff, 0xff, 0x0f, 0xbb, 0xfe, 0xbf, 0x7b, 0xff, 0x0f,
+ 0xd6, 0xfd, 0xff, 0xef, 0xff, 0x0f, 0xb5, 0xfa, 0x7f, 0x7d, 0xff, 0x0f,
+ 0x55, 0x8e, 0xf3, 0xd7, 0xf7, 0x0e, 0x41, 0x0c, 0x61, 0x18, 0xc3, 0x08,
+ 0x21, 0x1c, 0xf3, 0x9e, 0xc7, 0x0c, 0x27, 0x3a, 0xf0, 0x51, 0x0f, 0x0e,
+ 0x8a, 0x7b, 0xb8, 0xe3, 0x1f, 0x0f, 0x0b, 0x7e, 0x7c, 0xaf, 0x1f, 0x0f,
+ 0x06, 0x3b, 0xf8, 0xe1, 0x0e, 0x0e, 0x22, 0x1e, 0xf1, 0x9d, 0x4f, 0x0c,
+ 0x21, 0x08, 0xa1, 0xa8, 0xc2, 0x08, 0x21, 0x08, 0x61, 0x1a, 0x43, 0x08,
+ 0xdd, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x5b, 0xfd, 0xff, 0xeb, 0xff, 0x0f,
+ 0x6a, 0xfb, 0xbf, 0xbf, 0xff, 0x0f, 0xdd, 0xfe, 0x7f, 0x7d, 0xff, 0x0f,
+ 0xab, 0xfd, 0xff, 0xf7, 0xff, 0x0f, 0xba, 0xfa, 0xff, 0xbf, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x0c, 0x60, 0x80, 0x03, 0x0c,
+ 0x01, 0x0e, 0x70, 0x80, 0x03, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f };
diff --git a/kscreensaver/kdesavers/vm.xpm b/kscreensaver/kdesavers/vm.xpm
new file mode 100644
index 00000000..8d00a5b3
--- /dev/null
+++ b/kscreensaver/kdesavers/vm.xpm
@@ -0,0 +1,493 @@
+/* XPM */
+static const char *vm[] = {
+/* columns rows colors chars-per-pixel */
+"44 374 113 2",
+" c #005e00",
+". c #003c63",
+"X c #003b00",
+"o c #00263e",
+"O c #00b3ed",
+"+ c #00c3ff",
+"@ c #007095",
+"# c #007ba0",
+"$ c #0086b9",
+"% c #0095cb",
+"& c #005474",
+"* c #005e80",
+"= c #006d00",
+"- c #008d00",
+"; c #004a74",
+": c #006997",
+"> c #004500",
+", c #005900",
+"< c #002f49",
+"1 c #00425f",
+"2 c #00ec00",
+"3 c #00dc00",
+"4 c #009400",
+"5 c #008a00",
+"6 c #009c00",
+"7 c #00cc00",
+"8 c #0077a8",
+"9 c #00a5dc",
+"0 c #006200",
+"q c #008000",
+"w c #004b6a",
+"e c #00688a",
+"r c #00bc00",
+"t c #007600",
+"y c #007d00",
+"u c #005985",
+"i c #004f00",
+"p c #003854",
+"a c #00ac00",
+"s c #006c00",
+"d c #5d5e00",
+"f c Gray0",
+"g c #3b3b00",
+"h c #6f7000",
+"j c #b7b700",
+"k c #c9c900",
+"l c #a5a600",
+"z c #939400",
+"x c Gray11",
+"c c #8d8d8d",
+"v c #aaaaaa",
+"b c #717171",
+"n c #555555",
+"m c #464600",
+"M c #737300",
+"N c #7e7e00",
+"B c #686800",
+"V c #5c5d00",
+"C c Gray7",
+"Z c Gray35",
+"A c Gray42",
+"S c Gray28",
+"D c Gray21",
+"F c Yellow",
+"G c Gray100",
+"H c #a0a000",
+"J c #a0a0a0",
+"K c #eded00",
+"L c #818200",
+"P c #e2e2e2",
+"I c Gray22",
+"U c #959500",
+"Y c #515200",
+"T c #8e8e8e",
+"R c #232323",
+"E c #dbdb00",
+"W c #c6c6c6",
+"Q c #8a8a00",
+"! c #7c7c7c",
+"~ c #2a2a2a",
+"^ c #6a6a6a",
+"/ c #808080",
+"( c Gray25",
+") c #1b1b1b",
+"_ c #434343",
+"` c #515151",
+"' c #282828",
+"] c #c0c0c0",
+"[ c #797979",
+"{ c #151515",
+"} c Gray5",
+"| c #959595",
+" . c Gray37",
+".. c #610000",
+"X. c #3d0000",
+"o. c #840000",
+"O. c #960000",
+"+. c #730000",
+"@. c #530000",
+"#. c #5e0000",
+"$. c #480000",
+"%. c #dc0000",
+"&. c Red",
+"*. c #ca0000",
+"=. c #8a0000",
+"-. c #a00000",
+";. c #7f0000",
+":. c #a70000",
+">. c #ed0000",
+",. c #690000",
+"<. c #950000",
+"1. c #b80000",
+"2. c #740000",
+/* pixels */
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" = - - . . . . ; : : . . . . X X X X > , , X X X X o o o o < 1 1 o o o o ",
+" - 2 2 2 3 = . . . : + + + O ; . . X X X , 4 4 4 5 > X X o o o 1 # # # @ < o o ",
+" = 2 3 - 6 2 7 . . ; + O : 8 + 9 . . X X > 4 5 , 0 4 q X X o o < # @ 1 w # e o o ",
+" 6 2 - r 2 = . . 8 + : . . % + ; . X X 0 4 , X X t 4 > X o o w # 1 o o * # < o ",
+" r 2 - 2 - . . % + . . . : + : . X X t 4 X X X , 4 , X o o * # o o o 1 # 1 o ",
+" r 2 - 2 - . . % + . . . : + : . X X t 4 X X X , 4 , X o o * # o o o 1 # 1 o ",
+" r 2 - 2 - . . % + . . . : + : . X X t 4 X X X , 4 , X o o * # o o o 1 # 1 o ",
+" r 2 - 2 - . . % + . . . : + : . X X t 4 X X X , 4 , X o o * # o o o 1 # 1 o ",
+" 6 2 - r 2 = . . 8 + : . . % + ; . X X 0 4 , X X t 4 > X o o w # 1 o o * # < o ",
+" = 2 3 - 6 2 7 . . ; + O : 8 + 9 . . X X > 4 5 , 0 4 q X X o o < # @ 1 w # e o o ",
+" - 2 2 2 3 = . . . : + + + O ; . . X X X , 4 4 4 5 > X X o o o 1 # # # @ < o o ",
+" = - - . . . . ; : : . . . . X X X X > , , X X X X o o o o < 1 1 o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" y . . . . . . u . . . . X X X X X X i X X X X o o o o o o p o o o o ",
+" = a r 2 2 . . ; $ % + + . . . . X X > s t 4 4 X X X X o o < & * # # o o o o ",
+" y 2 3 3 2 . . u + O O + . . . . X X i 4 5 5 4 X X X X o o p # @ @ # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" r 2 . . . . . % + . . . . X X X X X t 4 X X X X o o o o o * # o o o o ",
+" = r r 3 2 r r - . . ; % % O + % % : . X X > t t 5 4 t t , X o o < * * @ # * * 1 o ",
+" y 2 2 2 2 2 2 a . . u + + + + + + $ . X X i 4 4 4 4 4 4 s X o o p # # # # # # & o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" y - y . . . . u : u . . . . X X X X i , i X X X X o o o o p 1 p o o o o ",
+" = 7 2 2 2 7 = . . ; 9 + + + 9 ; . . X X > q 4 4 4 q > X X o o < e # # # e < o o ",
+" 7 2 a - a 2 7 . . 9 + $ : $ + 9 . . X X q 4 s , s 4 q X X o o e # & 1 & # e o o ",
+" 3 a r 2 . . O $ . . . % + . . X X 5 s X X X t 4 X X o o @ & o o o * # o o ",
+" = 3 3 . . . . . . ; O O . . X X X X X X > 5 5 X X o o o o o o < @ @ o o ",
+" = 3 2 - . . . . . ; O + : . . X X X X X > 5 4 , X X o o o o o < @ # 1 o o ",
+" = 3 2 a . . . . ; O + $ . . . X X X X > 5 4 s X X X o o o o < @ # & o o o ",
+" - 3 2 - . . . : O + : . . . . X X X , 5 4 , X X X X o o o 1 @ # 1 o o o o ",
+" - 2 3 y - a . . : + O u . : $ . . X X , 4 5 i X , s X X o o 1 # @ p o 1 & o o ",
+" - 2 2 7 r r 3 2 . : + + 9 % % O + . . X , 4 4 q t t 5 4 X X o 1 # # e * * @ # o o ",
+" - 2 2 2 2 2 2 2 . : + + + + + + + . . X , 4 4 4 4 4 4 4 X X o 1 # # # # # # # o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" y - - . . . . u : : . . . . X X X X i , , X X X X o o o o p 1 1 o o o o ",
+" = 3 2 2 2 3 = . . ; O + + + O ; . . X X > 5 4 4 4 5 > X X o o < @ # # # @ < o o ",
+" r 2 6 - 6 2 7 . . % + 8 : 8 + 9 . . X X t 4 0 , 0 4 q X X o o * # w 1 w # e o o ",
+" = y r 2 . . ; u . . . % + . . X X > i X X X t 4 X X o o < p o o o * # o o ",
+" = - 6 2 7 . . . . ; : 8 + 9 . . X X X X > , 0 4 q X X o o o o < 1 w # e o o ",
+" r 2 2 2 = . . . . % + + + ; . . X X X X t 4 4 4 > X X o o o o * # # # < o o ",
+" = - a 2 r . . . . ; : $ + % . . X X X X > , s 4 t X X o o o o < 1 & # * o o ",
+" 6 2 y . . . . . . . 8 + u . X X X X X X X 0 4 i X o o o o o o o w # p o ",
+" 6 2 - . . . . . . . 8 + : . X X X X X X X 0 4 , X o o o o o o o w # 1 o ",
+" a 6 - - a 2 2 = . . $ 8 : : $ + + ; . X X s 0 , , s 4 4 > X o o & w 1 1 & # # < o ",
+" 7 2 2 2 2 3 - . . 9 + + + + O : . . X X q 4 4 4 4 5 , X X o o e # # # # @ 1 o o ",
+" y - - y . . . u : : u . . . . X X X i , , i X X X X o o o p 1 1 p o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" 7 2 r . . . . . 9 + % . . . X X X X X q 4 t X X X o o o o o e # * o o o ",
+" - 2 2 r . . . . : + + % . . . X X X X , 4 4 t X X X o o o o 1 # # * o o o ",
+" 3 3 2 r . . . . O O + % . . . X X X X 5 5 4 t X X X o o o o @ @ # * o o o ",
+" a 2 - 2 r . . . $ + : + % . . . X X X s 4 , 4 t X X X o o o & # 1 # * o o o ",
+" = 2 7 2 r . . ; + 9 . + % . . . X X > 4 q X 4 t X X X o o < # e o # * o o o ",
+" 7 2 y 2 r . . 9 + u . + % . . . X X q 4 i X 4 t X X X o o e # p o # * o o o ",
+" y 2 3 r r 2 3 - . u + O % % + O : . . X i 4 5 t t 4 5 , X X o p # @ * * # @ 1 o o ",
+" - 2 2 2 2 2 2 a . : + + + + + + $ . . X , 4 4 4 4 4 4 s X X o 1 # # # # # # & o o ",
+" - r 2 3 - . . . . : % + O : . . X X X X , t 4 5 , X X o o o o 1 * # @ 1 o o ",
+" a 2 2 2 a . . . . $ + + + $ . . X X X X s 4 4 4 s X X o o o o & # # # & o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" - 2 2 2 2 2 a . . : + + + + + $ . . X X , 4 4 4 4 4 s X X o o 1 # # # # # & o o ",
+" - 2 7 r r r - . . : + 9 % % % : . . X X , 4 q t t t , X X o o 1 # e * * * 1 o o ",
+" - 2 - . . : + : . . . . . . X X , 4 , X X X X X X o o 1 # 1 o o o o o o ",
+" - 2 7 2 2 a . . : + 9 + + $ . . . X X , 4 q 4 4 s X X X o o 1 # e # # & o o o ",
+" - 2 3 r 7 2 r . . : + O % 9 + % . . X X , 4 5 t q 4 t X X o o 1 # @ * e # * o o ",
+" - r 2 y . . . : . . . % + u . X X X , X X X t 4 i X o o o 1 o o o * # p o ",
+" - 2 - . . . . . . . : + : . X X X X X X X , 4 , X o o o o o o o 1 # 1 o ",
+" 6 2 - . . . . . . . 8 + : . X X X X X X X 0 4 , X o o o o o o o w # 1 o ",
+" y 2 a - - a 2 3 . u + $ : : $ + O . . X i 4 s , , s 4 5 X X o p # & 1 1 & # @ o o ",
+" = 7 2 2 2 2 3 = . ; 9 + + + + O ; . . X > q 4 4 4 4 5 > X X o < e # # # # @ < o o ",
+" = - - y . . . ; : : u . . . . X X X > , , i X X X X o o o < 1 1 p o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" = - - . . . . . ; : : . . . X X X X X > , , X X X o o o o o < 1 1 o o o ",
+" = 7 2 2 2 a . . . ; 9 + + + $ . . X X X > q 4 4 4 s X X o o o < e # # # & o o ",
+" = 3 2 r - a - . . ; O + % : $ : . . X X > 5 4 t , s , X X o o < @ # * 1 & 1 o o ",
+" a 2 - . . $ + : . . . . . . X X s 4 , X X X X X X o o & # 1 o o o o o o ",
+" 2 a 6 r 6 . . + $ 8 % 8 . . . . X X 4 s 0 t 0 X X X X o o # & w * w o o o o ",
+" - 2 3 2 2 2 3 . : + O + + + O . . . X , 4 5 4 4 4 5 X X X o 1 # @ # # # @ o o o ",
+" - 2 2 6 a 2 6 . : + + 8 . $ + 8 . . X , 4 4 0 X s 4 0 X X o 1 # # w o & # w o o ",
+" - 2 7 2 r . : + 9 . . . + % . . X , 4 q X X X 4 t X X o 1 # e o o o # * o o ",
+" 2 3 = 2 r . . + O . . ; + % . . X X 4 5 X X > 4 t X X o o # @ o o < # * o o ",
+" r 2 r - r 2 y . . % + % : % + u . . X X t 4 t , t 4 i X X o o * # * 1 * # p o o ",
+" = 7 2 2 2 r . . ; 9 + + + % . . . X X > q 4 4 4 t X X X o o < e # # # * o o o ",
+" y - = . . . . u : ; . . . . X X X X i , > X X X X o o o o p 1 < o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" - 2 2 2 2 2 2 - . . : + + + + + + : . X X , 4 4 4 4 4 4 , X o o 1 # # # # # # 1 o ",
+" - 2 7 r r 7 2 . . : + 9 % % 9 + . . X X , 4 q t t q 4 X X o o 1 # e * * e # o o ",
+" = r = r 3 . . ; % ; . . % O . . X X > t > X X t 5 X X o o < * < o o * @ o o ",
+" 2 r . . . . . . . + % . . X X X X X X X 4 t X X o o o o o o o # * o o ",
+" - 2 - . . . . . . : + : . . X X X X X X , 4 , X X o o o o o o 1 # 1 o o ",
+" a 2 . . . . . . $ + . . . X X X X X X s 4 X X X o o o o o o & # o o o ",
+" 3 7 . . . . . . O 9 . . . X X X X X X 5 q X X X o o o o o o @ e o o o ",
+" y 2 6 . . . . . u + 8 . . . X X X X X i 4 0 X X X o o o o o p # w o o o ",
+" a 2 = . . . . . $ + ; . . . X X X X X s 4 > X X X o o o o o & # < o o o ",
+" a 3 . . . . . $ O . . . . X X X X X s 5 X X X X o o o o o & @ o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" y - y . . . . u : u . . . . X X X X i , i X X X X o o o o p 1 p o o o o ",
+" = 7 2 2 2 7 = . . ; 9 + + + 9 ; . . X X > q 4 4 4 q > X X o o < e # # # e < o o ",
+" 7 2 a - a 2 7 . . 9 + $ : $ + 9 . . X X q 4 s , s 4 q X X o o e # & 1 & # e o o ",
+" 2 r r 2 . . + % . . . % + . . X X 4 t X X X t 4 X X o o # * o o o * # o o ",
+" 7 3 y y 3 7 . . 9 O u . u O 9 . . X X q 5 i X i 5 q X X o o e @ p o p @ e o o ",
+" = 7 2 2 2 7 = . . ; 9 + + + 9 ; . . X X > q 4 4 4 q > X X o o < e # # # e < o o ",
+" = 3 3 r 3 3 = . . ; O O % O O ; . . X X > 5 5 t 5 5 > X X o o < @ @ * @ @ < o o ",
+" 3 3 3 7 . . O O . . . O 9 . . X X 5 5 X X X 5 q X X o o @ @ o o o @ e o o ",
+" 2 r r 2 . . + % . . . % + . . X X 4 t X X X t 4 X X o o # * o o o * # o o ",
+" 7 2 a - a 2 7 . . 9 + $ : $ + 9 . . X X q 4 s , s 4 q X X o o e # & 1 & # e o o ",
+" = 3 2 2 2 3 = . . ; O + + + O ; . . X X > 5 4 4 4 5 > X X o o < @ # # # @ < o o ",
+" y - y . . . . u : u . . . . X X X X i , i X X X X o o o o p 1 p o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" = - - . . . ; : : . . . . . X X X > , , X X X X X o o o < 1 1 o o o o o ",
+" - 2 2 2 3 - . . : + + + O : . . . X X , 4 4 4 5 , X X X o o 1 # # # @ 1 o o o ",
+" 2 3 - 6 2 3 = . . + O : 8 + O ; . . X X 4 5 , 0 4 5 > X X o o # @ 1 w # @ < o o ",
+" - 2 - a 2 - . : + : . . $ + : . . X , 4 , X X s 4 , X X o 1 # 1 o o & # 1 o o ",
+" - 2 6 6 2 r . : + 8 . . 8 + % . . X , 4 0 X X 0 4 t X X o 1 # w o o w # * o o ",
+" 3 3 - a 2 2 r . . O O : $ + + % . . X X 5 5 , s 4 4 t X X o o @ @ 1 & # # * o o ",
+" - 2 2 2 r 2 r . . : + + + % + % . . X X , 4 4 4 t 4 t X X o o 1 # # # * # * o o ",
+" = - y 6 2 - . . . ; : u 8 + : . . X X X > , i 0 4 , X X o o o < 1 p w # 1 o o ",
+" = 3 3 . . . . . ; O O . . . X X X X X > 5 5 X X X o o o o o < @ @ o o o ",
+" = r - a 2 2 - . ; % : $ + + : . . . X > t , s 4 4 , X X X o < * 1 & # # 1 o o o ",
+" y 2 2 2 3 - . u + + + O : . . . . X i 4 4 4 5 , X X X X o p # # # @ 1 o o o o ",
+" = - y . . ; : u . . . . . . X X > , i X X X X X X o o < 1 p o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" = - - - - . . ; : : : : . . . . X X > , , , , X X X X o o < 1 1 1 1 o o o o ",
+" 6 2 2 2 2 - . . 8 + + + + : . . . X X 0 4 4 4 4 , X X X o o w # # # # 1 o o o ",
+" = - 7 2 2 7 . . ; : 9 + + 9 . . . X X > , q 4 4 q X X X o o < 1 e # # e o o o ",
+" 3 3 7 2 = . . . . O O 9 + ; . . X X X X 5 5 q 4 > X X o o o o @ @ e # < o o ",
+" - 2 6 y 2 a . . . : + 8 u + $ . . X X X , 4 0 i 4 s X X o o o 1 # w p # & o o ",
+" 7 2 3 2 . . . 9 + . . O + . . X X X q 4 X X 5 4 X X o o o e # o o @ # o o ",
+" y 2 2 2 2 2 2 6 . . u + + + + + + 8 . X X i 4 4 4 4 4 4 0 X o o p # # # # # # w o ",
+" a 2 r r r r 2 7 . . $ + % % % % + 9 . X X s 4 t t t t 4 q X o o & # * * * * # e o ",
+" a 2 2 r = a 3 2 r . $ + + % ; . $ O + % X s 4 4 t > X s 5 4 t o & # # * < o & @ # * ",
+" 3 2 2 2 y 3 2 2 2 . O + + + u . O + + + X 5 4 4 4 i X 5 4 4 4 o @ # # # p o @ # # # ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . O + + + + + + . . X X X X X X X X X X X o o @ # # # # # # o o ",
+" . . $ % % % % % % . . X X X X X X X X X X X o o & * * * * * * o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" y - - - - - . . u : : : : : . . . X X i , , , , , X X X o o p 1 1 1 1 1 o o o ",
+" 2 2 2 2 2 2 3 - . . + + + + + + O : . X X 4 4 4 4 4 4 5 , X o o # # # # # # @ 1 o ",
+" y 2 7 - - 6 2 3 . . u + 9 : : 8 + O . X X i 4 q , , 0 4 5 X o o p # e 1 1 w # @ o ",
+" 2 r r 2 . . . + % . . . % + . X X X 4 t X X X t 4 X o o o # * o o o * # o ",
+" 2 7 - - a 2 a . . . + 9 : : $ + $ . X X X 4 q , , s 4 s X o o o # e 1 1 & # & o ",
+" 2 2 2 2 2 2 a . . . + + + + + + $ . X X X 4 4 4 4 4 4 s X o o o # # # # # # & o ",
+" 2 7 - - - 7 2 6 . . . + 9 : : : 9 + 8 X X X 4 q , , , q 4 0 o o o # e 1 1 1 e # w ",
+" 2 r 2 r . . . + % . . . . + % X X X 4 t X X X X 4 t o o o # * o o o o # * ",
+" a 2 3 r r r 7 2 6 . . $ + O % % % 9 + 8 X X s 4 5 t t t q 4 0 o o & # @ * * * e # w ",
+" 3 2 2 2 2 2 3 a . . O + + + + + O $ . X X 5 4 4 4 4 4 5 s X o o @ # # # # # @ & o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+" . . . . . . . . . . . X X X X X X X X X X X o o o o o o o o o o o ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d h j k k l z h d f f f x c v v b n x f g g g m M N N B V m g f f f C Z A A S D C f ",
+"d d z F F F F F F k d f f n G G G G G G v f g g V H H H H H H N g f f D J J J J J J A f ",
+"d h F K L d h j F k d f x G P I f x c G v f g m H U Y g m M H N g f C J T R f C Z J A f ",
+"d l F l d d d d E j d f b G b f f f f W c f g B H B g g g g Q M g f S J S f f f f ! Z f ",
+"d k F d d d d d d d d f v G f f f f f f f f g N H g g g g g g g g f A J f f f f f f f f ",
+"d k F d d d d d d d d f v G f f f f f f f f g N H g g g g g g g g f A J f f f f f f f f ",
+"d k F d d d d d d d d f v G f f f f f f f f g N H g g g g g g g g f A J f f f f f f f f ",
+"d l F l d d d d h L d f b G b f f f f x I f g B H B g g g g m Y g f S J S f f f f C R f ",
+"d d K F E z z l K F d f f P G W n n b P G f g g U H Q V V B U H g f f T J ! D D S T J f ",
+"d d h k F F F F K z d f f x v G G G G P n f g g m N H H H H U V g f f C A J J J J T D f ",
+"d d d d h z z L d d d f f f f x n n I f f f g g g g m V V Y g g g f f f f C D D R f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"d d d d d d d d d d d f f f f f f f f f f f g g g g g g g g g g g f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f n n n n n x f f f f f n n n n n x f f f f f D D D D D C f f f f f D D D D D C f f f ",
+"f n G G G G G G v f f f n G G G G G G v f f f D J J J J J J A f f f D J J J J J J A f f ",
+"f f c G c n n W G b f f f c G c n n W G b f f f Z J Z D D ! J S f f f Z J Z D D ! J S f ",
+"f f n G n f f f G v f f f n G n f f f G v f f f D J D f f f J A f f f D J D f f f J A f ",
+"f f n G n f f x G v f f f n G n f f x G v f f f D J D f f C J A f f f D J D f f C J A f ",
+"f f n G W v v G G I f f f n G W v v G G I f f f D J ! A A J J R f f f D J ! A A J J R f ",
+"f f n G G G G W I f f f f n G G G G W I f f f f D J J J J ! R f f f f D J J J J ! R f f ",
+"f f n G n f f f f f f f f n G n f f f f f f f f D J D f f f f f f f f D J D f f f f f f ",
+"f x W G W v c f f f f f x W G W v c f f f f f C ! J ! A Z f f f f f C ! J ! A Z f f f f ",
+"f I G G G G P f f f f f I G G G G P f f f f f R J J J J T f f f f f R J J J J T f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f ~ ^ / / ( ~ f f f f f I c v v n I f f f f f ) _ ` ` ' ) f f f f f R Z A A D R f f ",
+"f f ( ] ] ] ] ] ] f f f f n G G G G G G f f f f ' [ [ [ [ [ [ f f f f D J J J J J J f f ",
+"f f v v ~ f { v ] f f f f P P I f x P G f f f f A A ) f } A [ f f f f T T R f C T J f f ",
+"f f ] | f f f ( ^ f f f f G W f f f n c f f f f [ .f f f ' _ f f f f J ! f f f D Z f f ",
+"f f | ] | ^ ( f f f f f f W G W c n f f f f f f .[ ._ ' f f f f f f ! J ! Z D f f f f ",
+"f f f ^ v ] ] ] ^ f f f f f c P G G G c f f f f f _ A [ [ [ _ f f f f f Z T J J J Z f f ",
+"f f f f f ~ n v ] ~ f f f f f f I b P G I f f f f f f ) D A [ ) f f f f f f R S T J R f ",
+"f ~ ] ~ f f f ( ] ( f f I G I f f f n G n f f ) [ ) f f f ' [ ' f f R J R f f f D J D f ",
+"f ( ] v n ( n v ] { f f n G P b n b P G x f f ' [ A D ' D A [ } f f D J T S D S T J C f ",
+"f ~ ] v ] ] ] ] ( f f f I G P G G G G n f f f ) [ A [ [ [ [ ' f f f R J T J J J J D f f ",
+"f f f f ~ ( ( f f f f f f f f I n n f f f f f f f f ) ' ' f f f f f f f f R D D f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"..o.O.O.+...+.O.O.o...f I n n x f x n n I f X.@.#.#.$.X.$.#.#.@.X.f R D D C f C D D R f ",
+"..%.&.&.*...O.&.&.&...f W G G v f n G G G f X.=.-.-.;.X.#.-.-.-.X.f ! J J A f D J J J f ",
+"..o.%.&.:...+.&.>.o...f I W G b f x G P I f X.@.=.-.,.X.$.-.<.@.X.f R ! J S f C J T R f ",
+"....+.>.&.:.>.&.o.....f f x P G b P G I f f X.X.$.<.-.,.<.-.@.X.X.f f C T J S T J R f f ",
+"......+.>.&.&.O.......f f f x P G G n f f f X.X.X.$.<.-.-.#.X.X.X.f f f C T J J D f f f ",
+"........*.&.>.+.......f f f f v G P x f f f X.X.X.X.;.-.<.$.X.X.X.f f f f A J T C f f f ",
+"......*.&.%.&.%.......f f f v G W G W f f f X.X.X.;.-.=.-.=.X.X.X.f f f A J ! J ! f f f ",
+"....O.&.*...:.&.*.....f f n G v f b G v f f X.X.#.-.;.X.,.-.;.X.X.f f D J A f S J A f f ",
+"..1.&.&.*...O.&.&.%.+.f c G G v f n G G W x X.2.-.-.;.X.#.-.-.=.$.f Z J J A f D J J ! C ",
+"..>.&.&.>...1.&.&.&.o.f P G G P f c G G G I X.<.-.-.<.X.2.-.-.-.@.f T J J T f Z J J J R ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"......................f f f f f f f f f f f X.X.X.X.X.X.X.X.X.X.X.f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f P G G G G G G G I f f P G G G G G G G I f f T J J J J J J J R f f T J J J J J J J R f ",
+"f c v v v v v v v x f f c v v v v v v v x f f Z A A A A A A A C f f Z A A A A A A A C f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ",
+"f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f "
+};
diff --git a/kscreensaver/kdesavers/vm_random.c b/kscreensaver/kdesavers/vm_random.c
new file mode 100644
index 00000000..ea0cd96a
--- /dev/null
+++ b/kscreensaver/kdesavers/vm_random.c
@@ -0,0 +1,379 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+ * Please note that as of July 22, 1999, the licensees and distributors
+ * are no longer required to include the above mentioned acknowledgement
+ * within advertising materials. For full details see
+ * ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+ */
+
+/*
+ * This is derived from the Berkeley source:
+ * @(#)random.c 5.5 (Berkeley) 7/6/88
+ * It was reworked for the GNU C Library by Roland McGrath.
+ * Rewritten to be reentrant by Ulrich Drepper, 1995
+ */
+
+#include <limits.h>
+#include <stdlib.h>
+#include "vm_random.h"
+
+/* An improved random number generation package. In addition to the standard
+ rand()/srand() like interface, this package also has a special state info
+ interface. The initstate() routine is called with a seed, an array of
+ bytes, and a count of how many bytes are being passed in; this array is
+ then initialized to contain information for random number generation with
+ that much state information. Good sizes for the amount of state
+ information are 32, 64, 128, and 256 bytes. The state can be switched by
+ calling the setstate() function with the same array as was initialized
+ with initstate(). By default, the package runs with 128 bytes of state
+ information and generates far better random numbers than a linear
+ congruential generator. If the amount of state information is less than
+ 32 bytes, a simple linear congruential R.N.G. is used. Internally, the
+ state information is treated as an array of longs; the zeroth element of
+ the array is the type of R.N.G. being used (small integer); the remainder
+ of the array is the state information for the R.N.G. Thus, 32 bytes of
+ state information will give 7 longs worth of state information, which will
+ allow a degree seven polynomial. (Note: The zeroth word of state
+ information also has some other information stored in it; see setstate
+ for details). The random number generation technique is a linear feedback
+ shift register approach, employing trinomials (since there are fewer terms
+ to sum up that way). In this approach, the least significant bit of all
+ the numbers in the state table will act as a linear feedback shift register,
+ and will have period 2^deg - 1 (where deg is the degree of the polynomial
+ being used, assuming that the polynomial is irreducible and primitive).
+ The higher order bits will have longer periods, since their values are
+ also influenced by pseudo-random carries out of the lower bits. The
+ total period of the generator is approximately deg*(2**deg - 1); thus
+ doubling the amount of state information has a vast influence on the
+ period of the generator. Note: The deg*(2**deg - 1) is an approximation
+ only good for large deg, when the period of the shift register is the
+ dominant factor. With deg equal to seven, the period is actually much
+ longer than the 7*(2**7 - 1) predicted by this formula. */
+
+
+
+/* For each of the currently supported random number generators, we have a
+ break value on the amount of state information (you need at least this many
+ bytes of state info to support this random number generator), a degree for
+ the polynomial (actually a trinomial) that the R.N.G. is based on, and
+ separation between the two lower order coefficients of the trinomial. */
+
+/* Linear congruential. */
+#define TYPE_0 0
+#define BREAK_0 8
+#define DEG_0 0
+#define SEP_0 0
+
+/* x**7 + x**3 + 1. */
+#define TYPE_1 1
+#define BREAK_1 32
+#define DEG_1 7
+#define SEP_1 3
+
+/* x**15 + x + 1. */
+#define TYPE_2 2
+#define BREAK_2 64
+#define DEG_2 15
+#define SEP_2 1
+
+/* x**31 + x**3 + 1. */
+#define TYPE_3 3
+#define BREAK_3 128
+#define DEG_3 31
+#define SEP_3 3
+
+/* x**63 + x + 1. */
+#define TYPE_4 4
+#define BREAK_4 256
+#define DEG_4 63
+#define SEP_4 1
+
+
+/* Array versions of the above information to make code run faster.
+ Relies on fact that TYPE_i == i. */
+
+#define MAX_TYPES 5 /* Max number of types above. */
+
+struct vm_random_poly_info
+{
+ int seps[MAX_TYPES];
+ int degrees[MAX_TYPES];
+};
+
+static struct vm_random_poly_info vm_random_poly_info =
+{
+ { SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 },
+ { DEG_0, DEG_1, DEG_2, DEG_3, DEG_4 }
+};
+
+static int32_t vm_randtbl[DEG_3 + 1] =
+ {
+ TYPE_3,
+
+ -1726662223, 379960547, 1735697613, 1040273694, 1313901226,
+ 1627687941, -179304937, -2073333483, 1780058412, -1989503057,
+ -615974602, 344556628, 939512070, -1249116260, 1507946756,
+ -812545463, 154635395, 1388815473, -1926676823, 525320961,
+ -1009028674, 968117788, -123449607, 1284210865, 435012392,
+ -2017506339, -911064859, -370259173, 1132637927, 1398500161,
+ -205601318,
+ };
+
+/* Initialize the random number generator based on the given seed. If the
+ type is the trivial no-state-information type, just remember the seed.
+ Otherwise, initializes state[] based on the given "seed" via a linear
+ congruential generator. Then, the pointers are set to known locations
+ that are exactly rand_sep places apart. Lastly, it cycles the state
+ information a given number of times to get rid of any initial dependencies
+ introduced by the L.C.R.N.G. Note that the initialization of randtbl[]
+ for default usage relies on values produced by this routine. */
+int vm_srandom (unsigned int seed,
+ struct vm_random_data* buf)
+{
+ int type;
+ int32_t *state;
+ long int i;
+ long int word;
+ int32_t *dst;
+ int kc;
+
+ if (buf == NULL)
+ goto fail;
+ type = buf->vm_rand_type;
+ if ((unsigned int) type >= MAX_TYPES)
+ goto fail;
+
+ state = buf->state;
+ /* We must make sure the seed is not 0. Take arbitrarily 1 in this case. */
+ if (seed == 0)
+ seed = 1;
+ state[0] = seed;
+ if (type == TYPE_0)
+ goto done;
+
+ dst = state;
+ word = seed;
+ kc = buf->vm_rand_deg;
+ for (i = 1; i < kc; ++i)
+ {
+ /* This does:
+ state[i] = (16807 * state[i - 1]) % 2147483647;
+ but avoids overflowing 31 bits. */
+ long int hi = word / 127773;
+ long int lo = word % 127773;
+ word = 16807 * lo - 2836 * hi;
+ if (word < 0)
+ word += 2147483647;
+ *++dst = word;
+ }
+
+ buf->fptr = &state[buf->vm_rand_sep];
+ buf->rptr = &state[0];
+ kc *= 10;
+ while (--kc >= 0)
+ {
+ vm_random (buf);
+ }
+
+ done:
+ return 0;
+
+ fail:
+ return -1;
+}
+
+/* Initialize the state information in the given array of N bytes for
+ future random number generation. Based on the number of bytes we
+ are given, and the break values for the different R.N.G.'s, we choose
+ the best (largest) one we can and set things up for it. srandom is
+ then called to initialize the state information. Note that on return
+ from srandom, we set state[-1] to be the type multiplexed with the current
+ value of the rear pointer; this is so successive calls to initstate won't
+ lose this information and will be able to restart with setstate.
+ Note: The first thing we do is save the current state, if any, just like
+ setstate so that it doesn't matter when initstate is called.
+ Returns a pointer to the old state. */
+int vm_initstate (unsigned int seed,
+ void* arg_state,
+ size_t n,
+ struct vm_random_data* buf)
+{
+ int type;
+ int degree;
+ int separation;
+ int32_t *state;
+
+ if (buf == NULL)
+ goto fail;
+
+ if (n >= BREAK_3)
+ type = n < BREAK_4 ? TYPE_3 : TYPE_4;
+ else if (n < BREAK_1)
+ {
+ if (n < BREAK_0)
+ {
+ goto fail;
+ }
+ type = TYPE_0;
+ }
+ else
+ type = n < BREAK_2 ? TYPE_1 : TYPE_2;
+
+ degree = vm_random_poly_info.degrees[type];
+ separation = vm_random_poly_info.seps[type];
+
+ buf->vm_rand_type = type;
+ buf->vm_rand_sep = separation;
+ buf->vm_rand_deg = degree;
+ state = &((int32_t *) arg_state)[1]; /* First location. */
+ /* Must set END_PTR before srandom. */
+ buf->end_ptr = &state[degree];
+
+ buf->state = state;
+
+ vm_srandom (seed, buf);
+
+ state[-1] = TYPE_0;
+ if (type != TYPE_0)
+ state[-1] = (buf->rptr - state) * MAX_TYPES + type;
+
+ return 0;
+
+ fail:
+ return -1;
+}
+
+/* Restore the state from the given state array.
+ Note: It is important that we also remember the locations of the pointers
+ in the current state information, and restore the locations of the pointers
+ from the old state information. This is done by multiplexing the pointer
+ location into the zeroth word of the state information. Note that due
+ to the order in which things are done, it is OK to call setstate with the
+ same state as the current state
+ Returns a pointer to the old state information. */
+int vm_setstate (void* arg_state,
+ struct vm_random_data* buf)
+{
+ int32_t *new_state = (int32_t *) arg_state;
+ int type;
+ int old_type;
+ int32_t *old_state;
+ int degree;
+ int separation;
+
+ if (buf == NULL)
+ goto fail;
+
+ old_type = buf->vm_rand_type;
+ old_state = buf->state;
+ if (old_type == TYPE_0)
+ old_state[-1] = TYPE_0;
+ else
+ old_state[-1] = (MAX_TYPES * (buf->rptr - old_state)) + old_type;
+
+ type = new_state[0] % MAX_TYPES;
+ if (type < TYPE_0 || type >= TYPE_4)
+ goto fail;
+
+ buf->vm_rand_deg = degree = vm_random_poly_info.degrees[type];
+ buf->vm_rand_sep = separation = vm_random_poly_info.seps[type];
+ buf->vm_rand_type = type;
+
+ if (type != TYPE_0)
+ {
+ int rear = new_state[0] / MAX_TYPES;
+ buf->rptr = &new_state[rear];
+ buf->fptr = &new_state[(rear + separation) % degree];
+ }
+ buf->state = &new_state[1];
+ /* Set end_ptr too. */
+ buf->end_ptr = &new_state[degree];
+
+ return 0;
+
+ fail:
+ return -1;
+}
+
+/* If we are using the trivial TYPE_0 R.N.G., just do the old linear
+ congruential bit. Otherwise, we do our fancy trinomial stuff, which is the
+ same in all the other cases due to all the global variables that have been
+ set up. The basic operation is to add the number at the rear pointer into
+ the one at the front pointer. Then both pointers are advanced to the next
+ location cyclically in the table. The value returned is the sum generated,
+ reduced to 31 bits by throwing away the "least random" low bit.
+ Note: The code takes advantage of the fact that both the front and
+ rear pointers can't wrap on the same call by not testing the rear
+ pointer if the front one has wrapped. Returns a 31-bit random number. */
+
+int32_t vm_random (struct vm_random_data* buf)
+{
+ int32_t *state;
+ int32_t result;
+
+ if (buf == NULL)
+ goto fail;
+
+ state = buf->state;
+
+ if (buf->vm_rand_type == TYPE_0)
+ {
+ int32_t val = state[0];
+ val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
+ state[0] = val;
+ result = val;
+ }
+ else
+ {
+ int32_t *fptr = buf->fptr;
+ int32_t *rptr = buf->rptr;
+ int32_t *end_ptr = buf->end_ptr;
+ int32_t val;
+
+ val = *fptr += *rptr;
+ /* Chucking least random bit. */
+ result = (val >> 1) & 0x7fffffff;
+ ++fptr;
+ if (fptr >= end_ptr)
+ {
+ fptr = state;
+ ++rptr;
+ }
+ else
+ {
+ ++rptr;
+ if (rptr >= end_ptr)
+ rptr = state;
+ }
+ buf->fptr = fptr;
+ buf->rptr = rptr;
+ }
+ return result;
+
+ fail:
+ return -1;
+}
+
+void vm_default_initstate( int seed,
+ struct vm_random_data* buf ) {
+ vm_initstate( seed,
+ vm_randtbl,
+ 128,
+ buf );
+}
diff --git a/kscreensaver/kdesavers/vm_random.h b/kscreensaver/kdesavers/vm_random.h
new file mode 100644
index 00000000..1aa5e937
--- /dev/null
+++ b/kscreensaver/kdesavers/vm_random.h
@@ -0,0 +1,31 @@
+#ifndef __VM_RANDOM_H__
+#define __VM_RANDOM_H__
+
+#define VM_RAND_MAX 2147483647
+
+#define int32_t int
+
+struct vm_random_data
+{
+ int32_t *fptr; /* Front pointer. */
+ int32_t *rptr; /* Rear pointer. */
+ int32_t *state; /* Array of state values. */
+ int vm_rand_type; /* Type of random number generator. */
+ int vm_rand_deg; /* Degree of random number generator. */
+ int vm_rand_sep; /* Distance between front and rear. */
+ int32_t *end_ptr; /* Pointer behind state table. */
+};
+
+int vm_initstate (unsigned int seed,
+ void* arg_state,
+ size_t n,
+ struct vm_random_data* buf);
+int vm_setstate (void* arg_state,
+ struct vm_random_data* buf);
+void vm_default_initstate( int seed,
+ struct vm_random_data* buf );
+int vm_srandom (unsigned int seed,
+ struct vm_random_data* buf);
+int32_t vm_random (struct vm_random_data* buf);
+
+#endif /* !defined( __VM_RANDOM_H__ ) */
diff --git a/kscreensaver/kdesavers/wave.cpp b/kscreensaver/kdesavers/wave.cpp
new file mode 100644
index 00000000..e8a999a5
--- /dev/null
+++ b/kscreensaver/kdesavers/wave.cpp
@@ -0,0 +1,324 @@
+//-----------------------------------------------------------------------------
+//
+// kwave - Waveing Flag Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+#include <stdlib.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kcolordialog.h>
+#include <kbuttonbox.h>
+#include <kcolorbutton.h>
+#include <kglobal.h>
+#include "wave.h"
+#include "wave.moc"
+#ifdef Q_WS_MACX
+#include <OpenGL/glu.h>
+#include <OpenGL/gl.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <qimage.h>
+#include <kdebug.h>
+#include <qpainter.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <kstandarddirs.h>
+#include <math.h>
+#include <kmessagebox.h>
+#ifndef GLU_NURBS_TEXTURE_COORD
+#define GLU_NURBS_TEXTURE_COORD 100168
+#endif
+// libkscreensaver interface
+
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kwave.kss";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "Bitmap Wave Screen Saver" );
+ KDE_EXPORT const char *kss_version = "2.2.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId id )
+ {
+ return new KWaveSaver( id );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ return new KWaveSetup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// dialog to setup screen saver parameters
+//
+KWaveSetup::KWaveSetup( QWidget *parent, const char *name )
+ : SetupUi( parent, name, TRUE )
+{
+ readSettings();
+
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new KWaveSaver( preview->winId() );
+
+ connect( PushButton1, SIGNAL( clicked() ), SLOT( slotOkPressed() ) );
+ connect( PushButton2, SIGNAL( clicked() ), SLOT( reject() ) );
+ connect( PushButton3, SIGNAL( clicked() ), SLOT( aboutPressed() ) );
+ connect( SpinBox1, SIGNAL( valueChanged(int)), saver, SLOT( updateSize(int)));
+ connect( RadioButton1, SIGNAL( toggled(bool)), saver, SLOT( doStars(bool)));
+
+}
+
+KWaveSetup::~KWaveSetup( )
+{
+ delete saver;
+}
+
+
+// read settings from config file
+void KWaveSetup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+// color = config->readColorEntry( "Color", &black );
+}
+
+// Ok pressed - save settings and exit
+void KWaveSetup::slotOkPressed()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+// config->writeEntry( "Color", color );
+
+ config->sync();
+
+ accept();
+}
+
+void KWaveSetup::aboutPressed()
+{
+ KMessageBox::about(this,
+ i18n("<h3>Bitmap Flag Screen Saver</h3>\n<p>Waving Flag Screen Saver for KDE</p>\nCopyright (c) Ian Reinhart Geiser 2001"));
+}
+//-----------------------------------------------------------------------------
+
+
+KWaveSaver::KWaveSaver( WId id ) : KScreenSaver( id )
+{
+ kdDebug() << "Blank" << endl;
+ readSettings();
+
+ timer = new QTimer( this );
+ timer->start( 50, TRUE );
+ setBackgroundColor( black );
+ erase();
+ wave = new Wave();
+ embed(wave);
+ wave->show();
+ connect( timer, SIGNAL(timeout()), this, SLOT(blank()) );;
+}
+
+KWaveSaver::~KWaveSaver()
+{
+
+}
+
+// read configuration settings from config file
+void KWaveSaver::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+
+// color = config->readColorEntry( "Color", &black );
+}
+
+void KWaveSaver::blank()
+{
+ // Play wave
+
+ wave->updateGL();
+ timer->start( 100, TRUE );
+
+}
+Wave::Wave( QWidget * parent, const char * name) : QGLWidget (parent,name)
+{
+ pNurb = 0;
+
+ nNumPoints = 4;
+ index = 0;
+}
+
+Wave::~Wave()
+{
+ glDeleteTextures( 1, &texture[0] );
+ gluDeleteNurbsRenderer(pNurb);
+}
+
+/** setup the GL enviroment */
+void Wave::initializeGL ()
+{
+
+ kdDebug() << "InitGL" << endl;
+
+ /* Load in the texture */
+ if ( !LoadGLTextures( ) )
+ exit(0);
+
+ /* Enable Texture Mapping ( NEW ) */
+ glEnable( GL_TEXTURE_2D );
+
+ /* Enable smooth shading */
+ glShadeModel( GL_SMOOTH );
+ // Light values and coordinates
+ GLfloat specular[] = { 0.7f, 0.0f, 0.0f, 1.0f};
+ GLfloat shine[] = { 75.0f };
+
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f );
+
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ glEnable(GL_COLOR_MATERIAL);
+
+ glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
+ glMaterialfv(GL_FRONT, GL_SPECULAR, specular);
+ glMaterialfv(GL_FRONT, GL_SHININESS, shine);
+
+ glEnable(GL_AUTO_NORMAL);
+
+
+ pNurb = gluNewNurbsRenderer();
+
+ gluNurbsProperty(pNurb, GLU_SAMPLING_TOLERANCE, 25.0f);
+ // Uncomment the next line and comment the one following to produce a
+ // wire frame mesh.
+ //gluNurbsProperty(pNurb, GLU_DISPLAY_MODE, GLU_OUTLINE_POLYGON);
+ gluNurbsProperty(pNurb, GLU_DISPLAY_MODE, (GLfloat)GLU_FILL);
+ glEnable(GL_MAP2_TEXTURE_COORD_3);
+ glEnable(GL_MAP2_VERTEX_3);
+ glEnable(GL_BLEND);
+
+}
+/** resize the gl view */
+void Wave::resizeGL ( int w, int h)
+{
+ kdDebug() << "ResizeGL " << w << "," <<h<< endl;
+ // Prevent a divide by zero
+ if(h == 0)
+ h = 1;
+
+ // Set Viewport to window dimensions
+ glViewport(0, 0, w, h);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+
+ // Perspective view
+ gluPerspective (45.0f, (GLdouble)w/(GLdouble)h, 1.0, 40.0f);
+
+ // Modelview matrix reset
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ // Viewing transformation, position for better view
+ glTranslatef (0.0f, 0.0f, -20.0f);
+
+}
+/** paint the GL view */
+void Wave::paintGL ()
+{
+
+ float ctrlPoints[4][4][3];
+
+ index++;
+ float Z[16];
+ for( int i = 0; i < 16; i++)
+ {
+ Z[i] = 3.0 * sin(16*(3.141592654 * 2.0f) * (index+(i))/360);
+ }
+
+// kdDebug() << "-----" << endl;
+ int counter =15;
+ for( int i = 0; i < 4; i++)
+ for( int j = 0; j < 4;j++)
+ {
+ ctrlPoints[i][j][0] = float((5*i)-10);
+ ctrlPoints[i][j][1] = float((3*j)-6);
+ ctrlPoints[i][j][2] = Z[counter--];
+// kdDebug() << Z[counter] << endl;
+ }
+ // Knot sequence for the NURB
+ float knots[8] = { 0, 0, 0, 0, 1, 1, 1, 1 };
+ // Draw in Blu
+ //glColor3ub(0,0,220);
+
+ // Clear the window with current clearing color
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ // Save the modelview matrix stack
+ glMatrixMode(GL_MODELVIEW);
+ glPushMatrix();
+
+ // Rotate the mesh around to make it easier to see
+ glRotatef(index/2, 1.0f,0.0f,0.0f);
+ glRotatef(index/5, 0.0f,1.0f,0.0f);
+ glRotatef(index/6, 0.0f,0.0f,1.0f);
+
+ // Render the NURB
+ gluBeginSurface( pNurb );
+ gluNurbsSurface( pNurb, 8, knots, 8, knots,
+ 4*3, 3, &ctrlPoints[0][0][0], 4, 4, GL_MAP2_TEXTURE_COORD_3);
+ //gluNurbsSurface( pNurb, 8, knots, 8, knots,
+ //4*3, 3, &ctrlPoints[0][0][0], 4, 4, GL_MAP2_NORMAL );
+ gluNurbsSurface( pNurb, 8, knots, 8, knots,
+ 4*3, 3, &ctrlPoints[0][0][0], 4, 4, GL_MAP2_VERTEX_3 );
+ gluEndSurface( pNurb );
+
+ // Restore the modelview matrix
+ glPopMatrix();
+
+ glFlush();
+}
+
+bool Wave::LoadGLTextures()
+{
+ /* Status indicator */
+ bool Status = TRUE;
+
+ QImage buf; // = QPixmap::grabWindow ( 0 ).convertToImage();
+ kdDebug() << "Loading: " << locate("data", "kscreensaver/image.png") << endl;
+ if (buf.load( locate("data", "kscreensaver/image.png") ) )
+
+ {
+ tex = convertToGLFormat(buf); // flipped 32bit RGBA
+ kdDebug() << "Texture loaded: " << tex.numBytes () << endl;
+ }
+ else
+ {
+ QImage dummy( 64, 64, 64 );
+ dummy.fill( Qt::white.rgb() );
+ buf = dummy;
+ tex = convertToGLFormat( buf );
+ }
+ /* Set the status to true */
+ //Status = TRUE;
+ glGenTextures(1, &texture[0]); /* create three textures */
+ glBindTexture(GL_TEXTURE_2D, texture[0]);
+ /* use linear filtering */
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ /* actually generate the texture */
+ glTexImage2D(GL_TEXTURE_2D, 0, 4, tex.width(), tex.height(), 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, tex.bits());
+ kdDebug() << "Texture Loaded: " << tex.width() << "," << tex.height() << endl;
+
+
+ return Status;
+}
diff --git a/kscreensaver/kdesavers/wave.h b/kscreensaver/kdesavers/wave.h
new file mode 100644
index 00000000..ea2f64f3
--- /dev/null
+++ b/kscreensaver/kdesavers/wave.h
@@ -0,0 +1,97 @@
+//-----------------------------------------------------------------------------
+//
+// kwave - Partical Wave Screen Saver for KDE 2
+//
+// Copyright (c) Ian Reinhart Geiser 2001
+//
+/////
+//NOTE:
+// The base particle engine did not come from me, it was designed by Jeff Molofee <nehe@connect.ab.ca>
+// I did some extensive modifications to make it work with QT's OpenGL but the base principal is about
+// the same.
+////
+
+#ifndef __WAVE_H__
+#define __WAVE_H__
+
+#include <qdialog.h>
+#include <qgl.h>
+#ifdef Q_WS_MACX
+#include <OpenGL/glu.h>
+#include <OpenGL/gl.h>
+#else
+#include <GL/glu.h>
+#include <GL/gl.h>
+#endif
+#include <kscreensaver.h>
+#include <qtimer.h>
+#include <qimage.h>
+#include "wavecfg.h"
+
+
+class Wave : public QGLWidget
+{
+Q_OBJECT
+
+public:
+ Wave( QWidget * parent=0, const char * name=0 );
+ ~Wave();
+
+protected:
+ /** paint the GL view */
+ void paintGL ();
+ /** resize the gl view */
+ void resizeGL ( int w, int h );
+ /** setup the GL enviroment */
+ void initializeGL ();
+
+
+private:
+//
+ GLUnurbsObj *pNurb;
+ GLint nNumPoints;
+// float ctrlPoints[4][4][3];
+// float knots[8];
+ int index;
+ bool LoadGLTextures();
+ GLuint texture[1];
+ QImage tex;
+
+};
+
+class KWaveSaver : public KScreenSaver
+{
+Q_OBJECT
+public:
+ KWaveSaver( WId drawable );
+ virtual ~KWaveSaver();
+ void readSettings();
+public slots:
+ void blank();
+
+private:
+ Wave *wave;
+ QTimer *timer;
+};
+
+class KWaveSetup : public SetupUi
+{
+ Q_OBJECT
+public:
+ KWaveSetup( QWidget *parent = NULL, const char *name = NULL );
+ ~KWaveSetup( );
+protected:
+ void readSettings();
+
+private slots:
+ void slotOkPressed();
+ void aboutPressed();
+private:
+ KWaveSaver *saver;
+ float size;
+ float stars;
+};
+
+#endif
+
+
diff --git a/kscreensaver/kdesavers/wavecfg.ui b/kscreensaver/kdesavers/wavecfg.ui
new file mode 100644
index 00000000..7fcab67a
--- /dev/null
+++ b/kscreensaver/kdesavers/wavecfg.ui
@@ -0,0 +1,191 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>SetupUi</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>SetupUi</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>209</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>209</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>400</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>Bitmap Flag Setup</string>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>398</width>
+ <height>206</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>CheckBox1</cstring>
+ </property>
+ <property name="text">
+ <string>Use textures</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="2">
+ <property name="name">
+ <cstring>PushButton3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;About</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="0">
+ <property name="name">
+ <cstring>SpinBox1</cstring>
+ </property>
+ <property name="maxValue">
+ <number>500</number>
+ </property>
+ <property name="minValue">
+ <number>10</number>
+ </property>
+ <property name="lineStep">
+ <number>10</number>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="1">
+ <property name="name">
+ <cstring>PushButton2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="4" column="0">
+ <property name="name">
+ <cstring>PushButton1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Shapes</string>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout3</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>20</y>
+ <width>130</width>
+ <height>50</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1</cstring>
+ </property>
+ <property name="text">
+ <string>Stars</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>RadioButton1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Flares</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </widget>
+ <widget class="QWidget" row="0" column="1" rowspan="4" colspan="2">
+ <property name="name">
+ <cstring>preview</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Particle size:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+</widget>
+<connections>
+ <connection>
+ <sender>RadioButton1_2</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1</receiver>
+ <slot>toggle()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButton1</sender>
+ <signal>pressed()</signal>
+ <receiver>RadioButton1_2</receiver>
+ <slot>toggle()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kscreensaver/kpartsaver/Makefile.am b/kscreensaver/kpartsaver/Makefile.am
new file mode 100644
index 00000000..69dcf3fa
--- /dev/null
+++ b/kscreensaver/kpartsaver/Makefile.am
@@ -0,0 +1,14 @@
+bin_PROGRAMS = kpartsaver.kss
+INCLUDES = $(all_includes)
+
+kpartsaver_kss_SOURCES = kpartsaver.cpp configwidget.ui
+kpartsaver_kss_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+kpartsaver_kss_LDADD = $(LIB_KFILE) $(LIB_KPARTS) -lkscreensaver
+
+METASOURCES = AUTO
+
+desktop_DATA = kpartsaver.desktop
+desktopdir = $(kde_appsdir)/System/ScreenSavers
+
+messages: rc.cpp
+ $(XGETTEXT) *.cpp -o $(podir)/kpartsaver.pot
diff --git a/kscreensaver/kpartsaver/configwidget.ui b/kscreensaver/kpartsaver/configwidget.ui
new file mode 100644
index 00000000..ddcf2247
--- /dev/null
+++ b/kscreensaver/kpartsaver/configwidget.ui
@@ -0,0 +1,299 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>ConfigWidget</class>
+<author>Stefan Schimanski &lt;1Stein@gmx.de&gt;</author>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>ConfigWidget</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>463</width>
+ <height>376</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Media Screen Saver</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Files</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QListBox" row="0" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>m_files</cstring>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>Layout2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QPushButton" row="2" column="1">
+ <property name="name">
+ <cstring>m_down</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Down</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="0">
+ <property name="name">
+ <cstring>m_up</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Up</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_add</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Add...</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_remove</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="1" column="1">
+ <property name="name">
+ <cstring>Spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroup1</cstring>
+ </property>
+ <property name="title">
+ <string>Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QRadioButton" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_single</cstring>
+ </property>
+ <property name="text">
+ <string>Only show one randomly chosen medium</string>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QRadioButton" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_multiple</cstring>
+ </property>
+ <property name="text">
+ <string>Switch to another medium after a delay</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="1">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>m_delayLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Delay:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>m_delay</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>m_random</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Choose next medium randomly</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="2">
+ <property name="name">
+ <cstring>m_secondsLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>seconds</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>Spacer16</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>Horizontal Spacing2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_ok</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_cancel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<includes>
+ <include location="global" impldecl="in declaration">klocale.h</include>
+</includes>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kscreensaver/kpartsaver/kpartsaver.cpp b/kscreensaver/kpartsaver/kpartsaver.cpp
new file mode 100644
index 00000000..5a1c09c7
--- /dev/null
+++ b/kscreensaver/kpartsaver/kpartsaver.cpp
@@ -0,0 +1,387 @@
+/*
+ * Copyright (C) 2001 Stefan Schimanski <1Stein@gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <stdlib.h>
+#include <signal.h>
+#include <unistd.h>
+#include <time.h>
+
+#include <qwidget.h>
+#include <qdialog.h>
+#include <qtimer.h>
+#include <qstring.h>
+#include <qvaluelist.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+
+#include <klocale.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <klibloader.h>
+#include <kconfig.h>
+#include <kfiledialog.h>
+#include <kurl.h>
+#include <kparts/part.h>
+#include <ktrader.h>
+#include <kio/jobclasses.h>
+#include <kio/job.h>
+#include <kmimetype.h>
+
+#include <kscreensaver.h>
+
+#include "configwidget.h"
+#include "kpartsaver.h"
+#include <kiconloader.h>
+
+
+QPtrList<KPartSaver> g_savers;
+bool g_inited = false;
+
+
+extern "C"
+{
+ KDE_EXPORT const char *kss_applicationName = "kpartsaver";
+ KDE_EXPORT const char *kss_description = I18N_NOOP( "KPart Screen Saver" );
+ KDE_EXPORT const char *kss_version = "1.0";
+
+ KDE_EXPORT KScreenSaver *kss_create( WId d )
+ {
+ KGlobal::locale()->insertCatalogue("kpartsaver");
+ return new KPartSaver( d );
+ }
+
+ KDE_EXPORT QDialog *kss_setup()
+ {
+ kdDebug() << "kss_setup" << endl;
+ KGlobal::locale()->insertCatalogue("kpartsaver");
+ return new SaverConfig;
+ }
+}
+
+
+void exitHandler( int )
+{
+ kdDebug() << "exitHandler" << endl;
+ g_savers.clear();
+ KLibLoader::self()->cleanUp();
+ exit(0);
+}
+
+
+KPartSaver::KPartSaver( WId id )
+ : KScreenSaver( id ), m_timer(), m_part(0), m_current(-1), m_back(0)
+{
+ // install signal handlers to make sure that nspluginviewer is shutdown correctly
+ // move this into the nspluginviewer kpart code
+ if( !g_inited ) {
+ g_inited = true;
+ g_savers.setAutoDelete( true );
+
+ srand( time(0) );
+
+ // install signal handler
+ signal( SIGINT, exitHandler ); // Ctrl-C will cause a clean exit...
+ signal( SIGTERM, exitHandler ); // "kill"...
+ signal( SIGHUP, exitHandler ); // "kill -HUP" (hangup)...
+ signal( SIGKILL, exitHandler ); // "kill -KILL"
+ //atexit( ( void (*)(void) ) exitHandler );
+ }
+
+ g_savers.append( this );
+
+ closeURL();
+
+ // load config
+ KConfig *cfg = kapp->config();
+ cfg->setGroup( "Misc" );
+
+ m_single = cfg->readBoolEntry( "Single", true );
+ m_delay = cfg->readNumEntry( "Delay", 60 );
+ m_random = cfg->readBoolEntry( "Random", false );
+ m_files = cfg->readListEntry( "Files" );
+
+ if( m_files.count()==0 ) {
+
+ // create background widget
+ m_back = new QLabel( i18n("The screen saver is not configured yet."), this );
+
+ m_back->setAlignment( AlignCenter );
+ embed( m_back );
+ m_back->show();
+
+ } else {
+
+ // queue files
+ for( unsigned int n=0; n<m_files.count(); n++ )
+ queue( KURL::fromPathOrURL( m_files[n] ) );
+
+ // play files
+ if( m_single )
+ next( m_random );
+ else {
+ next( m_random );
+ m_timer = new QTimer( this );
+ m_timer->start( m_delay*1000, true );
+ connect( m_timer, SIGNAL(timeout()), SLOT(timeout()) );
+ }
+ }
+}
+
+
+KPartSaver::~KPartSaver()
+{
+ g_savers.take( g_savers.findRef( this ));
+ closeURL();
+}
+
+
+void KPartSaver::closeURL()
+{
+ if( m_part ) {
+ m_part->closeURL();
+ delete m_part;
+ m_part = 0;
+ }
+}
+
+
+bool KPartSaver::openURL( KURL url )
+{
+ closeURL();
+
+ // find mime type
+ QString mime = KMimeType::findByURL( url )->name();
+
+ // find fitting kparts
+ KTrader::OfferList offers;
+ offers = KTrader::self()->query( mime, "'KParts/ReadOnlyPart' in ServiceTypes" );
+ if( offers.count()==0 ) {
+ kdDebug() << "Can't find proper kpart for " << mime << endl;
+ return false;
+ }
+
+ // load kpart library
+ QString lib = offers.first()->library();
+ KLibFactory *factory = KLibLoader::self()->factory( lib.latin1() );
+ if( !factory ) {
+ kdDebug() << "Library " << lib << " not found." << endl;
+ return false;
+ }
+
+ // create kpart
+ m_part = (KParts::ReadOnlyPart *)factory->create( this, "kpart", "KParts::ReadOnlyPart" );
+ if( !m_part ) {
+ kdDebug() << "Part for " << url.url() << " can't be constructed" << endl;
+ return false;
+ } else
+ embed( m_part->widget() );
+
+ // show kpart
+ delete m_back;
+ m_back = 0;
+
+ show();
+ m_part->widget()->show();
+
+ // load url
+ if( !m_part->openURL( url ) ) {
+ kdDebug() << "Can't load " << url.url() << endl;
+ closeURL();
+ return false;
+ }
+
+
+
+ return true;
+}
+
+
+void KPartSaver::queue( KURL url )
+{
+ Medium medium;
+ medium.url = url;
+ medium.failed = false;
+ m_media.append( medium );
+}
+
+
+void KPartSaver::timeout()
+{
+ next( m_random );
+ m_timer->start( m_delay*1000, true );
+}
+
+
+void KPartSaver::next( bool random )
+{
+ // try to find working media
+ while( m_media.count()>0 ) {
+
+ if( random )
+ m_current = rand() % m_media.count();
+ else
+ m_current++;
+
+ if( m_current>=(int)m_media.count() )
+ m_current = 0;
+
+ kdDebug() << "Trying medium " << m_media[m_current].url.url() << endl;
+
+ // either start immediately or start mimejob first
+ if( !openURL( m_media[m_current].url ) ) {
+ m_media.remove( m_media.at(m_current) );
+ m_current--;
+ } else
+ return;
+
+ }
+
+ // create background widget
+ m_back = new QLabel( i18n("All of your files are unsupported"), this );
+
+ m_back->setAlignment( AlignCenter );
+ embed( m_back );
+ m_back->show();
+
+ // nothing found, set to invalid
+ m_current = -1;
+}
+
+
+/*******************************************************************************/
+
+
+SaverConfig::SaverConfig( QWidget* parent, const char* name )
+ : ConfigWidget( parent, name, true )
+{
+ connect( m_ok, SIGNAL(clicked()), SLOT(apply()) );
+ connect( m_ok, SIGNAL(clicked()), SLOT(accept()) );
+ connect( m_cancel, SIGNAL(clicked()), SLOT(reject()) );
+
+ connect( m_multiple, SIGNAL(toggled(bool)), m_delayLabel, SLOT(setEnabled(bool)) );
+ connect( m_multiple, SIGNAL(toggled(bool)), m_delay, SLOT(setEnabled(bool)) );
+ connect( m_multiple, SIGNAL(toggled(bool)), m_secondsLabel, SLOT(setEnabled(bool)) );
+ connect( m_multiple, SIGNAL(toggled(bool)), m_random, SLOT(setEnabled(bool)) );
+
+ connect( m_files, SIGNAL(selectionChanged()), SLOT(select()) );
+ connect( m_add, SIGNAL(clicked()), SLOT(add()) );
+ connect( m_remove, SIGNAL(clicked()), SLOT(remove()) );
+ connect( m_up, SIGNAL(clicked()), SLOT(up()) );
+ connect( m_down, SIGNAL(clicked()), SLOT(down()) );
+
+ m_up->setIconSet( SmallIconSet("up") );
+ m_down->setIconSet( SmallIconSet("down") );
+
+ // load config
+ KConfig *cfg = kapp->config();
+ cfg->setGroup( "Misc" );
+
+ bool single = cfg->readBoolEntry( "Single", true );
+ m_single->setChecked( single );
+ m_multiple->setChecked( !single );
+ m_delay->setMinValue( 1 );
+ m_delay->setMaxValue( 10000 );
+ m_delay->setValue( cfg->readNumEntry( "Delay", 60 ) );
+ m_random->setChecked( cfg->readBoolEntry( "Random", false ) );
+ m_files->insertStringList( cfg->readListEntry( "Files" ) );
+
+ // update buttons
+ select();
+}
+
+
+SaverConfig::~SaverConfig()
+{
+}
+
+
+void SaverConfig::apply()
+{
+ kdDebug() << "apply" << endl;
+
+ KConfig *cfg = kapp->config();
+ cfg->setGroup( "Misc" );
+
+ cfg->writeEntry( "Single", m_single->isChecked() );
+ cfg->writeEntry( "Delay", m_delay->value() );
+ cfg->writeEntry( "Random", m_random->isChecked() );
+
+ int num = m_files->count();
+ QStringList files;
+ for( int n=0; n<num; n++ )
+ files << m_files->text(n);
+
+ cfg->writeEntry( "Files", files );
+
+ cfg->sync();
+}
+
+
+void SaverConfig::add()
+{
+ KURL::List files = KFileDialog::getOpenURLs( QString::null, QString::null,
+ this, i18n("Select Media Files") );
+ for( unsigned int n=0; n<files.count(); n++ )
+ m_files->insertItem( files[n].prettyURL(), -1 );
+}
+
+
+void SaverConfig::remove()
+{
+ int current = m_files->currentItem();
+ if( current!=-1 )
+ m_files->removeItem( current );
+}
+
+
+void SaverConfig::select()
+{
+ bool enabled = m_files->currentItem()!=-1;
+ m_remove->setEnabled( enabled );
+ m_up->setEnabled( enabled && m_files->currentItem()!=0 );
+ m_down->setEnabled( enabled && m_files->currentItem()!=(int)m_files->count()-1 );
+}
+
+
+void SaverConfig::up()
+{
+ int current = m_files->currentItem();
+ if ( current>0 ) {
+ QString txt = m_files->currentText();
+ m_files->removeItem( current );
+ m_files->insertItem( txt, current-1 );
+ m_files->setCurrentItem( current-1 );
+ }
+}
+
+
+void SaverConfig::down()
+{
+ int current = m_files->currentItem();
+ if ( current!=-1 && current<(int)m_files->count()-1 ) {
+ QString txt = m_files->currentText();
+ m_files->removeItem( current );
+ m_files->insertItem( txt, current+1 );
+ m_files->setCurrentItem( current+1 );
+ }
+}
+
+#include "kpartsaver.moc"
diff --git a/kscreensaver/kpartsaver/kpartsaver.desktop b/kscreensaver/kpartsaver/kpartsaver.desktop
new file mode 100644
index 00000000..6dcaf93f
--- /dev/null
+++ b/kscreensaver/kpartsaver/kpartsaver.desktop
@@ -0,0 +1,247 @@
+[Desktop Entry]
+X-KDE-Category=Banners & Pictures
+Name=Media Screen Saver
+Name[af]=Media Skerm Bewaarder
+Name[bg]=Медия
+Name[br]=Damanter skramm media
+Name[bs]=Media screen saver
+Name[ca]=Salvapantalles multimèdia
+Name[cs]=Šetřič obrazovky Media
+Name[cy]=Arbedydd Sgrîn efo Cyfryngau
+Name[da]=Mediepauseskærm
+Name[de]=Medien-Bildschirmschoner
+Name[el]=Προφύλαξη οθόνης πολυμέσων
+Name[es]=Salvapantallas multimedia
+Name[et]=Meedia-ekraanisäästja
+Name[eu]=Multimedia pantaila babeslea
+Name[fa]=محافظ صفحه نمایش رسانه
+Name[fi]=Media näytönsäästäjä
+Name[fr]=Écran de veille multidocument
+Name[fy]=Media skermbefeiliging
+Name[ga]=Spárálaí Scáileáin Meáin
+Name[gl]=Protector de Pantalla multimédia
+Name[he]=מולטימדיה
+Name[hi]=मीडिया स्क्रीन सेवर
+Name[hu]=Média képernyővédő
+Name[is]=Miðilsskjásvæfa
+Name[it]=Salva schermo multimediale
+Name[ja]=メディアスクリーンセーバー
+Name[ka]=მულტიმედია ეკრანმზოგი
+Name[mk]=Мултимедијален екрански чувар
+Name[ms]=Screen Saver Media
+Name[mt]=Screensaver tal-media
+Name[nb]=Media pauseskjerm
+Name[nds]=Medien-Pausschirm
+Name[ne]=मिडिया स्क्रिन सेभर
+Name[nl]=Media schermbeveiliging
+Name[nn]=Mediepauseskjerm
+Name[nso]=Seboloki sa Pontsho ya Media
+Name[pl]=Multimedia
+Name[pt]=Protector de Ecrã Media
+Name[pt_BR]=Protetor de Tela
+Name[ro]=Protecţie de ecran multimedia
+Name[ru]=Просмотр мультимедиа
+Name[sk]=Šetrič obrazovky Media
+Name[sl]=Večpredstavnostni ohranjevalnik zaslona
+Name[sr]=Медија чувар екрана
+Name[sr@Latn]=Medija čuvar ekrana
+Name[sv]=Mediaskärmsläckare
+Name[ta]=ஊடக திரை காப்பாளர்
+Name[tg]=Аз назар гузарондани мултимедия
+Name[tr]=Ekran Koruyucu
+Name[uk]=Мультимедійний зберігач екрана
+Name[ven]=Tshivhulungi tsha tshikirini tsha Media
+Name[vi]=Nêm=Hình ảnh Bảo vệ Màn hình
+Name[zh_CN]=媒体屏幕保护程序
+Name[zh_TW]=媒體螢幕保護程式
+Name[zu]=Umgcini Wesikrini Somculo
+
+Type=Application
+Exec=kpartsaver.kss
+Icon=kscreensaver
+Actions=Setup;InWindow;Root;
+
+[Desktop Action Setup]
+Exec=kpartsaver.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kpartsaver.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kpartsaver.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kpartsaver/kpartsaver.h b/kscreensaver/kpartsaver/kpartsaver.h
new file mode 100644
index 00000000..2f92ca47
--- /dev/null
+++ b/kscreensaver/kpartsaver/kpartsaver.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2001 Stefan Schimanski <1Stein@gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef KPARTSAVER_H_INCLUDED
+#define KPARTSAVER_H_INCLUDED
+
+
+#include <qwidget.h>
+#include <qtimer.h>
+#include <qstring.h>
+#include <qvaluelist.h>
+#include <qdialog.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+
+#include <klocale.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kconfig.h>
+#include <kfiledialog.h>
+#include <kurl.h>
+#include <kparts/part.h>
+#include <ktrader.h>
+#include <kio/jobclasses.h>
+#include <kio/job.h>
+#include <kmimetype.h>
+
+#include <kscreensaver.h>
+
+#include "configwidget.h"
+
+
+class SaverConfig : public ConfigWidget {
+Q_OBJECT
+
+ public:
+ SaverConfig( QWidget* parent = 0, const char* name = 0 );
+ ~SaverConfig();
+
+ protected slots:
+ void apply();
+ void add();
+ void remove();
+ void select();
+ void up();
+ void down();
+};
+
+
+class KPartSaver : public KScreenSaver {
+Q_OBJECT
+
+ public:
+ KPartSaver( WId id=0 );
+ virtual ~KPartSaver();
+
+ public slots:
+ void next( bool random );
+ void queue( KURL url );
+ void timeout();
+ void closeURL();
+
+ protected:
+ struct Medium {
+ KURL url;
+ bool failed;
+ };
+
+ bool openURL( KURL url );
+
+ QValueList<Medium> m_media;
+ QTimer *m_timer;
+ KParts::ReadOnlyPart *m_part;
+ int m_current;
+
+ bool m_single;
+ bool m_random;
+ int m_delay;
+ QStringList m_files;
+ QLabel *m_back;
+};
+
+#endif
diff --git a/kscreensaver/kxsconfig/Makefile.am b/kscreensaver/kxsconfig/Makefile.am
new file mode 100644
index 00000000..8f616e16
--- /dev/null
+++ b/kscreensaver/kxsconfig/Makefile.am
@@ -0,0 +1,56 @@
+## Makefile.am of kdebase/kscreensaver/kxsconfig
+
+INCLUDES = $(all_includes)
+kxsconfig_LDFLAGS = $(KDE_RPATH) $(all_libraries)
+kxsconfig_LDADD = $(LIB_KIO) -lXt
+
+kxsrun_LDFLAGS = $(KDE_RPATH) $(all_libraries)
+kxsrun_LDADD = $(LIB_KIO)
+
+EXTRA_DIST = ScreenSavers hacks.pot
+
+####### Files
+
+bin_PROGRAMS = kxsconfig kxsrun
+
+kxsconfig_SOURCES = kxscontrol.cpp kxsitem.cpp kxsxml.cpp kxsconfig.cpp
+kxsrun_SOURCES = kxsrun.cpp kxscontrol.cpp kxsitem.cpp kxsxml.cpp
+
+noinst_HEADERS = kxsconfig.h kxscontrol.h kxsitem.h kxsxml.h
+
+METASOURCES = AUTO
+
+####### Build rules
+
+messages:
+ $(XGETTEXT) -x hacks.pot *.cpp *.h -o $(podir)/kxsconfig.pot
+ cat hacks.pot >> $(podir)/kxsconfig.pot
+ -rm -f labels.cpp
+
+newhacks:
+ hacks=`cd /usr/lib/xscreensaver/ && ls -1 | grep -v config` ;\
+ echo $$hacks ;\
+ for name in $$hacks; do \
+ if test -f /usr/lib/xscreensaver/$$name && test -f /etc/xscreensaver/$$name.xml && test ! -f $(srcdir)/ScreenSavers/$$name.desktop; then \
+ label=`grep '<screensaver.*_label' /etc/xscreensaver/$$name.xml | sed -e 's#^.*_label=\"\(.*\)\".*$$#\1#'` ;\
+ f=$(srcdir)/ScreenSavers/$$name.desktop ;\
+ sed -e "s#@NAME@#$$name#; s#@LABEL@#$$label#" $(srcdir)/ScreenSavers/xscreensaver.template > $$f; \
+ if ldd /usr/lib/xscreensaver/$$name 2>&1 | grep libGL; then sed -e "s,@GL1@,X-KDE-Type=OpenGL,; s,@GL2@,X-KDE-Category=OpenGL Screen Savers," $$f > $$f.new && mv $$f.new $$f; else grep -v @GL $$f > $$f.new && mv $$f.new $$f; fi ;\
+ fi; \
+ done
+
+screensaverdir=$(kde_appsdir)/System/ScreenSavers
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(screensaverdir)
+ list=`(cd $(srcdir)/ScreenSavers && ls -1 *.desktop)` ;\
+ for i in $$list; do \
+ hack=`echo $$i | sed -e "s#\.desktop##"` ;\
+ if test -x $(XSCREENSAVER_HACKS_DIR)/$$hack; then \
+ echo "$$hack found" ;\
+ echo $(INSTALL_DATA) $(srcdir)/ScreenSavers/$$i $(DESTDIR)$(screensaverdir)/$$i ;\
+ $(INSTALL_DATA) $(srcdir)/ScreenSavers/$$i $(DESTDIR)$(screensaverdir)/$$i ;\
+ else \
+ echo "$$hack not found" ;\
+ fi ;\
+ done
diff --git a/kscreensaver/kxsconfig/README b/kscreensaver/kxsconfig/README
new file mode 100644
index 00000000..3d009305
--- /dev/null
+++ b/kscreensaver/kxsconfig/README
@@ -0,0 +1,17 @@
+kxsconfig configures xscreensaver hacks. For best results xscreensaver 4.x
+is required. Older versions work with varying success.
+
+The xscreensaver copyright notice follows. Files containing code copied
+from xscreensaver also carry this notice.
+
+-----------------------------------------------------------------------------
+xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski <jwz@jwz.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation. No representations are made about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/abstractile.desktop b/kscreensaver/kxsconfig/ScreenSavers/abstractile.desktop
new file mode 100644
index 00000000..f13aaadc
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/abstractile.desktop
@@ -0,0 +1,202 @@
+[Desktop Entry]
+Exec=abstractile
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Abstractile
+Name[ca]=Abstràctil
+Name[et]=Abstraktiil
+Name[fr]=Mosaïque abstraite
+Name[it]=Tasselli astratti
+Name[nds]=Afstrakachel
+Name[ru]=Мозаика
+Name[sr]=Апстрактил
+Name[sr@Latn]=Apstraktil
+Name[sv]=Abstrakt kakel
+TryExec=xscreensaver
+X-KDE-Category=Visit to Flatland
+
+[Desktop Action Setup]
+Exec=kxsconfig abstractile
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun abstractile -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun abstractile -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/anemone.desktop b/kscreensaver/kxsconfig/ScreenSavers/anemone.desktop
new file mode 100644
index 00000000..46c2b875
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/anemone.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=anemone
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Miscellaneous
+Name=Anemone
+Name[bg]=Анемона
+Name[ca]=Anèmona
+Name[cy]=Blodyn Y Gwynt
+Name[el]=Ανεμώνη
+Name[en_GB]=Anemonae
+Name[es]=Anémona
+Name[et]=Meriroos
+Name[eu]=Anemona
+Name[fa]=شقایق نعمانی
+Name[fr]=Anémone
+Name[fy]=Anemoan
+Name[gl]=Anémona
+Name[he]=זרועות
+Name[hi]=एनेमॉन
+Name[ja]=アネモネ
+Name[ka]=ფრინტა
+Name[mk]=Анемона
+Name[mt]=Anemoni
+Name[nds]=Anemoon
+Name[ne]=एनेमोन
+Name[nl]=Anemoon
+Name[pl]=Anemon
+Name[pt_BR]=Anêmona
+Name[ro]=Anemonă
+Name[ru]=Ветреница
+Name[sl]=Anemon
+Name[sr]=Анемона
+Name[sr@Latn]=Anemona
+Name[ta]=அனிமோன்
+Name[tg]=Одами сабук
+Name[tr]=Anemon
+Name[uk]=Анемон
+Name[uz]=Poʻfanak
+Name[uz@cyrillic]=Пўфанак
+Name[zh_CN]=海葵
+Name[zh_TW]=海葵
+
+[Desktop Action Setup]
+Exec=kxsconfig anemone
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun anemone -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun anemone -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/anemotaxis.desktop b/kscreensaver/kxsconfig/ScreenSavers/anemotaxis.desktop
new file mode 100644
index 00000000..4a15bc4f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/anemotaxis.desktop
@@ -0,0 +1,207 @@
+[Desktop Entry]
+Exec=anemotaxis
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Visit to Flatland
+Name=Anemotaxis
+Name[bg]=Анемотаксис
+Name[el]=Ανεμόταξη
+Name[es]=Amemotaxis
+Name[et]=Tuulelemb
+Name[fy]=Anemotaksis
+Name[hi]=एनेमॉटाक्सिस
+Name[ja]=走風性
+Name[ka]=არომატი
+Name[mk]=Ориентација по мирис
+Name[ne]=एनेमोट्याक्सिस
+Name[ru]=Аромат
+Name[sr]=Анемотакса
+Name[sr@Latn]=Anemotaksa
+Name[ta]=அனிமோடாக்சிஸ்
+TryExec=xscreensaver
+
+[Desktop Action Setup]
+Exec=kxsconfig anemotaxis
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun anemotaxis -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun anemotaxis -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/ant.desktop b/kscreensaver/kxsconfig/ScreenSavers/ant.desktop
new file mode 100644
index 00000000..adea091a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/ant.desktop
@@ -0,0 +1,248 @@
+[Desktop Entry]
+Exec=ant
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Ant
+Name[af]=Mier
+Name[br]=Merien
+Name[ca]=Formiga
+Name[cs]=Mravenec
+Name[cy]=Morgrugyn
+Name[da]=Myre
+Name[de]=Ameise
+Name[el]=Μυρμήγκι
+Name[eo]=Formiko
+Name[es]=Hormiga
+Name[et]=Sipelgas
+Name[eu]=Inurria
+Name[fa]=مورچه
+Name[fi]=Muurahaiset
+Name[fo]=Mýrir
+Name[fr]=Fourmi
+Name[fy]=Pishimmel
+Name[gl]=Formiga
+Name[he]=נמלים
+Name[hi]=चींटी
+Name[hu]=Hangya
+Name[is]=Maur
+Name[it]=Formica
+Name[ja]=アリ
+Name[ka]=ჭიანჭველა
+Name[mk]=Мравки
+Name[ms]=Semut
+Name[mt]=Nemel
+Name[nb]=Maur
+Name[nds]=Miegeem
+Name[ne]=एन्ट
+Name[nn]=Maur
+Name[nso]=Ntshi
+Name[pa]=ਕੀੜੀ
+Name[pl]=Mrówka
+Name[pt]=Formiga
+Name[pt_BR]=Formigas
+Name[ro]=Furnică
+Name[ru]=Муравей
+Name[sk]=Mravec
+Name[sl]=Mravlja
+Name[sr]=Мрав
+Name[sr@Latn]=Mrav
+Name[sv]=Myra
+Name[ta]=எறும்பு
+Name[tg]=Мӯрча
+Name[th]=มด
+Name[tr]=Karınca
+Name[uk]=Мурашка
+Name[uz]=Chumoli
+Name[uz@cyrillic]=Чумоли
+Name[vi]=Kiến
+Name[xh]=isigcawu
+Name[zh_CN]=蚂蚁
+Name[zh_TW]=螞蟻
+
+[Desktop Action Setup]
+Exec=kxsconfig ant
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun ant -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun ant -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/antinspect.desktop b/kscreensaver/kxsconfig/ScreenSavers/antinspect.desktop
new file mode 100644
index 00000000..77c76d83
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/antinspect.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=antinspect
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=AntInspect
+Name[ca]=Formiga inspectora
+Name[de]=Ameiseninspektion
+Name[el]=Ακολουθία μυρμηγκιών
+Name[eo]=FormikInspekt
+Name[es]=Hormiga inspectora
+Name[et]=Sipelgas-uurija
+Name[eu]=Inurri ikuskatzailea
+Name[fr]=3 fourmis
+Name[fy]=PishimmelYnspekt
+Name[gl]=Formiga Inspectora
+Name[hi]=एन्टलन्स्पेक्ट
+Name[it]=Formiche in ispezione
+Name[ka]=ჭიანჭველები
+Name[mk]=Мравки на преглед
+Name[ms]=Pemeriksaan Semut
+Name[nb]=MaurInspiser
+Name[nds]=Miegeem-Nakiek
+Name[nn]=Maurinspekt
+Name[pt]=Inspeccionar Formiga
+Name[pt_BR]=Formiga
+Name[ru]=Три муравья
+Name[sl]=Mravlji pregled
+Name[sr]=Мравља инспекција
+Name[sr@Latn]=Mravlja inspekcija
+Name[sv]=Inspektera myra
+Name[tg]=Се мурча
+Name[tr]=KarıncaDenetle
+Name[uk]=Три мурашки
+Name[vi]=Khám xét Kiến
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig antinspect
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun antinspect -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun antinspect -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/antmaze.desktop b/kscreensaver/kxsconfig/ScreenSavers/antmaze.desktop
new file mode 100644
index 00000000..cf465a29
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/antmaze.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=antmaze
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=AntMaze
+Name[ca]=Laberint de formigues
+Name[cs]=Mravenčí bludiště
+Name[da]=Myrernes labyrint
+Name[eo]=FormikLabirint
+Name[et]=Sipelgalabürint
+Name[fa]=هزارتوی
+Name[fi]=Muurahaissokkelo
+Name[fr]=Labyrinthe des fourmis
+Name[fy]=Doalhôf
+Name[gl]=Labirinto de Formigas
+Name[he]=מבוך נמלה
+Name[hu]=Hangyák a labirintusban
+Name[is]=Völundarhús
+Name[ja]=アリ迷路
+Name[ka]=ჭიანჭველების ლაბირინთი
+Name[mk]=Лавиринт со мравки
+Name[nb]=MaurLabyrint
+Name[nds]=Miegeem-Biestergoorn
+Name[nl]=Doolhof
+Name[nn]=Maurlabyrint
+Name[pt]=Labirinto da Formiga
+Name[pt_BR]=Labirinto para Formiga
+Name[ru]=Путешествие по муравейнику
+Name[sl]=Mravlji blodnjak
+Name[sr]=Мрављи лавиринт
+Name[sr@Latn]=Mravlji lavirint
+Name[sv]=Myrornas labyrint
+Name[uk]=Мурашиний Лабіринт
+Name[vi]=Mê cung Kiến
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig antmaze
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun antmaze -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun antmaze -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/antspotlight.desktop b/kscreensaver/kxsconfig/ScreenSavers/antspotlight.desktop
new file mode 100644
index 00000000..204bc14a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/antspotlight.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=antspotlight
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=AntSpotlight
+Name[ca]=FocusFormiga
+Name[cy]=GolauSbot Ant
+Name[de]=Ameise mit Scheinwerfer
+Name[eo]=FormikLumĵet
+Name[es]=Foco de hormiga
+Name[et]=Sipelgas laternaga
+Name[eu]=Inurri fokua
+Name[fr]=Fourmi éclairante
+Name[fy]=PishimmelSpotsje
+Name[gl]=Foco de formiga
+Name[he]=זרקור נמלים
+Name[hi]=एन्ट-स्पॉटलाइट
+Name[hu]=Hangya+reflektor
+Name[is]=Maurakastljós
+Name[it]=Formica con luce
+Name[ja]=アリ スポットライト
+Name[ka]=ჭიანჭველა-გამნათებელი
+Name[mk]=Мравка-рефлектор
+Name[nb]=MaurSpotlight
+Name[nds]=Miegeemsöök
+Name[nn]=Maur-punktlys
+Name[pl]=Mrówka pod reflektorem
+Name[pt]=Luz Pontual Ant
+Name[pt_BR]=Holofote
+Name[ru]=Муравей-шахтёр
+Name[sl]=Mravlji žaromet
+Name[sr]=Мрављи рефлектор
+Name[sr@Latn]=Mravlji reflektor
+Name[sv]=Spotlight på myra
+Name[ta]=எறும்புஇடஒளி
+Name[tg]=Мӯрчаи коргари кон
+Name[tr]=Işık Spotu
+Name[uk]=Мурашка-ліхтарик
+Name[vi]=Đèn chiếu Kiến
+Name[zh_CN]=聚光灯
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL;ManipulateScreen
+
+[Desktop Action Setup]
+Exec=kxsconfig antspotlight
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun antspotlight -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun antspotlight -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/apollonian.desktop b/kscreensaver/kxsconfig/ScreenSavers/apollonian.desktop
new file mode 100644
index 00000000..f4a59e37
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/apollonian.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Exec=apollonian
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Apollonian
+Name[br]=Apollonieg
+Name[ca]=Apol·loni
+Name[cy]=Apolonaidd
+Name[da]=Apollonsk
+Name[de]=Apollonische Kreise
+Name[el]=Απολλώνιος
+Name[es]=Apoloniano
+Name[et]=Harmoonia
+Name[eu]=Apoloniarra
+Name[fa]=آپولونی
+Name[fo]=Apollonianskt
+Name[fr]=Apollinien
+Name[fy]=Apolloniaansk
+Name[gl]=Apolonian
+Name[hi]=अपोलोनियन
+Name[hu]=Apolló
+Name[ja]=アポロニアン
+Name[ka]=აპოლონური
+Name[mk]=Аполонски
+Name[mt]=Apollonjan
+Name[nb]=Apollinsk
+Name[nds]=Apolloonsche Krinken
+Name[ne]=एपोलोनियन
+Name[nl]=Apolloniaans
+Name[nn]=Apollonsk
+Name[ru]=Круги
+Name[sl]=Apolonija
+Name[sr]=Аполонски
+Name[sr@Latn]=Apolonski
+Name[sv]=Apollonisk
+Name[ta]=அப்போலோனியன்
+Name[tg]=Давраҳо
+Name[tr]=Apollon
+Name[uk]=Аполонський
+Name[zh_CN]=阿波罗
+
+[Desktop Action Setup]
+Exec=kxsconfig apollonian
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun apollonian -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun apollonian -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/apple2.desktop b/kscreensaver/kxsconfig/ScreenSavers/apple2.desktop
new file mode 100644
index 00000000..c7081569
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/apple2.desktop
@@ -0,0 +1,203 @@
+[Desktop Entry]
+Exec=apple2
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Type=Fortune
+X-KDE-Category=Banners & Pictures
+Name=Apple ][
+Name[fa]=سیب ][
+Name[gl]=Mazá ][
+Name[hi]=एप्पल ][
+Name[ne]=एप्पल ][
+Name[sl]=Jabolko ][
+Name[sv]=Apple
+Name[ta]=ஆப்பிள் ][
+Name[tr]=Elma ][
+Name[vi]=Táo ][
+
+[Desktop Action Setup]
+Exec=kxsconfig apple2
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun apple2 -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun apple2 -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/atlantis.desktop b/kscreensaver/kxsconfig/ScreenSavers/atlantis.desktop
new file mode 100644
index 00000000..1c93ffe4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/atlantis.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=atlantis
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Atlantis (GL)
+Name[af]=Atlantis (Gl)
+Name[ca]=Atlàntida (GL)
+Name[de]=Atlantis
+Name[el]=Ατλαντίδα (GL)
+Name[eo]=Atlantido (graf. bibl.)
+Name[es]=Atlántida (GL)
+Name[gl]=Atlántida (GL)
+Name[he]=אטלנטיס (GL)
+Name[hi]=अटलांटिस (जीएल)
+Name[hu]=Atlantisz (GL)
+Name[it]=Atlantide (GL)
+Name[ja]=アトランティス (GL)
+Name[ka]=ატლანტისი (GL)
+Name[mk]=Атлантик (GL)
+Name[ne]=एटलान्टिस (GL)
+Name[pt]=Atlântida (GL)
+Name[ru]=Атлантида (GL)
+Name[sl]=Atlantida (GL)
+Name[sr]=Атлантида (GL)
+Name[sr@Latn]=Atlantida (GL)
+Name[ta]=அட்லாண்டீஸ்(GL)
+Name[tg]=Атлантида (GL)
+Name[th]=แอตแลนติส (GL)
+Name[uk]=Атлантида (GL)
+Name[zh_CN]=大西洋(GL)
+Name[zh_TW]=亞特蘭提斯 (GL)
+
+
+[Desktop Action Setup]
+Exec=kxsconfig atlantis
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun atlantis -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun atlantis -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/attraction.desktop b/kscreensaver/kxsconfig/ScreenSavers/attraction.desktop
new file mode 100644
index 00000000..56ac6dc1
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/attraction.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=attraction
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Rapid Motion
+Name=Attraction
+Name[af]=Aantrekking
+Name[bg]=Привличане
+Name[br]=Dedennerezh
+Name[ca]=Atracció
+Name[cs]=Přitažlivost
+Name[cy]=Atyniad
+Name[da]=Attraktion
+Name[de]=Anziehung
+Name[el]=Έλξη
+Name[eo]=Altirfortoj
+Name[es]=Atracción
+Name[et]=Külgetõmme
+Name[eu]=Erakarpena
+Name[fa]=ربایش
+Name[fi]=Attraktori
+Name[fo]=Hála hendavegin
+Name[fy]=Attraksje
+Name[gl]=Atracción
+Name[he]=משיכה
+Name[hi]=आकर्षण
+Name[hu]=Vonzás
+Name[is]=Aðdráttur
+Name[it]=Attrazione
+Name[ja]=アトラクション
+Name[ka]=მიმზიდველობა
+Name[lt]=Atrakcijos
+Name[lv]=Atrakcija
+Name[mk]=Привлекување
+Name[ms]=Tarikan
+Name[mt]=Attrazzjoni
+Name[nb]=Attraksjon
+Name[nds]=Antrecken
+Name[ne]=आकर्षण
+Name[nn]=Tiltrekking
+Name[nso]=Kgogedi
+Name[pl]=Atrakcja
+Name[pt]=Atracção
+Name[pt_BR]=Atração
+Name[ro]=Atracţie
+Name[ru]=Прелесть
+Name[sk]=Atrakcia
+Name[sl]=Privlačnost
+Name[sr]=Привлачење
+Name[sr@Latn]=Privlačenje
+Name[sv]=Sammandragning
+Name[ta]=ஈர்ப்பு
+Name[tg]=Латофат
+Name[th]=ดึงดูดใจ
+Name[tr]=Cazibe
+Name[uk]=Притягання
+Name[uz]=Tortishish
+Name[uz@cyrillic]=Тортишиш
+Name[ven]=Zwitamisaho
+Name[vi]=Hấp dẫn
+Name[xh]=Utsaleko
+Name[zh_CN]=吸引
+Name[zh_TW]=吸引力
+Name[zu]=Ukuthatheka
+
+[Desktop Action Setup]
+Exec=kxsconfig attraction
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun attraction -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun attraction -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/atunnel.desktop b/kscreensaver/kxsconfig/ScreenSavers/atunnel.desktop
new file mode 100644
index 00000000..0f6adce3
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/atunnel.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=atunnel
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Atunnel
+Name[ca]=TúnelA
+Name[cy]=TwnelA
+Name[de]=Grauer Tunnel
+Name[eu]=A tunela
+Name[fr]=Tunnel A
+Name[hi]=ए-टनल
+Name[ja]=トンネル
+Name[ka]=ჰიპნოტური გვირაბი
+Name[mk]=Тунел
+Name[ms]=Terowong
+Name[nds]=En Tunnel
+Name[ne]=एटुनेल
+Name[pl]=Tunel
+Name[pt]=Túnel
+Name[ru]=Туннель
+Name[sl]=Atunel
+Name[sr]=Атунел
+Name[sr@Latn]=Atunel
+Name[sv]=En tunnel
+Name[ta]=அட்டனல்
+Name[tg]=Тунели гипертонӣ
+Name[uk]=Безкінечний тунель
+Name[vi]=Đường hầm
+
+[Desktop Action Setup]
+Exec=kxsconfig atunnel
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun atunnel -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun atunnel -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/barcode.desktop b/kscreensaver/kxsconfig/ScreenSavers/barcode.desktop
new file mode 100644
index 00000000..367bc96b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/barcode.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=barcode
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Barcode
+Name[bg]=Баркод
+Name[ca]=Codi de Barres
+Name[cs]=Čárový kód
+Name[cy]=Bargôd
+Name[de]=Strichcode
+Name[eo]=Strekkodo
+Name[es]=Código de barras
+Name[et]=Ribakood
+Name[eu]=Barra-kodea
+Name[fa]=کد میله‌ای
+Name[fr]=Code barre
+Name[fy]=Barkoade
+Name[gl]=Código de barras
+Name[he]=בר־קוד
+Name[hi]=बारकोड
+Name[hu]=Vonalkód
+Name[is]=Strikamerki
+Name[it]=Codice a barre
+Name[ja]=バーコード
+Name[ka]=შტრიხკოდი
+Name[mk]=Бар-код
+Name[ms]=Kod Bar
+Name[nb]=Strekkode
+Name[nds]=Streekkode
+Name[ne]=बारकोड
+Name[nn]=Strekkode
+Name[pa]=ਬਾਰ-ਕੋਡ
+Name[pl]=Kod paskowy
+Name[pt]=Código de Barras
+Name[ro]=Cod de bare
+Name[ru]=Штрих-коды
+Name[sl]=Črtna koda
+Name[sr]=Бар код
+Name[sr@Latn]=Bar kod
+Name[sv]=Streckkod
+Name[ta]=பட்டிசின்னம்
+Name[tg]=Кодҳои рах-рах
+Name[tr]=Barkod
+Name[uk]=Штриховий код
+Name[vi]=Mã vạch
+Name[zh_CN]=条形码
+
+[Desktop Action Setup]
+Exec=kxsconfig barcode
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun barcode -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun barcode -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/blaster.desktop b/kscreensaver/kxsconfig/ScreenSavers/blaster.desktop
new file mode 100644
index 00000000..bbf1e3f6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/blaster.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=blaster
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=Blaster
+Name[cy]=Ffrwydryn
+Name[el]=Εκτοξευτής
+Name[fo]=Blásari
+Name[fr]=Boutefeu
+Name[gl]=Disparo
+Name[he]=קרב בחלל
+Name[hi]=विस्फ़ोटक
+Name[ja]=ブラスター
+Name[ka]=ბლასტერი
+Name[mk]=Напад
+Name[ms]=Peledak
+Name[nb]=Strålekanon
+Name[nds]=Blaser
+Name[ne]=ब्लास्टर
+Name[nn]=Strålekanon
+Name[pl]=Miotacz
+Name[pt]=Estoiro
+Name[ru]=Бластер
+Name[sl]=Bojevnik
+Name[sr]=Бластер
+Name[sv]=Strålkanon
+Name[ta]=ப்ளாஸ்டர்
+Name[tg]=Бластер
+Name[th]=บลาสเตอร์
+Name[tr]=Süpürge
+Name[uk]=Винищувач
+Name[uz@cyrillic]=Бластер
+Name[ven]=Tshikwashi
+Name[vi]=Nổ tung
+Name[zh_CN]=太空激战
+Name[zh_TW]=攻擊風暴
+
+[Desktop Action Setup]
+Exec=kxsconfig blaster
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun blaster -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun blaster -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/blinkbox.desktop b/kscreensaver/kxsconfig/ScreenSavers/blinkbox.desktop
new file mode 100644
index 00000000..cf0d3548
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/blinkbox.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=blinkbox
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=BlinkBox
+Name[el]=Πλαίσιο αναλαμπών
+Name[eo]=PulsSkatolo
+Name[es]=Caja parpadeante
+Name[et]=Plinkiv kast
+Name[eu]=Kaxa keinularia
+Name[fa]=جعبۀ چشمک
+Name[fr]=Boîte clignotante
+Name[he]=קופסה מהבהבת
+Name[hi]=ब्लिंक-बॉक्स
+Name[hu]=Villódzó doboz
+Name[is]=BlikkBox
+Name[it]=Scatole nella pallina
+Name[ka]=მოციმციმე დაფა
+Name[mk]=Трепкави кутии
+Name[ms]=Kotak Kerlip
+Name[nb]=BlinkBoks
+Name[nds]=Blinkkist
+Name[ne]=ब्लिङ्क बाकस
+Name[nn]=Blinkboks
+Name[pt_BR]=Caixa Piscante
+Name[ru]=Запертые шарики
+Name[sl]=Utripajoča škatla
+Name[sr]=Трепћућа кутија
+Name[sr@Latn]=Trepćuća kutija
+Name[sv]=Blinkande ruta
+Name[ta]=மின்னும்பெட்டி
+Name[tg]=Кӯрачаҳои манъшуда
+Name[tr]=YanSönKutusu
+Name[uk]=М'ячик в коробці
+Name[vi]=Hộp Nháy
+Name[zh_CN]=闪烁盒子
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig blinkbox
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun blinkbox -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun blinkbox -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/blitspin.desktop b/kscreensaver/kxsconfig/ScreenSavers/blitspin.desktop
new file mode 100644
index 00000000..717fcd59
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/blitspin.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=blitspin
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=BlitSpin
+Name[cy]=SbinBlit
+Name[de]=Teilen und Drehen
+Name[et]=Tükeldaja
+Name[fa]=چرخش بلیت
+Name[fr]=Image tournante
+Name[he]=פיצולים וסיבובים
+Name[hi]=ब्लिट-स्पिन
+Name[hu]=Blitspin
+Name[ja]=ブリットスピン
+Name[ka]=დაგრეხა
+Name[mk]=Ротирање битмапи
+Name[nb]=Blitspinn
+Name[nds]=Deeldreihen
+Name[ne]=ब्लिटस्पिन
+Name[nn]=Bitspinn
+Name[pt_BR]=Giro
+Name[ru]=Закрученная картинка
+Name[sr]=Блитспин
+Name[sr@Latn]=Blitspin
+Name[sv]=Bitspinn
+Name[ta]=ப்ளிட்சூழல்
+Name[tg]=Тасвири тофташуда
+Name[uk]=Бліт-перевернення
+Name[zh_CN]=旋转拼图
+Name[zh_TW]=旋轉拼圖
+
+[Desktop Action Setup]
+Exec=kxsconfig blitspin
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun blitspin -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun blitspin -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/blocktube.desktop b/kscreensaver/kxsconfig/ScreenSavers/blocktube.desktop
new file mode 100644
index 00000000..7cd75b35
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/blocktube.desktop
@@ -0,0 +1,230 @@
+[Desktop Entry]
+Exec=blocktube
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=BlockTube
+Name[ca]=BlocTub
+Name[cy]=TiwbBloc
+Name[de]=Blocktunnel
+Name[eo]=BlokTubo
+Name[es]=Túnel de bloques
+Name[et]=Plokitunnel
+Name[eu]=Bloke hodia
+Name[fa]=لامپ بلوک
+Name[fr]=Tunnel pavé
+Name[fy]=Blokbuizen
+Name[gl]=Túnel de bloques
+Name[he]=בלוק אמיתי
+Name[hi]=बंद नली
+Name[hu]=Cső
+Name[it]=Tubo a blocchi
+Name[ja]=ブロックチューブ
+Name[ka]=გვირაბი - ჩიხი
+Name[mk]=Цевка од блокови
+Name[ms]=Tiub Blok
+Name[nb]=Blokkrør
+Name[nds]=Schieventunnel
+Name[ne]=ब्लकट्युब
+Name[nl]=Blokbuizen
+Name[nn]=Blokkrøyr
+Name[pt]=Tubo Bloco
+Name[ru]=Рассыпающийся туннель
+Name[sl]=Bločna tuba
+Name[sr]=Блоковска цев
+Name[sr@Latn]=Blokovska cev
+Name[sv]=Blocktub
+Name[ta]=பகுதி குழாய்
+Name[tg]=Тунели пошида истода
+Name[tr]=Tüp
+Name[uk]=Тунель з блоків
+Name[vi]=Ống Chắn
+Name[zh_CN]=块方
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig blocktube
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun blocktube -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun blocktube -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/boing.desktop b/kscreensaver/kxsconfig/ScreenSavers/boing.desktop
new file mode 100644
index 00000000..0bb6e38b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/boing.desktop
@@ -0,0 +1,207 @@
+[Desktop Entry]
+Exec=boing
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Boing
+Name[es]=Saltarín
+Name[fy]=Pong
+Name[he]=זבנג
+Name[ja]=ポン
+Name[ka]=ბოინგი
+Name[mk]=Отскокнување
+Name[ne]=बोइङ
+Name[nl]=Pong
+Name[ru]=Прыгающий шарик
+Name[sr]=Боинг
+Name[sv]=Bång
+Name[uk]=Боїнг
+Name[zh_TW]=波音
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig boing
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun boing -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun boing -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bouboule.desktop b/kscreensaver/kxsconfig/ScreenSavers/bouboule.desktop
new file mode 100644
index 00000000..4c4f2661
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bouboule.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=bouboule
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Illusions of Depth
+Name=Bouboule
+Name[af]=Borrels
+Name[br]=Mell-divell
+Name[da]=Klokke
+Name[eo]=Vezikoj
+Name[et]=MullMull
+Name[fo]=Bouboula
+Name[he]=כדור מתפתל
+Name[hi]=झाग के बुलबुले
+Name[hu]=Buborékok
+Name[it]=Bolle
+Name[ja]=泡
+Name[ka]=ლაქები
+Name[lt]=Burbulas
+Name[mk]=Дамчесто
+Name[ne]=बोउबोउल
+Name[pt_BR]=Conjunto de Bolhas
+Name[ru]=Шарики
+Name[sk]=Bubliny
+Name[sl]=Balončki
+Name[sr]=Буболе
+Name[sr@Latn]=Bubole
+Name[ta]=பௌபௌல்
+Name[tg]=Кӯрачаҳо
+Name[th]=ฟอง
+Name[uk]=Бубуль
+Name[uz]=Pufakcha
+Name[uz@cyrillic]=Пуфакча
+Name[zh_CN]=泡泡团
+Name[zh_TW]=泡泡
+
+[Desktop Action Setup]
+Exec=kxsconfig bouboule
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun bouboule -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bouboule -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bouncingcow.desktop b/kscreensaver/kxsconfig/ScreenSavers/bouncingcow.desktop
new file mode 100644
index 00000000..c7fb8c2e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bouncingcow.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=bouncingcow
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=BouncingCow
+Name[bg]=Скачаща крава
+Name[br]=Buoc'h dañsus
+Name[ca]=Vaca dansaire
+Name[cs]=Poskakující kráva
+Name[cy]=BuwchSboncio
+Name[de]=Kuh auf Trampolin
+Name[eo]=ResaltaBovin'
+Name[es]=La vaca saltarina
+Name[et]=Hüppav Lehm
+Name[eu]=Behi errebotatzailea
+Name[fa]=گاو سالم و سرحال
+Name[fr]=Vache dansante
+Name[fy]=Stuiterjende Ko
+Name[gl]=Vaca rebotando
+Name[he]=פרה מקפצת
+Name[hi]=उछलती-गाय
+Name[hu]=Pattogó tehén
+Name[is]=Skoppandi belja
+Name[it]=Mucca che salta
+Name[ja]=暴れる牛
+Name[ka]=მოხტუნავე ძროხა
+Name[mk]=Крава што скока
+Name[ms]=Lembu Lantun
+Name[nb]=Sprettende ku
+Name[nds]=Springen Koh
+Name[ne]=बाउन्सिङकाउ
+Name[nl]=Stuiterende koe
+Name[nn]=Sprettande ku
+Name[pl]=Skacząca krowa
+Name[pt]=VacaSaltitante
+Name[pt_BR]=Vaca
+Name[ro]=Vaca săritoare
+Name[ru]=Летающая корова
+Name[sl]=Poskočna krava
+Name[sr]=Одбијајућа крава
+Name[sr@Latn]=Odbijajuća krava
+Name[sv]=Studsande ko
+Name[ta]=குதிக்கும் பசு
+Name[tg]=Гови парвоз карда истода
+Name[tr]=Zıplayanİnek
+Name[uk]=Корова підстрибує
+Name[vi]=Bò cái Va đập
+Name[zh_CN]=康康牛
+
+[Desktop Action Setup]
+Exec=kxsconfig bouncingcow
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun bouncingcow -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bouncingcow -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/boxed.desktop b/kscreensaver/kxsconfig/ScreenSavers/boxed.desktop
new file mode 100644
index 00000000..7bdc23d3
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/boxed.desktop
@@ -0,0 +1,236 @@
+[Desktop Entry]
+Exec=boxed
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Boxed
+Name[ca]=Encaixonat
+Name[cy]=Amgaeëdig
+Name[de]=Bälle im Würfel
+Name[es]=Encajonado
+Name[et]=Kastis
+Name[eu]=Kaxan
+Name[fa]=در جعبه گذاشته‌شده
+Name[fi]=Pakattu
+Name[fo]=Í kassum
+Name[fr]=En boîte
+Name[gl]=Encaixado
+Name[he]=כדורים בקופסה
+Name[hi]=बक्स-गोला
+Name[hu]=Dobozos
+Name[is]=Kassað
+Name[ja]=箱詰め
+Name[ka]=ყითები
+Name[mk]=Спакувано
+Name[ms]=Dikotakkan
+Name[mt]=Inkaxxat
+Name[nb]=Kasser
+Name[nds]=Inpackt
+Name[ne]=बाकसमा राखिएको
+Name[nn]=Kassar
+Name[pl]=W pudełku
+Name[pt]=Encaixotado
+Name[pt_BR]=Encaixado
+Name[ru]=Стакан
+Name[sl]=Škatla
+Name[sr]=Кутијасто
+Name[sr@Latn]=Kutijasto
+Name[sv]=Lådor
+Name[ta]=கட்டப்பட்ட
+Name[tg]=Стакан
+Name[tr]=Kutulu
+Name[uk]=В коробці
+Name[ven]=Zwo vhulungwaho
+Name[vi]=Hộp
+Name[xh]=Ifakwe ebhokisini
+Name[zh_CN]=盒子
+Name[zh_TW]=盒裝的
+Name[zu]=Okufakwe ebhokisini
+
+[Desktop Action Setup]
+Exec=kxsconfig boxed
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun boxed -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun boxed -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/boxfit.desktop b/kscreensaver/kxsconfig/ScreenSavers/boxfit.desktop
new file mode 100644
index 00000000..644652e2
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/boxfit.desktop
@@ -0,0 +1,213 @@
+[Desktop Entry]
+Exec=boxfit
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=BoxFit
+Name[ca]=Encaixat
+Name[fi]=Laatikkosovitus
+Name[fr]=En forme de boîte
+Name[gl]=Caixón
+Name[hu]=Dobozba zárva
+Name[ja]=箱ぴったり詰め
+Name[ka]=ყუთები
+Name[mk]=Погодно за кутија
+Name[nds]=Passkist
+Name[ne]=बक्सफिट
+Name[pt]=Encaixotado
+Name[pt_BR]=Preenchimento
+Name[ru]=Разноцветные пузырьки
+Name[sl]=Tlakovanje
+Name[sr]=Уклопљене кутије
+Name[sr@Latn]=Uklopljene kutije
+Name[sv]=Passa i lådor
+Name[tr]=Kutulu
+Name[uk]=В коробці
+Name[vi]=Hộp khít
+TryExec=xscreensaver
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig boxfit
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun boxfit -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun boxfit -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/braid.desktop b/kscreensaver/kxsconfig/ScreenSavers/braid.desktop
new file mode 100644
index 00000000..83bc4e9a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/braid.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=braid
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Braid
+Name[af]=Weef
+Name[br]=Plezh
+Name[ca]=Trena
+Name[cs]=Šňůra
+Name[cy]=Plethu
+Name[da]=Fletning
+Name[de]=Zopf
+Name[eo]=Plektaĵo
+Name[es]=Trenza
+Name[et]=Põimik
+Name[fa]=بافه
+Name[fr]=Tresse
+Name[fy]=Frissel
+Name[gl]=Trenza
+Name[he]=מעגלים קלועים
+Name[hi]=रस्सियाँ
+Name[hu]=Copf
+Name[is]=Fléttað
+Name[it]=Trecce
+Name[ja]=組みひも
+Name[ka]=თასმა
+Name[mk]=Ширит
+Name[ms]=Jalin
+Name[mt]=Malja
+Name[nb]=Flette
+Name[nds]=Flechtwark
+Name[ne]=ब्रेड
+Name[pt_BR]=Trança
+Name[ru]=Тесьма
+Name[sk]=Stužka
+Name[sl]=Preplet
+Name[sr]=Плетеница
+Name[sr@Latn]=Pletenica
+Name[sv]=Hårband
+Name[ta]=பின்னல்
+Name[tg]=Тасмача
+Name[th]=ถักเกลียว
+Name[tr]=Saç Örgüsü
+Name[uk]=Переплетення
+Name[ven]=U tanganisa
+Name[xh]=Umphotho
+Name[zh_CN]=交织圆环
+Name[zh_TW]=交織圓
+Name[zu]=Igoda
+
+[Desktop Action Setup]
+Exec=kxsconfig braid
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun braid -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun braid -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bsod.desktop b/kscreensaver/kxsconfig/ScreenSavers/bsod.desktop
new file mode 100644
index 00000000..4ba33fba
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bsod.desktop
@@ -0,0 +1,204 @@
+[Desktop Entry]
+Exec=bsod
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+Name=BSOD
+Name[fr]=Écran bleu
+Name[he]=מסך המוות הכחול
+Name[hi]=बीएसओडी
+Name[ka]=ლურჯი ეკრანი
+Name[ne]=बीएसओडी
+Name[ru]=Синий экран смерти
+Name[tg]=Эрани кабуди марг
+Name[th]=หน้าจอสีฟ้าแห่งความตาย
+Name[uk]=Синій екран смерті
+Name[zh_CN]=蓝屏死机
+Name[zh_TW]=當機畫面
+
+[Desktop Action Setup]
+Exec=kxsconfig bsod
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun bsod -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bsod -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bubble3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/bubble3d.desktop
new file mode 100644
index 00000000..7e9d5a4e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bubble3d.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=bubble3d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Bubble 3D (GL)
+Name[af]=Borrel 3d (Gl)
+Name[bg]=Балон 3D (GL)
+Name[br]=Klogor 3D (GL)
+Name[ca]=Bombolla 3D (GL)
+Name[cs]=Bubliny 3D (GL)
+Name[cy]=Swigen 3D (GL)
+Name[da]=Boble 3D (GL)
+Name[de]=Blasen 3D
+Name[el]=Φυσαλίδα 3D (GL)
+Name[eo]=Veziko 3D (graf. bibl.)
+Name[es]=Burbuja 3D (GL)
+Name[et]=Mull 3D (GL)
+Name[eu]=Burbuila 3D (GL)
+Name[fa]=حباب سه بعدی (GL)
+Name[fi]=Kuplat 3D (GL)
+Name[fo]=3D-bubblar (GL)
+Name[fr]=Bulle 3D (GL)
+Name[fy]=Brobbel 3D (GL)
+Name[gl]=Borbulla 3D (GL)
+Name[he]=בועות תלת־מימדיות (GL)
+Name[hi]= त्रिआयामी बुलबुले (जीएल)
+Name[hu]=Buborékok 3D (OpenGL)
+Name[is]=Blöðrur 3D (GL)
+Name[it]=Bolla 3D (GL)
+Name[ja]=泡 3D (GL)
+Name[ka]=ბუშტუკები (GL)
+Name[mk]=Меурчиња 3Д (GL)
+Name[mt]=Bżieżaq 3D (GL)
+Name[nb]=Bobler i 3D (GL)
+Name[nds]=3D-Blasen
+Name[ne]=त्रि-आयामिक फोका (GL)
+Name[nn]=Boble 3D (GL)
+Name[pl]=Bąbelki 3D (GL)
+Name[pt]=Bolha 3D (GL)
+Name[pt_BR]=Bolha 3D (GL)
+Name[ro]=Bulă 3D (GL)
+Name[ru]=Пузырьки (GL)
+Name[sk]=3D Bublina (GL)
+Name[sl]=Mehurčki 3D (GL)
+Name[sr]=Балони 3Д (GL)
+Name[sr@Latn]=Baloni 3D (GL)
+Name[sv]=Bubblor 3D (GL)
+Name[ta]=நுரை 3டி (GL)
+Name[tg]=Пуфакҳо (GL)
+Name[th]=ฟองแบบ 3 มิติ (GL)
+Name[tr]=Üç Boyutlu Kabarcık (GL)
+Name[uk]=Бульбашки 3D (GL)
+Name[uz]=Pufakcha 3D (GL)
+Name[uz@cyrillic]=Пуфакча 3D (GL)
+Name[ven]=Pulo 3D (GL)
+Name[vi]=Bọt 3 chiều (GL)
+Name[xh]=Iqampu 3D (GL)
+Name[zh_CN]=立体泡泡(GL)
+Name[zh_TW]=3D 氣泡 (GL)
+Name[zu]=Igwebu 3D (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig bubble3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun bubble3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bubble3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bubbles.desktop b/kscreensaver/kxsconfig/ScreenSavers/bubbles.desktop
new file mode 100644
index 00000000..cdb94a25
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bubbles.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=bubbles
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Bubbles
+Name[af]=Borrels
+Name[bg]=Балончета
+Name[br]=Klogor
+Name[ca]=Bombolles
+Name[cs]=Bubliny
+Name[cy]=Swigod
+Name[da]=Bobler
+Name[de]=Blasen
+Name[el]=Φυσαλίδες
+Name[eo]=Vezikoj
+Name[es]=Burbujas
+Name[et]=Mullid
+Name[eu]=Burbuilak
+Name[fa]=حبابها
+Name[fi]=Kuplat
+Name[fo]=Bubblar
+Name[fr]=Bulles
+Name[fy]=Brobbels
+Name[gl]=Borbullas
+Name[he]=בועות
+Name[hi]=बुलबुले
+Name[hu]=Buborékok
+Name[is]=Blöðrur
+Name[it]=Bolle
+Name[ja]=泡
+Name[ka]=ბუშტუკები
+Name[mk]=Меурчиња
+Name[ms]=Bebuih
+Name[mt]=Bżieżaq
+Name[nb]=Bobler
+Name[nds]=Blasen
+Name[ne]=फोका
+Name[nn]=Bobler
+Name[pl]=Bąbelki
+Name[pt]=Bolhas
+Name[pt_BR]=Bolhas
+Name[ro]=Bule
+Name[ru]=Кипение
+Name[sk]=Bubliny
+Name[sl]=Mehurčki
+Name[sr]=Балони
+Name[sr@Latn]=Baloni
+Name[sv]=Bubblor
+Name[ta]=நுரைகள்
+Name[tg]=Ҷӯшиш
+Name[th]=ฟอง
+Name[tr]=Kabarcıklar
+Name[uk]=Бульбашки
+Name[uz]=Pufakchalar
+Name[uz@cyrillic]=Пуфакчалар
+Name[ven]=Mapulo
+Name[vi]=Bọt
+Name[xh]=Amaqampu
+Name[zh_CN]=泡泡
+Name[zh_TW]=氣泡
+Name[zu]=Amagwebu
+
+[Desktop Action Setup]
+Exec=kxsconfig bubbles
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun bubbles -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bubbles -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/bumps.desktop b/kscreensaver/kxsconfig/ScreenSavers/bumps.desktop
new file mode 100644
index 00000000..90c33c6c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/bumps.desktop
@@ -0,0 +1,238 @@
+[Desktop Entry]
+Exec=bumps
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Bumps
+Name[bg]=Неравности
+Name[cy]=Hergydion
+Name[da]=Bump
+Name[de]=Beulen
+Name[el]=Συγκρούσεις
+Name[es]=Bultos
+Name[et]=Kühmud
+Name[eu]=Erliebeak
+Name[fa]=ضربتها
+Name[fr]=Bosses
+Name[fy]=Bûns
+Name[gl]=Vultos
+Name[he]=זרקור תלת־מימד
+Name[hi]=बम्प्स
+Name[hu]=Dudorok
+Name[is]=Þúfur
+Name[it]=Cunette
+Name[ja]=でこぼこ
+Name[ka]=ტვიფრი
+Name[mk]=Нерамнини
+Name[mt]=Ħotob
+Name[nb]=Humper
+Name[nds]=Printblick
+Name[ne]=बम्प्स
+Name[nn]=Humpar
+Name[pl]=Zakłócenia
+Name[pt]=Mossas
+Name[pt_BR]=Colisões
+Name[ro]=Umflături
+Name[ru]=Шахтёрский фонарик
+Name[sl]=Izbokline
+Name[sr]=Избочине
+Name[sr@Latn]=Izbočine
+Name[sv]=Bulor
+Name[ta]=மேடுகள்
+Name[tg]=Фонусчаи кисагии шахтёрӣ
+Name[th]=กระเด้งกระดอน
+Name[tr]=Darbe
+Name[uk]=Ліхтарик
+Name[ven]=U bammba
+Name[vi]=Nảy
+Name[xh]=Ingquba
+Name[zh_CN]=探照灯
+Name[zu]=Okokubhampa
+
+[Desktop Action Setup]
+Exec=kxsconfig bumps
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun bumps -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun bumps -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cage.desktop b/kscreensaver/kxsconfig/ScreenSavers/cage.desktop
new file mode 100644
index 00000000..e1b9a46a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cage.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=cage
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Cage (GL)
+Name[af]=Hok (Gl)
+Name[br]=Kaloued (GL)
+Name[ca]=Gàbia (GL)
+Name[cs]=Klec 3D (GL)
+Name[cy]=Cawell (GL)
+Name[da]=Bur (GL)
+Name[de]=Käfig
+Name[el]=Κλουβί (GL)
+Name[eo]=Kaĝo (graf. bibl.)
+Name[es]=Jaula (GL)
+Name[et]=Puur (GL)
+Name[eu]=Kaiola (GL)
+Name[fa]=قفس (GL)
+Name[fi]=Luola (GL)
+Name[fo]=Búr (GL)
+Name[fy]=Koai (GL)
+Name[gl]=Gaiola (GL)
+Name[he]=כלוב (GL)
+Name[hi]=पिंजरा (जीएल)
+Name[hu]=Kalitka (OpenGL)
+Name[is]=Búr (GL)
+Name[it]=Gabbia (GL)
+Name[ja]=かご (GL)
+Name[ka]=გალია (GL)
+Name[lt]=Narvelis (GL)
+Name[mk]=Кафез (GL)
+Name[mt]=Gaġġa (GL)
+Name[nb]=Bur (GL)
+Name[nds]=Escherkist (GL)
+Name[ne]=पिंजडा (GL)
+Name[nn]=Bur (GL)
+Name[pa]=ਪਿੰਜਰਾ (GL)
+Name[pl]=Klatka (GL)
+Name[pt]=Jaula (GL)
+Name[pt_BR]=Gaiola (GL)
+Name[ro]=Cuşcă (GL)
+Name[ru]=Клетка (GL)
+Name[sk]=Klietka (GL)
+Name[sl]=Kletka (GL)
+Name[sr]=Кавез (GL)
+Name[sr@Latn]=Kavez (GL)
+Name[sv]=Bur (GL)
+Name[ta]=கூண்டு (GL)
+Name[tg]=Қафас (GL)
+Name[th]=กรง (GL)
+Name[tr]=Kafes (GL)
+Name[uk]=Клітка (GL)
+Name[uz]=Qafas (GL)
+Name[uz@cyrillic]=Қафас (GL)
+Name[ven]=Hokoni (GL)
+Name[vi]=Lồng (GL)
+Name[xh]=Indlu yentaka (GL)
+Name[zh_CN]=笼子(GL)
+Name[zh_TW]=牢籠 (GL)
+Name[zu]=Ikheji (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig cage
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun cage -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cage -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/carousel.desktop b/kscreensaver/kxsconfig/ScreenSavers/carousel.desktop
new file mode 100644
index 00000000..e0a91ea3
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/carousel.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Exec=carousel
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Carousel
+Name[ca]=Carrusel
+Name[cs]=Karusel
+Name[da]=Karussel
+Name[de]=Karussell
+Name[eo]=Karuselo
+Name[es]=Carrusel
+Name[et]=Karussell
+Name[fa]=چرخ فلک
+Name[fi]=Karuselli
+Name[fr]=Carrousel
+Name[fy]=Draaimole
+Name[gl]=Carrusel
+Name[he]=קרוסלה
+Name[hu]=Ringlispil
+Name[is]=Hringekja
+Name[it]=Carosello
+Name[ja]=回転木馬
+Name[ka]=კარუსელი
+Name[mk]=Вртелешка
+Name[nb]=Karusell
+Name[nds]=Mallmöhl
+Name[ne]=फेस्टिभल
+Name[nl]=Draaimolen
+Name[nn]=Karusell
+Name[pt]=Carrossel
+Name[pt_BR]=Carrossel
+Name[ru]=Карусель
+Name[sl]=Vrtiljak
+Name[sr]=Карусел
+Name[sr@Latn]=Karusel
+Name[sv]=Karusell
+Name[uk]=Карусель
+Name[vi]=Nồi hầm
+Name[zh_TW]=旋轉木馬
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig carousel
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun carousel -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun carousel -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/ccurve.desktop b/kscreensaver/kxsconfig/ScreenSavers/ccurve.desktop
new file mode 100644
index 00000000..50b4e241
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/ccurve.desktop
@@ -0,0 +1,242 @@
+[Desktop Entry]
+Exec=ccurve
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=C Curve
+Name[af]=C Kurwe
+Name[br]=Kromm C
+Name[ca]=Corba C
+Name[cs]=C křivka
+Name[cy]=Cromlin C
+Name[da]=C-kurve
+Name[de]=C-Kurve
+Name[el]=Καμπύλη C
+Name[es]=Curva C
+Name[eu]=C kurba
+Name[fa]=منحنی C
+Name[fi]=C käyrä
+Name[fr]=Courbes en C
+Name[fy]=C Kurve
+Name[gl]=Curva C
+Name[he]=פרקטלים קוויים
+Name[hi]=सी वक्र
+Name[hu]=C-görbe
+Name[is]=C ferill
+Name[it]=Curva C
+Name[ja]=C 曲線
+Name[ka]=ტეხილი
+Name[mk]=C-крива
+Name[ms]=Keluk C
+Name[mt]=Kurvatura C
+Name[nb]=C-Kurve
+Name[nds]=C-Bagen
+Name[ne]=सी बक्र
+Name[nn]=Kurvar
+Name[pa]=C ਵਤਰ
+Name[pl]=Krzywa C
+Name[pt]=Curva C
+Name[pt_BR]=Curva em C
+Name[ro]=Curbă C
+Name[ru]=Искривления линии
+Name[sl]=Krivulja C
+Name[sr]=Ц крива
+Name[sr@Latn]=C kriva
+Name[sv]=Kurvor
+Name[ta]=சி வளைகோடு
+Name[tg]=Ҳам (каҷ) кардани рах
+Name[tr]=Eğim
+Name[uk]=Криві
+Name[ven]=U vhadea sa C
+Name[vi]=Đường cong C
+Name[xh]=Igophe lika C
+Name[zh_CN]=C 曲线
+Name[zh_TW]=C 曲線
+Name[zu]=Iqhuzu le-C
+
+[Desktop Action Setup]
+Exec=kxsconfig ccurve
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun ccurve -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun ccurve -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/celtic.desktop b/kscreensaver/kxsconfig/ScreenSavers/celtic.desktop
new file mode 100644
index 00000000..2a27ee74
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/celtic.desktop
@@ -0,0 +1,227 @@
+[Desktop Entry]
+Exec=celtic
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Celtic
+Name[bg]=Келт
+Name[br]=Keltiek
+Name[ca]=Cèltic
+Name[da]=Keltisk
+Name[de]=Keltisch
+Name[el]=Κέλτικο
+Name[eo]=Kelta
+Name[es]=Celta
+Name[fa]=سلتی
+Name[fi]=Kelttiläinen
+Name[fr]=Celtique
+Name[ga]=Ceilteach
+Name[gl]=Céltico
+Name[hu]=Kelta
+Name[is]=Keltneskt
+Name[it]=Celtico
+Name[ja]=ケルト
+Name[ka]=კელტური
+Name[mk]=Келтски
+Name[nb]=Keltisk
+Name[nds]=Keltsch
+Name[ne]=सेल्टिक
+Name[nl]=Keltisch
+Name[nn]=Keltisk
+Name[pt]=Céltico
+Name[pt_BR]=Celta
+Name[ru]=Кельтские мотивы
+Name[sl]=Keltsko
+Name[sr]=Келтски
+Name[sr@Latn]=Keltski
+Name[sv]=Keltisk
+Name[tr]=Keltik
+Name[uk]=Кельтська
+Name[zh_TW]=塞爾提克
+TryExec=xscreensaver
+X-KDE-Category=Visit to Flatland
+
+[Desktop Action Setup]
+Exec=kxsconfig celtic
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun celtic -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun celtic -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/circuit.desktop b/kscreensaver/kxsconfig/ScreenSavers/circuit.desktop
new file mode 100644
index 00000000..a8f10643
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/circuit.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=circuit
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Circuit
+Name[cs]=Obvod
+Name[cy]=Cylched
+Name[da]=Kredsløb
+Name[de]=Schaltkreis
+Name[el]=Κύκλωμα
+Name[es]=Circuito
+Name[et]=Vooluring
+Name[eu]=Zirkuitua
+Name[fa]=مدار
+Name[fi]=Piiri
+Name[fy]=Sirkwy
+Name[gl]=Circuito
+Name[he]=אלקטרוניקה
+Name[hi]=सर्किट
+Name[hu]=Pálya
+Name[is]=Rásir
+Name[it]=Circuito
+Name[ja]=回路
+Name[ka]=ელექტროსქემა
+Name[mk]=Електронски кола
+Name[ms]=Litar
+Name[mt]=Ċirkwit
+Name[nb]=Krets
+Name[nds]=Schaltkrink
+Name[ne]=सर्किट
+Name[nn]=Krets
+Name[pa]=ਸਰਕਟ
+Name[pl]=Obwód
+Name[pt]=Circuito
+Name[pt_BR]=Circuito
+Name[ru]=Вращения
+Name[rw]=Uruhuriranenzira
+Name[sl]=Vezje
+Name[sr]=Коло
+Name[sr@Latn]=Kolo
+Name[sv]=Krets
+Name[ta]==மின்சுற்று
+Name[tg]=Тобхурӣ
+Name[th]=ลายวงจร
+Name[tr]=Devre
+Name[uk]=Радіо-деталі
+Name[ven]=Tshitshimbidzi tsha mulilo
+Name[vi]=Mạch điện
+Name[zh_CN]=电路
+Name[zh_TW]=線路
+Name[zu]=Isekisi
+
+[Desktop Action Setup]
+Exec=kxsconfig circuit
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun circuit -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun circuit -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cloudlife.desktop b/kscreensaver/kxsconfig/ScreenSavers/cloudlife.desktop
new file mode 100644
index 00000000..9204b9d6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cloudlife.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=cloudlife
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=CloudLife
+Name[br]=Koumoul pik
+Name[ca]=Núvol de Vida
+Name[cy]=BywydCymylau
+Name[de]=Lebendige Wolken
+Name[eo]=NubVivo
+Name[es]=Nube viva
+Name[et]=Pilveelu
+Name[eu]=Puntu-hodeiak
+Name[fa]=زندگی تیره و تار
+Name[fr]=Nuages de points
+Name[fy]=Libje yn'e wolken
+Name[he]=ענן חיים
+Name[hi]=हयाते-अब्र
+Name[hu]=Élet a felhőkben
+Name[is]=Skýjalíf
+Name[ja]=クラウドライフ
+Name[ka]=ღრუბლები
+Name[mk]=Животот на облакот
+Name[ms]=Hayat Awan
+Name[nb]=Sky-liv
+Name[nds]=Wulkenleven
+Name[ne]=क्लाउडलाइफ
+Name[nl]=Leven in de wolken
+Name[nn]=Sky-liv
+Name[pl]=Życie w chmurach
+Name[pt]=Nuvem Viva
+Name[pt_BR]=Nas Nuvens
+Name[ro]=Nor de viaţă
+Name[ru]=Облака
+Name[sl]=Življenje oblaka
+Name[sr]=Живот облака
+Name[sr@Latn]=Život oblaka
+Name[sv]=Molnrörelser
+Name[ta]=மேகவாழ்க்கை
+Name[tg]=Абр
+Name[tr]=Bulut
+Name[uk]=Хмари
+Name[vi]=Đám mây Cuộc sống
+Name[zh_CN]=云海
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig cloudlife
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun cloudlife -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cloudlife -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/compass.desktop b/kscreensaver/kxsconfig/ScreenSavers/compass.desktop
new file mode 100644
index 00000000..7c776939
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/compass.desktop
@@ -0,0 +1,253 @@
+[Desktop Entry]
+Exec=compass
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Compass
+Name[af]=Kompas
+Name[bg]=Компас
+Name[br]=Nadoz-vor
+Name[ca]=Compàs
+Name[cs]=Kompas
+Name[cy]=Cwmpawd
+Name[da]=Kompas
+Name[de]=Kompass
+Name[el]=Πυξίδα
+Name[eo]=Kompaso
+Name[es]=Brújula
+Name[et]=Kompass
+Name[eu]=Iparorratza
+Name[fa]=قطب‌نما
+Name[fi]=Kompassi
+Name[fo]=Kumpass
+Name[fr]=Boussole
+Name[fy]=Kompas
+Name[gl]=Compás
+Name[he]=מצפן
+Name[hi]=दिशा-सूचक
+Name[hu]=Iránytű
+Name[is]=Kompás
+Name[it]=Bussola
+Name[ja]=コンパス
+Name[ka]=კომპასი
+Name[lt]=Kompasas
+Name[lv]=Kompass
+Name[mk]=Компас
+Name[ms]=Kompas
+Name[mt]=Kumpass
+Name[nb]=Kompass
+Name[nds]=Kompass
+Name[ne]=कम्पास
+Name[nl]=kompas
+Name[nn]=Kompass
+Name[pa]=ਕੰਪਾਸ
+Name[pl]=Kompas
+Name[pt]=Compasso
+Name[pt_BR]=Compasso
+Name[ro]=Compas
+Name[ru]=Компас
+Name[sk]=Kompas
+Name[sl]=Kompas
+Name[sr]=Компас
+Name[sr@Latn]=Kompas
+Name[sv]=Kompass
+Name[ta]=பாகைமானி
+Name[tg]=Қутбнамо
+Name[th]=เขาวงกต
+Name[tr]=Pusula
+Name[uk]=Компас
+Name[uz]=Kompas
+Name[uz@cyrillic]=Компас
+Name[ven]=Tsumbavhuyo
+Name[vi]=Com pa
+Name[xh]=Ikhampasi
+Name[zh_CN]=罗盘
+Name[zh_TW]=指南針
+Name[zu]=Ikhampasi
+
+[Desktop Action Setup]
+Exec=kxsconfig compass
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun compass -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun compass -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/coral.desktop b/kscreensaver/kxsconfig/ScreenSavers/coral.desktop
new file mode 100644
index 00000000..c3dc2c01
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/coral.desktop
@@ -0,0 +1,246 @@
+[Desktop Entry]
+Exec=coral
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Fractals
+Name=Coral
+Name[af]=Koraal
+Name[bg]=Корал
+Name[br]=Koural
+Name[ca]=Corall
+Name[cs]=Korál
+Name[cy]=Cwrel
+Name[da]=Koral
+Name[de]=Koralle
+Name[el]=Κοράλλι
+Name[eo]=Koralo
+Name[et]=Korall
+Name[eu]=Korala
+Name[fa]=مرجان
+Name[fi]=Koralli
+Name[fr]=Corail
+Name[fy]=Koraal
+Name[he]=אלמוגים
+Name[hi]=मूंगा
+Name[hu]=Korall
+Name[is]=Kórall
+Name[it]=Corallo
+Name[ja]=珊瑚
+Name[ka]=მარჯანი
+Name[lt]=Koralas
+Name[lv]=Koraļļkrāsas
+Name[mk]=Корал
+Name[ms]=Karang
+Name[mt]=Qroll
+Name[nb]=Korall
+Name[nds]=Korall
+Name[ne]=मूगा
+Name[nl]=koraal
+Name[nn]=Korall
+Name[pl]=Koral
+Name[ru]=Коралл
+Name[sk]=Korál
+Name[sl]=Korale
+Name[sr]=Корал
+Name[sr@Latn]=Koral
+Name[sv]=Korall
+Name[ta]=கடற்பாசி
+Name[tg]=Марҷон
+Name[th]=ปะการัง
+Name[tr]=Mercan
+Name[uk]=Корал
+Name[uz]=Koral
+Name[uz@cyrillic]=Корал
+Name[ven]=Khorala
+Name[vi]=San hô
+Name[xh]=Indawo enzima efihlwe zizinambuzane zaselwandle
+Name[zh_CN]=珊瑚
+Name[zh_TW]=珊瑚
+Name[zu]=Indawo enzima efihlwe izilwane zaselwandle
+
+[Desktop Action Setup]
+Exec=kxsconfig coral
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun coral -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun coral -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/crackberg.desktop b/kscreensaver/kxsconfig/ScreenSavers/crackberg.desktop
new file mode 100644
index 00000000..315038cd
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/crackberg.desktop
@@ -0,0 +1,205 @@
+[Desktop Entry]
+Exec=crackberg
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Crackberg
+Name[ja]=クラックバーグ
+Name[mk]=Испукани санти мраз
+Name[nb]=Knekkberg
+Name[nds]=Knackbarg
+Name[ne]=क्र्याकबर्ग
+Name[nn]=Knekkberg
+Name[ru]=Терраформирование
+Name[sl]=Visoki otoki
+Name[sr]=Крекберг
+Name[sr@Latn]=Krekberg
+Name[sv]=Spräcka berg
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig crackberg
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun crackberg -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun crackberg -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/critical.desktop b/kscreensaver/kxsconfig/ScreenSavers/critical.desktop
new file mode 100644
index 00000000..2eb03b97
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/critical.desktop
@@ -0,0 +1,242 @@
+[Desktop Entry]
+Exec=critical
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=Critical
+Name[af]=Krities
+Name[bg]=Критично
+Name[br]=Arvarus
+Name[ca]=Crític
+Name[cy]=Critigol
+Name[da]=Kritisk
+Name[de]=Kritisch
+Name[el]=Κρίσιμο
+Name[es]=Crítico
+Name[et]=Kriitiline
+Name[eu]=Kritikoa
+Name[fa]=بحرانی
+Name[fi]=Kriittinen
+Name[fr]=Critique
+Name[gl]=Crítico
+Name[he]=קווים אקראיים
+Name[hi]=क्रिटिकल
+Name[hu]=Kritikus
+Name[is]=Alvarlegt
+Name[it]=Critico
+Name[ja]=クリティカル
+Name[ka]=კრიტიკული
+Name[mk]=Критично
+Name[ms]=Kritikal
+Name[mt]=Kritiku
+Name[nb]=Kritisk
+Name[nds]=Kritisch
+Name[ne]=असामान्य
+Name[nn]=Kritisk
+Name[nso]=Ganetsa
+Name[pa]=ਗੰਭੀਰ
+Name[pt]=Crítico
+Name[pt_BR]=Crítico
+Name[ro]=Critic
+Name[ru]=Ломаная
+Name[sl]=Kritično
+Name[sr]=Критично
+Name[sr@Latn]=Kritično
+Name[sv]=Kritisk
+Name[ta]=முக்கியமான
+Name[tg]=Шикаста
+Name[th]=วิกฤติ
+Name[tr]=Kritik
+Name[uk]=Ламані
+Name[ven]=Zwisasaladzeaho
+Name[vi]=Tới hạn
+Name[xh]=Ilimazekile
+Name[zh_CN]=转折
+Name[zu]=Okubucayi
+
+[Desktop Action Setup]
+Exec=kxsconfig critical
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun critical -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun critical -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/crystal.desktop b/kscreensaver/kxsconfig/ScreenSavers/crystal.desktop
new file mode 100644
index 00000000..578b26a9
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/crystal.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=crystal
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Rapid Motion
+Name=Crystal
+Name[af]=Kristal
+Name[bg]=Кристал
+Name[br]=Strink
+Name[ca]=Cristall
+Name[cs]=Krystal
+Name[cy]=Grisial
+Name[da]=Krystal
+Name[de]=Kristall
+Name[el]=Κρύσταλλος
+Name[eo]=Kristalo
+Name[es]=Cristal
+Name[et]=Kristall
+Name[eu]=Kristal
+Name[fa]=بلور
+Name[fi]=Kristalli
+Name[fo]=Krystall
+Name[fr]=Cristal
+Name[fy]=Kristal
+Name[gl]=Cristal
+Name[he]=גביש
+Name[hi]=स्फटिक
+Name[hu]=Kristály
+Name[is]=Kristal
+Name[it]=Cristallo
+Name[ja]=クリスタル
+Name[ka]=კრისტალი
+Name[lt]=Kristalas
+Name[lv]=Kristāls
+Name[mk]=Кристал
+Name[ms]=Kristal
+Name[mt]=Kristall
+Name[nb]=Krystall
+Name[nds]=Kristall
+Name[ne]=क्रिस्टल
+Name[nn]=Krystall
+Name[pl]=Kryształ
+Name[pt]=Cristal
+Name[pt_BR]=Cristal
+Name[ro]=Cristal
+Name[ru]=Кристалл
+Name[sk]=Kryštáľ
+Name[sl]=Kristal
+Name[sr]=Кристал
+Name[sr@Latn]=Kristal
+Name[sv]=Kristall
+Name[ta]=படிகம்
+Name[tg]=Кристалл
+Name[th]=คริสตัล
+Name[tr]=Kristal
+Name[uk]=Кристал
+Name[uz]=Kristal
+Name[uz@cyrillic]=Кристал
+Name[ven]=Zwivhonalaho
+Name[vi]=Tinh thể
+Name[xh]=Into ekhanyayo
+Name[zh_CN]=晶格
+Name[zh_TW]=水晶
+Name[zu]=Itshe elikhanyayo
+
+[Desktop Action Setup]
+Exec=kxsconfig crystal
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun crystal -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun crystal -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cube21.desktop b/kscreensaver/kxsconfig/ScreenSavers/cube21.desktop
new file mode 100644
index 00000000..19715b55
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cube21.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=cube21
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Cube 21
+Name[bg]=Куб 21
+Name[ca]=Cub 21
+Name[cs]=Kostka 21
+Name[de]=Würfel 21
+Name[eo]=Kubo 21
+Name[es]=Cubo 21
+Name[fa]=مکعب ۲۱
+Name[gl]=Cubo 21
+Name[he]=קוביה 21
+Name[hu]=Kocka 21
+Name[is]=Teningur 21
+Name[it]=Cubo 21
+Name[ja]=キューブ 21
+Name[ka]=კუბი 21
+Name[mk]=Коцка 21
+Name[nb]=Kube 21
+Name[nds]=Wörpel 21
+Name[ne]=घन २१
+Name[nl]=Kubus 21
+Name[nn]=Kube 21
+Name[pt]=Cubo 21
+Name[pt_BR]=Cubo 21
+Name[ru]=Кубик 21
+Name[sl]=Kocka 21
+Name[sr]=Коцка 21
+Name[sr@Latn]=Kocka 21
+Name[sv]=Kub 21
+Name[tr]=Küp 21
+Name[uk]=Куб 21
+Name[vi]=Lập phương 21
+Name[zh_TW]=立方體 21
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig cube21
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun cube21 -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cube21 -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cubenetic.desktop b/kscreensaver/kxsconfig/ScreenSavers/cubenetic.desktop
new file mode 100644
index 00000000..1af8cc6f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cubenetic.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=cubenetic
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Cubenetic
+Name[cy]=Ciwbnetig
+Name[de]=Würfelnetik
+Name[el]=Κυβοειδές
+Name[es]=Cubonetic
+Name[et]=Kubineetika
+Name[eu]=Kubenetikoa
+Name[fr]=Cubique
+Name[gl]=Cubonético
+Name[he]=קוביות
+Name[hi]=गति घन
+Name[hu]=Kocka
+Name[ja]=キューブネティック
+Name[ka]=კუბიკები
+Name[mk]=Хиперкоцки
+Name[ms]=Kiub
+Name[nb]=Kubenetisk
+Name[nds]=Kubeneetsch
+Name[ne]=क्यूबनेटिक
+Name[nn]=Kubisk
+Name[pt]=Cubo
+Name[pt_BR]=Cubo
+Name[ru]=Кубики
+Name[sl]=Prekrivajoče škatle
+Name[sr]=Коцкастично
+Name[sr@Latn]=Kockastično
+Name[sv]=Kubistisk
+Name[ta]=பட்டக
+Name[tg]=Кубикҳо
+Name[tr]=Küpler
+Name[uk]=Кубики
+Name[zh_CN]=立方体
+Name[zh_TW]=立方體
+
+[Desktop Action Setup]
+Exec=kxsconfig cubenetic
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun cubenetic -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cubenetic -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cubestorm.desktop b/kscreensaver/kxsconfig/ScreenSavers/cubestorm.desktop
new file mode 100644
index 00000000..e796ef34
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cubestorm.desktop
@@ -0,0 +1,230 @@
+[Desktop Entry]
+Exec=cubestorm
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=CubeStorm
+Name[ca]=TempestaCúbica
+Name[cy]=StormCiwb
+Name[de]=Würfelsturm
+Name[eo]=KubŜtorm'
+Name[es]=Tormenta cúbica
+Name[et]=Kuubimaru
+Name[eu]=Ekaitz kubikoa
+Name[fr]=Cube
+Name[gl]=Tormenta cúbica
+Name[he]=קוביות סערה
+Name[hi]=घन-तूफ़ान
+Name[hu]=Kocka-vihar
+Name[is]=Kubbastormur
+Name[ja]=キューブストーム
+Name[ka]=კუბიკების ზვავი
+Name[mk]=Бура од коцки
+Name[ms]=Ribut Kiub
+Name[nb]=Kubestorm
+Name[nds]=Wörpelstorm
+Name[ne]=क्यूबस्ट्रर्म
+Name[nn]=Kubestorm
+Name[pl]=Burza sześcianów
+Name[pt]=Tempestade Cubo
+Name[pt_BR]=Tempestade em Cubo
+Name[ru]=Нашествие кубиков
+Name[sl]=Sukajoče škatle
+Name[sr]=Коцкаста олуја
+Name[sr@Latn]=Kockasta oluja
+Name[sv]=Kubstorm
+Name[ta]=பட்டகப்புயல்
+Name[tg]=Ҳуҷуми кубикҳо
+Name[tr]=Küp Fırtınası
+Name[uk]=Нашестя кубів
+Name[vi]=Bão Lập phương
+Name[zh_CN]=立方风暴
+Name[zh_TW]=立體風暴
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig cubestorm
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun cubestorm -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cubestorm -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cwaves.desktop b/kscreensaver/kxsconfig/ScreenSavers/cwaves.desktop
new file mode 100644
index 00000000..4e0197b4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cwaves.desktop
@@ -0,0 +1,204 @@
+[Desktop Entry]
+Exec=cwaves
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=CWaves
+Name[ca]=OnesC
+Name[de]=C-Wellen
+Name[es]=Ondas C
+Name[et]=CLained
+Name[fr]=Ondulations
+Name[it]=Onde
+Name[nds]=C-Bülgen
+Name[ru]=Северное сияние
+Name[sr]=Ц-таласи
+Name[sr@Latn]=C-talasi
+Name[sv]=Vågor
+TryExec=xscreensaver
+X-KDE-Category=Illusions of Depth
+
+[Desktop Action Setup]
+Exec=kxsconfig cwaves
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun cwaves -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cwaves -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/cynosure.desktop b/kscreensaver/kxsconfig/ScreenSavers/cynosure.desktop
new file mode 100644
index 00000000..24a7db25
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/cynosure.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=cynosure
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Cynosure
+Name[ca]=Centre d'atracció
+Name[cy]=Canolbwynt Edmygedd
+Name[de]=Anziehungspunkt
+Name[es]=Centro de atracción
+Name[et]=Huvikese
+Name[eu]=Erakarpen zentrua
+Name[fa]=ستارۀ قطبی
+Name[he]=מלבנים צבעוניים
+Name[hi]=सायनोस्योर
+Name[ka]=კონცენტრაცია
+Name[lv]=Polārzvaigzne
+Name[mk]=Предмет на восхит
+Name[ms]=Pusat Tumpuan
+Name[nb]=Ledstjerne
+Name[ne]=मार्गदर्शक
+Name[pt_BR]=Centro de atração
+Name[ru]=Центр внимания
+Name[sr]=Магнетска привлачност
+Name[sr@Latn]=Magnetska privlačnost
+Name[sv]=Ledstjärna
+Name[ta]=கண்மணி
+Name[tg]=Маркази диққат
+Name[th]=เป้าสายตา
+Name[tr]=Küçük Ayı Takım Yıldızı
+Name[uk]=Провідна зірка
+Name[vi]=Trung tâm của sự chú ý
+Name[zh_CN]=变幻矩形
+Name[zh_TW]=北極星
+
+[Desktop Action Setup]
+Exec=kxsconfig cynosure
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun cynosure -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun cynosure -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/dangerball.desktop b/kscreensaver/kxsconfig/ScreenSavers/dangerball.desktop
new file mode 100644
index 00000000..d47070ea
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/dangerball.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=dangerball
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=DangerBall
+Name[ca]=Pilota perillosa
+Name[cy]=PelEnbyd
+Name[de]=Gefährlicher Ball
+Name[el]=Επικίνδυνη μπάλα
+Name[es]=Bola peligrosa
+Name[et]=Kohutav Pall
+Name[eu]=Pilota arriskutsua
+Name[fa]=گوی خطر
+Name[fr]=Boule dangereuse
+Name[gl]=Bola perigosa
+Name[he]=כדור מסוכן
+Name[hi]=ख़तरनाक गेंद
+Name[hu]=Villámgömb
+Name[is]=Hættubolti
+Name[it]=Palla Pericolosa
+Name[ja]=危険なボール
+Name[ka]=სახიფათო ბურთი
+Name[mk]=Опасна топка
+Name[ms]=Bola Bahaya
+Name[nb]=Ballfare
+Name[nds]=Prickenball
+Name[ne]=खतरनाक बल
+Name[nn]=Ballfare
+Name[pt]=Bola Perigosa
+Name[pt_BR]=Jogo de Batalha
+Name[ro]=Bilă periculoasă
+Name[ru]=Опасный мяч
+Name[sl]=Nevarna žoga
+Name[sr]=Опасна лопта
+Name[sr@Latn]=Opasna lopta
+Name[sv]=Bollfara
+Name[ta]=அபாயப்பந்து
+Name[tg]=Тӯпи хатарнок
+Name[th]=ลูกบอลอันตราย
+Name[tr]=Tehlikeli Toplar
+Name[uk]=Небезпечний м'яч
+Name[ven]=B
+Name[vi]=Bóng Nguy hiểm
+Name[xh]=Ibhola Enobungozi
+Name[zh_CN]=扎手的球
+Name[zu]=Ibhola Lengozi
+
+[Desktop Action Setup]
+Exec=kxsconfig dangerball
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun dangerball -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun dangerball -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/decayscreen.desktop b/kscreensaver/kxsconfig/ScreenSavers/decayscreen.desktop
new file mode 100644
index 00000000..9fab984f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/decayscreen.desktop
@@ -0,0 +1,236 @@
+[Desktop Entry]
+Exec=decayscreen
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=DecayScreen
+Name[ca]=Desintegració de la pantalla
+Name[cy]=SgrînDadfeilio
+Name[de]=Bildschirmzerfall
+Name[el]=Αποσύνθεση οθόνης
+Name[es]=Desintegración de pantalla
+Name[et]=Lagunev Ekraan
+Name[eu]=Pantailaren desintegrazioa
+Name[fa]=پردۀ افت
+Name[fi]=HäviäväNäyttö
+Name[fr]=Écran décalé
+Name[gl]=Pantalla a esvaecer
+Name[he]=מסך נמס
+Name[hi]=पटाक्षेप
+Name[is]=Eyða skjá
+Name[it]=Schermo Franante
+Name[ja]=スクリーン崩壊
+Name[ka]=დაშლა
+Name[mk]=Распаѓање на екранот
+Name[ms]=Skrin Pudar
+Name[mt]=Skrin Idub
+Name[nb]=Skjermsammenbrudd
+Name[nds]=Vergahn Schirm
+Name[ne]=बिग्रिएको स्क्रिन
+Name[nn]=Skjermsamanbrot
+Name[pt]=Decaimento
+Name[pt_BR]=Tela em Ruínas
+Name[ro]=Ecran curgător
+Name[ru]=Распад
+Name[sl]=Razpad zaslona
+Name[sr]=Распад екрана
+Name[sr@Latn]=Raspad ekrana
+Name[sv]=Skärmsönderfall
+Name[ta]=அழித்திரை
+Name[tg]=Барҳам
+Name[tr]=Çürüyen Ekran
+Name[uk]=Розпад
+Name[ven]=Tshikirini tsho tahalaho
+Name[vi]=Màn hình Tan rã
+Name[xh]=Ikhusi le Decay
+Name[zh_CN]=熔化的屏幕
+Name[zh_TW]=衰敗螢幕
+Name[zu]=Isikrini Sokubola
+
+[Desktop Action Setup]
+Exec=kxsconfig decayscreen
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun decayscreen -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun decayscreen -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/deco.desktop b/kscreensaver/kxsconfig/ScreenSavers/deco.desktop
new file mode 100644
index 00000000..8dfc9404
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/deco.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=deco
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Deco
+Name[de]=Art Deco
+Name[es]=Decó
+Name[fr]=Déco
+Name[fy]=Deko
+Name[gl]=Decó
+Name[he]=קישוטי קירות
+Name[hi]=डेको
+Name[ja]=デコ
+Name[ka]=ნაკუწები
+Name[mk]=Деко
+Name[ms]=Hias
+Name[mt]=Deko
+Name[nds]=Art Deco
+Name[ne]=डेको
+Name[ru]=Лоскутное одеяло
+Name[sl]=Okras
+Name[sr]=Деко
+Name[sr@Latn]=Deko
+Name[ta]=அழகுபொருள்
+Name[tg]=Курпаи қӯроқин
+Name[tr]=Dekor
+Name[uk]=Деко
+Name[vi]=Trang trí
+Name[zh_CN]=矩形拼板
+
+[Desktop Action Setup]
+Exec=kxsconfig deco
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun deco -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun deco -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/deluxe.desktop b/kscreensaver/kxsconfig/ScreenSavers/deluxe.desktop
new file mode 100644
index 00000000..7f5c4817
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/deluxe.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=deluxe
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=Deluxe
+Name[bg]=Делукс
+Name[ca]=De luxe
+Name[cy]=Moethus
+Name[de]=Luxuriös
+Name[el]=Πολυτελής
+Name[eu]=Luxuzkoa
+Name[fa]=مجلل
+Name[fr]=Luxe
+Name[he]=עיגולים וכוכבים
+Name[hi]=डीलक्स
+Name[ja]=デラックス
+Name[ka]=კომფორტი
+Name[mk]=Делукс
+Name[ms]=Deluks
+Name[mt]=Lussu
+Name[nds]=Delüx
+Name[ne]=विशिष्ट
+Name[pa]=ਡੀਲਕਸ
+Name[ru]=Роскошь
+Name[sl]=Deluks
+Name[sr]=Делукс
+Name[sr@Latn]=Deluks
+Name[ta]=டீலக்ஸ்
+Name[tg]=Шукӯҳ
+Name[th]=เดอลุกซ์
+Name[tr]=İhtişamlı
+Name[uk]=Люкс
+Name[uz]=Delyuks
+Name[uz@cyrillic]=Делюкс
+Name[ven]=Maimo a ntha
+Name[vi]=Xịn
+Name[zh_CN]=豪华
+Name[zh_TW]=高級
+
+[Desktop Action Setup]
+Exec=kxsconfig deluxe
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun deluxe -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun deluxe -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/demon.desktop b/kscreensaver/kxsconfig/ScreenSavers/demon.desktop
new file mode 100644
index 00000000..a2c0eb84
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/demon.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=demon
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Demon
+Name[af]=Demoon
+Name[bg]=Демон
+Name[br]=Diaoul
+Name[ca]=Dimoni
+Name[cs]=Démon
+Name[cy]=Cythraul
+Name[da]=Dæmon
+Name[de]=Dämon
+Name[el]=Δαίμονας
+Name[es]=Demonio
+Name[et]=Deemon
+Name[eu]=Deabrua
+Name[fa]=دمون
+Name[fi]=Demoni
+Name[fo]=Andi
+Name[fr]=Démon
+Name[gl]=Demo
+Name[he]=תאים
+Name[hi]=वेताल
+Name[hu]=Démon
+Name[it]=Demone
+Name[ja]=悪魔
+Name[ka]=დემონი
+Name[mk]=Демон
+Name[ms]=Hantu
+Name[mt]=Dimonju
+Name[nds]=Dämoon
+Name[ne]=डेमोन
+Name[pt]=Demónio
+Name[pt_BR]=Demônio
+Name[ru]=Демон
+Name[sr]=Демон
+Name[ta]=அரக்கன்
+Name[tg]=Азозил
+Name[th]=เดมอน
+Name[tr]=Şeytan
+Name[uk]=Демон
+Name[vi]=Quỷ
+Name[xh]=Umoya omdaka
+Name[zh_CN]=魔鬼
+Name[zh_TW]=小魔鬼
+Name[zu]=Idimoni
+
+[Desktop Action Setup]
+Exec=kxsconfig demon
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun demon -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun demon -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/discrete.desktop b/kscreensaver/kxsconfig/ScreenSavers/discrete.desktop
new file mode 100644
index 00000000..6da3a4b0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/discrete.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=discrete
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Discrete
+Name[bg]=Дискретно
+Name[ca]=Discret
+Name[cs]=Diskrétní
+Name[cy]=Arwahanol
+Name[da]=Diskret
+Name[de]=Diskret
+Name[el]=Διακριτό
+Name[es]=Discreto
+Name[et]=Diskreetne
+Name[eu]=Deskretua
+Name[fa]=گسسته
+Name[fi]=Diskreetti
+Name[fr]=Discret
+Name[fy]=Diskreet
+Name[gl]=Discreto
+Name[he]=מערכת מפות בדידות
+Name[hi]=डिस्क्रीट
+Name[hu]=Diszkrét
+Name[it]=Discreto
+Name[ja]=ディスクリート
+Name[ka]=წყვეტილი
+Name[mk]=Дискретно
+Name[ms]=Diskret
+Name[mt]=Diskret
+Name[nb]=Diskret
+Name[nds]=Diskreet
+Name[ne]=खण्डित
+Name[nl]=Discreet
+Name[nn]=Diskret
+Name[pt]=Discreto
+Name[pt_BR]=Discreto
+Name[ro]=Discret
+Name[ru]=Абстракция
+Name[sl]=Diskretno
+Name[sr]=Дискретно
+Name[sr@Latn]=Diskretno
+Name[sv]=Diskret
+Name[ta]=ஆர்ப்பாட்டமில்லாத
+Name[tg]=Абстрактсия
+Name[tr]=Görkemli
+Name[uk]=Абстракція
+Name[ven]=Zwigwada
+Name[vi]=Rời rạc
+Name[xh]=Efihlakeleyo
+Name[zh_CN]=离散
+Name[zh_TW]=離散
+Name[zu]=Okufihlakele
+
+[Desktop Action Setup]
+Exec=kxsconfig discrete
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun discrete -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun discrete -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/distort.desktop b/kscreensaver/kxsconfig/ScreenSavers/distort.desktop
new file mode 100644
index 00000000..65ffc386
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/distort.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=distort
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Distort
+Name[ca]=Distorsió
+Name[cs]=Pokřivit
+Name[cy]=Aflunio
+Name[de]=Bildstörung
+Name[el]=Διαστρέφω
+Name[es]=Distorsión
+Name[et]=Moonutus
+Name[eu]=Distortsioa
+Name[fa]=اعوجاج
+Name[fr]=Distorsion
+Name[fy]=Ferfoarming
+Name[gl]=Distorsión
+Name[he]=עדשה מעוותת
+Name[hi]=विकृतियाँ
+Name[hu]=Torzulás
+Name[is]=Afmynda
+Name[it]=Distorto
+Name[ja]=ゆがめる
+Name[ka]=დამახინჯება
+Name[mk]=Изобличување
+Name[ms]=Herot
+Name[mt]=Distorzjoni
+Name[nb]=Forvreng
+Name[nds]=Vertarren
+Name[ne]=बङ्गाई
+Name[nl]=Vervorming
+Name[nn]=Forvreng
+Name[pl]=Zniekształcenia
+Name[pt]=Distorção
+Name[pt_BR]=Distorção
+Name[ro]=Distorsiune
+Name[ru]=Искажение
+Name[sl]=Leča
+Name[sr]=Дисторзија
+Name[sr@Latn]=Distorzija
+Name[sv]=Förvräng
+Name[ta]=சிதைக்கப்பட்ட
+Name[tg]=Вайрон кардан
+Name[tr]=Eğri büğrü
+Name[uk]=Спотворення
+Name[ven]=U kombamisa
+Name[vi]=Méo mó
+Name[xh]=Yenza ubuxoki
+Name[zh_CN]=扭曲透镜
+Name[zh_TW]=扭曲
+Name[zu]=Shintsha
+
+[Desktop Action Setup]
+Exec=kxsconfig distort
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun distort -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun distort -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/drift.desktop b/kscreensaver/kxsconfig/ScreenSavers/drift.desktop
new file mode 100644
index 00000000..fcac6acc
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/drift.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=drift
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Drift
+Name[af]=Dryf
+Name[bg]=Дрейф
+Name[br]=Diroudañ
+Name[ca]=Deriva
+Name[cy]=Drifft
+Name[da]=Flyd
+Name[de]=Gestöber
+Name[el]=Ρεύμα
+Name[eo]=Drivo
+Name[es]=Deriva
+Name[et]=Triiv
+Name[eu]=Zirimiria
+Name[fa]=رانش
+Name[fi]=Fraktaalilinssi
+Name[fr]=Dérive
+Name[gl]=Deriva
+Name[he]=להבות קוסמיות
+Name[hi]=बहाव
+Name[hu]=Sodródás
+Name[is]=Reka
+Name[it]=Deriva
+Name[ja]=ドリフト
+Name[ka]=დიუნები
+Name[lt]=Srovė
+Name[lv]=Dreifs
+Name[mk]=Талкање
+Name[ms]=Hanyut
+Name[ne]=झुकाव
+Name[pl]=Dryft
+Name[pt]=Desvio
+Name[pt_BR]=Deriva
+Name[ro]=Deplasare
+Name[ru]=Барханы
+Name[sl]=Drsenje
+Name[sr]=Смет
+Name[sr@Latn]=Smet
+Name[ta]=இழுத்துசெல்லப்பட்ட
+Name[tg]=Хомаи рег
+Name[th]=พัดพา
+Name[tr]=Akıntı
+Name[uk]=Дрейф
+Name[ven]=Kokodza
+Name[vi]=Trôi dạt
+Name[xh]=Yiqhube
+Name[zh_CN]=宇宙焰火
+Name[zh_TW]=漂流
+Name[zu]=Phephuka
+
+[Desktop Action Setup]
+Exec=kxsconfig drift
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun drift -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun drift -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/endgame.desktop b/kscreensaver/kxsconfig/ScreenSavers/endgame.desktop
new file mode 100644
index 00000000..bfe85da5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/endgame.desktop
@@ -0,0 +1,243 @@
+[Desktop Entry]
+Exec=endgame
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Endgame
+Name[br]=Dibenn an abadenn
+Name[ca]=Joc final
+Name[cs]=Konec hry
+Name[cy]=Diwedd y Gêm
+Name[da]=Slutspil
+Name[de]=Schach
+Name[el]=Τέλος παιχνιδιού
+Name[es]=Juego final
+Name[et]=Lõppmäng
+Name[eu]=Jokuaren amaiera
+Name[fa]=پایان بازی
+Name[fi]=Loppupeli
+Name[fo]=Kortspøl
+Name[fr]=Fin de partie
+Name[fy]=Einstriid
+Name[gl]=Xogo final
+Name[he]=שחמט
+Name[hi]=एन्डगेम
+Name[hu]=Végjáték
+Name[is]=Lokatafl
+Name[it]=Gioco Finale
+Name[ja]=エンドゲーム
+Name[ka]=თამაში დასრულდა
+Name[mk]=Крај на играта
+Name[ms]=Permainan Tamat
+Name[mt]=Tmiem il-logħba
+Name[nb]=Sluttstrid
+Name[nds]=Ennspeel
+Name[ne]=अन्तिम खेल
+Name[nn]=Sluttspel
+Name[nso]=Fetsa Papadi
+Name[pt]=Fim do Jogo
+Name[pt_BR]=Jogo do fim
+Name[ro]=Sfîrşit de joc
+Name[ru]=Конец игры
+Name[sl]=Konec igre
+Name[sr]=Крај игре
+Name[sr@Latn]=Kraj igre
+Name[sv]=Slutstrid
+Name[ta]=முடிவிளையாட்டு
+Name[tg]=Поёни бозӣ
+Name[tr]=Oyunun Sonu
+Name[uk]=Кінець гри
+Name[ven]=Fhedzani mutambo
+Name[vi]=Trò chơi kết thúc
+Name[xh]=Phelisa umdlalo
+Name[zh_CN]=决战
+Name[zh_TW]=遊戲結束
+Name[zu]=Ukuphela kwesikhathi
+
+[Desktop Action Setup]
+Exec=kxsconfig endgame
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun endgame -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun endgame -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/engine.desktop b/kscreensaver/kxsconfig/ScreenSavers/engine.desktop
new file mode 100644
index 00000000..be9324d8
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/engine.desktop
@@ -0,0 +1,246 @@
+[Desktop Entry]
+Exec=engine
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Engine
+Name[af]=Masjien
+Name[br]=Keflusker
+Name[ca]=Enginy
+Name[cs]=Motor
+Name[cy]=Peiriant
+Name[da]=Motor
+Name[de]=Motor
+Name[el]=Μηχανή
+Name[es]=Motor
+Name[et]=Mootor
+Name[eu]=Motorra
+Name[fa]=موتور
+Name[fi]=Moottori
+Name[fo]=Motorur
+Name[fr]=Moteur
+Name[fy]=Masine
+Name[gl]=Motor
+Name[he]=מנוע
+Name[hi]=इंजन
+Name[hu]=Motor
+Name[is]=Vél
+Name[it]=Motore
+Name[ja]=エンジン
+Name[ka]=ძრავი
+Name[mk]=Мотор
+Name[ms]=Enjin
+Name[mt]=Magna
+Name[nb]=Motor
+Name[nds]=Motor
+Name[ne]=इन्जिन
+Name[nn]=Motor
+Name[pa]=ਇੰਜਣ
+Name[pl]=Silnik
+Name[pt]=Motor
+Name[pt_BR]=Máquina
+Name[ro]=Motor
+Name[ru]=Двигатель
+Name[sl]=Motor
+Name[sr]=Мотор
+Name[sr@Latn]=Motor
+Name[sv]=Motor
+Name[ta]=இயந்திரம்
+Name[tg]=Муҳаррик
+Name[th]=เครื่องยนต์
+Name[tr]=Motor
+Name[uk]=Двигун
+Name[ven]=Nzhini
+Name[vi]=Máy
+Name[xh]=Injini
+Name[zh_CN]=引擎
+Name[zh_TW]=引擎
+Name[zu]=Injini
+
+[Desktop Action Setup]
+Exec=kxsconfig engine
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun engine -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun engine -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/epicycle.desktop b/kscreensaver/kxsconfig/ScreenSavers/epicycle.desktop
new file mode 100644
index 00000000..e8295024
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/epicycle.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=epicycle
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Epicycle
+Name[bg]=Епицикъл
+Name[ca]=Epicicle
+Name[cy]=Argylch
+Name[da]=Epicykel
+Name[de]=Epizykel
+Name[el]=Επικυκλοειδής
+Name[es]=Epiciclo
+Name[et]=Epitsükkel
+Name[eu]=Epizikloa
+Name[fi]=Episykli
+Name[fr]=Épicycle
+Name[gl]=Epiciclo
+Name[he]=צורות מעגליות
+Name[hi]=चक्रवात
+Name[hu]=Epiciklois
+Name[is]=Sporbaugur
+Name[ja]=周転円
+Name[ka]=ეპიციკლი
+Name[mk]=Епицикл
+Name[ms]=Epikitar
+Name[mt]=Epiċiklu
+Name[nb]=Episykel
+Name[nds]=Böverkrink
+Name[ne]=इपिसाइकल
+Name[nn]=Episykel
+Name[pt]=Epiciclo
+Name[pt_BR]=Epiciclo
+Name[ro]=Epiciclu
+Name[ru]=Эпицикл
+Name[sl]=Epicikel
+Name[sr]=Епициклус
+Name[sr@Latn]=Epiciklus
+Name[sv]=Epicykel
+Name[ta]=மேல்வட்டம்
+Name[tg]=Эпидавра
+Name[tr]=Küçük Daire
+Name[uk]=Епіцикл
+Name[zh_CN]=周转圆
+Name[zh_TW]=週轉圓
+
+[Desktop Action Setup]
+Exec=kxsconfig epicycle
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun epicycle -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun epicycle -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/eruption.desktop b/kscreensaver/kxsconfig/ScreenSavers/eruption.desktop
new file mode 100644
index 00000000..a0cf2661
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/eruption.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=eruption
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Flying Things
+Name=Eruption
+Name[bg]=Изригване
+Name[ca]=Erupció
+Name[cs]=Erupce
+Name[cy]=Allwthiad
+Name[eo]=Erupcio
+Name[es]=Erupción
+Name[et]=Purse
+Name[eu]=Erupzioa
+Name[fa]=فوران
+Name[fr]=Éruption
+Name[fy]=Utbarsting
+Name[gl]=Erución
+Name[he]=התפרצות
+Name[hi]=विस्फ़ोट
+Name[hu]=Kitörés
+Name[is]=Gos
+Name[it]=Eruzione
+Name[ja]=エラプション
+Name[ka]=ნაპერწკლები
+Name[mk]=Ерупција
+Name[ms]=Letupan
+Name[nb]=Utbrudd
+Name[nds]=Eruptschoon
+Name[ne]=पानीफोका
+Name[nl]=Uitbarsting
+Name[nn]=Utbrot
+Name[pl]=Erupcja
+Name[pt]=Erupção
+Name[pt_BR]=Erupção
+Name[ro]=Erupţie
+Name[ru]=Огненные брызги
+Name[sk]=Erupcia
+Name[sl]=Izbruh
+Name[sr]=Ерупција
+Name[sr@Latn]=Erupcija
+Name[sv]=Utbrott
+Name[ta]=எரிமலைபொங்கல்
+Name[tg]=Қатраҳои оташӣ
+Name[uk]=Виверження
+Name[vi]=Vụ phun trào
+Name[zh_CN]=火山爆发
+Name[zh_TW]=爆發
+
+[Desktop Action Setup]
+Exec=kxsconfig eruption
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun eruption -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun eruption -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/euler2d.desktop b/kscreensaver/kxsconfig/ScreenSavers/euler2d.desktop
new file mode 100644
index 00000000..b71687e8
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/euler2d.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=euler2d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Euler2d
+Name[de]=Euler (zweidimensional)
+Name[es]=Euler2D
+Name[fa]=اویلر2d
+Name[gl]=Euler2D
+Name[he]=זרימה
+Name[hi]=यूलर2डी
+Name[hu]=Euler 2D
+Name[it]=Eulero 2d
+Name[ja]=オイラー 2D
+Name[ka]=ეილერი
+Name[mk]=Ојлер2Д
+Name[nb]=Euler 2D
+Name[nds]=Euler-2D
+Name[nn]=Euler 2D
+Name[pt_BR]=Euler 2d
+Name[ru]=Эйлер
+Name[sr]=Ојлер 2Д
+Name[sr@Latn]=Ojler 2D
+Name[sv]=Euler 2D
+Name[ta]=ஐலர்2டி
+Name[tg]=Эйлер
+Name[tr]=Euler 2D
+Name[uk]=Ейлер
+Name[zh_CN]=欧拉平面
+Name[zh_TW]=尤拉 2D
+
+[Desktop Action Setup]
+Exec=kxsconfig euler2d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun euler2d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun euler2d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/extrusion.desktop b/kscreensaver/kxsconfig/ScreenSavers/extrusion.desktop
new file mode 100644
index 00000000..e10e0b84
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/extrusion.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=extrusion
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Extrusion
+Name[bg]=Екструдиране
+Name[ca]=Extrusió
+Name[cy]=Allwthiad
+Name[de]=Spritzgeformtes
+Name[es]=Extrusión
+Name[et]=Venitus
+Name[eu]=Estrusioa
+Name[fa]=فشارکاری
+Name[gl]=Extrusión
+Name[he]=צורות תלת־מימדיות
+Name[hi]=एक्सट्रूज़न
+Name[ja]=突出
+Name[ka]=გამოძევება
+Name[mk]=Издолжување
+Name[ms]=Tonjolan
+Name[mt]=Estrużjoni
+Name[nb]=Ekstrudering
+Name[nds]=Strangpresste Delen
+Name[ne]=निस्कासन
+Name[nn]=Ekstrudering
+Name[pl]=Wytłoczenie
+Name[pt]=Extrusão
+Name[pt_BR]=Extrusão
+Name[ro]=Extruziune
+Name[ru]=Вытеснение
+Name[sl]=Ekstruzija
+Name[sr]=Издуживање
+Name[sr@Latn]=Izduživanje
+Name[sv]=Extrudering
+Name[ta]=வெளியேற்று
+Name[tg]=Аз миён бурдан
+Name[tr]=Sımsıkı
+Name[uk]=Витіснення
+Name[ven]=Kombamisa
+Name[vi]=Nhô ra
+Name[xh]=Ukhutsho
+Name[zh_CN]=突出形体
+Name[zh_TW]=突出
+Name[zu]=Ukuputshuka
+
+[Desktop Action Setup]
+Exec=kxsconfig extrusion
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun extrusion -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun extrusion -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fadeplot.desktop b/kscreensaver/kxsconfig/ScreenSavers/fadeplot.desktop
new file mode 100644
index 00000000..8d63d043
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fadeplot.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=fadeplot
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Flying Things
+Name=Fade Plot
+Name[af]=Uitdoof Tema
+Name[br]=Tres dislivet
+Name[ca]=Traces esvaïdes
+Name[cs]=Slábnoucí vykreslování
+Name[cy]=Plot Afliwio
+Name[de]=Schattenhafte Zeichnung
+Name[eo]=Paliĝo
+Name[es]=Trazos desvanecidos
+Name[et]=Kahvatu Joonis
+Name[eu]=Iraungitze-marrazketa
+Name[fa]=محو کردن رسم
+Name[fi]=Häviävä piirto
+Name[fr]=Fondu
+Name[gl]=Trazos esvaecidos
+Name[he]=התוויה נמוגה
+Name[hi]=फेड प्लॉट
+Name[hu]=Fakulás
+Name[it]=Plot sfumato
+Name[ja]=フェードプロット
+Name[ka]=გველთევზა
+Name[lt]=Nykstantis siužetas
+Name[lv]=Izdziestoša shēma
+Name[mk]=Бледо исцртување
+Name[ms]=Plot Pudar
+Name[nb]=Bleknende plott
+Name[nds]=Utblennrebeet
+Name[ne]=फेड प्लट
+Name[pt]=Desenho a Desaparecer
+Name[ru]=Морская змея
+Name[sk]=Ohrada pozemku
+Name[sl]=Izginjajoča risba
+Name[sr]=Затамњено исцртавање
+Name[sr@Latn]=Zatamnjeno iscrtavanje
+Name[sv]=Bleknande teckning
+Name[ta]=மறை வரை
+Name[tg]=Мори баҳрӣ
+Name[tr]=Soluş Noktalama
+Name[uk]=Згасаюча змійка
+Name[ven]=Puloto yau Fhelaho
+Name[vi]=Đồ thị Mờ
+Name[xh]=Inxuwa Elphelelwayo
+Name[zh_CN]=飘逝的彩带
+Name[zh_TW]=淡出圖形
+Name[zu]=Ishashalazi eligqunqile
+
+[Desktop Action Setup]
+Exec=kxsconfig fadeplot
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun fadeplot -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fadeplot -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fiberlamp.desktop b/kscreensaver/kxsconfig/ScreenSavers/fiberlamp.desktop
new file mode 100644
index 00000000..fd65058c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fiberlamp.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=fiberlamp
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Fiberlamp
+Name[ca]=Làmpada de fibra
+Name[da]=Fiberlampe
+Name[de]=Glasfaser-Lampe
+Name[eo]=Fibrolampo
+Name[es]=Fibra luminosa
+Name[et]=Fiiberlamp
+Name[fa]=شعله
+Name[fi]=Kuitulamppu
+Name[fr]=Lampe à incandescence
+Name[fy]=Glêsrizellampe
+Name[gl]=Lámpada de fibras
+Name[hu]=Lámpa
+Name[it]=Lampada a fibre
+Name[ja]=ファイバーランプ
+Name[ka]=ბოჭკოვანი ნათურა
+Name[mk]=Фибер-ламба
+Name[nb]=Fiberlampe
+Name[nds]=Faserlamp
+Name[ne]=फाइबर ल्याम्प
+Name[nl]=Glasvezellamp
+Name[nn]=Fiberlampe
+Name[pt]=Luz de Fibra
+Name[pt_BR]=Fibra de Luz
+Name[ru]=Декоративная лампа
+Name[sl]=Svetilka iz vlaken
+Name[sr]=Фиберлампа
+Name[sr@Latn]=Fiberlampa
+Name[sv]=Fiberlampa
+Name[tr]=Fiberlamba
+Name[uk]=Волоконна лампа
+Name[vi]=Đèn dây tóc
+Name[zh_TW]=纖維燈
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig fiberlamp
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fiberlamp -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fiberlamp -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fireworkx.desktop b/kscreensaver/kxsconfig/ScreenSavers/fireworkx.desktop
new file mode 100644
index 00000000..7266c292
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fireworkx.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=fireworkx
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+X-KDE-Category=Gadgets & Simulations
+Name=Fireworkx
+Name[ca]=Focs artificials x
+Name[cs]=Ohňostroje
+Name[de]=Feuerwerk
+Name[el]=Γρανάζια (GL)
+Name[eo]=Piroteknik'
+Name[es]=Fuegos artificialesx
+Name[eu]=Su artifizialak x
+Name[fa]=آتش بازی x
+Name[fi]=Ilotulitus
+Name[fr]=Feux d'artifices
+Name[fy]=Fjoerwurk
+Name[he]=זיקוקי דינור
+Name[hu]=Tűzijáték
+Name[is]=Flugeldar
+Name[it]=Fuochi d'artificio
+Name[ja]=花火
+Name[ka]=ფეიერვერკი X
+Name[mk]=Огнометикс
+Name[nb]=Fyrverkerii
+Name[nds]=FüerwarkX
+Name[nn]=Fyrverkerii
+Name[pt]=Fogo de Artifício
+Name[ru]=Фейерверк X
+Name[sl]=OgnjemetX
+Name[sr]=Ватромети
+Name[sr@Latn]=Vatrometi
+Name[sv]=Fyrverkeri
+Name[uk]=Феєрверк Х
+Name[vi]=Pháo hoa
+Name[zh_CN]=烟花
+Name[zh_TW]=煙火
+TryExec=xscreensaver
+
+[Desktop Action Setup]
+Exec=kxsconfig fireworkx
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fireworkx -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fireworkx -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flag.desktop b/kscreensaver/kxsconfig/ScreenSavers/flag.desktop
new file mode 100644
index 00000000..5402ede2
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flag.desktop
@@ -0,0 +1,252 @@
+[Desktop Entry]
+Exec=flag
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+Name=Flag
+Name[af]=Vlag
+Name[bg]=Флаг
+Name[br]=Banniel
+Name[ca]=Bandera
+Name[cs]=Vlajka
+Name[cy]=Baner
+Name[de]=Flagge
+Name[el]=Σημαία
+Name[eo]=Flago
+Name[es]=Bandera
+Name[et]=Lipp
+Name[eu]=Bandera
+Name[fa]=پرچم
+Name[fi]=Lippu
+Name[fo]=Flagg
+Name[fr]=Drapeau
+Name[fy]=Flagge
+Name[gl]=Bandeira
+Name[he]=דגל
+Name[hi]=झण्डा
+Name[hu]=Zászló
+Name[is]=Fáni
+Name[it]=Bandiera
+Name[ja]=旗
+Name[ka]=ალამი
+Name[lt]=Vėliava
+Name[lv]=Karogs
+Name[mk]=Знаме
+Name[ms]=Bendera
+Name[mt]=Bandiera
+Name[nb]=Flagg
+Name[nds]=Flagg
+Name[ne]=झण्डा
+Name[nn]=Flagg
+Name[nso]=Folaga
+Name[pa]=ਝੰਡਾ
+Name[pl]=Flaga
+Name[pt]=Bandeira
+Name[pt_BR]=Bandeira
+Name[ro]=Steag
+Name[ru]=Флаг
+Name[sk]=Vlajka
+Name[sl]=Zastava
+Name[sr]=Застава
+Name[sr@Latn]=Zastava
+Name[sv]=Flagga
+Name[ta]=குறி
+Name[tg]=Байрақ
+Name[th]=ธง
+Name[tr]=Bayrak
+Name[uk]=Прапор
+Name[uz]=Bayroq
+Name[uz@cyrillic]=Байроқ
+Name[ven]=Fulaga
+Name[vi]=Cờ
+Name[xh]=Indwe
+Name[zh_CN]=旗帜
+Name[zh_TW]=旗幟
+Name[zu]=Ifulagi
+
+[Desktop Action Setup]
+Exec=kxsconfig flag
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun flag -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flag -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flame.desktop b/kscreensaver/kxsconfig/ScreenSavers/flame.desktop
new file mode 100644
index 00000000..6faaff84
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flame.desktop
@@ -0,0 +1,252 @@
+[Desktop Entry]
+Exec=flame
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Fractals
+Name=Flame
+Name[af]=Vlam
+Name[bg]=Пламък
+Name[br]=Flamm
+Name[ca]=Flama
+Name[cs]=Plamen
+Name[cy]=Fflam
+Name[da]=Flamme
+Name[de]=Flamme
+Name[el]=Φλόγα
+Name[eo]=Flamo
+Name[es]=Llama
+Name[et]=Lõõm
+Name[eu]=Sugarra
+Name[fa]=شعله
+Name[fi]=Liekki
+Name[fr]=Flamme
+Name[fy]=Flam
+Name[gl]=Lapa
+Name[he]=פרקטלים קוסמיים
+Name[hi]=ज्वाला
+Name[hu]=Láng
+Name[is]=Logar
+Name[it]=Fiamma
+Name[ja]=フレーム
+Name[ka]=ალი
+Name[lt]=Aistra
+Name[lv]=Liesma
+Name[mk]=Пламен
+Name[ms]=Nyalaan
+Name[mt]=Fjamma
+Name[nb]=Flamme
+Name[nds]=Flamm
+Name[ne]=ज्वाला
+Name[nn]=Flamme
+Name[nso]=Kgabo
+Name[pa]=ਲਪਟ
+Name[pl]=Płomień
+Name[pt]=Chama
+Name[pt_BR]=Chama
+Name[ro]=Flacără
+Name[ru]=Пламя
+Name[sk]=Plameň
+Name[sl]=Plamen
+Name[sr]=Пламен
+Name[sr@Latn]=Plamen
+Name[sv]=Flamma
+Name[ta]=தீ பிழம்பு
+Name[tg]=Шӯъла
+Name[th]=เปลวไฟ
+Name[tr]=Alev
+Name[uk]=Полум'я
+Name[uz]=Oʻt
+Name[uz@cyrillic]=Ўт
+Name[ven]=Khavhu
+Name[vi]=Lửa
+Name[xh]=Idangatye
+Name[zh_CN]=火焰
+Name[zh_TW]=火焰
+Name[zu]=Ilangabi
+
+[Desktop Action Setup]
+Exec=kxsconfig flame
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun flame -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flame -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flipflop.desktop b/kscreensaver/kxsconfig/ScreenSavers/flipflop.desktop
new file mode 100644
index 00000000..c713b5fa
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flipflop.desktop
@@ -0,0 +1,219 @@
+[Desktop Entry]
+Exec=flipflop
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=FlipFlop
+Name[ca]=Biestable
+Name[cy]=FflipLlip
+Name[de]=Quadrate umklappen
+Name[et]=Lipp lipi, lapp lapi peal
+Name[fa]=فلیپ فلاپ
+Name[he]=מושכים דינמיים
+Name[hi]=उलट-पलट
+Name[hu]=Flip-flop
+Name[ja]=フリップフロップ
+Name[ka]=ფილები
+Name[mk]=Превртување
+Name[ms]=Flip Flop
+Name[nds]=Klippklapp
+Name[ne]=फ्लिपफ्लप
+Name[ru]=Плитка
+Name[sl]=Flip flop
+Name[sr]=Флип-флоп
+Name[sr@Latn]=Flip-flop
+Name[sv]=Vippa
+Name[ta]=திருப்புதிருப்பு
+Name[tg]=Тахтаҳои сафолӣ
+Name[tr]=Yan Sön
+Name[uk]=Перекидень
+Name[vi]=Lật lát
+Name[zh_CN]=翻转
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig flipflop
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun flipflop -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flipflop -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flipscreen3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/flipscreen3d.desktop
new file mode 100644
index 00000000..a48a0037
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flipscreen3d.desktop
@@ -0,0 +1,231 @@
+[Desktop Entry]
+Exec=flipscreen3d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL;ManipulateScreen
+Name=Flipscreen3d
+Name[ca]=Girapantalles3d
+Name[cy]=Sgrînfflip3d
+Name[da]=Flipskærm3d
+Name[de]=Bildschirm drehen (dreidimensional)
+Name[el]=Αναστροφή οθόνης 3d
+Name[es]=Rotapantallas3D
+Name[et]=3D ekraanimuserdaja
+Name[eu]=Pantaila biratzailea 3d
+Name[fa]=پردۀ فلیپ3d
+Name[fr]=Écran tournant 3d
+Name[gl]=VaiVen 3D
+Name[he]=סיבוב מסך
+Name[hi]=पलट-पर्दा3डी
+Name[hu]=FlipScreen 3D
+Name[it]=Schermo invertito 3D
+Name[ja]=フリップスクリーン 3D
+Name[ka]=მბრუნავი ეკრანი
+Name[mk]=Превртување екран 3Д
+Name[nb]=Skjermvender 3D
+Name[nds]=Dreihschirm 3D
+Name[nn]=Skjermvendar 3D
+Name[pt]=Ecrã Invertido 3D
+Name[pt_BR]=Tela Sacudida 3D
+Name[ru]=Вращающийся экран
+Name[sl]=Vrteči zaslon 3D
+Name[sr]=Окретање екрана 3Д
+Name[sr@Latn]=Okretanje ekrana 3D
+Name[sv]=Skärmvändare 3D
+Name[ta]=திருப்புத்திரை3டி
+Name[tg]=Экрани тобхуранда
+Name[tr]=EkranEğ3d
+Name[uk]=Обертання екрана
+Name[ven]=Tshikirini tshisi tshavhudi3d
+Name[vi]=Màn hình lật 3 chiều
+Name[xh]=Jula phezulu ikhusi 3d
+Name[zh_CN]=立体翻转屏幕
+Name[zh_TW]=翻轉螢幕 3D
+
+[Desktop Action Setup]
+Exec=kxsconfig flipscreen3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun flipscreen3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flipscreen3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fliptext.desktop b/kscreensaver/kxsconfig/ScreenSavers/fliptext.desktop
new file mode 100644
index 00000000..9b87062d
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fliptext.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=fliptext
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=FlipText
+Name[ca]=Text canviat
+Name[cs]=Naklánějící se text
+Name[el]=Αντεστραμμένο κείμενο
+Name[eo]=RenversTekst'
+Name[es]=Texto inverso
+Name[eu]=Fliptestua
+Name[fa]=Flip متن
+Name[fi]=FlipTeksti
+Name[fr]=Texte tournant
+Name[fy]=Draaide tekst
+Name[he]=טקסט מסתובב
+Name[hu]=Szöveges
+Name[is]=Spegla texta
+Name[it]=Testo invertito
+Name[ja]=フリップテキスト
+Name[ka]=მოხტუნავე ტექსტი
+Name[mk]=Превртување текст
+Name[nb]=Fliptekst
+Name[nds]=Klapptext
+Name[ne]=फ्लिप पाठ
+Name[nl]=Gedraaide tekst
+Name[nn]=Fliptekst
+Name[pt]=Texto Invertido
+Name[pt_BR]=Texto em Rotação
+Name[ru]=Листок бумаги
+Name[sl]=Premetavanje besedila
+Name[sr]=Окретање текста
+Name[sr@Latn]=Okretanje teksta
+Name[sv]=Textvändning
+Name[uk]=Обертання Тексту
+Name[vi]=Văn bản lật
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig fliptext
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fliptext -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fliptext -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flow.desktop b/kscreensaver/kxsconfig/ScreenSavers/flow.desktop
new file mode 100644
index 00000000..f0ccfd88
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flow.desktop
@@ -0,0 +1,248 @@
+[Desktop Entry]
+Exec=flow
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Illusions of Depth
+Name=Flow
+Name[af]=Vloei
+Name[br]=Lanv
+Name[ca]=Flux
+Name[cs]=Proud
+Name[cy]=Llif
+Name[da]=Flyd
+Name[de]=Fließen
+Name[el]=Ροή
+Name[eo]=Fluo
+Name[es]=Flujo
+Name[et]=Voog
+Name[eu]=Fluxua
+Name[fa]=روند
+Name[fi]=Virta
+Name[fr]=Flot
+Name[fy]=Floei
+Name[gl]=Fluxo
+Name[he]=מושכים דינמיים
+Name[hi]=किरण प्रवाह
+Name[hu]=Folyam
+Name[is]=Flæði
+Name[it]=Flusso
+Name[ja]=流れ
+Name[ka]=ნაკადი
+Name[lt]=Srovė
+Name[lv]=Plūsma
+Name[mk]=Тек
+Name[ms]=Aliran
+Name[mt]=Fluss
+Name[nb]=Flyt
+Name[nds]=Fleten
+Name[ne]=प्रवाह
+Name[nn]=Flyt
+Name[nso]=Moela
+Name[pl]=Przepływ
+Name[pt]=Fluxo
+Name[pt_BR]=Fluxo
+Name[ro]=Curgere
+Name[ru]=Поток
+Name[sk]=Prúd
+Name[sl]=Tok
+Name[sr]=Ток
+Name[sr@Latn]=Tok
+Name[sv]=Flöde
+Name[ta]=ஓட்டம்
+Name[tg]=Сел
+Name[th]=สายน้ำ
+Name[tr]=Akış
+Name[uk]=Потік
+Name[ven]=Elela
+Name[vi]=Dòng chảy
+Name[xh]=Mpompoza
+Name[zh_CN]=流动
+Name[zh_TW]=流動
+Name[zu]=Ntanta
+
+[Desktop Action Setup]
+Exec=kxsconfig flow
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun flow -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flow -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fluidballs.desktop b/kscreensaver/kxsconfig/ScreenSavers/fluidballs.desktop
new file mode 100644
index 00000000..513464c0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fluidballs.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=fluidballs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=FluidBalls
+Name[ca]=Fluidessa de les pilotes
+Name[cy]=PeliLlif
+Name[de]=Bälle in Flüssigkeit
+Name[el]=Ρευστές μπάλες
+Name[es]=Fluido de bolas
+Name[et]=Voolavad pallid
+Name[eu]=Pilota likidoak
+Name[fa]=گویهای روان
+Name[fi]=Nestepallot
+Name[fr]=Boules liquides
+Name[gl]=Fluxo de bolas
+Name[he]=כדורים קופצים
+Name[hi]=फ्लूइड-बाल्स
+Name[hu]=Folyadékcseppek
+Name[is]=Vökvaboltar
+Name[ja]=流れるボール
+Name[ka]=მოძრავი ბურთულები
+Name[mk]=Топчиња со течност
+Name[ms]=Bola Air
+Name[nb]=Flytende baller
+Name[nds]=Flootbäll
+Name[ne]=फ्युड बल
+Name[nn]=Flytande ballar
+Name[pl]=Płynne piłki
+Name[pt]=Bolas Fluidas
+Name[pt_BR]=Bolas de Fluido
+Name[ru]=Подвижные шарики
+Name[sl]=Tekoče žoge
+Name[sr]=Флуидне лопте
+Name[sr@Latn]=Fluidne lopte
+Name[sv]=Flytande bollar
+Name[ta]=தண்ணீர்பந்துக்கள்
+Name[tg]=Кӯраҳои ҳаракаткунанда
+Name[tr]=Sulu Toplar
+Name[uk]=Рідкі бульбашки
+Name[vi]=Bóng chảy
+Name[xh]=Iibhola Ezingamanzi
+Name[zh_CN]=液体中的球
+Name[zh_TW]=液體球
+Name[zu]=Amabhola Amanzi
+
+[Desktop Action Setup]
+Exec=kxsconfig fluidballs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fluidballs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fluidballs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flurry.desktop b/kscreensaver/kxsconfig/ScreenSavers/flurry.desktop
new file mode 100644
index 00000000..d40f848e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flurry.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=flurry
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Flurry
+Name[ca]=Ràfega
+Name[cy]=Ffwdan
+Name[de]=Gestöber
+Name[eo]=Agit'
+Name[es]=Ráfaga
+Name[et]=Segadik
+Name[eu]=Bolada
+Name[fa]=طوفان ناگهانی
+Name[fr]=Bourrasque
+Name[fy]=Fleach
+Name[he]=גלים
+Name[hi]=झोंका
+Name[ja]=フラーリ
+Name[ka]=აღელვება
+Name[mk]=Возбудливо
+Name[ms]=Salji
+Name[ne]=आँधी
+Name[nl]=Vlagen
+Name[pl]=Śnieżyca
+Name[pt]=Confuso
+Name[ru]=Свечение
+Name[sl]=Rosenje
+Name[sr]=Нервоза
+Name[sr@Latn]=Nervoza
+Name[sv]=Byar
+Name[ta]=திடீர் அதிகரிப்பு
+Name[tg]=Партавафканӣ
+Name[tr]=Çoşku
+Name[uk]=Чарівне світло
+Name[zh_CN]=飓风
+
+[Desktop Action Setup]
+Exec=kxsconfig flurry
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun flurry -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flurry -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/flyingtoasters.desktop b/kscreensaver/kxsconfig/ScreenSavers/flyingtoasters.desktop
new file mode 100644
index 00000000..9602fe1e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/flyingtoasters.desktop
@@ -0,0 +1,238 @@
+[Desktop Entry]
+Exec=flyingtoasters
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+Name=Flying Toasters
+Name[bg]=Летящи тостери
+Name[ca]=Torradores Volants
+Name[cy]=TosteriFflio
+Name[de]=Fliegende Toaster
+Name[el]=Ιπτάμενες τοστιέρες
+Name[eo]=Flugantaj Panrostiloj
+Name[es]=Tostadoras volantes
+Name[et]=Lendavad konnad
+Name[eu]=Tostagailu hegalariak
+Name[fa]=سرخ‌کننده‌های سریع
+Name[fr]=Grille-pain volants
+Name[fy]=Fleanende toasters
+Name[gl]=Torradoras volantes
+Name[he]=מצננים מעופפים
+Name[hi]=उड़न टोस्टर
+Name[hu]=Repülő kenyérpirítók
+Name[is]=Fljúgandi ristavélar
+Name[it]=Tostapane volante
+Name[ja]=フライングトースター
+Name[ka]=მფრინავი ტოსტერები
+Name[mk]=Летечки тостери
+Name[ms]=Pembakar Roti Terbang
+Name[nb]=Flygende brødristere
+Name[nds]=Flegen Toasters
+Name[ne]=उड्ने टोयस्टर
+Name[nl]=Vliegende toasters
+Name[nn]=Flygande brødristarar
+Name[pl]=Latające tostery
+Name[pt]=Torradeira Voadoras
+Name[pt_BR]=Torradeiras Voadoras
+Name[ro]=Prăjitoare zburătoare
+Name[ru]=Летающие тостеры
+Name[sk]=Lietajúce taniere
+Name[sl]=Leteči opekači
+Name[sr]=Летећи тостери
+Name[sr@Latn]=Leteći tosteri
+Name[sv]=Flygande brödrostar
+Name[ta]=பறக்கும் சுட்டான்கள்
+Name[tg]=Тостерҳои парвозкунанда
+Name[tr]=Uçan Tost Makineleri
+Name[uk]=Тостери літають
+Name[vi]=Bánh mì Bay
+Name[zh_CN]=飞行面包机
+Name[zh_TW]=飛行土司
+
+[Desktop Action Setup]
+Exec=kxsconfig flyingtoasters
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun flyingtoasters -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun flyingtoasters -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fontglide.desktop b/kscreensaver/kxsconfig/ScreenSavers/fontglide.desktop
new file mode 100644
index 00000000..3167e95c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fontglide.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=fontglide
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=FontGlide
+Name[de]=Gleitende Schriften
+Name[el]=Συρόμενα γράμματα
+Name[eo]=TiparGlito
+Name[es]=Caracteres deslizantes
+Name[eu]=Testu irristariak
+Name[fa]=حرکت نرم قلم
+Name[fi]=KirjasinLiuku
+Name[fr]=Texte glissant
+Name[gl]=Altitude
+Name[he]=גבהים
+Name[hi]=फ़ॉन्ट-ग्लाइड
+Name[hu]=Csúszkáló betűk
+Name[is]=Letursúpa
+Name[ka]=მოსრიალე ფონტი
+Name[mk]=Лизгачки текст
+Name[ms]=Luncuran Fon
+Name[nb]=Skrift-glide
+Name[nds]=Glieden Schrift
+Name[ne]=फन्ट ग्लाइड
+Name[nn]=Skriftflyt
+Name[pl]=Szybujące czcionki
+Name[ro]=Font în mişcare
+Name[ru]=Скользящий текст
+Name[sl]=Drsenje pisav
+Name[sr]=Клизање фонтова
+Name[sr@Latn]=Klizanje fontova
+Name[sv]=Teckenkana
+Name[ta]=எழுத்துரு க்ளைட்
+Name[tg]=Матни лағжанда
+Name[tr]=YazıtipiKayma
+Name[uk]=Текст літає
+Name[vi]=Phông chữ Trượt
+X-KDE-Type=Fortune
+X-KDE-Category=Banners & Pictures
+
+[Desktop Action Setup]
+Exec=kxsconfig fontglide
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fontglide -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fontglide -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/forest.desktop b/kscreensaver/kxsconfig/ScreenSavers/forest.desktop
new file mode 100644
index 00000000..fb18358c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/forest.desktop
@@ -0,0 +1,253 @@
+[Desktop Entry]
+Exec=forest
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Fractals
+Name=Forest
+Name[af]=Woud
+Name[bg]=Гора
+Name[br]=Koadeg
+Name[ca]=Bosc
+Name[cs]=Les
+Name[cy]=Coedwig
+Name[da]=Skov
+Name[de]=Wald
+Name[el]=Δάσος
+Name[eo]=Arbaro
+Name[es]=Bosque
+Name[et]=Mets
+Name[eu]=Basoa
+Name[fa]=جنگل
+Name[fi]=Metsä
+Name[fo]=Skóg
+Name[fr]=Forêt
+Name[fy]=Bosk
+Name[gl]=Bosque
+Name[he]=יער
+Name[hi]=जंगल
+Name[hu]=Erdő
+Name[is]=Skógur
+Name[it]=Foresta
+Name[ja]=森
+Name[ka]=ტყე
+Name[lt]=Miškas
+Name[lv]=Mežs
+Name[mk]=Шума
+Name[ms]=Rimba
+Name[mt]=Foresta
+Name[nb]=Skog
+Name[nds]=Woold
+Name[ne]=जङ्गल
+Name[nn]=Skog
+Name[nso]=Sethokgwa
+Name[pa]=ਜੰਗਲ
+Name[pl]=Las
+Name[pt]=Floresta
+Name[pt_BR]=Floresta
+Name[ro]=Pădure
+Name[ru]=Лес
+Name[sk]=Les
+Name[sl]=Gozd
+Name[sr]=Шума
+Name[sr@Latn]=Šuma
+Name[sv]=Skog
+Name[ta]=காடு
+Name[tg]=Ҷангал
+Name[th]=ป่าไม้
+Name[tr]=Orman
+Name[uk]=Ліс
+Name[uz]=Oʻrmon
+Name[uz@cyrillic]=Ўрмон
+Name[ven]=Daka
+Name[vi]=Rừng
+Name[xh]=Ihlathi
+Name[zh_CN]=森林
+Name[zh_TW]=森林
+Name[zu]=Ihlathi
+
+[Desktop Action Setup]
+Exec=kxsconfig forest
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun forest -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun forest -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/fuzzyflakes.desktop b/kscreensaver/kxsconfig/ScreenSavers/fuzzyflakes.desktop
new file mode 100644
index 00000000..55903986
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/fuzzyflakes.desktop
@@ -0,0 +1,220 @@
+[Desktop Entry]
+Exec=fuzzyflakes
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Illusions of Depth
+Name=FuzzyFlakes
+Name[de]=Verrückte Schneeflocken
+Name[el]=Ασαφείς Φλόγες
+Name[eo]=DiskrispajFlokoj
+Name[es]=Copos rizados
+Name[et]=Leegid
+Name[eu]=Maluta koloreztatuak
+Name[fa]=تکه‌های مبهم
+Name[fr]=Flocons colorés
+Name[gl]=Lapa
+Name[hi]=फ़जी-फ्लैक्स
+Name[is]=Loðnar flögur
+Name[ka]=ყვავილნარი
+Name[mk]=Нејасни снегулки
+Name[ms]=Empingan Samar
+Name[nds]=Sneeflocken
+Name[ne]=फजी ढाँचा
+Name[nn]=Uklare flak
+Name[pl]=Niewyraźne płatki
+Name[ru]=Цветочки
+Name[sl]=Zabrisane snežinke
+Name[sr]=Меке пахуљице
+Name[sr@Latn]=Meke pahuljice
+Name[sv]=Suddiga flingor
+Name[tg]=Гулҳо
+Name[tr]=TüyParçaları
+Name[uk]=Розмиті сніжинки
+Name[vi]=Bông tuyết Mờ ảo
+
+[Desktop Action Setup]
+Exec=kxsconfig fuzzyflakes
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun fuzzyflakes -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun fuzzyflakes -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/galaxy.desktop b/kscreensaver/kxsconfig/ScreenSavers/galaxy.desktop
new file mode 100644
index 00000000..c161c00b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/galaxy.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=galaxy
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=Galaxy
+Name[af]=Heelal
+Name[bg]=Галактики
+Name[br]=Hent Sant-Jakez
+Name[ca]=Galàxia
+Name[cs]=Galaxie
+Name[cy]=Galaeth
+Name[da]=Galakse
+Name[de]=Galaxis
+Name[el]=Γαλαξίας
+Name[eo]=Galaksio
+Name[es]=Galaxia
+Name[et]=Galaktika
+Name[eu]=Galaxia
+Name[fa]=کهکشان راه شیری
+Name[fi]=Galaksi
+Name[fr]=Galaxie
+Name[fy]=Molkewei
+Name[gl]=Galáxia
+Name[he]=גלקסיות
+Name[hi]=आकाशगंगा
+Name[hu]=Galaxis
+Name[is]=Stjörnuþoka
+Name[it]=Galassia
+Name[ja]=銀河
+Name[ka]=გალაქტიკა
+Name[lt]=Galaktika
+Name[lv]=Galaktika
+Name[mk]=Галаксија
+Name[ms]=Galaksi
+Name[mt]=Galassji
+Name[nb]=Galakse
+Name[nds]=Galaxie
+Name[ne]=आकाशगङ्गा
+Name[nn]=Galakse
+Name[pa]=ਗਲੈਕਸੀ
+Name[pl]=Galaktyka
+Name[pt]=Galáxia
+Name[pt_BR]=Galáxia
+Name[ro]=Galaxie
+Name[ru]=Галактика
+Name[sk]=Galaxia
+Name[sl]=Galaksija
+Name[sr]=Галаксија
+Name[sr@Latn]=Galaksija
+Name[sv]=Galax
+Name[ta]=அண்டம்
+Name[tg]=Галактика
+Name[th]=แกแล็กซี
+Name[tr]=Galaksi
+Name[uk]=Галактика
+Name[uz]=Galaktika
+Name[uz@cyrillic]=Галактика
+Name[vi]=Thiên hà
+Name[xh]=Intlaninge Yeenkwenkwezi
+Name[zh_CN]=星系
+Name[zh_TW]=銀河
+Name[zu]=Ibhola lezinkanyezi
+
+[Desktop Action Setup]
+Exec=kxsconfig galaxy
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun galaxy -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun galaxy -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/gears.desktop b/kscreensaver/kxsconfig/ScreenSavers/gears.desktop
new file mode 100644
index 00000000..9d8191f1
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/gears.desktop
@@ -0,0 +1,248 @@
+[Desktop Entry]
+Exec=gears
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Gears (GL)
+Name[af]=Ratte (Gl)
+Name[br]=Rodeg (GL)
+Name[ca]=Engranatges (GL)
+Name[cs]=Soukolí (GL)
+Name[cy]=Gerau (GL)
+Name[da]=Gear (GL)
+Name[de]=Zahnräder
+Name[el]=Γρανάζια (GL)
+Name[eo]=Radoj (graf. bibl.)
+Name[es]=Engranajes (GL)
+Name[et]=Hammasrattad (GL)
+Name[eu]=Makineria (GL)
+Name[fa]=دنده‌ها (GL)
+Name[fi]=Vaihteet (GL)
+Name[fo]=Tannhjól (GL)
+Name[fr]=Engrenages (GL)
+Name[gl]=Engranaxes (GL)
+Name[he]=גלגלי שיניים (GL)
+Name[hi]=गरारी (जीएल)
+Name[hu]=Fogaskerekek (OpenGL)
+Name[is]=Gírar (GL)
+Name[it]=Ingranaggi (GL)
+Name[ja]=ギア (GL)
+Name[ka]=კბილანები (GL)
+Name[lt]=Mechanizmai (GL)
+Name[lv]=Mehānismi (GL)
+Name[mk]=Запчаници (GL)
+Name[mt]=Roti tas-snien (GL)
+Name[nb]=Gir (GL)
+Name[nds]=Tahnrööd (GL)
+Name[ne]=गेयर (GL)
+Name[nn]=Tannhjul (GL)
+Name[pa]=ਗੇਅਰ (GL)
+Name[pl]=Trybiki (GL)
+Name[pt]=Roldanas (GL)
+Name[pt_BR]=Engrenagens (GL)
+Name[ro]=Rotiţe (GL)
+Name[ru]=Шестерёнки (GL)
+Name[sk]=Prístroje (GL)
+Name[sl]=Zobniki (GL)
+Name[sr]=Зупчаници (GL)
+Name[sr@Latn]=Zupčanici (GL)
+Name[sv]=Kugghjul (GL)
+Name[ta]=பல்சக்கரங்கள் (GL)
+Name[tg]=Чархи дандонадор (GL)
+Name[th]=ฟันเฟือง (GL)
+Name[tr]=Dişliler (GL)
+Name[uk]=Пристрої (GL)
+Name[ven]=Gere (GL)
+Name[vi]=Bánh răng (GL)
+Name[xh]=Izixhobo Zemoto (GL)
+Name[zh_CN]=齿轮(GL)
+Name[zh_TW]=齒輪 (GL)
+Name[zu]=Amagiye ezimoto (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig gears
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun gears -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun gears -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/gflux.desktop b/kscreensaver/kxsconfig/ScreenSavers/gflux.desktop
new file mode 100644
index 00000000..d2c930a5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/gflux.desktop
@@ -0,0 +1,219 @@
+[Desktop Entry]
+Exec=gflux
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GFlux
+Name[ca]=Flux G
+Name[cy]=FfrwdG
+Name[de]=Gewelltes Drahtgitter
+Name[es]=Flujo G
+Name[fr]=drap (GL)
+Name[fy]=GFluks
+Name[gl]=Fluxo G
+Name[he]=גלים
+Name[hi]=रंग बरसे
+Name[ka]=GNU ფლუქტუაცია
+Name[mk]=ГФлукс
+Name[nb]=Gfluks
+Name[nds]=Bülgendook
+Name[nn]=Gfluks
+Name[pt]=Fluxo
+Name[ru]=GNU Флуктуации
+Name[sl]=Tok GL
+Name[sr]=Г-флукс
+Name[sr@Latn]=G-fluks
+Name[sv]=Gflux
+Name[ta]=Gஒட்டம்
+Name[tg]=Флуктуатсияи GFlux
+Name[uk]=Флюксія (GL)
+Name[vi]=Lưu thông GL
+Name[zh_CN]=G流体
+
+[Desktop Action Setup]
+Exec=kxsconfig gflux
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun gflux -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun gflux -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glblur.desktop b/kscreensaver/kxsconfig/ScreenSavers/glblur.desktop
new file mode 100644
index 00000000..e1455d6b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glblur.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=glblur
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLBlur
+Name[ca]=GL núvols
+Name[cy]=DylniGL
+Name[de]=Radiale Unschärfe
+Name[es]=Vaho GL
+Name[et]=GL Hägu
+Name[fr]=Brouillard (GL)
+Name[fy]=GL-dize
+Name[gl]=Borroso GL
+Name[he]=גלים
+Name[hi]=धुंधलका (जीएल)
+Name[it]=Sfocatura (GL)
+Name[ka]=ნათება (GL)
+Name[mk]=GL-замаглување
+Name[nb]=GLdis
+Name[nds]=Swiemel GL
+Name[nl]=GL-waas
+Name[nn]=GLdis
+Name[pl]=Rozmycie GL
+Name[pt]=Borrão (GL)
+Name[ru]=Свечение (GL)
+Name[sk]=GLRozmazanie
+Name[sl]=Umazanija GL
+Name[sr]=GL мутно
+Name[sr@Latn]=GL mutno
+Name[sv]=Diffus GL
+Name[ta]=GLதெளிவில்லாத
+Name[tg]=Партавафканӣ (GL)
+Name[uk]=Світло (GL)
+Name[vi]=Mờ ảo GL
+Name[zh_CN]=GL模糊
+
+[Desktop Action Setup]
+Exec=kxsconfig glblur
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glblur -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glblur -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glcells.desktop b/kscreensaver/kxsconfig/ScreenSavers/glcells.desktop
new file mode 100644
index 00000000..4a6855ad
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glcells.desktop
@@ -0,0 +1,207 @@
+[Desktop Entry]
+Exec=glcells
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=GLCells
+Name[ca]=GL cèl·lules
+Name[de]=GL-Zellen
+Name[el]=GL Γραμμές
+Name[es]=Células GL
+Name[et]=GLLahtrid
+Name[fr]=Cellules (GL)
+Name[it]=Cellule (GL)
+Name[nds]=Zelln GL
+Name[ru]=Размножение клеток
+Name[sk]=GLBunky
+Name[sr]=GL ћелије
+Name[sr@Latn]=GL ćelije
+Name[sv]=Celler GL
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig glcells
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glcells -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glcells -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/gleidescope.desktop b/kscreensaver/kxsconfig/ScreenSavers/gleidescope.desktop
new file mode 100644
index 00000000..ffbca519
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/gleidescope.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=gleidescope
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Gleidescope
+Name[ca]=Gleidoscopi
+Name[de]=Kaleidoskop
+Name[el]=GL Καλειδοσκόπιο
+Name[eo]=Kalejdoskopo
+Name[es]=GLeidoscopio
+Name[et]=Gleidoskoop
+Name[fi]=Kaleidoskooppi
+Name[fr]=Kaléidoscope (GL)
+Name[gl]=Gleidoscópio
+Name[he]=קליידסקופ
+Name[hi]=ग्लाइडस्कोप
+Name[hu]=Gleidoszkóp
+Name[is]=Gleidesjá
+Name[it]=Caleidoscopio (GL)
+Name[ka]=კალეიდოსკოპი
+Name[mk]=ГЛеидоскоп
+Name[nb]=Gleidoskop
+Name[nds]=Gleidoskoop
+Name[ne]=ग्लेइडस्कोप
+Name[pt]=Gleidoscópio
+Name[ru]=Калейдоскоп
+Name[sk]=Galeidoskop
+Name[sl]=Gleidoskop
+Name[sr]=Глејдоскоп
+Name[sr@Latn]=Glejdoskop
+Name[sv]=Gleideskop
+Name[ta]=வண்ணப்பரப்பு
+Name[tg]=Калейдоскоп
+Name[tr]=ÇiçekDürbünü
+Name[uk]=Глайдоскоп
+Name[vi]=Kính vạn hoa lướt
+Name[zh_TW]=萬花筒
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig gleidescope
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun gleidescope -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun gleidescope -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glforestfire.desktop b/kscreensaver/kxsconfig/ScreenSavers/glforestfire.desktop
new file mode 100644
index 00000000..45275d94
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glforestfire.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=glforestfire
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLForestFire
+Name[ca]=GL bosc de foc
+Name[cy]=TânCoedwigGL
+Name[da]=GLSkovbrand
+Name[de]=Waldfeuer
+Name[el]=GL Φωτιά στο δάσος
+Name[es]=Bosque de fuego GL
+Name[et]=GL Metsatulekahju
+Name[eu]=Basoko sua GL
+Name[fi]=GLMetsäpalo
+Name[fo]=Skógareldur
+Name[fr]=Feu de forêt (GL)
+Name[gl]=Bosque de fogo GL
+Name[he]=שריפה ביער (GL)
+Name[hi]=जंगल की आग (जीएल)
+Name[hu]=Erdőtűz (OpenGL)
+Name[is]=GL-Skógareldar
+Name[it]=Fuoco nella foresta (GL)
+Name[ja]=GL 森林火災
+Name[ka]=ტყის ხანძარი (GL)
+Name[mk]=GL-шумски пожар
+Name[nb]=GLSkogbrann
+Name[nds]=GLWooldfüer
+Name[ne]=GL फोरेस्टफायर
+Name[nn]=Skogbrann GL
+Name[pt]=Fogo na Floresta (GL)
+Name[pt_BR]=Floresta de Fogo GL
+Name[ru]=Горящий лес (GL)
+Name[sk]=GLLesnýPožiar
+Name[sl]=Gozdni požar GL
+Name[sr]=GL шумски пожар
+Name[sr@Latn]=GL šumski požar
+Name[sv]=Skogsbrand GL
+Name[ta]=GLகாட்டுத்தீ
+Name[tg]=Ҷангали сухта истода (GL)
+Name[th]=ไฟป่า (GL)
+Name[tr]=Orman Yangını
+Name[uk]=Лісова пожежа (GL)
+Name[ven]=GLMulilo wa dakani
+Name[vi]=Lửa Rừng GL
+Name[zh_CN]=GL森林大火
+Name[zh_TW]=森林煙火
+
+[Desktop Action Setup]
+Exec=kxsconfig glforestfire
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glforestfire -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glforestfire -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glhanoi.desktop b/kscreensaver/kxsconfig/ScreenSavers/glhanoi.desktop
new file mode 100644
index 00000000..ac927ce3
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glhanoi.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=glhanoi
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=GLHanoi
+Name[ca]=GL Hanoi
+Name[es]=HanoiGL
+Name[et]=GL Hanoi
+Name[fr]=Hanoi (GL)
+Name[he]=מגדל האנוי (GL)
+Name[hu]=Hanoi-torony (OpenGL)
+Name[is]=GL-Hanoí
+Name[it]=Hanoi (GL)
+Name[ja]=GL ハノイ
+Name[ka]=GLჰანოი
+Name[mk]=GL-Ханој
+Name[ne]=GL हानोइ
+Name[nl]=GL Hanoi
+Name[pt]=Hanói GL
+Name[ru]=Ханойские башни
+Name[sk]=GLHanoj
+Name[sl]=Hanoi GL
+Name[sr]=GL ханој
+Name[sr@Latn]=GL hanoj
+Name[sv]=Hanoi GL
+Name[vi]=Tháp Hà Nội GL
+Name[zh_TW]=漢諾塔
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig glhanoi
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glhanoi -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glhanoi -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glknots.desktop b/kscreensaver/kxsconfig/ScreenSavers/glknots.desktop
new file mode 100644
index 00000000..20e9fb95
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glknots.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=glknots
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=GLKnots
+Name[ca]=NusosGL
+Name[cy]=ClymauGL
+Name[de]=Knoten
+Name[eo]=GLNodoj
+Name[es]=NudosGL
+Name[et]=GL Sõlmed
+Name[eu]=GLKorapiloak
+Name[fr]=Noeuds (GL)
+Name[gl]=Nós GL
+Name[hi]=गांठें (जीएल)
+Name[hu]=Csomók (OpenGL)
+Name[is]=GL-hnútar
+Name[it]=Knots (GL)
+Name[ka]=ნასკვები (GL)
+Name[mk]=GL-јазли
+Name[nb]=GLKnuter
+Name[nds]=GLKnütten
+Name[ne]=GL नोट्स
+Name[nn]=GLKnutar
+Name[pl]=Węzły GL
+Name[pt]=Nós (GL)
+Name[ru]=Клубок (GL)
+Name[sl]=Vozel GL
+Name[sr]=GL чворови
+Name[sr@Latn]=GL čvorovi
+Name[sv]=Knutar GL
+Name[ta]=GLமுடிச்சுகள்
+Name[tg]=Тӯбча (GL)
+Name[uk]=Вузли (GL)
+Name[vi]=Nút thắt GL
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig glknots
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glknots -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glknots -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glmatrix.desktop b/kscreensaver/kxsconfig/ScreenSavers/glmatrix.desktop
new file mode 100644
index 00000000..ce13e740
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glmatrix.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Exec=glmatrix
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLMatrix
+Name[cy]=MatricsGL
+Name[de]=Matrix
+Name[eo]=GLMatrico
+Name[es]=MatrixGL
+Name[et]=GL Matrix
+Name[eu]=GLMatrizea
+Name[fr]=Matrix (GL)
+Name[fy]=GLMatriks
+Name[gl]=Matrix GL
+Name[he]=מטריקס GL
+Name[hi]=जीएल-मेट्रिक्स
+Name[hu]=A Mátrix (OpenGL)
+Name[is]=GL-matrixa
+Name[it]=Matrix (GL)
+Name[ja]=GL マトリックス
+Name[ka]=მატრიცა (GL)
+Name[mk]=GL-Матрикс
+Name[ne]=GL म्याट्रिक्स
+Name[nn]=GLMatrise
+Name[pl]=Matrix GL
+Name[pt]=Matriz GL
+Name[ru]=Матрица (GL)
+Name[sk]=GLMatica
+Name[sl]=Matrica GL
+Name[sr]=GL матрица
+Name[sr@Latn]=GL matrica
+Name[sv]=Matrix GL
+Name[ta]=GLஅணி
+Name[tg]=Матритса (GL)
+Name[tr]=GL Matrix
+Name[uk]=Матриця (GL)
+Name[vi]=Ma trận GL
+Name[zh_CN]=GL黑客帝国
+Name[zh_TW]=駭客任務
+
+[Desktop Action Setup]
+Exec=kxsconfig glmatrix
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glmatrix -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glmatrix -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glplanet.desktop b/kscreensaver/kxsconfig/ScreenSavers/glplanet.desktop
new file mode 100644
index 00000000..e934d4be
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glplanet.desktop
@@ -0,0 +1,245 @@
+[Desktop Entry]
+Exec=glplanet
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GL Planet (GL)
+Name[af]=Gl Planeet (Gl)
+Name[br]=Planedenn GL (GL)
+Name[ca]=GL planeta (GL)
+Name[cs]=GL planeta (GL)
+Name[cy]=GL Planed (GL)
+Name[de]=Planet
+Name[el]=Πλανήτης GL (GL)
+Name[eo]=Planedo (graf. bibl.)
+Name[es]=Planeta GL (GL)
+Name[et]=GL Planeet (GL)
+Name[eu]=GL Planeta (GL)
+Name[fi]=GL Planeetta (GL)
+Name[fo]=Gongustjørna (GL)
+Name[fr]=Planète (GL)
+Name[fy]=GL Planeet (GL)
+Name[gl]=Planeta GL (GL)
+Name[he]=כוכב (GL)
+Name[hi]=जीएल प्लेनेट (जीएल)
+Name[hu]=Bolygó (OpenGL)
+Name[is]=GL-pláneta (GL)
+Name[it]=Pianeta (GL)
+Name[ja]=GL 惑星 (GL)
+Name[ka]=პლანეტა (GL)
+Name[lt]=GL Planeta (GL)
+Name[lv]=GL Planēta (GL)
+Name[mk]=GL-планета (GL)
+Name[mt]=GL Pjaneta (GL)
+Name[nb]=GL-planeten (GL)
+Name[nds]=Planet (GL)
+Name[ne]=GL ग्रह (GL)
+Name[nn]=GL-planet (GL)
+Name[pl]=Planeta GL (GL)
+Name[pt]=Planeta (GL)
+Name[pt_BR]=Planeta GL (GL)
+Name[ru]=Планета (GL)
+Name[sk]=GL Planéta (GL)
+Name[sl]=Planet GL
+Name[sr]=GL планета (GL)
+Name[sr@Latn]=GL planeta (GL)
+Name[sv]=GL-planeten (GL)
+Name[ta]=GL கோள் (GL)
+Name[tg]=Сайёраи (GL)
+Name[th]=ลูกโลก (GL)
+Name[tr]=GL Gezegen (GL)
+Name[uk]=Планета (GL)
+Name[ven]=Pulanete ya GL (GL)
+Name[vi]=Hành tinh GL
+Name[xh]=Umzimba Osesibhakabhakeni Ojikeleza Ilanga (GL)
+Name[zh_CN]=GL行星(GL)
+Name[zh_TW]=行星 (GL)
+Name[zu]=Umzimba osesibhakabhakeni ojikeleza ilanga (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig glplanet
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun glplanet -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glplanet -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glschool.desktop b/kscreensaver/kxsconfig/ScreenSavers/glschool.desktop
new file mode 100644
index 00000000..28accbc6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glschool.desktop
@@ -0,0 +1,205 @@
+[Desktop Entry]
+Exec=glschool
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=glschool
+Name[ca]=GL escola
+Name[de]=GL-Schule
+Name[es]=Escuela GL
+Name[et]=GLKool
+Name[fr]=Banc (GL)
+Name[it]=Scuola (GL)
+Name[nds]=GLSchool
+Name[ru]=Рыбки
+Name[sr]=GL јато
+Name[sr@Latn]=GL jato
+Name[sv]=Stim GL
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig glschool
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glschool -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glschool -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glslideshow.desktop b/kscreensaver/kxsconfig/ScreenSavers/glslideshow.desktop
new file mode 100644
index 00000000..81786c47
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glslideshow.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=glslideshow
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLSlideshow
+Name[ca]=GL diapositives
+Name[cy]=Sioe Tryloywder GL
+Name[de]=GL-Dia-Schau
+Name[el]=Προβολή σλάιντς GL
+Name[eo]=GLLumbildoj
+Name[es]=Presentación GL
+Name[et]=GL Slaidiseanss
+Name[eu]=GLDiapositibaErakusketa
+Name[fr]=Diaporama (GL)
+Name[fy]=GL-diafoarstelling
+Name[gl]=Apresentación GL
+Name[he]=מצגת שקופיות GL
+Name[hi]=जीएल-झलक तमाशा
+Name[hu]=Diavetítés (OpenGL)
+Name[is]=GL-skyggnusýning
+Name[it]=Immagini in sequenza (GL)
+Name[ja]=GL スライドショー
+Name[ka]=სლაიდების ჩვენება (GL)
+Name[mk]=GL слајд-шоу
+Name[nb]=GL Lysbildeshow
+Name[nds]=GL-Diaschau
+Name[ne]=GL स्लाइड शो
+Name[nl]=GL-diavoorstelling
+Name[nn]=GL-biletframvising
+Name[pl]=Pokaz slajdów GL
+Name[pt]=Apresentação (GL)
+Name[pt_BR]=Show de slides GL
+Name[ru]=Слайд-шоу (GL)
+Name[sl]=Diapozitivi GL
+Name[sr]=GL слајд шоу
+Name[sr@Latn]=GL slajd šou
+Name[sv]=Bildspel GL
+Name[ta]=GLஸ்லைட்காட்சி
+Name[tg]=Намоиши слайди (GL)
+Name[uk]=Слайди (GL)
+Name[vi]=Lướt trình GL
+Name[zh_CN]=GL幻灯
+Name[zh_TW]=幻燈片放映
+
+[Desktop Action Setup]
+Exec=kxsconfig glslideshow
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glslideshow -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glslideshow -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/glsnake.desktop b/kscreensaver/kxsconfig/ScreenSavers/glsnake.desktop
new file mode 100644
index 00000000..a86528de
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/glsnake.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=glsnake
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLSnake
+Name[ca]=GL serp
+Name[cy]=NeidrGL
+Name[de]=Schlange
+Name[el]=GL Φίδι
+Name[es]=Serpiente GL
+Name[et]=GL Madu
+Name[eu]=GLSugea
+Name[fi]=GLKäärme
+Name[fr]=Serpent (GL)
+Name[fy]=GLSlange
+Name[gl]=Serpente GL
+Name[he]=נחש (GL)
+Name[hi]=जीएल-सांप
+Name[hu]=Kígyó (OpenGL)
+Name[is]=GL-snákur
+Name[it]=Serpente (GL)
+Name[ja]=GL スネーク
+Name[ka]=გველი (GL)
+Name[mk]=GL-змија
+Name[mt]=GLSerp
+Name[nb]=GL-orm
+Name[nds]=GLSnaak
+Name[ne]=GL स्नेक
+Name[nn]=GL-orm
+Name[pt]=Cobra (GL)
+Name[pt_BR]=CobraGL
+Name[ru]=Змея (GL)
+Name[sl]=Kača GL
+Name[sr]=GL змија
+Name[sr@Latn]=GL zmija
+Name[sv]=GL-orm
+Name[ta]=GLபாம்பு
+Name[tg]=Мор (GL)
+Name[th]=งู (GL)
+Name[tr]=Yılan
+Name[uk]=Змія (GL)
+Name[ven]=GLnowa
+Name[vi]=Rắn GL
+Name[zh_CN]=GL蛇
+Name[zh_TW]=蛇
+
+[Desktop Action Setup]
+Exec=kxsconfig glsnake
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun glsnake -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun glsnake -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/gltext.desktop b/kscreensaver/kxsconfig/ScreenSavers/gltext.desktop
new file mode 100644
index 00000000..8b86be3f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/gltext.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=gltext
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=GLText
+Name[ca]=GL text
+Name[cy]=TestunGL
+Name[da]=GLTekst
+Name[de]=Text
+Name[el]=GL Κείμενο
+Name[es]=Texto GL
+Name[et]=GL Tekst
+Name[eu]=GLTestua
+Name[fi]=GLTeksti
+Name[fo]=Tekstur
+Name[fr]=Texte (GL)
+Name[fy]=GLTekst
+Name[gl]=Texto GL
+Name[he]=טקסט מסתובב (GL)
+Name[hi]=जीएल-इबारत
+Name[hu]=Szöveges (OpenGL)
+Name[is]=GL-texti
+Name[it]=Testo (GL)
+Name[ja]=GL テキスト
+Name[ka]=წარწერა (GL)
+Name[mk]=GL-текст
+Name[mt]=GLTest
+Name[nb]=GL-tekst
+Name[ne]=GL पाठ
+Name[nn]=GL-tekst
+Name[pt]=Texto (GL)
+Name[pt_BR]=Texto GL
+Name[ru]=Надпись (GL)
+Name[sl]=Besedilo GL
+Name[sr]=GL текст
+Name[sr@Latn]=GL tekst
+Name[sv]=GL-text
+Name[ta]=GLஉரை
+Name[tg]=Навиштаҷот (GL)
+Name[th]=ข้อความ (GL)
+Name[uk]=Текст (GL)
+Name[ven]=GLManwalwa
+Name[vi]=Văn bản GL
+Name[zh_CN]=GL文字
+Name[zh_TW]=文字
+
+[Desktop Action Setup]
+Exec=kxsconfig gltext
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun gltext -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun gltext -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/goop.desktop b/kscreensaver/kxsconfig/ScreenSavers/goop.desktop
new file mode 100644
index 00000000..6d57ab5f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/goop.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=goop
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=Goop
+Name[bg]=Глупи
+Name[cy]=Llaid
+Name[de]=Kleckse
+Name[et]=Plekk
+Name[fr]=Pétales
+Name[he]=בועות בשמן
+Name[hi]=गूप
+Name[it]=Macchie
+Name[ja]=グープ
+Name[ka]=მედუზები
+Name[lv]=Nekauņa
+Name[mk]=Недоветно
+Name[nb]=Guffe
+Name[nds]=Amöben
+Name[ne]=गूप
+Name[ru]=Медузы
+Name[sl]=Gup
+Name[sr]=Гуп
+Name[sr@Latn]=Gup
+Name[sv]=Idiot
+Name[ta]=கோந்து
+Name[tg]=Медузаҳо
+Name[uk]=Екстаз
+Name[zh_CN]=蠕动胶体
+
+[Desktop Action Setup]
+Exec=kxsconfig goop
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun goop -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun goop -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/grav.desktop b/kscreensaver/kxsconfig/ScreenSavers/grav.desktop
new file mode 100644
index 00000000..5fad6859
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/grav.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=grav
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Gadgets & Simulations
+Name=Gravity
+Name[af]=Gravitasie
+Name[bg]=Гравитация
+Name[br]=Dedennerezh
+Name[ca]=Gravetat
+Name[cs]=Gravitace
+Name[cy]=Disgyrchiant
+Name[da]=Tyngdekraft
+Name[de]=Schwerkraft
+Name[el]=Βαρύτητα
+Name[eo]=Gravito
+Name[es]=Gravedad
+Name[et]=Raskusjõud
+Name[eu]=Grabitatea
+Name[fa]=جاذبه
+Name[fi]=Gravitaatio
+Name[fo]=Tyngd
+Name[fr]=Gravité
+Name[fy]=Swiertekrêft
+Name[gl]=Gravidade
+Name[he]=גרביטציה
+Name[hi]=गुरुत्व
+Name[hu]=Gravitáció
+Name[is]=Þyngdarafl
+Name[it]=Gravità
+Name[ja]=重力
+Name[ka]=მიზიდულობა
+Name[lt]=Trauka
+Name[lv]=Gravitācija
+Name[mk]=Гравитација
+Name[ms]=Graviti
+Name[mt]=Gravità
+Name[nb]=Gravitation
+Name[nds]=Swoorkraft
+Name[ne]=गुरुत्वाकर्षण
+Name[nn]=Tyngdekraft
+Name[pl]=Grawitacja
+Name[pt]=Gravidade
+Name[pt_BR]=Gravidade
+Name[ro]=Gravitaţie
+Name[ru]=Гравитация
+Name[sk]=Gravitácia
+Name[sl]=Gravitacija
+Name[sr]=Гравитација
+Name[sr@Latn]=Gravitacija
+Name[sv]=Gravitation
+Name[ta]=புவியிர்ப்பு
+Name[tg]=Ҷозиба
+Name[th]=แรงโน้มถ่วง
+Name[tr]=Yerçekimi
+Name[uk]=Гравітація
+Name[ven]=Fhasi Mavuni
+Name[vi]=Trọng trường
+Name[xh]=Umoya otsala izinto kumbindi womhlaba
+Name[zh_CN]=引力
+Name[zh_TW]=重力
+Name[zu]=Umoya oshaya izinto ekujuleni komhlaba
+
+[Desktop Action Setup]
+Exec=kxsconfig grav
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun grav -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun grav -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/greynetic.desktop b/kscreensaver/kxsconfig/ScreenSavers/greynetic.desktop
new file mode 100644
index 00000000..173349d6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/greynetic.desktop
@@ -0,0 +1,227 @@
+[Desktop Entry]
+Exec=greynetic
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=graynetic
+Name[bg]=Наслагващи се правоъгълници
+Name[ca]=Grisnètic
+Name[cy]=llwydnetig
+Name[de]=Zufällige Rechtecke
+Name[en_GB]=greynetic
+Name[es]=Grisnetico
+Name[et]=Hallimeelsus
+Name[fr]=Mondrian
+Name[he]=מלבנים מנוקדים
+Name[hi]=ग्रेनेटिक
+Name[hu]=Graynetic
+Name[it]=Graynetic
+Name[ja]=グレーネティック
+Name[ka]=მართკუთხედები
+Name[mk]=Обоени правоаголници
+Name[ms]=graynetik
+Name[nb]=Grånetisk
+Name[nds]=Grieseneetsch
+Name[ne]=ग्रेनेटिक
+Name[nn]=Grått
+Name[pl]=Greynetic
+Name[pt]=Cinzento
+Name[pt_BR]=Graynetic
+Name[ro]=Graynetic
+Name[ru]=Расплодившиеся прямоугольники
+Name[sl]=Graynetic
+Name[sr]=Сивотичко
+Name[sr@Latn]=Sivotičko
+Name[sv]=Gråhet
+Name[ta]=சாம்பல்நிறமாக
+Name[tg]=Росткунҷаҳои афзоишшаванда
+Name[uk]=Прямокутники
+Name[zh_CN]=灰色情怀
+
+[Desktop Action Setup]
+Exec=kxsconfig greynetic
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun greynetic -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun greynetic -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/halftone.desktop b/kscreensaver/kxsconfig/ScreenSavers/halftone.desktop
new file mode 100644
index 00000000..2de2d197
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/halftone.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=halftone
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Visit to Flatland
+Name=Halftone
+Name[bg]=Полутон
+Name[ca]=Mig To
+Name[cy]=Hannerdôn
+Name[de]=Halbton-Rasterung
+Name[eo]=Duontono
+Name[es]=Semitono
+Name[et]=Pooltoon
+Name[eu]=Erdi-tonua
+Name[fa]=نیم تن
+Name[fr]=Demi-teinte
+Name[fy]=Healtoan
+Name[gl]=Semitono
+Name[he]=חצאי גוונים
+Name[hi]=हाफटोन
+Name[hu]=Félárnyékos
+Name[is]=Hálftóna
+Name[it]=Mezzi toni
+Name[ja]=ハーフトーン
+Name[ka]=ნახევარტონები
+Name[mk]=Полутон
+Name[ms]=Nada Separuh
+Name[nb]=Halvtone
+Name[nds]=Halftoon
+Name[ne]=हाल्फटोन
+Name[nl]=Halftoon
+Name[nn]=Halvtone
+Name[pl]=Półtony
+Name[pt]=Meio tom
+Name[pt_BR]=Meio tom
+Name[ru]=Полутона
+Name[sl]=Polton
+Name[sr]=Полутон
+Name[sr@Latn]=Poluton
+Name[sv]=Halvton
+Name[ta]=அரைமை
+Name[tg]=Нимпарда
+Name[tr]=Yarıton
+Name[uk]=Півтони
+Name[vi]=Đen trắng
+Name[zh_CN]=网板
+Name[zh_TW]=半透明
+
+[Desktop Action Setup]
+Exec=kxsconfig halftone
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun halftone -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun halftone -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/halo.desktop b/kscreensaver/kxsconfig/ScreenSavers/halo.desktop
new file mode 100644
index 00000000..47a51e40
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/halo.desktop
@@ -0,0 +1,214 @@
+[Desktop Entry]
+Exec=halo
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Halo
+Name[cy]=Corongylch
+Name[el]=Άλως
+Name[fa]=هاله
+Name[he]=מעגלים פסיכדליים
+Name[hi]=प्रभामण्डल
+Name[it]=Alone
+Name[ja]=ハロ
+Name[ka]=ჰალო
+Name[mk]=Ореол
+Name[ms]=Cahaya Suci
+Name[nb]=Glorie
+Name[nds]=Lichthoff
+Name[ne]=तेजमण्डल
+Name[ro]=Halou
+Name[ru]=Сияние
+Name[sr]=Хало
+Name[ta]=ஒளிவட்டம்
+Name[tg]=Дурахш
+Name[uk]=Сяйво
+Name[vi]=Vầng sáng
+Name[zh_CN]=晕轮
+
+[Desktop Action Setup]
+Exec=kxsconfig halo
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun halo -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun halo -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/helix.desktop b/kscreensaver/kxsconfig/ScreenSavers/helix.desktop
new file mode 100644
index 00000000..df14d461
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/helix.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=helix
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Helix
+Name[br]=Helis
+Name[ca]=Hèlice
+Name[cy]=Helics
+Name[el]=Έλικα
+Name[es]=Hélice
+Name[et]=Heeliks
+Name[eu]=Helizea
+Name[fa]=مارپیچ
+Name[fi]=Heliksi
+Name[fr]=Hélice
+Name[fy]=Heliks
+Name[gl]=Hélice
+Name[he]=חוטים
+Name[hi]=हेलिक्स
+Name[it]=Elica
+Name[ja]=ヘリックス
+Name[ka]=ჰელიქსი
+Name[mk]=Хеликс
+Name[ms]=Heliks
+Name[mt]=Eliċi
+Name[nds]=Spiraal
+Name[ne]=हेलिक्स
+Name[pa]=ਹੀਲਿਕਸ
+Name[pt]=Hélice
+Name[ru]=Завиток
+Name[sl]=Heliks
+Name[sr]=Хеликс
+Name[sr@Latn]=Heliks
+Name[ta]=பின்னல்
+Name[tg]=Каҷак
+Name[th]=เฮลิกซ์
+Name[uk]=Завиток
+Name[vi]=Cuốn vòng
+Name[xh]=Ejijekile
+Name[zh_CN]=螺旋
+Name[zh_TW]=螺旋
+
+[Desktop Action Setup]
+Exec=kxsconfig helix
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun helix -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun helix -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/hopalong.desktop b/kscreensaver/kxsconfig/ScreenSavers/hopalong.desktop
new file mode 100644
index 00000000..ebf62cac
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/hopalong.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=hopalong
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Hopalong
+Name[af]=Huppelkind
+Name[br]=Lammedikaat
+Name[cy]=Sboncio
+Name[et]=Hüppa kaasa
+Name[he]=תחרה
+Name[hi]=हॉपएलान्ग
+Name[hu]=Ugrabugra
+Name[ka]=ასკინკილა
+Name[mk]=Фрактална чипка
+Name[ne]=होपालङ
+Name[nn]=Hoppalong
+Name[ro]=Şotron
+Name[ru]=Прыжки на одной ноге
+Name[sl]=Skakač
+Name[sr]=Скочи за мном
+Name[sr@Latn]=Skoči za mnom
+Name[ta]=நொண்டிக்கொண்டு
+Name[tg]=Ҷағидан бо як по
+Name[uk]=Стрибки разом
+Name[vi]=Ô lò cò
+Name[xh]=Umgama womaya ngapha kwenqanaba elinye
+Name[zh_CN]=分形花边
+Name[zu]=Gibela nganxanye
+
+[Desktop Action Setup]
+Exec=kxsconfig hopalong
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun hopalong -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun hopalong -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/hyperball.desktop b/kscreensaver/kxsconfig/ScreenSavers/hyperball.desktop
new file mode 100644
index 00000000..32cbb4a0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/hyperball.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=hyperball
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Hyperball
+Name[ca]=Hiper-pilota
+Name[cy]=Gorbêl
+Name[el]=Υπερμπάλα
+Name[es]=Hiper-bola
+Name[et]=Hüperpall
+Name[eu]=Hiperpilota
+Name[fa]=گوی بزرگ
+Name[fi]=Hyperpallo
+Name[fo]=Hyperbóltur
+Name[fr]=Hyper boule
+Name[gl]=Hiperbola
+Name[he]=היפר־כדור
+Name[hi]=अति गेंद
+Name[hu]=Hipergömb
+Name[it]=Iperpalla
+Name[ja]=ハイパーボール
+Name[ka]=ჰიპერსფერო
+Name[mk]=Хипертопка
+Name[ms]=Hiperbola
+Name[mt]=Ipersfera
+Name[nds]=Överball
+Name[ne]=हाईपरबल
+Name[pl]=Hiperkula
+Name[pt]=Hiper-bola
+Name[pt_BR]=Hiperbola
+Name[ro]=Hipersferă
+Name[ru]=Гипершар
+Name[sl]=Hiperžoga
+Name[sr]=Хиперлопта
+Name[sr@Latn]=Hiperlopta
+Name[sv]=Hyperboll
+Name[ta]=அதிபந்து
+Name[tg]=Гиперкура
+Name[tr]=Hipertop
+Name[uk]=Гіперм'яч
+Name[ven]=Bolakhulwane
+Name[vi]=Bóng đa chiều
+Name[xh]=Ibhola ephezulu
+Name[zh_CN]=超线球
+Name[zu]=Ibhokisi elikhulu kakhulu
+
+[Desktop Action Setup]
+Exec=kxsconfig hyperball
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun hyperball -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun hyperball -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/hypercube.desktop b/kscreensaver/kxsconfig/ScreenSavers/hypercube.desktop
new file mode 100644
index 00000000..d385e06a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/hypercube.desktop
@@ -0,0 +1,245 @@
+[Desktop Entry]
+Exec=hypercube
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Hypercube
+Name[af]=Hiperkubus
+Name[br]=Gourdiñs
+Name[ca]=Hiper-cub
+Name[cs]=Hyperkrychle
+Name[cy]=Gorgiwb
+Name[da]=Hyperkubus
+Name[de]=Hyperwürfel
+Name[el]=Υπερκύβος
+Name[eo]=Hiperkubo
+Name[es]=Hipercubo
+Name[et]=Hüperkuup
+Name[eu]=Hiperkuboa
+Name[fa]=مکعب بزرگ
+Name[fi]=Hyperkuutio
+Name[fo]=Hyperterningur
+Name[fy]=Hyperkubus
+Name[gl]=Hipercubo
+Name[he]=היפר־קובייה
+Name[hi]=अति-घन
+Name[hu]=Hiperkocka
+Name[it]=Ipercubo
+Name[ja]=ハイパーキューブ
+Name[ka]=ჰიპერკუბი
+Name[lt]=Hiperkubas
+Name[lv]=Hiperkubs
+Name[mk]=Хиперкоцка
+Name[ms]=Hiperkiub
+Name[mt]=Iperkubu
+Name[nb]=Hyperkube
+Name[nds]=Överwörpel
+Name[ne]=हाईपरक्यूब
+Name[nn]=Hyperkube
+Name[pl]=Hipersześcian
+Name[pt]=Hiper-cubo
+Name[pt_BR]=Hipercubo
+Name[ro]=Hipercub
+Name[ru]=Гиперкуб
+Name[sk]=Hyperkocka
+Name[sl]=Hiperkocka
+Name[sr]=Хиперкоцка
+Name[sr@Latn]=Hiperkocka
+Name[sv]=Hyperkub
+Name[ta]=அதிபட்டகம்
+Name[tg]=Гиперкуб
+Name[th]=กล่องไฮเปอร์
+Name[tr]=Hiperküp
+Name[uk]=Гіперкуб
+Name[vi]=Lập phương đa chiều
+Name[xh]=Umbhobho ongaphezulu
+Name[zh_CN]=超立方体
+Name[zh_TW]=超立方體
+Name[zu]=Iqhuzu elikhulukazi
+
+[Desktop Action Setup]
+Exec=kxsconfig hypercube
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun hypercube -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun hypercube -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/hypertorus.desktop b/kscreensaver/kxsconfig/ScreenSavers/hypertorus.desktop
new file mode 100644
index 00000000..0d50117c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/hypertorus.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=hypertorus
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=4D Hypertorus
+Name[ca]=4D Hipertor
+Name[cy]=Gordorws 4D
+Name[de]=Hypertorus (vierdimensional)
+Name[el]=4D Υπερτόρος
+Name[eo]=4D Hipertoro
+Name[es]=Hipertoro 4D
+Name[et]=4D hüpersfäär
+Name[eu]=4D Hipertorua
+Name[fr]=Tore 4D
+Name[gl]=Hipertoro 4D
+Name[he]=היפר־קובייה
+Name[hi]=चतुर्यामी वलय
+Name[hu]=Hipertórusz 4D
+Name[it]=Ipertoro 4D
+Name[ja]=4D ハイパートーラス
+Name[ka]=ჰიპერტორი
+Name[mk]=4Д-хиперторус
+Name[ms]=Hipertorus 4D
+Name[nds]=4D-Överring
+Name[ne]=चौ-आयामिक हाइपरटरस
+Name[nn]=4D-hypertorus
+Name[pl]=Czterowymiarowy hipertorus
+Name[pt]=Hipertoro 4D
+Name[ro]=Hipertor 4D
+Name[ru]=Гипертор
+Name[sl]=4D hipertorus
+Name[sr]=4Д хиперпрстен
+Name[sr@Latn]=4D hiperprsten
+Name[sv]=Hypertorus 4D
+Name[tg]=Гипертор
+Name[tr]=4D Hipertorus
+Name[uk]=Гіпертор 4D
+Name[vi]=Bánh vòng 4 chiều
+Name[zh_CN]=4D 超环面
+Name[zh_TW]=4D 超立方體
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig hypertorus
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun hypertorus -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun hypertorus -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/ifs.desktop b/kscreensaver/kxsconfig/ScreenSavers/ifs.desktop
new file mode 100644
index 00000000..88ba5062
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/ifs.desktop
@@ -0,0 +1,246 @@
+[Desktop Entry]
+Exec=ifs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Action=InWindow;Root;Setup
+X-KDE-Category=Fractals
+Name=Iterated-function-system Images
+Name[af]=Iterasie-funksie-sisteem Beelde
+Name[br]=Skeudennoù arch'weloù-reizhiad-arredet
+Name[ca]=Imatges de sistemes de funcions iterades
+Name[cs]=IFS obrázky
+Name[cy]=Delweddau Cysawd-ffwythiant-adrifo
+Name[da]='Itereret funktionssystem'-billeder
+Name[de]=IFS
+Name[el]=Εικόνες συστήματος-επαναλαμβανόμενης-λειτουργίας
+Name[eo]=Bildoj de ripetitaj sistemfunkcioj
+Name[es]=Imágenes de sistemas de funciones iteradas
+Name[et]=Iteratiiv-funktsiooni-süsteemi kujutised
+Name[eu]=Funtzio-sistema iteratuen irudiak
+Name[fa]=تصاویر عملکرد تکراری سیستم
+Name[fi]=Iteroidut funktiosysteemikuvat
+Name[fr]=Images de fonctions itératives du système
+Name[fy]=Werhel-funksje systeem ôfbylden
+Name[ga]=Íomhánna Iterated-function-system
+Name[gl]=Imaxes de sistemas de funcións iteradas
+Name[he]=מערכת פונקציות איטרטיבית
+Name[hi]=तंत्र छवि श्रृंखला
+Name[hu]=Iterált függvények képei
+Name[it]=Immagini IFS
+Name[ja]=反復関数システム画像
+Name[ka]=ფრაქტალური ნახატები
+Name[lt]=Iterated-function-system paveikslai
+Name[lv]=Atkārtoto-funkciju-sistēmas Attēli
+Name[ms]=Imej Sistem Fungsi Terlelar
+Name[mt]=Disinni Iterated-function-system
+Name[nb]=Bilder av iterert funksjonssystem
+Name[nds]=IFS-Biller
+Name[ne]=दोहोरिएको-प्रकार्य-प्रणाली छवि
+Name[nl]=Herhaal-functie systeem afbeeldingen
+Name[nn]=Iterertfunksjonsystem-bilete
+Name[pl]=Obrazki z Systemu Odwzorowań Zwężających
+Name[pt]=Imagens IFS
+Name[pt_BR]=Imagens de sistema iterativo de funções
+Name[ro]=Imagini sistem de funcţii iterate
+Name[ru]=Пляски фракталов
+Name[sk]=Opakovanie-funkcia-systém obrázky
+Name[sl]=Slike, narejene s sistemom iteracije funkcij
+Name[sr]=Слике система итерационих фукција
+Name[sr@Latn]=Slike sistema iteracionih fukcija
+Name[sv]=Bilder av itererade funktionssystem
+Name[ta]=திரும்ப செய்யப்பட்ட-செயல்பாடு-தள வடிவங்கள்
+Name[tg]=Рақси фракталҳо
+Name[tr]=Yinelenen Fonksiyon Sistemi Görüntüleri
+Name[uk]=Танці фракталів
+Name[ven]=Zwifanyiso zwa Mashumisele a itharethede
+Name[vi]=Hình của hệ hàm quy nạp
+Name[xh]=Iphindiwe-umsebenzi-Imifanekiso esetyenziswayo
+Name[zh_CN]=迭代函数系统图形
+Name[zh_TW]=迭代函數系統圖形
+Name[zu]=Iphindiwe-umsebenzi-Imifanekiso esisetshenziswayo
+
+[Desktop Action Setup]
+Exec=kxsconfig ifs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun ifs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun ifs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/imsmap.desktop b/kscreensaver/kxsconfig/ScreenSavers/imsmap.desktop
new file mode 100644
index 00000000..7a9cd712
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/imsmap.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=imsmap
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Action=InWindow;Root;Setup
+X-KDE-Category=Fractals
+Name=Fractal Maps
+Name[af]=Fraktale Kaarte
+Name[bg]=Фрактални карти
+Name[br]=Kartennoù fraktal
+Name[bs]=Fraktalne mape
+Name[ca]=Mapes fractals
+Name[cs]=Fraktální mapy
+Name[cy]=Mapiau Ffractaidd
+Name[da]=Fraktalgenerator
+Name[de]=Fraktalkarten
+Name[el]=Χάρτες fractal
+Name[eo]=Fraktalmapoj
+Name[es]=Mapas fractales
+Name[et]=Fraktaalkaardid
+Name[eu]=Mapa fraktalak
+Name[fa]=نگاشتهای فراکتال
+Name[fi]=Fraktaalikartat
+Name[fo]=Fraktalir
+Name[fr]=Cartes fractales
+Name[fy]=Fractal-kaarten
+Name[ga]=Mapaí Frachtail
+Name[gl]=Mapas fractais
+Name[he]=מפות פרקטלים
+Name[hi]=फ्ऱैक्टल नक्शे
+Name[hu]=Fraktáltérképek
+Name[is]=Fractal kort
+Name[it]=Mappe frattali
+Name[ja]=フラクタルマップ
+Name[ka]=ფრაქტალური რუკები
+Name[lt]=Fraktalo kompozicijos
+Name[lv]=Fraktālās Kartes
+Name[mk]=Фрактални мапи
+Name[ms]=Peta Fraktal
+Name[mt]=Mapep Frattali
+Name[nb]=Fraktalkart
+Name[nds]=IMS-Koort
+Name[ne]=आंशिक मानचित्र
+Name[nl]=Fractal kaarten
+Name[nn]=Fraktalkart
+Name[pl]=Mapy fraktalne
+Name[pt]=Mapas Fractais
+Name[pt_BR]=Mapas fractais
+Name[ro]=Hărţi de fractali
+Name[ru]=Карты фракталов
+Name[sk]=Generátor fraktálov
+Name[sl]=Fraktalni zemljevidi
+Name[sr]=Фракталне мапе
+Name[sr@Latn]=Fraktalne mape
+Name[sv]=Fraktalkartor
+Name[tg]=Қартаи фракталҳо
+Name[th]=แผนที่แฟรคทัล
+Name[tr]=Fraktal Haritalar
+Name[uk]=Карти фракталів
+Name[ven]=Tsumbamashango isi ya vhudi
+Name[vi]=Bản đồ Phân dạng
+Name[xh]=Iimaphu Ezahlukaneyo
+Name[zh_CN]=分形地图
+Name[zh_TW]=碎形圖
+Name[zu]=Amamephu a Fractal
+
+[Desktop Action Setup]
+Exec=kxsconfig imsmap
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun imsmap -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun imsmap -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/interaggregate.desktop b/kscreensaver/kxsconfig/ScreenSavers/interaggregate.desktop
new file mode 100644
index 00000000..64cc2925
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/interaggregate.desktop
@@ -0,0 +1,220 @@
+[Desktop Entry]
+Exec=interaggregate
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Interaggregate
+Name[bg]=Скреж
+Name[ca]=Inter-agregat
+Name[eo]=Interagregato
+Name[es]=Interagregado
+Name[fa]=اختلال
+Name[fr]=Inter-agrégation
+Name[fy]=Beweegjende sirkels
+Name[gl]=Interagregado
+Name[hu]=Interaggregát
+Name[is]=Samanlagt
+Name[it]=Interaggregati
+Name[ja]=インターアグリゲート
+Name[ka]=ინტერაგრეგაცია
+Name[mk]=Интерагрегат
+Name[nds]=Aggregaat
+Name[ne]=अन्तरसमूह
+Name[nl]=Bewegende cirkels
+Name[pt]=Inter-agregação
+Name[pt_BR]=Interação
+Name[ru]=Пересечения
+Name[sl]=Interagregacija
+Name[sr]=Испитивање
+Name[sr@Latn]=Ispitivanje
+Name[sv]=Sammanhopning
+Name[tr]=Çakıllar Arasında
+Name[uk]=Міжагрегація
+Name[vi]=Kết dính
+TryExec=xscreensaver
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig interaggregate
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun interaggregate -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun interaggregate -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/interference.desktop b/kscreensaver/kxsconfig/ScreenSavers/interference.desktop
new file mode 100644
index 00000000..979ac115
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/interference.desktop
@@ -0,0 +1,249 @@
+[Desktop Entry]
+Exec=interference
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Visit to Flatland
+Name=Interference
+Name[af]=Interverensie
+Name[bg]=Интерференция
+Name[br]=Diarbennadur
+Name[ca]=Interferència
+Name[cs]=Průnik
+Name[cy]=Ymyrraeth
+Name[da]=Interferens
+Name[de]=Interferenz
+Name[el]=Παρεμβολή
+Name[eo]=Interfero
+Name[es]=Interferencia
+Name[et]=Kokkupõrge
+Name[eu]=Interferentzia
+Name[fa]=اختلال
+Name[fi]=Interferenssi
+Name[fr]=Interférence
+Name[fy]=Fersteuring
+Name[gl]=Interferéncia
+Name[he]=הפרעות
+Name[hi]=दख़लन्दाज़ी
+Name[hu]=Interferencia
+Name[is]=Truflanir
+Name[it]=Interferenza
+Name[ja]=インターフェレンス
+Name[ka]=გადაფარვა
+Name[lt]=Interferencija
+Name[mk]=Интерференција
+Name[ms]=Gangguan
+Name[mt]=Interferenza
+Name[nb]=Forstyrrelser
+Name[nds]=Interferenz
+Name[ne]=हस्तक्षेप
+Name[nl]=Verstoring
+Name[nn]=Interferens
+Name[pl]=Interferencja
+Name[pt]=Interferência
+Name[pt_BR]=Interferência
+Name[ro]=Interferenţă
+Name[ru]=Интерференция
+Name[sk]=Interferencie
+Name[sl]=Interferenca
+Name[sr]=Интерференција
+Name[sr@Latn]=Interferencija
+Name[sv]=Störning
+Name[ta]=தலையீடல்
+Name[tg]=Интерференция
+Name[th]=ความยุ่งเหยิง
+Name[tr]=Müdahale
+Name[uk]=Інтерференція
+Name[ven]=U dzhena hanwani
+Name[vi]=Giao thoa
+Name[xh]=Isiphazamiso
+Name[zh_CN]=干涉
+Name[zh_TW]=干涉
+Name[zu]=Isiphazamiso
+
+[Desktop Action Setup]
+Exec=kxsconfig interference
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun interference -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun interference -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/intermomentary.desktop b/kscreensaver/kxsconfig/ScreenSavers/intermomentary.desktop
new file mode 100644
index 00000000..e0a50cb9
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/intermomentary.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=intermomentary
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Intermomentary
+Name[ca]=Intermomentani
+Name[de]=Zwischenaugenblicklich
+Name[el]=Ανάμεσα στις στιγμές
+Name[eo]=Intermomenta
+Name[es]=Intermomentáneo
+Name[eu]=Momentuartekoa
+Name[fa]=میان لحظه‌ای
+Name[fr]=Inter-momentané
+Name[ja]=インターモーメンタリ
+Name[ka]=მოკლევადიანი კავშირები
+Name[mk]=Во меѓувреме
+Name[ms]=Antara Detik
+Name[nds]=Twischenmomang
+Name[ne]=सम्झनायुक्त
+Name[pt]=Inter-momentâneo
+Name[ru]=Кратковременные связи
+Name[sl]=Intermomentarnost
+Name[sr]=Међутренутачни
+Name[sr@Latn]=Međutrenutačni
+Name[sv]=Intermomentant
+Name[ta]=தலையீடல்
+Name[tr]=Anlık
+Name[uk]=Тимчасові зв'язки
+Name[vi]=Xoay vòng
+TryExec=xscreensaver
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig intermomentary
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun intermomentary -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun intermomentary -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/jigglypuff.desktop b/kscreensaver/kxsconfig/ScreenSavers/jigglypuff.desktop
new file mode 100644
index 00000000..edda811d
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/jigglypuff.desktop
@@ -0,0 +1,215 @@
+[Desktop Entry]
+Exec=jigglypuff
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=JigglyPuff
+Name[ca]=Vent Ondulat
+Name[cy]=PwffJiglo
+Name[de]=Wackelnde Windbeutel
+Name[eu]=Pilota jauzkaria
+Name[fr]=Boule bouillonnante
+Name[he]=להטוטן
+Name[hi]=घूम फुग्गा
+Name[hu]=Piff-puff
+Name[is]=Jigglí púff
+Name[ja]=ジャグルパフ
+Name[ka]=ნიავი
+Name[mk]=Треперлив балон
+Name[nds]=Püüsterbüdel
+Name[ne]=जिग्लीपफ
+Name[ru]=Пуфик
+Name[sl]=Skakajoč izdih
+Name[sr]=Џиги пуфна
+Name[sr@Latn]=Džigi pufna
+Name[sv]=Vinglig puff
+Name[tg]=Пуфикҳо
+Name[uk]=Пуфик
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig jigglypuff
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun jigglypuff -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun jigglypuff -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/jigsaw.desktop b/kscreensaver/kxsconfig/ScreenSavers/jigsaw.desktop
new file mode 100644
index 00000000..15ab65d1
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/jigsaw.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=jigsaw
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Jigsaw
+Name[bg]=Пъзел
+Name[ca]=Trencaclosques
+Name[cy]=Jig-sô
+Name[da]=Puslespil
+Name[de]=Puzzle
+Name[es]=Rompecabezas
+Name[et]=Pusle
+Name[eu]=Puzzlea
+Name[fa]=پازل
+Name[fi]=Palapeli
+Name[fo]=Puslispæl
+Name[fr]=Puzzle
+Name[fy]=Puzel
+Name[gl]=Crebacabezas
+Name[he]=פאזל
+Name[hi]=चौखट-आरी
+Name[hu]=Puzzle
+Name[is]=Púsluspil
+Name[it]=Mosaico
+Name[ja]=ジグゾー
+Name[ka]=მოზაიკა
+Name[mk]=Сложувалка
+Name[nb]=Puslespill
+Name[nds]=Loofsaag
+Name[ne]=जिगस
+Name[nl]=Puzzel
+Name[nn]=Puslespel
+Name[pl]=Układanka
+Name[ru]=Паззл
+Name[sl]=Sestavljanka
+Name[sr]=Загонетка
+Name[sr@Latn]=Zagonetka
+Name[sv]=Pussel
+Name[ta]=குழப்ப
+Name[tg]=Кошинкорӣ
+Name[th]=จิ๊กซอว์
+Name[uk]=Мозаїка
+Name[vi]=Răng cưa
+Name[xh]=Isarha
+Name[zh_CN]=拼图
+Name[zh_TW]=拼圖
+
+[Desktop Action Setup]
+Exec=kxsconfig jigsaw
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun jigsaw -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun jigsaw -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/juggle.desktop b/kscreensaver/kxsconfig/ScreenSavers/juggle.desktop
new file mode 100644
index 00000000..fd960635
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/juggle.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=juggle
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Miscellaneous
+Name=Juggle
+Name[bg]=Жонгльор
+Name[ca]=Joc de mans
+Name[cs]=Žonglování
+Name[cy]=Jyglo
+Name[da]=Kunster
+Name[de]=Jonglieren
+Name[el]=Ταχυδακτυλουργία
+Name[es]=Juegos de manos
+Name[et]=Žonglöör
+Name[eu]=Esku jokoa
+Name[fa]=تردستی
+Name[fr]=Jonglage
+Name[fy]=Jonglearje
+Name[gl]=Xogos de mans
+Name[he]=להטוטן
+Name[hi]=बाज़ीगरी
+Name[it]=Giochi di prestigio
+Name[ja]=ジャグル
+Name[ka]=ჟონგლირება
+Name[mk]=Жонглирање
+Name[nb]=Sjonglere
+Name[nds]=Jongleren
+Name[ne]=जुग्गल
+Name[nl]=Jongleren
+Name[nn]=Sjonglering
+Name[pl]=Żonglerka
+Name[pt_BR]=Malabarista
+Name[ro]=Jonglerii
+Name[ru]=Нарисованный жонглёр
+Name[sl]=Žongler
+Name[sr]=Жонглирање
+Name[sr@Latn]=Žongliranje
+Name[sv]=Jonglera
+Name[ta]=மாற்றி
+Name[tg]=Жонглёрӣ кардан
+Name[uk]=Жонглювання
+Name[vi]=Tung hứng
+Name[xh]=Jula ubambe emoyeni
+Name[zh_CN]=杂耍
+Name[zh_TW]=戲法
+
+[Desktop Action Setup]
+Exec=kxsconfig juggle
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun juggle -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun juggle -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/juggler3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/juggler3d.desktop
new file mode 100644
index 00000000..24f7092d
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/juggler3d.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=juggler3d
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Juggler3D
+Name[ca]=Joc de mans 3D
+Name[cs]=Žonglování 3D
+Name[de]=Jonglieren 3D
+Name[eo]=Ĵonglisto3D
+Name[es]=Juglar3D
+Name[et]=Žonglöör 3D
+Name[fr]=Jonglage 3D
+Name[fy]=3D Jonglearje
+Name[gl]=Xogos de mans 3D
+Name[he]= להטוטן תלת־מימדי
+Name[hu]=Zsonglőr 3D
+Name[it]=Giochi di prestigio 3D
+Name[ja]=ジャグラー 3D
+Name[ka]=3D ჟონგლიორი
+Name[mk]=Жонглер3Д
+Name[nb]=Sjonglere3D
+Name[nds]=Jongleren 3D
+Name[ne]=जुग्लर त्रि-आयामिक
+Name[nl]=3D Jongleren
+Name[nn]=Sjonglere3D
+Name[pt_BR]=Malabarista 3D
+Name[ru]=Жонглёр
+Name[sl]=Žongler 3D
+Name[sr]=Жонглирање 3Д
+Name[sr@Latn]=Žongliranje 3D
+Name[sv]=Jonglera 3D
+Name[uk]=Жонглювання3D
+Name[vi]=Tung hứng 3 chiều
+Name[zh_TW]=戲法3D
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig juggler3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun juggler3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun juggler3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/julia.desktop b/kscreensaver/kxsconfig/ScreenSavers/julia.desktop
new file mode 100644
index 00000000..9f25e564
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/julia.desktop
@@ -0,0 +1,211 @@
+[Desktop Entry]
+Exec=julia
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Julia
+Name[bg]=Юлия
+Name[he]=ג'וליה
+Name[hi]=जूलिया
+Name[is]=Júlía
+Name[ja]=ジュリア
+Name[ka]=ჯულია
+Name[lv]=Džūlija
+Name[mk]=Јулија
+Name[ne]=जुलिया
+Name[pt]=Júlia
+Name[ru]=Джулия
+Name[sr]=Јулија
+Name[sr@Latn]=Julija
+Name[ta]= ஜூலியா
+Name[tg]=Джулия
+Name[th]=จูเลีย
+Name[uk]=Юлія
+Name[zh_CN]=Julia 集
+
+[Desktop Action Setup]
+Exec=kxsconfig julia
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun julia -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun julia -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/kaleidescope.desktop b/kscreensaver/kxsconfig/ScreenSavers/kaleidescope.desktop
new file mode 100644
index 00000000..c9e91845
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/kaleidescope.desktop
@@ -0,0 +1,247 @@
+[Desktop Entry]
+Exec=kaleidescope
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=Kaleidescope
+Name[af]=Kaleidoskoop
+Name[bg]=Калейдоскоп
+Name[br]=Kaerigellerez
+Name[bs]=Kaleidoskop
+Name[ca]=Calidoscopi
+Name[cs]=Kaleidoskop
+Name[cy]=Kaleidesgôp
+Name[da]=Kalejdoskop
+Name[de]=Kaleidoskop
+Name[el]=Καλειδοσκόπιο
+Name[eo]=Kalejdoskopo
+Name[es]=Caleidoscopio
+Name[et]=Kaleidoskoop
+Name[eu]=Kaleideskopioa
+Name[fi]=Kaleidoskooppi
+Name[fr]=Kaléidoscope
+Name[fy]=Kaleidoskoop
+Name[gl]=Caleidoscópio
+Name[he]=קליידסקופ
+Name[hi]=रंग बिरंगा
+Name[hu]=Kaleidoszkóp
+Name[is]=Kviksjá
+Name[it]=Caleidoscopio
+Name[ja]=カレイドスコープ
+Name[ka]=კალეიდოსკოპი
+Name[lt]=Kaleidoskopas
+Name[lv]=Kaleidoskops
+Name[mk]=Калеидоскоп
+Name[ms]=Kaleideskope
+Name[mt]=Kalejdeskopju
+Name[nb]=Kaleidoskop
+Name[nds]=Dreihnett
+Name[ne]=कलेइडेस्कोप
+Name[nl]=Caleidoscoop
+Name[nn]=Kaleidoskop
+Name[pl]=Kalejdoskop
+Name[pt]=Caleidoscópio
+Name[pt_BR]=Caleidoscópio
+Name[ru]=Калейдоскоп
+Name[sk]=Kaleidoskop
+Name[sl]=Kalejdoskop
+Name[sr]=Калеидоскоп
+Name[sr@Latn]=Kaleidoskop
+Name[sv]=Kaleidoskop
+Name[ta]=வண்ணநோக்கி
+Name[tg]=Калейдоскоп
+Name[th]=ภาพลานตา
+Name[tr]=Çiçek Dürbünü
+Name[uk]=Калейдоскоп
+Name[vi]=Kính vạn hoa
+Name[xh]=Umboniso ongatshintshiyo
+Name[zh_CN]=万花筒
+Name[zh_TW]=萬花筒
+Name[zu]=Umboniso ongashintshiyo
+
+[Desktop Action Setup]
+Exec=kxsconfig kaleidescope
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun kaleidescope -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun kaleidescope -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/klein.desktop b/kscreensaver/kxsconfig/ScreenSavers/klein.desktop
new file mode 100644
index 00000000..9b405b40
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/klein.desktop
@@ -0,0 +1,209 @@
+[Desktop Entry]
+Exec=klein
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Klein
+Name[de]=Kleinsche Flasche
+Name[fy]=Lyts
+Name[hi]=के-लीन
+Name[hu]=Kicsike
+Name[ja]=クラン
+Name[ka]=კლაინის ზედაპირი
+Name[mk]=Клајн
+Name[nds]=Klein sien Buddel
+Name[ne]=क्लेइन
+Name[ru]=Поверхности Клейна
+Name[sr]=Клајн
+Name[sr@Latn]=Klajn
+Name[ta]=க்ளைண்
+Name[tg]=Сатҳи Клейн
+Name[uk]=Кляйн
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig klein
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun klein -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun klein -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/kumppa.desktop b/kscreensaver/kxsconfig/ScreenSavers/kumppa.desktop
new file mode 100644
index 00000000..d0248291
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/kumppa.desktop
@@ -0,0 +1,206 @@
+[Desktop Entry]
+Exec=kumppa
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Kumppa
+Name[eo]=Kumpo
+Name[he]=צבעים מהירים
+Name[hi]=कुम्पा
+Name[ka]=კუმპა
+Name[mk]=Кумпа
+Name[ne]=कुम्पा
+Name[ru]=Кумпа
+Name[sr]=Кумпа
+Name[sr@Latn]=Kumpa
+Name[ta]=கம்ப்பா
+Name[tg]=Кумпа
+Name[uk]=Кумпа
+Name[zh_CN]=旋转俯冲
+
+[Desktop Action Setup]
+Exec=kxsconfig kumppa
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun kumppa -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun kumppa -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lament.desktop b/kscreensaver/kxsconfig/ScreenSavers/lament.desktop
new file mode 100644
index 00000000..518dc32c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lament.desktop
@@ -0,0 +1,231 @@
+[Desktop Entry]
+Exec=lament
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Lament (GL)
+Name[af]=Lament (Gl)
+Name[br]=Hirvoud (GL)
+Name[cy]=Galarnad (GL)
+Name[de]=Lament
+Name[eo]=Lamento (graf. bibl.)
+Name[es]=Lamento (GL)
+Name[et]=Nutulaul (GL)
+Name[eu]=Aienea (GL)
+Name[fa]=مرثیه (GL)
+Name[fi]=Valitus (GL)
+Name[fr]=Complainte (GL)
+Name[gl]=Laio (GL)
+Name[he]=תיבת למרשנד (GL)
+Name[hi]=लेमेन्ट (जीएल)
+Name[it]=Lamento (GL)
+Name[ja]=ラメント (GL)
+Name[ka]=ძველი კუბი (GL)
+Name[lt]=Verksmas (GL)
+Name[lv]=Elēģija (GL)
+Name[mk]=Лемаршан (GL)
+Name[nb]=Klage (GL)
+Name[ne]=लामेन्ट (GL)
+Name[pt]=Lamento (GL)
+Name[pt_BR]=Lamento (GL)
+Name[ru]=Древний куб (GL)
+Name[sr]=Ламент (GL)
+Name[sv]=Bedrövlig (GL)
+Name[ta]=புலம்பல்(GL)
+Name[tg]=Куби қадима (GL)
+Name[th]=น่าเศร้าใจ (GL)
+Name[tr]=Matem (GL)
+Name[uk]=Лемент (GL)
+Name[vi]=Rên rỉ (GL)
+Name[xh]=Isibonakaliso Sokukhala (GL)
+Name[zh_CN]=悲伤(GL)
+Name[zh_TW]=悲傷 (GL)
+Name[zu]=Isibonakaliso sokukhala (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig lament
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun lament -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lament -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/laser.desktop b/kscreensaver/kxsconfig/ScreenSavers/laser.desktop
new file mode 100644
index 00000000..366c80ef
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/laser.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=laser
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Rapid Motion
+Name=Laser
+Name[bg]=Лазер
+Name[br]=Bann-gouloù
+Name[ca]=Làser
+Name[el]=Λέιζερ
+Name[eo]=Lazero
+Name[es]=Láser
+Name[eu]=Laserra
+Name[fa]=لیزر
+Name[fi]=Laseri
+Name[gl]=Láser
+Name[he]=קרני לייזר
+Name[hi]=लेज़र
+Name[hu]=Lézer
+Name[ja]=レーザー
+Name[ka]=ლაზერი
+Name[lt]=Lazeris
+Name[lv]=Lāzers
+Name[mk]=Ласер
+Name[mt]=Lażer
+Name[ne]=लेजर
+Name[ru]=Лазер
+Name[sr]=Ласер
+Name[ta]=லேசர்
+Name[tg]=Лазер
+Name[th]=เลเซอร์
+Name[tr]=Lazer
+Name[uk]=Лазер
+Name[uz]=Lazer
+Name[uz@cyrillic]=Лазер
+Name[ven]=leizara
+Name[xh]=Icebo eliphethe umtha wokukhanya omninwa
+Name[zh_CN]=激光
+Name[zh_TW]=雷射
+
+[Desktop Action Setup]
+Exec=kxsconfig laser
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun laser -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun laser -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lavalite.desktop b/kscreensaver/kxsconfig/ScreenSavers/lavalite.desktop
new file mode 100644
index 00000000..b24cf792
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lavalite.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=lavalite
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=LavaLite
+Name[cy]=GolauLafa
+Name[de]=Lavalampe
+Name[eu]=Laba
+Name[fr]=Lave
+Name[he]=מנורת לבה
+Name[hi]=लावा-लौ
+Name[ja]=ラヴァライト
+Name[ka]=ლავა
+Name[mk]=Лава-светилка
+Name[nb]=Lavalite
+Name[nds]=Lavalamp
+Name[ne]=लेभालाइट
+Name[nn]=Lettlava
+Name[ru]=Лава
+Name[sl]=Lahka lava
+Name[sr]=Лава светло
+Name[sr@Latn]=Lava svetlo
+Name[sv]=Lavalite
+Name[ta]=லாவாவிளக்கு
+Name[tg]=Гудоза
+Name[th]=ลาวา
+Name[uk]=Лава-світло
+Name[vi]=Nham thạch Nhẹ
+Name[zh_CN]=小型熔岩
+
+[Desktop Action Setup]
+Exec=kxsconfig lavalite
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun lavalite -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lavalite -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lightning.desktop b/kscreensaver/kxsconfig/ScreenSavers/lightning.desktop
new file mode 100644
index 00000000..6202de2a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lightning.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=lightning
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Lightning
+Name[af]=Weerlig
+Name[br]=Luc'hed
+Name[ca]=Llamp
+Name[cs]=Blesky
+Name[cy]=Mellt
+Name[da]=Lyn
+Name[de]=Blitz
+Name[el]=Αστραπή
+Name[eo]=Lumaĵo
+Name[es]=Rayo
+Name[et]=Välk
+Name[eu]=Tximista
+Name[fa]=آذرخش
+Name[fi]=Salamat
+Name[fo]=Snarljós
+Name[fr]=Éclairs
+Name[gl]=Raio
+Name[he]=ברקים
+Name[hi]=बिज़ली
+Name[hu]=Villám
+Name[is]=Eldingar
+Name[it]=Lampo
+Name[ja]=稲光
+Name[ka]=ელვა
+Name[lt]=Žaibas
+Name[lv]=Iedegšanās
+Name[mk]=Молња
+Name[ms]=Kilat
+Name[mt]=Beraq
+Name[nb]=Lyn
+Name[nds]=Blix
+Name[ne]=बिद्युत
+Name[nn]=Lyn
+Name[nso]=Legadima
+Name[pl]=Błyskawica
+Name[pt]=Relâmpago
+Name[pt_BR]=Relâmpago
+Name[ro]=Fulger
+Name[ru]=Молния
+Name[sk]=Svetelný
+Name[sl]=Bliski
+Name[sr]=Муња
+Name[sr@Latn]=Munja
+Name[sv]=Blixten
+Name[ta]=மின்னல்
+Name[tg]=Оташак
+Name[th]=ฟ้าแลบ
+Name[tr]=Şimşek
+Name[uk]=Блискавка
+Name[uz]=Chaqmoq
+Name[uz@cyrillic]=Чақмоқ
+Name[ven]=Lupenyo
+Name[vi]=Tia chớp
+Name[xh]=Umbane
+Name[zh_CN]=闪电
+Name[zh_TW]=閃電
+Name[zu]=Umbani
+
+[Desktop Action Setup]
+Exec=kxsconfig lightning
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun lightning -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lightning -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lisa.desktop b/kscreensaver/kxsconfig/ScreenSavers/lisa.desktop
new file mode 100644
index 00000000..a472a5ef
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lisa.desktop
@@ -0,0 +1,210 @@
+[Desktop Entry]
+Exec=lisa
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Lisa
+Name[el]=Λίσα
+Name[et]=Lissa
+Name[he]=לולאות
+Name[hi]=लिसा
+Name[is]=Lísa
+Name[ka]=ლისაჟუს მრუდები
+Name[mk]=Лиза
+Name[ne]=लिसा
+Name[ru]=Лиссажу
+Name[sr]=Лиса
+Name[ta]=லீசா
+Name[tg]=Лиссажу
+Name[th]=ลิซา
+Name[uk]=Лісажу
+Name[uz]=Liza
+Name[uz@cyrillic]=Лиза
+Name[zh_CN]=丝线圈
+
+[Desktop Action Setup]
+Exec=kxsconfig lisa
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun lisa -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lisa -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lissie.desktop b/kscreensaver/kxsconfig/ScreenSavers/lissie.desktop
new file mode 100644
index 00000000..2e3b591f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lissie.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=lissie
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Visit to Flatland
+Name=Lissie
+Name[eo]=Cirklulin'
+Name[eu]=Lissajous
+Name[fi]=Putki
+Name[fr]=Lissajous
+Name[he]=טבעות
+Name[hi]=लिसी
+Name[it]=Anelli
+Name[ja]=リッシー
+Name[ka]=ლისი
+Name[lt]=Spiralė
+Name[mk]=Лизи
+Name[mt]=Ħolqa
+Name[ne]=लिस्सी
+Name[ru]=Лисси
+Name[sr]=Лиска
+Name[sr@Latn]=Liska
+Name[ta]=லிஸ்ஸி
+Name[tg]=Лисси
+Name[th]=เส้นพริ้ว
+Name[uk]=Ліссі
+Name[uz]=Lissi
+Name[uz@cyrillic]=Лисси
+Name[zh_CN]=弹簧
+
+[Desktop Action Setup]
+Exec=kxsconfig lissie
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun lissie -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lissie -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lmorph.desktop b/kscreensaver/kxsconfig/ScreenSavers/lmorph.desktop
new file mode 100644
index 00000000..938caca6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lmorph.desktop
@@ -0,0 +1,247 @@
+[Desktop Entry]
+Exec=lmorph
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Morphing Lines
+Name[af]=Morferende Lyne
+Name[bg]=Връв
+Name[br]=Linennoù trolinenn
+Name[ca]=Línies canviants
+Name[cs]=Morfující linie
+Name[cy]=Llinellau sy'n Morffio
+Name[da]=Morfende linjer
+Name[de]=Morphing-Linien
+Name[el]=Γραμμές Μορφοποίησης
+Name[eo]=Ŝanĝiĝantaj linioj
+Name[es]=Líneas cambiantes
+Name[et]=Joonte moonutaja
+Name[eu]=Lerro aldakorrak
+Name[fa]=خطوط Morphing
+Name[fi]=Sulautuvat viivat
+Name[fr]=Lignes déformées
+Name[ga]=Línte Morfaithe
+Name[gl]=Líñas cambiantes
+Name[he]=קווים משני צורה
+Name[hi]=बदलती लाइनें
+Name[hu]=Alakuló vonalak
+Name[it]=Linee che si trasformano
+Name[ja]=モルフィングライン
+Name[ka]=გადაწვნა
+Name[lt]=Morphing Linijos
+Name[lv]=Metamorfējošas Līnijas
+Name[mk]=Аморфни линии
+Name[ms]=Garisan Morphing
+Name[mt]=Linji jimmorfjaw
+Name[nb]=Morfende linjer
+Name[nds]=Lienen-Metamorphoos
+Name[ne]=बदलिने रेखा
+Name[nn]=Morfande linjer
+Name[pl]=Zmieniające się linie
+Name[pt]=Linhas Mutantes
+Name[pt_BR]=Linhas em 'morphing'
+Name[ro]=Linii schimbătoare
+Name[ru]=Пряжа
+Name[sk]=Premenlivé Čiary
+Name[sl]=Prehajajoče črte
+Name[sr]=Морфне линије
+Name[sr@Latn]=Morfne linije
+Name[sv]=Morfande linjer
+Name[ta]=மாறும் கம்பிகள்
+Name[tg]=Ресмон
+Name[th]=แปลงรูปร่างเส้น
+Name[tr]=Değişen Çizgiler
+Name[uk]=Аморфні лінії
+Name[ven]=Mitalo ya Morphing
+Name[vi]=Dòng kẻ Biến dạng
+Name[xh]=Iilayini Ezixineneyo
+Name[zh_CN]=线条变形
+Name[zh_TW]=融合的線條
+Name[zu]=Morphing Olayini
+
+[Desktop Action Setup]
+Exec=kxsconfig lmorph
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun lmorph -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lmorph -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/lockward.desktop b/kscreensaver/kxsconfig/ScreenSavers/lockward.desktop
new file mode 100644
index 00000000..1a74909e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/lockward.desktop
@@ -0,0 +1,203 @@
+[Desktop Entry]
+Exec=lockward
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Lockward
+Name[ca]=Guarda de pany
+Name[fr]=Serrure
+Name[it]=Lucchetto a combinazione
+Name[nds]=Slottwarts
+Name[pl]=Blokada
+Name[ru]=Полярные координаты
+Name[sr]=Локворд
+Name[sr@Latn]=Lokvord
+Name[sv]=Låshållet
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig lockward
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun lockward -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun lockward -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/loop.desktop b/kscreensaver/kxsconfig/ScreenSavers/loop.desktop
new file mode 100644
index 00000000..f63851ed
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/loop.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=loop
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Loop
+Name[af]=Lus
+Name[br]=A-zol
+Name[ca]=Bucle
+Name[cs]=Smyčka
+Name[cy]=Dolen
+Name[de]=Schleifenförmige Kolonien
+Name[el]=Βρόχος
+Name[es]=Bucle
+Name[et]=Silmus
+Name[eu]=Begizta
+Name[fa]=حلقه
+Name[fi]=Looppi
+Name[fo]=Lykkja
+Name[fr]=Boucle
+Name[fy]=Werhelling
+Name[gl]=Bucle
+Name[he]=מושבות מתפשטות
+Name[hi]=लूप
+Name[is]=Slaufa
+Name[it]=Ciclo
+Name[ja]=ループ
+Name[ka]=მარყუჟი
+Name[mk]=Јамка
+Name[ms]=Gelung
+Name[nb]=Looping
+Name[nds]=Slööp
+Name[ne]=लूप
+Name[nl]=Herhaling
+Name[nn]=Løkkje
+Name[pl]=Pętla
+Name[pt]=Ciclo
+Name[ro]=Buclă
+Name[ru]=Колония
+Name[sk]=Slučka
+Name[sl]=Zanka
+Name[sr]=Петља
+Name[sr@Latn]=Petlja
+Name[sv]=Looping
+Name[ta]=சுற்று
+Name[tg]=Мустамлика
+Name[th]=วนรอบ
+Name[tr]=Döngü
+Name[uk]=Петля
+Name[vi]=Vòng
+Name[xh]=Dibanisa
+Name[zh_CN]=循环
+Name[zu]=Jikelezisa
+
+[Desktop Action Setup]
+Exec=kxsconfig loop
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun loop -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun loop -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/m6502.desktop b/kscreensaver/kxsconfig/ScreenSavers/m6502.desktop
new file mode 100644
index 00000000..55248312
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/m6502.desktop
@@ -0,0 +1,194 @@
+[Desktop Entry]
+Exec=m6502
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=M6502
+Name[ru]=Микропроцессор M6502
+TryExec=xscreensaver
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig m6502
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun m6502 -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun m6502 -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/maze.desktop b/kscreensaver/kxsconfig/ScreenSavers/maze.desktop
new file mode 100644
index 00000000..cb2d5c02
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/maze.desktop
@@ -0,0 +1,238 @@
+[Desktop Entry]
+Exec=maze
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Maze
+Name[bg]=Лабиринт
+Name[br]=Milendall
+Name[ca]=Laberint
+Name[cs]=Bludiště
+Name[cy]=Drysfa
+Name[da]=Labyrint
+Name[de]=Labyrinth
+Name[el]=Λαβύρινθος
+Name[es]=Laberinto
+Name[et]=Labürint
+Name[eu]=Labirintoa
+Name[fa]=هزارتوی
+Name[fi]=Sokkelo
+Name[fr]=Labyrinthe
+Name[fy]=Doalhôf
+Name[gl]=Labirinto
+Name[he]=מבוך
+Name[hi]=भूलभुलैया
+Name[hu]=Labirintus
+Name[is]=Völundarhús
+Name[it]=Labirinto
+Name[ja]=迷宮
+Name[ka]=ლაბირინთი
+Name[mk]=Лавиринт
+Name[nb]=Labyrint
+Name[nds]=Biestergoorn
+Name[ne]=मेज
+Name[nl]=Doolhof
+Name[nn]=Labyrint
+Name[pl]=Labirynt
+Name[pt]=Labirinto
+Name[pt_BR]=Labirinto
+Name[ro]=Labirint
+Name[ru]=Лабиринт
+Name[sl]=Labirint
+Name[sr]=Лавиринт
+Name[sr@Latn]=Lavirint
+Name[sv]=Labyrint
+Name[ta]=குழப்பவழி
+Name[tg]=Лабиринт
+Name[uk]=Лабіринт
+Name[vi]=Mê cung
+Name[xh]=Uzunge-zunge
+Name[zh_CN]=迷宫
+Name[zh_TW]=迷宮
+
+[Desktop Action Setup]
+Exec=kxsconfig maze
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun maze -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun maze -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/memscroller.desktop b/kscreensaver/kxsconfig/ScreenSavers/memscroller.desktop
new file mode 100644
index 00000000..d9957c01
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/memscroller.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=memscroller
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Banners & Pictures
+Name=MemScroller
+Name[ca]=Rotllo amb memòria
+Name[de]=Speicherläufer
+Name[el]=Κυλιόμενη Μνήμη
+Name[eo]=Penrozo
+Name[es]=MemScroller
+Name[et]=Mälukerija
+Name[fi]=Muistirullaus
+Name[fr]=Promenade dans la mémoire
+Name[hi]=मेम-स्क्रॉलर
+Name[hu]=Memóriagörgető
+Name[ka]=მეხსიერების გადახვევა
+Name[mk]=Мемориски приказ
+Name[nb]=Minneruller
+Name[nds]=Spiekerkieker
+Name[ne]=मेमस्क्रोलर
+Name[nn]=Minneruller
+Name[ru]=Память компьютера
+Name[sl]=Spominski drsnik
+Name[sr]=Клизач меморије
+Name[sr@Latn]=Klizač memorije
+Name[sv]=Rullande minne
+Name[ta]=மெம் உருளி
+Name[uk]=Пам'ять
+Name[zh_TW]=記憶體捲動器
+TryExec=xscreensaver
+
+[Desktop Action Setup]
+Exec=kxsconfig memscroller
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun memscroller -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun memscroller -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/menger.desktop b/kscreensaver/kxsconfig/ScreenSavers/menger.desktop
new file mode 100644
index 00000000..1871e825
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/menger.desktop
@@ -0,0 +1,209 @@
+[Desktop Entry]
+Exec=menger
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Menger
+Name[de]=Menger-Schwamm
+Name[fy]=Minger
+Name[he]=אטם מנגר
+Name[hi]=मेंगर
+Name[ja]=メンガー
+Name[ka]=მენგერი
+Name[mk]=Менгер
+Name[nds]=Menger-Swamm
+Name[ne]=मेन्जर
+Name[ru]=Менгер
+Name[sr]=Менгер
+Name[ta]=மெங்கர்
+Name[tg]=Менгер
+Name[uk]=Менгер
+Name[xh]=Umxubi
+
+[Desktop Action Setup]
+Exec=kxsconfig menger
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun menger -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun menger -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/metaballs.desktop b/kscreensaver/kxsconfig/ScreenSavers/metaballs.desktop
new file mode 100644
index 00000000..0a4c9a01
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/metaballs.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Exec=metaballs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Rapid Motion
+Name=MetaBalls
+Name[ca]=Metapilotes
+Name[cy]=MetaBeli
+Name[de]=Meta-Bälle
+Name[eo]=MetaPilkoj
+Name[et]=Metapallid
+Name[eu]=Meta pilotak
+Name[fr]=Meta boules
+Name[fy]=Metaballen
+Name[gl]=Metabolas
+Name[he]=כדורים מרחפים
+Name[hi]=परा-गेंद
+Name[hu]=Metalabdák
+Name[is]=Metakúlur
+Name[ja]=メタボール
+Name[ka]=მეტაბურთულები
+Name[mk]=Мета-топки
+Name[ms]=Bola Meta
+Name[nb]=Meta-baller
+Name[nds]=Metabäll
+Name[ne]=मेटाबल
+Name[nl]=Metaballen
+Name[nn]=Meta-ballar
+Name[pl]=Metapiłki
+Name[pt]=Meta-Bolas
+Name[pt_BR]=Meta Bolas
+Name[ro]=MetaSfere
+Name[ru]=Светящиеся шарики
+Name[sl]=Metažoge
+Name[sr]=Металопте
+Name[sr@Latn]=Metalopte
+Name[sv]=Metabollar
+Name[ta]=மெடா பந்துக்கள்
+Name[tg]=Кураҳои мунаваршуда истода
+Name[uk]=Мета-м'ячі
+Name[zh_CN]=元球
+
+[Desktop Action Setup]
+Exec=kxsconfig metaballs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun metaballs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun metaballs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/mirrorblob.desktop b/kscreensaver/kxsconfig/ScreenSavers/mirrorblob.desktop
new file mode 100644
index 00000000..9b5d146c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/mirrorblob.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=mirrorblob
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=MirrorBlob
+Name[de]=Spiegelbild-Blob 
+Name[el]=Κατοπτρική σταγόνα
+Name[eo]=SpegulMakul'
+Name[es]=Gota de espejo
+Name[et]=Peegelpiisk
+Name[eu]=Ispilu-tanta
+Name[fa]=بلوب آئینه‌ای
+Name[fi]=PeiliKuplat
+Name[fr]=Goutte miroir
+Name[fy]=SpegelBlob
+Name[gl]=Espello Blob
+Name[he]=גוש מראתי
+Name[hi]=मिररब्लॉब
+Name[hu]=Tükröződő blobok
+Name[is]=Spegla blob
+Name[it]=Blob a specchio
+Name[ka]=სფერული დასარკვა
+Name[mk]=Огледална дамка
+Name[ms]=Tompok Cermin
+Name[nb]=Speilflekk
+Name[nds]=Spegelplacken
+Name[ne]=मिररब्लब
+Name[nn]=Speglklatt
+Name[pt_BR]=Blob Espelho
+Name[ro]=Bulă oglindită
+Name[ru]=Сферическое отражение
+Name[sl]=Zrcalna kepica
+Name[sr]=Огледалски балончић
+Name[sr@Latn]=Ogledalski balončić
+Name[sv]=Spegelfläck
+Name[tg]=Инъикос намудани мудаввар
+Name[tr]=AynaDamlacığı
+Name[uk]=Сферичне віддзеркалення
+Name[vi]=Giọt nước trên Gương
+Name[zh_CN]=魔镜
+X-KDE-Type=OpenGL;ManipulateScreen
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig mirrorblob
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun mirrorblob -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun mirrorblob -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/mismunch.desktop b/kscreensaver/kxsconfig/ScreenSavers/mismunch.desktop
new file mode 100644
index 00000000..97d579ac
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/mismunch.desktop
@@ -0,0 +1,212 @@
+[Desktop Entry]
+Exec=mismunch
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Fractals
+Name=Mismunch
+Name[de]=Fehler mampfen
+Name[et]=Mugimine
+Name[fa]=بد جویدن
+Name[fr]=Mâcher
+Name[hi]=मिसमैच
+Name[is]=Munur
+Name[ka]=დაჭმუჭვნა
+Name[nb]=Mismumse
+Name[nds]=Freten Fehlers
+Name[ne]=मिसमन्च
+Name[pt_BR]=Mastigação
+Name[ru]=Пережёванные квадраты
+Name[sl]=Zgrešeno žvečenje
+Name[sr]=Мисманч
+Name[sr@Latn]=Mismanč
+Name[sv]=Mumsfel
+Name[tg]=Хоида-хоида майда кардани мураббаъ (квадрат)
+Name[tr]=MisYeme
+Name[uk]=По-жоване
+
+[Desktop Action Setup]
+Exec=kxsconfig mismunch
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun mismunch -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun mismunch -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/moebius.desktop b/kscreensaver/kxsconfig/ScreenSavers/moebius.desktop
new file mode 100644
index 00000000..1b193e1d
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/moebius.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=moebius
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Moebius (GL)
+Name[af]=Möbius (Gl)
+Name[da]=Möbius (GL)
+Name[de]=Möbius
+Name[eo]=Mebiuso (graf. bibl.)
+Name[et]=Möbius (GL)
+Name[fr]=Möbius (GL)
+Name[ga]=Möbius (GL)
+Name[he]=טבעת מוביוס (GL)
+Name[hi]=मोबियस (जीएल)
+Name[hu]=Möbius (OpenGL)
+Name[is]=Möbíus (GL)
+Name[ja]=メビウス (GL)
+Name[ka]=მიობიუსი (GL)
+Name[mk]=Мебиус (GL)
+Name[nb]=Möbius (GL)
+Name[nds]=Möbius (GL)
+Name[ne]=मोइबिअस (GL)
+Name[nn]=Møbius (GL)
+Name[pl]=Mobius (GL)
+Name[pt_BR]=Möbius (GL)
+Name[ru]=Кольца Мёбиуса (GL)
+Name[sl]=Möbius (GL)
+Name[sr]=Мебијус (GL)
+Name[sr@Latn]=Mebijus (GL)
+Name[sv]=Möbius (GL)
+Name[ta]=மோபியஸ்(GL)
+Name[tg]=Ангуштарини Мебиус (GL)
+Name[th]=โมเบียส (GL)
+Name[uk]=Мьобіус (GL)
+Name[zh_CN]=墨比乌斯带(GL)
+Name[zh_TW]=莫比斯帶 (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig moebius
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun moebius -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun moebius -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/moebiusgears.desktop b/kscreensaver/kxsconfig/ScreenSavers/moebiusgears.desktop
new file mode 100644
index 00000000..29229a21
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/moebiusgears.desktop
@@ -0,0 +1,208 @@
+[Desktop Entry]
+Exec=moebiusgears
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=MoebiusGears
+Name[ca]=Engranatge de Moebius
+Name[de]=Möbius-Räder
+Name[el]=Γρανάζια Moebius
+Name[es]=Ruedas de Moebius
+Name[et]=MöbiuseHammasrattad
+Name[fr]=Rouages de Möbius (GL)
+Name[it]=Ruote di Moebius
+Name[nds]=Möbiusrööd
+Name[pl]=Mobius
+Name[ru]=Колёса Мёбиуса
+Name[sr]=Мебијусови зупчаници
+Name[sr@Latn]=Mebijusovi zupčanici
+Name[sv]=Möbiuskuggar
+Name[zh_TW]=莫比斯齒輪
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig moebiusgears
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun moebiusgears -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun moebiusgears -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/moire.desktop b/kscreensaver/kxsconfig/ScreenSavers/moire.desktop
new file mode 100644
index 00000000..5bd42ae0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/moire.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=moire
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Moire
+Name[el]=Κυματοειδής
+Name[es]=Muaré
+Name[et]=Muaree
+Name[eu]=Muarea
+Name[fa]=مویر
+Name[fo]=Moiré
+Name[fr]=Moiré
+Name[ga]=Moiré
+Name[gl]=Muaré
+Name[he]=תבניות הפרעה
+Name[hi]=मौआ
+Name[ja]=モアレ
+Name[ka]=მოირა
+Name[mk]=Моаре
+Name[ne]=मोइर
+Name[ro]=Moar
+Name[ru]=Муар
+Name[sr]=Мутно
+Name[sr@Latn]=Mutno
+Name[sv]=Moaré
+Name[ta]=மொய்ர்
+Name[tg]=Парниё
+Name[uk]=Муар
+Name[zh_CN]=干涉波纹
+Name[zh_TW]=波紋
+
+[Desktop Action Setup]
+Exec=kxsconfig moire
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun moire -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun moire -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/moire2.desktop b/kscreensaver/kxsconfig/ScreenSavers/moire2.desktop
new file mode 100644
index 00000000..e77e4f97
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/moire2.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=moire2
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Moire2
+Name[de]=Moire 2
+Name[el]=Κυματοειδής2
+Name[es]=Muaré2
+Name[et]=Muaree2
+Name[eu]=Muarea2
+Name[fa]=مویر۲
+Name[fo]=Meira Moiré
+Name[fr]=Moiré2
+Name[ga]=Moiré2
+Name[gl]=Muaré 2
+Name[he]=תבניות הפרעה 2
+Name[hi]=मौआ2
+Name[ja]=モアレ 2
+Name[ka]=მოირა 2
+Name[mk]=Моаре2
+Name[nds]=Moire 2
+Name[ne]=मोइर २
+Name[pt_BR]=Moire 2
+Name[ro]=Moar 2
+Name[ru]=Муар 2
+Name[sr]=Мутно 2
+Name[sr@Latn]=Mutno 2
+Name[sv]=Moaré 2
+Name[ta]=மொய்ர்2
+Name[tg]=Парниё2
+Name[uk]=Муар2
+Name[zh_CN]=干涉波纹2
+Name[zh_TW]=波紋2
+
+[Desktop Action Setup]
+Exec=kxsconfig moire2
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun moire2 -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun moire2 -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/molecule.desktop b/kscreensaver/kxsconfig/ScreenSavers/molecule.desktop
new file mode 100644
index 00000000..917b5986
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/molecule.desktop
@@ -0,0 +1,243 @@
+[Desktop Entry]
+Exec=molecule
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Molecule
+Name[af]=Molekule
+Name[bg]=Молекула
+Name[ca]=Molècula
+Name[cs]=Molekula
+Name[cy]=Moleciwl
+Name[da]=Molekyle
+Name[de]=Molekül
+Name[el]=Μόριο
+Name[es]=Molécula
+Name[et]=Molekul
+Name[eu]=Molekula
+Name[fa]=مولکول
+Name[fi]=Molekyyli
+Name[fr]=Molécule
+Name[fy]=Molekule
+Name[gl]=Molécula
+Name[he]=מולקולה
+Name[hi]=अणु - रचना
+Name[hu]=Molekulák
+Name[is]=Mólekúl
+Name[it]=Molecola
+Name[ja]=分子
+Name[ka]=მოლეკულა
+Name[mk]=Молекула
+Name[ms]=Molekul
+Name[nb]=Molekyl
+Name[nds]=Molekööl
+Name[ne]=मोलिक्यूल
+Name[nn]=Molekyl
+Name[pl]=Cząsteczka
+Name[pt]=Molécula
+Name[pt_BR]=Molécula
+Name[ro]=Moleculă
+Name[ru]=Молекула
+Name[sl]=Molekula
+Name[sr]=Молекул
+Name[sr@Latn]=Molekul
+Name[sv]=Molekyl
+Name[ta]=மூலக்கூறு
+Name[tg]=Молекула
+Name[th]=โมเลกุล
+Name[tr]=Molekül
+Name[uk]=Молекула
+Name[uz]=Molekula
+Name[uz@cyrillic]=Молекула
+Name[vi]=Phân tử
+Name[zh_CN]=分子
+Name[zh_TW]=分子
+Name[zu]=Ucezu
+
+[Desktop Action Setup]
+Exec=kxsconfig molecule
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun molecule -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun molecule -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/morph3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/morph3d.desktop
new file mode 100644
index 00000000..0a287a14
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/morph3d.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=morph3d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Morph3D
+Name[af]=Morf3d
+Name[cy]=Morff3D
+Name[de]=Stachelballon
+Name[el]=Μορφοποίηση 3D
+Name[eu]=Transformazioa3D
+Name[fr]=Transformation3D
+Name[gl]=Morfoloxia 3D
+Name[he]=צורה משתנה
+Name[hi]=मॉर्फ3डी
+Name[it]=Trasformazioni 3D
+Name[ja]=モルフ 3D
+Name[ka]=გარდასახვა
+Name[mk]=Морф3Д
+Name[nb]=Morf 3D
+Name[nds]=Metamorphoos-3D
+Name[ne]=त्रि-आयामिक आकार
+Name[nn]=Morf 3D
+Name[pt_BR]=Morph 3D
+Name[ru]=Превращения
+Name[sl]=Morf3D
+Name[sr]=Морф 3Д
+Name[sr@Latn]=Morf 3D
+Name[sv]=Morf 3D
+Name[ta]=மாற்று3டி
+Name[tg]=Табдил додан
+Name[th]=แปลงภาพ 3 มิติ
+Name[uk]=Перетворення 3D
+Name[vi]=Biến dạng 3 chiều
+Name[zh_CN]=立体变形
+
+[Desktop Action Setup]
+Exec=kxsconfig morph3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun morph3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun morph3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/mountain.desktop b/kscreensaver/kxsconfig/ScreenSavers/mountain.desktop
new file mode 100644
index 00000000..94cb5384
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/mountain.desktop
@@ -0,0 +1,247 @@
+[Desktop Entry]
+Exec=mountain
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Mountain
+Name[bg]=Планина
+Name[br]=Menez
+Name[ca]=Muntanya
+Name[cs]=Hora
+Name[cy]=Mynydd
+Name[da]=Bjerg
+Name[de]=Berge
+Name[el]=Βουνό
+Name[es]=Montaña
+Name[et]=Mägi
+Name[eu]=Mendia
+Name[fa]=کوه
+Name[fi]=Vuori
+Name[fo]=Fjall
+Name[fr]=Montagne
+Name[fy]=Berch
+Name[gl]=Montaña
+Name[he]=הרים
+Name[hi]=पर्वत
+Name[hu]=Hegység
+Name[is]=Fjöll
+Name[it]=Montagna
+Name[ja]=雪山
+Name[ka]=მთა
+Name[mk]=Планина
+Name[ms]=Gunung
+Name[nb]=Fjell
+Name[nds]=Bargen
+Name[ne]=हिमाल
+Name[nl]=Berg
+Name[nn]=Fjell
+Name[pa]=ਪਹਾੜੀ
+Name[pl]=Góry
+Name[pt]=Montanha
+Name[pt_BR]=Montanha
+Name[ro]=Munte
+Name[ru]=Гора
+Name[sl]=Gora
+Name[sr]=Планина
+Name[sr@Latn]=Planina
+Name[sv]=Fjäll
+Name[ta]=மலை
+Name[tg]=Кӯҳ
+Name[th]=ภูเขา
+Name[tr]=Dağ
+Name[uk]=Гора
+Name[uz]=Togʻ
+Name[uz@cyrillic]=Тоғ
+Name[ven]=Thavha
+Name[vi]=Núi
+Name[xh]=Intaba
+Name[zh_CN]=山峰
+Name[zh_TW]=山
+Name[zu]=Intaba
+
+[Desktop Action Setup]
+Exec=kxsconfig mountain
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun mountain -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun mountain -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/munch.desktop b/kscreensaver/kxsconfig/ScreenSavers/munch.desktop
new file mode 100644
index 00000000..d541e5b1
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/munch.desktop
@@ -0,0 +1,220 @@
+[Desktop Entry]
+Exec=munch
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Munch
+Name[cy]=Cnoi
+Name[de]=Mampfen
+Name[et]=Mugimine
+Name[fa]=با سر و صدا جویدن
+Name[fi]=Mutustus
+Name[he]=ריבועים
+Name[hi]=चबाना
+Name[ja]=むしゃむしゃ
+Name[ka]=საღეჭი
+Name[mk]=Џвакање
+Name[nb]=Mumse
+Name[nds]=Opfreten
+Name[ne]=मन्च
+Name[nn]=Mums
+Name[pt_BR]=Mastigação
+Name[ru]=Жвачка
+Name[sl]=Žvečenje
+Name[sr]=Манч
+Name[sr@Latn]=Manč
+Name[sv]=Mumsa
+Name[ta]=தின்னு
+Name[tg]=Кавша
+Name[uk]=Жуйка
+Name[vi]=Nhai
+Name[zh_CN]=咀嚼
+Name[zh_TW]=咀嚼
+Name[zu]=Hlafuna
+
+[Desktop Action Setup]
+Exec=kxsconfig munch
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun munch -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun munch -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/nerverot.desktop b/kscreensaver/kxsconfig/ScreenSavers/nerverot.desktop
new file mode 100644
index 00000000..f410ca78
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/nerverot.desktop
@@ -0,0 +1,219 @@
+[Desktop Entry]
+Exec=nerverot
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=NerveRot
+Name[bg]=Кълбо от нерви
+Name[cy]=NerfBydredd
+Name[de]=Nervös rotierende Schnörkel
+Name[et]=Närvid Läbi
+Name[fa]=چرخش عصب
+Name[fr]=Nervure tournante
+Name[he]=שרבוטים רוטטים
+Name[hi]=नर्व-राट
+Name[is]=Taugarót
+Name[ka]=ნერვული კვანძი
+Name[mk]=Уништени нерви
+Name[nb]=Nerveråte
+Name[nds]=Jibbel-Dreih
+Name[ne]=नर्भरोट
+Name[nn]=Nerveråte
+Name[pt_BR]=Nerverot
+Name[ru]=Комок нервов
+Name[sl]=Živčni zlom
+Name[sr]=Нервни слом
+Name[sr@Latn]=Nervni slom
+Name[sv]=Roterande nerv
+Name[tg]=Лӯндаи асабҳо
+Name[uk]=Жмут нервів
+Name[vi]=Dây Thần kinh
+Name[zh_CN]=神经错乱
+Name[zh_TW]=神經錯亂
+
+[Desktop Action Setup]
+Exec=kxsconfig nerverot
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun nerverot -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun nerverot -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/noof.desktop b/kscreensaver/kxsconfig/ScreenSavers/noof.desktop
new file mode 100644
index 00000000..b9b54e10
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/noof.desktop
@@ -0,0 +1,205 @@
+[Desktop Entry]
+Exec=noof
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Noof
+Name[fr]=Noof (GL)
+Name[hi]=नूफ
+Name[ka]=მბრუნავები
+Name[mk]=Ротирачки шеми
+Name[nb]=Nuffe
+Name[nds]=Seegörken
+Name[ne]=नूफ
+Name[ru]=Вращающиеся шаблоны
+Name[sr]=Нуф
+Name[sr@Latn]=Nuf
+Name[tg]=Қолиби тобхуранда
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig noof
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun noof -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun noof -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/noseguy.desktop b/kscreensaver/kxsconfig/ScreenSavers/noseguy.desktop
new file mode 100644
index 00000000..111ba283
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/noseguy.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=noseguy
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Miscellaneous
+X-KDE-Type=Fortune
+Name=Noseguy
+Name[br]=Fri
+Name[ca]=Narigut
+Name[cs]=Nosatý chlapík
+Name[cy]=Boitrwyn
+Name[da]=Næsefyr
+Name[de]=Typ mit großer Nase
+Name[es]=Narizotas
+Name[et]=Jutunina
+Name[eu]=SudurGizona
+Name[fi]=Nenätyyppi
+Name[fr]=Nez
+Name[gl]=Narición
+Name[he]=מר אף
+Name[hi]=नोज़-गाई
+Name[hu]=Hosszú orrú
+Name[is]=Nefkall
+Name[ja]=ノーズガイ
+Name[ka]=ცხვირა
+Name[mk]=Носко
+Name[nb]=Nesestøver
+Name[nds]=Neeskeerl
+Name[ne]=नोजगाई
+Name[nn]=Nasefyr
+Name[pl]=Facet z nosem
+Name[pt_BR]=Home Nariz
+Name[ro]=Năsosul
+Name[ru]=Носатый человек
+Name[sl]=Nosan
+Name[sr]=Носоња
+Name[sr@Latn]=Nosonja
+Name[sv]=Näsgubbe
+Name[ta]=மூக்குப்பையன்
+Name[tg]=Шахси бинидароз
+Name[uk]=Носань
+Name[ven]=Muthu wa ningo
+Name[vi]=Gã mũi to
+Name[zh_CN]=大鼻头
+Name[zh_TW]=大鼻子傢伙
+
+[Desktop Action Setup]
+Exec=kxsconfig noseguy
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun noseguy -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun noseguy -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pacman.desktop b/kscreensaver/kxsconfig/ScreenSavers/pacman.desktop
new file mode 100644
index 00000000..079e0020
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pacman.desktop
@@ -0,0 +1,206 @@
+[Desktop Entry]
+Exec=pacman
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Miscellaneous
+Name=Pacman
+Name[el]=Πάκμαν
+Name[he]=פקמן
+Name[hi]=पेकमेन
+Name[ja]=パックマン
+Name[ka]=ქვაჭამია
+Name[mk]=Пакман
+Name[ne]=पेसम्यान
+Name[ru]=Пожиратель
+Name[sr]=Пекмен
+Name[sr@Latn]=Pekmen
+Name[tg]=Ғаламус
+Name[uk]=Проглот
+Name[zh_TW]=小精靈
+
+[Desktop Action Setup]
+Exec=kxsconfig pacman
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pacman -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pacman -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pedal.desktop b/kscreensaver/kxsconfig/ScreenSavers/pedal.desktop
new file mode 100644
index 00000000..bed095e0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pedal.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=pedal
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Pedal
+Name[el]=Πετάλι
+Name[et]=Pedaal
+Name[eu]=Pedala
+Name[fa]=پدال
+Name[fi]=Pedaali
+Name[fr]=Pédale
+Name[he]=תמונות גיאומטריות
+Name[hi]=पैडल
+Name[is]=Pedali
+Name[it]=Pedale
+Name[ja]=ペダル
+Name[ka]=ნაკვალევი
+Name[mk]=Вртење
+Name[ne]=पेडल
+Name[pa]=ਪੈਡਲ
+Name[ro]=Pedală
+Name[ru]=Отпечатки лап
+Name[sr]=Педал
+Name[ta]=கால்மிதி
+Name[tg]=Изи панҷа
+Name[ven]=Zwau kandelela
+Name[vi]=Bàn đạp
+Name[zh_CN]=脚踏轮
+Name[zh_TW]=踏板
+Name[zu]=Ukugwedla
+
+[Desktop Action Setup]
+Exec=kxsconfig pedal
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pedal -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pedal -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/penetrate.desktop b/kscreensaver/kxsconfig/ScreenSavers/penetrate.desktop
new file mode 100644
index 00000000..cc2d4542
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/penetrate.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=penetrate
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Penetrate
+Name[bg]=Проникване
+Name[ca]=Penetrar
+Name[cs]=Pronikání
+Name[cy]=Treiddio
+Name[da]=Gennemtræng
+Name[de]=Raketenabwehr
+Name[el]=Διείσδυση
+Name[es]=Penetrar
+Name[et]=Tulistaja
+Name[fa]=نفوذ کردن
+Name[fi]=Tunkeutuminen
+Name[fr]=Percer
+Name[gl]=Penetrar
+Name[he]=טילים
+Name[hi]=घुस्सा - घुस्सी
+Name[hu]=Behatolás
+Name[it]=Penetrazione
+Name[ja]=侵入
+Name[ka]=შეღწევა
+Name[mk]=Пробивање
+Name[ms]=Tembus
+Name[nb]=Gjennomtreng
+Name[nds]=Dörkamen
+Name[ne]=पेनिट्रेट
+Name[nn]=Gjennom
+Name[pl]=Penetracja
+Name[pt]=Penetração
+Name[pt_BR]=Penetração
+Name[ro]=Penetrare
+Name[ru]=Проникновение
+Name[sl]=Prodiranje
+Name[sr]=Продирање
+Name[sr@Latn]=Prodiranje
+Name[sv]=Genomträng
+Name[ta]=ஊடுருவு
+Name[tg]=Дохил шудан
+Name[uk]=Проникнення
+Name[ven]=U dzhenela
+Name[vi]=Chui vào
+Name[zh_CN]=导弹防御
+Name[zh_TW]=入侵
+Name[zu]=Ngenisa
+
+[Desktop Action Setup]
+Exec=kxsconfig penetrate
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun penetrate -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun penetrate -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/penrose.desktop b/kscreensaver/kxsconfig/ScreenSavers/penrose.desktop
new file mode 100644
index 00000000..14e586da
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/penrose.desktop
@@ -0,0 +1,209 @@
+[Desktop Entry]
+Exec=penrose
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Visit to Flatland
+Name=Penrose
+Name[eo]=Penrozo
+Name[fi]=Penrose tiilet
+Name[he]=מרצפות
+Name[hi]=पेनरोज़
+Name[ja]=ペンローズ
+Name[ka]=პენროუზი
+Name[mk]=Пенроуз
+Name[ne]=पेनरोज
+Name[ru]=Пенроуз
+Name[sr]=Пенроуз
+Name[sr@Latn]=Penrouz
+Name[ta]=பென்ரோஸ்
+Name[tg]=Пенроуз
+Name[uk]=Пенровз
+Name[xh]=Intyatyambo entle egcinwe ekumda othile
+Name[zu]=Ipeni eliyimbali yerosi
+
+[Desktop Action Setup]
+Exec=kxsconfig penrose
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun penrose -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun penrose -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/petri.desktop b/kscreensaver/kxsconfig/ScreenSavers/petri.desktop
new file mode 100644
index 00000000..cb804c19
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/petri.desktop
@@ -0,0 +1,212 @@
+[Desktop Entry]
+Exec=petri
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Petri
+Name[de]=Petrischale
+Name[et]=Petri Tass
+Name[fa]=پتری
+Name[fi]=Petrimalja
+Name[fr]=Pétri
+Name[fy]=Petry
+Name[he]=צלחת פטרי
+Name[hi]=पेट्री
+Name[ja]=ペトリ
+Name[ka]=პეტრის ჭურჭელი
+Name[mk]=Петри
+Name[nds]=Petrikumm
+Name[ne]=पेट्री
+Name[ru]=Чашка Петри
+Name[sr]=Петри
+Name[ta]=பெட்றி
+Name[tg]=Нимкосаи Петри
+Name[uk]=Петрі
+Name[vi]=Peri
+
+[Desktop Action Setup]
+Exec=kxsconfig petri
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun petri -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun petri -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/phosphor.desktop b/kscreensaver/kxsconfig/ScreenSavers/phosphor.desktop
new file mode 100644
index 00000000..69908d09
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/phosphor.desktop
@@ -0,0 +1,246 @@
+[Desktop Entry]
+Exec=phosphor
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+X-KDE-Type=Fortune
+Name=Phosphor
+Name[af]=Fosfor
+Name[bg]=Фосфор
+Name[br]=Fosfor
+Name[ca]=Fòsfor
+Name[cs]=Fosfor
+Name[cy]=Ffosffor
+Name[da]=Fosfor
+Name[el]=Φώσφορος
+Name[eo]=Fosforo
+Name[es]=Fósforo
+Name[et]=Fosfor
+Name[eu]=Fosforoa
+Name[fa]=فسفر
+Name[fi]=Fosfori
+Name[fo]=Fosfor
+Name[fr]=Phosphore
+Name[fy]=Fosfor
+Name[gl]=Fósforo
+Name[he]=מסך זרחני
+Name[hi]=फ़ॉस्फ़र
+Name[hu]=Foszfor
+Name[is]=Fosfór
+Name[it]=Fosforo
+Name[ja]=蛍光体
+Name[ka]=ფოსფორი
+Name[lt]=Fosforas
+Name[lv]=Fosfors
+Name[mk]=Фосфор
+Name[ms]=Fosfor
+Name[mt]=Fosfru
+Name[nb]=Fosfor
+Name[ne]=फोस्फोर
+Name[nn]=Fosfor
+Name[pa]=ਫਾਸਫੋਰਸ
+Name[pl]=Fosfor
+Name[pt]=Fósforo
+Name[pt_BR]=Fósforo
+Name[ro]=Fosfor
+Name[ru]=Монохромный терминал
+Name[sk]=Fosfor
+Name[sl]=Fosfor
+Name[sr]=Фосфор
+Name[sr@Latn]=Fosfor
+Name[sv]=Fosfor
+Name[ta]=பாஸ்பர்
+Name[tg]=Истилоҳи якранг
+Name[th]=สารฟอสเฟอร์
+Name[tr]=Fosfor
+Name[uk]=Фосфор
+Name[vi]=Phốt pho
+Name[zh_CN]=荧光终端
+Name[zh_TW]=晨星
+
+[Desktop Action Setup]
+Exec=kxsconfig phosphor
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun phosphor -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun phosphor -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/piecewise.desktop b/kscreensaver/kxsconfig/ScreenSavers/piecewise.desktop
new file mode 100644
index 00000000..01054344
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/piecewise.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=piecewise
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Visit to Flatland
+Name=Piecewise
+Name[ca]=A trossos
+Name[cy]=Tameidiog
+Name[de]=Überschneidende Kreise
+Name[eo]=Pec-po-pec'
+Name[es]=Pieza clave
+Name[et]=Tükikaupa
+Name[fa]=تکه‌ای
+Name[fr]=Petits morceaux
+Name[fy]=Stikje by bytsje
+Name[gl]=Peza chave
+Name[hi]=टुकड़े हज़ार
+Name[hu]=Darabkák
+Name[ja]=ピースワイズ
+Name[ka]=ნაწილაკები
+Name[mk]=Низ парчиња
+Name[nb]=Stykkevis
+Name[nds]=Stückwies
+Name[ne]=पिस वाइज
+Name[nl]=Stuksgewijs
+Name[nn]=Stykkevis
+Name[pt]=Por Peças
+Name[pt_BR]=Fatia Sensata
+Name[ru]=Частицы
+Name[sl]=Podrobnost
+Name[sr]=Подеоно
+Name[sr@Latn]=Podeono
+Name[sv]=Styckvis
+Name[ta]=தூள்வாரியாக
+Name[tg]=Ҳиссачаҳо
+Name[uk]=Частинки
+Name[vi]=Từng mảnh
+Name[zh_CN]=分段
+
+[Desktop Action Setup]
+Exec=kxsconfig piecewise
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun piecewise -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun piecewise -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pinion.desktop b/kscreensaver/kxsconfig/ScreenSavers/pinion.desktop
new file mode 100644
index 00000000..c4955826
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pinion.desktop
@@ -0,0 +1,210 @@
+[Desktop Entry]
+Exec=pinion
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Pinion
+Name[ca]=Pinyó
+Name[de]=Zahnräder
+Name[es]=Piñón
+Name[et]=Hammasrattakesed
+Name[eu]=Pinoia
+Name[fa]=چرخ‌دندانۀ کوچک
+Name[fr]=Pignons
+Name[ja]=翼
+Name[ka]=ფრთებშეკვეცა
+Name[mk]=Запчаници
+Name[nds]=Pi-Drift
+Name[ne]=पिनिअन
+Name[ru]=Редуктор
+Name[sr]=Пинион
+Name[sv]=Vingspets
+Name[uk]=Шестірня
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig pinion
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pinion -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pinion -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pipes.desktop b/kscreensaver/kxsconfig/ScreenSavers/pipes.desktop
new file mode 100644
index 00000000..3c8bdeb7
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pipes.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=pipes
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Pipes - another (GL)
+Name[af]=Pype - nog 'n (Gl)
+Name[br]=Korzennoù - un all (GL)
+Name[ca]=Canonades - un altre (GL)
+Name[cs]=Roury - jiné (GL)
+Name[cy]=Pibellau - un arall (GL)
+Name[da]=Rør - en anden (GL)
+Name[de]=Röhren 2
+Name[el]=Σωλήνες - άλλο (GL)
+Name[eo]=Tuboj aliaj (graf. bibl.)
+Name[es]=Tuberías - otro (GL)
+Name[et]=Torud - veel üks (GL)
+Name[eu]=Hodiak - beste bat (GL)
+Name[fa]=لوله‌ها - (GL) دیگر
+Name[fi]=Putket (GL)
+Name[fo]=Fleiri rør
+Name[fr]=Tubes - un autre (GL)
+Name[fy]=Buizen (GL)
+Name[ga]=Pipes - ceann eile (GL)
+Name[gl]=Canos - outro (GL)
+Name[he]=עוד צינורות (GL)
+Name[hi]=पाइप - दर - पाइप - अन्य (जीएल)
+Name[hu]=Csövek, új variáció (OpenGL)
+Name[is]=Pípur - annar (GL)
+Name[it]=Tubi - un altro (GL)
+Name[ja]=パイプ その 2 (GL)
+Name[ka]=მილები II (GL)
+Name[lt]=Vamzdžiai - kitaip (GL)
+Name[lv]=Caurules - cita (GL)
+Name[mk]=Цевки - други (GL)
+Name[ms]=Pipes - satu lagi (GL)
+Name[mt]=Katusi - ieħor (GL)
+Name[nb]=Andre rør (GL)
+Name[nds]=Röhren 2 (GL)
+Name[ne]=पाइप - अर्को (GL)
+Name[nl]=Buizen (GL)
+Name[nn]=Røyr – endå ein (GL)
+Name[pl]=Rury - następny (GL)
+Name[pt]=Canos - outro (GL)
+Name[pt_BR]=Canos - outro (GL)
+Name[ro]=Alte ţevi (GL)
+Name[ru]=Трубы II (GL)
+Name[sk]=Fajky - iné (GL)
+Name[sl]=Cevi - še ena (GL)
+Name[sr]=Цевке - још једном (GL)
+Name[sr@Latn]=Cevke - još jednom (GL)
+Name[sv]=Andra rör (GL)
+Name[ta]=குழாய்கள் - மற்றது (GL)
+Name[tg]=Қубурҳои П(GL)
+Name[th]=ท่อน้ำ - อื่นๆ (GL)
+Name[tr]=Başka borular (GL)
+Name[uk]=Інші труби (GL)
+Name[ven]=Dziphaiphi - dzinwe (GL)
+Name[vi]=Ống khác (GL)
+Name[xh]=Imibhobho - enye (GL)
+Name[zh_CN]=管道 - 另一个(GL)
+Name[zh_TW]=水管 - another (GL)
+Name[zu]=Amapayipi - okunye (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig pipes
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun pipes -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pipes -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pixmaps.desktop b/kscreensaver/kxsconfig/ScreenSavers/pixmaps.desktop
new file mode 100644
index 00000000..f305a416
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pixmaps.desktop
@@ -0,0 +1,233 @@
+[Desktop Entry]
+Exec=pixmaps
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Banners & Pictures
+Name=pixmaps
+Name[af]=pix-kaarte
+Name[br]=skeudennoù
+Name[ca]=Mapes de píxels
+Name[cs]=pixmapy
+Name[cy]=picsfapiau
+Name[de]=Bilder
+Name[es]=Pixmaps
+Name[et]=pildid
+Name[eu]=Pixmap-ak
+Name[fa]=نگاشت تصویردانه‌ای
+Name[fi]=kuvakartat
+Name[fr]=Images
+Name[gl]=Mapas de pixeis
+Name[he]=תמונות
+Name[hi]=पिक्समेप्स
+Name[hu]=Pixmapek
+Name[it]=Immagini pixmap
+Name[ja]=ピクスマップ
+Name[ka]=რასტრული ნახატები
+Name[mk]=пиксмапи
+Name[mt]=stampi
+Name[nb]=Bildekart
+Name[nds]=Pixelbiller
+Name[ne]=पिक्सम्याप
+Name[nn]=Bilete
+Name[pl]=Piksmapy
+Name[pt]=Imagens
+Name[ro]=Imagini
+Name[ru]=Изображения
+Name[sl]=slike
+Name[sr]=Пиксмапе
+Name[sr@Latn]=Piksmape
+Name[sv]=Bildtoppar
+Name[ta]=படத்துணுக்கு
+Name[tg]=Тасвир
+Name[th]=แฟ้มภาพ
+Name[uk]=Зображення
+Name[vi]=ảnh điểm
+Name[zh_CN]=像素图
+Name[zu]=ama-pixmap
+
+[Desktop Action Setup]
+Exec=kxsconfig pixmaps
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pixmaps -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pixmaps -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/polyhedra.desktop b/kscreensaver/kxsconfig/ScreenSavers/polyhedra.desktop
new file mode 100644
index 00000000..c3fd557b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/polyhedra.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=polyhedra
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Polyhedra
+Name[de]=Vielflächer
+Name[el]=Πολύεδρα
+Name[eo]=Multedroj
+Name[et]=Polüheeder
+Name[eu]=Poliedroa
+Name[fa]=چند وجهی
+Name[fr]=Polyèdre
+Name[gl]=Poliedro
+Name[he]=תמונות גיאומטריות
+Name[hi]=बहुफलक
+Name[hu]=Poliéder
+Name[it]=Poliedro
+Name[ka]=მრავალწახნაგა
+Name[mk]=Полиедри
+Name[ms]=Polihedra
+Name[nb]=Polyedre
+Name[nds]=Veelflagen
+Name[ne]=पोलिहेड्रा
+Name[pt]=Poliedro
+Name[pt_BR]=Poliedro
+Name[ro]=Poliedru
+Name[ru]=Объёмная геометрия
+Name[sl]=Polihedra
+Name[sr]=Полиедри
+Name[sr@Latn]=Poliedri
+Name[sv]=Polyhedrar
+Name[tg]=Ҳаҷми геометрия
+Name[tr]=Polihedra
+Name[uk]=Об'ємні фігури
+Name[vi]=Đa diện
+Name[zh_CN]=多面体
+Name[zh_TW]=多面體
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig polyhedra
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun polyhedra -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun polyhedra -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/polyominoes.desktop b/kscreensaver/kxsconfig/ScreenSavers/polyominoes.desktop
new file mode 100644
index 00000000..a5321715
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/polyominoes.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=polyominoes
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Miscellaneous
+Name=Polyominoes
+Name[ca]=Polidomis
+Name[cy]=Poliominôs
+Name[de]=Polyomino
+Name[es]=Polidomios
+Name[et]=Polüoominod
+Name[eu]=Polinomioak
+Name[gl]=Polidómios
+Name[he]=מילוי צורות
+Name[hi]=पॉलीमिनोस
+Name[hu]=Poliominók
+Name[it]=Polinomi
+Name[ja]=ポリオミノ
+Name[ka]=მრავალკუთხა
+Name[mk]=Полиомини
+Name[nb]=Polyominoer
+Name[nds]=Polyominos
+Name[ne]=पोलिमाइनोज
+Name[pt]=Poliónimos
+Name[pt_BR]=Polinômios
+Name[ru]=Многоугольники
+Name[sl]=Mnogokotniki
+Name[sr]=Полиомине
+Name[sr@Latn]=Poliomine
+Name[sv]=Polyominos
+Name[ta]=பலசதுர ஒட்டு
+Name[tg]=Бисёркунҷҳо
+Name[uk]=Головоломка
+Name[vi]=Cờ đôminô đa giác
+Name[zh_CN]=多联骨牌
+Name[zh_TW]=多方塊
+
+[Desktop Action Setup]
+Exec=kxsconfig polyominoes
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun polyominoes -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun polyominoes -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/polytopes.desktop b/kscreensaver/kxsconfig/ScreenSavers/polytopes.desktop
new file mode 100644
index 00000000..3f8b4666
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/polytopes.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=polytopes
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Regular 4D Polytopes
+Name[ca]=Polítops Regulars 4D
+Name[cs]=Pravidelné 4D polytopy
+Name[cy]=Politopau 4D Rheolaidd
+Name[da]=Regulære 4D Polytoper
+Name[de]=Reguläre Polytope (vierdimensional)
+Name[el]=Κανονικά 4D πολύτοπα
+Name[es]=Politopos regulares 4D
+Name[et]=Korrapärased 4D polütoobid
+Name[eu]=4D politopo erregularrak
+Name[fa]=Polytopes منظم چهار بعدی
+Name[fi]=Säännölliset 4D-polytoopit
+Name[fr]=Polygones 4D
+Name[fy]=Regelmjittige 4D-polytopen
+Name[gl]=Politopos regulares 4D
+Name[he]=פוליטופים רגילים בעלי 4 מימדים
+Name[hi]=चतुर्यामी तारा
+Name[hu]=Politópok 4D
+Name[is]=Venjulegar 4D Polytopes
+Name[it]=Politopi regolari 4D
+Name[ka]=ჰიპერფიგურა
+Name[mk]=Регуларни 4Д полиедри
+Name[ms]=Politop 4D Biasa
+Name[nb]=Regulære 4D Polytoper
+Name[nds]=Symmetersch 4D-Polytopen
+Name[ne]=नियमित चौ-आयामिक पोलिटप
+Name[nl]=Regelmatige 4D-polytopen
+Name[nn]=Vanlege 4D-polytopar
+Name[pl]=Czterowymiarowy wielokąt regularny
+Name[pt]=Polítopos Regulares 4D
+Name[pt_BR]=Poli 4D Regular
+Name[ru]=Гиперфигура
+Name[sk]=Pravidelné 4D polytopy
+Name[sl]=Pravilni 4D mnogotopi
+Name[sr]=Обични 4Д политопи
+Name[sr@Latn]=Obični 4D politopi
+Name[sv]=Vanliga 4D polytoper
+Name[ta]=வழக்கமான 4டி பாலிடோப்கள்
+Name[tg]=Гиперфигура
+Name[tr]=4D Politop
+Name[uk]=Многогранник 4D
+Name[vi]=Đa diện đều 4 chiều
+Name[zh_CN]=规则 4D 多面体
+Name[zh_TW]=正規 4D 多胞形
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+
+[Desktop Action Setup]
+Exec=kxsconfig polytopes
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun polytopes -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun polytopes -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pong.desktop b/kscreensaver/kxsconfig/ScreenSavers/pong.desktop
new file mode 100644
index 00000000..06f89778
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pong.desktop
@@ -0,0 +1,208 @@
+[Desktop Entry]
+Exec=pong
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Miscellaneous
+Name=Pong
+Name[el]=Πονγκ
+Name[es]=Peste
+Name[fa]=بوی گند
+Name[he]=פונג
+Name[hi]=पॉग
+Name[ja]=ポン
+Name[ka]=პინგ-პონგი
+Name[mk]=Понг
+Name[ne]=पोङ
+Name[ru]=Пинг-понг
+Name[sr]=Понг
+Name[tg]=Пинг-понг
+Name[tr]=Koku
+Name[uk]=Пінг-понг
+Name[zh_CN]=乓
+
+[Desktop Action Setup]
+Exec=kxsconfig pong
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pong -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pong -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/popsquares.desktop b/kscreensaver/kxsconfig/ScreenSavers/popsquares.desktop
new file mode 100644
index 00000000..e835e4d4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/popsquares.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=popsquares
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=Visit to Flatland
+Name=Popsquares
+Name[ca]=Quadrats Pop
+Name[cy]=SgwariauPop
+Name[de]=Tanzboden
+Name[eo]=KrevKvadroj
+Name[es]=Cuadrados Pop
+Name[et]=Hüpikruudud
+Name[eu]=Pop karratuak
+Name[fr]=Carrés pops
+Name[fy]=Popfjouwerkanten
+Name[gl]=Cadrados Pop
+Name[he]=מלבנים צבעוניים
+Name[hi]=पॉपस्क्वेअर्स
+Name[hu]=Négyzetek
+Name[ja]=ポップスクウェア
+Name[ka]=კვადრატები
+Name[mk]=Скок-квадрати
+Name[nb]=Pop-kvadrater
+Name[nds]=Popveerecks
+Name[ne]=पपस्क्वायर
+Name[nl]=Popvierkanten
+Name[nn]=Pop-kvadrat
+Name[pl]=Popkwadraty
+Name[pt]=Quadrados Pop
+Name[pt_BR]=Quadrados Pop
+Name[ru]=Цветомузыка
+Name[sl]=Kvadrati
+Name[sr]=Поп-квадрати
+Name[sr@Latn]=Pop-kvadrati
+Name[sv]=Uppdykande fyrkanter
+Name[ta]=பிதுங்குசதுரங்கள்
+Name[tg]=Гулмусиқӣ
+Name[uk]=Світломузика
+Name[zh_CN]=跳跳方
+
+[Desktop Action Setup]
+Exec=kxsconfig popsquares
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun popsquares -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun popsquares -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/providence.desktop b/kscreensaver/kxsconfig/ScreenSavers/providence.desktop
new file mode 100644
index 00000000..9416f721
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/providence.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=providence
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Providence
+Name[br]=Provideñs
+Name[de]=Fürsorge
+Name[el]=Πρόνοια
+Name[eo]=Providenco
+Name[es]=Providencia
+Name[et]=Providentsia
+Name[eu]=Probidentzia
+Name[fa]=آینده‌نگری
+Name[gl]=Providéncia
+Name[hi]=विधाता
+Name[it]=Provvidenza
+Name[ka]=ჭვრეტა
+Name[mk]=Провидение
+Name[nb]=Forsyn
+Name[nds]=Schicksal
+Name[ne]=पूर्वदृष्टि
+Name[pt_BR]=Providência
+Name[ro]=Providenţă
+Name[ru]=Провидение
+Name[sr]=Провиђење
+Name[sr@Latn]=Proviđenje
+Name[sv]=Försyn
+Name[tg]=Гузарондан
+Name[tr]=Öngörü
+Name[uk]=Провидіння
+Name[vi]=Dự phòng
+Name[zh_CN]=上帝
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig providence
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun providence -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun providence -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pulsar.desktop b/kscreensaver/kxsconfig/ScreenSavers/pulsar.desktop
new file mode 100644
index 00000000..29f4fd25
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pulsar.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Exec=pulsar
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Pulsar (GL)
+Name[af]=Pulsar (Gl)
+Name[bg]=Пулсар (GL)
+Name[ca]=Polsar (GL)
+Name[cs]=Radar (GL)
+Name[cy]=Curiadydd (GL)
+Name[de]=Pulsar
+Name[el]=Πάλσαρ (GL)
+Name[eo]=Pulsanta stelo (graf. bibl.)
+Name[es]=Púlsar (GL)
+Name[eu]=Pulsarra (GL)
+Name[fa]=پولسار (GL)
+Name[fi]=Pulsari (GL)
+Name[gl]=Púlsar (GL)
+Name[he]=מישורים מסתובבים (GL)
+Name[hi]=इंद्र फलक (जीएल)
+Name[hu]=Pulzár (OpenGL)
+Name[ja]=パルサー (GL)
+Name[ka]=პულსარი (GL)
+Name[lv]=Lāzeris (GL)
+Name[mk]=Пулсар (GL)
+Name[mt]=Pulsari (GL)
+Name[nds]=Pulsaar (GL)
+Name[ne]=पल्सर (GL)
+Name[ru]=Пульсар (GL)
+Name[sl]=Pulzar (GL)
+Name[sr]=Пулсар (GL)
+Name[ta]=பல்சார்(GL)
+Name[tg]=Пульсар (GL)
+Name[th]=ชีพจร (GL)
+Name[tr]=Atıcı (GL)
+Name[uk]=Пульсар (GL)
+Name[vi]= Ẩn tinh (GL)
+Name[xh]=Icebo lokwandisa amaza kanomathotholo (GL)
+Name[zh_CN]=脉冲星(GL)
+Name[zh_TW]=Plusar (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig pulsar
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun pulsar -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pulsar -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/pyro.desktop b/kscreensaver/kxsconfig/ScreenSavers/pyro.desktop
new file mode 100644
index 00000000..a3b7ef49
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/pyro.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=pyro
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Pyro
+Name[br]=Tan-arvest
+Name[ca]=Focs
+Name[cs]=Ohňostroj
+Name[de]=Feuerwerk
+Name[eo]=Piroteknikaĵo
+Name[es]=Pirotecnia
+Name[et]=Püro
+Name[eu]=Piroteknia
+Name[fa]=پیرو
+Name[fi]=Ilotulitus
+Name[fr]=Feu d'artifice
+Name[gl]=Pirotécnia
+Name[he]=זיקוקים
+Name[hi]=आतिशबाज़ी
+Name[hu]=Tűzijáték
+Name[it]=Fuochi d'artificio
+Name[ja]=花火
+Name[ka]=პიროტექნიკა
+Name[mk]=Пиротехника
+Name[mt]=Murtali
+Name[nds]=Füerwark
+Name[ne]=पाइरो
+Name[nn]=Fyrverkeri
+Name[pl]=Piro
+Name[pt_BR]=Piro
+Name[ro]=Piroman
+Name[ru]=Салют
+Name[sl]=Piro
+Name[sr]=Пиро
+Name[sr@Latn]=Piro
+Name[ta]=நெருப்பான
+Name[tg]=Салют
+Name[th]=ยิงพลุ
+Name[tr]=Ateşli
+Name[uk]=Салют
+Name[xh]=iPyro
+Name[zh_CN]=焰火
+Name[zh_TW]=焰火
+Name[zu]=iPyro
+
+[Desktop Action Setup]
+Exec=kxsconfig pyro
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun pyro -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun pyro -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/qix.desktop b/kscreensaver/kxsconfig/ScreenSavers/qix.desktop
new file mode 100644
index 00000000..125a2375
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/qix.desktop
@@ -0,0 +1,204 @@
+[Desktop Entry]
+Exec=qix
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Rapid Motion
+Name=Qix
+Name[he]=קווים מטיילים
+Name[hi]=हड़बड़िया
+Name[ka]=მოძრავი ხაზები
+Name[mk]=Кикс
+Name[ne]=क्विक्स
+Name[ru]=Живые линии
+Name[sr]=Кикс
+Name[sr@Latn]=Kiks
+Name[tg]=Рахҳои зинда
+Name[uk]=Швидкі лінії
+Name[zh_CN]=跳动的线条
+
+[Desktop Action Setup]
+Exec=kxsconfig qix
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun qix -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun qix -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/queens.desktop b/kscreensaver/kxsconfig/ScreenSavers/queens.desktop
new file mode 100644
index 00000000..01c8fdce
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/queens.desktop
@@ -0,0 +1,240 @@
+[Desktop Entry]
+Exec=queens
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Queens
+Name[bg]=Кралици
+Name[br]=Rouanezed
+Name[ca]=Reines
+Name[cs]=Královny
+Name[cy]=Brenhinesau
+Name[da]=Dronninger
+Name[de]=Königinnen
+Name[el]=Βασίλισσες
+Name[es]=Reinas
+Name[et]=Malelipud
+Name[eu]=Erreginak
+Name[fa]=ملکه‌ها
+Name[fi]=Kuningattaret
+Name[fo]=Drotningar
+Name[fr]=Reines
+Name[fy]=Keninginnen
+Name[gl]=Raiñas
+Name[he]=מלכות
+Name[hi]=मोहरे
+Name[it]=Regine
+Name[ja]=クィーン
+Name[ka]=დედოფლები
+Name[mk]=Кралици
+Name[ms]=Ratu
+Name[nb]=Dronninger
+Name[nds]=Königinnen
+Name[ne]=रानी
+Name[nn]=Dronningar
+Name[pa]=ਰਾਣੀਆਂ
+Name[pt]=Rainhas
+Name[pt_BR]=Rainhas
+Name[ro]=Regine
+Name[ru]=Королевы
+Name[sl]=Kraljice
+Name[sr]=Краљице
+Name[sr@Latn]=Kraljice
+Name[sv]=Drottningar
+Name[ta]=ராணிகள்
+Name[tg]=Маликаҳо
+Name[tr]=Kraliçeler
+Name[uk]=Королеви
+Name[ven]=Magombagomba
+Name[vi]=Hoàng hậu
+Name[zh_CN]=皇后
+Name[zh_TW]=皇后
+Name[zu]=Izindlovukazi
+
+[Desktop Action Setup]
+Exec=kxsconfig queens
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun queens -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun queens -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rd-bomb.desktop b/kscreensaver/kxsconfig/ScreenSavers/rd-bomb.desktop
new file mode 100644
index 00000000..caf16abf
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rd-bomb.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=rd-bomb
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=RD-Bomb
+Name[ca]=Bomba-RD
+Name[cy]=RD-Bom
+Name[da]=RD-bombe
+Name[de]=RD-Bomben
+Name[el]=RD-βόμβα
+Name[es]=Bomba-RD
+Name[et]=RD-pomm
+Name[eu]=RD-Lehergailua
+Name[fa]=بمب - RD
+Name[fi]=RD-pommi
+Name[fr]=Bombe RD
+Name[fy]=RD-Bom
+Name[gl]=Bomba-RD
+Name[he]=צורות מתפשטות
+Name[hi]=आरडी-बम
+Name[hu]=RD-bomba
+Name[it]=Bomba RD
+Name[ja]=RD-ボム
+Name[ka]=RD-ბომბი
+Name[mk]=РД-бомба
+Name[nb]=RD-bombe
+Name[ne]=RD-बम्ब
+Name[nn]=RD-bombe
+Name[pl]=Bomba RD
+Name[pt]=Bomba RD
+Name[pt_BR]=Bomba RD
+Name[ru]=РД-Бомба
+Name[sl]=RD-bomba
+Name[sr]=РД-бомба
+Name[sr@Latn]=RD-bomba
+Name[sv]=RD-bomb
+Name[ta]=RD-வெடிகுண்டு
+Name[tg]=РД-Бомба
+Name[uk]=РД-бомба
+Name[ven]=RD-Bomo
+Name[vi]=Bom-RD
+Name[zh_CN]=炸弹
+Name[zh_TW]=RD-炸彈
+Name[zu]=RD-Ibomu
+
+[Desktop Action Setup]
+Exec=kxsconfig rd-bomb
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun rd-bomb -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rd-bomb -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/ripples.desktop b/kscreensaver/kxsconfig/ScreenSavers/ripples.desktop
new file mode 100644
index 00000000..73292e5e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/ripples.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=ripples
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Type=ManipulateScreen
+X-KDE-Category=Gadgets & Simulations
+Name=Ripples
+Name[ca]=Rínxols
+Name[cs]=Vlnky
+Name[cy]=Crychdonni
+Name[de]=Kräuselungen
+Name[el]=Θροΐσματα
+Name[es]=Rizos
+Name[et]=Säbrutus
+Name[eu]=Txirikordak
+Name[fa]=موجها
+Name[fi]=Väreet
+Name[fr]=Ondulations
+Name[gl]=Rizos
+Name[he]=טיפות
+Name[hi]=लहरें
+Name[is]=Bylgjur
+Name[it]=Ondulazioni
+Name[ja]=さざ波
+Name[ka]=წვიმის წვეთები
+Name[mk]=Бранување
+Name[ms]=Berombak
+Name[mt]=Mewġ żgħar
+Name[nb]=Krusninger
+Name[nds]=Riffeln
+Name[ne]=रिपल
+Name[nn]=Småbølgjer
+Name[pl]=Plusk
+Name[pt]=Ondas
+Name[pt_BR]=Ondulações
+Name[ro]=Unde
+Name[ru]=Капли дождя
+Name[sl]=Valovanje
+Name[sr]=Таласићи
+Name[sr@Latn]=Talasići
+Name[sv]=Krusningar
+Name[ta]=அலைகள்
+Name[tg]=Чакраи борон
+Name[tr]=Dalgacık
+Name[uk]=Брижі
+Name[ven]=U bvisa
+Name[vi]=Sóng lăn tăn
+Name[zh_CN]=雨打屏幕
+Name[zh_TW]=漣漪
+Name[zu]=Okuntantayo
+
+[Desktop Action Setup]
+Exec=kxsconfig ripples
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun ripples -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun ripples -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rocks.desktop b/kscreensaver/kxsconfig/ScreenSavers/rocks.desktop
new file mode 100644
index 00000000..622aadf4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rocks.desktop
@@ -0,0 +1,244 @@
+[Desktop Entry]
+Exec=rocks
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=Rocks
+Name[af]=Klippe
+Name[bg]=Камъни
+Name[ca]=Roques
+Name[cs]=Kameny
+Name[cy]=Creigiau
+Name[da]=Klipper
+Name[de]=Asteroidenflug
+Name[el]=Βράχοι
+Name[es]=Rocas
+Name[et]=Rahnud
+Name[eu]=Harkaitzak
+Name[fa]=صخره‌ها
+Name[fi]=Kivet
+Name[fo]=Steinar
+Name[fr]=Roches
+Name[fy]=Rotsen
+Name[gl]=Rochas
+Name[he]=אסטרואידים
+Name[hi]=चट्टानें
+Name[hu]=Sziklák
+Name[is]=Steinar
+Name[it]=Rocce
+Name[ja]=岩
+Name[ka]=ასტეროიდები
+Name[mk]=Карпи
+Name[ms]=Batuan
+Name[mt]=Blat
+Name[nb]=Steiner
+Name[nds]=Steenfeld
+Name[ne]=चट्टान
+Name[nl]=Rotsen
+Name[nn]=Stein
+Name[pl]=Skały
+Name[pt]=Rochas
+Name[pt_BR]=Pedras
+Name[ro]=Pietre
+Name[ru]=Астероиды
+Name[sl]=Skale
+Name[sr]=Стене
+Name[sr@Latn]=Stene
+Name[sv]=Stenbumling
+Name[ta]=பாறைகள்
+Name[tg]=Астероидҳо
+Name[th]=หิน
+Name[tr]=Mücevher
+Name[uk]=Астероїди
+Name[ven]=Matombo
+Name[vi]=Đá
+Name[zh_CN]=陨石
+Name[zh_TW]=岩石
+Name[zu]=Amatshe
+
+[Desktop Action Setup]
+Exec=kxsconfig rocks
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun rocks -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rocks -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rorschach.desktop b/kscreensaver/kxsconfig/ScreenSavers/rorschach.desktop
new file mode 100644
index 00000000..678e00db
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rorschach.desktop
@@ -0,0 +1,207 @@
+[Desktop Entry]
+Exec=rorschach
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Rorschach
+Name[el]=Κηλίδες
+Name[he]=מבחן רורשאך
+Name[hi]=रॉर्सचाक्
+Name[ja]=ロールシャッハ
+Name[ka]=რორშახი
+Name[mk]=Роршах
+Name[ne]=रोर्सच्याच
+Name[ru]=Роршах
+Name[sr]=Роршах
+Name[sr@Latn]=Roršah
+Name[ta]=ரொர்ஸாச்
+Name[tg]=Роршах
+Name[uk]=Роршах
+Name[zh_CN]=墨迹
+
+[Desktop Action Setup]
+Exec=kxsconfig rorschach
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun rorschach -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rorschach -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rotor.desktop b/kscreensaver/kxsconfig/ScreenSavers/rotor.desktop
new file mode 100644
index 00000000..c1a176fa
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rotor.desktop
@@ -0,0 +1,215 @@
+[Desktop Entry]
+Exec=rotor
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=Rotor
+Name[bg]=Ротор
+Name[el]=Στροφέας
+Name[et]=Keerutaja
+Name[eu]=Errotorea
+Name[fa]=روتور
+Name[fi]=Roottori
+Name[he]=רוטור
+Name[hi]=रोटर
+Name[it]=Rotore
+Name[ja]=ローター
+Name[ka]=როტორი
+Name[mk]=Ротор
+Name[ne]=रोटर
+Name[pa]=ਰੋਟਰ
+Name[ru]=Ротор
+Name[sr]=Ротор
+Name[tg]=Ротор
+Name[uk]=Ротор
+Name[uz@cyrillic]=Ротор
+Name[vi]=Động cơ quay
+Name[zh_CN]=转动
+Name[zh_TW]=轉動
+
+[Desktop Action Setup]
+Exec=kxsconfig rotor
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun rotor -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rotor -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rotzoomer.desktop b/kscreensaver/kxsconfig/ScreenSavers/rotzoomer.desktop
new file mode 100644
index 00000000..72a9e2b9
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rotzoomer.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=rotzoomer
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=RotZoomer
+Name[cy]=PydrChwyddydd
+Name[de]=Rotieren und Vergrößern
+Name[et]=Pöörlev Suurendus
+Name[fa]=بزرگ‌نماکنندۀ چرخش
+Name[fi]=Rototarkennin
+Name[he]=זום
+Name[hi]=रॉट-ज़ूमर
+Name[ja]=ロットズーマー
+Name[ka]=მცდარი ლუპა
+Name[mk]=Зумирано распаѓање
+Name[nb]=Roterende zoom
+Name[nds]=Gröttdreihen
+Name[ne]=रोटजूमर
+Name[nn]=Roterande skalering
+Name[ru]=Вздорная лупа
+Name[sl]=Vrtilni povečevalnik
+Name[sr]=Рот-зумер
+Name[sr@Latn]=Rot-zumer
+Name[sv]=Roterade zoom
+Name[tg]=Шишаи муҳаддаб кашида боло бардошта шуда
+Name[uk]=Дивна лупа
+Name[zh_CN]=转动缩放
+
+[Desktop Action Setup]
+Exec=kxsconfig rotzoomer
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun rotzoomer -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rotzoomer -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/rubik.desktop b/kscreensaver/kxsconfig/ScreenSavers/rubik.desktop
new file mode 100644
index 00000000..858926db
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/rubik.desktop
@@ -0,0 +1,248 @@
+[Desktop Entry]
+Exec=rubik
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Rubik Cube (GL)
+Name[af]=Rubik Kubus (Gl)
+Name[bg]=Кубчето на Рубик (GL)
+Name[br]=Diñs Rubik (GL)
+Name[ca]=Cub de Rubik (GL)
+Name[cs]=Rubikova kostka (GL)
+Name[cy]=Ciwb Rubik (GL)
+Name[da]=Rubiks kubus (GL)
+Name[de]=Rubiks Würfel
+Name[el]=Κύβος του Ρούμπικ (GL)
+Name[eo]=Rubikkubo (graf. bibl.)
+Name[es]=Cubo de Rubick (GL)
+Name[et]=Rubiku kuubik (GL)
+Name[eu]=Rubik kuboa (GL)
+Name[fa]=مکعب Rubik (GL)
+Name[fi]=Rubikin kuutio (GL)
+Name[fo]=Rubiks terningur (GL)
+Name[ga]=Ciúb Rubik (GL)
+Name[gl]=Cubo de Rubick (GL)
+Name[he]=קוביה הונגרית (GL)
+Name[hi]=रूबिक क्यूब (जीएल)
+Name[hu]=Bűvös kocka (OpenGL)
+Name[is]=Rubiksteningur (GL)
+Name[it]=Cubo di Rubik (GL)
+Name[ja]=ルービックキューブ (GL)
+Name[ka]=რუბიკის კუბიკი (GL)
+Name[lt]=Rubiko Kubas (GL)
+Name[lv]=Kubiks Rubiks (GL)
+Name[mk]=Рубикова коцка (GL)
+Name[ms]=Kiub Rubik (GL)
+Name[mt]=Kubu ta' Rubik (GL)
+Name[nb]=Rubiks kube (GL)
+Name[nds]=Rubik-Wörpel (GL)
+Name[ne]=रुबिक घन (GL)
+Name[nn]=Rubiks kube (GL)
+Name[pl]=Kostka Rubika (GL)
+Name[pt]=Cubo de Rubik (GL)
+Name[pt_BR]=Cubo de Rubik (GL)
+Name[ro]=Cub Rubik (GL)
+Name[ru]=Кубик Рубика (GL)
+Name[sk]=Rubikova kocka (GL)
+Name[sl]=Rubikova kocka (GL)
+Name[sr]=Рубикова коцка (GL)
+Name[sr@Latn]=Rubikova kocka (GL)
+Name[sv]=Rubiks kub (GL)
+Name[ta]=ரூபிக் பட்டகம் (GL)
+Name[tg]=Кубики Рубик(GL)
+Name[th]=กล่องรูบิค (GL)
+Name[tr]=Rubik Küp (GL)
+Name[uk]=Кубик Рубіка (GL)
+Name[vi]=Khối Ru bíc (GL)
+Name[xh]=Umbhobho we Rubik (GL)
+Name[zh_CN]=魔方(GL)
+Name[zh_TW]=魔術方塊 (GL)
+Name[zu]=Iqhezu le-Rbik (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig rubik
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun rubik -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun rubik -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sballs.desktop b/kscreensaver/kxsconfig/ScreenSavers/sballs.desktop
new file mode 100644
index 00000000..cd6346c7
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sballs.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=sballs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Sballs
+Name[ca]=Pilotes lluents
+Name[cy]=Sbelli
+Name[de]=Rotierende Bälle
+Name[es]=BolasS
+Name[et]=Keerdpallid
+Name[eu]=Spilotak
+Name[fr]=Boules S
+Name[fy]=Sballen
+Name[gl]=BolasS
+Name[he]=כדורים מרחפים
+Name[hi]=एस-बॉल्स
+Name[ja]=Sボール
+Name[ka]=შეშლილი ბურთები
+Name[mk]=Стопки
+Name[nb]=S-baller
+Name[nds]=Ruumbäll
+Name[nn]=S-ballar
+Name[pt_BR]=Bolas S
+Name[ru]=Сумасшедшие мячики
+Name[sl]=Vrteče žoge
+Name[sr]=С-лопте
+Name[sr@Latn]=S-lopte
+Name[sv]=S-bollar
+Name[ta]=Sபந்துக்கள்
+Name[tg]=Тӯпҳои девона
+Name[uk]=Божевільні м'ячі
+Name[vi]=Bóng S
+Name[zh_CN]=旋转球
+Name[zh_TW]=旋轉球
+
+[Desktop Action Setup]
+Exec=kxsconfig sballs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun sballs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sballs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/shadebobs.desktop b/kscreensaver/kxsconfig/ScreenSavers/shadebobs.desktop
new file mode 100644
index 00000000..c1f30ef6
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/shadebobs.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=shadebobs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=ShadeBobs
+Name[ca]=Amaga pilotes
+Name[cy]=SiglauCysgod
+Name[et]=Varjujoad
+Name[fa]=بالا و پایین رفتن سایه
+Name[fi]=ShadeBobit
+Name[he]=ניאון
+Name[hi]=शेड-बॉब्स
+Name[ja]=シェイドボブ
+Name[ka]=მანათობელი კვალი
+Name[mk]=Неонски траги
+Name[nb]=Skygger
+Name[ne]=सेडबब्स
+Name[nn]=Skuggar
+Name[pt_BR]=Shadebobs
+Name[ru]=Светящийся след
+Name[sl]=Senčni dotiki
+Name[sr]=Неонке
+Name[sr@Latn]=Neonke
+Name[sv]=Skuggor
+Name[ta]=நிழல்பாப்கள்
+Name[tg]=Равшаннокии пай
+Name[uk]=Сліди з світла
+Name[vi]=Bóng râm Quả lắc
+Name[zh_CN]=霓虹灯管
+Name[zh_TW]=霓虹燈管
+
+[Desktop Action Setup]
+Exec=kxsconfig shadebobs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun shadebobs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun shadebobs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sierpinski.desktop b/kscreensaver/kxsconfig/ScreenSavers/sierpinski.desktop
new file mode 100644
index 00000000..eee68d85
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sierpinski.desktop
@@ -0,0 +1,208 @@
+[Desktop Entry]
+Exec=sierpinski
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Sierpinski
+Name[fy]=Sierpinsky
+Name[he]=משולש סירפינסקי
+Name[hi]=सायरपिंस्की
+Name[ja]=シェルピンスキー
+Name[ka]=სერპინსკის მრუდი
+Name[mk]=Сиерпински
+Name[ne]=सिरपिन्स्की
+Name[pl]=Sierpiński
+Name[ru]=Серпинский
+Name[sr]=Сјерпински
+Name[sr@Latn]=Sjerpinski
+Name[ta]=செர்பின்ஸ்கி
+Name[tg]=Серпинӣ
+Name[uk]=Серпинський
+Name[zh_CN]=Sierpinski 三角形
+
+[Desktop Action Setup]
+Exec=kxsconfig sierpinski
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun sierpinski -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sierpinski -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sierpinski3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/sierpinski3d.desktop
new file mode 100644
index 00000000..90fc723f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sierpinski3d.desktop
@@ -0,0 +1,220 @@
+[Desktop Entry]
+Exec=sierpinski3d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Sierpinski3D
+Name[de]=Sierpinski 3D
+Name[fo]=3D Sierpinski
+Name[fy]=Sierpinsky3D
+Name[he]=משולש סירפינסקי תלת־מימדי
+Name[hi]=सायरपिंस्की3डी
+Name[it]=Sierpinski 3D
+Name[ja]=シェルピンスキー 3D
+Name[ka]=სერპინსკი (3D)
+Name[mk]=Сиерпински3Д
+Name[nb]=Sierpinski 3D
+Name[nds]=Sierpinski 3D
+Name[ne]=त्रि-आयामिक सिरपिन्स्की
+Name[nn]=Sierpinski 3D
+Name[pl]=Sierpiński 3D
+Name[pt_BR]=Sierpinski 3D
+Name[ro]=Sierpinski 3D
+Name[ru]=Серпинский (3D)
+Name[sl]=Sierpinski 3D
+Name[sr]=Сјерпински 3Д
+Name[sr@Latn]=Sjerpinski 3D
+Name[sv]=Sierpinski 3D
+Name[ta]=செர்பின்ஸ்கி3டி
+Name[tg]=Серпинӣ (3D)
+Name[uk]=Серпинський (3D)
+Name[vi]=Sierpinski 3 chiều
+Name[zh_CN]=Sierpinski 立体三角锥
+
+[Desktop Action Setup]
+Exec=kxsconfig sierpinski3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun sierpinski3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sierpinski3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/slidescreen.desktop b/kscreensaver/kxsconfig/ScreenSavers/slidescreen.desktop
new file mode 100644
index 00000000..d6dce215
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/slidescreen.desktop
@@ -0,0 +1,241 @@
+[Desktop Entry]
+Exec=slidescreen
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=SlideScreen
+Name[af]=Skyfieskerm
+Name[br]=RuzSkramm
+Name[ca]=Trencaclosques deslliçant
+Name[cy]=LlithroSgrîn
+Name[da]=Glideskærm
+Name[de]=Schiebepuzzle
+Name[el]=Οθόνη σλάιντ
+Name[es]=Rompecabezas deslizante
+Name[et]=Ekraanipusle
+Name[eu]=Puzzle-pantaila
+Name[fa]=پردۀ لغزش
+Name[fi]=LiukuNäyttö
+Name[fr]=Taquin
+Name[fy]=Diaskerm
+Name[gl]=Pantalla deslizante
+Name[he]=תצרף מסך
+Name[hi]=चौखटा-दर-चौखटा
+Name[hu]=Puzzle
+Name[is]=Renna skjá
+Name[it]=Tessere scorrevoli
+Name[ja]=スライドスクリーン
+Name[ka]=სლაიდები
+Name[mk]=Слајд-екран
+Name[ms]=Skrin Leret
+Name[nb]=Skyfle skjermen
+Name[nds]=Schirmschuven
+Name[ne]=स्लाइड स्क्रिन
+Name[nl]=Diascherm
+Name[nn]=Skyv skjermen
+Name[pl]=Slajdy
+Name[pt]=Ecrã Deslizante
+Name[pt_BR]=Tela Deslizante
+Name[ro]=Ecran alunecător
+Name[ru]=Слайды на экране
+Name[sl]=Drseči zaslon
+Name[sr]=Клизање екрана
+Name[sr@Latn]=Klizanje ekrana
+Name[sv]=Skyffla skärmen
+Name[ta]=ஸ்லைட்திரை
+Name[tg]=Слайдҳо дар экран
+Name[th]=เลื่อนหน้าจอ
+Name[uk]=Зсув екрана
+Name[ven]=Tshikirini tsho peamaho
+Name[vi]=Màn hình Trượt
+Name[zh_CN]=滑动屏幕拼图
+Name[zh_TW]=滑動螢幕
+Name[zu]=Isikrini Sokushibilikayo
+
+[Desktop Action Setup]
+Exec=kxsconfig slidescreen
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun slidescreen -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun slidescreen -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/slip.desktop b/kscreensaver/kxsconfig/ScreenSavers/slip.desktop
new file mode 100644
index 00000000..0a52a35d
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/slip.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=slip
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Rapid Motion
+Name=Slip
+Name[br]=Stlejal
+Name[ca]=Deslliçament
+Name[cy]=Llithro
+Name[eo]=Ĉifonoj
+Name[es]=Deslizamiento
+Name[et]=Libistaja
+Name[eu]=Irristadura
+Name[fa]=لغزش
+Name[fi]=Liutus
+Name[fr]=Glissement
+Name[gl]=Deslizamento
+Name[he]=מנוע סילון
+Name[hi]=स्लिप
+Name[hu]=Csúszós
+Name[it]=Tessere colorate
+Name[ja]=スリップ
+Name[ka]=ჩამოცურება
+Name[lv]=Slīdošs
+Name[mk]=Лизгање
+Name[ms]=Gelincir
+Name[nb]=Glid
+Name[nds]=Afglitscht
+Name[ne]=स्लिप
+Name[pt]=Deslizamento
+Name[ru]=Сползание
+Name[sl]=Zdrs
+Name[sr]=Проклизавање
+Name[sr@Latn]=Proklizavanje
+Name[sv]=Glid
+Name[ta]=வழுக்கி
+Name[tg]=Оҳиста фуромадан
+Name[th]=ลื่นไถล
+Name[tr]=Kayma
+Name[uk]=Ковзання
+Name[ven]=Suvha
+Name[vi]=Trượt
+Name[xh]=Chwechwa ungabonwa
+Name[zh_CN]=滑动屏幕
+Name[zh_TW]=滑動
+Name[zu]=Faka ngocezu
+
+[Desktop Action Setup]
+Exec=kxsconfig slip
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun slip -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun slip -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sonar.desktop b/kscreensaver/kxsconfig/ScreenSavers/sonar.desktop
new file mode 100644
index 00000000..88096858
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sonar.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=sonar
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Sonar
+Name[bg]=Сонар
+Name[ca]=Sònar
+Name[el]=Σόναρ
+Name[eo]=Sonoro
+Name[et]=Radar
+Name[eu]=Sonarra
+Name[fa]=سونار
+Name[fi]=Tutka
+Name[he]=סונאר
+Name[hi]=सोनार
+Name[is]=Sónar
+Name[ja]=ソナー
+Name[ka]=სონარი
+Name[lt]=Sonaras
+Name[lv]=Saules
+Name[mk]=Сонар
+Name[ne]=सोनार
+Name[ru]=Сонар
+Name[sr]=Сонар
+Name[ta]=சோனார்
+Name[tg]=Сонар
+Name[th]=โซนาร์
+Name[uk]=Ехолот
+Name[vi]=Âm thanh
+Name[xh]=Isandi esiphezulu sokufumana izinto eziphantsi kwamanzi
+Name[zh_CN]=声纳
+Name[zh_TW]=聲納
+Name[zu]=Isona
+
+[Desktop Action Setup]
+Exec=kxsconfig sonar
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun sonar -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sonar -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/speedmine.desktop b/kscreensaver/kxsconfig/ScreenSavers/speedmine.desktop
new file mode 100644
index 00000000..18b853e7
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/speedmine.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=speedmine
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=SpeedMine
+Name[cy]=FfrwydonCyflymder
+Name[de]=Tunnelfahrt
+Name[et]=Kiirus kaevanduses
+Name[eu]=MeatzeAzkarra
+Name[fi]=NopeusKaivos
+Name[fr]=Mine rapide
+Name[he]=מנהרה
+Name[hi]=नव गति
+Name[hu]=Speedmine
+Name[ja]=スピードマイン
+Name[ka]=გვირაბი
+Name[mk]=Брзо копање
+Name[nb]=Hurtigminer
+Name[nds]=Hoge Fohrt
+Name[ne]=स्पिडमाइन
+Name[nn]=Snøggminer
+Name[pl]=Zjazd w kopalni
+Name[pt]=Minas
+Name[pt_BR]=Minas velozes
+Name[ru]=Шахта
+Name[sl]=Hitri rudnik
+Name[sr]=Брзински рудник
+Name[sr@Latn]=Brzinski rudnik
+Name[sv]=Snabbgruva
+Name[ta]=வேகக்கண்ணி
+Name[tg]=Тунел
+Name[uk]=Тунель
+Name[ven]=Mugodi wa luvhilo
+Name[vi]=Đồng hồ Tốc độ
+Name[xh]=Isantya Somgodi
+Name[zh_CN]=极速矿井
+
+[Desktop Action Setup]
+Exec=kxsconfig speedmine
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun speedmine -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun speedmine -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sphere.desktop b/kscreensaver/kxsconfig/ScreenSavers/sphere.desktop
new file mode 100644
index 00000000..aa6eaff2
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sphere.desktop
@@ -0,0 +1,244 @@
+[Desktop Entry]
+Exec=sphere
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Sphere
+Name[af]=Sfeer
+Name[bg]=Сфера
+Name[br]=Boull
+Name[ca]=Esfera
+Name[cs]=Koule
+Name[cy]=Sffêr
+Name[da]=Kugle
+Name[de]=Sphäre
+Name[el]=Σφαίρα
+Name[es]=Esfera
+Name[et]=Kera
+Name[eu]=Esfera
+Name[fa]=کره
+Name[fi]=Pallo
+Name[fo]=Kúla
+Name[fr]=Sphère
+Name[fy]=Sphear
+Name[gl]=Esfera
+Name[he]=כדורים צבעוניים
+Name[hi]=गोला
+Name[hu]=Gömb
+Name[is]=Hnöttur
+Name[it]=Sfera
+Name[ja]=球体
+Name[ka]=სფეროები
+Name[mk]=Сфера
+Name[ms]=Sfera
+Name[mt]=Sfera
+Name[nb]=Sfære
+Name[nds]=Kugel
+Name[ne]=गोला
+Name[nn]=Sfære
+Name[pl]=Sfera
+Name[pt]=Esfera
+Name[pt_BR]=Esfera
+Name[ro]=Sferă
+Name[ru]=Сфера
+Name[sl]=Sfera
+Name[sr]=Сфера
+Name[sr@Latn]=Sfera
+Name[sv]=Klot
+Name[ta]=கோளம்
+Name[tg]=Кура
+Name[tr]=Küre
+Name[uk]=Куля
+Name[uz]=Sfera
+Name[uz@cyrillic]=Сфера
+Name[vi]=Quả cầu
+Name[zh_CN]=球体
+Name[zh_TW]=球體
+Name[zu]=Umkhathi
+
+[Desktop Action Setup]
+Exec=kxsconfig sphere
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun sphere -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sphere -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/spheremonics.desktop b/kscreensaver/kxsconfig/ScreenSavers/spheremonics.desktop
new file mode 100644
index 00000000..7c9803dd
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/spheremonics.desktop
@@ -0,0 +1,226 @@
+[Desktop Entry]
+Exec=spheremonics
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Spheremonics
+Name[ca]=Esferamonics
+Name[cy]=Sfferemonics
+Name[de]=Sphärenharmonie
+Name[el]=Σφαιρικές Αρμονικές
+Name[es]=Esferamonics
+Name[et]=Sfääride harmoonia
+Name[eu]=Esferemoniakoak
+Name[gl]=Esferamonics
+Name[he]=כדורים הרמוניים
+Name[hi]=गोल बंद
+Name[hu]=Szferomónia
+Name[ja]=スフィアモニック
+Name[ka]=სფერული ჰარმონიკები
+Name[mk]=Сферомоници
+Name[mt]=Sferamoniċi
+Name[nb]=Sfæreharmonier
+Name[nds]=Kugelharmonien
+Name[ne]=स्फेयरमोनिक्स
+Name[nn]=Sfæreharmoniar
+Name[pl]=Sferomonia
+Name[pt]=Esferemónicos
+Name[pt_BR]=Esférico
+Name[ru]=Сферические гармоники
+Name[sl]=Sferemonija
+Name[sr]=Сферомоници
+Name[sr@Latn]=Sferomonici
+Name[sv]=Sfärharmonier
+Name[ta]=கோளாதாரம்
+Name[tg]=Кураҳои гармоникӣ
+Name[uk]=Сферономія
+Name[zh_CN]=球体谐波
+Name[zh_TW]=球形波
+
+[Desktop Action Setup]
+Exec=kxsconfig spheremonics
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun spheremonics -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun spheremonics -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/spiral.desktop b/kscreensaver/kxsconfig/ScreenSavers/spiral.desktop
new file mode 100644
index 00000000..57803376
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/spiral.desktop
@@ -0,0 +1,237 @@
+[Desktop Entry]
+Exec=spiral
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Spiral
+Name[bg]=Спирала
+Name[ca]=Espiral
+Name[cs]=Spirála
+Name[cy]=Troelliad
+Name[de]=Spirale
+Name[el]=Σπειροειδής
+Name[es]=Espiral
+Name[et]=Spiraal
+Name[eu]=Espirala
+Name[fa]=حلزونی
+Name[fi]=Spiraali
+Name[fo]=Spiralur
+Name[fr]=Spirale
+Name[gl]=Espiral
+Name[he]=ספירלה
+Name[hi]=सर्पिल
+Name[hu]=Spirál
+Name[is]=Spírall
+Name[it]=Spirale
+Name[ja]=スパイラル
+Name[ka]=სპირალი
+Name[mk]=Спирала
+Name[ms]=Pilin
+Name[mt]=Spirali
+Name[nds]=Spiraal
+Name[ne]=घुमाउरो
+Name[pl]=Spirala
+Name[pt]=Espiral
+Name[pt_BR]=Espiral
+Name[ro]=Spirală
+Name[ru]=Спираль
+Name[sl]=Spirala
+Name[sr]=Спирала
+Name[sr@Latn]=Spirala
+Name[ta]=முறுக்கு
+Name[tg]=Илтиво
+Name[th]=เกลียว
+Name[uk]=Спіральний
+Name[ven]=Zwo songanaho
+Name[vi]=Xoắn ốc
+Name[xh]=Ujijeko
+Name[zh_CN]=螺旋
+Name[zh_TW]=螺旋
+Name[zu]=Okuyindilinga
+
+[Desktop Action Setup]
+Exec=kxsconfig spiral
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun spiral -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun spiral -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/spotlight.desktop b/kscreensaver/kxsconfig/ScreenSavers/spotlight.desktop
new file mode 100644
index 00000000..352b0450
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/spotlight.desktop
@@ -0,0 +1,236 @@
+[Desktop Entry]
+Exec=spotlight
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Spotlight
+Name[ca]=Focus
+Name[cy]=GolauSbot
+Name[de]=Scheinwerferlicht
+Name[el]=Σημειακός προβολέας
+Name[es]=Foco
+Name[et]=Valgusvihk
+Name[eu]=Fokua
+Name[fa]=نور نقطه‌ای
+Name[fi]=Kohdevalo
+Name[fo]=Ljóskastari
+Name[fr]=Projecteur
+Name[fy]=Spotsje
+Name[gl]=Foco
+Name[he]=זרקור
+Name[hi]=स्पॉटलाइट
+Name[hu]=Reflektor
+Name[is]=Kastljós
+Name[ja]=スポットライト
+Name[ka]=ფანარი
+Name[mk]=Рефлектор
+Name[ms]=Lampu Sorot
+Name[nds]=Lichtstrahler
+Name[ne]=स्पटलाइट
+Name[nn]=Punktlys
+Name[pl]=Światło punktowe
+Name[pt]=Luz Pontual
+Name[pt_BR]=Holofote
+Name[ro]=Reflector
+Name[ru]=Фонарик
+Name[sl]=Žaromet
+Name[sr]=Рефлектор
+Name[sr@Latn]=Reflektor
+Name[ta]=இடஒளி
+Name[tg]=Фонусчаи кисагин
+Name[tr]=Işık
+Name[uk]=Прожектор
+Name[ven]=Luvhone
+Name[vi]=Đèn sân khấu
+Name[xh]=Ukukhanya
+Name[zh_CN]=聚光灯
+Name[zh_TW]=探照燈
+Name[zu]=Ilambu lokukhanyisa
+
+[Desktop Action Setup]
+Exec=kxsconfig spotlight
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun spotlight -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun spotlight -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/sproingies.desktop b/kscreensaver/kxsconfig/ScreenSavers/sproingies.desktop
new file mode 100644
index 00000000..9d911abe
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/sproingies.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=sproingies
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Sproingies (GL)
+Name[af]=Sproingies (Gl)
+Name[cy]=Sionceiddiau (GL)
+Name[de]=Treppenabstieg
+Name[eo]=Sprojngoj (graf. bibl.)
+Name[et]=Sproingyd (GL)
+Name[fi]=Jouset (GL)
+Name[he]=קפיצים (GL)
+Name[hi]=पतनशील (जीएल)
+Name[hu]=Sproingies (OpenGL)
+Name[is]=Gormur (GL)
+Name[ka]=ხტუნიები (GL)
+Name[mk]=Федерчиња (GL)
+Name[mt]=Molol (GL)
+Name[ne]=स्प्रोइङ्गिस (GL)
+Name[nn]=Sproing (GL)
+Name[pt_BR]=Molas (GL)
+Name[ru]=Перевёртыши на лестнице (GL)
+Name[sr]=Завојнице (GL)
+Name[sr@Latn]=Zavojnice (GL)
+Name[ta]=ஸ்ப்ரொய்ஞ்சிஸ் (GL)
+Name[tg]=Чаппашавӣ дар зинапоя (GL)
+Name[th]=ฟองน้ำน่ารัก (GL)
+Name[uk]=Стрибунці (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig sproingies
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun sproingies -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun sproingies -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/squiral.desktop b/kscreensaver/kxsconfig/ScreenSavers/squiral.desktop
new file mode 100644
index 00000000..a40d158b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/squiral.desktop
@@ -0,0 +1,211 @@
+[Desktop Entry]
+Exec=squiral
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Squiral
+Name[cy]=Sgwoellyn
+Name[et]=Spiruut
+Name[he]=ספירלות ריבועיות
+Name[hi]=स्क्विरल
+Name[ka]=კვადრატული სპირალი
+Name[mk]=Квадроспирали
+Name[nds]=Spiraat
+Name[ne]=स्क्वाइरल
+Name[pt]=Remoinho
+Name[ru]=Квадратные спирали
+Name[sr]=Квирала
+Name[sr@Latn]=Kvirala
+Name[ta]=அணில்
+Name[tg]=Илтивоҳҳои квадратӣ
+Name[uk]=Квадратні спіралі
+Name[vi]=Bạch tuộc
+Name[zh_CN]=方螺旋
+Name[zh_TW]=方形螺旋
+
+[Desktop Action Setup]
+Exec=kxsconfig squiral
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun squiral -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun squiral -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/stairs.desktop b/kscreensaver/kxsconfig/ScreenSavers/stairs.desktop
new file mode 100644
index 00000000..4eaae6a7
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/stairs.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=stairs
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Stairs (GL)
+Name[af]=Trappe (Gl)
+Name[br]=Diri (GL)
+Name[ca]=Escales (GL)
+Name[cs]=Schody (GL)
+Name[cy]=Grisiau (GL)
+Name[da]=Trapper (GL)
+Name[de]=Treppenstufen
+Name[el]=Σκάλες (GL)
+Name[eo]=Ŝtupoj (graf. bibl.)
+Name[es]=Escaleras (GL)
+Name[et]=Astmed (GL)
+Name[eu]=Izarrak (GL)
+Name[fa]=پلکان (GL)
+Name[fi]=Portaat (GL)
+Name[fo]=Trappur (GL)
+Name[fr]=Escaliers (GL)
+Name[fy]=Treppens (GL)
+Name[gl]=Escadas (GL)
+Name[he]=מדרגות אינסופיות (GL)
+Name[hi]=सीढ़ियाँ (जीएल)
+Name[hu]=Lépcső (OpenGL)
+Name[is]=Stigar (GL)
+Name[it]=Scale (GL)
+Name[ja]=階段 (GL)
+Name[ka]=საფეხურები (GL)
+Name[lt]=Laiptai (GL)
+Name[lv]=Pakāpieni (GL)
+Name[mk]=Скали (GL)
+Name[ms]=Tangga (GL)
+Name[mt]=Taraġ (GL)
+Name[nb]=Trapper (GL)
+Name[nds]=Trappstopen (GL)
+Name[ne]=भर्याङ (GL)
+Name[nn]=Trapper (GL)
+Name[pl]=Schody (GL)
+Name[pt]=Escadas (GL)
+Name[pt_BR]=Degraus (GL)
+Name[ro]=Trepte (GL)
+Name[ru]=Ступени (GL)
+Name[sk]=Schody (GL)
+Name[sl]=Stopnice (GL)
+Name[sr]=Степенице (GL)
+Name[sr@Latn]=Stepenice (GL)
+Name[sv]=Trappor (GL)
+Name[ta]=படிகள்(GL)
+Name[tg]=Зина (GL)
+Name[th]=ขั้นบันได (GL)
+Name[tr]=Basamaklar (GL)
+Name[uk]=Сходинки (GL)
+Name[uz]=Zina (GL)
+Name[uz@cyrillic]=Зина (GL)
+Name[ven]=Zwitepisi (GL)
+Name[vi]=Cầu thang (GL)
+Name[xh]=Amanqwanqwa (GL)
+Name[zh_CN]=楼梯(GL)
+Name[zh_TW]=階梯 (GL)
+Name[zu]=Izitembisi (GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig stairs
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun stairs -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun stairs -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/starfish.desktop b/kscreensaver/kxsconfig/ScreenSavers/starfish.desktop
new file mode 100644
index 00000000..0ccd56e5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/starfish.desktop
@@ -0,0 +1,245 @@
+[Desktop Entry]
+Exec=starfish
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Starfish
+Name[af]=Seester
+Name[br]=Steredenn-vor
+Name[ca]=Estrella de mar
+Name[cs]=Hvězdice
+Name[cy]=Seren y Môr
+Name[da]=Stjernefisk
+Name[de]=Seestern
+Name[eo]=Marstelo
+Name[es]=Estrella de mar
+Name[et]=Meritäht
+Name[eu]=Itsasizarra
+Name[fa]=ستارۀ دریایی
+Name[fi]=Tähtikala
+Name[fr]=Étoile de mer
+Name[fy]=Stjerfisk
+Name[gl]=Estrela de mar
+Name[he]=כוכבים
+Name[hi]=तारामछली
+Name[hu]=Csillaghal
+Name[is]=Krossfiskur
+Name[it]=Pesce stellare
+Name[ja]=ヒトデ
+Name[ka]=ზღვის ვარსკვლავი
+Name[lt]=Jūros žvaigždė
+Name[lv]=Jūras zvaigzne
+Name[mk]=Морска ѕвезда
+Name[ms]=Tapak Sulaiman
+Name[mt]=Stilla tal-Baħar
+Name[nb]=Sjøstjerne
+Name[nds]=Seesteern
+Name[ne]=स्टारफिस
+Name[nn]=Stjernefisk
+Name[pa]=ਤਾਰਾ ਮੱਛੀ
+Name[pt]=Peixe Estrela
+Name[pt_BR]=Estrela-do-mar
+Name[ru]=Звезда
+Name[sk]=Morská hviezdica
+Name[sl]=Morska zvezda
+Name[sr]=Морска звезда
+Name[sr@Latn]=Morska zvezda
+Name[sv]=Sjöstjärna
+Name[ta]=நட்சத்திரமீன்
+Name[tg]=Ситора
+Name[th]=ปลาดาว
+Name[tr]=Deniz Yıldızı
+Name[uk]=Морська зірка
+Name[ven]=Khovhe ya Vhukoni
+Name[vi]=Sao biển
+Name[xh]=Intlanzi emilise okwenkwenkwezi
+Name[zh_CN]=海星
+Name[zh_TW]=海星
+Name[zu]=Ufishi oyinkanyezi
+
+[Desktop Action Setup]
+Exec=kxsconfig starfish
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun starfish -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun starfish -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/starwars.desktop b/kscreensaver/kxsconfig/ScreenSavers/starwars.desktop
new file mode 100644
index 00000000..049fcc3e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/starwars.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=starwars
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+#it doesn't feel slow
+#X-KDE-Type=OpenGL
+X-KDE-Type=Fortune
+Name=StarWars
+Name[bg]=Междузвездни войни
+Name[br]=Brezel ar steredenn
+Name[cs]=Hvězdné války
+Name[de]=Krieg der Sterne
+Name[et]=Tähesõjad
+Name[fa]=جنگ ستارگان
+Name[fo]=Stjørnukríggj
+Name[fr]=Guerre des étoiles
+Name[he]=מלחמת הכוכבים
+Name[hi]=नक्षत्र युद्ध
+Name[hu]=Csillagok háborúja
+Name[is]=Stjörnustríð
+Name[it]=Guerre Stellari
+Name[ja]=スターウォーズ
+Name[ka]=ვარსკვლავური ომები
+Name[mk]=Војна на ѕвездите
+Name[nds]=Krieg vun de Steerns
+Name[ne]=स्टारवार
+Name[nn]=Stjernekrig
+Name[pl]=Gwiezdne Wojny
+Name[pt]=Guerra das Estrelas
+Name[pt_BR]=Guerra nas Estrelas
+Name[ro]=Star Wars
+Name[ru]=Звёздные войны
+Name[sl]=Vojna zvezd
+Name[sr]=Ратови звезда
+Name[sr@Latn]=Ratovi zvezda
+Name[sv]=Stjärnornas krig
+Name[ta]=நட்சத்திரபோர்கள்
+Name[tg]=Ҷанговарони ситорагин
+Name[th]=สงครามแห่งดวงดาว
+Name[uk]=Зоряні війни
+Name[ven]=Dzinnda dza naledzi
+Name[vi]=Chiến tranh giữa các Vì sao
+Name[zh_CN]=星球大战
+Name[zh_TW]=星際大戰
+
+[Desktop Action Setup]
+Exec=kxsconfig starwars
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun starwars -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun starwars -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/stonerview.desktop b/kscreensaver/kxsconfig/ScreenSavers/stonerview.desktop
new file mode 100644
index 00000000..a3a09aa4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/stonerview.desktop
@@ -0,0 +1,218 @@
+[Desktop Entry]
+Exec=stonerview
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=StonerView
+Name[de]=Steinplatten
+Name[et]=Pilgutarretaja
+Name[fr]=Fletteuse
+Name[he]=ריבועים מרקדים
+Name[hi]=स्टोनर-व्यू
+Name[hu]=Kőbe vésve
+Name[ja]=ストーンビュー
+Name[ka]=კვადრატული ტალღები
+Name[mk]=Живописен поглед
+Name[nb]=Steinvisning
+Name[nds]=Danzen Steen
+Name[ne]=स्टोनर दृश्य
+Name[nn]=Steinvising
+Name[pt_BR]=Visão das Rochas
+Name[ru]=Волны квадратов
+Name[sl]=Zadetkov pogled
+Name[sr]=Стонеров поглед
+Name[sr@Latn]=Stonerov pogled
+Name[sv]=Stenvisning
+Name[ta]=தெளிவில்லாத பார்வை
+Name[tg]=Мавҷҳои квадрат
+Name[uk]=Спіраль з квадратів
+Name[ven]=Mbonalelo ya muposi wa tombo
+Name[zh_CN]=藏宝图
+
+[Desktop Action Setup]
+Exec=kxsconfig stonerview
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun stonerview -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun stonerview -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/strange.desktop b/kscreensaver/kxsconfig/ScreenSavers/strange.desktop
new file mode 100644
index 00000000..f244c856
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/strange.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=strange
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Strange
+Name[af]=Vreemd
+Name[br]=Iskis
+Name[ca]=Estrany
+Name[cy]=Rhyfedd
+Name[da]=Mærkelig
+Name[de]=Seltsam
+Name[el]=Περίεργο
+Name[eo]=Strangaĵo
+Name[es]=Extraño
+Name[et]=Kummastav
+Name[eu]=Arraroa
+Name[fa]=ناشناس
+Name[fi]=Kummallinen
+Name[fo]=Løgið
+Name[fr]=Étrange
+Name[fy]=Frjemd
+Name[gl]=Extrano
+Name[he]=שדות מתפתלים
+Name[hi]=विलक्षण
+Name[hu]=Furcsa
+Name[is]=Undarlegt
+Name[it]=Strano
+Name[ja]=ストレンジ
+Name[ka]=უცნაური
+Name[lt]=Svetimas
+Name[lv]=Dīvains
+Name[mk]=Чудни атрактори
+Name[ms]=Pelik
+Name[mt]=Stramb
+Name[nb]=Underlig
+Name[nds]=Snaaksch
+Name[ne]=अनौठो
+Name[nn]=Rar
+Name[pa]=ਵਿਲੱਖਣ
+Name[pl]=Dziwny
+Name[pt]=Estranho
+Name[pt_BR]=Estranho
+Name[ro]=Ciudat
+Name[ru]=Странности
+Name[sk]=Cudzí
+Name[sl]=Čudno
+Name[sr]=Чудно
+Name[sr@Latn]=Čudno
+Name[sv]=Magisk
+Name[ta]=புதிய
+Name[tg]=Аҷибҳо
+Name[th]=แปลก
+Name[tr]=Sıradışı
+Name[uk]=Дивний
+Name[uz]=Gʻalati
+Name[uz@cyrillic]=Ғалати
+Name[ven]=Zwisadivhei
+Name[vi]=Kỳ lạ
+Name[xh]=Engaqhelekanga
+Name[zh_CN]=奇异吸引子
+Name[zh_TW]=奇異
+Name[zu]=Engajwayelekanga
+
+[Desktop Action Setup]
+Exec=kxsconfig strange
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun strange -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun strange -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/substrate.desktop b/kscreensaver/kxsconfig/ScreenSavers/substrate.desktop
new file mode 100644
index 00000000..9b5eceea
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/substrate.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=substrate
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Substrate
+Name[bg]=Субстрат
+Name[ca]=Substrat
+Name[cs]=Substrát
+Name[de]=Kristallsubstrat
+Name[el]=Υπόστρωμα
+Name[eo]=Subtavolo
+Name[es]=Substrato
+Name[et]=Substraat
+Name[eu]=Sustratua
+Name[fa]=زیربنا
+Name[fi]=Substraatti
+Name[fr]=Substrat
+Name[hu]=Szubsztrát
+Name[it]=Substrato
+Name[ja]=基盤
+Name[ka]=ღარიბი კვარტლები
+Name[mk]=Супстрат
+Name[ms]=Substrat
+Name[nb]=Substrat
+Name[nds]=Wassbodden
+Name[ne]=सबस्ट्रेट
+Name[nn]=Substrat
+Name[pt]=Substrato
+Name[ru]=Городские кварталы
+Name[sl]=Substrat
+Name[sr]=Супстрат
+Name[sr@Latn]=Supstrat
+Name[sv]=Substrat
+Name[tr]=Alt Tabaka
+Name[uk]=Міські квартали
+Name[vi]=Chất nền
+TryExec=xscreensaver
+X-KDE-Category=Gadgets & Simulations
+
+[Desktop Action Setup]
+Exec=kxsconfig substrate
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun substrate -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun substrate -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/superquadrics.desktop b/kscreensaver/kxsconfig/ScreenSavers/superquadrics.desktop
new file mode 100644
index 00000000..0053c6e5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/superquadrics.desktop
@@ -0,0 +1,234 @@
+[Desktop Entry]
+Exec=superquadrics
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Superquadrics (GL)
+Name[af]=Superkwadrate (Gl)
+Name[cs]=Superkvádříky (GL)
+Name[da]=Superkvadrat (GL)
+Name[de]=Superquadriken
+Name[eo]=Superkvadrato (graf. bibl.)
+Name[es]=Supercuádricas (GL)
+Name[et]=Supernelinurk (GL)
+Name[eu]=Superkuadrikoak (GL)
+Name[fa]=درجه دوم قوی (GL)
+Name[fi]=Matemaattisia kuvioita (GL)
+Name[fr]=Super quadriques (GL)
+Name[gl]=Supercuádricas (GL)
+Name[he]=סופר־מרובעים (GL)
+Name[hi]=विविधाकार (जीएल)
+Name[hu]=Szuperkvadrátok (GL)
+Name[it]=Superquadriche (GL)
+Name[ja]=超楕円体 (GL)
+Name[ka]=სუპერცილინდრი (GL)
+Name[lt]=Superkvadrika
+Name[mt]=Superkwadriċi (GL)
+Name[nb]=Superkvadratisk (GL)
+Name[nds]=Överquadersche (GL)
+Name[ne]=सुपरक्वाड्रिक्स (GL)
+Name[pt]=Super-quadráticas (GL)
+Name[pt_BR]=Superquadros (GL)
+Name[ro]=Supercuadrice (GL)
+Name[ru]=Суперцилиндр (GL)
+Name[sk]=Super-kvadratický (GL)
+Name[sl]=Superkvadrično (GL)
+Name[sr]=Суперквадрици (GL)
+Name[sr@Latn]=Superkvadrici (GL)
+Name[sv]=Superkvadrater (GL)
+Name[ta]=சிறப்பு க்வாட்ரிக்ஸ்
+Name[tg]=Суперцилиндр (GL)
+Name[tr]=Süperdörtgenler (GL)
+Name[uk]=Суперквадрат (GL)
+Name[ven]=Dzikwadirakakhulwane (GL)
+Name[vi]=Siêu bình phương (GL)
+Name[xh]=Izinto ezibuxande ezingaphezulu (GL)
+Name[zh_CN]=超二次曲面(GL)
+
+[Desktop Action Setup]
+Exec=kxsconfig superquadrics
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun superquadrics -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun superquadrics -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/swirl.desktop b/kscreensaver/kxsconfig/ScreenSavers/swirl.desktop
new file mode 100644
index 00000000..6556bb98
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/swirl.desktop
@@ -0,0 +1,244 @@
+[Desktop Entry]
+Exec=swirl
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Swirl
+Name[af]=Warrel
+Name[br]=Avel-dro
+Name[ca]=Remolí
+Name[cs]=Vír
+Name[cy]=Chwyrlïad
+Name[da]=Rotér
+Name[de]=Wirbel
+Name[el]=Στρόβιλος
+Name[eo]=Kirlo
+Name[es]=Remolino
+Name[et]=Keeris
+Name[eu]=Zurrunbiloa
+Name[fa]=چرخش
+Name[fi]=Värikuvioita
+Name[fr]=Spirale
+Name[fy]=Kolk
+Name[gl]=Remuiño
+Name[he]=מערבולת
+Name[hi]=भंवर
+Name[hu]=Méhraj
+Name[is]=Sveimur
+Name[it]=Vortice
+Name[ja]=渦巻
+Name[ka]=მორევი
+Name[lt]=Sukūrys
+Name[lv]=Virpulis
+Name[mk]=Вител
+Name[ms]=Pusar
+Name[mt]=Vortiċi
+Name[nb]=Virvel
+Name[nds]=Küsel
+Name[ne]=स्विर्ल
+Name[pl]=Wir
+Name[pt]=Remoinho
+Name[pt_BR]=Redemoinho
+Name[ru]=Завиток
+Name[sk]=Vír
+Name[sl]=Zvitek
+Name[sr]=Вртлог
+Name[sr@Latn]=Vrtlog
+Name[sv]=Virvel
+Name[ta]=சுழற்று
+Name[tg]=Каҷак
+Name[th]=น้ำวน
+Name[tr]=Girdap
+Name[uk]=Завиток
+Name[vi]=Nước xoáy
+Name[xh]=Intshukumo ejikojiko
+Name[zh_CN]=漩涡
+Name[zh_TW]=旋渦
+Name[zu]=Ukunyakaza olwandle
+
+[Desktop Action Setup]
+Exec=kxsconfig swirl
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun swirl -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun swirl -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/t3d.desktop b/kscreensaver/kxsconfig/ScreenSavers/t3d.desktop
new file mode 100644
index 00000000..8012fffa
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/t3d.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=t3d
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=Time 3D
+Name[af]=Tyd 3d
+Name[br]=Eur 3D
+Name[ca]=Temps 3D
+Name[cs]=3D hodiny
+Name[cy]=Amser 3D
+Name[da]=Tid 3D
+Name[de]=Zeit (dreidimensional)
+Name[el]=Ώρα 3D
+Name[eo]=Tempo 3D
+Name[es]=Tiempo 3D
+Name[et]=3D kell
+Name[eu]=Ordua 3D
+Name[fa]=زمان سه بعدی
+Name[fi]=Aika 3D
+Name[fo]=3D ur
+Name[fr]=Temps 3D
+Name[fy]=Tiid 3D
+Name[gl]=Tempo 3D
+Name[he]=שעון בועות
+Name[hi]=त्रिकाल
+Name[hu]=3D idő
+Name[is]=Tími 3D
+Name[it]=Tempo 3D
+Name[ja]=タイム 3D
+Name[ka]=დრო
+Name[lt]=Laikas 3D
+Name[lv]=Laiks 3D
+Name[mk]=3Д-часовник
+Name[mt]=Ħin 3D
+Name[nb]=Tid 3D
+Name[nds]=Tiet 3D
+Name[ne]=समय त्रि-आयामिक
+Name[nn]=Tid 3D
+Name[pa]=ਸਮਾਂ 3D
+Name[pl]=Czas 3D
+Name[pt]=Hora 3D
+Name[pt_BR]=Hora 3D
+Name[ro]=Timp 3D
+Name[ru]=Время
+Name[sk]=Čas 3D
+Name[sl]=3D čas
+Name[sr]=Време 3Д
+Name[sr@Latn]=Vreme 3D
+Name[sv]=Tid 3D
+Name[ta]=நேரம் 3டி
+Name[tg]=Вақт
+Name[th]=เวลา 3 มิติ
+Name[tr]=Üç Boyutlu Zaman
+Name[uk]=Тривимірний час
+Name[uz]=Vaqt 3D
+Name[uz@cyrillic]=Вақт 3D
+Name[ven]=Tshifhinga tsha 3D
+Name[vi]=Thời gian 3 chiều
+Name[xh]=Ixesha 3D
+Name[zh_CN]=立体时钟
+Name[zh_TW]=3D 時鐘
+Name[zu]=Isikhathi 3D
+
+[Desktop Action Setup]
+Exec=kxsconfig t3d
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun t3d -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun t3d -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/tangram.desktop b/kscreensaver/kxsconfig/ScreenSavers/tangram.desktop
new file mode 100644
index 00000000..c127d49f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/tangram.desktop
@@ -0,0 +1,204 @@
+[Desktop Entry]
+Exec=tangram
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Tangram
+Name[eo]=Tangramo
+Name[fa]=معمای چینی
+Name[ja]=タングラム
+Name[ka]=ტანგრამი
+Name[mk]=Танграм
+Name[ne]=ट्यानग्राम
+Name[ru]=Китайская головоломка
+Name[sr]=Танграм
+Name[tr]=Çin Bulmacası
+Name[uk]=Танграма
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig tangram
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun tangram -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun tangram -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/thornbird.desktop b/kscreensaver/kxsconfig/ScreenSavers/thornbird.desktop
new file mode 100644
index 00000000..0208a2e4
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/thornbird.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Exec=thornbird
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Thornbird
+Name[cy]=AderynMieri
+Name[de]=Dornenvogel
+Name[es]=Pájaro espino
+Name[et]=Torklind
+Name[eu]=Arantza-txoria
+Name[fr]=Oiseau épineux
+Name[gl]=Paxaro espino
+Name[he]=ציפור בשיח קוצני
+Name[hi]=थॉर्न-बर्ड
+Name[is]=Þyrnifuglar
+Name[ka]=ბულბული და ვარდი
+Name[mk]=Птица на трн
+Name[nb]=Tornefugl
+Name[nds]=Doornvagel
+Name[ne]=थोर्नबर्ड
+Name[nn]=Tornefugl
+Name[pl]=Ptak w ciernistych krzewach
+Name[pt_BR]=Pássaro
+Name[ru]=Птица в колючках
+Name[sl]=Trnavi ptič
+Name[sr]=Трноптица
+Name[sr@Latn]=Trnoptica
+Name[sv]=Törnfågel
+Name[ta]=முள்பறவை
+Name[tg]=Парранда бо хорҳо
+Name[uk]=Колючки
+Name[ven]=Tshinoni tsha mupfa
+Name[vi]=Tiếng chim hót trong bụi mận gai
+Name[xh]=Intaka yemeva
+Name[zh_CN]=荆棘鸟
+Name[zh_TW]=刺鳥
+
+[Desktop Action Setup]
+Exec=kxsconfig thornbird
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun thornbird -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun thornbird -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/timetunnel.desktop b/kscreensaver/kxsconfig/ScreenSavers/timetunnel.desktop
new file mode 100644
index 00000000..e8d7e0f5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/timetunnel.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Exec=timetunnel
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Timetunnel
+Name[bg]=Тунел на времето
+Name[ca]=Túnel del temps
+Name[cs]=Časový tunel
+Name[de]=Zeittunnel
+Name[eo]=TempTunelo
+Name[es]=Tunel temporal
+Name[et]=Ajatunnel
+Name[eu]=Denbora-tunela
+Name[fi]=Aikatunneli
+Name[fr]=Tunnel temporel
+Name[fy]=Tiidtunnel
+Name[gl]=Tunel no tempo
+Name[he]=מנהרת הזמן
+Name[hu]=Időalagút
+Name[is]=Tímagöng
+Name[it]=Tunnel temporale
+Name[ja]=タイムトンネル
+Name[ka]=დროის გვირაბი
+Name[mk]=Временски тунел
+Name[nb]=Tidstunnel
+Name[nds]=Tiettunnel
+Name[ne]=टाइम टनेल
+Name[nn]=Tidstunnel
+Name[pt]=Túnel Temporal
+Name[pt_BR]=Túnel do Tempo
+Name[ru]=Сияющий туннель
+Name[sl]=Časovni predor
+Name[sr]=Временски тунел
+Name[sr@Latn]=Vremenski tunel
+Name[sv]=Tidstunnel
+Name[tr]=Zaman Tüneli
+Name[uk]=Часовий тунель
+Name[vi]=Đường hầm thời gian
+Name[zh_TW]=時光隧道
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig timetunnel
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun timetunnel -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun timetunnel -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/topblock.desktop b/kscreensaver/kxsconfig/ScreenSavers/topblock.desktop
new file mode 100644
index 00000000..41491056
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/topblock.desktop
@@ -0,0 +1,204 @@
+[Desktop Entry]
+Exec=topblock
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=topBlock
+Name[ca]=Bloc a dalt
+Name[fr]=Chute de blocs
+Name[it]=Massima sicurezza
+Name[nds]=Böverblock
+Name[pl]=Blok
+Name[ru]=Конструктор Лего
+Name[sk]=hornýBlok
+Name[sr]=Горњи блок
+Name[sr@Latn]=Gornji blok
+Name[sv]=Toppbitar
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig topblock
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun topblock -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun topblock -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/triangle.desktop b/kscreensaver/kxsconfig/ScreenSavers/triangle.desktop
new file mode 100644
index 00000000..09a7cb41
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/triangle.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=triangle
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Triangle
+Name[af]=Driehoek
+Name[bg]=Триъгълник
+Name[br]=Tric'horn
+Name[cs]=Trojúhelník
+Name[cy]=Triongl
+Name[da]=Trekant
+Name[de]=Dreieck
+Name[el]=Τρίγωνο
+Name[eo]=Triangulo
+Name[es]=Triángulo
+Name[et]=Kolmnurk
+Name[eu]=Triangelua
+Name[fa]=مثلث
+Name[fi]=Kolmio
+Name[fo]=Trýkantur
+Name[fy]=Triangel
+Name[gl]=Triángulo
+Name[he]=רכס הרים
+Name[hi]=त्रिभुज
+Name[hu]=Háromszög
+Name[is]=Þríhyrningur
+Name[it]=Triangolo
+Name[ja]=三角形
+Name[ka]=სამკუთხედი
+Name[lt]=Trikampis
+Name[lv]=Trīsstūris
+Name[mk]=Триаголник
+Name[ms]=Segi Tiga
+Name[mt]=Triangolu
+Name[nb]=Triangel
+Name[nds]=Dre'eck
+Name[ne]=त्रिभुज
+Name[nn]=Triangel
+Name[pa]=ਤਿਕੋਣ
+Name[pl]=Trójkąt
+Name[pt]=Triângulo
+Name[pt_BR]=Triângulo
+Name[ro]=Triunghi
+Name[ru]=Треугольник
+Name[sk]=Trojuholník
+Name[sl]=Trikotnik
+Name[sr]=Троугао
+Name[sr@Latn]=Trougao
+Name[sv]=Triangel
+Name[ta]=முக்கோணம்
+Name[tg]=Секунҷа
+Name[th]=สามเหลี่ยม
+Name[tr]=Üçgen
+Name[uk]=Трикутник
+Name[uz]=Uchburchak
+Name[uz@cyrillic]=Учбурчак
+Name[ven]=Tshitandeledzi tharu
+Name[vi]=Tam giác
+Name[xh]=Nxanthathu
+Name[zh_CN]=三角形
+Name[zh_TW]=三角形
+Name[zu]=Unxantathu
+
+[Desktop Action Setup]
+Exec=kxsconfig triangle
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun triangle -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun triangle -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/truchet.desktop b/kscreensaver/kxsconfig/ScreenSavers/truchet.desktop
new file mode 100644
index 00000000..33cba664
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/truchet.desktop
@@ -0,0 +1,207 @@
+[Desktop Entry]
+Exec=truchet
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=Truchet
+Name[he]=תבניות ריצוף
+Name[hi]=ट्रूशे
+Name[ka]=ლაბირინთი II
+Name[mk]=Труше
+Name[ne]=ट्रचेट
+Name[ru]=Лабиринт II
+Name[sl]=Izloček
+Name[sr]=Треше
+Name[sr@Latn]=Treše
+Name[ta]=ட்ரூச்சட்
+Name[tg]=Лабиринт II
+Name[uk]=Труше
+Name[zh_CN]=拼接线条
+
+[Desktop Action Setup]
+Exec=kxsconfig truchet
+X-KDE-Category=Miscellaneous
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun truchet -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun truchet -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/twang.desktop b/kscreensaver/kxsconfig/ScreenSavers/twang.desktop
new file mode 100644
index 00000000..006d3cc5
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/twang.desktop
@@ -0,0 +1,217 @@
+[Desktop Entry]
+Exec=twang
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Twang
+Name[ca]=Vibrant
+Name[de]=Klangschwingung
+Name[es]=Vibrante
+Name[et]=Plõnn
+Name[fa]=صدای( دینگ)
+Name[he]=תולש מסך
+Name[hi]=झंकार
+Name[ka]=ჭღარუნი
+Name[mk]=Тванг
+Name[nds]=Sproing
+Name[ne]=झन्कार
+Name[pt_BR]=Vibração
+Name[ru]=Бренчание
+Name[sk]=Brnknutie
+Name[sl]=Brnenje
+Name[sr]=Тванг
+Name[sr@Latn]=Tvang
+Name[ta]=ட்வாங்
+Name[tg]=Тинг-тинг
+Name[uk]=Подрібнення
+Name[xh]=Isandi esiphakamileyo esishukumayo
+Name[zh_CN]=拨弄屏幕碎块
+Name[zh_TW]=砰
+
+[Desktop Action Setup]
+Exec=kxsconfig twang
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun twang -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun twang -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/vermiculate.desktop b/kscreensaver/kxsconfig/ScreenSavers/vermiculate.desktop
new file mode 100644
index 00000000..22a8a85e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/vermiculate.desktop
@@ -0,0 +1,227 @@
+[Desktop Entry]
+Exec=vermiculate
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=Vermiculate
+Name[ca]=Vermiculat
+Name[cy]=Llyngyrol
+Name[de]=Wurmförmig
+Name[el]=Σκωληκοειδής
+Name[es]=Vermiculado
+Name[et]=Usjas
+Name[fa]=موج‌دار
+Name[fr]=Vermiculé
+Name[gl]=Vermiculado
+Name[he]=פיתולי תולעת
+Name[hi]=कृमियाँ
+Name[ka]=ჭიაყელები
+Name[mk]=Црвчиња
+Name[ms]=Vermiculat
+Name[mt]=Vermiculazzjoni
+Name[nb]=Markibulere
+Name[nds]=Verwormen
+Name[ne]=भर्मिकुलेट
+Name[nn]=Maskeformar
+Name[pl]=Robaczki
+Name[pt]=Vermicular
+Name[pt_BR]=Vermiculado
+Name[ro]=Viermuieli
+Name[ru]=Черви
+Name[sl]=Razjedanje
+Name[sr]=Црволико
+Name[sr@Latn]=Crvoliko
+Name[sv]=Maskformer
+Name[ta]=புழுநெளிக்கப்படுதல்
+Name[tg]=Кирмҳо
+Name[uk]=Хробаки
+Name[vi]=Sâu mọt
+Name[zh_CN]=蠕虫窜动
+Name[zh_TW]=蠕蟲竄動
+
+[Desktop Action Setup]
+Exec=kxsconfig vermiculate
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun vermiculate -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun vermiculate -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/vidwhacker.desktop b/kscreensaver/kxsconfig/ScreenSavers/vidwhacker.desktop
new file mode 100644
index 00000000..fe4d1074
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/vidwhacker.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Exec=vidwhacker
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=vidwhacker
+Name[ca]=VideoPirata
+Name[cy]=fid-darydd
+Name[de]=Videoprügler
+Name[es]=VideoHacker
+Name[et]=Videonikerdaja
+Name[gl]=VideoHacker
+Name[he]=מסנן וידאו
+Name[hi]=विडव्हैकर
+Name[hu]=Vidwhacker
+Name[ka]=ვიდეო
+Name[mk]=Видеохакер
+Name[nb]=Bankeskjerm
+Name[nds]=Video verdaakst
+Name[ne]=भिडह्याकर
+Name[nn]=Bankeskjerm
+Name[pl]=Wideomagik
+Name[pt_BR]=Hacker
+Name[ro]=Vidwhacker
+Name[ru]=Видео
+Name[sl]=Video heker
+Name[sr]=Умлаћивач видеа
+Name[sr@Latn]=Umlaćivač videa
+Name[sv]=Banka skärm
+Name[ta]=விட் அடிப்பான்
+Name[tg]=Видео
+Name[uk]=Відео
+Name[vi]=Chia phần Video
+Name[zh_CN]=视频混排
+
+[Desktop Action Setup]
+Exec=kxsconfig vidwhacker
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun vidwhacker -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun vidwhacker -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/vines.desktop b/kscreensaver/kxsconfig/ScreenSavers/vines.desktop
new file mode 100644
index 00000000..4bb5e2db
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/vines.desktop
@@ -0,0 +1,241 @@
+[Desktop Entry]
+Exec=vines
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Vines
+Name[af]=Ranke
+Name[bg]=Лози
+Name[br]=Gwiniegi
+Name[ca]=Vinyes
+Name[cs]=Úponky
+Name[cy]=Gwinwyddenau
+Name[da]=Vinranker
+Name[de]=Reben
+Name[el]=Περικοκλάδες
+Name[es]=Viñas
+Name[et]=Väädid
+Name[eu]=Mahastuak
+Name[fa]=تاکها
+Name[fi]=Lehdet
+Name[fr]=Vignes
+Name[gl]=Viñedos
+Name[he]=שיחים
+Name[hi]=बेलें
+Name[hu]=Indák
+Name[it]=Tralci
+Name[ja]=ブドウ
+Name[ka]=ვაზი
+Name[lt]=Vijoklis
+Name[lv]=Vīteņaugi
+Name[mk]=Ползавци
+Name[ms]=Pokok Anggur
+Name[mt]=Dwieli
+Name[nb]=Vinranker
+Name[nds]=Wientelgen
+Name[ne]=लहरा
+Name[pl]=Winorośle
+Name[pt]=Trepadeiras
+Name[ru]=Виноградные лозы
+Name[sk]=Réva
+Name[sl]=Ovijalke
+Name[sr]=Живице
+Name[sr@Latn]=Živice
+Name[sv]=Vinrankor
+Name[ta]=கொடிகள்
+Name[tg]=Буттабедҳои ангур
+Name[th]=เถาวัลย์
+Name[tr]=Sarmaşıklar
+Name[uk]=Виноградні лози
+Name[vi]=Nho
+Name[xh]=Imidiliya
+Name[zh_CN]=爬藤
+Name[zh_TW]=藤蔓
+Name[zu]=Imidiliya
+
+[Desktop Action Setup]
+Exec=kxsconfig vines
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun vines -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun vines -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/voronoi.desktop b/kscreensaver/kxsconfig/ScreenSavers/voronoi.desktop
new file mode 100644
index 00000000..3f4fe7f8
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/voronoi.desktop
@@ -0,0 +1,198 @@
+[Desktop Entry]
+Exec=voronoi
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=Voronoi
+Name[nds]=Voronen
+Name[ru]=Поверхности
+Name[sr]=Вороној
+Name[sr@Latn]=Voronoj
+TryExec=xscreensaver
+X-KDE-Type=OpenGL
+X-KDE-Category=OpenGL Screen Savers
+
+[Desktop Action Setup]
+Exec=kxsconfig voronoi
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun voronoi -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun voronoi -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/wander.desktop b/kscreensaver/kxsconfig/ScreenSavers/wander.desktop
new file mode 100644
index 00000000..72c693a9
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/wander.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=wander
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Wander
+Name[af]=Wandel
+Name[ca]=Errar
+Name[cs]=Pochod
+Name[cy]=Crwydro
+Name[de]=Umherwandern
+Name[el]=Περιπλάνηση
+Name[es]=Errar
+Name[et]=Rändamine
+Name[eu]=Erratu
+Name[fa]=سرگردان
+Name[fi]=Samoilija
+Name[fr]=Louvoyage
+Name[gl]=Errar
+Name[he]=מסלולים אקראיים
+Name[hi]=भटकन
+Name[ja]=さまよう
+Name[ka]=ხეტიალი
+Name[mk]=Прошетка
+Name[ms]=Rayau
+Name[mt]=Ippassiġġja
+Name[nb]=Vandrer
+Name[nds]=Rümbuttjern
+Name[ne]=वन्डर
+Name[nn]=Vandrar
+Name[pl]=Wędrówka
+Name[pt]=Vaguear
+Name[pt_BR]=Passeio
+Name[ru]=Блуждание
+Name[sl]=Tavanje
+Name[sr]=Лутање
+Name[sr@Latn]=Lutanje
+Name[sv]=Vandra
+Name[ta]=அலை
+Name[tg]=Роҳ гум кардан
+Name[uk]=Блукання
+Name[vi]=Lang thang
+Name[xh]=Ukuzula
+Name[zh_CN]=徘徊
+Name[zh_TW]=漫步
+
+[Desktop Action Setup]
+Exec=kxsconfig wander
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun wander -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun wander -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/webcollage.desktop b/kscreensaver/kxsconfig/ScreenSavers/webcollage.desktop
new file mode 100644
index 00000000..335a6626
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/webcollage.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=webcollage
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+Name=Web Collage
+Name[bg]=Уеб колаж
+Name[ca]=Collage web
+Name[cy]=Gludwaith Gwê
+Name[da]=Webcollage
+Name[de]=Web-Kollage
+Name[et]=Veebikollaaž
+Name[eu]=Web Collage-a
+Name[fa]=اختلاط رنگهای وب
+Name[fi]=Web kokoelma
+Name[fr]=Collage Web
+Name[fy]=Web Kollaazje
+Name[he]=קולאז' אינטרנט
+Name[hi]=वेब कोलॉज
+Name[is]=Web safn
+Name[it]=Collage Web
+Name[ja]=ウェブコラージュ
+Name[ka]=ვებ გვერდები
+Name[mk]=Веб-колаж
+Name[ms]=Kolaj Web
+Name[mt]=Taħlita Web
+Name[nb]=Nett-collage
+Name[nds]=Nett-Tosamenstellen
+Name[ne]=वेब कलेज
+Name[nn]=Vevblanding
+Name[pa]=ਵੈੱਬ ਕਾਲਜ
+Name[pl]=Kolaż WWW
+Name[pt]=Colagem Web
+Name[ro]=Colaj web
+Name[ru]=Коллаж веб-страниц
+Name[sl]=Spletni kolaž
+Name[sr]=Веб колаж
+Name[sr@Latn]=Veb kolaž
+Name[sv]=Webbcollage
+Name[ta]=இணைய Collage
+Name[tg]=Веб-саҳифаи Коллаж
+Name[uk]=Веб-колаж
+Name[vi]=Cắt dán Mạng
+Name[xh]=Uncamathelo le Web
+Name[zh_CN]=网页拼贴画
+Name[zh_TW]=網頁拼貼
+Name[zu]=Umdwebo wezithombe ze-Web
+
+[Desktop Action Setup]
+Exec=kxsconfig webcollage
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun webcollage -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun webcollage -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/whirlwindwarp.desktop b/kscreensaver/kxsconfig/ScreenSavers/whirlwindwarp.desktop
new file mode 100644
index 00000000..7ca54758
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/whirlwindwarp.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=whirlwindwarp
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=WhirlwindWarp
+Name[ca]=Terbolí
+Name[cy]=AnffurfChwyrlwynt
+Name[de]=Wirbelwind
+Name[es]=Torbellino
+Name[et]=Kõver tuulispask
+Name[eu]=Zurrunbilo hodia
+Name[fa]=انحراف گردبادی
+Name[fr]=Vents tourbillonnants
+Name[gl]=Remoiño
+Name[he]=קפיצת חלל
+Name[hi]=चक्रवात-आवरण
+Name[hu]=Örvény az örvényben
+Name[it]=Turbine Deformato
+Name[ka]=უდაბნოს შტორმი
+Name[mk]=Виорни ѕвезди
+Name[nb]=Virvelvind
+Name[nds]=Küselwind-Vertarren
+Name[nn]=Kvervelvind
+Name[pt]=Remoinho 2
+Name[pt_BR]=Furacão
+Name[ru]=Безумный вихрь песчинок
+Name[sl]=Vrtinčast zavoj
+Name[sr]=Окретно изобличавање
+Name[sr@Latn]=Okretno izobličavanje
+Name[sv]=Virvelvind
+Name[ta]=சுழற்காற்றுச்சிறை
+Name[tg]=Гирдоби девонаи регрезагин
+Name[uk]=Піщаний вихор
+Name[vi]=Gió cuốn Bao bọc
+Name[xh]=Jikelezisa
+Name[zh_CN]=旋风
+Name[zh_TW]=旋風
+
+[Desktop Action Setup]
+Exec=kxsconfig whirlwindwarp
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun whirlwindwarp -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun whirlwindwarp -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/whirlygig.desktop b/kscreensaver/kxsconfig/ScreenSavers/whirlygig.desktop
new file mode 100644
index 00000000..61728398
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/whirlygig.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=whirlygig
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Illusions of Depth
+Name=WhirlyGig
+Name[cy]=Chwyrligwgan
+Name[de]=Bälle auf der Welle
+Name[et]=Karussell
+Name[he]=שרשראות
+Name[hi]=भंवरमा
+Name[ka]=სიამის ბურთები
+Name[mk]=Вртлива забава
+Name[nb]=Virveldans
+Name[nds]=Küselbäll
+Name[nn]=Kverveldans
+Name[pl]=Kołowrót
+Name[pt]=Ondulação
+Name[pt_BR]=Rodopio
+Name[ru]=Неразлучные шарики
+Name[sl]=Vrtinec pik
+Name[sr]=Коло лопти
+Name[sr@Latn]=Kolo lopti
+Name[sv]=Virveldans
+Name[tg]=Кураҳои ҷудонашаванда
+Name[uk]=Веселі кульки
+Name[vi]=Cuộn xoáy lớn
+Name[xh]=I Gig Ejijekayo
+Name[zh_CN]=旋转点阵
+
+[Desktop Action Setup]
+Exec=kxsconfig whirlygig
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun whirlygig -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun whirlygig -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/worm.desktop b/kscreensaver/kxsconfig/ScreenSavers/worm.desktop
new file mode 100644
index 00000000..dad66822
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/worm.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=worm
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=Worm
+Name[af]=Wurm
+Name[bg]=Червей
+Name[br]=Buzug
+Name[ca]=Cuc
+Name[cs]=Červ
+Name[cy]=Abwydyn
+Name[da]=Orm
+Name[de]=Wurm
+Name[el]=Σκουλήκι
+Name[es]=Gusano
+Name[et]=Ussike
+Name[eu]=Harra
+Name[fa]=کرم
+Name[fi]=Mato
+Name[fo]=Ormur
+Name[fr]=Ver
+Name[fy]=Wjirm
+Name[gl]=Miñoca
+Name[he]=תולעים
+Name[hi]=कृमि
+Name[hu]=Kukac
+Name[is]=Ormur
+Name[it]=Verme
+Name[ja]=ワーム
+Name[ka]=ჭიაყელა
+Name[lt]=Kirminas
+Name[lv]=Tārps
+Name[mk]=Црв
+Name[ms]=Cacing
+Name[mt]=Dudu
+Name[nb]=Mark
+Name[ne]=वर्म
+Name[nn]=Orm
+Name[pa]=ਕੀੜਾ
+Name[pl]=Robak
+Name[pt]=Lagarta
+Name[pt_BR]=Verme
+Name[ro]=Vierme
+Name[ru]=Червячки
+Name[sk]=Červík
+Name[sl]=Črv
+Name[sr]=Црв
+Name[sr@Latn]=Crv
+Name[sv]=Mask
+Name[ta]=புழு
+Name[tg]=Кирмчаҳакҳо
+Name[th]=หนอน
+Name[tr]=Solucan
+Name[uk]=Хробак
+Name[uz]=Chuvalchang
+Name[uz@cyrillic]=Чувалчанг
+Name[ven]=Tshivhungu
+Name[vi]=Giun
+Name[xh]=Intshulube
+Name[zh_CN]=蠕虫
+Name[zh_TW]=蟲
+Name[zu]=Isikelemu
+
+[Desktop Action Setup]
+Exec=kxsconfig worm
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun worm -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun worm -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/wormhole.desktop b/kscreensaver/kxsconfig/ScreenSavers/wormhole.desktop
new file mode 100644
index 00000000..e29e045e
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/wormhole.desktop
@@ -0,0 +1,235 @@
+[Desktop Entry]
+Exec=wormhole
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=Wormhole
+Name[bg]=Космически тунел
+Name[br]=Toull buzug
+Name[ca]=Forat de cucs
+Name[cs]=Červí díra
+Name[de]=Wurmloch
+Name[el]=Σκουληκότρυπα
+Name[eo]=VermTruo
+Name[es]=Carcoma
+Name[et]=Ussiauk
+Name[eu]=Har-zuloa
+Name[fa]=کرم خوردگی
+Name[fi]=Madonreikä
+Name[fr]=Tunnel spatial
+Name[fy]=Wjirmgat
+Name[gl]=Buraco do verme
+Name[he]=חור טולעת
+Name[hi]=कृमि-छिद्र
+Name[is]=Ormagöng
+Name[it]=Buco nero
+Name[ja]=ワームホール
+Name[ka]=სამყაროს გვირაბი
+Name[mk]=Црвја дупка
+Name[ms]=Lubang Cacing
+Name[nb]=Markhull
+Name[nds]=Wormlock
+Name[ne]=वोर्महोल
+Name[nn]=Ormehol
+Name[pl]=Dziura z robakami
+Name[pt]=Buraco de Lagarta
+Name[pt_BR]=Buraco de Vermes
+Name[ro]=Gaură de vierme
+Name[ru]=Туннели Вселенной
+Name[sl]=Črvja luknja
+Name[sr]=Црвоточина
+Name[sr@Latn]=Crvotočina
+Name[sv]=Maskhål
+Name[tg]=Тунели коинот
+Name[tr]=Solucandeliği
+Name[uk]=Хробакова дірка
+Name[vi]=Hố giun
+Name[zh_CN]=虫洞
+Name[zh_TW]=蟲洞
+X-KDE-Category=Rapid Motion
+
+[Desktop Action Setup]
+Exec=kxsconfig wormhole
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun wormhole -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun wormhole -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xanalogtv.desktop b/kscreensaver/kxsconfig/ScreenSavers/xanalogtv.desktop
new file mode 100644
index 00000000..dc4333f0
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xanalogtv.desktop
@@ -0,0 +1,213 @@
+[Desktop Entry]
+Exec=xanalogtv
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow,Root,Setup;
+Name=XAnalogTV
+Name[de]=Analog-TV-Bildstörungen
+Name[el]=Αναλογική τηλεόραση X
+Name[es]=Televisión analógica
+Name[fr]=Vieille TV
+Name[gl]=X TV analóxica
+Name[he]=טלויזיה אנאלוגית
+Name[hi]=एक्स-एनॉलाग-टीवी
+Name[it]=TV analogica
+Name[ka]=ძველი ტელევიზორი
+Name[mk]=X-аналогно ТВ
+Name[nds]=XOolFeernsehn
+Name[ro]=TV analogic
+Name[ru]=Старенький телевизор
+Name[sr]=X аналогни ТВ
+Name[sr@Latn]=X analogni TV
+Name[sv]=X-analogtv
+Name[tg]=Оинаи нилгуни кӯҳна
+Name[uk]=Старий телевізор (X)
+Name[vi]=Tivi Tương tự X
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+
+[Desktop Action Setup]
+Exec=kxsconfig xanalogtv
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun xanalogtv -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xanalogtv -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xflame.desktop b/kscreensaver/kxsconfig/ScreenSavers/xflame.desktop
new file mode 100644
index 00000000..7fd3081c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xflame.desktop
@@ -0,0 +1,239 @@
+[Desktop Entry]
+Exec=xflame
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Gadgets & Simulations
+Name=XFlame
+Name[af]=Xvlam
+Name[br]=XFlamm
+Name[ca]=XFlama
+Name[cs]=Plamen
+Name[cy]=XFflam
+Name[da]=XFlamme
+Name[de]=Flamme
+Name[el]=X φλόγα
+Name[es]=XLlama
+Name[et]=XLeek
+Name[eu]=XSugarra
+Name[fi]=XLiekki
+Name[fo]=Flammur
+Name[fr]=X-Flamme
+Name[fy]=XFlam
+Name[gl]=XLapa
+Name[he]=אש בוערת
+Name[hi]=एक्स-लपटें
+Name[hu]=X-láng
+Name[is]=X Logar
+Name[it]=XFiamma
+Name[ka]=ალი (Х)
+Name[lv]=XLiesma
+Name[mk]=X-Оган
+Name[mt]=XFjamma
+Name[nb]=Xflamme
+Name[nds]=XFlamm
+Name[nn]=XFlamme
+Name[pt]=Chama
+Name[ro]=Flăcări
+Name[ru]=Пламя (Х)
+Name[sk]=Xplameň
+Name[sl]=XOgenj
+Name[sr]=X племен
+Name[sr@Latn]=X plemen
+Name[sv]=X-flamma
+Name[ta]=Xதீ பிழம்பு
+Name[tg]=Шӯълаи (Х)
+Name[th]=เปลวไฟ X
+Name[tr]=X Alevi
+Name[uk]=Полум'я (X)
+Name[ven]=Khavhu ya X
+Name[vi]=Ngọn lửa X
+Name[xh]=Idangatye le X
+Name[zh_CN]=火焰
+Name[zu]=X Ilangabi
+
+[Desktop Action Setup]
+Exec=kxsconfig xflame
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun xflame -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xflame -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xjack.desktop b/kscreensaver/kxsconfig/ScreenSavers/xjack.desktop
new file mode 100644
index 00000000..7393fa54
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xjack.desktop
@@ -0,0 +1,213 @@
+[Desktop Entry]
+Exec=xjack
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+Name=XJack
+Name[af]=Xjack
+Name[de]=Tipper
+Name[he]=הניצוץ
+Name[hi]=एक्स-जेक
+Name[hu]=X-Jack
+Name[is]=X Jack
+Name[ka]=ჯეკი (Х)
+Name[mk]=X-Џек
+Name[nn]=XKnekt
+Name[pt]=Jack
+Name[ru]=Джек
+Name[sl]=XJaka
+Name[sr]=X Џек
+Name[sr@Latn]=X Džek
+Name[sv]=X-jack
+Name[tg]=Джек
+Name[uk]=Джек (X)
+Name[vi]=Giác cắm X
+Name[xh]=Isixhobo sokuphakamisa into enzima sika X (umzekelo:imoto)
+Name[zh_CN]=疯子
+
+[Desktop Action Setup]
+Exec=kxsconfig xjack
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun xjack -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xjack -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xlyap.desktop b/kscreensaver/kxsconfig/ScreenSavers/xlyap.desktop
new file mode 100644
index 00000000..1e63d6a9
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xlyap.desktop
@@ -0,0 +1,209 @@
+[Desktop Entry]
+Exec=xlyap
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+Name=Xlyap
+Name[de]=Lyapunov
+Name[et]=Xljap
+Name[fo]=Lyapunov
+Name[he]=מעריכי ליאפונוב
+Name[hi]=एक्स-लायप
+Name[hu]=X-Lyap
+Name[ka]=თრთვილი (Х)
+Name[mk]=X-Љапунов
+Name[nds]=XLjapunow
+Name[ru]=Морозные узоры
+Name[sr]=X Љапунов
+Name[sr@Latn]=X Ljapunov
+Name[sv]=X-lyap
+Name[ta]=Xலயப்
+Name[tg]=Нақшу нигори хунукӣ
+Name[uk]=Візерунки морозу (X)
+
+[Desktop Action Setup]
+Exec=kxsconfig xlyap
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun xlyap -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xlyap -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xmatrix.desktop b/kscreensaver/kxsconfig/ScreenSavers/xmatrix.desktop
new file mode 100644
index 00000000..76a4c231
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xmatrix.desktop
@@ -0,0 +1,236 @@
+[Desktop Entry]
+Exec=xmatrix
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Banners & Pictures
+Name=The Matrix
+Name[af]=Die Matrix
+Name[bg]=Матрицата
+Name[br]=Ar Mammog
+Name[cs]=Matrix
+Name[cy]=Y Matrics
+Name[de]=Matrix
+Name[eo]=La Matrico
+Name[es]=Matrix
+Name[et]=Matrix
+Name[eu]=Matrix
+Name[fa]=ماتریس
+Name[fi]=Matrix
+Name[fr]=Matrix
+Name[he]=מטריקס
+Name[hi]=द मेट्रिक्स
+Name[hu]=A Mátrix
+Name[is]=Matrix
+Name[it]=Matrix
+Name[ja]=マトリックス
+Name[ka]=მატრიცა
+Name[lt]=Matrica
+Name[lv]=Matrix
+Name[mk]=Матрикс
+Name[nds]=De Matrix
+Name[ne]=म्याट्रिक्स
+Name[pl]=Matriks
+Name[pt]=A Matriz
+Name[pt_BR]=Matrix
+Name[ru]=Матрица
+Name[sl]=Matrica
+Name[sr]=Матрица
+Name[sr@Latn]=Matrica
+Name[sv]=Matrix
+Name[ta]= The Matrix
+Name[tg]=Матрица
+Name[th]=เดอะเมตริกซ์
+Name[uk]=Матриця
+Name[ven]=Vhubvo
+Name[vi]=Phim Ma trận
+Name[xh]=Indawo apho into ibhekiswa phambili
+Name[zh_CN]=黑客帝国
+Name[zh_TW]=駭客任務
+Name[zu]=Indawo lapho kubhekiswa khona phambili ikusasa
+
+[Desktop Action Setup]
+Exec=kxsconfig xmatrix
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun xmatrix -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xmatrix -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xrayswarm.desktop b/kscreensaver/kxsconfig/ScreenSavers/xrayswarm.desktop
new file mode 100644
index 00000000..4a66211b
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xrayswarm.desktop
@@ -0,0 +1,225 @@
+[Desktop Entry]
+Exec=xrayswarm
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Flying Things
+Name=XRaySwarm
+Name[ca]=Eixam de llamps X
+Name[cy]=HaidPelydrX
+Name[da]=Røntgensværm
+Name[de]=Schwarm am Röntgenschirm
+Name[el]=Σμήνος ακτίνων Χ
+Name[es]=Enjambre de rayos X
+Name[et]=XKiiresülem
+Name[fr]=Essaim de rayons
+Name[gl]=Enxame de raios X
+Name[he]=נחיל עם עקבות
+Name[hi]=एक्स-रे-झुंड
+Name[hu]=X-sugarak
+Name[is]=X-geisla-sveimur
+Name[it]=Sciame a raggi X
+Name[ja]=X-線スワーム
+Name[ka]=მანათობელი გუნდი
+Name[mk]=X-Роеви
+Name[nb]=Røntgensverm
+Name[nds]=XStrahlSwarm
+Name[nn]=Røntgensverm
+Name[pt]=Enxame
+Name[pt_BR]=Enxame
+Name[ru]=Светящийся рой
+Name[sl]=XRojČrt
+Name[sr]=X рој зракова
+Name[sr@Latn]=X roj zrakova
+Name[sv]=Röntgensvärm
+Name[ta]=Xகதிர்புயல்
+Name[tg]=Оилаи равшанкунанда
+Name[uk]=Рій (X)
+Name[vi]=Bầy X
+Name[zh_CN]=闪光飞行虫
+
+[Desktop Action Setup]
+Exec=kxsconfig xrayswarm
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun xrayswarm -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xrayswarm -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xscreensaver.template b/kscreensaver/kxsconfig/ScreenSavers/xscreensaver.template
new file mode 100644
index 00000000..3f68ba9c
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xscreensaver.template
@@ -0,0 +1,25 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=@NAME@
+Icon=kscreensaver
+Type=Application
+Actions=InWindow,Root,Setup
+Name=@LABEL@
+TryExec=xscreensaver
+@GL1@
+@GL2@
+
+[Desktop Action Setup]
+Exec=kxsconfig @NAME@
+Name=Setup...
+
+[Desktop Action InWindow]
+Exec=kxsrun @NAME@ -- -window-id %w
+Name=Display in Specified Window
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun @NAME@ -- -root
+Name=Display in Root Window
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xspirograph.desktop b/kscreensaver/kxsconfig/ScreenSavers/xspirograph.desktop
new file mode 100644
index 00000000..f0049b1f
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xspirograph.desktop
@@ -0,0 +1,221 @@
+[Desktop Entry]
+Exec=xspirograph
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Visit to Flatland
+Name=XSpiroGraph
+Name[ca]=Espirograf X
+Name[cy]=XSbirograff
+Name[de]=Spirograph
+Name[es]=XEspirografo
+Name[et]=XMustrijoonistaja
+Name[eu]=XEspirografoa
+Name[gl]=XEspirografo
+Name[he]=ספירוגרף
+Name[hi]=एक्स-स्पायरो-ग्राफ
+Name[hu]=X-Spirograph
+Name[ja]=Xスピログラフ
+Name[ka]=სპიროგრაფი (Х)
+Name[mk]=X-Спирограф
+Name[mt]=XSpiroGraff
+Name[nb]=X-spirograf
+Name[nds]=XSpirograaf
+Name[nn]=X-spirograf
+Name[pt]=Gráfico Espiral
+Name[pt_BR]=Gráfico em espiral
+Name[ru]=Спирограф
+Name[sr]=X спирограф
+Name[sr@Latn]=X spirograf
+Name[sv]=X-spirograf
+Name[tg]=Спирограф
+Name[uk]=Спірограф (X)
+Name[vi]=Máy đo hơi thở X
+Name[xh]=Umzobo we XSpiro
+Name[zh_CN]=旋转圆弧花纹
+
+[Desktop Action Setup]
+Exec=kxsconfig xspirograph
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun xspirograph -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xspirograph -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xsublim.desktop b/kscreensaver/kxsconfig/ScreenSavers/xsublim.desktop
new file mode 100644
index 00000000..6b6f131a
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xsublim.desktop
@@ -0,0 +1,220 @@
+[Desktop Entry]
+Exec=xsublim
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=xsublim
+Name[cy]=xisganfyddol
+Name[de]=Sublimieren
+Name[es]=XSublim
+Name[et]=XSublim
+Name[eu]=Xsublim
+Name[gl]=XSublim
+Name[he]=מסרים תת־הכרתיים
+Name[hi]=एक्स-सबलाइम
+Name[hu]=Xsublim
+Name[ja]=Xサブリミナル
+Name[ka]=ქვეცნობიერი
+Name[mk]=X-Сублимирање
+Name[nb]=X-sublim
+Name[nds]=XSublimeren
+Name[nn]=X-sublim
+Name[pt_BR]=Sublime
+Name[ro]=Xsublim
+Name[ru]=Подсознание
+Name[sr]=X сублимација
+Name[sr@Latn]=X sublimacija
+Name[sv]=X-sublim
+Name[ta]=xகுறைந்த
+Name[tg]=Тассавуроти норавшан
+Name[uk]=Підсвідомість (X)
+Name[vi]=Thăng hoa X
+
+[Desktop Action Setup]
+Exec=kxsconfig xsublim
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kxsrun xsublim -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xsublim -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/xteevee.desktop b/kscreensaver/kxsconfig/ScreenSavers/xteevee.desktop
new file mode 100644
index 00000000..4b59dc71
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/xteevee.desktop
@@ -0,0 +1,216 @@
+[Desktop Entry]
+Exec=xteevee
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=XTeeVee
+Name[cy]=XTiFi
+Name[de]=Fernsehstörungen
+Name[et]=XTV
+Name[fo]=Sjónvarp
+Name[he]=מסך טלוויזיה
+Name[hi]=एक्स-टी-वी
+Name[hu]=X-TeeVee
+Name[ka]=ტელესიგნალები
+Name[mk]=X-ТеВе
+Name[mt]=XTiVi
+Name[nb]=X-teve
+Name[nds]=XFlimmerkist
+Name[nn]=X-teve
+Name[ru]=Телевизионные помехи
+Name[sr]=X те-ве
+Name[sr@Latn]=X te-ve
+Name[sv]=X-teve
+Name[ta]=Xடீவீ
+Name[tg]=Монеаи телевизионӣ
+Name[uk]=Телевізор з перешкодами (X)
+Name[vi]=Ti Vi X
+Name[zh_CN]=电视故障
+
+[Desktop Action Setup]
+Exec=kxsconfig xteevee
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun xteevee -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun xteevee -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/ScreenSavers/zoom.desktop b/kscreensaver/kxsconfig/ScreenSavers/zoom.desktop
new file mode 100644
index 00000000..38dce741
--- /dev/null
+++ b/kscreensaver/kxsconfig/ScreenSavers/zoom.desktop
@@ -0,0 +1,232 @@
+[Desktop Entry]
+Exec=zoom
+Icon=kscreensaver
+Type=Application
+TryExec=xscreensaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Desktop Distortions
+X-KDE-Type=ManipulateScreen
+Name=Zoom
+Name[af]=Zoem
+Name[cs]=Lupa
+Name[cy]=Chwyddo
+Name[el]=Μεγέθυνση
+Name[et]=Suurendus
+Name[eu]=Zoom-a
+Name[fa]=بزرگ‌نمایی
+Name[fi]=Suurennus
+Name[fo]=Surr
+Name[gl]=Ampliación
+Name[he]=מצלמת זום
+Name[hi]=ज़ूम
+Name[hu]=Nagyítás
+Name[is]=Stækkun
+Name[ja]=ズーム
+Name[ka]=მასშტაბირება
+Name[mk]=Зум
+Name[ms]=Zum
+Name[nds]=Ansichtgrött
+Name[ne]=जूम
+Name[nn]=Skalering
+Name[pa]=ਜ਼ੂਮ
+Name[pl]=Powiększenie
+Name[pt]=Ampliação
+Name[ro]=Scalare
+Name[ru]=Близорукость
+Name[sr]=Увећање
+Name[sr@Latn]=Uvećanje
+Name[ta]=பெரிதுபடுத்து
+Name[tg]=Наздикбинӣ
+Name[tr]=Odakla
+Name[uk]=Масштабування екрана
+Name[ven]=Tolela
+Name[vi]=Phóng to thu nhỏ
+Name[xh]=Sondeza
+Name[zh_CN]=超级放大
+Name[zh_TW]=放大
+Name[zu]=Sondeza
+
+[Desktop Action Setup]
+Exec=kxsconfig zoom
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+
+[Desktop Action InWindow]
+Exec=kxsrun zoom -- -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kxsrun zoom -- -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
+
diff --git a/kscreensaver/kxsconfig/XScreenSaver_ad.h b/kscreensaver/kxsconfig/XScreenSaver_ad.h
new file mode 100644
index 00000000..42452482
--- /dev/null
+++ b/kscreensaver/kxsconfig/XScreenSaver_ad.h
@@ -0,0 +1,439 @@
+"#error Do not run app-defaults files through xrdb!",
+"#error That does not do what you might expect.",
+"#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.",
+"*timeout: 0:10:00",
+"*cycle: 0:10:00",
+"*lockTimeout: 0:00:00",
+"*passwdTimeout: 0:00:30",
+"*dpmsEnabled: False",
+"*dpmsStandby: 2:00:00",
+"*dpmsSuspend: 2:00:00",
+"*dpmsOff: 4:00:00",
+"*grabDesktopImages: True",
+"*grabVideoFrames: False",
+"*chooseRandomImages: False",
+"*imageDirectory: ",
+"*nice: 10",
+"*memoryLimit: 0",
+"*lock: False",
+"*lockVTs: True",
+"*verbose: False",
+"*timestamp: True",
+"*fade: True",
+"*unfade: False",
+"*fadeSeconds: 0:00:03",
+"*fadeTicks: 20",
+"*splash: True",
+"*splashDuration: 0:00:05",
+"*visualID: default",
+"*captureStderr: True",
+"*overlayTextForeground: #FFFF00",
+"*overlayTextBackground: #000000",
+"*overlayStderr: True",
+"*font: *-medium-r-*-140-*-m-*",
+"*sgiSaverExtension: True",
+"*mitSaverExtension: False",
+"*xidleExtension: True",
+"*procInterrupts: True",
+"*demoCommand: xscreensaver-demo",
+"*prefsCommand: xscreensaver-demo -prefs",
+"*helpURL: http://www.jwz.org/xscreensaver/man.html",
+"*loadURL: netscape -remote 'openURL(%s)' || netscape '%s'",
+"*manualCommand: xterm +sb -fg black -bg gray75 -T '%s manual' \
+ -e /bin/sh -c 'man \"%s\" || read foo'",
+"*dateFormat: %d-%b-%y (%a); %I:%M %p",
+"*installColormap: True",
+"*programs: \
+ \"Qix (solid)\" qix -root -solid -segments 100 \\n\
+ \"Qix (transparent)\" qix -root -count 4 -solid -transparent \\n\
+ \"Qix (linear)\" qix -root -count 5 -solid -transparent \
+ -linear -segments 250 -size 100 \\n\
+- mono: \"Qix (xor)\" qix -root -linear -count 5 -size 200 \
+ -spread 30 -segments 75 -solid -xor \\n\
+ \
+ \"Attraction (balls)\" attraction -root -mode balls \\n\
+ \"Attraction (lines)\" attraction -root -mode lines -points 3 \
+ -segments 200 \\n\
+- \"Attraction (poly)\" attraction -root -mode polygons \\n\
+ \"Attraction (splines)\" attraction -root -mode splines -segments \
+ 300 \\n\
+ \"Attraction (orbital)\" attraction -root -mode lines -radius 300 \
+ -orbit -vmult 0.5 \\n\
+ \
+ pyro -root \\n\
+ rocks -root \\n\
+ helix -root \\n\
+ pedal -root \\n\
+ rorschach -root -offset 7 \\n\
+ hopalong -root \\n\
+ greynetic -root \\n\
+ imsmap -root \\n\
+ slidescreen -root \\n\
+ decayscreen -root \\n\
+ jigsaw -root \\n\
+ blitspin -root -grab \\n\
+ slip -root \\n\
+ distort -root \\n\
+ spotlight -root \\n\
+ \"Ripples (oily)\" ripples -root -oily -light 2 \\n\
+ \"Ripples (stir)\" ripples -root -oily -light 2 -stir \\n\
+ \"Ripples (desktop)\" ripples -root -water -light 6 \\n\
+ hypercube -root \\n\
+ hyperball -root \\n\
+ halo -root \\n\
+ maze -root \\n\
+ noseguy -root \\n\
+ flame -root \\n\
+ lmorph -root \\n\
+ deco -root \\n\
+ moire -root \\n\
+ moire2 -root \\n\
+ lightning -root \\n\
+ strange -root \\n\
+ spiral -root \\n\
+ laser -root \\n\
+ grav -root \\n\
+ \"Grav (trails)\" grav -root -trail -decay \\n\
+ drift -root \\n\
+ ifs -root \\n\
+ julia -root \\n\
+ penrose -root \\n\
+ sierpinski -root \\n\
+ braid -root \\n\
+ galaxy -root \\n\
+ bouboule -root \\n\
+ swirl -root \\n\
+ flag -root \\n\
+ sphere -root \\n\
+ forest -root \\n\
+ lisa -root \\n\
+ lissie -root \\n\
+ goop -root -max-velocity 0.5 -elasticity \
+ 0.9 \\n\
+ starfish -root \\n\
+ \"Starfish (blob)\" starfish -root -blob \\n\
+ munch -root \\n\
+ fadeplot -root \\n\
+ coral -root -delay 0 \\n\
+ mountain -root \\n\
+ triangle -root -delay 1 \\n\
+ worm -root \\n\
+ rotor -root \\n\
+ ant -root \\n\
+ demon -root \\n\
+ loop -root \\n\
+ vines -root \\n\
+ kaleidescope -root \\n\
+ xjack -root \\n\
+ xlyap -root -randomize \\n\
+ cynosure -root \\n\
+ flow -root \\n\
+ epicycle -root \\n\
+ interference -root \\n\
+ truchet -root -randomize \\n\
+ bsod -root \\n\
+ crystal -root \\n\
+ discrete -root \\n\
+ kumppa -root \\n\
+ rd-bomb -root \\n\
+ \"RD-Bomb (mobile)\" rd-bomb -root -speed 1 -size 0.1 \\n\
+ sonar -root \\n\
+ t3d -root \\n\
+ penetrate -root \\n\
+ deluxe -root \\n\
+ compass -root \\n\
+ squiral -root \\n\
+ xflame -root \\n\
+ wander -root \\n\
+ \"Wander (spots)\" wander -root -advance 0 -size 10 -circles \
+ -length 10000 -reset 100000 \\n\
+ critical -root \\n\
+ phosphor -root \\n\
+ xmatrix -root \\n\
+ petri -root -size 2 -count 20 \\n\
+ \"Petri 2\" petri -root -minlifespeed 0.02 \
+ -maxlifespeed 0.03 -minlifespan 1 \
+ -maxlifespan 1 -instantdeathchan 0 \
+ -minorchan 0 -anychan 0.3 \\n\
+ shadebobs -root \\n\
+ ccurve -root \\n\
+ blaster -root \\n\
+ bumps -root \\n\
+ xteevee -root \\n\
+ xspirograph -root \\n\
+ nerverot -root \\n\
+- \"NerveRot (dense)\" nerverot -root -count 1000 \\n\
+- \"NerveRot (thick)\" nerverot -root -count 100 -line-width 4 \
+ -max-nerve-radius 0.8 -nervousness 0.5 -db \\n\
+ xrayswarm -root \\n\
+- \"Zoom (Fatbits)\" zoom -root \\n\
+ \"Zoom (Lenses)\" zoom -root -lenses \\n\
+ rotzoomer -root \\n\
+- \"RotZoomer (mobile)\" rotzoomer -root -move \\n\
+- \"RotZoomer (sweep)\" rotzoomer -root -sweep \\n\
+ whirlwindwarp -root \\n\
+ \"WhirlyGig\" whirlygig -root \\n\
+ \"SpeedMine\" speedmine -root \\n\
+ \"SpeedWorm\" speedmine -root -worm \\n\
+ vermiculate -root \\n\
+ twang -root \\n\
+ apollonian -root \\n\
+ euler2d -root \\n\
+ \"Euler2d (dense)\" euler2d -root -count 4000 -eulertail 400 \
+ -ncolors 230 \\n\
+- juggle -root \\n\
+ polyominoes -root \\n\
+- thornbird -root \\n\
+ fluidballs -root \\n\
+ anemone -root \\n\
+ color: bubbles -root \\n\
+- default-n: webcollage -root \\n\
+- default-n: \"WebCollage (whacked)\" \
+ webcollage -root -filter \
+ 'vidwhacker -stdin -stdout' \\n\
+- default-n: vidwhacker -root \\n\
+ \
+ GL: gears -root \\n\
+ GL: \"Gears (planetary)\" gears -root -planetary \\n\
+ GL: superquadrics -root \\n\
+ GL: morph3d -root \\n\
+ GL: cage -root \\n\
+ GL: moebius -root \\n\
+ GL: stairs -root \\n\
+ GL: pipes -root \\n\
+ GL: sproingies -root \\n\
+ GL: rubik -root \\n\
+ GL: atlantis -root \\n\
+ GL: lament -root \\n\
+ GL: bubble3d -root \\n\
+ GL: glplanet -root \\n\
+ GL: pulsar -root \\n\
+- GL: \"Pulsar (textures)\" \
+ pulsar -root -texture -mipmap \
+ -texture_quality -light -fog \\n\
+ GL: extrusion -root \\n\
+ GL: sierpinski3d -root \\n\
+ GL: menger -root \\n\
+ GL: \"GFlux\" gflux -root \\n\
+ GL: \"GFlux (grab)\" gflux -root -mode grab \\n\
+ GL: stonerview -root \\n\
+ GL: starwars -root \\n\
+ GL: gltext -root \\n\
+ GL: \"GLText (clock)\" gltext -text \"%A%n%d %b %Y%n%r\" -root \\n\
+ GL: \"Molecule\" molecule -root \\n\
+ GL: \"Molecule (lumpy)\" molecule -root -no-bonds -no-labels \\n\
+ GL: dangerball -root \\n\
+ GL: circuit -root \\n\
+ GL: engine -root \\n\
+ GL: flipscreen3d -root \\n\
+ GL: glsnake -root \\n\
+ GL: boxed -root \\n\
+ GL: glforestfire -root \\n\
+ GL: sballs -root \\n\
+ GL: cubenetic -root \\n\
+ GL: spheremonics -root \\n\
+ GL: lavalite -root \\n\
+ GL: queens -root \\n\
+ GL: endgame -root \\n\
+ \
+- xdaliclock -root -builtin3 -cycle \\n\
+- default-n: xearth -nofork -nostars -ncolors 50 \
+ -night 3 -wait 0 -timewarp 400.0 -pos \
+ sunrel/38/-30 \\n\
+- xplanetbg -xscreensaver -moonside \
+ -markerfile earth -wait 1 -timewarp 400 \\n\
+- xmountains -b -M -Z 0 -r 1 \\n\
+- \"XMountains (top)\" xmountains -b -M -Z 0 -r 1 -m \\n\
+- xaos -fullscreen -autopilot \
+ -incoloring -1 -outcoloring -1 \\n\
+- xfishtank -d -s \\n\
+- xsnow \\n\
+- goban -root \\n\
+- electricsheep \\n\
+- cosmos -root \\n\
+- GL: sphereEversion --root \\n",
+"XScreenSaver.pointerPollTime: 0:00:05",
+"XScreenSaver.initialDelay: 0:00:00",
+"XScreenSaver.windowCreationTimeout: 0:00:30",
+"XScreenSaver.bourneShell: /bin/sh",
+"*Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1",
+"*Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
+"*Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
+"*Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
+"*Dialog.dateFont: *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1",
+"*Dialog.foreground: #000000",
+"*Dialog.background: #D6D6D6",
+"*Dialog.Button.foreground: #000000",
+"*Dialog.Button.background: #EAEAEA",
+"*Dialog.text.foreground: #000000",
+"*Dialog.text.background: #FFFFFF",
+"*passwd.thermometer.foreground: #FF0000",
+"*passwd.thermometer.background: #FFFFFF",
+"*Dialog.topShadowColor: #FFFFFF",
+"*Dialog.bottomShadowColor: #666666",
+"*Dialog.logo.width: 210",
+"*Dialog.logo.height: 210",
+"*Dialog.internalBorderWidth: 30",
+"*Dialog.borderWidth: 1",
+"*Dialog.shadowThickness: 2",
+"*passwd.heading.label: XScreenSaver %s",
+"*passwd.body.label: This display is locked.",
+"*passwd.user.label: User:",
+"*passwd.passwd.label: Password:",
+"*passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1",
+"*passwd.thermometer.width: 8",
+"*splash.heading.label: XScreenSaver %s",
+"*splash.body.label: Copyright 1991-2002 by",
+"*splash.body2.label: Jamie Zawinski <jwz@jwz.org>",
+"*splash.demo.label: Settings",
+"*splash.help.label: Help",
+"*fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1",
+"*demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1",
+"*cmdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1",
+"*label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
+"XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1",
+"*foreground: #000000",
+"*background: #C0C0C0",
+"*XmTextField.foreground: #000000",
+"*XmTextField.background: #FFFFFF",
+"*list.foreground: #000000",
+"*list.background: #FFFFFF",
+"*ApplicationShell.title: XScreenSaver",
+"*warning.title: XScreenSaver",
+"*warning_popup.title: XScreenSaver",
+"*allowShellResize: True",
+"*autoUnmanage: False",
+"*menubar*file.labelString: File",
+"*menubar*file.mnemonic: F",
+"*file.blank.labelString: Blank Screen Now",
+"*file.blank.mnemonic: B",
+"*file.lock.labelString: Lock Screen Now",
+"*file.lock.mnemonic: L",
+"*file.kill.labelString: Kill Daemon",
+"*file.kill.mnemonic: K",
+"*file.restart.labelString: Restart Daemon",
+"*file.restart.mnemonic: R",
+"*file.exit.labelString: Exit",
+"*file.exit.mnemonic: E",
+"*menubar*edit.labelString: Edit",
+"*menubar*edit.mnemonic: E",
+"*edit.cut.labelString: Cut",
+"*edit.cut.mnemonic: u",
+"*edit.copy.labelString: Copy",
+"*edit.copy.mnemonic: C",
+"*edit.paste.labelString: Paste",
+"*edit.paste.mnemonic: P",
+"*menubar*help.labelString: Help",
+"*menubar*help.mnemonic: H",
+"*help.about.labelString: About...",
+"*help.about.mnemonic: A",
+"*help.docMenu.labelString: Documentation...",
+"*help.docMenu.mnemonic: D",
+"*demoTab.marginWidth: 10",
+"*optionsTab.marginWidth: 10",
+"*XmScrolledWindow.topOffset: 10",
+"*XmScrolledWindow.leftOffset: 10",
+"*demoTab.topOffset: 4",
+"*form1.bottomOffset: 10",
+"*form3.leftOffset: 10",
+"*form3.rightOffset: 10",
+"*frame.topOffset: 10",
+"*frame.bottomOffset: 10",
+"*enabled.topOffset: 10",
+"*visLabel.topOffset: 10",
+"*combo.topOffset: 10",
+"*form4.bottomOffset: 4",
+"*hr.bottomOffset: 4",
+"*XmComboBox.marginWidth: 0",
+"*XmComboBox.marginHeight: 0",
+"*demo.marginWidth: 30",
+"*demo.marginHeight: 4",
+"*man.marginWidth: 10",
+"*man.marginHeight: 4",
+"*down.leftOffset: 40",
+"*down.marginWidth: 4",
+"*down.marginHeight: 4",
+"*up.marginWidth: 4",
+"*up.marginHeight: 4",
+"*frame.traversalOn: False",
+"*list.automaticSelection: True",
+"*list.visibleItemCount: 20",
+"*doc.columns: 60",
+"*combo.columns: 11",
+"*demoTab.labelString: Graphics Demos",
+"*optionsTab.labelString: Screensaver Options",
+"*down.labelString: \\\\/ ",
+"*up.labelString: /\\\\ ",
+"*frameLabel.labelString: ",
+"*cmdLabel.labelString: Command Line:",
+"*cmdLabel.alignment: ALIGNMENT_BEGINNING",
+"*enabled.labelString: Enabled",
+"*visLabel.labelString: Visual:",
+"*visLabel.alignment: ALIGNMENT_END",
+"*visLabel.leftOffset: 20",
+"*demo.labelString: Demo",
+"*man.labelString: Documentation...",
+"*done.labelString: Quit",
+"*preferencesLabel.labelString: XScreenSaver Parameters",
+"*timeoutLabel.labelString: Saver Timeout",
+"*cycleLabel.labelString: Cycle Timeout",
+"*fadeSecondsLabel.labelString: Fade Duration",
+"*fadeTicksLabel.labelString: Fade Ticks",
+"*lockLabel.labelString: Lock Timeout",
+"*passwdLabel.labelString: Password Timeout",
+"*preferencesForm*XmTextField.columns: 8",
+"*verboseToggle.labelString: Verbose",
+"*cmapToggle.labelString: Install Colormap",
+"*fadeToggle.labelString: Fade Colormap",
+"*unfadeToggle.labelString: Unfade Colormap",
+"*lockToggle.labelString: Require Password",
+"*OK.marginWidth: 30",
+"*OK.marginHeight: 4",
+"*OK.leftOffset: 10",
+"*OK.bottomOffset: 10",
+"*Cancel.marginWidth: 30",
+"*Cancel.marginHeight: 4",
+"*Cancel.rightOffset: 10",
+"*Cancel.bottomOffset: 10",
+"*hacks.imsmap.name: IMSmap",
+"*hacks.slidescreen.name: SlideScreen",
+"*hacks.decayscreen.name: DecayScreen",
+"*hacks.blitspin.name: BlitSpin",
+"*hacks.lmorph.name: LMorph",
+"*hacks.ifs.name: IFS",
+"*hacks.fadeplot.name: FadePlot",
+"*hacks.bsod.name: BSOD",
+"*hacks.rd-bomb.name: RD-Bomb",
+"*hacks.t3d.name: T3D",
+"*hacks.shadebobs.name: ShadeBobs",
+"*hacks.ccurve.name: C Curve",
+"*hacks.xteevee.name: XTeeVee",
+"*hacks.xspirograph.name: XSpiroGraph",
+"*hacks.nerverot.name: NerveRot",
+"*hacks.webcollage.name: WebCollage",
+"*hacks.vidwhacker.name: VidWhacker",
+"*hacks.morph3d.name: Morph3D",
+"*hacks.bubble3d.name: Bubble3D",
+"*hacks.glplanet.name: GLPlanet",
+"*hacks.sierpinski3d.name: Sierpinski3D",
+"*hacks.gflux.name: GFlux",
+"*hacks.xrayswarm.name: XRaySwarm",
+"*hacks.whirlwindwarp.name: WhirlwindWarp",
+"*hacks.rotzoomer.name: RotZoomer",
+"*hacks.stonerview.name: StonerView",
+"*hacks.starwars.name: StarWars",
+"*hacks.gltext.name: GLText",
+"*hacks.dangerball.name: DangerBall",
+"*hacks.whirlygig.name: WhirlyGig",
+"*hacks.speedmine.name: SpeedMine",
+"*hacks.glsnake.name: GLSnake",
+"*hacks.glforestfire.name: GLForestFire",
+"*hacks.sballs.name: SBalls",
+"*hacks.xdaliclock.name: XDaliClock",
+"*hacks.xplanetbg.name: XPlanet",
+"*hacks.xaos.name: XaoS",
+"*hacks.xfishtank.name: XFishTank",
+"*hacks.electricsheep.name: ElectricSheep",
+"*hacks.sphereEversion.name: SphereEversion",
+"*hacks.fluidballs.name: FluidBalls",
+"*hacks.documentation.isInstalled: True",
diff --git a/kscreensaver/kxsconfig/configure.in.bot b/kscreensaver/kxsconfig/configure.in.bot
new file mode 100644
index 00000000..d35afee0
--- /dev/null
+++ b/kscreensaver/kxsconfig/configure.in.bot
@@ -0,0 +1,9 @@
+if test "x$with_xscreensaver" = xcheck && test "$XSCREENSAVER" = "NO"; then
+ echo ""
+ echo "xscreensaver could not be detected on your system."
+ echo "Check www.jwz.org/xscreensaver if you're loving to"
+ echo "have tons of screensavers in KDE"
+ echo ""
+ all_tests=bad
+fi
+
diff --git a/kscreensaver/kxsconfig/configure.in.in b/kscreensaver/kxsconfig/configure.in.in
new file mode 100644
index 00000000..e72d270b
--- /dev/null
+++ b/kscreensaver/kxsconfig/configure.in.in
@@ -0,0 +1,70 @@
+AC_DEFUN([KDE_CHECK_XSREENSAVER],
+[
+ XSCREENSAVER_CONFIG=NO
+ AC_FIND_FILE($1/flame.xml, [ $xscreensaver_prefixes ], XSCREENSAVER_CONFIG)
+ if test "$XSCREENSAVER_CONFIG" != NO; then
+ XSCREENSAVER_CONFIG="$XSCREENSAVER_CONFIG/$1"
+ fi
+])
+
+
+xscreensaver_prefixes="$exec_prefix $prefix /usr /usr/local /opt/local /usr/X11R6 /usr/X11R6 /opt/kde /opt/kde3 /usr/kde /usr/local/kde /usr/local/xscreensaver /usr/openwin/lib/xscreensaver /etc"
+
+old_IFS=$IFS
+IFS=:
+for path in $PATH; do
+ case $path in
+ */bin)
+ path=`echo $path | sed -e 's,/bin$,,'`
+ xscreensaver_prefixes="$path $xscreensaver_prefixes"
+ ;;
+ esac
+done
+IFS=$old_IFS
+
+AC_ARG_WITH(xscreensaver,
+ [AC_HELP_STRING(--with-xscreensaver,
+ [enable support for xscreensaver @<:@default=check@:>@])],
+ [], with_xscreensaver=check)
+
+XSCREENSAVER=''
+echo "Searching in $xscreensaver_prefixes"
+if test "x$with_xscreensaver" != xno; then
+ for xsdir in lib$kdelibsuff/xscreensaver lib/xscreensaver \
+ lib$kdelibsuff/misc/xscreensaver lib/misc/xscreensaver \
+ libexec$kdelibsuff/xscreensaver libexec/xscreensaver \
+ bin/xscreensaver-hacks hacks; do
+ test -n "$XSCREENSAVER" && break
+ KDE_FIND_PATH("$xsdir/flame", XSCREENSAVER, [ $xscreensaver_prefixes ])
+ done
+
+ if test "x$with_xscreensaver" != xcheck && test "x$XSCREENSAVER" = x; then
+ AC_MSG_ERROR([--with-xscreensaver was given, but test for xscreensaver failed])
+ fi
+fi
+
+XSCREENSAVER_HACKS_DIR=
+
+if test -n "$XSCREENSAVER"; then
+ XSCREENSAVER_HACKS_DIR=`echo $XSCREENSAVER | sed -e 's,/flame$,,'`
+ AC_DEFINE_UNQUOTED(XSCREENSAVER_HACKS_DIR, "$XSCREENSAVER_HACKS_DIR", [Defines where xscreensaver stores its graphic hacks])
+
+ AC_MSG_CHECKING([for flame.xml])
+ for subdir in lib/xscreensaver/config \
+ lib/X11/xscreensaver/config \
+ share/control-center/screensavers \
+ share/xscreensaver/config \
+ xscreensaver \
+ config/control-center-2.0; do
+ KDE_CHECK_XSREENSAVER($subdir)
+ if test "$XSCREENSAVER_CONFIG" != NO; then
+ break
+ fi
+ done
+ AC_MSG_RESULT([$XSCREENSAVER_CONFIG])
+ AC_DEFINE_UNQUOTED(XSCREENSAVER_CONFIG_DIR, "$XSCREENSAVER_CONFIG",
+ [Defines where xscreensaver stores it's config files])
+fi
+
+AM_CONDITIONAL(include_XSCREENSAVER, test -n "$XSCREENSAVER")
+AC_SUBST(XSCREENSAVER_HACKS_DIR)
diff --git a/kscreensaver/kxsconfig/hacks.pot b/kscreensaver/kxsconfig/hacks.pot
new file mode 100644
index 00000000..e73681a1
--- /dev/null
+++ b/kscreensaver/kxsconfig/hacks.pot
@@ -0,0 +1,4319 @@
+#: hacks/config/ant.xml.h:1
+msgid ""
+"A cellular automaton that is really a two-dimensional Turing machine: as the "
+"heads (``ants'') walk along the screen, they change pixel values in their "
+"path. Then, as they pass over changed pixels, their behavior is influenced. "
+"Written by David Bagley."
+msgstr ""
+
+#: hacks/config/ant.xml.h:2
+msgid "Ant"
+msgstr ""
+
+#: hacks/config/ant.xml.h:3
+msgid "Ant Size"
+msgstr ""
+
+#: hacks/config/ant.xml.h:4
+msgid "Ants Count"
+msgstr ""
+
+#: hacks/config/ant.xml.h:5 hacks/config/apollonian.xml.h:5
+#: hacks/config/atlantis.xml.h:4 hacks/config/attraction.xml.h:8
+#: hacks/config/blaster.xml.h:3 hacks/config/blitspin.xml.h:4
+#: hacks/config/bouboule.xml.h:3 hacks/config/boxed.xml.h:4
+#: hacks/config/braid.xml.h:4 hacks/config/bubble3d.xml.h:3
+#: hacks/config/bubbles.xml.h:8 hacks/config/bumps.xml.h:3
+#: hacks/config/cage.xml.h:2 hacks/config/circuit.xml.h:4
+#: hacks/config/compass.xml.h:3 hacks/config/coral.xml.h:7
+#: hacks/config/critical.xml.h:3 hacks/config/crystal.xml.h:6
+#: hacks/config/cubenetic.xml.h:8 hacks/config/cynosure.xml.h:4
+#: hacks/config/dangerball.xml.h:3 hacks/config/decayscreen.xml.h:2
+#: hacks/config/deluxe.xml.h:4 hacks/config/demon.xml.h:4
+#: hacks/config/discrete.xml.h:2 hacks/config/distort.xml.h:4
+#: hacks/config/drift.xml.h:3 hacks/config/engine.xml.h:3
+#: hacks/config/epicycle.xml.h:5 hacks/config/euler2d.xml.h:3
+#: hacks/config/extrusion.xml.h:3 hacks/config/fadeplot.xml.h:4
+#: hacks/config/flag.xml.h:2 hacks/config/flame.xml.h:6
+#: hacks/config/flipscreen3d.xml.h:1 hacks/config/flow.xml.h:4
+#: hacks/config/fluidballs.xml.h:3 hacks/config/forest.xml.h:1
+#: hacks/config/galaxy.xml.h:3 hacks/config/gears.xml.h:2
+#: hacks/config/gflux.xml.h:6 hacks/config/glforestfire.xml.h:4
+#: hacks/config/glplanet.xml.h:2 hacks/config/glsnake.xml.h:5
+#: hacks/config/gltext.xml.h:3 hacks/config/goop.xml.h:4
+#: hacks/config/grav.xml.h:2 hacks/config/greynetic.xml.h:1
+#: hacks/config/halo.xml.h:2 hacks/config/hopalong.xml.h:9
+#: hacks/config/hyperball.xml.h:2 hacks/config/hypercube.xml.h:2
+#: hacks/config/ifs.xml.h:1 hacks/config/interference.xml.h:5
+#: hacks/config/jigsaw.xml.h:3 hacks/config/juggle.xml.h:3
+#: hacks/config/julia.xml.h:2 hacks/config/kaleidescope.xml.h:2
+#: hacks/config/kumppa.xml.h:3 hacks/config/lament.xml.h:2
+#: hacks/config/laser.xml.h:3 hacks/config/lightning.xml.h:1
+#: hacks/config/lisa.xml.h:2 hacks/config/lissie.xml.h:3
+#: hacks/config/lmorph.xml.h:3 hacks/config/loop.xml.h:1
+#: hacks/config/maze.xml.h:4 hacks/config/menger.xml.h:3
+#: hacks/config/moebius.xml.h:3 hacks/config/moire2.xml.h:2
+#: hacks/config/molecule.xml.h:10 hacks/config/morph3d.xml.h:3
+#: hacks/config/mountain.xml.h:2 hacks/config/munch.xml.h:3
+#: hacks/config/nerverot.xml.h:9 hacks/config/penetrate.xml.h:3
+#: hacks/config/penrose.xml.h:6 hacks/config/petri.xml.h:5
+#: hacks/config/phosphor.xml.h:3 hacks/config/pipes.xml.h:5
+#: hacks/config/polyominoes.xml.h:2 hacks/config/pulsar.xml.h:11
+#: hacks/config/pyro.xml.h:4 hacks/config/qix.xml.h:7
+#: hacks/config/rd-bomb.xml.h:9 hacks/config/ripples.xml.h:4
+#: hacks/config/rocks.xml.h:4 hacks/config/rotor.xml.h:3
+#: hacks/config/rubik.xml.h:3 hacks/config/sballs.xml.h:4
+#: hacks/config/shadebobs.xml.h:3 hacks/config/sierpinski.xml.h:2
+#: hacks/config/sierpinski3d.xml.h:2 hacks/config/slidescreen.xml.h:2
+#: hacks/config/slip.xml.h:2 hacks/config/speedmine.xml.h:3
+#: hacks/config/sphere.xml.h:2 hacks/config/spheremonics.xml.h:5
+#: hacks/config/spiral.xml.h:3 hacks/config/spotlight.xml.h:2
+#: hacks/config/sproingies.xml.h:2 hacks/config/squiral.xml.h:4
+#: hacks/config/stairs.xml.h:1 hacks/config/starfish.xml.h:3
+#: hacks/config/starwars.xml.h:6 hacks/config/strange.xml.h:2
+#: hacks/config/superquadrics.xml.h:3 hacks/config/swirl.xml.h:2
+#: hacks/config/t3d.xml.h:6 hacks/config/thornbird.xml.h:2
+#: hacks/config/triangle.xml.h:1 hacks/config/truchet.xml.h:1
+#: hacks/config/twang.xml.h:3 hacks/config/vines.xml.h:1
+#: hacks/config/webcollage.xml.h:4 hacks/config/worm.xml.h:3
+#: hacks/config/xearth.xml.h:7 hacks/config/xfishtank.xml.h:3
+#: hacks/config/xflame.xml.h:4 hacks/config/xjack.xml.h:1
+#: hacks/config/xmatrix.xml.h:4 hacks/config/xmountains.xml.h:1
+#: hacks/config/xrayswarm.xml.h:2 hacks/config/zoom.xml.h:2
+msgid "Fast"
+msgstr ""
+
+#: hacks/config/ant.xml.h:6
+msgid "Four Sided Cells"
+msgstr ""
+
+#: hacks/config/ant.xml.h:7 hacks/config/attraction.xml.h:13
+#: hacks/config/cubenetic.xml.h:11 hacks/config/demon.xml.h:5
+#: hacks/config/discrete.xml.h:3 hacks/config/distort.xml.h:5
+#: hacks/config/fadeplot.xml.h:5 hacks/config/flag.xml.h:4
+#: hacks/config/flow.xml.h:7 hacks/config/fluidballs.xml.h:12
+#: hacks/config/hopalong.xml.h:13 hacks/config/interference.xml.h:8
+#: hacks/config/julia.xml.h:5 hacks/config/lissie.xml.h:4
+#: hacks/config/loop.xml.h:2 hacks/config/moire.xml.h:4
+#: hacks/config/rd-bomb.xml.h:11 hacks/config/rorschach.xml.h:5
+#: hacks/config/rubik.xml.h:4 hacks/config/sierpinski.xml.h:3
+#: hacks/config/slip.xml.h:3
+msgid "Large"
+msgstr ""
+
+#: hacks/config/ant.xml.h:8 hacks/config/apollonian.xml.h:7
+#: hacks/config/attraction.xml.h:18 hacks/config/blaster.xml.h:6
+#: hacks/config/bouboule.xml.h:5 hacks/config/braid.xml.h:7
+#: hacks/config/coral.xml.h:9 hacks/config/critical.xml.h:4
+#: hacks/config/crystal.xml.h:8 hacks/config/cubenetic.xml.h:13
+#: hacks/config/cynosure.xml.h:6 hacks/config/deco.xml.h:5
+#: hacks/config/deluxe.xml.h:6 hacks/config/demon.xml.h:6
+#: hacks/config/discrete.xml.h:4 hacks/config/drift.xml.h:9
+#: hacks/config/epicycle.xml.h:8 hacks/config/euler2d.xml.h:8
+#: hacks/config/fadeplot.xml.h:6 hacks/config/flag.xml.h:5
+#: hacks/config/flame.xml.h:11 hacks/config/flow.xml.h:8
+#: hacks/config/fluidballs.xml.h:13 hacks/config/forest.xml.h:3
+#: hacks/config/galaxy.xml.h:6 hacks/config/grav.xml.h:4
+#: hacks/config/halo.xml.h:4 hacks/config/hopalong.xml.h:15
+#: hacks/config/ifs.xml.h:3 hacks/config/imsmap.xml.h:9
+#: hacks/config/interference.xml.h:11 hacks/config/julia.xml.h:6
+#: hacks/config/kaleidescope.xml.h:5 hacks/config/laser.xml.h:6
+#: hacks/config/lightning.xml.h:3 hacks/config/lisa.xml.h:5
+#: hacks/config/lissie.xml.h:6 hacks/config/loop.xml.h:4
+#: hacks/config/moire.xml.h:5 hacks/config/moire2.xml.h:3
+#: hacks/config/mountain.xml.h:4 hacks/config/nerverot.xml.h:15
+#: hacks/config/pedal.xml.h:6 hacks/config/penrose.xml.h:7
+#: hacks/config/petri.xml.h:11 hacks/config/polyominoes.xml.h:5
+#: hacks/config/qix.xml.h:14 hacks/config/rd-bomb.xml.h:12
+#: hacks/config/ripples.xml.h:7 hacks/config/rocks.xml.h:5
+#: hacks/config/rotor.xml.h:6 hacks/config/shadebobs.xml.h:5
+#: hacks/config/sierpinski.xml.h:4 hacks/config/slip.xml.h:4
+#: hacks/config/sphere.xml.h:3 hacks/config/spiral.xml.h:6
+#: hacks/config/squiral.xml.h:9 hacks/config/starfish.xml.h:5
+#: hacks/config/strange.xml.h:5 hacks/config/swirl.xml.h:3
+#: hacks/config/thornbird.xml.h:4 hacks/config/triangle.xml.h:3
+#: hacks/config/vines.xml.h:2 hacks/config/whirlwindwarp.xml.h:4
+#: hacks/config/worm.xml.h:4 hacks/config/xearth.xml.h:12
+#: hacks/config/xfishtank.xml.h:8
+msgid "Many"
+msgstr ""
+
+#: hacks/config/ant.xml.h:9
+msgid "Nine Sided Cells"
+msgstr ""
+
+#: hacks/config/ant.xml.h:10 hacks/config/apollonian.xml.h:8
+#: hacks/config/attraction.xml.h:19 hacks/config/bouboule.xml.h:6
+#: hacks/config/braid.xml.h:9 hacks/config/critical.xml.h:5
+#: hacks/config/crystal.xml.h:10 hacks/config/cynosure.xml.h:7
+#: hacks/config/deco.xml.h:8 hacks/config/deluxe.xml.h:7
+#: hacks/config/demon.xml.h:7 hacks/config/discrete.xml.h:6
+#: hacks/config/drift.xml.h:10 hacks/config/epicycle.xml.h:9
+#: hacks/config/euler2d.xml.h:9 hacks/config/fadeplot.xml.h:7
+#: hacks/config/flag.xml.h:6 hacks/config/flame.xml.h:12
+#: hacks/config/flow.xml.h:9 hacks/config/forest.xml.h:4
+#: hacks/config/galaxy.xml.h:7 hacks/config/grav.xml.h:5
+#: hacks/config/halo.xml.h:6 hacks/config/hopalong.xml.h:17
+#: hacks/config/ifs.xml.h:4 hacks/config/imsmap.xml.h:10
+#: hacks/config/interference.xml.h:12 hacks/config/julia.xml.h:7
+#: hacks/config/laser.xml.h:8 hacks/config/lightning.xml.h:4
+#: hacks/config/lisa.xml.h:6 hacks/config/lissie.xml.h:7
+#: hacks/config/loop.xml.h:5 hacks/config/moire.xml.h:7
+#: hacks/config/moire2.xml.h:5 hacks/config/mountain.xml.h:6
+#: hacks/config/penrose.xml.h:8 hacks/config/polyominoes.xml.h:6
+#: hacks/config/rd-bomb.xml.h:13 hacks/config/rocks.xml.h:6
+#: hacks/config/rotor.xml.h:7 hacks/config/shadebobs.xml.h:6
+#: hacks/config/sierpinski.xml.h:5 hacks/config/slip.xml.h:5
+#: hacks/config/sphere.xml.h:4 hacks/config/spiral.xml.h:8
+#: hacks/config/squiral.xml.h:10 hacks/config/starfish.xml.h:6
+#: hacks/config/strange.xml.h:6 hacks/config/swirl.xml.h:5
+#: hacks/config/thornbird.xml.h:5 hacks/config/triangle.xml.h:4
+#: hacks/config/vines.xml.h:3 hacks/config/worm.xml.h:5
+#: hacks/config/xearth.xml.h:17 hacks/config/xfishtank.xml.h:9
+msgid "Number of Colors"
+msgstr ""
+
+#: hacks/config/ant.xml.h:11
+msgid "Random Cell Shape"
+msgstr ""
+
+#: hacks/config/ant.xml.h:12 hacks/config/speedmine.xml.h:11
+msgid "Sharp Turns"
+msgstr ""
+
+#: hacks/config/ant.xml.h:13
+msgid "Six Sided Cells"
+msgstr ""
+
+#: hacks/config/ant.xml.h:14 hacks/config/apollonian.xml.h:11
+#: hacks/config/atlantis.xml.h:13 hacks/config/attraction.xml.h:26
+#: hacks/config/blaster.xml.h:8 hacks/config/blitspin.xml.h:7
+#: hacks/config/bouboule.xml.h:8 hacks/config/boxed.xml.h:6
+#: hacks/config/braid.xml.h:11 hacks/config/bubble3d.xml.h:5
+#: hacks/config/bubbles.xml.h:10 hacks/config/bumps.xml.h:4
+#: hacks/config/cage.xml.h:4 hacks/config/circuit.xml.h:10
+#: hacks/config/compass.xml.h:4 hacks/config/coral.xml.h:12
+#: hacks/config/critical.xml.h:6 hacks/config/crystal.xml.h:11
+#: hacks/config/cubenetic.xml.h:22 hacks/config/cynosure.xml.h:9
+#: hacks/config/dangerball.xml.h:5 hacks/config/decayscreen.xml.h:17
+#: hacks/config/deluxe.xml.h:8 hacks/config/demon.xml.h:8
+#: hacks/config/discrete.xml.h:7 hacks/config/distort.xml.h:11
+#: hacks/config/drift.xml.h:12 hacks/config/engine.xml.h:5
+#: hacks/config/epicycle.xml.h:10 hacks/config/euler2d.xml.h:14
+#: hacks/config/extrusion.xml.h:11 hacks/config/fadeplot.xml.h:8
+#: hacks/config/flag.xml.h:7 hacks/config/flame.xml.h:14
+#: hacks/config/flipscreen3d.xml.h:6 hacks/config/flow.xml.h:13
+#: hacks/config/fluidballs.xml.h:18 hacks/config/forest.xml.h:5
+#: hacks/config/galaxy.xml.h:10 hacks/config/gears.xml.h:7
+#: hacks/config/gflux.xml.h:12 hacks/config/glforestfire.xml.h:14
+#: hacks/config/glplanet.xml.h:6 hacks/config/glsnake.xml.h:12
+#: hacks/config/gltext.xml.h:13 hacks/config/goop.xml.h:10
+#: hacks/config/grav.xml.h:8 hacks/config/greynetic.xml.h:3
+#: hacks/config/halo.xml.h:9 hacks/config/hopalong.xml.h:21
+#: hacks/config/hyperball.xml.h:8 hacks/config/hypercube.xml.h:7
+#: hacks/config/ifs.xml.h:5 hacks/config/interference.xml.h:14
+#: hacks/config/jigsaw.xml.h:5 hacks/config/juggle.xml.h:7
+#: hacks/config/julia.xml.h:8 hacks/config/kaleidescope.xml.h:7
+#: hacks/config/kumppa.xml.h:8 hacks/config/lament.xml.h:6
+#: hacks/config/laser.xml.h:10 hacks/config/lightning.xml.h:5
+#: hacks/config/lisa.xml.h:8 hacks/config/lissie.xml.h:9
+#: hacks/config/lmorph.xml.h:11 hacks/config/loop.xml.h:7
+#: hacks/config/maze.xml.h:14 hacks/config/menger.xml.h:16
+#: hacks/config/moebius.xml.h:7 hacks/config/moire2.xml.h:6
+#: hacks/config/molecule.xml.h:22 hacks/config/morph3d.xml.h:6
+#: hacks/config/mountain.xml.h:7 hacks/config/munch.xml.h:7
+#: hacks/config/nerverot.xml.h:20 hacks/config/penetrate.xml.h:6
+#: hacks/config/penrose.xml.h:11 hacks/config/petri.xml.h:23
+#: hacks/config/phosphor.xml.h:6 hacks/config/pipes.xml.h:15
+#: hacks/config/polyominoes.xml.h:10 hacks/config/pulsar.xml.h:15
+#: hacks/config/pyro.xml.h:13 hacks/config/qix.xml.h:19
+#: hacks/config/rd-bomb.xml.h:17 hacks/config/ripples.xml.h:11
+#: hacks/config/rocks.xml.h:9 hacks/config/rotor.xml.h:11
+#: hacks/config/rubik.xml.h:9 hacks/config/sballs.xml.h:13
+#: hacks/config/shadebobs.xml.h:9 hacks/config/sierpinski.xml.h:7
+#: hacks/config/sierpinski3d.xml.h:8 hacks/config/slidescreen.xml.h:6
+#: hacks/config/slip.xml.h:7 hacks/config/speedmine.xml.h:13
+#: hacks/config/sphere.xml.h:5 hacks/config/spheremonics.xml.h:19
+#: hacks/config/spiral.xml.h:9 hacks/config/spotlight.xml.h:4
+#: hacks/config/sproingies.xml.h:6 hacks/config/squiral.xml.h:14
+#: hacks/config/stairs.xml.h:3 hacks/config/starfish.xml.h:8
+#: hacks/config/starwars.xml.h:12 hacks/config/strange.xml.h:7
+#: hacks/config/superquadrics.xml.h:7 hacks/config/swirl.xml.h:6
+#: hacks/config/t3d.xml.h:11 hacks/config/thornbird.xml.h:7
+#: hacks/config/triangle.xml.h:5 hacks/config/truchet.xml.h:2
+#: hacks/config/twang.xml.h:9 hacks/config/vines.xml.h:4
+#: hacks/config/webcollage.xml.h:7 hacks/config/worm.xml.h:7
+#: hacks/config/xearth.xml.h:22 hacks/config/xfishtank.xml.h:10
+#: hacks/config/xflame.xml.h:5 hacks/config/xjack.xml.h:2
+#: hacks/config/xmatrix.xml.h:13 hacks/config/xmountains.xml.h:4
+#: hacks/config/xrayswarm.xml.h:3 hacks/config/zoom.xml.h:6
+msgid "Slow"
+msgstr ""
+
+#: hacks/config/ant.xml.h:15 hacks/config/attraction.xml.h:27
+#: hacks/config/cubenetic.xml.h:23 hacks/config/demon.xml.h:9
+#: hacks/config/discrete.xml.h:8 hacks/config/distort.xml.h:12
+#: hacks/config/fadeplot.xml.h:9 hacks/config/flag.xml.h:8
+#: hacks/config/flow.xml.h:15 hacks/config/fluidballs.xml.h:19
+#: hacks/config/hopalong.xml.h:22 hacks/config/interference.xml.h:15
+#: hacks/config/julia.xml.h:9 hacks/config/lissie.xml.h:10
+#: hacks/config/loop.xml.h:8 hacks/config/moire.xml.h:9
+#: hacks/config/rd-bomb.xml.h:18 hacks/config/rorschach.xml.h:8
+#: hacks/config/rubik.xml.h:10 hacks/config/sierpinski.xml.h:8
+#: hacks/config/slip.xml.h:8
+msgid "Small"
+msgstr ""
+
+#: hacks/config/ant.xml.h:16 hacks/config/apollonian.xml.h:12
+#: hacks/config/attraction.xml.h:28 hacks/config/blaster.xml.h:9
+#: hacks/config/bouboule.xml.h:9 hacks/config/braid.xml.h:12
+#: hacks/config/bubble3d.xml.h:6 hacks/config/bubbles.xml.h:11
+#: hacks/config/bumps.xml.h:5 hacks/config/cage.xml.h:6
+#: hacks/config/circuit.xml.h:11 hacks/config/compass.xml.h:5
+#: hacks/config/coral.xml.h:14 hacks/config/critical.xml.h:7
+#: hacks/config/crystal.xml.h:12 hacks/config/cubenetic.xml.h:24
+#: hacks/config/cynosure.xml.h:10 hacks/config/dangerball.xml.h:6
+#: hacks/config/decayscreen.xml.h:18 hacks/config/deluxe.xml.h:9
+#: hacks/config/demon.xml.h:10 hacks/config/discrete.xml.h:9
+#: hacks/config/distort.xml.h:13 hacks/config/drift.xml.h:13
+#: hacks/config/engine.xml.h:6 hacks/config/epicycle.xml.h:11
+#: hacks/config/euler2d.xml.h:15 hacks/config/extrusion.xml.h:13
+#: hacks/config/fadeplot.xml.h:10 hacks/config/flag.xml.h:9
+#: hacks/config/flame.xml.h:15 hacks/config/flipscreen3d.xml.h:7
+#: hacks/config/flow.xml.h:16 hacks/config/fluidballs.xml.h:20
+#: hacks/config/forest.xml.h:6 hacks/config/galaxy.xml.h:11
+#: hacks/config/glforestfire.xml.h:15 hacks/config/glplanet.xml.h:8
+#: hacks/config/gltext.xml.h:15 hacks/config/goop.xml.h:11
+#: hacks/config/grav.xml.h:9 hacks/config/greynetic.xml.h:4
+#: hacks/config/halo.xml.h:10 hacks/config/hopalong.xml.h:23
+#: hacks/config/hyperball.xml.h:9 hacks/config/hypercube.xml.h:8
+#: hacks/config/ifs.xml.h:6 hacks/config/jigsaw.xml.h:7
+#: hacks/config/juggle.xml.h:8 hacks/config/julia.xml.h:10
+#: hacks/config/kaleidescope.xml.h:8 hacks/config/kumppa.xml.h:9
+#: hacks/config/lament.xml.h:7 hacks/config/laser.xml.h:11
+#: hacks/config/lightning.xml.h:6 hacks/config/lisa.xml.h:9
+#: hacks/config/lissie.xml.h:11 hacks/config/lmorph.xml.h:12
+#: hacks/config/loop.xml.h:9 hacks/config/menger.xml.h:18
+#: hacks/config/moebius.xml.h:10 hacks/config/moire2.xml.h:7
+#: hacks/config/molecule.xml.h:24 hacks/config/morph3d.xml.h:7
+#: hacks/config/mountain.xml.h:8 hacks/config/munch.xml.h:9
+#: hacks/config/nerverot.xml.h:22 hacks/config/penrose.xml.h:12
+#: hacks/config/petri.xml.h:25 hacks/config/phosphor.xml.h:7
+#: hacks/config/pipes.xml.h:16 hacks/config/polyominoes.xml.h:11
+#: hacks/config/pulsar.xml.h:17 hacks/config/qix.xml.h:22
+#: hacks/config/rotor.xml.h:12 hacks/config/rubik.xml.h:11
+#: hacks/config/sballs.xml.h:14 hacks/config/shadebobs.xml.h:10
+#: hacks/config/sierpinski.xml.h:9 hacks/config/sierpinski3d.xml.h:10
+#: hacks/config/slidescreen.xml.h:7 hacks/config/slip.xml.h:9
+#: hacks/config/speedmine.xml.h:15 hacks/config/sphere.xml.h:6
+#: hacks/config/spheremonics.xml.h:22 hacks/config/spiral.xml.h:10
+#: hacks/config/spotlight.xml.h:5 hacks/config/sproingies.xml.h:8
+#: hacks/config/squiral.xml.h:16 hacks/config/stairs.xml.h:5
+#: hacks/config/starfish.xml.h:9 hacks/config/strange.xml.h:8
+#: hacks/config/superquadrics.xml.h:9 hacks/config/swirl.xml.h:7
+#: hacks/config/t3d.xml.h:13 hacks/config/thornbird.xml.h:8
+#: hacks/config/triangle.xml.h:6 hacks/config/truchet.xml.h:3
+#: hacks/config/twang.xml.h:10 hacks/config/vines.xml.h:5
+#: hacks/config/webcollage.xml.h:8 hacks/config/whirlygig.xml.h:4
+#: hacks/config/worm.xml.h:8 hacks/config/xearth.xml.h:25
+#: hacks/config/xflame.xml.h:6 hacks/config/xjack.xml.h:3
+#: hacks/config/xmatrix.xml.h:16 hacks/config/xmountains.xml.h:5
+#: hacks/config/xrayswarm.xml.h:4 hacks/config/zoom.xml.h:7
+msgid "Speed"
+msgstr ""
+
+#: hacks/config/ant.xml.h:17
+msgid "Three Sided Cells"
+msgstr ""
+
+#: hacks/config/ant.xml.h:18 hacks/config/demon.xml.h:12
+#: hacks/config/discrete.xml.h:10 hacks/config/fadeplot.xml.h:11
+#: hacks/config/flag.xml.h:12 hacks/config/flow.xml.h:17
+#: hacks/config/lissie.xml.h:12 hacks/config/loop.xml.h:11
+#: hacks/config/rubik.xml.h:12 hacks/config/sierpinski.xml.h:11
+#: hacks/config/slip.xml.h:11
+msgid "Timeout"
+msgstr ""
+
+#: hacks/config/ant.xml.h:19
+msgid "Truchet Lines"
+msgstr ""
+
+#: hacks/config/ant.xml.h:20
+msgid "Twelve Sided Cells"
+msgstr ""
+
+#: hacks/config/ant.xml.h:21 hacks/config/apollonian.xml.h:13
+#: hacks/config/attraction.xml.h:32 hacks/config/bouboule.xml.h:11
+#: hacks/config/braid.xml.h:13 hacks/config/critical.xml.h:8
+#: hacks/config/crystal.xml.h:13 hacks/config/cynosure.xml.h:11
+#: hacks/config/deco.xml.h:10 hacks/config/deluxe.xml.h:14
+#: hacks/config/demon.xml.h:13 hacks/config/discrete.xml.h:11
+#: hacks/config/drift.xml.h:14 hacks/config/epicycle.xml.h:13
+#: hacks/config/euler2d.xml.h:17 hacks/config/fadeplot.xml.h:12
+#: hacks/config/flag.xml.h:13 hacks/config/flame.xml.h:16
+#: hacks/config/flow.xml.h:18 hacks/config/forest.xml.h:8
+#: hacks/config/galaxy.xml.h:13 hacks/config/grav.xml.h:11
+#: hacks/config/halo.xml.h:12 hacks/config/hopalong.xml.h:25
+#: hacks/config/ifs.xml.h:8 hacks/config/imsmap.xml.h:15
+#: hacks/config/interference.xml.h:16 hacks/config/julia.xml.h:12
+#: hacks/config/laser.xml.h:12 hacks/config/lightning.xml.h:8
+#: hacks/config/lisa.xml.h:12 hacks/config/lissie.xml.h:13
+#: hacks/config/loop.xml.h:12 hacks/config/moire.xml.h:11
+#: hacks/config/moire2.xml.h:9 hacks/config/mountain.xml.h:9
+#: hacks/config/nerverot.xml.h:23 hacks/config/penrose.xml.h:13
+#: hacks/config/polyominoes.xml.h:12 hacks/config/rd-bomb.xml.h:20
+#: hacks/config/rocks.xml.h:12 hacks/config/rotor.xml.h:13
+#: hacks/config/shadebobs.xml.h:12 hacks/config/sierpinski.xml.h:12
+#: hacks/config/slip.xml.h:12 hacks/config/sphere.xml.h:8
+#: hacks/config/spiral.xml.h:12 hacks/config/squiral.xml.h:18
+#: hacks/config/starfish.xml.h:14 hacks/config/strange.xml.h:11
+#: hacks/config/swirl.xml.h:9 hacks/config/thornbird.xml.h:13
+#: hacks/config/triangle.xml.h:8 hacks/config/vines.xml.h:7
+#: hacks/config/worm.xml.h:9 hacks/config/xearth.xml.h:28
+#: hacks/config/xfishtank.xml.h:11
+msgid "Two"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:1
+msgid "Apollonian"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:2
+msgid "Deep"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:3
+msgid "Depth"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:4
+msgid "Draw Labels"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:6
+msgid "Include Alternate Geometries"
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:9
+msgid ""
+"Packs a large circle with smaller circles, demonstrating the Descartes "
+"Circle Theorem. Written by Allan R. Wilks and David Bagley."
+msgstr ""
+
+#: hacks/config/apollonian.xml.h:10
+msgid "Shallow"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:1
+msgid "Agressive"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:2
+msgid "Atlantis"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:3
+msgid "Clear Water"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:5
+msgid "Flat Background"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:6
+msgid "Gradient Background"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:7
+msgid "Number of Sharks"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:8
+msgid "Shark Proximity"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:9
+msgid "Shark Speed"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:10
+msgid "Shimmering Water"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:11 hacks/config/boxed.xml.h:5
+#: hacks/config/bubble3d.xml.h:4 hacks/config/cage.xml.h:3
+#: hacks/config/circuit.xml.h:9 hacks/config/cubenetic.xml.h:21
+#: hacks/config/dangerball.xml.h:4 hacks/config/engine.xml.h:4
+#: hacks/config/extrusion.xml.h:10 hacks/config/flipscreen3d.xml.h:5
+#: hacks/config/fluidballs.xml.h:17 hacks/config/gears.xml.h:6
+#: hacks/config/gflux.xml.h:11 hacks/config/glforestfire.xml.h:13
+#: hacks/config/glplanet.xml.h:5 hacks/config/glsnake.xml.h:10
+#: hacks/config/gltext.xml.h:12 hacks/config/lament.xml.h:5
+#: hacks/config/menger.xml.h:15 hacks/config/moebius.xml.h:6
+#: hacks/config/molecule.xml.h:21 hacks/config/morph3d.xml.h:5
+#: hacks/config/pipes.xml.h:14 hacks/config/pulsar.xml.h:14
+#: hacks/config/rubik.xml.h:6 hacks/config/sballs.xml.h:12
+#: hacks/config/sierpinski3d.xml.h:6 hacks/config/spheremonics.xml.h:18
+#: hacks/config/sproingies.xml.h:4 hacks/config/stairs.xml.h:2
+#: hacks/config/starwars.xml.h:11 hacks/config/superquadrics.xml.h:6
+msgid "Show Frames-per-Second"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:12
+msgid "Shy"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:14 hacks/config/boxed.xml.h:7
+#: hacks/config/cage.xml.h:5 hacks/config/extrusion.xml.h:12
+#: hacks/config/gears.xml.h:8 hacks/config/glplanet.xml.h:7
+#: hacks/config/glsnake.xml.h:13 hacks/config/gltext.xml.h:14
+#: hacks/config/menger.xml.h:17 hacks/config/molecule.xml.h:23
+#: hacks/config/munch.xml.h:8 hacks/config/sierpinski3d.xml.h:9
+#: hacks/config/speedmine.xml.h:14 hacks/config/spheremonics.xml.h:21
+#: hacks/config/sproingies.xml.h:7 hacks/config/stairs.xml.h:4
+#: hacks/config/stonerview.xml.h:2 hacks/config/superquadrics.xml.h:8
+msgid "Solid"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:15
+msgid ""
+"This is xfishtank writ large: a GL animation of a number of sharks, "
+"dolphins, and whales. The swimming motions are great. Originally written by "
+"Mark Kilgard."
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:16
+msgid "Whale Speed"
+msgstr ""
+
+#: hacks/config/atlantis.xml.h:17 hacks/config/boxed.xml.h:8
+#: hacks/config/cage.xml.h:8 hacks/config/dangerball.xml.h:11
+#: hacks/config/extrusion.xml.h:19 hacks/config/gears.xml.h:11
+#: hacks/config/glforestfire.xml.h:20 hacks/config/glplanet.xml.h:11
+#: hacks/config/glsnake.xml.h:16 hacks/config/gltext.xml.h:18
+#: hacks/config/lament.xml.h:9 hacks/config/menger.xml.h:21
+#: hacks/config/moebius.xml.h:11 hacks/config/molecule.xml.h:26
+#: hacks/config/pulsar.xml.h:20 hacks/config/sballs.xml.h:18
+#: hacks/config/sierpinski3d.xml.h:12 hacks/config/speedmine.xml.h:18
+#: hacks/config/spheremonics.xml.h:26 hacks/config/sproingies.xml.h:10
+#: hacks/config/stairs.xml.h:7 hacks/config/stonerview.xml.h:4
+#: hacks/config/superquadrics.xml.h:11
+msgid "Wireframe"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:1
+msgid "Attraction"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:2
+msgid "Ball Count"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:3
+msgid "Ball Mass"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:4 hacks/config/fluidballs.xml.h:2
+msgid "Balls"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:5
+msgid "Bounce Off Walls"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:6 hacks/config/hopalong.xml.h:1
+#: hacks/config/interference.xml.h:3 hacks/config/qix.xml.h:2
+#: hacks/config/wander.xml.h:3
+msgid "Color Contrast"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:7
+msgid "Environmental Viscosity"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:9
+msgid "Filled Splines"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:10 hacks/config/ccurve.xml.h:9
+#: hacks/config/cubenetic.xml.h:10 hacks/config/euler2d.xml.h:5
+#: hacks/config/flame.xml.h:9 hacks/config/goop.xml.h:6
+#: hacks/config/hopalong.xml.h:10 hacks/config/hyperball.xml.h:3
+#: hacks/config/hypercube.xml.h:3 hacks/config/interference.xml.h:6
+#: hacks/config/kumppa.xml.h:4 hacks/config/nerverot.xml.h:11
+#: hacks/config/petri.xml.h:8 hacks/config/pyro.xml.h:5
+#: hacks/config/qix.xml.h:10 hacks/config/speedmine.xml.h:5
+#: hacks/config/spheremonics.xml.h:6 hacks/config/spiral.xml.h:4
+#: hacks/config/squiral.xml.h:6 hacks/config/strange.xml.h:3
+#: hacks/config/superquadrics.xml.h:4 hacks/config/t3d.xml.h:7
+#: hacks/config/twang.xml.h:5 hacks/config/wander.xml.h:8
+msgid "High"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:11
+msgid "Ignore Screen Edges"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:12
+msgid "Inward"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:14
+msgid ""
+"Like qix, this uses a simple simple motion model to generate many different "
+"display modes. The control points attract each other up to a certain "
+"distance, and then begin to repel each other. The attraction/repulsion is "
+"proportional to the distance between any two particles, similar to the "
+"strong and weak nuclear forces. One of the most interesting ways to watch "
+"this hack is simply as bouncing balls, because their motions and "
+"interactions with each other are so odd. Sometimes two balls will get into a "
+"tight orbit around each other, to be interrupted later by a third, or by the "
+"edge of the screen. It looks quite chaotic. Written by Jamie Zawinski, based "
+"on Lisp code by John Pezaris."
+msgstr ""
+
+#: hacks/config/attraction.xml.h:15 hacks/config/deluxe.xml.h:5
+#: hacks/config/lmorph.xml.h:7 hacks/config/pedal.xml.h:5
+#: hacks/config/starfish.xml.h:4 hacks/config/whirlygig.xml.h:3
+msgid "Lines"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:16 hacks/config/braid.xml.h:6
+#: hacks/config/cynosure.xml.h:5 hacks/config/drift.xml.h:8
+#: hacks/config/euler2d.xml.h:6 hacks/config/galaxy.xml.h:5
+#: hacks/config/juggle.xml.h:5 hacks/config/laser.xml.h:5
+#: hacks/config/menger.xml.h:4 hacks/config/munch.xml.h:4
+#: hacks/config/nerverot.xml.h:13 hacks/config/petri.xml.h:9
+#: hacks/config/polyominoes.xml.h:4 hacks/config/rotor.xml.h:5
+#: hacks/config/shadebobs.xml.h:4 hacks/config/sierpinski3d.xml.h:3
+#: hacks/config/spheremonics.xml.h:7 hacks/config/wander.xml.h:10
+#: hacks/config/whirlwindwarp.xml.h:3
+msgid "Long"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:17 hacks/config/ccurve.xml.h:10
+#: hacks/config/cubenetic.xml.h:12 hacks/config/euler2d.xml.h:7
+#: hacks/config/flame.xml.h:10 hacks/config/goop.xml.h:7
+#: hacks/config/hopalong.xml.h:14 hacks/config/hyperball.xml.h:6
+#: hacks/config/hypercube.xml.h:5 hacks/config/interference.xml.h:9
+#: hacks/config/kumppa.xml.h:6 hacks/config/nerverot.xml.h:14
+#: hacks/config/petri.xml.h:10 hacks/config/pyro.xml.h:7
+#: hacks/config/qix.xml.h:13 hacks/config/speedmine.xml.h:6
+#: hacks/config/spheremonics.xml.h:8 hacks/config/spiral.xml.h:5
+#: hacks/config/squiral.xml.h:8 hacks/config/strange.xml.h:4
+#: hacks/config/superquadrics.xml.h:5 hacks/config/t3d.xml.h:8
+#: hacks/config/twang.xml.h:7 hacks/config/wander.xml.h:11
+msgid "Low"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:20
+msgid "Orbital Mode"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:21
+msgid "Outward"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:22
+msgid "Polygons"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:23 hacks/config/spotlight.xml.h:3
+msgid "Radius"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:24
+msgid "Repulsion Threshold"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:25 hacks/config/braid.xml.h:10
+#: hacks/config/cynosure.xml.h:8 hacks/config/drift.xml.h:11
+#: hacks/config/euler2d.xml.h:12 hacks/config/galaxy.xml.h:8
+#: hacks/config/laser.xml.h:9 hacks/config/menger.xml.h:14
+#: hacks/config/munch.xml.h:6 hacks/config/nerverot.xml.h:19
+#: hacks/config/petri.xml.h:22 hacks/config/polyominoes.xml.h:9
+#: hacks/config/rotor.xml.h:9 hacks/config/shadebobs.xml.h:8
+#: hacks/config/sierpinski3d.xml.h:5 hacks/config/spheremonics.xml.h:17
+#: hacks/config/wander.xml.h:12 hacks/config/whirlwindwarp.xml.h:6
+msgid "Short"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:29
+msgid "Splines"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:30
+msgid "Tails"
+msgstr ""
+
+#: hacks/config/attraction.xml.h:31 hacks/config/euler2d.xml.h:16
+#: hacks/config/juggle.xml.h:9
+msgid "Trail Length"
+msgstr ""
+
+#: hacks/config/blaster.xml.h:1
+msgid "Blaster"
+msgstr ""
+
+#: hacks/config/blaster.xml.h:2
+msgid ""
+"Draws a simulation of flying space-combat robots (cleverly disguised as "
+"colored circles) doing battle in front of a moving star field. Written by "
+"Jonathan Lin."
+msgstr ""
+
+#: hacks/config/blaster.xml.h:4 hacks/config/bouboule.xml.h:4
+#: hacks/config/coral.xml.h:8 hacks/config/cubenetic.xml.h:9
+#: hacks/config/euler2d.xml.h:4 hacks/config/flame.xml.h:7
+#: hacks/config/fluidballs.xml.h:4 hacks/config/kaleidescope.xml.h:3
+#: hacks/config/lisa.xml.h:3 hacks/config/pedal.xml.h:4
+#: hacks/config/petri.xml.h:7 hacks/config/qix.xml.h:8
+#: hacks/config/thornbird.xml.h:3 hacks/config/whirlwindwarp.xml.h:1
+#: hacks/config/xfishtank.xml.h:4
+msgid "Few"
+msgstr ""
+
+#: hacks/config/blaster.xml.h:5 hacks/config/penetrate.xml.h:4
+msgid "Lasers"
+msgstr ""
+
+#: hacks/config/blaster.xml.h:7
+msgid "Robots"
+msgstr ""
+
+#: hacks/config/blaster.xml.h:10
+msgid "Stars"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:1
+msgid "90° Rotation Speed"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:2
+msgid "Bitmap to rotate"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:3
+msgid "BlitSpin"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:5
+msgid "Fuzzy Rotation Speed"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:6
+msgid "Grab Screen"
+msgstr ""
+
+#: hacks/config/blitspin.xml.h:8
+msgid ""
+"The ``blitspin'' hack repeatedly rotates a bitmap by 90 degrees by using "
+"logical operations: the bitmap is divided into quadrants, and the quadrants "
+"are shifted clockwise. Then the same thing is done again with progressively "
+"smaller quadrants, except that all sub-quadrants of a given size are rotated "
+"in parallel. Written by Jamie Zawinski based on some cool SmallTalk code "
+"seen in in Byte Magazine in 1981. As you watch it, the image appears to "
+"dissolve into static and then reconstitute itself, but rotated. You can "
+"provide the image to use, as an XBM or XPM file, or tell it to grab a screen "
+"image and rotate that."
+msgstr ""
+
+#: hacks/config/bouboule.xml.h:1
+msgid "Bouboule"
+msgstr ""
+
+#: hacks/config/bouboule.xml.h:2 hacks/config/rocks.xml.h:3
+msgid "Do Red/Blue 3D seperation"
+msgstr ""
+
+#: hacks/config/bouboule.xml.h:7
+msgid "Number of Spots"
+msgstr ""
+
+#: hacks/config/bouboule.xml.h:10
+msgid ""
+"This draws what looks like a spinning, deforming baloon with varying-sized "
+"spots painted on its invisible surface. Written by Jeremie Petit."
+msgstr ""
+
+#: hacks/config/boxed.xml.h:1 hacks/config/gears.xml.h:1
+#: hacks/config/gflux.xml.h:1 hacks/config/pyro.xml.h:1
+#: hacks/config/rd-bomb.xml.h:6 hacks/config/rocks.xml.h:1
+#: hacks/config/starwars.xml.h:1 hacks/config/xfishtank.xml.h:1
+msgid "Animation Speed"
+msgstr ""
+
+#: hacks/config/boxed.xml.h:2
+msgid "Boxed"
+msgstr ""
+
+#: hacks/config/boxed.xml.h:3
+msgid ""
+"Draws a box full of 3D bouncing balls that explode. Written by Sander van "
+"Grieken."
+msgstr ""
+
+#: hacks/config/braid.xml.h:1
+msgid "Braid"
+msgstr ""
+
+#: hacks/config/braid.xml.h:2
+msgid ""
+"Draws random color-cycling inter-braided concentric circles. Written by John "
+"Neil."
+msgstr ""
+
+#: hacks/config/braid.xml.h:3 hacks/config/bsod.xml.h:8
+#: hacks/config/ccurve.xml.h:7 hacks/config/coral.xml.h:6
+#: hacks/config/cynosure.xml.h:3 hacks/config/deco.xml.h:4
+#: hacks/config/drift.xml.h:2 hacks/config/epicycle.xml.h:3
+#: hacks/config/euler2d.xml.h:1 hacks/config/flame.xml.h:5
+#: hacks/config/galaxy.xml.h:2 hacks/config/glsnake.xml.h:4
+#: hacks/config/helix.xml.h:3 hacks/config/hopalong.xml.h:2
+#: hacks/config/imsmap.xml.h:6 hacks/config/laser.xml.h:2
+#: hacks/config/menger.xml.h:2 hacks/config/moire.xml.h:3
+#: hacks/config/molecule.xml.h:9 hacks/config/munch.xml.h:2
+#: hacks/config/nerverot.xml.h:8 hacks/config/pedal.xml.h:3
+#: hacks/config/penrose.xml.h:5 hacks/config/polyominoes.xml.h:1
+#: hacks/config/rorschach.xml.h:3 hacks/config/rotzoomer.xml.h:5
+#: hacks/config/shadebobs.xml.h:2 hacks/config/sierpinski3d.xml.h:1
+#: hacks/config/spheremonics.xml.h:4 hacks/config/starfish.xml.h:2
+#: hacks/config/vidwhacker.xml.h:3 hacks/config/wander.xml.h:7
+#: hacks/config/xspirograph.xml.h:3
+msgid "Duration"
+msgstr ""
+
+#: hacks/config/braid.xml.h:5 hacks/config/epicycle.xml.h:7
+#: hacks/config/nerverot.xml.h:12
+msgid "Line Thickness"
+msgstr ""
+
+#: hacks/config/braid.xml.h:8
+msgid "Max Rings"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:1 hacks/config/molecule.xml.h:1
+#: hacks/config/vidwhacker.xml.h:1 hacks/config/webcollage.xml.h:1
+msgid "2 minutes"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:2 hacks/config/molecule.xml.h:2
+msgid "5 seconds"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:3
+msgid "AmigaDOS"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:4
+msgid "Atari"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:5
+msgid "BSD"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:6
+msgid "BSOD"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:7
+msgid ""
+"BSOD stands for ``Blue Screen of Death.'' The finest in personal computer "
+"emulation, this hack simulates popular screen savers from a number of less "
+"robust operating systems. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/bsod.xml.h:9
+msgid "Mac Bomb"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:10
+msgid "MacsBug"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:11
+msgid "NCD X Terminal"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:12
+msgid "SCO"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:13
+msgid "Sad Mac"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:14
+msgid "Solaris"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:15
+msgid "Sparc Linux"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:16
+msgid "Windows"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:17
+msgid "Windows 2000"
+msgstr ""
+
+#: hacks/config/bsod.xml.h:18
+msgid "Windows NT"
+msgstr ""
+
+#: hacks/config/bubble3d.xml.h:1
+msgid "Bubble3D"
+msgstr ""
+
+#: hacks/config/bubble3d.xml.h:2
+msgid ""
+"Draws a stream of rising, undulating 3D bubbles, rising toward the top of "
+"the screen, with nice specular reflections. Written by Richard Jones."
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:1 hacks/config/xfishtank.xml.h:2
+msgid "Bubbles"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:2
+msgid "Bubbles Fall"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:3
+msgid "Bubbles Float"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:4
+msgid "Bubbles Rise"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:5
+msgid "Bubbles exist in three dimensions"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:6
+msgid "Don't hide bubbles when they pop"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:7
+msgid "Draw circles instead of pixmap bubbles"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:9
+msgid "Leave Trails"
+msgstr ""
+
+#: hacks/config/bubbles.xml.h:12
+msgid ""
+"This simulates the kind of bubble formation that happens when water boils:"
+"small bubbles appear, and as they get closer to each other, they combine to "
+"form larger bubbles, which eventually pop. Written by James Macnicol."
+msgstr ""
+
+#: hacks/config/bumps.xml.h:1
+msgid ""
+"A bit like `Spotlight', except that instead of merely exposing part of your "
+"desktop, it creates a bump map from it. Basically, it 3D-izes a roaming "
+"section of your desktop, based on color intensity. Written by Shane Smit."
+msgstr ""
+
+#: hacks/config/bumps.xml.h:2
+msgid "Bumps"
+msgstr ""
+
+#: hacks/config/cage.xml.h:1
+msgid "Cage"
+msgstr ""
+
+#: hacks/config/cage.xml.h:7
+msgid ""
+"This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius strip, and "
+"rotates it in three dimensions. Written by Marcelo Vianna."
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:1
+msgid "0 seconds"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:2 hacks/config/epicycle.xml.h:1
+msgid "1 minute"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:3 hacks/config/epicycle.xml.h:2
+msgid "1 second"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:4
+msgid "C Curve"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:5
+msgid "Delay"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:6 hacks/config/coral.xml.h:5
+#: hacks/config/imsmap.xml.h:5 hacks/config/kumppa.xml.h:1
+#: hacks/config/qix.xml.h:6 hacks/config/squiral.xml.h:2
+#: hacks/config/wander.xml.h:4
+msgid "Density"
+msgstr ""
+
+#: hacks/config/ccurve.xml.h:8
+msgid ""
+"Generates self-similar linear fractals, including the classic ``C Curve.'' "
+"Written by Rick Campbell."
+msgstr ""
+
+#: hacks/config/circuit.xml.h:1
+msgid "Animates a number of 3D electronic components. Written by Ben Buxton."
+msgstr ""
+
+#: hacks/config/circuit.xml.h:2
+msgid "Circuit"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:3 hacks/config/gflux.xml.h:4
+#: hacks/config/pulsar.xml.h:2
+msgid "Directional Lighting"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:5
+msgid "Flat Coloring"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:6
+msgid "Parts"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:7 hacks/config/flipscreen3d.xml.h:4
+msgid "Rotate"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:8
+msgid "Rotation Speed"
+msgstr ""
+
+#: hacks/config/circuit.xml.h:12 hacks/config/dangerball.xml.h:9
+#: hacks/config/engine.xml.h:7
+msgid "Spin"
+msgstr ""
+
+#: hacks/config/compass.xml.h:1
+msgid "Compass"
+msgstr ""
+
+#: hacks/config/compass.xml.h:2 hacks/config/deluxe.xml.h:3
+#: hacks/config/interference.xml.h:4 hacks/config/kumppa.xml.h:2
+#: hacks/config/nerverot.xml.h:6 hacks/config/pipes.xml.h:4
+msgid "Double Buffer"
+msgstr ""
+
+#: hacks/config/compass.xml.h:6
+msgid ""
+"This draws a compass, with all elements spinning about randomly, for that "
+"``lost and nauseous'' feeling. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/coral.xml.h:1 hacks/config/deco.xml.h:1
+#: hacks/config/helix.xml.h:1 hacks/config/imsmap.xml.h:1
+#: hacks/config/jigsaw.xml.h:2 hacks/config/moire.xml.h:1
+#: hacks/config/pedal.xml.h:1 hacks/config/rorschach.xml.h:1
+#: hacks/config/rotzoomer.xml.h:2 hacks/config/wander.xml.h:2
+#: hacks/config/xspirograph.xml.h:1
+msgid "1 Minute"
+msgstr ""
+
+#: hacks/config/coral.xml.h:2 hacks/config/deco.xml.h:2
+#: hacks/config/helix.xml.h:2 hacks/config/imsmap.xml.h:2
+#: hacks/config/moire.xml.h:2 hacks/config/pedal.xml.h:2
+#: hacks/config/penrose.xml.h:1 hacks/config/rorschach.xml.h:2
+#: hacks/config/xspirograph.xml.h:2
+msgid "1 Second"
+msgstr ""
+
+#: hacks/config/coral.xml.h:3
+msgid "Coral"
+msgstr ""
+
+#: hacks/config/coral.xml.h:4 hacks/config/gflux.xml.h:3
+#: hacks/config/imsmap.xml.h:4 hacks/config/pyro.xml.h:2
+#: hacks/config/qix.xml.h:5 hacks/config/squiral.xml.h:1
+#: hacks/config/xearth.xml.h:4
+msgid "Dense"
+msgstr ""
+
+#: hacks/config/coral.xml.h:10 hacks/config/squiral.xml.h:13
+msgid "Seeds"
+msgstr ""
+
+#: hacks/config/coral.xml.h:11
+msgid ""
+"Simulates coral growth, albeit somewhat slowly. This image doesn't really do "
+"it justice. Written by Frederick Roeber."
+msgstr ""
+
+#: hacks/config/coral.xml.h:13 hacks/config/gflux.xml.h:13
+#: hacks/config/imsmap.xml.h:13 hacks/config/pyro.xml.h:14
+#: hacks/config/qix.xml.h:21 hacks/config/squiral.xml.h:15
+#: hacks/config/xearth.xml.h:24 hacks/config/xmatrix.xml.h:15
+msgid "Sparse"
+msgstr ""
+
+#: hacks/config/cosmos.xml.h:1
+msgid "Cosmos"
+msgstr ""
+
+#: hacks/config/cosmos.xml.h:2
+msgid ""
+"Draws fireworks and zooming, fading flares. By Tom Campbell. You can find it "
+"at &lt;http://cosmos.dnsalias.net/cosmos/&gt;"
+msgstr ""
+
+#: hacks/config/critical.xml.h:1
+msgid "Critical"
+msgstr ""
+
+#: hacks/config/critical.xml.h:2
+msgid ""
+"Draws a system of self-organizing lines. It starts out as random squiggles, "
+"but after a few iterations, order begins to appear. Written by Martin Pool."
+msgstr ""
+
+#: hacks/config/crystal.xml.h:1
+msgid "Center on Screen"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:2 hacks/config/deluxe.xml.h:1
+#: hacks/config/fadeplot.xml.h:1 hacks/config/flow.xml.h:3
+#: hacks/config/galaxy.xml.h:1 hacks/config/glforestfire.xml.h:1
+#: hacks/config/grav.xml.h:1 hacks/config/julia.xml.h:1
+#: hacks/config/laser.xml.h:1 hacks/config/lisa.xml.h:1
+#: hacks/config/lissie.xml.h:2 hacks/config/morph3d.xml.h:2
+#: hacks/config/mountain.xml.h:1 hacks/config/qix.xml.h:4
+#: hacks/config/rocks.xml.h:2 hacks/config/rotor.xml.h:2
+#: hacks/config/rubik.xml.h:1 hacks/config/shadebobs.xml.h:1
+#: hacks/config/sierpinski.xml.h:1 hacks/config/slip.xml.h:1
+#: hacks/config/spiral.xml.h:1 hacks/config/sproingies.xml.h:1
+#: hacks/config/superquadrics.xml.h:1 hacks/config/swirl.xml.h:1
+#: hacks/config/worm.xml.h:2
+msgid "Count"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:3
+msgid "Crystal"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:4
+msgid "Draw Cell"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:5 hacks/config/spheremonics.xml.h:3
+#: hacks/config/xearth.xml.h:6
+msgid "Draw Grid"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:7
+msgid "Horizontal Symmetries"
+msgstr ""
+
+#: hacks/config/crystal.xml.h:9
+msgid ""
+"Moving polygons, similar to a kaleidescope (more like a kaleidescope than "
+"the hack called `kaleid,' actually.) This one by Jouk Jansen."
+msgstr ""
+
+#: hacks/config/crystal.xml.h:14
+msgid "Vertical Symmetries"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:1
+msgid "Boxes"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:2
+msgid "Cubenetic"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:3
+msgid "Display Solid Colors"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:4
+msgid "Display Surface Patterns"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:5
+msgid "Display Wireframe"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:6 hacks/config/gltext.xml.h:2
+#: hacks/config/menger.xml.h:1 hacks/config/molecule.xml.h:4
+#: hacks/config/spheremonics.xml.h:1
+msgid "Don't Rotate"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:7
+msgid ""
+"Draws a pulsating set of overlapping boxes with ever-chaning blobby patterns "
+"undulating across their surfaces. It's sort of a cubist Lavalite. Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:14 hacks/config/gltext.xml.h:5
+#: hacks/config/menger.xml.h:7 hacks/config/molecule.xml.h:14
+#: hacks/config/spheremonics.xml.h:10
+msgid "Rotate around X and Y axes"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:15 hacks/config/gltext.xml.h:6
+#: hacks/config/menger.xml.h:8 hacks/config/molecule.xml.h:15
+#: hacks/config/spheremonics.xml.h:11
+msgid "Rotate around X and Z axes"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:16 hacks/config/gltext.xml.h:7
+#: hacks/config/menger.xml.h:9 hacks/config/molecule.xml.h:16
+#: hacks/config/spheremonics.xml.h:12
+msgid "Rotate around X axis"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:17 hacks/config/gltext.xml.h:8
+#: hacks/config/menger.xml.h:10 hacks/config/molecule.xml.h:17
+#: hacks/config/spheremonics.xml.h:13
+msgid "Rotate around Y and Z axes"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:18 hacks/config/gltext.xml.h:9
+#: hacks/config/menger.xml.h:11 hacks/config/molecule.xml.h:18
+#: hacks/config/spheremonics.xml.h:14
+msgid "Rotate around Y axis"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:19 hacks/config/gltext.xml.h:10
+#: hacks/config/menger.xml.h:12 hacks/config/molecule.xml.h:19
+#: hacks/config/spheremonics.xml.h:15
+msgid "Rotate around Z axis"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:20 hacks/config/gltext.xml.h:11
+#: hacks/config/menger.xml.h:13 hacks/config/molecule.xml.h:20
+#: hacks/config/spheremonics.xml.h:16
+msgid "Rotate around all three axes"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:25
+msgid "Surface Pattern Complexity"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:26
+msgid "Surface Pattern Overlap"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:27
+msgid "Surface Pattern Speed"
+msgstr ""
+
+#: hacks/config/cubenetic.xml.h:28 hacks/config/dangerball.xml.h:10
+#: hacks/config/engine.xml.h:8 hacks/config/glforestfire.xml.h:19
+#: hacks/config/gltext.xml.h:17 hacks/config/menger.xml.h:20
+#: hacks/config/molecule.xml.h:25 hacks/config/spheremonics.xml.h:25
+#: hacks/config/wander.xml.h:15
+msgid "Wander"
+msgstr ""
+
+#: hacks/config/cynosure.xml.h:1
+msgid ""
+"A hack similar to `greynetic', but less frenetic. The first implementation "
+"was by Stephen Linhart; then Ozymandias G. Desiderata wrote a Java applet "
+"clone. That clone was discovered by Jamie Zawinski, and ported to C for "
+"inclusion here."
+msgstr ""
+
+#: hacks/config/cynosure.xml.h:2
+msgid "Cynosure"
+msgstr ""
+
+#: hacks/config/dangerball.xml.h:1
+msgid "DangerBall"
+msgstr ""
+
+#: hacks/config/dangerball.xml.h:2
+msgid ""
+"Draws a ball that periodically extrudes many random spikes. Ouch! Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/dangerball.xml.h:7
+msgid "Spike Count"
+msgstr ""
+
+#: hacks/config/dangerball.xml.h:8
+msgid "Spike Growth"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:1
+msgid "DecayScreen"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:3
+msgid "Fuzzy Melt"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:4
+msgid "Melt Away From Center"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:5
+msgid "Melt Down"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:6
+msgid "Melt Down, Left"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:7
+msgid "Melt Down, Right"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:8
+msgid "Melt Left"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:9
+msgid "Melt Right"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:10
+msgid "Melt Towards Center"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:11
+msgid "Melt Up"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:12
+msgid "Melt Up, Left"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:13
+msgid "Melt Up, Right"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:14
+msgid "Melty Melt"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:15
+msgid "Random Melt Style"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:16
+msgid "Shuffle Melt"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:19
+msgid "Stretchy Melt"
+msgstr ""
+
+#: hacks/config/decayscreen.xml.h:20
+msgid ""
+"This takes an image and makes it melt. You've no doubt seen this effect "
+"before, but no screensaver would really be complete without it. It works "
+"best if there's something colorful visible. Warning, if the effect continues "
+"after the screen saver is off, seek medical attention. Written by David Wald "
+"and Vivek Khera."
+msgstr ""
+
+#: hacks/config/deco.xml.h:3
+msgid "Deco"
+msgstr ""
+
+#: hacks/config/deco.xml.h:6 hacks/config/menger.xml.h:5
+#: hacks/config/sierpinski3d.xml.h:4
+msgid "Max Depth"
+msgstr ""
+
+#: hacks/config/deco.xml.h:7
+msgid "Min Size"
+msgstr ""
+
+#: hacks/config/deco.xml.h:9
+msgid ""
+"This one subdivides and colors rectangles randomly. It looks kind of like "
+"Brady-Bunch-era rec-room wall paneling. (Raven says: ``this screensaver is "
+"ugly enough to peel paint.'') Written by Jamie Zawinski, inspired by Java "
+"code by Michael Bayne."
+msgstr ""
+
+#: hacks/config/deco.xml.h:11 hacks/config/rd-bomb.xml.h:23
+#: hacks/config/whirlygig.xml.h:7 hacks/config/xearth.xml.h:33
+#: hacks/config/zoom.xml.h:10
+msgid "x"
+msgstr ""
+
+#: hacks/config/deluxe.xml.h:2
+msgid "Deluxe"
+msgstr ""
+
+#: hacks/config/deluxe.xml.h:10 hacks/config/lmorph.xml.h:13
+#: hacks/config/starfish.xml.h:11 hacks/config/thornbird.xml.h:9
+msgid "Thick"
+msgstr ""
+
+#: hacks/config/deluxe.xml.h:11 hacks/config/lmorph.xml.h:14
+#: hacks/config/starfish.xml.h:12 hacks/config/thornbird.xml.h:11
+msgid "Thin"
+msgstr ""
+
+#: hacks/config/deluxe.xml.h:12
+msgid ""
+"This draws a pulsing sequence of stars, circles, and lines. It would look "
+"better if it was faster, but as far as I can tell, there is no way to make "
+"this be both: fast, and flicker-free. Yet another reason X sucks. Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/deluxe.xml.h:13
+msgid "Transparency"
+msgstr ""
+
+#: hacks/config/demon.xml.h:1
+msgid ""
+"A cellular automaton that starts with a random field, and organizes it into "
+"stripes and spirals. Written by David Bagley."
+msgstr ""
+
+#: hacks/config/demon.xml.h:2 hacks/config/petri.xml.h:1
+msgid "Cell Size"
+msgstr ""
+
+#: hacks/config/demon.xml.h:3
+msgid "Demon"
+msgstr ""
+
+#: hacks/config/demon.xml.h:11
+msgid "States"
+msgstr ""
+
+#: hacks/config/discrete.xml.h:1
+msgid "Discrete"
+msgstr ""
+
+#: hacks/config/discrete.xml.h:5
+msgid ""
+"More ``discrete map'' systems, including new variants of Hopalong and Julia, "
+"and a few others. Written by Tim Auckland."
+msgstr ""
+
+#: hacks/config/distort.xml.h:1
+msgid "Black Hole"
+msgstr ""
+
+#: hacks/config/distort.xml.h:2
+msgid "Bounce"
+msgstr ""
+
+#: hacks/config/distort.xml.h:3
+msgid "Distort"
+msgstr ""
+
+#: hacks/config/distort.xml.h:6
+msgid "Lens Count"
+msgstr ""
+
+#: hacks/config/distort.xml.h:7
+msgid "Lens Size"
+msgstr ""
+
+#: hacks/config/distort.xml.h:8
+msgid "Magnify"
+msgstr ""
+
+#: hacks/config/distort.xml.h:9 hacks/config/glforestfire.xml.h:10
+#: hacks/config/lament.xml.h:4 hacks/config/sballs.xml.h:6
+msgid "Normal"
+msgstr ""
+
+#: hacks/config/distort.xml.h:10
+msgid "Reflect"
+msgstr ""
+
+#: hacks/config/distort.xml.h:14
+msgid "Swamp Thing"
+msgstr ""
+
+#: hacks/config/distort.xml.h:15
+msgid ""
+"This hack grabs an image of the screen, and then lets a transparent lens "
+"wander around the screen, magnifying whatever is underneath. Written by "
+"Jonas Munsin."
+msgstr ""
+
+#: hacks/config/distort.xml.h:16 hacks/config/moire.xml.h:12
+#: hacks/config/rd-bomb.xml.h:21 hacks/config/ripples.xml.h:15
+#: hacks/config/rotzoomer.xml.h:10 hacks/config/swirl.xml.h:10
+#: hacks/config/twang.xml.h:15 hacks/config/xflame.xml.h:7
+msgid "Use Shared Memory"
+msgstr ""
+
+#: hacks/config/distort.xml.h:17
+msgid "Vortex"
+msgstr ""
+
+#: hacks/config/drift.xml.h:1
+msgid "Drift"
+msgstr ""
+
+#: hacks/config/drift.xml.h:4
+msgid "Fractal Growth"
+msgstr ""
+
+#: hacks/config/drift.xml.h:5
+msgid "High Dimensional Sphere"
+msgstr ""
+
+#: hacks/config/drift.xml.h:6
+msgid ""
+"How could one possibly describe this except as ``drifting recursive fractal "
+"cosmic flames?'' Another fine hack from the Scott Draves collection of fine "
+"hacks."
+msgstr ""
+
+#: hacks/config/drift.xml.h:7
+msgid "Lissojous Figures"
+msgstr ""
+
+#: hacks/config/electricsheep.xml.h:1
+msgid "ElectricSheep"
+msgstr ""
+
+#: hacks/config/electricsheep.xml.h:2
+msgid ""
+"ElectricSheep is an xscreensaver module that displays mpeg video of an "
+"animated fractal flame. In the background, it contributes render cycles to "
+"the next animation. Periodically it uploades completed frames to the server, "
+"where they are compressed for distribution to all clients. This program is "
+"recommended only if you have a high bandwidth connection to the Internet. By "
+"Scott Draves. You can find it at &lt;http://www.electricsheep.org/&gt;. See "
+"that web site for configuration information."
+msgstr ""
+
+#: hacks/config/engine.xml.h:1
+msgid ""
+"Draws a simple four-stroke engine that floats around the screen. Written by "
+"Ben Buxton."
+msgstr ""
+
+#: hacks/config/engine.xml.h:2
+msgid "Engine"
+msgstr ""
+
+#: hacks/config/epicycle.xml.h:4
+msgid "Epicycle"
+msgstr ""
+
+#: hacks/config/epicycle.xml.h:6
+msgid "Harmonics"
+msgstr ""
+
+#: hacks/config/epicycle.xml.h:12
+msgid ""
+"This program draws the path traced out by a point on the edge of a circle. "
+"That circle rotates around a point on the rim of another circle, and so on, "
+"several times. These were the basis for the pre-heliocentric model of "
+"planetary motion. Written by James Youngman."
+msgstr ""
+
+#: hacks/config/euler2d.xml.h:2
+msgid "Euler2d"
+msgstr ""
+
+#: hacks/config/euler2d.xml.h:10 hacks/config/whirlwindwarp.xml.h:5
+msgid "Particles"
+msgstr ""
+
+#: hacks/config/euler2d.xml.h:11
+msgid "Power"
+msgstr ""
+
+#: hacks/config/euler2d.xml.h:13
+msgid ""
+"Simulates two dimensional Incompressible Inviscid Fluid Flow. Written by "
+"Stephen Montgomery-Smith."
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:1
+msgid ""
+"Draws various rotating extruded shapes that twist around, lengthen, and turn "
+"inside out. Created by David Konerding from the samples that come with the "
+"GL Extrusion library by Linas Vepstas."
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:2
+msgid "Extrusion"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:4
+msgid "Helix 2"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:5
+msgid "Helix 3"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:6
+msgid "Helix 4"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:7
+msgid "Join Offset"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:8
+msgid "Random Object"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:9
+msgid "Screw"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:14
+msgid "Taper"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:15
+msgid "Texture Image"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:16
+msgid "Twistoid"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:17 hacks/config/glplanet.xml.h:9
+#: hacks/config/pulsar.xml.h:19
+msgid "Use Flat Coloring"
+msgstr ""
+
+#: hacks/config/extrusion.xml.h:18 hacks/config/glplanet.xml.h:10
+msgid "Use Lighting"
+msgstr ""
+
+#: hacks/config/fadeplot.xml.h:2
+msgid ""
+"Draws what looks like a waving ribbon following a sinusoidal path. Written "
+"by Bas van Gaalen and Charles Vidal."
+msgstr ""
+
+#: hacks/config/fadeplot.xml.h:3
+msgid "FadePlot"
+msgstr ""
+
+#: hacks/config/flag.xml.h:1
+msgid "Bitmap for Flag"
+msgstr ""
+
+#: hacks/config/flag.xml.h:3
+msgid "Flag"
+msgstr ""
+
+#: hacks/config/flag.xml.h:10
+msgid "Text for Flag"
+msgstr ""
+
+#: hacks/config/flag.xml.h:11
+msgid ""
+"This draws a waving colored flag, that undulates its way around the screen. "
+"The trick is the flag can contain arbitrary text and images. By default, it "
+"displays either the current system name and OS type, or a picture of "
+"``Bob,'' but you can replace the text or the image with a command-line "
+"option. Written by Charles Vidal and Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/flame.xml.h:1 hacks/config/jigsaw.xml.h:1
+#: hacks/config/maze.xml.h:1 hacks/config/rotzoomer.xml.h:1
+#: hacks/config/wander.xml.h:1
+msgid "0 Seconds"
+msgstr ""
+
+#: hacks/config/flame.xml.h:2 hacks/config/maze.xml.h:2
+msgid "10 Seconds"
+msgstr ""
+
+#: hacks/config/flame.xml.h:3
+msgid "Another iterative fractal generator. Written by Scott Draves."
+msgstr ""
+
+#: hacks/config/flame.xml.h:4
+msgid "Complexity"
+msgstr ""
+
+#: hacks/config/flame.xml.h:8
+msgid "Flame"
+msgstr ""
+
+#: hacks/config/flame.xml.h:13
+msgid "Number of Fractals"
+msgstr ""
+
+#: hacks/config/flipscreen3d.xml.h:2
+msgid "Flipscreen3d"
+msgstr ""
+
+#: hacks/config/flipscreen3d.xml.h:3
+msgid ""
+"Grabs an image of the desktop, turns it into a GL texture map, and spins it "
+"around and deforms it in various ways. Written by Ben Buxton."
+msgstr ""
+
+#: hacks/config/flow.xml.h:1
+msgid "Allow 2D Attractors"
+msgstr ""
+
+#: hacks/config/flow.xml.h:2
+msgid ""
+"Another series of strange attractors: a flowing series of points, making "
+"strange rotational shapes. Written by Jeff Butterworth."
+msgstr ""
+
+#: hacks/config/flow.xml.h:5
+msgid "Flow"
+msgstr ""
+
+#: hacks/config/flow.xml.h:6
+msgid "Freeze Some Bees"
+msgstr ""
+
+#: hacks/config/flow.xml.h:10
+msgid "Ride a Trained Bee"
+msgstr ""
+
+#: hacks/config/flow.xml.h:11
+msgid "Rotate Around Attractor"
+msgstr ""
+
+#: hacks/config/flow.xml.h:12
+msgid "Show Bounding Box"
+msgstr ""
+
+#: hacks/config/flow.xml.h:14
+msgid "Slow Bees with Antifreeze"
+msgstr ""
+
+#: hacks/config/flow.xml.h:19
+msgid "Zoom In and Out"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:1
+msgid "Ball Size"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:5
+msgid "FluidBalls"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:6
+msgid "Freefall"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:7 hacks/config/twang.xml.h:4
+msgid "Friction"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:8
+msgid "Glass"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:9 hacks/config/qix.xml.h:9
+#: hacks/config/speedmine.xml.h:4
+msgid "Gravity"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:10
+msgid "Hurricane"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:11
+msgid "Jupiter"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:14
+msgid ""
+"Models the physics of bouncing balls, or of particles in a gas or fluid, "
+"depending on the settings. If \"Shake Box\" is selected, then every now and "
+"then, the box will be rotated, changing which direction is down (in order to "
+"keep the settled balls in motion.)"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:15
+msgid "Sandpaper"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:16
+msgid "Shake Box"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:21 hacks/config/glforestfire.xml.h:16
+msgid "Still"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:22
+msgid "Various Ball Sizes"
+msgstr ""
+
+#: hacks/config/fluidballs.xml.h:23
+msgid "Wind"
+msgstr ""
+
+#: hacks/config/forest.xml.h:2 hacks/config/glforestfire.xml.h:6
+msgid "Forest"
+msgstr ""
+
+#: hacks/config/forest.xml.h:7
+msgid ""
+"This draws fractal trees. Written by Peter Baumung. Everybody loves "
+"fractals, right?"
+msgstr ""
+
+#: hacks/config/galaxy.xml.h:4
+msgid "Galaxy"
+msgstr ""
+
+#: hacks/config/galaxy.xml.h:9 hacks/config/lisa.xml.h:7
+#: hacks/config/lissie.xml.h:8 hacks/config/loop.xml.h:6
+#: hacks/config/penrose.xml.h:10 hacks/config/rotor.xml.h:10
+#: hacks/config/rubik.xml.h:8 hacks/config/sproingies.xml.h:5
+#: hacks/config/wander.xml.h:13 hacks/config/worm.xml.h:6
+msgid "Size"
+msgstr ""
+
+#: hacks/config/galaxy.xml.h:12
+msgid ""
+"This draws spinning galaxies, which then collide and scatter their stars to "
+"the, uh, four winds or something. Originally an Amiga program by Uli "
+"Siegmund."
+msgstr ""
+
+#: hacks/config/gears.xml.h:3
+msgid "Gears"
+msgstr ""
+
+#: hacks/config/gears.xml.h:4
+msgid "Planetary Gear System"
+msgstr ""
+
+#: hacks/config/gears.xml.h:5 hacks/config/goop.xml.h:9
+msgid "Rotational Speed"
+msgstr ""
+
+#: hacks/config/gears.xml.h:9
+msgid ""
+"This draws sets of turning, interlocking gears, rotating in three "
+"dimensions. Another GL hack, by Danny Sung, Brian Paul, Ed Mackey, and Jamie "
+"Zawinski."
+msgstr ""
+
+#: hacks/config/gears.xml.h:10
+msgid "Three Gear System"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:2
+msgid "Checkerboard"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:5
+msgid ""
+"Draws a rippling waves on a rotating wireframe grid, using GL. Written by "
+"Josiah Pease."
+msgstr ""
+
+#: hacks/config/gflux.xml.h:7
+msgid "Flat Lighting"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:8
+msgid "GFlux"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:9
+msgid "Mesh Density"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:10
+msgid "Screen Image"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:14 hacks/config/interference.xml.h:18
+msgid "Wave Speed"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:15
+msgid "Waves"
+msgstr ""
+
+#: hacks/config/gflux.xml.h:16
+msgid "Wire Mesh"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:2
+msgid "Desert"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:3
+msgid ""
+"Draws an animation of sprinkling fire-like 3D triangles in a landscape "
+"filled with trees. Requires OpenGL, and a machine with fast hardware support "
+"for texture maps. Written by Eric Lassauge &lt;lassauge@mail.dotcom.fr&gt;."
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:5
+msgid "Fog"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:7
+msgid "GLForestFire"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:8
+msgid "Huge Fire"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:9
+msgid "No shadow"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:11
+msgid "Number of trees"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:12
+msgid "Rain"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:17
+msgid "Track mouse"
+msgstr ""
+
+#: hacks/config/glforestfire.xml.h:18 hacks/config/lament.xml.h:8
+#: hacks/config/sballs.xml.h:17
+msgid "Untextured"
+msgstr ""
+
+#: hacks/config/glplanet.xml.h:1
+msgid ""
+"Draws a planet bouncing around in space. Written by David Konerding. The "
+"built-in image is a map of the earth (extracted from `xearth'), but you can "
+"wrap any texture around the sphere, e.g., the planetary textures that come "
+"with `ssystem'."
+msgstr ""
+
+#: hacks/config/glplanet.xml.h:3
+msgid "GLPlanet"
+msgstr ""
+
+#: hacks/config/glplanet.xml.h:4
+msgid "Image File"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:1
+msgid "1"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:2 hacks/config/penrose.xml.h:2
+msgid "30 Seconds"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:3
+msgid ""
+"Draws a simulation of the Rubik's Snake puzzle. Written by Jamie Wilkinson, "
+"Andrew Bennetts, and Peter Aylett."
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:6
+msgid "GlSnake"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:7
+msgid "Loose"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:8
+msgid "Packing"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:9
+msgid "Scary Colors"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:11
+msgid "Show Labels"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:14
+msgid "Tight"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:15 hacks/config/rocks.xml.h:13
+msgid "Velocity"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:17
+msgid "Y Rotation"
+msgstr ""
+
+#: hacks/config/glsnake.xml.h:18
+msgid "Z Rotation"
+msgstr ""
+
+#: hacks/config/gltext.xml.h:1
+msgid ""
+"Displays a few lines of text spinning around in a solid 3D font. Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/gltext.xml.h:4
+msgid "GLText"
+msgstr ""
+
+#: hacks/config/gltext.xml.h:16 hacks/config/noseguy.xml.h:5
+msgid "Text"
+msgstr ""
+
+#: hacks/config/goban.xml.h:1
+msgid "Goban"
+msgstr ""
+
+#: hacks/config/goban.xml.h:2
+msgid ""
+"Replays historical games of go (aka wei-chi and baduk) on the screen. By "
+"Scott Draves. You can find it at &lt;http://www.draves.org/goban/&gt;."
+msgstr ""
+
+#: hacks/config/goop.xml.h:1
+msgid "Additive Colors (reflected light)"
+msgstr ""
+
+#: hacks/config/goop.xml.h:2
+msgid "Blob Count"
+msgstr ""
+
+#: hacks/config/goop.xml.h:3
+msgid "Elasticity"
+msgstr ""
+
+#: hacks/config/goop.xml.h:5
+msgid "Goop"
+msgstr ""
+
+#: hacks/config/goop.xml.h:8
+msgid "Opaque Blobs"
+msgstr ""
+
+#: hacks/config/goop.xml.h:12
+msgid "Speed Limit"
+msgstr ""
+
+#: hacks/config/goop.xml.h:13
+msgid "Subtractive Colors (transmitted light)"
+msgstr ""
+
+#: hacks/config/goop.xml.h:14
+msgid ""
+"This draws set of animating, transparent, amoeba-like blobs. The blobs "
+"change shape as they wander around the screen, and they are translucent, so "
+"you can see the lower blobs through the higher ones, and when one passes "
+"over another, their colors merge. Written by Jamie Zawinski. I got the idea "
+"for this from a cool mouse pad I have, which achieves the same kind of "
+"effect in real life by having several layers plastic with colored oil "
+"between them. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/goop.xml.h:15
+msgid "Transparent Blobs"
+msgstr ""
+
+#: hacks/config/goop.xml.h:16
+msgid "XOR Blobs"
+msgstr ""
+
+#: hacks/config/grav.xml.h:3
+msgid "Grav"
+msgstr ""
+
+#: hacks/config/grav.xml.h:6
+msgid "Object Trails"
+msgstr ""
+
+#: hacks/config/grav.xml.h:7
+msgid "Orbital Decay"
+msgstr ""
+
+#: hacks/config/grav.xml.h:10
+msgid ""
+"This program draws a simple orbital simulation. If you turn on trails, it "
+"looks kind of like a cloud-chamber photograph. Written by Greg Bowering."
+msgstr ""
+
+#: hacks/config/greynetic.xml.h:2
+msgid "Greynetic"
+msgstr ""
+
+#: hacks/config/greynetic.xml.h:5
+msgid ""
+"This draws random colored and stippled rectangles. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/halo.xml.h:1
+msgid "Animate Circles"
+msgstr ""
+
+#: hacks/config/halo.xml.h:3
+msgid "Halo"
+msgstr ""
+
+#: hacks/config/halo.xml.h:5
+msgid "Number of Circles"
+msgstr ""
+
+#: hacks/config/halo.xml.h:7 hacks/config/imsmap.xml.h:11
+msgid "Random Mode"
+msgstr ""
+
+#: hacks/config/halo.xml.h:8
+msgid "Seuss Mode"
+msgstr ""
+
+#: hacks/config/halo.xml.h:11
+msgid ""
+"This draws trippy psychedelic circular patterns that hurt to look at. It can "
+"also animate the control-points, but that takes a lot of CPU and bandwidth. "
+"Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/helix.xml.h:4
+msgid "Helix"
+msgstr ""
+
+#: hacks/config/helix.xml.h:5
+msgid ""
+"This repeatedly generates spirally string-art-ish patterns. Written by Jamie "
+"Zawinski."
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:3
+msgid "EJK1"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:4
+msgid "EJK2"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:5
+msgid "EJK3"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:6
+msgid "EJK4"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:7
+msgid "EJK5"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:8
+msgid "EJK6"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:11
+msgid "Hopalong"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:12
+msgid "Jong"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:16
+msgid "Martin"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:18
+msgid "Popcorn"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:19
+msgid "RR"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:20
+msgid "Sine"
+msgstr ""
+
+#: hacks/config/hopalong.xml.h:24
+msgid ""
+"This draws lacy fractal patterns, based on iteration in the imaginary plane, "
+"from a 1986 Scientific American article. Mostly written by Patrick Naughton."
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:1 hacks/config/hypercube.xml.h:1
+msgid "Far"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:4
+msgid "Hyperball"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:5
+msgid ""
+"Hyperball is to hypercube as dodecahedron is to cube: this displays a 2D "
+"projection of the sequence of 3D objects which are the projections of the 4D "
+"analog to the dodecahedron. Written by Joe Keane."
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:7 hacks/config/hypercube.xml.h:6
+msgid "Near"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:10 hacks/config/hypercube.xml.h:10
+msgid "XW Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:11 hacks/config/hypercube.xml.h:11
+msgid "XY Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:12 hacks/config/hypercube.xml.h:12
+msgid "XZ Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:13 hacks/config/hypercube.xml.h:13
+msgid "YW Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:14 hacks/config/hypercube.xml.h:14
+msgid "YZ Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:15 hacks/config/hypercube.xml.h:15
+msgid "ZW Rotation"
+msgstr ""
+
+#: hacks/config/hyperball.xml.h:16 hacks/config/hypercube.xml.h:16
+#: hacks/config/zoom.xml.h:8
+msgid "Zoom"
+msgstr ""
+
+#: hacks/config/hypercube.xml.h:4
+msgid "Hypercube"
+msgstr ""
+
+#: hacks/config/hypercube.xml.h:9
+msgid ""
+"This displays 2D projections of the sequence of 3D objects which are the "
+"projections of the 4D analog to the cube: as a square is composed of four "
+"lines, each touching two others; and a cube is composed of six squares, each "
+"touching four others; a hypercube is composed of eight cubes, each touching "
+"six others. To make it easier to visualize the rotation, it uses a different "
+"color for the edges of each face. Don't think about it too long, or your "
+"brain will melt. Written by Joe Keane, Fritz Mueller, and Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/ifs.xml.h:2
+msgid "IFS"
+msgstr ""
+
+#: hacks/config/ifs.xml.h:7
+msgid ""
+"This one draws spinning, colliding iterated-function-system images. Written "
+"by Massimino Pascal."
+msgstr ""
+
+#: hacks/config/imsmap.xml.h:3
+msgid "Brightness Gradients"
+msgstr ""
+
+#: hacks/config/imsmap.xml.h:7
+msgid "Hue Gradients"
+msgstr ""
+
+#: hacks/config/imsmap.xml.h:8
+msgid "IMSmap"
+msgstr ""
+
+#: hacks/config/imsmap.xml.h:12
+msgid "Saturation Gradients"
+msgstr ""
+
+#: hacks/config/imsmap.xml.h:14
+msgid ""
+"This generates random cloud-like patterns. It looks quite different in "
+"monochrome and color. The basic idea is to take four points on the edge of "
+"the image, and assign each a random ``elevation''. Then find the point "
+"between them, and give it a value which is the average of the other four, "
+"plus some small random offset. Then coloration is done based on elevation. "
+"The color selection is done by binding the elevation to either hue, "
+"saturation, or brightness, and assigning random values to the others. The "
+"``brightness'' mode tends to yield cloudlike patterns, and the others tend "
+"to generate images that look like heat-maps or CAT-scans. Written by Juergen "
+"Nickelsen and Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/interference.xml.h:1
+msgid "Anim Speed"
+msgstr ""
+
+#: hacks/config/interference.xml.h:2
+msgid ""
+"Another color-field hack, this one works by computing decaying sinusoidal "
+"waves, and allowing them to interfere with each other as their origins move. "
+"Written by Hannu Mallat."
+msgstr ""
+
+#: hacks/config/interference.xml.h:7
+msgid "Interference"
+msgstr ""
+
+#: hacks/config/interference.xml.h:10 hacks/config/t3d.xml.h:9
+#: hacks/config/xearth.xml.h:11 hacks/config/zoom.xml.h:5
+msgid "Magnification"
+msgstr ""
+
+#: hacks/config/interference.xml.h:13
+msgid "Number of Waves"
+msgstr ""
+
+#: hacks/config/interference.xml.h:17
+msgid "Wave Size"
+msgstr ""
+
+#: hacks/config/jigsaw.xml.h:4
+msgid "Jigsaw"
+msgstr ""
+
+#: hacks/config/jigsaw.xml.h:6
+msgid "Solved Duration"
+msgstr ""
+
+#: hacks/config/jigsaw.xml.h:8
+msgid ""
+"This grabs a screen image, carves it up into a jigsaw puzzle, shuffles it, "
+"and then solves the puzzle. This works especially well when you feed it an "
+"external video signal instead of letting it grab the screen image (actually, "
+"I guess this is generally true...) When it is grabbing a video image, it is "
+"sometimes pretty hard to guess what the image is going to look like once the "
+"puzzle is solved. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/juggle.xml.h:1
+msgid "Checkered Balls"
+msgstr ""
+
+#: hacks/config/juggle.xml.h:2
+msgid "Draws a juggling stick-man. Written by Tim Auckland."
+msgstr ""
+
+#: hacks/config/juggle.xml.h:4
+msgid "Juggle"
+msgstr ""
+
+#: hacks/config/juggle.xml.h:6 hacks/config/pipes.xml.h:10
+msgid "None"
+msgstr ""
+
+#: hacks/config/julia.xml.h:3 hacks/config/rorschach.xml.h:4
+msgid "Iterations"
+msgstr ""
+
+#: hacks/config/julia.xml.h:4
+msgid "Julia"
+msgstr ""
+
+#: hacks/config/julia.xml.h:11
+msgid ""
+"This one draws spinning, animating (are you detecting a pattern here yet?) "
+"explorations of the Julia set. You've probably seen static images of this "
+"fractal form before, but it's a lot of fun to watch in motion as well. One "
+"interesting thing is that there is a small swinging dot passing in front of "
+"the image, which indicates the control point from which the rest of the "
+"image was generated. Written by Sean McCullough."
+msgstr ""
+
+#: hacks/config/kaleidescope.xml.h:1
+msgid ""
+"Another clone of an ancient meme, consisting largely of frenetic rotational "
+"motion of colored lines. This one is by Ron Tapia. The motion is nice, but I "
+"think it needs more solids, or perhaps just brighter colors. More variations "
+"in the rotational speed might help, too."
+msgstr ""
+
+#: hacks/config/kaleidescope.xml.h:4
+msgid "Kaleidescope"
+msgstr ""
+
+#: hacks/config/kaleidescope.xml.h:6 hacks/config/qix.xml.h:18
+msgid "Segments"
+msgstr ""
+
+#: hacks/config/kaleidescope.xml.h:9
+msgid "Symmetry"
+msgstr ""
+
+#: hacks/config/kaleidescope.xml.h:10
+msgid "Trails"
+msgstr ""
+
+#: hacks/config/kumppa.xml.h:5
+msgid "Kumppa"
+msgstr ""
+
+#: hacks/config/kumppa.xml.h:7
+msgid "Randomize"
+msgstr ""
+
+#: hacks/config/kumppa.xml.h:10
+msgid ""
+"Spiraling, spinning, and very, very fast splashes of color rush toward the "
+"screen. Written by Teemu Suutari."
+msgstr ""
+
+#: hacks/config/lament.xml.h:1
+msgid ""
+"Animates a simulation of Lemarchand's Box, repeatedly solving itself. "
+"Requires OpenGL, and a machine with fast hardware support for texture maps. "
+"Warning: occasionally opens doors. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/lament.xml.h:3
+msgid "Lament"
+msgstr ""
+
+#: hacks/config/laser.xml.h:4
+msgid "Laser"
+msgstr ""
+
+#: hacks/config/laser.xml.h:7
+msgid ""
+"Moving radiating lines, that look vaguely like scanning laser beams. Written "
+"by Pascal Pensa. (Frankie say: relax.)"
+msgstr ""
+
+#: hacks/config/lightning.xml.h:2
+msgid "Lightning"
+msgstr ""
+
+#: hacks/config/lightning.xml.h:7
+msgid ""
+"This one draws crackling fractal lightning bolts. It's simple, direct, and "
+"to the point. If only it had sound... Written by Keith Romberg."
+msgstr ""
+
+#: hacks/config/lisa.xml.h:4
+msgid "Lisa"
+msgstr ""
+
+#: hacks/config/lisa.xml.h:10
+msgid "Steps"
+msgstr ""
+
+#: hacks/config/lisa.xml.h:11
+msgid ""
+"This draws Lisajous loops, by Caleb Cullen. Remember that device they had "
+"the Phantom Zone prisoners in during their trial in Superman? I think that "
+"was one of these."
+msgstr ""
+
+#: hacks/config/lissie.xml.h:1
+msgid ""
+"Another Lissajous figure. This one draws the progress of circular shapes "
+"along a path. Written by Alexander Jolk."
+msgstr ""
+
+#: hacks/config/lissie.xml.h:5
+msgid "Lissie"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:1
+msgid "Closed Figures"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:2
+msgid "Control Points"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:4
+msgid "Interpolation Steps"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:5
+msgid "LMorph"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:6
+msgid "Less"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:8
+msgid "More"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:9
+msgid "Open Figures"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:10
+msgid "Open and Closed Figures"
+msgstr ""
+
+#: hacks/config/lmorph.xml.h:15
+msgid ""
+"This generates random spline-ish line drawings and morphs between them. "
+"Written by Sverre H. Huseby and Glenn T. Lines."
+msgstr ""
+
+#: hacks/config/loop.xml.h:3
+msgid "Loop"
+msgstr ""
+
+#: hacks/config/loop.xml.h:10
+msgid ""
+"This one produces loop-shaped colonies that spawn, age, and eventually die. "
+"Written by David Bagley."
+msgstr ""
+
+#: hacks/config/maze.xml.h:3
+msgid "Backtracking Generator"
+msgstr ""
+
+#: hacks/config/maze.xml.h:5 hacks/config/slidescreen.xml.h:3
+msgid "Grid Size"
+msgstr ""
+
+#: hacks/config/maze.xml.h:6
+msgid "Head Toward Exit"
+msgstr ""
+
+#: hacks/config/maze.xml.h:7
+msgid "Ignorant of Exit Direction"
+msgstr ""
+
+#: hacks/config/maze.xml.h:8
+msgid "Joining Generator"
+msgstr ""
+
+#: hacks/config/maze.xml.h:9
+msgid "Maze"
+msgstr ""
+
+#: hacks/config/maze.xml.h:10
+msgid "Post-Solve Delay"
+msgstr ""
+
+#: hacks/config/maze.xml.h:11
+msgid "Pre-Solve Delay"
+msgstr ""
+
+#: hacks/config/maze.xml.h:12
+msgid "Random Generator"
+msgstr ""
+
+#: hacks/config/maze.xml.h:13
+msgid "Seeding Generator"
+msgstr ""
+
+#: hacks/config/maze.xml.h:15
+msgid "Solve Speed"
+msgstr ""
+
+#: hacks/config/maze.xml.h:16
+msgid ""
+"This is the ancient X maze demo, modified to work with xscreensaver. It "
+"generates a random maze, then solves it with visual feedback. Originally by "
+"Jim Randell; modified by a cast of thousands."
+msgstr ""
+
+#: hacks/config/menger.xml.h:6
+msgid "Menger"
+msgstr ""
+
+#: hacks/config/menger.xml.h:19
+msgid ""
+"This draws the three-dimensional variant of the recursive Menger Gasket, a "
+"cube-based fractal object analagous to the Sierpinski Tetrahedron. Written "
+"by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/moebius.xml.h:1
+msgid ""
+"Another M. C. Escher hack by Marcelo Vianna, this one draws ``Moebius Strip "
+"II,'' a GL image of ants walking along the surface of a moebius strip."
+msgstr ""
+
+#: hacks/config/moebius.xml.h:2
+msgid "Draw Ants"
+msgstr ""
+
+#: hacks/config/moebius.xml.h:4
+msgid "Mesh Floor"
+msgstr ""
+
+#: hacks/config/moebius.xml.h:5
+msgid "Moebius"
+msgstr ""
+
+#: hacks/config/moebius.xml.h:8
+msgid "Solid Floor"
+msgstr ""
+
+#: hacks/config/moebius.xml.h:9 hacks/config/qix.xml.h:20
+msgid "Solid Objects"
+msgstr ""
+
+#: hacks/config/moire.xml.h:6
+msgid "Moire"
+msgstr ""
+
+#: hacks/config/moire.xml.h:8 hacks/config/rorschach.xml.h:6
+msgid "Offset"
+msgstr ""
+
+#: hacks/config/moire.xml.h:10
+msgid ""
+"This one draws cool circular interference patterns. Most of the circles you "
+"see aren't explicitly rendered, but show up as a result of interactions "
+"between the other pixels that were drawn. Written by Jamie Zawinski, "
+"inspired by Java code by Michael Bayne. As he pointed out, the beauty of "
+"this one is that the heart of the display algorithm can be expressed with "
+"just a pair of loops and a handful of arithmetic, giving it a high ``display "
+"hack metric''."
+msgstr ""
+
+#: hacks/config/moire2.xml.h:1
+msgid ""
+"Another example of the fun you can have with moire interference patterns; "
+"this hack generates fields of concentric circles or ovals, and combines the "
+"planes with various operations. The planes are moving independently of one "
+"another, causing the interference lines to ``spray.'' Written by Jamie "
+"Zawinski."
+msgstr ""
+
+#: hacks/config/moire2.xml.h:4
+msgid "Moire2"
+msgstr ""
+
+#: hacks/config/moire2.xml.h:8 hacks/config/thornbird.xml.h:10
+msgid "Thickness"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:3
+msgid "Describe Molecule"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:5
+msgid "Draw Atomic Bonds"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:6
+msgid "Draw Atoms"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:7 hacks/config/spheremonics.xml.h:2
+msgid "Draw Bounding Box"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:8
+msgid ""
+"Draws several different representations of molecules. Some common molecules "
+"are built in, and it can also read PDB (Protein Data Base) files as input. "
+"Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/molecule.xml.h:11
+msgid "Label Atoms"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:12
+msgid "Molecule"
+msgstr ""
+
+#: hacks/config/molecule.xml.h:13
+msgid "PDB File"
+msgstr ""
+
+#: hacks/config/morph3d.xml.h:1
+msgid ""
+"Another 3d shape-changing GL hack, by Marcelo Vianna. It has the same shiny-"
+"plastic feel as Superquadrics, as many computer-generated objects do..."
+msgstr ""
+
+#: hacks/config/morph3d.xml.h:4
+msgid "Morph3D"
+msgstr ""
+
+#: hacks/config/mountain.xml.h:3
+msgid ""
+"Generates random 3d plots that look vaguely mountainous. Written by Pascal "
+"Pensa."
+msgstr ""
+
+#: hacks/config/mountain.xml.h:5
+msgid "Mountain"
+msgstr ""
+
+#: hacks/config/munch.xml.h:1
+msgid ""
+"DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 As reported by HAKMEM, in 1962, "
+"Jackson Wright wrote the above PDP-1 code. That code still lives on in this "
+"screenhack, some 35 years later. The number of lines of enclosing code has "
+"increased substantially, however. This version is by Tim Showalter."
+msgstr ""
+
+#: hacks/config/munch.xml.h:5
+msgid "Munch"
+msgstr ""
+
+#: hacks/config/munch.xml.h:10 hacks/config/qix.xml.h:26
+msgid "XOR"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:1
+msgid "Blot Count"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:2
+msgid "Calm"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:3
+msgid "Changes"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:4
+msgid "Colors"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:5
+msgid "Crunchiness"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:7
+msgid ""
+"Draws different shapes composed of nervously vibrating squiggles, as if seen "
+"through a camera operated by a monkey on crack. By Dan Bornstein."
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:10
+msgid "Frequent"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:16
+msgid "NerveRot"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:17
+msgid "Nervousness"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:18 hacks/config/pyro.xml.h:12
+msgid "Seldom"
+msgstr ""
+
+#: hacks/config/nerverot.xml.h:21
+msgid "Spastic"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:1
+msgid ""
+"A little man with a big nose wanders around your screen saying things. The "
+"things which he says can come from a file, or from an external program like "
+"`zippy' or `fortune'. This was extracted from `xnlock' by Dan Heller. "
+"Colorized by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:2
+msgid "Get Text from File"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:3
+msgid "Get Text from Program"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:4
+msgid "Noseguy"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:6
+msgid "Text File"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:7 hacks/config/phosphor.xml.h:8
+#: hacks/config/starwars.xml.h:17
+msgid "Text Program"
+msgstr ""
+
+#: hacks/config/noseguy.xml.h:8
+msgid "Use Text Below"
+msgstr ""
+
+#: hacks/config/pedal.xml.h:7
+msgid "Pedal"
+msgstr ""
+
+#: hacks/config/pedal.xml.h:8
+msgid ""
+"This is sort of a combination spirograph/string-art. It generates a large, "
+"complex polygon, and lets the X server do the bulk of the work by giving it "
+"an even/odd winding rule. Written by Dale Moore, based on some ancient PDP-"
+"11 code."
+msgstr ""
+
+#: hacks/config/penetrate.xml.h:1
+msgid "Always play well"
+msgstr ""
+
+#: hacks/config/penetrate.xml.h:2
+msgid "Explosions"
+msgstr ""
+
+#: hacks/config/penetrate.xml.h:5
+msgid "Penetrate"
+msgstr ""
+
+#: hacks/config/penetrate.xml.h:7
+msgid "Start badly, but learn"
+msgstr ""
+
+#: hacks/config/penetrate.xml.h:8
+msgid ""
+"This hack simulates the classic arcade game Missile Command. Written by Adam "
+"Miller."
+msgstr ""
+
+#: hacks/config/penrose.xml.h:3
+msgid "Draw Ammann Lines"
+msgstr ""
+
+#: hacks/config/penrose.xml.h:4
+msgid ""
+"Draws quasiperiodic tilings; think of the implications on modern formica "
+"technology. Written by Timo Korvola. In April 1997, Sir Roger Penrose, a "
+"British math professor who has worked with Stephen Hawking on such topics as "
+"relativity, black holes, and whether time has a beginning, filed a copyright-"
+"infringement lawsuit against the Kimberly-Clark Corporation, which Penrose "
+"said copied a pattern he created (a pattern demonstrating that ``a "
+"nonrepeating pattern could exist in nature'') for its Kleenex quilted toilet "
+"paper. Penrose said he doesn't like litigation but, ``When it comes to the "
+"population of Great Britain being invited by a multinational to wipe their "
+"bottoms on what appears to be the work of a Knight of the Realm, then a last "
+"stand must be taken.'' As reported by News of the Weird #491, 4-jul-1997."
+msgstr ""
+
+#: hacks/config/penrose.xml.h:9
+msgid "Penrose"
+msgstr ""
+
+#: hacks/config/petri.xml.h:2
+msgid "Colony Shape"
+msgstr ""
+
+#: hacks/config/petri.xml.h:3
+msgid "Death Comes"
+msgstr ""
+
+#: hacks/config/petri.xml.h:4
+msgid "Diamond"
+msgstr ""
+
+#: hacks/config/petri.xml.h:6
+msgid "Fertility"
+msgstr ""
+
+#: hacks/config/petri.xml.h:12
+msgid "Maxium Lifespan"
+msgstr ""
+
+#: hacks/config/petri.xml.h:13
+msgid "Maxium Rate of Death"
+msgstr ""
+
+#: hacks/config/petri.xml.h:14
+msgid "Maxium Rate of Growth"
+msgstr ""
+
+#: hacks/config/petri.xml.h:15
+msgid "Minium Lifespan"
+msgstr ""
+
+#: hacks/config/petri.xml.h:16
+msgid "Minium Rate of Death"
+msgstr ""
+
+#: hacks/config/petri.xml.h:17
+msgid "Minium Rate of Growth"
+msgstr ""
+
+#: hacks/config/petri.xml.h:18
+msgid "Mold Varieties"
+msgstr ""
+
+#: hacks/config/petri.xml.h:19
+msgid "Offspring"
+msgstr ""
+
+#: hacks/config/petri.xml.h:20
+msgid "Petri"
+msgstr ""
+
+#: hacks/config/petri.xml.h:21
+msgid "Quickly"
+msgstr ""
+
+#: hacks/config/petri.xml.h:24
+msgid "Slowly"
+msgstr ""
+
+#: hacks/config/petri.xml.h:26
+msgid "Square"
+msgstr ""
+
+#: hacks/config/petri.xml.h:27
+msgid ""
+"This simulates colonies of mold growing in a petri dish. Growing colored "
+"circles overlap and leave spiral interference in their wake. Written by Dan "
+"Bornstein."
+msgstr ""
+
+#: hacks/config/phosphor.xml.h:1
+msgid ""
+"Draws a simulation of an old terminal, with large pixels and long-sustain "
+"phosphor. It can run any program as a source of the text it displays. "
+"Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/phosphor.xml.h:2
+msgid "Fade"
+msgstr ""
+
+#: hacks/config/phosphor.xml.h:4
+msgid "Phosphor"
+msgstr ""
+
+#: hacks/config/phosphor.xml.h:5
+msgid "Scale"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:1
+msgid "Allow Tight Turns"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:2
+msgid "Ball Joints"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:3
+msgid "Curved Pipes"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:6
+msgid "Fisheye Lens"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:7
+msgid "Gadgetry"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:8
+msgid ""
+"If you've ever been in the same room with a Windows NT machine, you've "
+"probably seen this GL hack. This version is by Marcelo Vianna."
+msgstr ""
+
+#: hacks/config/pipes.xml.h:9
+msgid "Lots"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:11
+msgid "Number of Pipe Systems"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:12
+msgid "Pipe Fittings"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:13
+msgid "Pipes"
+msgstr ""
+
+#: hacks/config/pipes.xml.h:17
+msgid "System Length"
+msgstr ""
+
+#: hacks/config/polyominoes.xml.h:3
+msgid "Identical Pieces"
+msgstr ""
+
+#: hacks/config/polyominoes.xml.h:7
+msgid "Polyominoes"
+msgstr ""
+
+#: hacks/config/polyominoes.xml.h:8
+msgid ""
+"Repeatedly attempts to completely fill a rectangle with irregularly-shaped "
+"puzzle pieces. Written by Stephen Montgomery-Smith."
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:1
+msgid "Anti-alias Lines"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:3
+msgid ""
+"Draws some intersecting planes, making use of alpha blending, fog, textures, "
+"and mipmaps, plus a ``frames per second'' meter so that you can tell how "
+"fast your graphics card is... Requires OpenGL. Written by David Konerding."
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:4
+msgid "Enable Blending"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:5
+msgid "Enable Depth Buffer"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:6
+msgid "Enable Fog"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:7
+msgid "Enable Lighting"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:8
+msgid "Enable Texture Filtering"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:9
+msgid "Enable Texture Mipmaps"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:10
+msgid "Enable Texturing"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:12
+msgid "Pulsar"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:13
+msgid "Quad Count"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:16
+msgid "Solid Surface"
+msgstr ""
+
+#: hacks/config/pulsar.xml.h:18
+msgid "Texture PPM File"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:3
+msgid "Explosive Yield"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:6
+msgid "Launch Frequency"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:8
+msgid "Often"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:9
+msgid "Particle Density"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:10
+msgid "Pyro"
+msgstr ""
+
+#: hacks/config/pyro.xml.h:11
+msgid ""
+"Pyro draws exploding fireworks. Blah blah blah. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/qix.xml.h:1
+msgid "Additive Colors"
+msgstr ""
+
+#: hacks/config/qix.xml.h:3
+msgid "Corners"
+msgstr ""
+
+#: hacks/config/qix.xml.h:11
+msgid "Line Segments"
+msgstr ""
+
+#: hacks/config/qix.xml.h:12
+msgid "Linear Motion"
+msgstr ""
+
+#: hacks/config/qix.xml.h:15
+msgid "Max Size"
+msgstr ""
+
+#: hacks/config/qix.xml.h:16
+msgid "Qix"
+msgstr ""
+
+#: hacks/config/qix.xml.h:17
+msgid "Random Motion"
+msgstr ""
+
+#: hacks/config/qix.xml.h:23
+msgid "Subtractive Colors"
+msgstr ""
+
+#: hacks/config/qix.xml.h:24
+msgid ""
+"This is the swiss army chainsaw of qix programs. It bounces a series of line "
+"segments around the screen, and uses variations on this basic motion pattern "
+"to produce all sorts of different presentations: line segments, filled "
+"polygons, overlapping translucent areas... Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/qix.xml.h:25
+msgid "Transparent"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:1
+msgid "/"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:3
+#, no-c-format
+msgid "1%"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:5
+#, no-c-format
+msgid "100%"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:7
+msgid ""
+"Another variation of the `Bomb' program by Scott Draves. This draws a grid "
+"of growing square-like shapes that, once they overtake each other, react in "
+"unpredictable ways. ``RD'' stands for reaction-diffusion."
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:8
+msgid "Epoch"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:10
+msgid "Fill Screen"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:14
+msgid "RD-Bomb"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:15
+msgid "Reaction/Difusion"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:16
+msgid "Seed Radius"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:19 hacks/config/twang.xml.h:12
+msgid "Tile Size"
+msgstr ""
+
+#: hacks/config/rd-bomb.xml.h:22
+msgid "Wander Speed"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:1
+msgid "Big Drops"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:2
+msgid "Colors Two"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:3
+msgid "Drizzle"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:5
+msgid "Grab Screen Image"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:6
+msgid "Lighting Effect"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:8
+msgid "Moving Splashes"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:9
+msgid "Psychedelic Colors"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:10
+msgid "Ripples"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:12
+msgid "Small Drops"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:13
+msgid "Storm"
+msgstr ""
+
+#: hacks/config/ripples.xml.h:14
+msgid ""
+"This draws rippling interference patterns like splashing water. With the -"
+"water option, it manipulates your desktop image to look like something is "
+"dripping into it. Written by Tom Hammersley."
+msgstr ""
+
+#: hacks/config/rocks.xml.h:7
+msgid "Rocks"
+msgstr ""
+
+#: hacks/config/rocks.xml.h:8
+msgid "Rotation"
+msgstr ""
+
+#: hacks/config/rocks.xml.h:10
+msgid "Steering"
+msgstr ""
+
+#: hacks/config/rocks.xml.h:11
+msgid ""
+"This draws an animation of flight through an asteroid field, with changes in "
+"rotation and direction. It can also display 3D separations for red/blue "
+"glasses! Mostly written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/rorschach.xml.h:7
+msgid "Rorschach"
+msgstr ""
+
+#: hacks/config/rorschach.xml.h:9
+msgid ""
+"This generates random inkblot patterns. The algorithm is deceptively simple "
+"for how well it works; it merely walks a dot around the screen randomly, and "
+"then reflects the image horizontally, vertically, or both. Any deep-seated "
+"neurotic tendencies which this program reveals are your own problem. Written "
+"by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/rorschach.xml.h:10
+msgid "With X Symmetry"
+msgstr ""
+
+#: hacks/config/rorschach.xml.h:11
+msgid "With Y Symmetry"
+msgstr ""
+
+#: hacks/config/rotor.xml.h:1
+msgid ""
+"Another ancient xlock demo, this one by Tom Lawrence. It draws a line "
+"segment moving along a complex spiraling curve. I tweaked this to generate "
+"curvier lines, but still frames of it don't look like much."
+msgstr ""
+
+#: hacks/config/rotor.xml.h:4 hacks/config/wander.xml.h:9
+msgid "Length"
+msgstr ""
+
+#: hacks/config/rotor.xml.h:8
+msgid "Rotor"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:3
+msgid "Animate"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:4
+msgid ""
+"Creates a collage of rotated and scaled portions of the screen. Written by "
+"Claudio Matsuoka."
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:6
+msgid "Rectangle Count"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:7
+msgid "RotZoomer"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:8
+msgid "Stationary Rectangles"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:9
+msgid "Sweeping Arcs"
+msgstr ""
+
+#: hacks/config/rotzoomer.xml.h:11
+msgid "Wandering Rectangles"
+msgstr ""
+
+#: hacks/config/rubik.xml.h:2
+msgid ""
+"Draws a Rubik's Cube that rotates in three dimensions and repeatedly "
+"shuffles and solves itself. Another fine GL hack by Marcelo Vianna."
+msgstr ""
+
+#: hacks/config/rubik.xml.h:5
+msgid "Rubik"
+msgstr ""
+
+#: hacks/config/rubik.xml.h:7
+msgid "Show Shuffling"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:1
+msgid "Cube"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:2
+msgid "Dodecahedron"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:3
+msgid ""
+"Draws an animation of textured balls spinning like crazy in GL. Requires "
+"OpenGL, and a machine with fast hardware support for texture maps. Written "
+"by Eric Lassauge &lt;lassauge@mail.dotcom.fr&gt;."
+msgstr ""
+
+#: hacks/config/sballs.xml.h:5
+msgid "Icosahedron"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:7
+msgid "Octahedron"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:8
+msgid "Plane"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:9
+msgid "Pyramid"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:10
+msgid "Random"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:11
+msgid "Sballs"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:15
+msgid "Star"
+msgstr ""
+
+#: hacks/config/sballs.xml.h:16
+msgid "Tetrahedron"
+msgstr ""
+
+#: hacks/config/shadebobs.xml.h:7
+msgid "ShadeBobs"
+msgstr ""
+
+#: hacks/config/shadebobs.xml.h:11
+msgid ""
+"This draws smoothly-shaded oscilating oval patterns, that look something "
+"like vapor trails or neon tubes. Written by Shane Smit."
+msgstr ""
+
+#: hacks/config/sierpinski.xml.h:6
+msgid "Sierpinski"
+msgstr ""
+
+#: hacks/config/sierpinski.xml.h:10
+msgid ""
+"This draws the two-dimensional variant of the recursive Sierpinski triangle "
+"fractal. Written by Desmond Daignault."
+msgstr ""
+
+#: hacks/config/sierpinski3d.xml.h:7
+msgid "Sierpinski3D"
+msgstr ""
+
+#: hacks/config/sierpinski3d.xml.h:11
+msgid ""
+"This draws the three-dimensional variant of the recursive Sierpinski "
+"triangle fractal, using GL. Written by Tim Robinson and Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/slidescreen.xml.h:1 hacks/config/twang.xml.h:1
+#: hacks/config/zoom.xml.h:1
+msgid "Border Width"
+msgstr ""
+
+#: hacks/config/slidescreen.xml.h:4
+msgid "Slide Speed"
+msgstr ""
+
+#: hacks/config/slidescreen.xml.h:5
+msgid "SlideScreen"
+msgstr ""
+
+#: hacks/config/slidescreen.xml.h:8
+msgid ""
+"This takes an image, divides it into a grid, and then randomly shuffles the "
+"squares around as if it was one of those annoying ``16-puzzle'' games, where "
+"there is a grid of squares, one of which is missing. I hate trying to solve "
+"those puzzles, but watching one permute itself is more amusing. Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/slip.xml.h:6
+msgid "Slip"
+msgstr ""
+
+#: hacks/config/slip.xml.h:10
+msgid ""
+"This program throws some random bits on the screen, then sucks them through "
+"a jet engine and spews them out the other side. To avoid turning the image "
+"completely to mush, every now and then it will and then it interjects some "
+"splashes of color into the scene, or go into a spin cycle, or stretch the "
+"image like taffy, or (this is my addition) grab an image of your current "
+"desktop to chew on. Originally written by Scott Draves; whacked on by Jamie "
+"Zawinski."
+msgstr ""
+
+#: hacks/config/sonar.xml.h:1
+msgid "Ping Subnet"
+msgstr ""
+
+#: hacks/config/sonar.xml.h:2
+msgid "Simulation Team Members"
+msgstr ""
+
+#: hacks/config/sonar.xml.h:3
+msgid "Sonar"
+msgstr ""
+
+#: hacks/config/sonar.xml.h:4
+msgid "Team A Name"
+msgstr ""
+
+#: hacks/config/sonar.xml.h:5
+msgid "Team B Name"
+msgstr ""
+
+#: hacks/config/sonar.xml.h:6
+msgid ""
+"This program draws a simulation of a sonar screen. Written by default, it "
+"displays a random assortment of ``bogies'' on the screen, but if compiled "
+"properly, it can ping (pun intended) your local network, and actually plot "
+"the proximity of the other hosts on your network to you. It would be easy to "
+"make it monitor other sources of data, too. (Processes? Active network "
+"connections? CPU usage per user?) Written by Stephen Martin."
+msgstr ""
+
+#: hacks/config/sonar.xml.h:7
+msgid "vs."
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:1
+msgid "Allow Wall Collisions"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:2
+msgid "Display Crosshair"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:7
+msgid "Max Velocity"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:8
+msgid "Mine Shaft"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:9
+msgid "Present Bonuses"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:10
+msgid "Rocky Walls"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:12
+msgid ""
+"Simulates speeding down a rocky mineshaft, or a funky dancing worm. Written "
+"by Conrad Parker."
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:16
+msgid "SpeedMine"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:17
+msgid "Thrust"
+msgstr ""
+
+#: hacks/config/speedmine.xml.h:19 hacks/config/worm.xml.h:10
+msgid "Worm"
+msgstr ""
+
+#: hacks/config/sphere.xml.h:1
+msgid ""
+"Another of the classic screenhacks of the distant past, this one draws "
+"shaded spheres in multiple colors. This hack traces its lineage back to Tom "
+"Duff in 1982."
+msgstr ""
+
+#: hacks/config/sphere.xml.h:7
+msgid "Sphere"
+msgstr ""
+
+#: hacks/config/sphereEversion.xml.h:1
+msgid "SphereEversion"
+msgstr ""
+
+#: hacks/config/sphereEversion.xml.h:2
+msgid ""
+"SphereEversion draws an animation of a sphere being turned inside out. A "
+"sphere can be turned inside out, without any tears, sharp creases or "
+"discontinuities, if the surface of the sphere is allowed to intersect "
+"itself. This program animates what is known as the Thurston Eversion. "
+"Written by Nathaniel Thurston and Michael McGuffin. This program is not "
+"included with the XScreenSaver package, but if you don't have it already, "
+"you can find it at &lt;http://www.dgp.utoronto.ca/~mjmcguff/eversion/&gt;."
+msgstr ""
+
+#: hacks/config/spheremonics.xml.h:9
+msgid "Resolution"
+msgstr ""
+
+#: hacks/config/spheremonics.xml.h:20
+msgid "Smoothed Lines"
+msgstr ""
+
+#: hacks/config/spheremonics.xml.h:23
+msgid "Spheremonics"
+msgstr ""
+
+#: hacks/config/spheremonics.xml.h:24
+msgid ""
+"These closed objects are commonly called spherical harmonics, although they "
+"are only remotely related to the mathematical definition found in the "
+"solution to certain wave functions, most notable the eigenfunctions of "
+"angular momentum operators. Written by Paul Bourke and Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/spiral.xml.h:2
+msgid "Cycles"
+msgstr ""
+
+#: hacks/config/spiral.xml.h:7
+msgid ""
+"Moving circular patterns, by Peter Schmitzberger. Moving circular patterns "
+"means moire; interference patterns, of course."
+msgstr ""
+
+#: hacks/config/spiral.xml.h:11
+msgid "Spiral"
+msgstr ""
+
+#: hacks/config/spotlight.xml.h:1
+msgid ""
+"Draws a spotlight scanning across a black screen, illumnating the underlying "
+"desktop when it passes. Written by Rick Schultz."
+msgstr ""
+
+#: hacks/config/spotlight.xml.h:6
+msgid "Spotlight"
+msgstr ""
+
+#: hacks/config/sproingies.xml.h:3
+msgid "Q-Bert meets Marble Madness! Written by Ed Mackey."
+msgstr ""
+
+#: hacks/config/sproingies.xml.h:9
+msgid "Sproingies"
+msgstr ""
+
+#: hacks/config/squiral.xml.h:3
+msgid ""
+"Draws a set of interacting, square-spiral-producing automata. The spirals "
+"grow outward until they hit something, then they go around it. Written by "
+"Jeff Epler."
+msgstr ""
+
+#: hacks/config/squiral.xml.h:5
+msgid "Handedness"
+msgstr ""
+
+#: hacks/config/squiral.xml.h:7
+msgid "Left"
+msgstr ""
+
+#: hacks/config/squiral.xml.h:11 hacks/config/twang.xml.h:8
+msgid "Randomness"
+msgstr ""
+
+#: hacks/config/squiral.xml.h:12
+msgid "Right"
+msgstr ""
+
+#: hacks/config/squiral.xml.h:17
+msgid "Squiral"
+msgstr ""
+
+#: hacks/config/ssystem.xml.h:1
+msgid "SSystem"
+msgstr ""
+
+#: hacks/config/ssystem.xml.h:2
+msgid ""
+"SSystem is a GL Solar System simulator. It simulates flybys of Sun, the nine "
+"planets and a few major satellites, with four camera modes. Written by Raul "
+"Alonso. This is not included with the XScreenSaver package, but is packaged "
+"separately. Note: SSystem does not work as a screen saver on all systems, "
+"because it doesn't communicate with xscreensaver properly. It happens to "
+"work with some window managers, but not with others, so your mileage may "
+"vary. SSystem was once available at &lt;http://www1.las.es/~amil/ssystem/"
+"&gt;, but is now gone. You may still be able to find copies elsewhere. "
+"SSystem has since evolved into two different programs: OpenUniverse (http://"
+"openuniverse.sourceforge.net/) and Celestia (http://www.shatters.net/"
+"celestia/). Sadly, neither of these programs work with xscreensaver at all. "
+"You are encouraged to nag their authors into adding xscreensaver support!"
+msgstr ""
+
+#: hacks/config/stairs.xml.h:6
+msgid "Stairs"
+msgstr ""
+
+#: hacks/config/stairs.xml.h:8
+msgid ""
+"by Marcelo Vianna's third Escher GL hack, this one draws an ``infinite'' "
+"staircase."
+msgstr ""
+
+#: hacks/config/starfish.xml.h:1
+msgid "Color Gradients"
+msgstr ""
+
+#: hacks/config/starfish.xml.h:7
+msgid "Pulsating Blob"
+msgstr ""
+
+#: hacks/config/starfish.xml.h:10
+msgid "Starfish"
+msgstr ""
+
+#: hacks/config/starfish.xml.h:13
+msgid ""
+"This generates a sequence of undulating, throbbing, star-like patterns which "
+"pulsate, rotate, and turn inside out. Another display mode uses these shapes "
+"to lay down a field of colors, which are then cycled. The motion is very "
+"organic. Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/starwars.xml.h:2
+msgid "Anti-aliased Lines"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:3
+msgid "Centered Text"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:4
+msgid ""
+"Draws a stream of text slowly scrolling into the distance at an angle, over "
+"a star field, like at the beginning of the movie of the same name. Written "
+"by Jamie Zawinski and Claudio Matauoka."
+msgstr ""
+
+#: hacks/config/starwars.xml.h:5
+msgid "Fade Out"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:7
+msgid "Flush Left Text"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:8
+msgid "Flush Right Text"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:9
+msgid "Font Point Size"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:10
+msgid "Scroll Speed"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:13
+msgid "Star Rotation Speed"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:14
+msgid "StarWars"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:15
+msgid "Text Columns"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:16
+msgid "Text Lines"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:18
+msgid "Thick Lines"
+msgstr ""
+
+#: hacks/config/starwars.xml.h:19
+msgid "Wrap Long Lines"
+msgstr ""
+
+#: hacks/config/stonerview.xml.h:1
+msgid ""
+"Chains of colorful squares dance around each other in complex spiral "
+"patterns. Written by Andrew Plotkin, based on SGI's `electropaint' "
+"screensaver."
+msgstr ""
+
+#: hacks/config/stonerview.xml.h:3
+msgid "StonerView"
+msgstr ""
+
+#: hacks/config/strange.xml.h:1
+msgid "Curviness"
+msgstr ""
+
+#: hacks/config/strange.xml.h:9
+msgid "Strange"
+msgstr ""
+
+#: hacks/config/strange.xml.h:10
+msgid ""
+"This draws strange attractors: it's a colorful, unpredictably-animating "
+"field of dots that swoops and twists around. The motion is very nice. "
+"Written by Massimino Pascal."
+msgstr ""
+
+#: hacks/config/superquadrics.xml.h:2
+msgid ""
+"Ed Mackey reports that he wrote the first version of this program in BASIC "
+"on a Commodore 64 in 1987, as a 320x200 black and white wireframe. Now it is "
+"GL and has specular reflections."
+msgstr ""
+
+#: hacks/config/superquadrics.xml.h:10
+msgid "Superquadrics"
+msgstr ""
+
+#: hacks/config/swirl.xml.h:4
+msgid ""
+"More flowing, swirly patterns. This version is by M. Dobie and R. Taylor, "
+"but you might have seen a Mac program similar to this called FlowFazer. "
+"There is also a cool Java applet of a similar concept."
+msgstr ""
+
+#: hacks/config/swirl.xml.h:8
+msgid "Swirl"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:1
+msgid "0°"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:2
+msgid "5 Minute Tick Marks"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:3
+msgid "90°"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:4
+msgid "Bigger"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:5
+msgid "Cycle Seconds"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:10
+msgid "Minute Tick Marks"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:12
+msgid "Smaller"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:14
+msgid "T3D"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:15
+msgid ""
+"This draws a working analog clock composed of floating, throbbing bubbles. "
+"Written by Bernd Paysan."
+msgstr ""
+
+#: hacks/config/t3d.xml.h:16
+msgid "Turn Side-to-Side"
+msgstr ""
+
+#: hacks/config/t3d.xml.h:17
+msgid "Wobbliness"
+msgstr ""
+
+#: hacks/config/thornbird.xml.h:1
+msgid ""
+"Displays a view of the ``Bird in a Thornbush'' fractal. Written by Tim "
+"Auckland."
+msgstr ""
+
+#: hacks/config/thornbird.xml.h:6
+msgid "Points"
+msgstr ""
+
+#: hacks/config/thornbird.xml.h:12
+msgid "Thornbird"
+msgstr ""
+
+#: hacks/config/triangle.xml.h:2
+msgid ""
+"Generates random mountain ranges using iterative subdivision of triangles. "
+"Written by Tobias Gloth."
+msgstr ""
+
+#: hacks/config/triangle.xml.h:7
+msgid "Triangle"
+msgstr ""
+
+#: hacks/config/truchet.xml.h:4
+msgid ""
+"This draws line- and arc-based Truchet patterns that tile the screen. "
+"Written by Adrian Likins."
+msgstr ""
+
+#: hacks/config/truchet.xml.h:5
+msgid "Truchet"
+msgstr ""
+
+#: hacks/config/twang.xml.h:2
+msgid ""
+"Divides the screen into a grid, and plucks them. Written by Dan Bornstein."
+msgstr ""
+
+#: hacks/config/twang.xml.h:6
+msgid "Jumpy"
+msgstr ""
+
+#: hacks/config/twang.xml.h:11
+msgid "Springiness"
+msgstr ""
+
+#: hacks/config/twang.xml.h:13
+msgid "Transference"
+msgstr ""
+
+#: hacks/config/twang.xml.h:14
+msgid "Twang"
+msgstr ""
+
+#: hacks/config/vermiculate.xml.h:1
+msgid "Draws squiggly worm-like paths. Written by Tyler Pierce."
+msgstr ""
+
+#: hacks/config/vermiculate.xml.h:2
+msgid "Vermiculate"
+msgstr ""
+
+#: hacks/config/vidwhacker.xml.h:2 hacks/config/webcollage.xml.h:2
+msgid "2 seconds"
+msgstr ""
+
+#: hacks/config/vidwhacker.xml.h:4
+msgid "Image Directory"
+msgstr ""
+
+#: hacks/config/vidwhacker.xml.h:5
+msgid ""
+"This is actually just a shell script that grabs a frame of video from the "
+"system's video input, and then uses some PBM filters (chosen at random) to "
+"manipulate and recombine the video frame in various ways (edge detection, "
+"subtracting the image from a rotated version of itself, etc.) Then it "
+"displays that image for a few seconds, and does it again. This works really "
+"well if you just feed broadcast television into it."
+msgstr ""
+
+#: hacks/config/vidwhacker.xml.h:6
+msgid "VidWhacker"
+msgstr ""
+
+#: hacks/config/vines.xml.h:6
+msgid ""
+"This one generates a continuous sequence of small, curvy geometric patterns. "
+"It scatters them around your screen until it fills up, then it clears the "
+"screen and starts over. Written by Tracy Camp and David Hansen."
+msgstr ""
+
+#: hacks/config/vines.xml.h:8
+msgid "Vines"
+msgstr ""
+
+#: hacks/config/wander.xml.h:5
+msgid "Draw Spots"
+msgstr ""
+
+#: hacks/config/wander.xml.h:6
+msgid ""
+"Draws a colorful random-walk, in various forms. Written by Rick Campbell."
+msgstr ""
+
+#: hacks/config/wander.xml.h:14
+msgid "Sustain"
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:3
+msgid "Dictionary File"
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:5
+msgid "Overall Filter Program"
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:6
+msgid "Per-Image Filter Program"
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:9
+msgid ""
+"This program makes collages out of random images pulled off of the World "
+"Wide Web. It finds these images by doing random web searches, and then "
+"extracting images from the returned pages. It can also be set up to filter "
+"the images through the `VidWhacker' program, above, which looks really "
+"great. (Note that most of the images it finds are text, and not pictures. "
+"This is because most of the web is pictures of text. Which is pretty sad.) "
+"Written by Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:10
+msgid "URL Timeout"
+msgstr ""
+
+#: hacks/config/webcollage.xml.h:11
+msgid "WebCollage"
+msgstr ""
+
+#: hacks/config/whirlwindwarp.xml.h:2
+msgid ""
+"Floating stars are acted upon by a mixture of simple 2D forcefields. The "
+"strength of each forcefield changes continuously, and it is also switched on "
+"and off at random. By Paul 'Joey' Clark."
+msgstr ""
+
+#: hacks/config/whirlwindwarp.xml.h:7
+msgid "Trail Size"
+msgstr ""
+
+#: hacks/config/whirlwindwarp.xml.h:8
+msgid "WhirlwindWarp"
+msgstr ""
+
+#: hacks/config/whirlygig.xml.h:1
+msgid "Amplitude"
+msgstr ""
+
+#: hacks/config/whirlygig.xml.h:2
+msgid "Draws zooming chains of sinusoidal spots. Written by Ashton Trey Belew."
+msgstr ""
+
+#: hacks/config/whirlygig.xml.h:5
+msgid "Whirlies"
+msgstr ""
+
+#: hacks/config/whirlygig.xml.h:6
+msgid "WhirlyGig"
+msgstr ""
+
+#: hacks/config/worm.xml.h:1
+msgid ""
+"An ancient xlock hack that draws multicolored worms that crawl around the "
+"screen. Written by Brad Taylor, Dave Lemke, Boris Putanec, and Henrik "
+"Theiling."
+msgstr ""
+
+#: hacks/config/xaos.xml.h:1
+msgid "XaoS"
+msgstr ""
+
+#: hacks/config/xaos.xml.h:2
+msgid ""
+"XaoS generates fast fly-through animations of the Mandelbrot and other "
+"fractal sets. Written by Thomas Marsh and Jan Hubicka. This is not included "
+"with the XScreenSaver package, but if you don't have it already, you can "
+"find it at &lt;http://limax.paru.cas.cz/~hubicka/XaoS/&gt;."
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:1
+msgid "12-Hour Time"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:2
+msgid "24-Hour Time"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:3
+msgid "Cycle Colors"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:4
+msgid "Display Seconds"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:5
+msgid "Huge Font"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:6 hacks/config/xmatrix.xml.h:8
+msgid "Large Font"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:7
+msgid "Medium Font"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:8 hacks/config/xmatrix.xml.h:14
+msgid "Small Font"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:9
+msgid "XDaliClock"
+msgstr ""
+
+#: hacks/config/xdaliclock.xml.h:10
+msgid ""
+"XDaliClock draws a large digital clock, the numbers of which change by "
+"``melting'' into their new shapes. Written by Jamie Zawinski. This is not "
+"included with the XScreenSaver package, but if you don't have it already, "
+"you can find it at &lt;http://www.jwz.org/xdaliclock/&gt;."
+msgstr ""
+
+#: hacks/config/xearth.xml.h:1
+msgid "Bright"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:2
+msgid "Date/Time Stamp"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:3
+msgid "Day Dim"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:5
+msgid "Display Stars"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:8
+msgid "Label Cities"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:9
+msgid "Lower Left"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:10
+msgid "Lower Right"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:13
+msgid "Mercator Projection"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:14
+msgid "Night Dim"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:15
+msgid "No Stars"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:16
+msgid "North/South Rotation"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:18
+msgid "Orthographic Projection"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:19
+msgid "Real Time"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:20
+msgid "Shaded Image"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:21
+msgid "Sharp"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:23
+msgid "Spacing"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:26
+msgid "Terminator Blurry"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:27
+msgid "Time Warp"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:29
+msgid "Upper Left"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:30
+msgid "Upper Right"
+msgstr ""
+
+#: hacks/config/xearth.xml.h:31
+msgid ""
+"XEarth draws an image of the Earth, as seen from your favorite vantage point "
+"in space, correctly shaded for the current position of the Sun. Written by "
+"Kirk Johnson. This is not included with the XScreenSaver package, but if you "
+"don't have it already, you can find it at &lt;http://www.cs.colorado.edu/"
+"~tuna/xearth/&gt;."
+msgstr ""
+
+#: hacks/config/xearth.xml.h:32
+msgid "Xearth"
+msgstr ""
+
+#: hacks/config/xfishtank.xml.h:5
+msgid "Fish"
+msgstr ""
+
+#: hacks/config/xfishtank.xml.h:6
+msgid "Fish Speed"
+msgstr ""
+
+#: hacks/config/xfishtank.xml.h:7
+msgid ""
+"Fish! This is not included with the XScreenSaver package, but if you don't "
+"have it already, you can find it at &lt;http://metalab.unc.edu/pub/Linux/X11/"
+"demos/&gt;."
+msgstr ""
+
+#: hacks/config/xfishtank.xml.h:12
+msgid "XFishTank"
+msgstr ""
+
+#: hacks/config/xflame.xml.h:1
+msgid "Bitmap File"
+msgstr ""
+
+#: hacks/config/xflame.xml.h:2
+msgid ""
+"Draws a simulation of pulsing fire. It can also take an arbitrary image and "
+"set it on fire too. Written by Carsten Haitzler, hacked on by many others."
+msgstr ""
+
+#: hacks/config/xflame.xml.h:3
+msgid "Enable Blooming"
+msgstr ""
+
+#: hacks/config/xflame.xml.h:8
+msgid "Xflame"
+msgstr ""
+
+#: hacks/config/xjack.xml.h:4
+msgid ""
+"This program behaves schizophrenically and makes a lot of typos. Written by "
+"Jamie Zawinski. If you haven't seen Stanley Kubrick's masterpiece, ``The "
+"Shining,'' you won't get it. Those who have describe this hack as "
+"``inspired.''"
+msgstr ""
+
+#: hacks/config/xjack.xml.h:5
+msgid "Xjack"
+msgstr ""
+
+#: hacks/config/xlyap.xml.h:1
+msgid ""
+"This generates pretty fractal pictures by doing funky math involving the "
+"``Lyapunov exponent.'' It has a cool interactive mode, too. Written by Ron "
+"Record."
+msgstr ""
+
+#: hacks/config/xlyap.xml.h:2
+msgid "Xlyap"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:1
+msgid ""
+"A rendition of the text scrolls seen in the movie ``The Matrix.'' Written by "
+"Jamie Zawinski."
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:2
+msgid "Binary Encoding"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:3
+msgid "Expansion Algorithm"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:5
+msgid "Full"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:6
+msgid "Genetic Encoding"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:7
+msgid "Hexadecimal Encoding"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:9
+msgid "Matrix Encoding"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:10
+msgid "Phone Number"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:11
+msgid "Run Trace Program"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:12
+msgid "Slider Algorithm"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:17
+msgid "Synergistic Algorithm"
+msgstr ""
+
+#: hacks/config/xmatrix.xml.h:18
+msgid "Xmatrix"
+msgstr ""
+
+#: hacks/config/xmountains.xml.h:2
+msgid "Reflections"
+msgstr ""
+
+#: hacks/config/xmountains.xml.h:3
+msgid "Side View"
+msgstr ""
+
+#: hacks/config/xmountains.xml.h:6
+msgid "Top View"
+msgstr ""
+
+#: hacks/config/xmountains.xml.h:7
+msgid ""
+"XMountains generates realistic-looking fractal terrains of snow-capped "
+"mountains near water, with either a top view or a side view. Written by "
+"Stephen Booth. This is not included with the XScreenSaver package, but if "
+"you don't have it already, you can find it at &lt;http://www.epcc.ed.ac.uk/"
+"~spb/xmountains/&gt;. Be sure to compile it with -DVROOT or it won't work "
+"right when launched by the xscreensaver daemon."
+msgstr ""
+
+#: hacks/config/xmountains.xml.h:8
+msgid "Xmountains"
+msgstr ""
+
+#: hacks/config/xrayswarm.xml.h:1
+msgid ""
+"Draws a few swarms of critters flying around the screen, with nicely faded "
+"color trails behind them. Written by Chris Leger."
+msgstr ""
+
+#: hacks/config/xrayswarm.xml.h:5
+msgid "XRaySwarm"
+msgstr ""
+
+#: hacks/config/xsnow.xml.h:1
+msgid ""
+"Draws falling snow and the occasional tiny Santa. By Rick Jansen. You can "
+"find it at &lt;http://www.euronet.nl/~rja/Xsnow/&gt;."
+msgstr ""
+
+#: hacks/config/xsnow.xml.h:2
+msgid "Xsnow"
+msgstr ""
+
+#: hacks/config/xspirograph.xml.h:4
+msgid "Layers"
+msgstr ""
+
+#: hacks/config/xspirograph.xml.h:5
+msgid ""
+"Simulates that pen-in-nested-plastic-gears toy from your childhood. By Rohit "
+"Singh."
+msgstr ""
+
+#: hacks/config/xspirograph.xml.h:6
+msgid "XSpiroGraph"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:1
+msgid "Color Bars Enabled"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:2
+msgid "Cycle Through Modes"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:3
+msgid "Rolling Enabled"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:4
+msgid "Static Enabled"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:5
+msgid "XTeeVee"
+msgstr ""
+
+#: hacks/config/xteevee.xml.h:6
+msgid ""
+"XTeeVee simulates various television problems, including static, loss of "
+"vertical hold, and a test pattern. By Greg Knauss."
+msgstr ""
+
+#: hacks/config/zoom.xml.h:3
+msgid "Lens Offset"
+msgstr ""
+
+#: hacks/config/zoom.xml.h:4
+msgid "Lenses"
+msgstr ""
+
+#: hacks/config/zoom.xml.h:9
+msgid ""
+"Zooms in on a part of the screen and then moves around. With the -lenses "
+"option the result is like looking through many overlapping lenses rather "
+"than just a simple zoom. Written by James Macnicol."
+msgstr ""
diff --git a/kscreensaver/kxsconfig/kxsconfig.cpp b/kscreensaver/kxsconfig/kxsconfig.cpp
new file mode 100644
index 00000000..feda1ee8
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsconfig.cpp
@@ -0,0 +1,388 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// This file contains code copied from xscreensaver. The xscreensaver
+// copyright notice follows.
+
+/*
+ * xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <qlayout.h>
+#include <qtimer.h>
+#include <qvbox.h>
+#include <qlabel.h>
+#include <qfileinfo.h>
+
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kdialogbase.h>
+#include <kprocess.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kcmdlineargs.h>
+#include <kmessagebox.h>
+
+#include "kxsconfig.h"
+#include "kxscontrol.h"
+#include "kxsxml.h"
+
+template class QPtrList<KXSConfigItem>;
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/IntrinsicP.h>
+#include <X11/ShellP.h>
+
+int ignoreXError(Display *, XErrorEvent *);
+
+//===========================================================================
+
+const uint widgetEventMask = // X event mask
+(uint)(
+ ExposureMask |
+ PropertyChangeMask |
+ StructureNotifyMask
+ );
+
+KXSConfigDialog::KXSConfigDialog(const QString &filename, const QString &name)
+ : KDialogBase(Plain, name, Ok| Cancel, Ok, 0, 0, false),
+ mFilename(filename), mPreviewProc(0), mKilled(true)
+{
+ int slash = filename.findRev('/');
+ if (slash >= 0)
+ mConfigFile = filename.mid(slash+1);
+ else
+ mConfigFile = filename;
+
+ mExeName = mConfigFile;
+ mConfigFile += "rc";
+}
+
+bool KXSConfigDialog::create()
+{
+ QVBoxLayout *topLayout = new QVBoxLayout(plainPage(), spacingHint());
+ QHBoxLayout *layout = new QHBoxLayout(topLayout, spacingHint());
+ QVBox *controlLayout = new QVBox(plainPage());
+ controlLayout->setSpacing(spacingHint());
+ layout->addWidget(controlLayout);
+ ((QBoxLayout*)controlLayout->layout())->addStrut(120);
+
+ KConfig config(mConfigFile);
+
+ QString xmlFile = "/doesntexist";
+#ifdef XSCREENSAVER_CONFIG_DIR
+ xmlFile = XSCREENSAVER_CONFIG_DIR;
+#endif
+
+ xmlFile += "/" + mExeName + ".xml";
+ if ( QFile::exists( xmlFile ) ) {
+ // We can use the xscreensaver xml config files.
+ KXSXml xmlParser(controlLayout);
+ xmlParser.parse( xmlFile );
+ mConfigItemList = *xmlParser.items();
+ QWidget *spacer = new QWidget(controlLayout);
+ controlLayout->setStretchFactor(spacer, 1 );
+ QString descr = xmlParser.description();
+ if ( !descr.isEmpty() ) {
+ descr.replace('\n',' ');
+ descr = descr.simplifyWhiteSpace();
+ QLabel *l = new QLabel( i18n( descr.utf8() ), plainPage() );
+ l->setAlignment ( WordBreak );
+ topLayout->addWidget( l );
+ }
+ } else {
+ // fall back to KDE's old config files.
+ int idx = 0;
+ while (true) {
+ QString group = QString("Arg%1").arg(idx);
+ if (config.hasGroup(group)) {
+ config.setGroup(group);
+ QString type = config.readEntry("Type");
+ if (type == "Range") {
+ KXSRangeControl *rc = new KXSRangeControl(controlLayout, group, config);
+ mConfigItemList.append(rc);
+ } else if (type == "DoubleRange") {
+ KXSDoubleRangeControl *rc =
+ new KXSDoubleRangeControl(controlLayout, group, config);
+ mConfigItemList.append(rc);
+ } else if (type == "Check") {
+ KXSCheckBoxControl *cc = new KXSCheckBoxControl(controlLayout, group,
+ config);
+ mConfigItemList.append(cc);
+ } else if (type == "DropList") {
+ KXSDropListControl *dl = new KXSDropListControl(controlLayout, group,
+ config);
+ mConfigItemList.append(dl);
+ }
+ } else {
+ break;
+ }
+ idx++;
+ }
+ if ( idx == 0 )
+ return false;
+ }
+
+ QPtrListIterator<KXSConfigItem> it( mConfigItemList );
+ KXSConfigItem *item;
+ while ( (item = it.current()) != 0 ) {
+ ++it;
+ item->read( config );
+ QWidget *i = dynamic_cast<QWidget*>(item);
+ if (i) {
+ connect( i, SIGNAL(changed()), SLOT(slotChanged()) );
+ }
+ }
+
+ mPreviewProc = new KProcess;
+ connect(mPreviewProc, SIGNAL(processExited(KProcess *)),
+ SLOT(slotPreviewExited(KProcess *)));
+
+ mPreviewTimer = new QTimer(this);
+ connect(mPreviewTimer, SIGNAL(timeout()), SLOT(slotNewPreview()));
+
+ mPreview = new QWidget(plainPage());
+ mPreview->setFixedSize(250, 200);
+ // mPreview->setBackgroundMode(QWidget::NoBackground);
+ mPreview->setBackgroundColor(Qt::black);
+
+ layout->add(mPreview);
+ show();
+
+ // So that hacks can XSelectInput ButtonPressMask
+ XSelectInput(qt_xdisplay(), mPreview->winId(), widgetEventMask );
+
+ slotPreviewExited(0);
+ return true;
+}
+
+//---------------------------------------------------------------------------
+KXSConfigDialog::~KXSConfigDialog()
+{
+ if (mPreviewProc && mPreviewProc->isRunning()) {
+ int pid = mPreviewProc->pid();
+ mPreviewProc->kill();
+ waitpid(pid, (int *)0, 0);
+ delete mPreviewProc;
+ }
+}
+
+//---------------------------------------------------------------------------
+QString KXSConfigDialog::command()
+{
+ QString cmd;
+ KXSConfigItem *item;
+
+ for (item = mConfigItemList.first(); item != 0; item = mConfigItemList.next())
+ {
+ cmd += " " + item->command();
+ }
+
+ return cmd;
+}
+
+//---------------------------------------------------------------------------
+void KXSConfigDialog::slotPreviewExited(KProcess *)
+{
+ if ( mKilled ) {
+ mKilled = false;
+ mPreviewProc->clearArguments();
+ QString saver;
+ saver.sprintf( "%s -window-id 0x%lX", mFilename.latin1(), long(mPreview->winId()) );
+ saver += command();
+ kdDebug() << "Command: " << saver << endl;
+
+ unsigned int i = 0;
+ QString word;
+ saver = saver.stripWhiteSpace();
+ while ( !saver[i].isSpace() ) word += saver[i++];
+ //work around a KStandarDirs::findExe() "feature" where it looks in $KDEDIR/bin first no matter what and sometimes finds the wrong executable
+ QFileInfo checkExe;
+ QString saverdir = QString("%1/%2").arg(XSCREENSAVER_HACKS_DIR).arg(word);
+ QString path;
+ checkExe.setFile(saverdir);
+ if (checkExe.exists() && checkExe.isExecutable() && checkExe.isFile())
+ {
+ path = saverdir;
+ }
+ if (!path.isEmpty()) {
+ (*mPreviewProc) << path;
+
+ bool inQuotes = false;
+ while ( i < saver.length() ) {
+ word = "";
+ while ( saver[i].isSpace() && i < saver.length() ) i++;
+ while ( (!saver[i].isSpace() || inQuotes) && i < saver.length() ) {
+ if ( saver[i] == '\"' ) {
+ inQuotes = !inQuotes;
+ } else {
+ word += saver[i];
+ }
+ i++;
+ }
+ if (!word.isEmpty()) {
+ (*mPreviewProc) << word;
+ }
+ }
+
+ mPreviewProc->start();
+ }
+ } else {
+ // stops us from spawning the hack really fast, but still not the best
+ QString path = KStandardDirs::findExe(mFilename, XSCREENSAVER_HACKS_DIR);
+ if ( QFile::exists(path) ) {
+ mKilled = true;
+ slotChanged();
+ }
+ }
+}
+
+//---------------------------------------------------------------------------
+void KXSConfigDialog::slotNewPreview()
+{
+ if (mPreviewProc->isRunning()) {
+ mKilled = true;
+ mPreviewProc->kill(); // restarted in slotPreviewExited()
+ } else {
+ slotPreviewExited(0);
+ }
+}
+
+//---------------------------------------------------------------------------
+void KXSConfigDialog::slotChanged()
+{
+ if (mPreviewTimer->isActive())
+ mPreviewTimer->changeInterval(1000);
+ else
+ mPreviewTimer->start(1000, true);
+}
+
+//---------------------------------------------------------------------------
+void KXSConfigDialog::slotOk()
+{
+ KXSConfigItem *item;
+ KConfig config(mConfigFile);
+
+ for (item = mConfigItemList.first(); item != 0; item = mConfigItemList.next())
+ {
+ item->save(config);
+ }
+
+ kapp->quit();
+}
+
+//---------------------------------------------------------------------------
+void KXSConfigDialog::slotCancel()
+{
+ kapp->quit();
+}
+
+
+//===========================================================================
+
+static const char appName[] = "kxsconfig";
+
+static const char description[] = I18N_NOOP("KDE X Screen Saver Configuration tool");
+
+static const char version[] = "3.0.0";
+
+static const KCmdLineOptions options[] =
+{
+ {"+screensaver", I18N_NOOP("Filename of the screen saver to configure"), 0},
+ {"+[savername]", I18N_NOOP("Optional screen saver name used in messages"), 0},
+ KCmdLineLastOption
+};
+
+static const char *defaults[] = {
+#include "XScreenSaver_ad.h"
+ 0
+};
+
+const char *progname = 0;
+const char *progclass = "XScreenSaver";
+XrmDatabase db;
+
+int main(int argc, char *argv[])
+{
+ KCmdLineArgs::init(argc, argv, appName, I18N_NOOP("KXSConfig"), description, version);
+
+ KCmdLineArgs::addCmdLineOptions(options);
+
+ KApplication app;
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ if(args->count()==0)
+ exit(1);
+
+ /* We must read exactly the same resources as xscreensaver.
+ That means we must have both the same progclass *and* progname,
+ at least as far as the resource database is concerned. So,
+ put "xscreensaver" in argv[0] while initializing Xt.
+ */
+ const char *dummyargs[] = { "xscreensaver" };
+ int dummyargc = 1;
+ progname = dummyargs[0];
+
+ // Teach Xt to use the Display that Qt has already opened.
+ XtToolkitInitialize ();
+ XtAppContext xtApp = XtCreateApplicationContext ();
+ Display *dpy = qt_xdisplay();
+ XtAppSetFallbackResources (xtApp, const_cast<char**>(defaults));
+ XtDisplayInitialize (xtApp, dpy, progname, progclass, 0, 0,
+ &dummyargc,
+ const_cast<char**>(dummyargs));
+ Widget toplevel_shell = XtAppCreateShell (progname, progclass,
+ applicationShellWidgetClass,
+ dpy, 0, 0);
+ dpy = XtDisplay (toplevel_shell);
+ db = XtDatabase (dpy);
+ XtGetApplicationNameAndClass (dpy, const_cast<char**>(&progname),
+ const_cast<char**>(&progclass));
+
+ QString name = QString::fromLocal8Bit(args->arg(args->count() - 1));
+ KXSConfigDialog *dialog=new KXSConfigDialog(args->arg(0), name);
+ if ( dialog->create() ) {
+ dialog->show();
+ app.setMainWidget(dialog);
+ app.exec();
+ } else {
+ KMessageBox::sorry(0,
+ i18n("No configuration available for %1").arg(name),
+ name );
+ }
+
+ delete dialog;
+}
+
+#include "kxsconfig.moc"
diff --git a/kscreensaver/kxsconfig/kxsconfig.h b/kscreensaver/kxsconfig/kxsconfig.h
new file mode 100644
index 00000000..f17bcd85
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsconfig.h
@@ -0,0 +1,59 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef __KXSCONFIG_H__
+#define __KXSCONFIG_H__
+
+#include <kdialogbase.h>
+#include "kxsitem.h"
+
+class KProcess;
+class QLabel;
+
+class KXSConfigDialog : public KDialogBase
+{
+ Q_OBJECT
+public:
+ KXSConfigDialog(const QString &file, const QString &name);
+ ~KXSConfigDialog();
+
+ bool create();
+ QString command();
+
+protected slots:
+ void slotPreviewExited(KProcess *);
+ void slotNewPreview();
+ void slotChanged();
+ virtual void slotOk();
+ virtual void slotCancel();
+
+protected:
+ QString mFilename;
+ QString mExeName;
+ QString mConfigFile;
+ KProcess *mPreviewProc;
+ QWidget *mPreview;
+ QTimer *mPreviewTimer;
+ QPtrList<KXSConfigItem> mConfigItemList;
+ bool mKilled;
+};
+
+#endif
diff --git a/kscreensaver/kxsconfig/kxscontrol.cpp b/kscreensaver/kxsconfig/kxscontrol.cpp
new file mode 100644
index 00000000..b8a2b666
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxscontrol.cpp
@@ -0,0 +1,321 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <qlabel.h>
+#include <qslider.h>
+#include <qlayout.h>
+#include <qcombobox.h>
+#include <qlineedit.h>
+#include <qspinbox.h>
+#include <qpushbutton.h>
+#include <qxml.h>
+#include <klocale.h>
+#include <kfiledialog.h>
+#include "kxscontrol.h"
+
+//===========================================================================
+KXSRangeControl::KXSRangeControl(QWidget *parent, const QString &name,
+ KConfig &config)
+ : QWidget(parent), KXSRangeItem(name, config), mSlider(0), mSpinBox(0)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(mLabel, this);
+ l->add(label);
+ mSlider = new QSlider(mMinimum, mMaximum, 10, mValue, Qt::Horizontal, this);
+ connect(mSlider, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)));
+ l->add(mSlider);
+}
+
+KXSRangeControl::KXSRangeControl(QWidget *parent, const QString &name,
+ const QXmlAttributes &attr )
+ : QWidget(parent), KXSRangeItem(name, attr), mSlider(0), mSpinBox(0)
+{
+ if (attr.value("type") == "spinbutton" ) {
+ QHBoxLayout *hb = new QHBoxLayout(this);
+ if (!mLabel.isEmpty()) {
+ QLabel *l = new QLabel(i18n(mLabel.utf8()), this);
+ hb->add(l);
+ }
+ mSpinBox = new QSpinBox(mMinimum, mMaximum, 1, this);
+ mSpinBox->setValue(mValue);
+ connect(mSpinBox, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)));
+ hb->add(mSpinBox);
+ } else {
+ QString lowLabel = attr.value("_low-label");
+ QString highLabel = attr.value("_high-label");
+ QVBoxLayout *vb = new QVBoxLayout(this);
+ if (!mLabel.isEmpty()) {
+ QLabel *l = new QLabel(i18n(mLabel.utf8()), this);
+ vb->add(l);
+ }
+ QHBoxLayout *hb = new QHBoxLayout(vb);
+ if (!lowLabel.isEmpty()) {
+ QLabel *l = new QLabel(i18n(lowLabel.utf8()), this);
+ hb->addWidget(l);
+ }
+ mSlider = new QSlider(mMinimum, mMaximum, 10, mValue, Qt::Horizontal, this);
+ connect(mSlider, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)));
+ hb->add(mSlider);
+ if (!highLabel.isEmpty()){
+ QLabel *l = new QLabel(i18n(highLabel.utf8()), this);
+ hb->addWidget(l);
+ }
+ }
+}
+
+void KXSRangeControl::slotValueChanged(int value)
+{
+ mValue = value;
+ emit changed();
+}
+
+void KXSRangeControl::read(KConfig &config)
+{
+ KXSRangeItem::read(config);
+ if ( mSpinBox )
+ mSpinBox->setValue(mValue);
+ else
+ mSlider->setValue(mValue);
+}
+
+//===========================================================================
+KXSDoubleRangeControl::KXSDoubleRangeControl(QWidget *parent,
+ const QString &name, KConfig &config)
+ : QWidget(parent), KXSDoubleRangeItem(name, config)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(mLabel, this);
+ l->add(label);
+
+ int value = int((mValue - mMinimum) * 100 / (mMaximum - mMinimum));
+
+ mSlider = new QSlider(0, 100, 10, value, Qt::Horizontal, this);
+ connect(mSlider, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)));
+ l->add(mSlider);
+}
+
+KXSDoubleRangeControl::KXSDoubleRangeControl(QWidget *parent,
+ const QString &name, const QXmlAttributes &attr)
+ : QWidget(parent), KXSDoubleRangeItem(name, attr)
+{
+ QString lowLabel = attr.value("_low-label");
+ QString highLabel = attr.value("_high-label");
+ QVBoxLayout *vb = new QVBoxLayout(this);
+ if (!mLabel.isEmpty()) {
+ QLabel *l = new QLabel(i18n(mLabel.utf8()), this);
+ vb->add(l);
+ }
+ QHBoxLayout *hb = new QHBoxLayout(vb);
+ if (!lowLabel.isEmpty()) {
+ QLabel *l = new QLabel(i18n(lowLabel.utf8()), this);
+ hb->addWidget(l);
+ }
+ int value = int((mValue - mMinimum) * 100 / (mMaximum - mMinimum));
+ mSlider = new QSlider(0, 100, 10, value, Qt::Horizontal, this);
+ connect(mSlider, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)));
+ hb->add(mSlider);
+ if (!highLabel.isEmpty()){
+ QLabel *l = new QLabel(i18n(highLabel.utf8()), this);
+ hb->addWidget(l);
+ }
+}
+
+void KXSDoubleRangeControl::slotValueChanged(int value)
+{
+ mValue = mMinimum + value * (mMaximum - mMinimum) / 100.0;
+ emit changed();
+}
+
+void KXSDoubleRangeControl::read(KConfig &config)
+{
+ KXSDoubleRangeItem::read(config);
+ mSlider->setValue((int)((mValue - mMinimum) * 100.0 /
+ (mMaximum - mMinimum) + 0.5));
+}
+
+//===========================================================================
+KXSCheckBoxControl::KXSCheckBoxControl(QWidget *parent, const QString &name,
+ KConfig &config)
+ : QCheckBox(parent), KXSBoolItem(name, config)
+{
+ setText(mLabel);
+ setChecked(mValue);
+ connect(this, SIGNAL(toggled(bool)), SLOT(slotToggled(bool)));
+}
+
+KXSCheckBoxControl::KXSCheckBoxControl(QWidget *parent, const QString &name,
+ const QXmlAttributes &attr)
+ : QCheckBox(parent), KXSBoolItem(name, attr)
+{
+ setText(i18n(mLabel.utf8()));
+ setChecked(mValue);
+ connect(this, SIGNAL(toggled(bool)), SLOT(slotToggled(bool)));
+}
+
+void KXSCheckBoxControl::slotToggled(bool state)
+{
+ mValue = state;
+ emit changed();
+}
+
+void KXSCheckBoxControl::read(KConfig &config)
+{
+ KXSBoolItem::read(config);
+ setChecked(mValue);
+}
+
+//===========================================================================
+KXSDropListControl::KXSDropListControl(QWidget *parent, const QString &name,
+ KConfig &config)
+ : QWidget(parent), KXSSelectItem(name, config)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(mLabel, this);
+ l->add(label);
+ mCombo = new QComboBox(this);
+ for(uint i=0; i < mOptions.count(); i++)
+ mCombo->insertItem( i18n(mOptions[i].utf8()) );
+ mCombo->setCurrentItem(mValue);
+ connect(mCombo, SIGNAL(activated(int)), SLOT(slotActivated(int)));
+ l->add(mCombo);
+}
+
+KXSDropListControl::KXSDropListControl(QWidget *parent, const QString &name,
+ const QXmlAttributes &attr)
+ : QWidget(parent), KXSSelectItem(name, attr)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(i18n(mLabel.utf8()), this);
+ l->add(label);
+ mCombo = new QComboBox(this);
+ connect(mCombo, SIGNAL(activated(int)), SLOT(slotActivated(int)));
+ l->add(mCombo);
+}
+
+void KXSDropListControl::addOption(const QXmlAttributes &attr)
+{
+ KXSSelectItem::addOption( attr );
+ mCombo->insertItem( i18n(mOptions[mOptions.count()-1].utf8()) );
+ if ( (unsigned)mValue == mOptions.count()-1 )
+ mCombo->setCurrentItem(mOptions.count()-1);
+}
+
+void KXSDropListControl::slotActivated(int indx)
+{
+ mValue = indx;
+ emit changed();
+}
+
+void KXSDropListControl::read(KConfig &config)
+{
+ KXSSelectItem::read(config);
+ mCombo->setCurrentItem(mValue);
+}
+
+//===========================================================================
+KXSLineEditControl::KXSLineEditControl(QWidget *parent, const QString &name,
+ KConfig &config)
+ : QWidget(parent), KXSStringItem(name, config)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(mLabel, this);
+ l->add(label);
+ mEdit = new QLineEdit(this);
+ connect(mEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+ l->add(mEdit);
+}
+
+KXSLineEditControl::KXSLineEditControl(QWidget *parent, const QString &name,
+ const QXmlAttributes &attr )
+ : QWidget(parent), KXSStringItem(name, attr)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(i18n(mLabel.utf8()), this);
+ l->add(label);
+ mEdit = new QLineEdit(this);
+ connect(mEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+ l->add(mEdit);
+}
+
+void KXSLineEditControl::textChanged( const QString &text )
+{
+ mValue = text;
+ emit changed();
+}
+
+void KXSLineEditControl::read(KConfig &config)
+{
+ KXSStringItem::read(config);
+ mEdit->setText(mValue);
+}
+
+//===========================================================================
+KXSFileControl::KXSFileControl(QWidget *parent, const QString &name,
+ KConfig &config)
+ : QWidget(parent), KXSStringItem(name, config)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(mLabel, this);
+ l->add(label);
+ mEdit = new QLineEdit(this);
+ connect(mEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+ l->add(mEdit);
+}
+
+KXSFileControl::KXSFileControl(QWidget *parent, const QString &name,
+ const QXmlAttributes &attr )
+ : QWidget(parent), KXSStringItem(name, attr)
+{
+ QVBoxLayout *l = new QVBoxLayout(this);
+ QLabel *label = new QLabel(i18n(mLabel.utf8()), this);
+ l->add(label);
+ QHBoxLayout *hb = new QHBoxLayout(l);
+ mEdit = new QLineEdit(this);
+ connect(mEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+ hb->add(mEdit);
+ QPushButton *pb = new QPushButton( "...", this );
+ connect( pb, SIGNAL(clicked()), this, SLOT(selectFile()) );
+ hb->addWidget(pb);
+}
+
+void KXSFileControl::textChanged( const QString &text )
+{
+ mValue = text;
+ emit changed();
+}
+
+void KXSFileControl::selectFile()
+{
+ QString f = KFileDialog::getOpenFileName();
+ if ( !f.isEmpty() ) {
+ mValue = f;
+ mEdit->setText(mValue);
+ emit changed();
+ }
+}
+
+void KXSFileControl::read(KConfig &config)
+{
+ KXSStringItem::read(config);
+ mEdit->setText(mValue);
+}
+
+#include "kxscontrol.moc"
diff --git a/kscreensaver/kxsconfig/kxscontrol.h b/kscreensaver/kxsconfig/kxscontrol.h
new file mode 100644
index 00000000..36f16e43
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxscontrol.h
@@ -0,0 +1,160 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef __KXSCONTROL_H__
+#define __KXSCONTROL_H__
+
+#include <qwidget.h>
+#include <qcheckbox.h>
+
+#include "kxsitem.h"
+
+class QLabel;
+class QSlider;
+class QSpinBox;
+class QComboBox;
+class QLineEdit;
+
+//===========================================================================
+class KXSRangeControl : public QWidget, public KXSRangeItem
+{
+ Q_OBJECT
+public:
+ KXSRangeControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSRangeControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+signals:
+ void changed();
+
+protected slots:
+ void slotValueChanged(int value);
+
+protected:
+ QSlider *mSlider;
+ QSpinBox *mSpinBox;
+};
+
+//===========================================================================
+class KXSDoubleRangeControl : public QWidget, public KXSDoubleRangeItem
+{
+ Q_OBJECT
+public:
+ KXSDoubleRangeControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSDoubleRangeControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+signals:
+ void changed();
+
+protected slots:
+ void slotValueChanged(int value);
+
+protected:
+ QSlider *mSlider;
+ double mStep;
+};
+
+//===========================================================================
+class KXSCheckBoxControl : public QCheckBox, public KXSBoolItem
+{
+ Q_OBJECT
+public:
+ KXSCheckBoxControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSCheckBoxControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+signals:
+ void changed();
+
+protected slots:
+ void slotToggled(bool);
+};
+
+//===========================================================================
+class KXSDropListControl : public QWidget, public KXSSelectItem
+{
+ Q_OBJECT
+public:
+ KXSDropListControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSDropListControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+ virtual void addOption( const QXmlAttributes &attr );
+
+signals:
+ void changed();
+
+protected slots:
+ void slotActivated(int);
+
+protected:
+ QComboBox *mCombo;
+};
+
+//===========================================================================
+class KXSLineEditControl : public QWidget, public KXSStringItem
+{
+ Q_OBJECT
+public:
+ KXSLineEditControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSLineEditControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+signals:
+ void changed();
+
+protected slots:
+ void textChanged(const QString &);
+
+protected:
+ QLineEdit *mEdit;
+};
+
+//===========================================================================
+class KXSFileControl : public QWidget, public KXSStringItem
+{
+ Q_OBJECT
+public:
+ KXSFileControl(QWidget *parent, const QString &name, KConfig &config);
+ KXSFileControl(QWidget *parent, const QString &name, const QXmlAttributes &attr );
+
+ virtual void read(KConfig &config);
+
+signals:
+ void changed();
+
+protected slots:
+ void textChanged(const QString &);
+ void selectFile();
+
+protected:
+ QLineEdit *mEdit;
+
+};
+
+#endif
+
diff --git a/kscreensaver/kxsconfig/kxsitem.cpp b/kscreensaver/kxsconfig/kxsitem.cpp
new file mode 100644
index 00000000..d7cd010c
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsitem.cpp
@@ -0,0 +1,251 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include "kxsconfig.h"
+#include <klocale.h>
+#include <qxml.h>
+
+//===========================================================================
+KXSConfigItem::KXSConfigItem(const QString &name, KConfig &config)
+ : mName(name)
+{
+ config.setGroup(name);
+ mLabel = i18n(config.readEntry("Label").utf8());
+}
+
+KXSConfigItem::KXSConfigItem(const QString &name, const QXmlAttributes &attr )
+ : mName(name)
+{
+ mLabel = attr.value("_label");
+}
+
+//===========================================================================
+KXSRangeItem::KXSRangeItem(const QString &name, KConfig &config)
+ : KXSConfigItem(name, config), mInvert(false)
+{
+ mMinimum = config.readNumEntry("Minimum");
+ mMaximum = config.readNumEntry("Maximum");
+ mValue = config.readNumEntry("Value");
+ mSwitch = config.readEntry("Switch");
+}
+
+KXSRangeItem::KXSRangeItem(const QString &name, const QXmlAttributes &attr )
+ : KXSConfigItem(name, attr), mInvert(false)
+{
+ mMinimum = attr.value("low").toInt();
+ mMaximum = attr.value("high").toInt();
+ mValue = attr.value("default").toInt();
+ mSwitch = attr.value("arg");
+ int pos = mSwitch.find( '%' );
+ if (pos >= 0)
+ mSwitch.insert(pos+1, '1');
+ if ( attr.value("convert") == "invert" )
+ mInvert = true;
+ if (mInvert)
+ mValue = mMaximum-(mValue-mMinimum);
+}
+
+QString KXSRangeItem::command()
+{
+ return mSwitch.arg(mInvert?mMaximum-(mValue-mMinimum):mValue);
+}
+
+void KXSRangeItem::read(KConfig &config)
+{
+ config.setGroup(mName);
+ if (config.hasKey("Value"))
+ mValue = config.readNumEntry("Value");
+}
+
+void KXSRangeItem::save(KConfig &config)
+{
+ config.setGroup(mName);
+ config.writeEntry("Value", mValue);
+}
+
+//===========================================================================
+KXSDoubleRangeItem::KXSDoubleRangeItem(const QString &name, KConfig &config)
+ : KXSConfigItem(name, config), mInvert(false)
+{
+ mMinimum = config.readDoubleNumEntry("Minimum");
+ mMaximum = config.readDoubleNumEntry("Maximum");
+ mValue = config.readDoubleNumEntry("Value");
+ mSwitch = config.readEntry("Switch");
+}
+
+KXSDoubleRangeItem::KXSDoubleRangeItem(const QString &name, const QXmlAttributes &attr)
+ : KXSConfigItem(name, attr), mInvert(false)
+{
+ mMinimum = attr.value("low").toDouble();
+ mMaximum = attr.value("high").toDouble();
+ mValue = attr.value("default").toDouble();
+ mSwitch = attr.value("arg");
+ int pos = mSwitch.find( '%' );
+ if (pos >= 0)
+ mSwitch.insert(pos+1, '1');
+ if ( attr.value("convert") == "invert" )
+ mInvert = true;
+ if (mInvert)
+ mValue = mMaximum-(mValue-mMinimum);
+}
+
+QString KXSDoubleRangeItem::command()
+{
+ return mSwitch.arg(mInvert?mMaximum-(mValue-mMinimum):mValue);
+}
+
+void KXSDoubleRangeItem::read(KConfig &config)
+{
+ config.setGroup(mName);
+ if (config.hasKey("Value"))
+ mValue = config.readDoubleNumEntry("Value");
+}
+
+void KXSDoubleRangeItem::save(KConfig &config)
+{
+ config.setGroup(mName);
+ config.writeEntry("Value", mValue);
+}
+
+
+//===========================================================================
+KXSBoolItem::KXSBoolItem(const QString &name, KConfig &config)
+ : KXSConfigItem(name, config)
+{
+ mValue = config.readBoolEntry("Value");
+ mSwitchOn = config.readEntry("SwitchOn");
+ mSwitchOff = config.readEntry("SwitchOff");
+}
+
+KXSBoolItem::KXSBoolItem(const QString &name, const QXmlAttributes &attr )
+ : KXSConfigItem(name, attr)
+{
+ mSwitchOn = attr.value("arg-set");
+ mSwitchOff = attr.value("arg-unset");
+ mValue = mSwitchOn.isEmpty() ? true : false;
+}
+
+QString KXSBoolItem::command()
+{
+ return mValue ? mSwitchOn : mSwitchOff;
+}
+
+void KXSBoolItem::read(KConfig &config)
+{
+ config.setGroup(mName);
+ if (config.hasKey("Value"))
+ mValue = config.readBoolEntry("Value");
+}
+
+void KXSBoolItem::save(KConfig &config)
+{
+ config.setGroup(mName);
+ config.writeEntry("Value", mValue);
+}
+
+//===========================================================================
+KXSSelectItem::KXSSelectItem(const QString &name, KConfig &config)
+ : KXSConfigItem(name, config)
+{
+ mOptions = config.readListEntry("Options");
+ mSwitches = config.readListEntry("Switches");
+ mValue = config.readNumEntry("Value");
+}
+
+KXSSelectItem::KXSSelectItem(const QString &name, const QXmlAttributes &attr )
+ : KXSConfigItem(name, attr), mValue(0)
+{
+}
+
+void KXSSelectItem::addOption( const QXmlAttributes &attr )
+{
+ QString opt = attr.value("_label");
+ QString arg = attr.value("arg-set");
+ if ( arg.isEmpty() )
+ mValue = mSwitches.count();
+ mOptions += opt;
+ mSwitches += arg;
+}
+
+QString KXSSelectItem::command()
+{
+ QStringList::Iterator it = mSwitches.at(mValue);
+ return (*it);
+}
+
+void KXSSelectItem::read(KConfig &config)
+{
+ config.setGroup(mName);
+ if (config.hasKey("Value"))
+ mValue = config.readNumEntry("Value");
+}
+
+void KXSSelectItem::save(KConfig &config)
+{
+ config.setGroup(mName);
+ config.writeEntry("Value", mValue);
+}
+
+
+//===========================================================================
+KXSStringItem::KXSStringItem(const QString &name, KConfig &config)
+ : KXSConfigItem(name, config)
+{
+ mValue = config.readEntry("Value");
+ mSwitch = config.readEntry("Switch");
+ int pos = mSwitch.find( '%' );
+ if (pos >= 0) {
+ mSwitch.insert(pos+1, "\"");
+ mSwitch.insert(pos, "\"");
+ }
+}
+
+KXSStringItem::KXSStringItem(const QString &name, const QXmlAttributes &attr )
+ : KXSConfigItem(name, attr)
+{
+ mSwitch = attr.value("arg");
+ int pos = mSwitch.find( '%' );
+ if (pos >= 0) {
+ mSwitch.insert(pos+1, "1\"");
+ mSwitch.insert(pos, "\"");
+ }
+}
+
+QString KXSStringItem::command()
+{
+ if (!mValue.isEmpty())
+ return mSwitch.arg(mValue);
+ return "";
+}
+
+void KXSStringItem::read(KConfig &config)
+{
+ config.setGroup(mName);
+ if (config.hasKey("Value"))
+ mValue = config.readEntry("Value");
+}
+
+void KXSStringItem::save(KConfig &config)
+{
+ config.setGroup(mName);
+ config.writeEntry("Value", mValue);
+}
+
diff --git a/kscreensaver/kxsconfig/kxsitem.h b/kscreensaver/kxsconfig/kxsitem.h
new file mode 100644
index 00000000..fdffb8fe
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsitem.h
@@ -0,0 +1,132 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef __KXSITEM_H__
+#define __KXSITEM_H__
+
+#include <kconfig.h>
+
+class QXmlAttributes;
+
+class KXSConfigItem
+{
+public:
+ KXSConfigItem(const QString &name, KConfig &config);
+ KXSConfigItem(const QString &name, const QXmlAttributes &attr);
+ virtual ~KXSConfigItem() {}
+
+ virtual QString command() = 0;
+ virtual void save(KConfig &config) = 0;
+ virtual void read(KConfig &config) = 0;
+
+protected:
+ QString mName;
+ QString mLabel;
+};
+
+class KXSRangeItem : public KXSConfigItem
+{
+public:
+ KXSRangeItem(const QString &name, KConfig &config);
+ KXSRangeItem(const QString &name, const QXmlAttributes &attr);
+
+ virtual QString command();
+ virtual void save(KConfig &config);
+ virtual void read(KConfig &config);
+
+protected:
+ QString mSwitch;
+ int mMinimum;
+ int mMaximum;
+ int mValue;
+ bool mInvert;
+};
+
+class KXSDoubleRangeItem : public KXSConfigItem
+{
+public:
+ KXSDoubleRangeItem(const QString &name, KConfig &config);
+ KXSDoubleRangeItem(const QString &name, const QXmlAttributes &attr);
+
+ virtual QString command();
+ virtual void read(KConfig &config);
+ virtual void save(KConfig &config);
+
+protected:
+ QString mSwitch;
+ double mMinimum;
+ double mMaximum;
+ double mValue;
+ bool mInvert;
+};
+
+class KXSBoolItem : public KXSConfigItem
+{
+public:
+ KXSBoolItem(const QString &name, KConfig &config);
+ KXSBoolItem(const QString &name, const QXmlAttributes &attr);
+
+ virtual QString command();
+ virtual void read(KConfig &config);
+ virtual void save(KConfig &config);
+
+protected:
+ QString mSwitchOn;
+ QString mSwitchOff;
+ bool mValue;
+};
+
+class KXSSelectItem : public KXSConfigItem
+{
+public:
+ KXSSelectItem(const QString &name, KConfig &config);
+ KXSSelectItem(const QString &name, const QXmlAttributes &attr);
+
+ virtual void addOption(const QXmlAttributes &attr);
+
+ virtual QString command();
+
+ virtual void read(KConfig &config);
+ virtual void save(KConfig &config);
+
+protected:
+ QStringList mOptions;
+ QStringList mSwitches;
+ int mValue;
+};
+
+class KXSStringItem : public KXSConfigItem
+{
+public:
+ KXSStringItem(const QString &name, KConfig &config);
+ KXSStringItem(const QString &name, const QXmlAttributes &attr);
+
+ virtual QString command();
+ virtual void save(KConfig &config);
+ virtual void read(KConfig &config);
+
+protected:
+ QString mSwitch;
+ QString mValue;
+};
+
+#endif
+
diff --git a/kscreensaver/kxsconfig/kxsrun.cpp b/kscreensaver/kxsconfig/kxsrun.cpp
new file mode 100644
index 00000000..5a28f929
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsrun.cpp
@@ -0,0 +1,195 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver launcher
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 1999
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include <qptrlist.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kcmdlineargs.h>
+
+#include "kxsitem.h"
+#include "kxsxml.h"
+
+#define MAX_ARGS 30
+
+template class QPtrList<KXSConfigItem>;
+
+//===========================================================================
+static const char appName[] = "kxsrun";
+
+static const char description[] = I18N_NOOP("KDE X Screen Saver Launcher");
+
+static const char version[] = "3.0.0";
+
+static const KCmdLineOptions options[] =
+{
+ {"+screensaver", I18N_NOOP("Filename of the screen saver to start"), 0},
+ {"+-- [options]", I18N_NOOP("Extra options to pass to the screen saver"), 0},
+ KCmdLineLastOption
+};
+
+int main(int argc, char *argv[])
+{
+ KLocale::setMainCatalogue("kxsconfig");
+ KCmdLineArgs::init(argc, argv, appName, I18N_NOOP("KXSRun"), description, version);
+
+ KCmdLineArgs::addCmdLineOptions(options);
+
+ KApplication app( false, false );
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+
+ if ( !args->count() )
+ exit( 1 );
+
+ QString filename = args->arg(0);
+ QString configFile(filename);
+
+ // Get the config filename
+ int slash = filename.findRev('/');
+ if (slash >= 0)
+ configFile = filename.mid(slash+1);
+
+ QString exeName = configFile;
+ configFile += "rc";
+
+ // read configuration args
+ KConfig config(configFile);
+
+ QPtrList<KXSConfigItem> configItemList;
+
+ QString xmlFile = "/doesntexist";
+#ifdef XSCREENSAVER_CONFIG_DIR
+ xmlFile = XSCREENSAVER_CONFIG_DIR;
+#endif
+ xmlFile += "/" + exeName + ".xml";
+ if ( QFile::exists( xmlFile ) ) {
+ // We can use the xscreensaver xml config files.
+ KXSXml xmlParser(0);
+ xmlParser.parse(xmlFile);
+ configItemList = *xmlParser.items();
+ QPtrListIterator<KXSConfigItem> it( configItemList );
+ KXSConfigItem *item;
+ while ( (item = it.current()) != 0 ) {
+ ++it;
+ item->read( config );
+ }
+ } else {
+ // fall back to KDE's old config files.
+ int idx = 0;
+ while (true)
+ {
+ QString group = QString("Arg%1").arg(idx);
+ if (config.hasGroup(group)) {
+ config.setGroup(group);
+ QString type = config.readEntry("Type");
+ if (type == "Range") {
+ KXSRangeItem *rc = new KXSRangeItem(group, config);
+ configItemList.append(rc);
+ } else if (type == "DoubleRange") {
+ KXSDoubleRangeItem *rc = new KXSDoubleRangeItem(group, config);
+ configItemList.append(rc);
+ } else if (type == "Check") {
+ KXSBoolItem *cc = new KXSBoolItem(group, config);
+ configItemList.append(cc);
+ } else if (type == "DropList") {
+ KXSSelectItem *si = new KXSSelectItem(group, config);
+ configItemList.append(si);
+ }
+ } else {
+ break;
+ }
+ idx++;
+ }
+ }
+
+ // find the xscreensaver executable
+ //work around a KStandarDirs::findExe() "feature" where it looks in $KDEDIR/bin first no matter what and sometimes finds the wrong executable
+ QFileInfo checkExe;
+ QString saverdir = QString("%1/%2").arg(XSCREENSAVER_HACKS_DIR).arg(filename);
+ kdDebug() << "saverdir is" << saverdir << endl;
+ QString exeFile;
+ checkExe.setFile(saverdir);
+ if (checkExe.exists() && checkExe.isExecutable() && checkExe.isFile())
+ {
+ exeFile = saverdir;
+ }
+
+
+ if (!exeFile.isEmpty()) {
+ char *sargs[MAX_ARGS];
+ sargs[0] = new char [strlen(filename.ascii())+1];
+ strcpy(sargs[0], filename.ascii());
+
+ // add the command line options
+ QString cmd;
+ unsigned int i;
+ for (i = 1; i < (unsigned)args->count(); i++)
+ cmd += " " + QString(args->arg(i));
+
+ // add the config options
+ KXSConfigItem *item;
+ for (item = configItemList.first(); item != 0; item = configItemList.next()) {
+ cmd += " " + item->command();
+ }
+
+ // put into char * array for execv
+ QString word;
+ int si = 1;
+ i = 0;
+ bool inQuotes = false;
+ while (i < cmd.length() && si < MAX_ARGS-1) {
+ word = "";
+ while ( cmd[i].isSpace() && i < cmd.length() ) i++;
+ while ( (!cmd[i].isSpace() || inQuotes) && i < cmd.length() ) {
+ if ( cmd[i] == '\"' ) {
+ inQuotes = !inQuotes;
+ } else {
+ word += cmd[i];
+ }
+ i++;
+ }
+ if (!word.isEmpty()) {
+ sargs[si] = new char [strlen(word.ascii())+1];
+ strcpy(sargs[si], word.ascii());
+ si++;
+ }
+ }
+
+ sargs[si] = 0;
+
+ // here goes...
+ execv(exeFile.ascii(), sargs);
+ }
+}
+
+
diff --git a/kscreensaver/kxsconfig/kxsxml.cpp b/kscreensaver/kxsconfig/kxsxml.cpp
new file mode 100644
index 00000000..d8a689be
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsxml.cpp
@@ -0,0 +1,157 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 2002
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include "kxsxml.h"
+#include "kxscontrol.h"
+#include <qobject.h>
+#include <qfile.h>
+#include <qvbox.h>
+#include <qhbox.h>
+#include <stdio.h>
+
+KXSXml::KXSXml( QWidget *p )
+ : parent(p), handler(0)
+{
+}
+
+bool KXSXml::parse( const QString &filename )
+{
+ QFile file( filename );
+ handler = new KXSXmlHandler( parent );
+ QXmlInputSource source( &file );
+ QXmlSimpleReader reader;
+ reader.setContentHandler( handler );
+ if ( !reader.parse( &source, FALSE ) )
+ return FALSE;
+
+ return true;
+}
+
+const QPtrList<KXSConfigItem> *KXSXml::items() const
+{
+ if ( handler )
+ return handler->items();
+ return 0;
+}
+
+QString KXSXml::description() const
+{
+ if ( handler )
+ return handler->description();
+ return QString();
+}
+
+//===========================================================================
+
+KXSXmlHandler::KXSXmlHandler( QWidget *p )
+ : QXmlDefaultHandler(), parent(p), selItem(0), inDesc(false)
+{
+ mParentStack.push( p );
+}
+
+bool KXSXmlHandler::startDocument()
+{
+ return true;
+}
+
+bool KXSXmlHandler::startElement( const QString&, const QString&,
+ const QString& qName,
+ const QXmlAttributes &atts )
+{
+ KXSConfigItem *i = 0;
+ QString id = atts.value("id");
+ if ( qName == "number" ) {
+ QString sLow = atts.value( "low" );
+ QString sHigh = atts.value( "high" );
+ if ( sLow.contains( '.' ) || sHigh.contains( '.' ) ) {
+ if ( parent )
+ i = new KXSDoubleRangeControl( parent, id, atts );
+ else
+ i = new KXSDoubleRangeItem( id, atts );
+ } else {
+ if ( parent )
+ i = new KXSRangeControl( parent, id, atts );
+ else
+ i = new KXSRangeItem( id, atts );
+ }
+ } else if ( qName == "boolean" ) {
+ if ( parent )
+ i = new KXSCheckBoxControl( parent, id, atts );
+ else
+ i = new KXSBoolItem( id, atts );
+ } else if ( qName == "string" ) {
+ if ( parent )
+ i = new KXSLineEditControl( parent, id, atts );
+ else
+ i = new KXSStringItem( id, atts );
+ } else if ( qName == "file" ) {
+ if ( parent )
+ i = new KXSFileControl( parent, id, atts );
+ else
+ i = new KXSStringItem( id, atts );
+ } else if ( qName == "_description" ) {
+ inDesc = true;
+ } else if ( qName == "select" ) {
+ if ( parent )
+ selItem = new KXSDropListControl( parent, id, atts );
+ else
+ selItem = new KXSSelectItem( id, atts );
+ i = selItem;
+ } else if ( qName == "option" && selItem ) {
+ selItem->addOption( atts );
+ } else if ( qName == "hgroup" && parent ) {
+ QHBox *hb = new QHBox( parent );
+ mParentStack.push( hb );
+ parent = hb;
+ } else if ( qName == "vgroup" && parent ) {
+ QVBox *vb = new QVBox( parent );
+ mParentStack.push( vb );
+ parent = vb;
+ }
+
+ if ( i )
+ mConfigItemList.append( i );
+
+ return true;
+}
+
+bool KXSXmlHandler::endElement( const QString&, const QString&, const QString &qName )
+{
+ if ( qName == "select" ) {
+ selItem = 0;
+ } else if ( qName == "_description" ) {
+ inDesc = false;
+ } else if ( (qName == "hgroup" || qName == "vgroup") && parent ) {
+ if ( mParentStack.count() > 1 ) {
+ mParentStack.pop();
+ parent = mParentStack.top();
+ }
+ }
+ return true;
+}
+
+bool KXSXmlHandler::characters( const QString &ch )
+{
+ if ( inDesc )
+ desc += ch;
+ return true;
+}
+
diff --git a/kscreensaver/kxsconfig/kxsxml.h b/kscreensaver/kxsconfig/kxsxml.h
new file mode 100644
index 00000000..922ad93e
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsxml.h
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 2002
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef KXSXML_H
+#define KXSXML_H
+
+#include "kxsconfig.h"
+#include <qxml.h>
+#include <qptrstack.h>
+
+class KXSXmlHandler;
+
+class KXSXml
+{
+public:
+ KXSXml( QWidget *p );
+
+ bool parse( const QString &filename );
+ const QPtrList<KXSConfigItem> *items() const;
+ QString description() const;
+
+private:
+ QWidget *parent;
+ KXSXmlHandler *handler;
+};
+
+class KXSXmlHandler : public QXmlDefaultHandler
+{
+public:
+ KXSXmlHandler( QWidget *p );
+
+ bool startDocument();
+ bool startElement( const QString&, const QString&, const QString& ,
+ const QXmlAttributes& );
+ bool endElement( const QString&, const QString&, const QString& );
+ bool characters( const QString & );
+
+ const QPtrList<KXSConfigItem> *items() const { return &mConfigItemList; }
+ const QString &description() const { return desc; }
+
+private:
+ QWidget *parent;
+ KXSSelectItem *selItem;
+ bool inDesc;
+ QString desc;
+ QPtrList<KXSConfigItem> mConfigItemList;
+ QPtrStack<QWidget> mParentStack;
+};
+
+#endif // KXSXML_H
+
diff --git a/kscreensaver/xsavers/KSpace.desktop b/kscreensaver/xsavers/KSpace.desktop
new file mode 100644
index 00000000..820a86c8
--- /dev/null
+++ b/kscreensaver/xsavers/KSpace.desktop
@@ -0,0 +1,250 @@
+[Desktop Entry]
+Exec=kspace.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=OpenGL Screen Savers
+X-KDE-Type=OpenGL
+Name=Space (GL)
+Name[af]=Spasie (Gl)
+Name[bg]=Космос (GL)
+Name[br]=Egor (GL)
+Name[ca]=Espai (GL)
+Name[cs]=Vesmír (GL)
+Name[cy]=Gofod (GL)
+Name[da]=Rum (GL)
+Name[de]=Weltraum
+Name[el]=Διάστημα (GL)
+Name[es]=Espacio (GL)
+Name[et]=Kosmos (GL)
+Name[eu]=Espazioa (GL)
+Name[fa]=فاصله (GL)
+Name[fi]=Avaruus (GL)
+Name[fo]=Rúmd (GL)
+Name[fr]=Espace (GL)
+Name[fy]=Romte (GL)
+Name[gl]=Espazo (GL)
+Name[he]=חלל (GL)
+Name[hi]=अंतरिक्ष (जीएल)
+Name[hu]=Világűr (OpenGL)
+Name[is]=Geimur (GL)
+Name[it]=Spazio (GL)
+Name[ja]=宇宙 (GL)
+Name[ka]=კოსმოსი (GL)
+Name[lt]=Visata (GL)
+Name[lv]=Kosmoss (GL)
+Name[mk]=Вселена (GL)
+Name[mt]=Spazju (GL)
+Name[nb]=Rommet (GL)
+Name[nds]=Weltruum (GL)
+Name[ne]=खाली ठाउँ (GL)
+Name[nl]=Ruimte (GL)
+Name[nn]=Rom (GL)
+Name[pl]=Przestrzeń (GL)
+Name[pt]=Espaço (GL)
+Name[pt_BR]=Espaço (GL)
+Name[ro]=Spaţiu (GL)
+Name[ru]=Космос (GL)
+Name[sk]=Vesmír (GL)
+Name[sl]=Vesolje (GL)
+Name[sr]=Свемир (GL)
+Name[sr@Latn]=Svemir (GL)
+Name[sv]=Rymden (GL)
+Name[ta]=வெற்று(GL)
+Name[tg]=Кайҳон (GL)
+Name[th]=อวกาศ (GL)
+Name[tr]=Uzay (GL)
+Name[uk]=Всесвіт (GL)
+Name[uz]=Koinot (GL)
+Name[uz@cyrillic]=Коинот (GL)
+Name[ven]=Tshikhala (GL)
+Name[vi]=Vũ trụ (GL)
+Name[xh]=Isithuba (GL)
+Name[zh_CN]=星际空间(GL)
+Name[zh_TW]=太空 (GL)
+Name[zu]=Isikhala (GL)
+
+[Desktop Action Setup]
+Exec=kspace.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kspace.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kspace.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/xsavers/KSwarm.desktop b/kscreensaver/xsavers/KSwarm.desktop
new file mode 100644
index 00000000..ba852ef5
--- /dev/null
+++ b/kscreensaver/xsavers/KSwarm.desktop
@@ -0,0 +1,245 @@
+[Desktop Entry]
+Exec=kswarm.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Flying Things
+Name=Swarm
+Name[af]=Swerm
+Name[bg]=Рояк
+Name[br]=Hed-gwenan
+Name[bs]=Roj
+Name[ca]=Eixam
+Name[cs]=Roj
+Name[cy]=Haid
+Name[da]=Sværm
+Name[de]=Schwarm
+Name[el]=Σμήνος
+Name[es]=Enjambre
+Name[et]=Sülem
+Name[eu]=Erlekumea
+Name[fa]=ازدحام
+Name[fi]=Hyönteiset
+Name[fr]=Fourmillement
+Name[fy]=Swaarm
+Name[gl]=Enxame
+Name[he]=נחיל דבורים
+Name[hi]=मत्स्य गुच्छ
+Name[hu]=Méhraj
+Name[is]=Sveimur
+Name[it]=Sciame
+Name[ja]=スワーム
+Name[ka]=ფუტკრის ნაყარი
+Name[lt]=Spiečius
+Name[lv]=Spiets
+Name[mk]=Рој
+Name[ms]=Paya
+Name[mt]=Ferħ naħal
+Name[nb]=Sverm
+Name[ne]=स्वार्म
+Name[nl]=Zwermen
+Name[nn]=Sverm
+Name[pl]=Rój
+Name[pt]=Enxame
+Name[pt_BR]=Enxame
+Name[ro]=Roi
+Name[ru]=Пчелиный рой
+Name[sl]=Roj
+Name[sr]=Рој
+Name[sr@Latn]=Roj
+Name[sv]=Svärm
+Name[ta]=புயல்
+Name[tg]=Оилаи занбурони асал
+Name[th]=หนอนผึ้ง
+Name[tr]=Sürü
+Name[uk]=Рій
+Name[ven]=Gogo
+Name[vi]=Bầy ong
+Name[xh]=Unyuko usebenzisa imilenze neengalo
+Name[zh_CN]=蜂群
+Name[zh_TW]=蜂群
+
+[Desktop Action Setup]
+Exec=kswarm.kss -setup
+Name=Setup...
+Name[af]=Opstelling...
+Name[bg]=Настройки...
+Name[br]=Kefluniadur ...
+Name[bs]=Postavke...
+Name[ca]=Arranjament...
+Name[cs]=Nastavení...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[eo]=Agordo...
+Name[es]=Configuración...
+Name[et]=Seadistamine...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fi]=Asetukset...
+Name[fo]=Uppseting...
+Name[fr]=Configuration...
+Name[fy]=Opset...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[he]=הגדרות...
+Name[hi]=सेटअप...
+Name[hu]=Beállítás...
+Name[is]=Stillingar...
+Name[it]=Impostazioni...
+Name[ja]=設定...
+Name[ka]=გამართვა...
+Name[lt]=Sąranka ...
+Name[lv]=Uzstādīšana...
+Name[mk]=Поставување...
+Name[ms]=Setkan...
+Name[mt]=Konfigurazzjoni...
+Name[nb]=Innstillinger …
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellingen...
+Name[nn]=Oppsett …
+Name[nso]=Beakanya...
+Name[pa]=ਸੈਟਅੱਪ...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ro]=Setează...
+Name[ru]=Настройка...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Подеси...
+Name[sr@Latn]=Podesi...
+Name[sv]=Inställningar...
+Name[ta]=அமைப்பு...
+Name[tg]=Барпосозӣ...
+Name[th]=ติดตั้ง...
+Name[tr]=Kurulum...
+Name[uk]=Встановити...
+Name[uz]=Oʻrnatish
+Name[uz@cyrillic]=Ўрнатиш
+Name[ven]=Vhekanya...
+Name[vi]=Thiết lập...
+Name[xh]=Iyacwangciswa...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Name[zu]=Iyalungiselela...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=kswarm.kss -window-id %w
+Name=Display in Specified Window
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Visning i angivet vindue
+Name[de]=In bestimmten Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montri en indikita fenestro
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Määratud aknas näitamine
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[fy]=Werjefte yn in definiearre finster
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na fiestra indicada
+Name[he]=הצג בחלון המצוין
+Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[ka]=ჩვენება მითითებულ ფანჯარაში
+Name[lt]=Rodyti nurodytame lange
+Name[mk]=Прикажи во наведениот прозорец
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nb]=Vis i angitt vindu
+Name[nds]=In utsöcht Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in een opgegeven venster
+Name[nn]=Vis i oppgjeve vindauge
+Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Показывать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[ta]=குறித்த சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи нишондода намоиш намоед
+Name[tr]=Belirtilen Pencerede Göster
+Name[uk]=Відобразити у вказаному вікні
+Name[vi]=Hiển thị trong Cửa sổ Đã định
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=kswarm.kss -root
+Name=Display in Root Window
+Name[bg]=Стартиране в главния прозорец
+Name[br]=Diskwel er prenestr gwrizienn
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montri en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[eu]=Bistaratu erro lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fi]=Näytä juuri-ikkunassa
+Name[fr]=Affichage dans la fenêtre racine
+Name[fy]=Werjefte yn haadfinster
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na fiestra raiz
+Name[he]=הצג בחלון השורש
+Name[hi]=रूट विंडो में प्रदर्शित करें
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í rótarglugganum
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[ka]=ჩვენება ძირითად ფანჯარაში
+Name[lt]=Rodyti root lange
+Name[mk]=Прикажи во коренскиот прозорец
+Name[ms]=Papar dalam Tetingkap Root
+Name[nb]=Vis i root-vindu
+Name[nds]=In Hööftfinster wiesen
+Name[ne]=मूल सञ्झ्यालमा प्रदर्शन
+Name[nl]=Weergeven in hoofdvenster
+Name[nn]=Vis i rotvindauget
+Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ
+Name[pl]=Wyświetl w oknie głównym
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Mostrar na janela raiz
+Name[ro]=Afişează în fereastra rădăcină
+Name[ru]=Показывать в корневом окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sr@Latn]=Prikaži u glavnom (root) prozoru
+Name[sv]=Visa i rotfönstret
+Name[ta]=ஆரம்ப சாளரத்தில் காட்டு
+Name[tg]=Дар тирезаи решагӣ намоиш намоед
+Name[tr]=Kök Pencerede Göster
+Name[uk]=Відобразити в кореневому вікні
+Name[vi]=Hiển thị trong Cửa sổ Gốc
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+NoDisplay=true
diff --git a/kscreensaver/xsavers/Makefile.am b/kscreensaver/xsavers/Makefile.am
new file mode 100644
index 00000000..0d9effa4
--- /dev/null
+++ b/kscreensaver/xsavers/Makefile.am
@@ -0,0 +1,36 @@
+AM_CPPFLAGS = -UQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE
+
+INCLUDES = $(all_includes) $(GLINC)
+AM_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+
+if COMPILE_GL_XSAVERS
+GL_XSAVERS=kspace.kss
+endif
+
+bin_PROGRAMS = kswarm.kss $(GL_XSAVERS)
+
+BASE_SRCS = main.cpp demowin.cpp saver.cpp helpers.cpp
+
+XS_SRCS = xs_colors.c xs_hsv.c xs_visual.c
+XL_SRCS = xlock.cpp
+
+kswarm_kss_SOURCES = swarm.cpp $(BASE_SRCS) $(XL_SRCS)
+kswarm_kss_LDADD = $(LIB_KDEUI) -lm
+
+kspace_kss_SOURCES = space.cpp $(BASE_SRCS) $(XL_SRCS)
+kspace_kss_LDADD = $(LIB_KDEUI) $(GLLIB) -lm
+
+METASOURCES = AUTO
+
+noinst_HEADERS = saver.h demowin.h xlock.h swarm.h space.h \
+ xlockmore.h mode.h helpers.h \
+ xs_colors.h xs_hsv.h xs_yarandom.h xs_utils.h \
+ xs_visual.h
+
+########## Meta objects ##########
+
+desktop_DATA = KSpace.desktop KSwarm.desktop
+desktopdir = $(kde_appsdir)/System/ScreenSavers
+
+EXTRA_DIST = $(desktop_DATA)
+
diff --git a/kscreensaver/xsavers/demowin.cpp b/kscreensaver/xsavers/demowin.cpp
new file mode 100644
index 00000000..893885be
--- /dev/null
+++ b/kscreensaver/xsavers/demowin.cpp
@@ -0,0 +1,11 @@
+//-----------------------------------------------------------------------------
+//
+// Screen savers for KDE
+//
+// Copyright (c) Martin R. Jones 1999
+//
+
+#include "demowin.h"
+#include "demowin.moc"
+
+
diff --git a/kscreensaver/xsavers/demowin.h b/kscreensaver/xsavers/demowin.h
new file mode 100644
index 00000000..327b61dc
--- /dev/null
+++ b/kscreensaver/xsavers/demowin.h
@@ -0,0 +1,44 @@
+//-----------------------------------------------------------------------------
+//
+// Screen savers for KDE
+//
+// Copyright (c) Martin R. Jones 1999
+//
+
+#ifndef __DEMOWIN_H__
+#define __DEMOWIN_H__
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <kapplication.h>
+
+//----------------------------------------------------------------------------
+
+class DemoWindow : public QWidget
+{
+ Q_OBJECT
+public:
+ DemoWindow() : QWidget()
+ {
+ setFixedSize(600, 420);
+ }
+
+protected:
+ virtual void keyPressEvent(QKeyEvent *e)
+ {
+ if (e->ascii() == 'q')
+ {
+ kapp->quit();
+ }
+ }
+};
+
+#endif
+
diff --git a/kscreensaver/xsavers/helpers.cpp b/kscreensaver/xsavers/helpers.cpp
new file mode 100644
index 00000000..1ba67925
--- /dev/null
+++ b/kscreensaver/xsavers/helpers.cpp
@@ -0,0 +1,38 @@
+#include "helpers.h"
+
+#include <kapplication.h>
+
+void min_width(QWidget *w) {
+ w->setMinimumWidth(w->sizeHint().width());
+}
+
+void fixed_width(QWidget *w) {
+ w->setFixedWidth(w->sizeHint().width());
+}
+
+void min_height(QWidget *w) {
+ w->setMinimumHeight(w->sizeHint().height());
+}
+
+void fixed_height(QWidget *w) {
+ w->setFixedHeight(w->sizeHint().height());
+}
+
+void min_size(QWidget *w) {
+ w->setMinimumSize(w->sizeHint());
+}
+
+void fixed_size(QWidget *w) {
+ w->setFixedSize(w->sizeHint());
+}
+
+KConfig *klock_config()
+{
+ QString name( kapp->argv()[0] );
+ int slash = name.findRev( '/' );
+ if ( slash )
+ name = name.mid( slash+1 );
+
+ return new KConfig( name + "rc" );
+}
+
diff --git a/kscreensaver/xsavers/helpers.h b/kscreensaver/xsavers/helpers.h
new file mode 100644
index 00000000..948c86ef
--- /dev/null
+++ b/kscreensaver/xsavers/helpers.h
@@ -0,0 +1,23 @@
+#ifndef __HELPERS__H__
+#define __HELPERS__H__
+
+#include <qwidget.h>
+#include <kconfig.h>
+
+void min_width(QWidget *);
+void fixed_width(QWidget *);
+void min_height(QWidget *);
+void fixed_height(QWidget *);
+void min_size(QWidget *);
+void fixed_size(QWidget *);
+
+/*
+ * Use this to get a KConfig object that uses a reasonable config filename.
+ * KGlobal::config() will use the klockrc config file.
+ *
+ * Caller must delete the object when finished.
+ */
+KConfig *klock_config();
+
+#endif
+
diff --git a/kscreensaver/xsavers/main.cpp b/kscreensaver/xsavers/main.cpp
new file mode 100644
index 00000000..b264b8f5
--- /dev/null
+++ b/kscreensaver/xsavers/main.cpp
@@ -0,0 +1,108 @@
+//-----------------------------------------------------------------------------
+//
+// Screen savers for KDE
+//
+// Copyright (c) Martin R. Jones 1999
+//
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+
+#include <qcolor.h>
+
+#include <klocale.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kcrash.h>
+
+#include "demowin.h"
+#include "saver.h"
+
+static const char appName[] = "klock";
+static const char description[] = I18N_NOOP("KDE Screen Lock/Saver");
+static const char version[] = "2.0.0";
+
+static const KCmdLineOptions options[] =
+{
+ { "setup", I18N_NOOP("Setup screen saver"), 0 },
+ { "window-id wid", I18N_NOOP("Run in the specified XWindow"), 0 },
+ { "root", I18N_NOOP("Run in the root XWindow"), 0 },
+ { "demo", I18N_NOOP("Start screen saver in demo mode"), "default"},
+ KCmdLineLastOption
+};
+
+static void crashHandler( int /*sig*/ )
+{
+#ifdef SIGABRT
+ signal ( SIGABRT, SIG_DFL );
+#endif
+ abort();
+}
+
+//----------------------------------------------------------------------------
+
+int main(int argc, char *argv[])
+{
+ KCmdLineArgs::init(argc, argv, appName, I18N_NOOP("KLock"), description, version);
+
+ KCmdLineArgs::addCmdLineOptions(options);
+
+ KApplication app;
+
+ KCrash::setCrashHandler( crashHandler );
+
+ DemoWindow *demoWidget = 0;
+ Window saveWin = 0;
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+
+ if (args->isSet("setup"))
+ {
+ setupScreenSaver();
+ exit(0);
+ }
+
+ if (args->isSet("window-id"))
+ {
+ saveWin = atol(args->getOption("window-id"));
+ }
+
+ if (args->isSet("root"))
+ {
+ saveWin = QApplication::desktop()->handle();
+ }
+
+ if (args->isSet("demo"))
+ {
+ saveWin = 0;
+ }
+
+ if (saveWin == 0)
+ {
+ demoWidget = new DemoWindow();
+ demoWidget->setBackgroundMode(QWidget::NoBackground);
+// demoWidget->setBackgroundColor(Qt::black);
+ demoWidget->show();
+ saveWin = demoWidget->winId();
+ app.setMainWidget(demoWidget);
+ app.processEvents();
+ }
+
+ startScreenSaver(saveWin);
+ app.exec();
+ stopScreenSaver();
+
+ if (demoWidget)
+ {
+ delete demoWidget;
+ }
+
+ return 0;
+}
+
diff --git a/kscreensaver/xsavers/mode.h b/kscreensaver/xsavers/mode.h
new file mode 100644
index 00000000..c2bc7f1d
--- /dev/null
+++ b/kscreensaver/xsavers/mode.h
@@ -0,0 +1,692 @@
+
+#ifndef __XLOCK_MODE_H__
+#define __XLOCK_MODE_H__
+
+/*-
+ * @(#)mode.h 4.00 97/01/01 xlockmore
+ *
+ * mode.h - mode management for xlock, the X Window System lockscreen.
+ *
+ * Copyright (c) 1991 by Patrick J. Naughton.
+ *
+ * See xlock.c for copying information.
+ *
+ * Revision History:
+ *
+ * Changes of David Bagley (bagleyd@bigfoot.com)
+ * 18-Mar-96: Ron Hitchens <ron@idiom.com>
+ * Extensive revision to define new data types for
+ * the new mode calling scheme.
+ * 02-Jun-95: Extracted out of resource.c.
+ *
+ */
+
+/*
+ * Declare external interface routines for supported screen savers.
+ */
+
+/* -------------------------------------------------------------------- */
+
+struct LockStruct_s;
+struct ModeInfo_s;
+
+typedef void (ModeHook) (struct ModeInfo_s *);
+typedef void (HookProc) (struct LockStruct_s *, struct ModeInfo_s *);
+
+typedef struct LockStruct_s {
+ char *cmdline_arg; /* mode name */
+ ModeHook *init_hook; /* func to init a mode */
+ ModeHook *callback_hook; /* func to run (tick) a mode */
+ ModeHook *release_hook; /* func to shutdown a mode */
+ ModeHook *refresh_hook; /* tells mode to repaint */
+ ModeHook *change_hook; /* user wants mode to change */
+ ModeHook *unused_hook; /* for future expansion */
+ ModeSpecOpt *msopt; /* this mode's def resources */
+ int def_delay; /* default delay for mode */
+ int def_batchcount;
+ int def_cycles;
+ int def_size;
+ float def_saturation;
+ char *desc; /* text description of mode */
+ unsigned int flags; /* state flags for this mode */
+ void *userdata; /* for use by the mode */
+} LockStruct;
+
+#define LS_FLAG_INITED 1
+
+typedef struct {
+ Display *display; /* handle to X display */
+ Screen *screenptr; /* ptr to screen info */
+ int screen; /* number of current screen */
+ int real_screen; /* for debugging */
+ int num_screens; /* number screens locked */
+ int max_screens; /* max # active screens */
+ Window window; /* handle to current window */
+ int win_width; /* width of current window */
+ int win_height; /* height of current window */
+ int win_depth; /* depth of current window */
+ Visual *visual; /* visual of current window */
+ Colormap colormap; /* default colormap of current window */
+ unsigned long black_pixel; /* pixel value for black */
+ unsigned long white_pixel; /* pixel value for white */
+ unsigned int flags; /* xlock window flags */
+ float delta3d;
+} WindowInfo;
+
+#define WI_FLAG_INFO_INITTED 0x001 /* private state flag */
+#define WI_FLAG_ICONIC 0x002
+#define WI_FLAG_MONO 0x004
+#define WI_FLAG_INWINDOW 0x008
+#define WI_FLAG_INROOT 0x010
+#define WI_FLAG_NOLOCK 0x020
+#define WI_FLAG_INSTALL 0x040
+#define WI_FLAG_DEBUG 0x080
+#define WI_FLAG_USE3D 0x100
+#define WI_FLAG_VERBOSE 0x200
+#define WI_FLAG_FULLRANDOM 0x400
+#define WI_FLAG_WIREFRAME 0x800
+#define WI_FLAG_JUST_INITTED 0x1000 /* private state flag */
+
+typedef struct {
+ long pause; /* output, set by mode */
+ long delay; /* inputs, current settings */
+ long batchcount;
+ long cycles;
+ long size;
+ float saturation;
+} RunInfo;
+
+typedef struct ModeInfo_s {
+ WindowInfo windowinfo;
+ perscreen *screeninfo;
+ RunInfo runinfo;
+ struct LockStruct_s *lockstruct;
+} ModeInfo;
+
+/* -------------------------------------------------------------------- */
+
+/*
+ * These are the public interfaces that a mode should use to obtain
+ * information about the display and other environmental parameters.
+ * Everything hangs off a ModeInfo pointer. A mode should NOT cache
+ * a ModeInfo pointer, the struct it points to is volatile. The mode
+ * can safely make a copy of the data it points to, however. But it
+ * is recommended the mode make use of the passed-in pointer and pass
+ * it along to functions it calls.
+ * Use these macros, don't look at the fields directly. The insides
+ * of the ModeInfo struct are certain to change in the future.
+ */
+
+#define MODE_IS_INITED(ls) ((ls)->flags & LS_FLAG_INITED)
+#define MODE_NOT_INITED(ls) ( ! MODE_IS_INITED(ls))
+
+#define MI_DISPLAY(mi) ((mi)->windowinfo.display)
+#define MI_SCREEN(mi) ((mi)->windowinfo.screen)
+#define MI_SCREENPTR(mi) ((mi)->windowinfo.screenptr)
+#define MI_REAL_SCREEN(mi) ((mi)->windowinfo.real_screen)
+#define MI_NUM_SCREENS(mi) ((mi)->windowinfo.num_screens)
+#define MI_MAX_SCREENS(mi) ((mi)->windowinfo.max_screens)
+#define MI_WINDOW(mi) ((mi)->windowinfo.window)
+#define MI_WIN_WIDTH(mi) ((mi)->windowinfo.win_width)
+#define MI_WIN_HEIGHT(mi) ((mi)->windowinfo.win_height)
+#define MI_WIN_DEPTH(mi) ((mi)->windowinfo.win_depth)
+#define MI_VISUAL(mi) ((mi)->windowinfo.visual)
+#define MI_COLORMAP(mi) ((mi)->windowinfo.colormap)
+#define MI_WIN_BLACK_PIXEL(mi) ((mi)->windowinfo.black_pixel)
+#define MI_WIN_WHITE_PIXEL(mi) ((mi)->windowinfo.white_pixel)
+#define MI_DELTA3D(mi) ((mi)->windowinfo.delta3d)
+#define MI_WIN_FLAGS(mi) ((mi)->windowinfo.flags)
+#define MI_WIN_SET_FLAG_STATE(mi,f,bool) ((mi)->windowinfo.flags = \
+ (bool) ? (mi)->windowinfo.flags | f \
+ : (mi)->windowinfo.flags & ~(f))
+#define MI_WIN_FLAG_IS_SET(mi,f) ((mi)->windowinfo.flags & f)
+#define MI_WIN_FLAG_NOT_SET(mi,f) ( ! MI_WIN_FLAG_IS_SET(mi,f))
+#define MI_WIN_IS_ICONIC(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_ICONIC))
+#define MI_WIN_IS_MONO(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_MONO))
+#define MI_WIN_IS_INWINDOW(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INWINDOW))
+#define MI_WIN_IS_INROOT(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INROOT))
+#define MI_WIN_IS_NOLOCK(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_NOLOCK))
+#define MI_WIN_IS_INSTALL(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INSTALL))
+#define MI_WIN_IS_DEBUG(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_DEBUG))
+#define MI_WIN_IS_USE3D(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_USE3D))
+#define MI_WIN_IS_VERBOSE(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_VERBOSE))
+#define MI_WIN_IS_FULLRANDOM(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_FULLRANDOM))
+#define MI_WIN_IS_WIREFRAME(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_WIREFRAME))
+
+#define MI_PERSCREEN(mi) ((mi)->screeninfo)
+#define MI_GC(mi) ((mi)->screeninfo->gc)
+#define MI_NPIXELS(mi) ((mi)->screeninfo->npixels)
+#define MI_CMAP(mi) ((mi)->screeninfo->cmap)
+#define MI_PIXELS(mi) ((mi)->screeninfo->pixels)
+#define MI_PIXEL(mi,n) ((mi)->screeninfo->pixels[n])
+
+/* are these of interest to modes? */
+#define MI_BG_COLOR(mi) ((mi)->screeninfo->bgcol)
+#define MI_FG_COLOR(mi) ((mi)->screeninfo->fgcol)
+#define MI_NONE_COLOR(mi) ((mi)->screeninfo->nonecol) /* -install */
+#define MI_RIGHT_COLOR(mi) ((mi)->screeninfo->rightcol)
+#define MI_LEFT_COLOR(mi) ((mi)->screeninfo->leftcol)
+
+#define MI_PAUSE(mi) ((mi)->runinfo.pause)
+#define MI_DELAY(mi) ((mi)->runinfo.delay)
+#define MI_BATCHCOUNT(mi) ((mi)->runinfo.batchcount)
+#define MI_CYCLES(mi) ((mi)->runinfo.cycles)
+#define MI_SIZE(mi) ((mi)->runinfo.size)
+#define MI_SATURATION(mi) ((mi)->runinfo.saturation)
+
+#define MI_LOCKSTRUCT(mi) ((mi)->lockstruct)
+#define MI_DEFDELAY(mi) ((mi)->lockstruct->def_delay)
+#define MI_DEFBATCHCOUNT(mi) ((mi)->lockstruct->def_batchcount)
+#define MI_DEFCYCLES(mi) ((mi)->lockstruct->def_cycles)
+#define MI_DEFSIZE(mi) ((mi)->lockstruct->def_size)
+#define MI_DEFSATURATION(mi) ((mi)->lockstruct->def_saturation)
+
+#define MI_NAME(mi) ((mi)->lockstruct->cmdline_arg)
+#define MI_DESC(mi) ((mi)->lockstruct->desc)
+#define MI_USERDATA(mi) ((mi)->lockstruct->userdata)
+
+/* -------------------------------------------------------------------- */
+
+extern HookProc call_init_hook;
+extern HookProc call_callback_hook;
+extern HookProc call_release_hook;
+extern HookProc call_refresh_hook;
+extern HookProc call_change_hook;
+
+extern void set_default_mode(LockStruct *);
+extern void release_last_mode(ModeInfo *);
+
+/* -------------------------------------------------------------------- */
+
+extern ModeHook init_ant;
+extern ModeHook draw_ant;
+extern ModeHook release_ant;
+extern ModeHook refresh_ant;
+extern ModeSpecOpt ant_opts;
+
+extern ModeHook init_ball;
+extern ModeHook draw_ball;
+extern ModeHook release_ball;
+extern ModeHook refresh_ball;
+extern ModeSpecOpt ball_opts;
+
+extern ModeHook init_bat;
+extern ModeHook draw_bat;
+extern ModeHook release_bat;
+extern ModeHook refresh_bat;
+extern ModeSpecOpt bat_opts;
+
+extern ModeHook init_blot;
+extern ModeHook draw_blot;
+extern ModeHook release_blot;
+extern ModeHook refresh_blot;
+extern ModeSpecOpt blot_opts;
+
+extern ModeHook init_bouboule;
+extern ModeHook draw_bouboule;
+extern ModeHook release_bouboule;
+extern ModeHook refresh_bouboule;
+extern ModeSpecOpt bouboule_opts;
+
+extern ModeHook init_bounce;
+extern ModeHook draw_bounce;
+extern ModeHook release_bounce;
+extern ModeHook refresh_bounce;
+extern ModeSpecOpt bounce_opts;
+
+extern ModeHook init_braid;
+extern ModeHook draw_braid;
+extern ModeHook release_braid;
+extern ModeHook refresh_braid;
+extern ModeSpecOpt braid_opts;
+
+extern ModeHook init_bug;
+extern ModeHook draw_bug;
+extern ModeHook release_bug;
+extern ModeHook refresh_bug;
+extern ModeSpecOpt bug_opts;
+
+extern ModeHook init_clock;
+extern ModeHook draw_clock;
+extern ModeHook release_clock;
+extern ModeHook refresh_clock;
+extern ModeSpecOpt clock_opts;
+
+extern ModeHook init_daisy;
+extern ModeHook draw_daisy;
+extern ModeHook release_daisy;
+extern ModeHook refresh_daisy;
+extern ModeSpecOpt daisy_opts;
+
+extern ModeHook init_dclock;
+extern ModeHook draw_dclock;
+extern ModeHook release_dclock;
+extern ModeHook refresh_dclock;
+extern ModeSpecOpt dclock_opts;
+
+extern ModeHook init_demon;
+extern ModeHook draw_demon;
+extern ModeHook release_demon;
+extern ModeHook refresh_demon;
+extern ModeSpecOpt demon_opts;
+
+extern ModeHook init_drift;
+extern ModeHook draw_drift;
+extern ModeHook release_drift;
+extern ModeHook refresh_drift;
+extern ModeSpecOpt drift_opts;
+
+extern ModeHook init_eyes;
+extern ModeHook draw_eyes;
+extern ModeHook release_eyes;
+extern ModeHook refresh_eyes;
+extern ModeSpecOpt eyes_opts;
+
+extern ModeHook init_flag;
+extern ModeHook draw_flag;
+extern ModeHook release_flag;
+extern ModeHook refresh_flag;
+extern ModeSpecOpt flag_opts;
+
+extern ModeHook init_flame;
+extern ModeHook draw_flame;
+extern ModeHook release_flame;
+extern ModeHook refresh_flame;
+extern ModeSpecOpt flame_opts;
+
+extern ModeHook init_forest;
+extern ModeHook draw_forest;
+extern ModeHook release_forest;
+extern ModeHook refresh_forest;
+extern ModeHook refresh_forest;
+extern ModeSpecOpt forest_opts;
+
+extern ModeHook init_fract;
+extern ModeHook draw_fract;
+extern ModeHook release_fract;
+extern ModeHook refresh_fract;
+extern ModeSpecOpt fract_opts;
+
+extern ModeHook init_galaxy;
+extern ModeHook draw_galaxy;
+extern ModeHook release_galaxy;
+extern ModeHook refresh_galaxy;
+extern ModeSpecOpt galaxy_opts;
+
+extern ModeHook init_geometry;
+extern ModeHook draw_geometry;
+extern ModeHook release_geometry;
+extern ModeHook refresh_geometry;
+extern ModeSpecOpt geometry_opts;
+
+extern ModeHook init_grav;
+extern ModeHook draw_grav;
+extern ModeHook release_grav;
+extern ModeHook refresh_grav;
+extern ModeSpecOpt grav_opts;
+
+extern ModeHook init_helix;
+extern ModeHook draw_helix;
+extern ModeHook release_helix;
+extern ModeHook refresh_helix;
+extern ModeSpecOpt helix_opts;
+
+extern ModeHook init_hop;
+extern ModeHook draw_hop;
+extern ModeHook release_hop;
+extern ModeHook refresh_hop;
+extern ModeSpecOpt hop_opts;
+
+extern ModeHook init_hyper;
+extern ModeHook draw_hyper;
+extern ModeHook release_hyper;
+extern ModeHook refresh_hyper;
+extern ModeSpecOpt hyper_opts;
+
+extern ModeHook init_ico;
+extern ModeHook draw_ico;
+extern ModeHook release_ico;
+extern ModeHook refresh_ico;
+extern ModeHook change_ico;
+extern ModeSpecOpt ico_opts;
+
+extern ModeHook init_ifs;
+extern ModeHook draw_ifs;
+extern ModeHook release_ifs;
+extern ModeSpecOpt ifs_opts;
+
+extern ModeHook init_image;
+extern ModeHook draw_image;
+extern ModeHook release_image;
+extern ModeHook refresh_image;
+extern ModeSpecOpt image_opts;
+
+extern ModeHook init_julia;
+extern ModeHook draw_julia;
+extern ModeHook release_julia;
+extern ModeHook refresh_julia;
+extern ModeSpecOpt julia_opts;
+
+extern ModeHook init_kaleid;
+extern ModeHook draw_kaleid;
+extern ModeHook release_kaleid;
+extern ModeHook refresh_kaleid;
+extern ModeSpecOpt kaleid_opts;
+
+extern ModeHook init_laser;
+extern ModeHook draw_laser;
+extern ModeHook release_laser;
+extern ModeHook refresh_laser;
+extern ModeSpecOpt laser_opts;
+
+extern ModeHook init_life;
+extern ModeHook draw_life;
+extern ModeHook release_life;
+extern ModeHook refresh_life;
+extern ModeHook change_life;
+extern ModeSpecOpt life_opts;
+
+extern ModeHook init_life1d;
+extern ModeHook draw_life1d;
+extern ModeHook release_life1d;
+extern ModeHook refresh_life1d;
+extern ModeSpecOpt life1d_opts;
+
+extern ModeHook init_life3d;
+extern ModeHook draw_life3d;
+extern ModeHook release_life3d;
+extern ModeHook refresh_life3d;
+extern ModeHook change_life3d;
+extern ModeSpecOpt life3d_opts;
+
+extern ModeHook init_lightning;
+extern ModeHook draw_lightning;
+extern ModeHook release_lightning;
+extern ModeHook refresh_lightning;
+extern ModeSpecOpt lightning_opts;
+
+extern ModeHook init_lisa;
+extern ModeHook draw_lisa;
+extern ModeHook release_lisa;
+extern ModeHook refresh_lisa;
+extern ModeHook change_lisa;
+extern ModeSpecOpt lisa_opts;
+
+extern ModeHook init_lissie;
+extern ModeHook draw_lissie;
+extern ModeHook release_lissie;
+extern ModeHook refresh_lissie;
+extern ModeSpecOpt lissie_opts;
+
+extern ModeHook init_loop;
+extern ModeHook draw_loop;
+extern ModeHook release_loop;
+extern ModeHook refresh_loop;
+extern ModeSpecOpt loop_opts;
+
+extern ModeHook init_marquee;
+extern ModeHook draw_marquee;
+extern ModeHook release_marquee;
+extern ModeHook refresh_marquee;
+extern ModeSpecOpt marquee_opts;
+
+extern ModeHook init_maze;
+extern ModeHook draw_maze;
+extern ModeHook release_maze;
+extern ModeHook refresh_maze;
+extern ModeSpecOpt maze_opts;
+
+extern ModeHook init_mountain;
+extern ModeHook draw_mountain;
+extern ModeHook release_mountain;
+extern ModeHook refresh_mountain;
+extern ModeSpecOpt mountain_opts;
+
+extern ModeHook init_nose;
+extern ModeHook draw_nose;
+extern ModeHook release_nose;
+extern ModeHook refresh_nose;
+extern ModeSpecOpt nose_opts;
+
+extern ModeHook init_pacman;
+extern ModeHook draw_pacman;
+extern ModeHook release_pacman;
+extern ModeHook refresh_pacman;
+extern ModeSpecOpt pacman_opts;
+
+extern ModeHook init_penrose;
+extern ModeHook draw_penrose;
+extern ModeHook release_penrose;
+
+#if 0
+extern ModeHook refresh_penrose; /* Needed */
+
+#endif
+extern ModeSpecOpt penrose_opts;
+
+extern ModeHook init_petal;
+extern ModeHook draw_petal;
+extern ModeHook release_petal;
+extern ModeHook refresh_petal;
+extern ModeSpecOpt petal_opts;
+
+extern ModeHook init_puzzle;
+extern ModeHook draw_puzzle;
+extern ModeHook release_puzzle;
+
+#if 0
+extern ModeHook refresh_puzzle; /* Needed */
+
+#endif
+extern ModeSpecOpt puzzle_opts;
+
+extern ModeHook init_pyro;
+extern ModeHook draw_pyro;
+extern ModeHook release_pyro;
+extern ModeHook refresh_pyro;
+extern ModeSpecOpt pyro_opts;
+
+extern ModeHook init_qix;
+extern ModeHook draw_qix;
+extern ModeHook release_qix;
+extern ModeHook refresh_qix;
+extern ModeSpecOpt qix_opts;
+
+extern ModeHook init_roll;
+extern ModeHook draw_roll;
+extern ModeHook release_roll;
+extern ModeHook refresh_roll;
+extern ModeSpecOpt roll_opts;
+
+extern ModeHook init_rotor;
+extern ModeHook draw_rotor;
+extern ModeHook release_rotor;
+extern ModeHook refresh_rotor;
+extern ModeSpecOpt rotor_opts;
+
+extern ModeHook init_shape;
+extern ModeHook draw_shape;
+extern ModeHook release_shape;
+extern ModeHook refresh_shape;
+extern ModeSpecOpt shape_opts;
+
+extern ModeHook init_slip;
+extern ModeHook draw_slip;
+extern ModeHook release_slip;
+
+#if 0
+extern ModeHook refresh_slip; /* Probably not practical */
+
+#endif
+extern ModeSpecOpt slip_opts;
+
+extern ModeHook init_sphere;
+extern ModeHook draw_sphere;
+extern ModeHook release_sphere;
+extern ModeHook refresh_sphere;
+extern ModeSpecOpt sphere_opts;
+
+extern ModeHook init_spiral;
+extern ModeHook draw_spiral;
+extern ModeHook release_spiral;
+extern ModeHook refresh_spiral;
+extern ModeSpecOpt spiral_opts;
+
+extern ModeHook init_spline;
+extern ModeHook draw_spline;
+extern ModeHook release_spline;
+extern ModeHook refresh_spline;
+extern ModeSpecOpt spline_opts;
+
+extern ModeHook init_star;
+extern ModeHook draw_star;
+extern ModeHook release_star;
+extern ModeHook refresh_star;
+extern ModeSpecOpt star_opts;
+
+extern ModeHook init_strange;
+extern ModeHook draw_strange;
+extern ModeHook release_strange;
+extern ModeSpecOpt strange_opts;
+
+extern ModeHook init_swarm;
+extern ModeHook draw_swarm;
+extern ModeHook release_swarm;
+extern ModeHook refresh_swarm;
+extern ModeSpecOpt swarm_opts;
+
+extern ModeHook init_swirl;
+extern ModeHook draw_swirl;
+extern ModeHook release_swirl;
+extern ModeHook refresh_swirl;
+extern ModeSpecOpt swirl_opts;
+
+extern ModeHook init_tri;
+extern ModeHook draw_tri;
+extern ModeHook release_tri;
+extern ModeHook refresh_tri;
+extern ModeSpecOpt tri_opts;
+
+extern ModeHook init_triangle;
+extern ModeHook draw_triangle;
+extern ModeHook release_triangle;
+extern ModeHook refresh_triangle;
+extern ModeSpecOpt triangle_opts;
+
+extern ModeHook init_tube;
+extern ModeHook draw_tube;
+extern ModeHook release_tube;
+extern ModeHook refresh_tube;
+extern ModeSpecOpt tube_opts;
+
+extern ModeHook init_turtle;
+extern ModeHook draw_turtle;
+extern ModeHook release_turtle;
+extern ModeHook refresh_turtle;
+extern ModeSpecOpt turtle_opts;
+
+extern ModeHook init_wator;
+extern ModeHook draw_wator;
+extern ModeHook release_wator;
+extern ModeHook refresh_wator;
+extern ModeSpecOpt wator_opts;
+
+extern ModeHook init_wire;
+extern ModeHook draw_wire;
+extern ModeHook release_wire;
+extern ModeHook refresh_wire;
+extern ModeSpecOpt wire_opts;
+
+extern ModeHook init_world;
+extern ModeHook draw_world;
+extern ModeHook release_world;
+extern ModeHook refresh_world;
+extern ModeSpecOpt world_opts;
+
+extern ModeHook init_worm;
+extern ModeHook draw_worm;
+extern ModeHook release_worm;
+extern ModeHook refresh_worm;
+extern ModeSpecOpt worm_opts;
+
+#if defined( USE_XPM ) || defined( USE_XPMINC )
+extern ModeHook init_cartoon;
+extern ModeHook draw_cartoon;
+extern ModeHook release_cartoon;
+extern ModeSpecOpt cartoon_opts;
+
+#endif
+
+#ifdef USE_GL
+extern ModeHook init_gears;
+extern ModeHook draw_gears;
+extern ModeHook release_gears;
+extern ModeSpecOpt gears_opts;
+
+extern ModeHook init_morph3d;
+extern ModeHook draw_morph3d;
+extern ModeHook release_morph3d;
+extern ModeHook change_morph3d;
+extern ModeSpecOpt morph3d_opts;
+
+extern ModeHook init_pipes;
+extern ModeHook draw_pipes;
+extern ModeHook release_pipes;
+extern ModeHook refresh_pipes;
+extern ModeHook change_pipes;
+extern ModeSpecOpt pipes_opts;
+
+extern ModeHook init_superquadrics;
+extern ModeHook draw_superquadrics;
+extern ModeHook release_superquadrics;
+extern ModeHook refresh_superquadrics;
+extern ModeSpecOpt superquadrics_opts;
+
+#ifdef USE_SPROINGIES
+extern ModeHook init_sproingies;
+extern ModeHook draw_sproingies;
+extern ModeHook release_sproingies;
+extern ModeHook refresh_sproingies;
+extern ModeSpecOpt sproingies_opts;
+
+#endif
+#endif
+
+#ifdef USE_HACKERS
+extern ModeHook init_fadeplot;
+extern ModeHook draw_fadeplot;
+extern ModeHook release_fadeplot;
+extern ModeHook refresh_fadeplot;
+extern ModeSpecOpt fadeplot_opts;
+
+#endif
+
+extern ModeHook init_blank;
+extern ModeHook draw_blank;
+extern ModeHook release_blank;
+extern ModeHook refresh_blank;
+extern ModeSpecOpt blank_opts;
+
+#ifdef USE_BOMB
+extern ModeHook init_bomb;
+extern ModeHook draw_bomb;
+extern ModeHook release_bomb;
+extern ModeHook refresh_bomb;
+extern ModeHook change_bomb;
+extern ModeSpecOpt bomb_opts;
+
+#endif
+
+extern ModeHook init_random;
+extern ModeHook draw_random;
+extern ModeHook release_random;
+extern ModeHook refresh_random;
+extern ModeHook change_random;
+extern ModeSpecOpt random_opts;
+
+extern LockStruct LockProcs[];
+extern int numprocs;
+
+/* -------------------------------------------------------------------- */
+
+#endif /* __XLOCK_MODE_H__ */
diff --git a/kscreensaver/xsavers/saver.cpp b/kscreensaver/xsavers/saver.cpp
new file mode 100644
index 00000000..b905d619
--- /dev/null
+++ b/kscreensaver/xsavers/saver.cpp
@@ -0,0 +1,31 @@
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kprocess.h>
+#include <klocale.h>
+#include <kstandarddirs.h>
+#include <X11/Xlib.h>
+
+#include "saver.h"
+#include "saver.moc"
+
+//-----------------------------------------------------------------------------
+kScreenSaver::kScreenSaver(Drawable drawable) : QObject()
+{
+ Window root;
+ int ai;
+ unsigned int au;
+
+ mDrawable = drawable;
+ mGc = XCreateGC(qt_xdisplay(), mDrawable, 0, 0);
+ XGetGeometry(qt_xdisplay(), mDrawable, &root, &ai, &ai,
+ &mWidth, &mHeight, &au, &au);
+}
+
+kScreenSaver::~kScreenSaver()
+{
+ XFreeGC(qt_xdisplay(), mGc);
+}
+
+//-----------------------------------------------------------------------------
+
+
diff --git a/kscreensaver/xsavers/saver.h b/kscreensaver/xsavers/saver.h
new file mode 100644
index 00000000..4f4727d0
--- /dev/null
+++ b/kscreensaver/xsavers/saver.h
@@ -0,0 +1,28 @@
+
+#ifndef __SAVER_H__
+#define __SAVER_H__
+
+#include <qobject.h>
+#include <X11/Xlib.h>
+
+extern void startScreenSaver( Drawable d );
+extern void stopScreenSaver();
+extern int setupScreenSaver();
+
+//-----------------------------------------------------------------------------
+class kScreenSaver : public QObject
+{
+ Q_OBJECT
+public:
+ kScreenSaver( Drawable drawable );
+ virtual ~kScreenSaver();
+
+protected:
+ Drawable mDrawable;
+ GC mGc;
+ unsigned mWidth;
+ unsigned mHeight;
+};
+
+#endif
+
diff --git a/kscreensaver/xsavers/space.cpp b/kscreensaver/xsavers/space.cpp
new file mode 100644
index 00000000..f3650558
--- /dev/null
+++ b/kscreensaver/xsavers/space.cpp
@@ -0,0 +1,735 @@
+/*
+ *
+ * kStart OpenGL screensave for KDE
+ *
+ * $Id$
+ *
+ * Copyright (C) 1998 Bernd Johannes Wuebben
+ * wuebben@math.cornell.edu
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Based on star.c:
+ *
+ * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that (i) the above copyright notices and this permission notice appear in
+ * all copies of the software and related documentation, and (ii) the name of
+ * Silicon Graphics may not be used in any advertising or
+ * publicity relating to the software without the specific, prior written
+ * permission of Silicon Graphics.
+ *
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
+ * ANY KIND,
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
+ * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#define LONG64
+//#define QT_CLEAN_NAMESPACE
+
+#include <qslider.h>
+#include <qlayout.h>
+#include <kglobal.h>
+#include <kconfig.h>
+#include <krandomsequence.h>
+#include <kdebug.h>
+#include "xlock.h"
+#include "helpers.h"
+#ifdef HAVE_CONFIG_H
+#include "../../config.h"
+#endif
+
+#ifdef HAVE_GL
+
+#include <klocale.h>
+
+#undef index
+#include "space.h"
+#include <math.h>
+#include <X11/Intrinsic.h>
+#ifdef HAVE_GL_XMESA_H
+#include <GL/xmesa.h>
+#endif
+#include <GL/gl.h>
+#include <GL/glx.h>
+#ifdef HAVE_GL_GLUT_H
+// We don't need GLUT, but some BROKEN GLU implemenations, such as the one
+// used in SuSE Linux 6.3, do. :(
+#include <GL/glut.h>
+#endif
+#include <GL/glu.h>
+
+#ifndef PI
+#ifdef M_PI
+#define PI M_PI
+#else
+#define PI 3.141592657
+#endif
+#endif
+
+enum {
+ NORMAL = 0,
+ WEIRD = 1
+} flag = NORMAL;
+
+enum {
+ STREAK = 0,
+ CIRCLE = 1
+};
+
+#define MAXSTARS 400
+#define MAXPOS 10000
+#define MAXWARP1 10
+#define MAXANGLES 6000
+
+
+typedef struct _starRec {
+ GLint type;
+ float x[2], y[2], z[2];
+ float offsetX, offsetY, offsetR, rotation;
+} starRec;
+
+
+GLenum doubleBuffer, directRender;
+GLint windW, windH;
+
+GLint starCount = MAXSTARS / 2;
+float speed = 1.0;
+float warpinterval = 30000.0;
+GLint nitro = 0;
+starRec stars[MAXSTARS];
+float sinTable[MAXANGLES];
+
+static GLXContext glx_context;
+static KRandomSequence *rnd = 0;
+
+float Sin(float angle)
+{
+
+ return (sinTable[(GLint)angle]);
+}
+
+float Cos(float angle)
+{
+
+ return (sinTable[((GLint)angle+(MAXANGLES/4))%MAXANGLES]);
+}
+
+void NewStar(GLint n, GLint d)
+{
+
+ if (rnd->getLong(4) == 0) {
+ stars[n].type = CIRCLE;
+ } else {
+ stars[n].type = STREAK;
+ }
+ stars[n].x[0] = rnd->getDouble() * MAXPOS - MAXPOS / 2;
+ stars[n].y[0] = rnd->getDouble() * MAXPOS - MAXPOS / 2;
+ stars[n].z[0] = rnd->getDouble() * MAXPOS + d;
+ if (rnd->getLong(4) == 0 && flag == WEIRD) {
+ stars[n].offsetX = rnd->getDouble()* 100 - 100 / 2;
+ stars[n].offsetY = rnd->getDouble()* 100 - 100 / 2;
+ stars[n].offsetR = rnd->getDouble()* 25 - 25 / 2;
+ } else {
+ stars[n].offsetX = 0.0;
+ stars[n].offsetY = 0.0;
+ stars[n].offsetR = 0.0;
+ }
+}
+
+void RotatePoint(float *x, float *y, float rotation)
+{
+ float tmpX, tmpY;
+
+ tmpX = *x * Cos(rotation) - *y * Sin(rotation);
+ tmpY = *y * Cos(rotation) + *x * Sin(rotation);
+ *x = tmpX;
+ *y = tmpY;
+}
+
+void MoveStars(void)
+{
+ float offset;
+ GLint n;
+
+ offset = speed * 60.0;
+
+ for (n = 0; n < starCount; n++) {
+ stars[n].x[1] = stars[n].x[0];
+ stars[n].y[1] = stars[n].y[0];
+ stars[n].z[1] = stars[n].z[0];
+ stars[n].x[0] += stars[n].offsetX;
+ stars[n].y[0] += stars[n].offsetY;
+ stars[n].z[0] -= offset;
+ stars[n].rotation += stars[n].offsetR;
+ if (stars[n].rotation > MAXANGLES) {
+ stars[n].rotation = 0.0;
+ }
+ }
+}
+
+GLenum StarPoint(GLint n)
+{
+ float x0, y0, x1, y1, width;
+ GLint i;
+
+ x0 = stars[n].x[0] * windW / stars[n].z[0];
+ y0 = stars[n].y[0] * windH / stars[n].z[0];
+ RotatePoint(&x0, &y0, stars[n].rotation);
+ x0 += windW / 2.0;
+ y0 += windH / 2.0;
+
+ if (x0 >= 0.0 && x0 < windW && y0 >= 0.0 && y0 < windH) {
+ if (stars[n].type == STREAK) {
+ x1 = stars[n].x[1] * windW / stars[n].z[1];
+ y1 = stars[n].y[1] * windH / stars[n].z[1];
+ RotatePoint(&x1, &y1, stars[n].rotation);
+ x1 += windW / 2.0;
+ y1 += windH / 2.0;
+
+ glLineWidth(MAXPOS/100.0/stars[n].z[0]+1.0);
+ glColor3f((MAXWARP1-speed)/MAXWARP1, (MAXWARP1-speed)/MAXWARP1, .9);
+ if (fabs(x0-x1) < 1.0 && fabs(y0-y1) < 1.0) {
+ glBegin(GL_POINTS);
+ glVertex2f(x0, y0);
+ glEnd();
+ } else {
+ glBegin(GL_LINES);
+ glVertex2f(x0, y0);
+ glVertex2f(x1, y1);
+ glEnd();
+ }
+ } else {
+ width = MAXPOS / 10.0 / stars[n].z[0] + 1.0;
+ glColor3f(1.0, 0.0, 0.0);
+ glBegin(GL_POLYGON);
+ for (i = 0; i < 8; i++) {
+ float x = x0 + width * Cos((float)i*MAXANGLES/8.0);
+ float y = y0 + width * Sin((float)i*MAXANGLES/8.0);
+ glVertex2f(x, y);
+ };
+ glEnd();
+ }
+ return GL_TRUE;
+ } else {
+ return GL_FALSE;
+ }
+}
+
+void ShowStars(void)
+{
+ GLint n;
+
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ for (n = 0; n < starCount; n++) {
+ if (stars[n].z[0] > speed || (stars[n].z[0] > 0.0 && speed < MAXWARP1)) {
+ if (StarPoint(n) == GL_FALSE) {
+ NewStar(n, MAXPOS);
+ }
+ } else {
+ NewStar(n, MAXPOS);
+ }
+ }
+}
+
+static void Init(void)
+{
+ float angle;
+ GLint n;
+
+ for (n = 0; n < MAXSTARS; n++) {
+ NewStar(n, 100);
+ }
+
+ angle = 0.0;
+ for (n = 0; n < MAXANGLES ; n++) {
+ sinTable[n] = sin(angle);
+ angle += PI / (MAXANGLES / 2.0);
+ }
+
+ glClearColor(0.0, 0.0, 0.0, 0.0);
+
+ glDisable(GL_DITHER);
+}
+
+void reshape(int width, int height)
+{
+
+ windW = (GLint)width;
+ windH = (GLint)height;
+
+ glViewport(0, 0, windW, windH);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluOrtho2D(-0.5, windW+0.5, -0.5, windH+0.5);
+ glMatrixMode(GL_MODELVIEW);
+
+}
+
+void Idle(void)
+{
+
+ MoveStars();
+ ShowStars();
+ if (nitro > 0) {
+ speed = (float)(nitro / 10) + 1.0;
+ if (speed > MAXWARP1) {
+ speed = MAXWARP1;
+ }
+ if (++nitro > MAXWARP1*10) {
+ nitro = -nitro;
+ }
+ } else if (nitro < 0) {
+ nitro++;
+ speed = (float)(-nitro / 10) + 1.0;
+ if (speed > MAXWARP1) {
+ speed = MAXWARP1;
+ }
+ }
+
+ glFlush();
+
+ /* if (doubleBuffer) {
+ tkSwapBuffers();
+ }*/
+}
+
+
+void
+drawSpace(Window /*window*/)
+{
+
+ /*
+ Display *display = dsp;
+ //glXMakeCurrent(display, window, mp->glx_context);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ glFlush();
+ glXSwapBuffers(display, window);
+ */
+
+ Idle();
+
+}
+
+
+void release_Space(){
+
+ glXDestroyContext(dsp, glx_context);
+
+}
+
+static XVisualInfo *glVis[MAXSCREENS];
+
+int
+getVisual(XVisualInfo * wantVis, int visual_count)
+{
+ Display *display = dsp;
+ static int first;
+ int i;
+
+ if (first) {
+ for (screen = 0; screen < MAXSCREENS; screen++)
+ glVis[screen] = NULL;
+ }
+
+ if (!glVis[screen]) {
+ if (mono) {
+ /* Monochrome display - use color index mode */
+ int attribList[] = {GLX_DOUBLEBUFFER, None};
+
+ glVis[screen] = glXChooseVisual(display, screen, attribList);
+ } else {
+ int attribList[] =
+ {GLX_RGBA, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 1, None};
+
+ glVis[screen] = glXChooseVisual(display, screen, attribList);
+ }
+ }
+ // Make sure we have a visual
+ if (!glVis[screen]) {
+ return (0);
+ }
+
+ /* check if GL can render into root window. */
+ for(i=0;i<visual_count;i++)
+ if ( (glVis[screen]->visual == (wantVis+i)->visual) )
+ return (1); // success
+
+ // The visual we received did not match one we asked for
+ return (0);
+}
+
+void
+initSpace(Window window)
+{
+ Display *display = dsp;
+ XWindowAttributes xwa;
+
+
+ (void) XGetWindowAttributes(dsp, window, &xwa);
+ int n;
+ XVisualInfo *wantVis, vTemplate;
+ int VisualClassWanted=-1;
+
+ vTemplate.screen = screen;
+ vTemplate.depth = xwa.depth;
+
+ if (VisualClassWanted == -1) {
+ vTemplate.c_class = DefaultVisual(display, screen)->c_class;
+ } else {
+ vTemplate.c_class = VisualClassWanted;
+ }
+
+ wantVis = XGetVisualInfo(display,
+ VisualScreenMask | VisualDepthMask | VisualClassMask,
+ &vTemplate, &n);
+
+ if (VisualClassWanted != -1 && n == 0) {
+ /* Wanted visual not found so use default */
+
+ vTemplate.c_class = DefaultVisual(display, screen)->c_class;
+
+ wantVis = XGetVisualInfo(display,
+ VisualScreenMask | VisualDepthMask | VisualClassMask,
+ &vTemplate, &n);
+ }
+ /* if User asked for color, try that first, then try mono */
+ /* if User asked for mono. Might fail on 16/24 bit displays,
+ so fall back on color, but keep the mono "look & feel". */
+
+ if (!getVisual(wantVis, n)) {
+ if (!getVisual(wantVis, n)) {
+ kdError() << i18n("GL can not render with root visual\n") << endl;
+ return;
+ }
+ }
+
+ /* PURIFY 3.0a on SunOS4 reports a 104 byte memory leak on the next line each
+ * time that morph3d mode is run in random mode. */
+
+ glx_context = glXCreateContext(display, wantVis, 0, True);
+
+ XFree((char *) wantVis);
+
+
+ glXMakeCurrent(display, window, glx_context);
+ glDrawBuffer(GL_FRONT);
+
+ if (mono) {
+ glIndexi(WhitePixel(display, screen));
+ glClearIndex(BlackPixel(display, screen));
+ }
+
+ reshape(xwa.width, xwa.height);
+ Init();
+}
+
+
+
+
+#endif
+
+#define MINSPEED 1
+#define MAXSPEED 100
+#define DEFSPEED 50
+#define MINWARP 1
+#define MAXWARP 30
+#define DEFWARP 2
+#define WARPFACTOR 100
+//-----------------------------------------------------------------------------
+
+#include <qpushbutton.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qcolor.h>
+
+#include <kmessagebox.h>
+
+#include "space.moc"
+
+#undef Below
+
+static kSpaceSaver *saver = NULL;
+
+void startScreenSaver( Drawable d )
+{
+ if ( saver )
+ return;
+ saver = new kSpaceSaver( d );
+}
+
+void stopScreenSaver()
+{
+ if ( saver )
+ delete saver;
+ saver = NULL;
+}
+
+int setupScreenSaver()
+{
+ kSpaceSetup dlg;
+
+ return dlg.exec();
+}
+
+//-----------------------------------------------------------------------------
+
+kSpaceSaver::kSpaceSaver( Drawable drawable ) : kScreenSaver( drawable )
+{
+ rnd = new KRandomSequence();
+ readSettings();
+ counter = (int)warpinterval *WARPFACTOR;
+
+ colorContext = QColor::enterAllocContext();
+
+ initXLock( mGc );
+ initSpace( mDrawable );
+
+ timer.start( speed );
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+}
+
+kSpaceSaver::~kSpaceSaver()
+{
+ timer.stop();
+ release_Space();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+ delete rnd; rnd = 0;
+}
+
+void kSpaceSaver::setSpeed( int spd )
+{
+ timer.stop();
+ speed = MAXSPEED - spd ;
+ // printf("speed %d\n",speed);
+ timer.stop();
+ timer.start( speed );
+}
+
+void kSpaceSaver::setWarp( int w )
+{
+ warpinterval = w;
+ counter = (int)warpinterval;
+ initSpace( mDrawable );
+}
+
+void kSpaceSaver::readSettings()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ QString str;
+
+ str = config->readEntry( "Speed" );
+ if ( !str.isNull() )
+ speed = MAXSPEED - str.toInt();
+ else
+ speed = DEFSPEED;
+
+ warpinterval = config->readNumEntry( "WarpInterval", 15 );
+ delete config;
+}
+
+void kSpaceSaver::slotTimeout()
+{
+ //printf("%d %d \n",(int)warpinterval, MAXWARP);
+ if(warpinterval != MAXWARP){
+ if(nitro == 0)
+ counter -= speed +1;
+
+ if(counter <= 0){
+ nitro = 1;
+ counter = (int) warpinterval *WARPFACTOR;
+ }
+ }
+ else
+ nitro = 0;
+
+ drawSpace( mDrawable );
+}
+
+//-----------------------------------------------------------------------------
+
+kSpaceSetup::kSpaceSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n("Setup Space Screen Saver"),
+ Ok|Cancel|Help, Ok, true )
+{
+ setButtonText( Help, i18n( "A&bout" ) );
+ readSettings();
+
+ QWidget *page = new QWidget( this );
+ setMainWidget( page );
+ QHBoxLayout *hb = new QHBoxLayout( page, 0, spacingHint() );
+ QVBoxLayout *vb = new QVBoxLayout( hb, spacingHint() );
+
+ QLabel *label;
+ QSlider *slider;
+
+ label = new QLabel( i18n("Speed:"), page );
+ vb->addWidget( label );
+
+ slider = new QSlider(MINSPEED, MAXSPEED, 10, speed, QSlider::Horizontal,
+ page );
+ vb->addWidget( slider );
+ slider->setTickmarks(QSlider::Below);
+ slider->setTickInterval(10);
+ connect( slider, SIGNAL( valueChanged( int ) ), SLOT( slotSpeed( int ) ) );
+
+ label = new QLabel( i18n("Warp interval:"), page );
+ vb->addWidget( label );
+
+ slider = new QSlider(MINWARP, MAXWARP, 3, warpinterval, Horizontal, page );
+ vb->addWidget( slider );
+ slider->setTickmarks(QSlider::Below);
+ slider->setTickInterval(3);
+ connect( slider, SIGNAL( valueChanged( int ) ), SLOT( slotWarp( int ) ) );
+
+ vb->addStrut( 150 );
+ vb->addStretch();
+
+ preview = new QWidget( page );
+ hb->addWidget( preview );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new kSpaceSaver( preview->winId() );
+}
+
+void kSpaceSetup::readSettings()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", speed );
+
+ if ( speed > MAXSPEED )
+ speed = MAXSPEED;
+ else if ( speed < MINSPEED )
+ speed = MINSPEED;
+
+ warpinterval = config->readNumEntry( "WarpInterval", 15 );
+
+ delete config;
+}
+
+void kSpaceSetup::slotSpeed( int num )
+{
+ speed = num ;
+
+ if ( saver )
+ saver->setSpeed( speed );
+}
+
+void kSpaceSetup::slotWarp( int num )
+{
+ warpinterval = num;
+ if ( saver )
+ saver->setWarp( warpinterval );
+}
+
+void kSpaceSetup::slotOk()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ QString sspeed;
+ sspeed.setNum( speed );
+ config->writeEntry( "Speed", sspeed );
+
+ QString interval;
+ interval.setNum( (int)warpinterval );
+ config->writeEntry( "WarpInterval", interval );
+
+ config->sync();
+ delete config;
+ accept();
+}
+
+void kSpaceSetup::slotHelp()
+{
+ KMessageBox::about(this,
+ i18n("KSpace\nCopyright (c) 1998\n"
+ "Bernd Johannes Wuebben <wuebben@kde.org>"));
+}
+
+
+/*
+static GLenum Args(int argc, char **argv)
+{
+ GLint i;
+
+ doubleBuffer = GL_FALSE;
+ directRender = GL_TRUE;
+
+ for (i = 1; i < argc; i++) {
+ if (strcmp(argv[i], "-sb") == 0) {
+ doubleBuffer = GL_FALSE;
+ } else if (strcmp(argv[i], "-db") == 0) {
+ doubleBuffer = GL_TRUE;
+ } else if (strcmp(argv[i], "-dr") == 0) {
+ directRender = GL_TRUE;
+ } else if (strcmp(argv[i], "-ir") == 0) {
+ directRender = GL_FALSE;
+ }
+ }
+ return GL_TRUE;
+}
+
+
+
+void main(int argc, char **argv)
+{
+ GLenum type;
+
+ if (Args(argc, argv) == GL_FALSE) {
+ tkQuit();
+ }
+
+ windW = 300;
+ windH = 300;
+ tkInitPosition(0, 0, 300, 300);
+
+ type = TK_RGB;
+ type |= (doubleBuffer) ? TK_DOUBLE : TK_SINGLE;
+ type |= (directRender) ? TK_DIRECT : TK_INDIRECT;
+ tkInitDisplayMode(type);
+
+ if (tkInitWindow("Stars") == GL_FALSE) {
+ tkQuit();
+ }
+
+ Init();
+
+ tkExposeFunc(Reshape);
+ tkReshapeFunc(Reshape);
+ tkKeyDownFunc(Key);
+ tkIdleFunc(Idle);
+ tkExec();
+}
+
+*/
diff --git a/kscreensaver/xsavers/space.h b/kscreensaver/xsavers/space.h
new file mode 100644
index 00000000..6bf82c87
--- /dev/null
+++ b/kscreensaver/xsavers/space.h
@@ -0,0 +1,62 @@
+
+#ifndef __SPACE_H__
+#define __SPACE_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+#include <kdialogbase.h>
+#include <qlineedit.h>
+#include "saver.h"
+
+class kSpaceSaver : public kScreenSaver
+{
+ Q_OBJECT
+public:
+ kSpaceSaver( Drawable drawable );
+ virtual ~kSpaceSaver();
+
+ void setSpeed( int spd );
+ void setWarp( int l );
+ void setPoints( int p );
+
+protected:
+ void readSettings();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ QTimer timer;
+ int colorContext;
+
+ int counter;
+ int speed;
+ int maxLevels;
+ int numPoints;
+};
+
+class kSpaceSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kSpaceSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed( int );
+ void slotWarp( int );
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kSpaceSaver *saver;
+
+ int speed;
+ int warpinterval;
+};
+
+#endif
+
diff --git a/kscreensaver/xsavers/swarm.cpp b/kscreensaver/xsavers/swarm.cpp
new file mode 100644
index 00000000..0afae901
--- /dev/null
+++ b/kscreensaver/xsavers/swarm.cpp
@@ -0,0 +1,419 @@
+/*-
+ * swarm.c - swarm of bees for xlock, the X Window System lockscreen.
+ *
+ * Copyright (c) 1991 by Patrick J. Naughton.
+ *
+ * Revision History:
+ * 31-Aug-90: Adapted from xswarm by Jeff Butterworth. (butterwo@ncsc.org)
+ */
+
+/* Ported to kscreensaver:
+ July 1997, Emanuel Pirker <epirker@edu.uni-klu.ac.at>
+ Contact me in case of problems, not the original author!
+ Last revised: 10-Jul-97
+*/
+// layout management added 1998/04/19 by Mario Weilguni <mweilguni@kde.org>
+
+#define MAXSPEED 100
+#define MINSPEED 0
+#define DEFSPEED 50
+#define MAXBATCH 200
+#define MINBATCH 0
+#define DEFBATCH 20
+
+#include <qslider.h>
+#include <kglobal.h>
+#include <kconfig.h>
+#include <krandomsequence.h>
+#include "xlock.h"
+
+#undef index
+
+#define TIMES 4 /* number of time positions recorded */
+#define BEEACC 2 /* acceleration of bees */
+#define WASPACC 5 /* maximum acceleration of wasp */
+#define BEEVEL 12 /* maximum bee velocity */
+#define WASPVEL 10 /* maximum wasp velocity */
+
+/* Macros */
+#define X(t,b) (sp->x[(t)*sp->beecount+(b)])
+#define Y(t,b) (sp->y[(t)*sp->beecount+(b)])
+#define balance_rand(v) (rnd.getLong(v)-((v)/2)) /* random number around 0 */
+
+//ModeSpecOpt swarm_opts = {0, NULL, NULL, NULL};
+
+typedef struct {
+ int pix;
+ int width;
+ int height;
+ int border; /* wasp won't go closer than this to the edge */
+ int beecount; /* number of bees */
+ XSegment segs[MAXBATCH]; /* bee lines */
+ XSegment old_segs[MAXBATCH]; /* old bee lines */
+ short x[MAXBATCH*TIMES];
+ short y[MAXBATCH*TIMES]; /* bee positions x[time][bee#] */
+ short xv[MAXBATCH];
+ short yv[MAXBATCH]; /* bee velocities xv[bee#] */
+ short wx[3];
+ short wy[3];
+ short wxv;
+ short wyv;
+} swarmstruct;
+
+static swarmstruct swarms[MAXSCREENS];
+
+void
+initswarm(Window win, KRandomSequence &rnd)
+{
+ swarmstruct *sp = &swarms[screen];
+ int b;
+ XWindowAttributes xwa;
+
+ sp->beecount = batchcount;
+ (void) XGetWindowAttributes(dsp, win, &xwa);
+ sp->width = xwa.width;
+ sp->height = xwa.height;
+
+ sp->border = (sp->width + sp->height) / 50;
+
+ /* Clear the background. */
+ XSetForeground(dsp, Scr[screen].gc, BlackPixel(dsp, screen));
+ XFillRectangle(dsp, win, Scr[screen].gc, 0, 0, sp->width, sp->height);
+
+ /* Now static data structures. epirker */
+ //if (!sp->segs) {
+ //sp->segs = (XSegment *) malloc(sizeof (XSegment) * sp->beecount);
+ //sp->old_segs = (XSegment *) malloc(sizeof (XSegment) * sp->beecount);
+ //sp->x = (short *) malloc(sizeof (short) * sp->beecount * TIMES);
+ //sp->y = (short *) malloc(sizeof (short) * sp->beecount * TIMES);
+ //sp->xv = (short *) malloc(sizeof (short) * sp->beecount);
+ //sp->yv = (short *) malloc(sizeof (short) * sp->beecount);
+ //}
+ /* Initialize point positions, velocities, etc. */
+
+ /* wasp */
+ sp->wx[0] = sp->border + rnd.getLong(sp->width - 2 * sp->border);
+ sp->wy[0] = sp->border + rnd.getLong(sp->height - 2 * sp->border);
+ sp->wx[1] = sp->wx[0];
+ sp->wy[1] = sp->wy[0];
+ sp->wxv = 0;
+ sp->wyv = 0;
+
+ /* bees */
+ for (b = 0; b < sp->beecount; b++) {
+ X(0, b) = rnd.getLong(sp->width);
+ X(1, b) = X(0, b);
+ Y(0, b) = rnd.getLong(sp->height);
+ Y(1, b) = Y(0, b);
+ sp->xv[b] = balance_rand(7);
+ sp->yv[b] = balance_rand(7);
+ }
+}
+
+
+
+void
+drawswarm(Window win, KRandomSequence &rnd)
+{
+ swarmstruct *sp = &swarms[screen];
+ int b;
+
+ /* <=- Wasp -=> */
+ /* Age the arrays. */
+ sp->wx[2] = sp->wx[1];
+ sp->wx[1] = sp->wx[0];
+ sp->wy[2] = sp->wy[1];
+ sp->wy[1] = sp->wy[0];
+ /* Accelerate */
+ sp->wxv += balance_rand(WASPACC);
+ sp->wyv += balance_rand(WASPACC);
+
+ /* Speed Limit Checks */
+ if (sp->wxv > WASPVEL)
+ sp->wxv = WASPVEL;
+ if (sp->wxv < -WASPVEL)
+ sp->wxv = -WASPVEL;
+ if (sp->wyv > WASPVEL)
+ sp->wyv = WASPVEL;
+ if (sp->wyv < -WASPVEL)
+ sp->wyv = -WASPVEL;
+
+ /* Move */
+ sp->wx[0] = sp->wx[1] + sp->wxv;
+ sp->wy[0] = sp->wy[1] + sp->wyv;
+
+ /* Bounce Checks */
+ if ((sp->wx[0] < sp->border) || (sp->wx[0] > sp->width - sp->border - 1)) {
+ sp->wxv = -sp->wxv;
+ sp->wx[0] += sp->wxv;
+ }
+ if ((sp->wy[0] < sp->border) || (sp->wy[0] > sp->height - sp->border - 1)) {
+ sp->wyv = -sp->wyv;
+ sp->wy[0] += sp->wyv;
+ }
+ /* Don't let things settle down. */
+ sp->xv[rnd.getLong(sp->beecount)] += balance_rand(3);
+ sp->yv[rnd.getLong(sp->beecount)] += balance_rand(3);
+
+ /* <=- Bees -=> */
+ for (b = 0; b < sp->beecount; b++) {
+ int distance, dx, dy;
+
+ /* Age the arrays. */
+ X(2, b) = X(1, b);
+ X(1, b) = X(0, b);
+ Y(2, b) = Y(1, b);
+ Y(1, b) = Y(0, b);
+
+ /* Accelerate */
+ dx = sp->wx[1] - X(1, b);
+ dy = sp->wy[1] - Y(1, b);
+ distance = abs(dx) + abs(dy); /* approximation */
+ if (distance == 0)
+ distance = 1;
+ sp->xv[b] += (dx * BEEACC) / distance;
+ sp->yv[b] += (dy * BEEACC) / distance;
+
+ /* Speed Limit Checks */
+ if (sp->xv[b] > BEEVEL)
+ sp->xv[b] = BEEVEL;
+ if (sp->xv[b] < -BEEVEL)
+ sp->xv[b] = -BEEVEL;
+ if (sp->yv[b] > BEEVEL)
+ sp->yv[b] = BEEVEL;
+ if (sp->yv[b] < -BEEVEL)
+ sp->yv[b] = -BEEVEL;
+
+ /* Move */
+ X(0, b) = X(1, b) + sp->xv[b];
+ Y(0, b) = Y(1, b) + sp->yv[b];
+
+ /* Fill the segment lists. */
+ sp->segs[b].x1 = X(0, b);
+ sp->segs[b].y1 = Y(0, b);
+ sp->segs[b].x2 = X(1, b);
+ sp->segs[b].y2 = Y(1, b);
+ sp->old_segs[b].x1 = X(1, b);
+ sp->old_segs[b].y1 = Y(1, b);
+ sp->old_segs[b].x2 = X(2, b);
+ sp->old_segs[b].y2 = Y(2, b);
+ }
+
+ XSetForeground(dsp, Scr[screen].gc, BlackPixel(dsp, screen));
+ XDrawLine(dsp, win, Scr[screen].gc,
+ sp->wx[1], sp->wy[1], sp->wx[2], sp->wy[2]);
+ XDrawSegments(dsp, win, Scr[screen].gc, sp->old_segs, sp->beecount);
+
+ XSetForeground(dsp, Scr[screen].gc, WhitePixel(dsp, screen));
+ XDrawLine(dsp, win, Scr[screen].gc,
+ sp->wx[0], sp->wy[0], sp->wx[1], sp->wy[1]);
+ if (!mono && Scr[screen].npixels > 2) {
+ XSetForeground(dsp, Scr[screen].gc, Scr[screen].pixels[sp->pix]);
+ if (++sp->pix >= Scr[screen].npixels)
+ sp->pix = 0;
+ }
+ XDrawSegments(dsp, win, Scr[screen].gc, sp->segs, sp->beecount);
+}
+
+//-----------------------------------------------------------------------------
+
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qcolor.h>
+#include <qlayout.h>
+
+#include <klocale.h>
+#include <kmessagebox.h>
+
+#include "swarm.h"
+#include "swarm.moc"
+#include "helpers.h"
+
+#undef Below
+
+static kSwarmSaver *saver = NULL;
+
+void startScreenSaver( Drawable d )
+{
+ if ( saver )
+ return;
+ saver = new kSwarmSaver( d );
+}
+
+void stopScreenSaver()
+{
+ if ( saver )
+ delete saver;
+ saver = NULL;
+}
+
+int setupScreenSaver()
+{
+ kSwarmSetup dlg;
+
+ return dlg.exec();
+}
+
+//-----------------------------------------------------------------------------
+
+kSwarmSaver::kSwarmSaver( Drawable drawable ) : kScreenSaver( drawable )
+{
+ readSettings();
+
+ // Clear to background colour when exposed
+ XSetWindowBackground(qt_xdisplay(), mDrawable,
+ BlackPixel(qt_xdisplay(), qt_xscreen()));
+
+ colorContext = QColor::enterAllocContext();
+
+ batchcount = maxLevels;
+
+ initXLock( mGc );
+ initswarm( mDrawable, rnd );
+
+ timer.start( speed );
+ connect( &timer, SIGNAL( timeout() ), SLOT( slotTimeout() ) );
+}
+
+kSwarmSaver::~kSwarmSaver()
+{
+ timer.stop();
+ QColor::leaveAllocContext();
+ QColor::destroyAllocContext( colorContext );
+}
+
+void kSwarmSaver::setSpeed( int spd )
+{
+ timer.stop();
+ speed = MAXSPEED - spd;
+ timer.start( speed );
+}
+
+void kSwarmSaver::setLevels( int l )
+{
+ batchcount = maxLevels = l;
+ initswarm( mDrawable, rnd );
+}
+
+void kSwarmSaver::readSettings()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ speed = MAXSPEED - config->readNumEntry( "Speed", MAXSPEED - DEFSPEED );
+ maxLevels = config->readNumEntry( "MaxLevels", DEFBATCH );
+
+ delete config;
+}
+
+void kSwarmSaver::slotTimeout()
+{
+ drawswarm( mDrawable, rnd );
+}
+
+//-----------------------------------------------------------------------------
+
+kSwarmSetup::kSwarmSetup( QWidget *parent, const char *name )
+ : KDialogBase( parent, name, true, i18n( "Setup Swarm Screen Saver" ),
+ Ok|Cancel|Help, Ok, true )
+{
+ readSettings();
+
+ setButtonText( Help, i18n( "A&bout" ) );
+ QWidget *main = makeMainWidget();
+
+ QHBoxLayout *top = new QHBoxLayout( main, 0, spacingHint() );
+ QVBoxLayout *left = new QVBoxLayout(top, spacingHint());
+
+ QLabel *label = new QLabel( i18n("Speed:"), main );
+ min_size(label);
+ left->addWidget(label);
+
+ QSlider *slider = new QSlider(MINSPEED, MAXSPEED, 10, speed,
+ Horizontal, main );
+ slider->setMinimumSize( 120, 20 );
+ slider->setTickmarks(QSlider::Below);
+ slider->setTickInterval(10);
+ connect( slider, SIGNAL( valueChanged( int ) ),
+ SLOT( slotSpeed( int ) ) );
+ left->addWidget(slider);
+
+ label = new QLabel( i18n("Number of bees:"), main );
+ min_size(label);
+ left->addWidget(label);
+
+ slider = new QSlider(MINBATCH, MAXBATCH, 20, maxLevels, Horizontal, main );
+ slider->setMinimumSize( 120, 20 );
+ slider->setTickmarks(QSlider::Below);
+ slider->setTickInterval(20);
+ connect( slider, SIGNAL( valueChanged( int ) ),
+ SLOT( slotLevels( int ) ) );
+ left->addWidget(slider);
+ left->addStretch();
+
+ preview = new QWidget( main );
+ preview->setFixedSize( 220, 170 );
+ preview->setBackgroundColor( black );
+ preview->show(); // otherwise saver does not get correct size
+ saver = new kSwarmSaver( preview->winId() );
+ top->addWidget(preview);
+
+ top->addStretch();
+}
+
+void kSwarmSetup::readSettings()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ speed = config->readNumEntry( "Speed", speed );
+
+ if ( speed > MAXSPEED )
+ speed = MAXSPEED;
+ else if ( speed < MINSPEED )
+ speed = MINSPEED;
+
+ maxLevels = config->readNumEntry( "MaxLevels", DEFBATCH );
+ delete config;
+}
+
+void kSwarmSetup::slotSpeed( int num )
+{
+ speed = num;
+
+ if ( saver )
+ saver->setSpeed( speed );
+}
+
+void kSwarmSetup::slotLevels( int num )
+{
+ maxLevels = num;
+
+ if ( saver )
+ saver->setLevels( maxLevels );
+}
+
+void kSwarmSetup::slotOk()
+{
+ KConfig *config = klock_config();
+ config->setGroup( "Settings" );
+
+ QString sspeed;
+ sspeed.setNum( speed );
+ config->writeEntry( "Speed", sspeed );
+
+ QString slevels;
+ slevels.setNum( maxLevels );
+ config->writeEntry( "MaxLevels", slevels );
+
+ config->sync();
+ delete config;
+ accept();
+}
+
+void kSwarmSetup::slotHelp()
+{
+ KMessageBox::information(this,
+ i18n("Swarm\n\nCopyright (c) 1991 by Patrick J. Naughton\n\nPorted to kscreensaver by Emanuel Pirker."),
+ i18n("About Swarm"));
+}
diff --git a/kscreensaver/xsavers/swarm.h b/kscreensaver/xsavers/swarm.h
new file mode 100644
index 00000000..dd4b2f6d
--- /dev/null
+++ b/kscreensaver/xsavers/swarm.h
@@ -0,0 +1,65 @@
+//-----------------------------------------------------------------------------
+//
+// kswarm - port of "swarm" from xlock
+//
+
+#ifndef __SWARM_H__
+#define __SWARM_H__
+
+#include <qtimer.h>
+
+#include <kdialogbase.h>
+#include "saver.h"
+
+
+class kSwarmSaver : public kScreenSaver
+{
+ Q_OBJECT
+public:
+ kSwarmSaver( Drawable drawable );
+ virtual ~kSwarmSaver();
+
+ void setSpeed( int spd );
+ void setLevels( int l );
+
+protected:
+ void readSettings();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ KRandomSequence rnd;
+ QTimer timer;
+ int colorContext;
+
+ int speed;
+ int maxLevels;
+};
+
+class kSwarmSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kSwarmSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed( int );
+ void slotLevels( int );
+
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kSwarmSaver *saver;
+
+ int speed;
+ int maxLevels;
+};
+
+#endif
+
diff --git a/kscreensaver/xsavers/xlock.cpp b/kscreensaver/xsavers/xlock.cpp
new file mode 100644
index 00000000..7e7634db
--- /dev/null
+++ b/kscreensaver/xsavers/xlock.cpp
@@ -0,0 +1,86 @@
+//----------------------------------------------------------------------------
+// This module contains code to interface original xlock savers to
+// kscreensave
+//
+
+#include <time.h>
+#include <qapplication.h>
+#include "xlock.h"
+
+
+int screen;
+Display *dsp;
+perscreen Scr[MAXSCREENS];
+int batchcount = 100;
+int cycles = 100;
+Bool mono = 0;
+//Bool allowroot = 0;
+char *ProgramName;
+/*
+Dr. Park's algorithm published in the Oct. '88 ACM
+"Random Number Generators: Good Ones Are Hard To Find"
+His version available at ftp://cs.wm.edu/pub/rngs.tar
+Present form by many authors.
+*/
+
+static int Seed = 1; /* This is required to be 32 bits long */
+
+/*
+ * Given an integer, this routine initializes the RNG seed.
+ */
+void SetRNG(long s)
+{
+ Seed = (int) s;
+}
+
+/*
+ * Returns an integer between 0 and 2147483647, inclusive.
+ */
+long LongRNG()
+{
+ if ((Seed = Seed % 44488 * 48271 - Seed / 44488 * 3399) < 0)
+ Seed += 2147483647;
+ return (long) (Seed - 1);
+}
+
+unsigned long
+allocpixel(Colormap cmap, const char *name, const char *def)
+{
+ XColor col;
+ XColor tmp;
+ XParseColor(dsp, cmap, name, &col);
+ if (!XAllocColor(dsp, cmap, &col))
+ {
+ fprintf(stderr, "couldn't allocate: %s, using %s instead\n", name, def);
+ XAllocNamedColor(dsp, cmap, def, &col, &tmp);
+ }
+
+ return col.pixel;
+}
+
+void initXLock( GC gc )
+{
+ SetRNG( time(NULL) );
+
+ dsp = qt_xdisplay();
+ screen = qt_xscreen();
+
+ Screen *scr = ScreenOfDisplay(dsp, screen);
+
+ Scr[0].gc = gc;
+ Scr[0].npixels = NUMCOLORS;
+ Scr[0].cmap = None;
+
+ Colormap cmap = DefaultColormapOfScreen(scr);
+ Scr[0].bgcol = allocpixel(cmap, "background", "White");
+ Scr[0].bgcol = allocpixel(cmap, "foreground", "Black");
+
+ QColor color;
+
+ for ( int i = 0; i < NUMCOLORS; i++ )
+ {
+ color.setHsv( i * 360 / NUMCOLORS, 255, 255 );
+ Scr[0].pixels[i] = color.alloc();
+ }
+}
+
diff --git a/kscreensaver/xsavers/xlock.h b/kscreensaver/xsavers/xlock.h
new file mode 100644
index 00000000..e8c2a2bb
--- /dev/null
+++ b/kscreensaver/xsavers/xlock.h
@@ -0,0 +1,229 @@
+#ifndef __XLOCK_H__
+#define __XLOCK_H__
+
+/*-
+ * @(#)xlock.h 3.3 95/09/24 xlockmore
+ *
+ * xlock.h - external interfaces for new modes and SYSV OS defines.
+ *
+ * Copyright (c) 1991 by Patrick J. Naughton.
+ *
+ * See xlock.c for copying information.
+ *
+ * Revision History:
+ *
+ * Changes of David Bagley <bagleyd@source.asset.com>
+ * 12-May-95: Added defines for SunOS's Adjunct password file
+ * Dale A. Harris <rodmur@ecst.csuchico.edu>
+ * 18-Nov-94: Modified for QNX 4.2 w/ Metrolink X server from Brian Campbell
+ * <brianc@qnx.com>.
+ * 11-Jul-94: added Bool flag: inwindow, which tells xlock to run in a
+ * window from Greg Bowering <greg@cs.adelaide.edu.au>
+ * 11-Jul-94: patch for Solaris SYR4 from Chris P. Ross <cross@eng.umd.edu>
+ * 28-Jun-94: Reorganized shadow stuff
+ * 24-Jun-94: Reorganized
+ * 22-Jun-94: Modified for VMS
+ * <Anthony.D.Clarke@Support.Hatfield.Raytheon.bae.eurokom.ie>
+ * 17-Jun-94: patched shadow passwords and bcopy and bzero for SYSV from
+ * <reggers@julian.uwo.ca>
+ * 21-Mar-94: patched the patch for AIXV3 and HP from
+ * <R.K.Lloyd@csc.liv.ac.uk>.
+ * 01-Dec-93: added patch for AIXV3 from
+ * (Tom McConnell, tmcconne@sedona.intel.com) also added a patch
+ * for HP-UX 8.0.
+ *
+ */
+
+#include <qapplication.h> // hack for qt-1.2
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xos.h>
+#include <X11/Xresource.h>
+
+// added for kscreensave
+void initXLock( GC gc );
+
+
+#define MAXSCREENS 1
+#define NUMCOLORS 64
+#ifndef KERBEROS
+#define PASSLENGTH 64
+#else
+#define PASSLENGTH 120
+#endif
+#define FALLBACK_FONTNAME "fixed"
+#ifndef DEF_MFONT
+#define DEF_MFONT "-*-times-*-*-*-*-18-*-*-*-*-*-*-*"
+#endif
+#ifndef DEF_PROGRAM /* Try the -o option ;) */
+#define DEF_PROGRAM "fortune -s"
+#endif
+
+#define ICONW 64
+#define ICONH 64
+
+#if defined VMS || defined __QNX__
+#ifdef VMS
+/*#define VMS_PLAY*/
+#include <unixlib.h>
+#endif
+#endif
+
+#include <math.h>
+
+#ifndef M_E
+#define M_E 2.7182818284590452354
+#endif
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923
+#endif
+
+#if !defined (news1800) && !defined (sun386)
+#include <stdlib.h>
+#if !defined (apollo) && !defined (VMS)
+#include <unistd.h>
+#include <memory.h>
+#endif
+#endif
+#include <stdio.h>
+#include <string.h>
+
+typedef struct {
+ GC gc; /* graphics context for animation */
+ int npixels; /* number of valid entries in pixels */
+ Colormap cmap; /* current colormap */
+ unsigned long pixels[NUMCOLORS]; /* pixel values in the colormap */
+ unsigned long bgcol, fgcol; /* background and foreground pixel values */
+} perscreen;
+
+/* This stuff moved here from resource.c for the mode-specific options. */
+#define t_String 0
+#define t_Float 1
+#define t_Int 2
+#define t_Bool 3
+
+typedef struct {
+ caddr_t *var;
+ char *name;
+ char *arg_class;
+ char *def;
+ int type;
+} argtype;
+
+typedef struct {
+ char *opt;
+ char *desc;
+} OptionStruct;
+
+typedef struct {
+ int numopts;
+ XrmOptionDescRec *opts;
+ argtype *vars;
+ OptionStruct *desc;
+} ModeSpecOpt;
+/* End moved from resource.c */
+
+extern perscreen Scr[MAXSCREENS];
+extern Display *dsp;
+extern int screen;
+
+extern char *ProgramName;
+extern char *fontname;
+extern char *background;
+extern char *foreground;
+extern char *text_name;
+extern char *text_pass;
+extern char *text_info;
+extern char *text_valid;
+extern char *text_invalid;
+extern char *geometry;
+extern float saturation;
+extern int nicelevel;
+extern int delay;
+extern int batchcount;
+extern int cycles;
+extern int timeout;
+extern int lockdelay;
+#if defined(HAS_RPLAY) || defined(VMS_PLAY)
+extern char *locksound;
+extern char *infosound;
+extern char *validsound;
+/*extern char *invalidsound;*/
+#endif
+#ifdef AUTO_LOGOUT
+extern int forceLogout;
+#endif
+#ifdef LOGOUT_BUTTON
+extern int enable_button;
+extern char *logoutButtonLabel;
+extern char *logoutButtonHelp;
+extern char *logoutFailedString;
+#endif
+extern Bool usefirst;
+extern Bool mono;
+extern Bool nolock;
+extern Bool allowroot;
+extern Bool enablesaver;
+extern Bool allowaccess;
+extern Bool grabmouse;
+extern Bool echokeys;
+extern Bool verbose;
+extern Bool inwindow;
+extern Bool inroot;
+extern Bool timeelapsed;
+extern Bool install;
+extern int onepause;
+
+/* For modes with text, marquee & nose */
+extern char *program;
+extern char *messagesfile;
+extern char *messagefile;
+extern char *message;
+extern char *mfont;
+
+extern void (*callback) ();
+extern void (*init) ();
+
+extern void GetResources();
+extern void set_colormap();
+extern void fix_colormap();
+#ifdef __STDC__
+extern void error(char *, ...);
+#else
+extern void error();
+#endif
+extern void alarm_ctl();
+extern long seconds();
+
+/* For modes with text, marquee & nose */
+extern XFontStruct *get_font();
+extern char *get_words();
+extern void init_words();
+extern int is_ribbon();
+
+#ifdef LESS_THAN_AIX3_2
+#undef NULL
+#define NULL 0
+#endif /* LESS_THAN_AIX3_2 */
+
+#ifdef VMS
+#define OLD_EVENT_LOOP
+#endif
+
+#if defined(__STDC__) && (defined(__hpux) && defined(_PA_RISC1_1))
+#define MATHF
+#endif
+#ifdef MATHF
+#define SINF(n) sinf(n)
+#define COSF(n) cosf(n)
+#define FABSF(n) fabsf(n)
+#else
+#define SINF(n) ((float)sin((double)(n)))
+#define COSF(n) ((float)cos((double)(n)))
+#define FABSF(n) ((float)fabs((double)(n)))
+#endif
+
+#endif /* __XLOCK_H__ */
diff --git a/kscreensaver/xsavers/xlockmore.h b/kscreensaver/xsavers/xlockmore.h
new file mode 100644
index 00000000..496b48f2
--- /dev/null
+++ b/kscreensaver/xsavers/xlockmore.h
@@ -0,0 +1,261 @@
+#ifndef __XLOCK_XLOCK_H__
+#define __XLOCK_XLOCK_H__
+
+/*-
+ * @(#)xlock.h 4.00 97/01/01 xlockmore
+ *
+ * xlock.h - external interfaces for new modes and SYSV OS defines.
+ *
+ * Copyright (c) 1991 by Patrick J. Naughton.
+ *
+ * See xlock.c for copying information.
+ *
+ * Revision History:
+ *
+ * Changes of David Bagley <bagleyd@bigfoot.com>
+ * 12-May-95: Added defines for SunOS's Adjunct password file
+ * Dale A. Harris <rodmur@ecst.csuchico.edu>
+ * 18-Nov-94: Modified for QNX 4.2 w/ Metrolink X server from Brian Campbell
+ * <brianc@qnx.com>.
+ * 11-Jul-94: added Bool flag: inwindow, which tells xlock to run in a
+ * window from Greg Bowering <greg@cs.adelaide.edu.au>
+ * 11-Jul-94: patch for Solaris SYR4 from Chris P. Ross <cross@eng.umd.edu>
+ * 28-Jun-94: Reorganized shadow stuff
+ * 24-Jun-94: Reorganized
+ * 22-Jun-94: Modified for VMS
+ * <Anthony.D.Clarke@Support.Hatfield.Raytheon.bae.eurokom.ie>
+ * 17-Jun-94: patched shadow passwords and bcopy and bzero for SYSV from
+ * <reggers@julian.uwo.ca>
+ * 21-Mar-94: patched the patch for AIXV3 and HP from
+ * <R.K.Lloyd@csc.liv.ac.uk>.
+ * 01-Dec-93: added patch for AIXV3 from
+ * (Tom McConnell, tmcconne@sedona.intel.com) also added a patch
+ * for HP-UX 8.0.
+ *
+ */
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xos.h>
+#include <X11/Xresource.h>
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+/* out of main.cpp */
+#define MODE_NONE 0
+#define MODE_INSTALL 1
+#define MODE_SETUP 2
+#define MODE_PREVIEW 3
+#define MODE_TEST 4
+
+
+#ifndef MAXSCREENS
+#define MAXSCREENS 3
+#endif
+#ifndef NUMCOLORS
+#define NUMCOLORS 64
+#endif
+#ifndef MESSAGELINES
+#define MESSAGELINES 40
+#endif
+#define PASSLENGTH 120
+#define FALLBACK_FONTNAME "fixed"
+#ifndef DEF_MFONT
+#define DEF_MFONT "-*-times-*-*-*-*-18-*-*-*-*-*-*-*"
+#endif
+#ifndef DEF_PROGRAM /* Try the -o option ;) */
+#define DEF_PROGRAM "fortune -s"
+#endif
+
+#ifndef DEF_NONE3D
+#define DEF_NONE3D "Black"
+#endif
+#ifndef DEF_RIGHT3D
+#define DEF_RIGHT3D "Red"
+#endif
+#ifndef DEF_LEFT3D
+#define DEF_LEFT3D "Blue"
+#endif
+#ifndef DEF_BOTH3D
+#define DEF_BOTH3D "Magenta"
+#endif
+
+#ifndef DEF_ICONW
+#define DEF_ICONW 64 /* Age old default */
+#endif
+#ifndef DEF_ICONH
+#define DEF_ICONH 64
+#endif
+
+#define MINICONW 1 /* Will not see much */
+#define MINICONH 1
+
+#ifndef MAXICONW
+#define MAXICONW 256 /* Want users to know the screen is locked */
+#endif
+#ifndef MAXICONH
+#define MAXICONH 256 /* by a particular user */
+#endif
+
+#ifndef MIN
+#define MIN(a,b) (((a)<(b))?(a):(b))
+#endif
+
+#ifndef MAX
+#define MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+#ifndef ABS
+#define ABS(a) ((a<0)?(-(a)):(a))
+#endif
+
+#include <math.h>
+#ifndef M_E
+#define M_E 2.7182818284590452354
+#endif
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923
+#endif
+#if VMS
+#include <unixlib.h>
+#endif
+#include <sys/types.h>
+#if 0
+#ifndef uid_t
+#define uid_t int
+#endif
+#ifndef gid_t
+#define gid_t int
+#endif
+#ifndef pid_t
+#define pid_t int
+#endif
+#ifndef size_t
+#define size_t unsigned
+#endif
+#endif
+#include <unistd.h>
+#if HAVE_MEMORY_H
+#include <memory.h>
+#endif
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#if HAVE_DIRENT_H
+#ifdef USE_XVMSUTILS
+#if 0
+#include "../xvmsutils/unix_types.h"
+#include "../xvmsutils/dirent.h"
+#else
+#include <X11/unix_types.h>
+#include <X11/dirent.h>
+#endif
+#else /* !USE_XVMSUTILS */
+#include <dirent.h>
+#endif /* !USE_XVMSUTILS */
+#else
+#define dirent direct
+#define NAMELEN(dirent) (dirent)->d_namelen
+#if HAVE_SYS_NDIR_H
+#include <sys/ndir.h>
+#endif
+#if HAVE_SYS_DIR_H
+#include <sys/dir.h>
+#endif
+#if HAVE_NDIR_H
+#include <ndir.h>
+#endif
+#endif
+#ifndef MAXNAMLEN
+#define MAXNAMLEN 256 /* maximum filename length */
+#endif
+#ifndef DIRBUF
+#define DIRBUF 512 /* buffer size for fs-indep. dirs */
+#endif
+
+typedef struct {
+ GC gc; /* graphics context for animation */
+ int npixels; /* number of valid entries in pixels */
+ Colormap cmap; /* current colormap */
+ unsigned long pixels[NUMCOLORS]; /* pixel values in the colormap */
+ unsigned long bgcol, fgcol; /* background and foreground pixel values */
+ unsigned long rightcol, leftcol; /* 3D color pixel values */
+ unsigned long nonecol, bothcol;
+} perscreen;
+
+#define t_String 0
+#define t_Float 1
+#define t_Int 2
+#define t_Bool 3
+
+typedef struct {
+ caddr_t *var;
+ char *name;
+ char *classname;
+ char *def;
+ int type;
+} argtype;
+
+typedef struct {
+ char *opt;
+ char *desc;
+} OptionStruct;
+
+typedef struct {
+ int numopts;
+ XrmOptionDescRec *opts;
+ int numvarsdesc;
+ argtype *vars;
+ OptionStruct *desc;
+} ModeSpecOpt;
+
+/* this must follow definition of ModeSpecOpt */
+#include "mode.h"
+
+#define IS_XBMDONE 1 /* Only need one mono image */
+#define IS_XBM 2
+#define IS_XBMFILE 3
+#define IS_XPM 4
+#define IS_XPMFILE 5
+#define IS_RASTERFILE 6
+
+extern void getResources(int argc, char **argv);
+extern unsigned long allocPixel(Display * display, Colormap cmap,
+ char *name, char *def);
+extern void setColormap(Display * display, Window window, Colormap map,
+ Bool inwindow);
+extern void reserveColors(ModeInfo * mi, Colormap cmap,
+ unsigned long *blackpix, unsigned long *whitepix);
+extern void fixColormap(Display * display, Window window,
+ int screen, float saturation,
+ Bool mono, Bool install, Bool inroot, Bool inwindow, Bool verbose);
+extern int visualClassFromName(char *name);
+extern void showVisualInfo(XVisualInfo * wantVis);
+#ifdef USE_GL
+extern int getVisual(ModeInfo * mi, XVisualInfo * wantVis, int mono);
+#endif
+
+extern unsigned long seconds(void);
+extern void finish(void);
+extern void error(char *s1,...);
+extern void warning(char *s1,...);
+
+#ifndef HAVE_STRDUP
+extern char *strdup(char *);
+#endif
+
+#ifdef MATHF
+#define SINF(n) sinf(n)
+#define COSF(n) cosf(n)
+#define FABSF(n) fabsf(n)
+#else
+#define SINF(n) ((float)sin((double)(n)))
+#define COSF(n) ((float)cos((double)(n)))
+#define FABSF(n) ((float)fabs((double)(n)))
+#endif
+
+#endif /* __XLOCK_XLOCK_H__ */
diff --git a/kscreensaver/xsavers/xs_colors.c b/kscreensaver/xsavers/xs_colors.c
new file mode 100644
index 00000000..82dab33b
--- /dev/null
+++ b/kscreensaver/xsavers/xs_colors.c
@@ -0,0 +1,693 @@
+/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+/* This file contains some utility routines for randomly picking the colors
+ to hack the screen with.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xos.h>
+#include <X11/Xresource.h>
+
+#include "xs_visual.h"
+#include "xs_yarandom.h"
+#include "xs_hsv.h"
+#include "xs_colors.h"
+
+/* extern char *progname; */
+
+void
+free_colors(Display *dpy, Colormap cmap, XColor *colors, int ncolors)
+{
+ int i;
+ if (ncolors > 0)
+ {
+ unsigned long *pixels = (unsigned long *)
+ malloc(sizeof(*pixels) * ncolors);
+ for (i = 0; i < ncolors; i++)
+ pixels[i] = colors[i].pixel;
+ XFreeColors (dpy, cmap, pixels, ncolors, 0L);
+ free(pixels);
+ }
+}
+
+
+void
+allocate_writable_colors (Display *dpy, Colormap cmap,
+ unsigned long *pixels, int *ncolorsP)
+{
+ int desired = *ncolorsP;
+ int got = 0;
+ int requested = desired;
+ unsigned long *new_pixels = pixels;
+
+ *ncolorsP = 0;
+ while (got < desired
+ && requested > 0)
+ {
+ if (desired - got < requested)
+ requested = desired - got;
+
+ if (XAllocColorCells (dpy, cmap, False, 0, 0, new_pixels, requested))
+ {
+ /* Got all the pixels we asked for. */
+ new_pixels += requested;
+ got += requested;
+ }
+ else
+ {
+ /* We didn't get all/any of the pixels we asked for. This time, ask
+ for half as many. (If we do get all that we ask for, we ask for
+ the same number again next time, so we only do O(log(n)) server
+ roundtrips.)
+ */
+ requested = requested / 2;
+ }
+ }
+ *ncolorsP += got;
+}
+
+
+
+void
+make_color_ramp (Display *dpy, Colormap cmap,
+ int h1, double s1, double v1, /* 0-360, 0-1.0, 0-1.0 */
+ int h2, double s2, double v2, /* 0-360, 0-1.0, 0-1.0 */
+ XColor *colors, int *ncolorsP,
+ Bool closed_p,
+ Bool allocate_p,
+ Bool writable_p)
+{
+ int i;
+ int ncolors = *ncolorsP;
+ double dh, ds, dv; /* deltas */
+
+ AGAIN:
+
+ memset (colors, 0, (*ncolorsP) * sizeof(*colors));
+
+ if (closed_p)
+ ncolors = (ncolors / 2) + 1;
+
+ /* Note: unlike other routines in this module, this function assumes that
+ if h1 and h2 are more than 180 degrees apart, then the desired direction
+ is always from h1 to h2 (rather than the shorter path.) make_uniform
+ depends on this.
+ */
+ dh = ((double)h2 - (double)h1) / ncolors;
+ ds = (s2 - s1) / ncolors;
+ dv = (v2 - v1) / ncolors;
+
+ for (i = 0; i < ncolors; i++)
+ {
+ colors[i].flags = DoRed|DoGreen|DoBlue;
+ hsv_to_rgb ((int) (h1 + (i*dh)), (s1 + (i*ds)), (v1 + (i*dv)),
+ &colors[i].red, &colors[i].green, &colors[i].blue);
+ }
+
+ if (closed_p)
+ for (i = ncolors; i < *ncolorsP; i++)
+ colors[i] = colors[(*ncolorsP)-i];
+
+ if (!allocate_p)
+ return;
+
+ if (writable_p)
+ {
+ unsigned long *pixels = (unsigned long *)
+ malloc(sizeof(*pixels) * ((*ncolorsP) + 1));
+
+ /* allocate_writable_colors() won't do here, because we need exactly this
+ number of cells, or the color sequence we've chosen won't fit. */
+ if (! XAllocColorCells(dpy, cmap, False, 0, 0, pixels, *ncolorsP))
+ {
+ free(pixels);
+ goto FAIL;
+ }
+
+ for (i = 0; i < *ncolorsP; i++)
+ colors[i].pixel = pixels[i];
+ free (pixels);
+
+ XStoreColors (dpy, cmap, colors, *ncolorsP);
+ }
+ else
+ {
+ for (i = 0; i < *ncolorsP; i++)
+ {
+ XColor color;
+ color = colors[i];
+ if (XAllocColor (dpy, cmap, &color))
+ {
+ colors[i].pixel = color.pixel;
+ }
+ else
+ {
+ free_colors (dpy, cmap, colors, i);
+ goto FAIL;
+ }
+ }
+ }
+
+ return;
+
+ FAIL:
+ /* we weren't able to allocate all the colors we wanted;
+ decrease the requested number and try again.
+ */
+ ncolors = (ncolors > 170 ? ncolors - 20 :
+ ncolors > 100 ? ncolors - 10 :
+ ncolors > 75 ? ncolors - 5 :
+ ncolors > 25 ? ncolors - 3 :
+ ncolors > 10 ? ncolors - 2 :
+ ncolors > 2 ? ncolors - 1 :
+ 0);
+ *ncolorsP = ncolors;
+ if (ncolors > 0)
+ goto AGAIN;
+}
+
+
+#define MAXPOINTS 50 /* yeah, so I'm lazy */
+
+
+static void
+make_color_path (Display *dpy, Colormap cmap,
+ int npoints, int *h, double *s, double *v,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool writable_p)
+{
+ int i, j, k;
+ int total_ncolors = *ncolorsP;
+
+ int ncolors[MAXPOINTS]; /* number of pixels per edge */
+ double dh[MAXPOINTS]; /* distance between pixels, per edge (0 - 360.0) */
+ double ds[MAXPOINTS]; /* distance between pixels, per edge (0 - 1.0) */
+ double dv[MAXPOINTS]; /* distance between pixels, per edge (0 - 1.0) */
+
+ if (npoints == 0)
+ {
+ *ncolorsP = 0;
+ return;
+ }
+ else if (npoints == 2) /* using make_color_ramp() will be faster */
+ {
+ make_color_ramp (dpy, cmap,
+ h[0], s[0], v[0], h[1], s[1], v[1],
+ colors, ncolorsP,
+ True, /* closed_p */
+ allocate_p, writable_p);
+ return;
+ }
+ else if (npoints >= MAXPOINTS)
+ {
+ npoints = MAXPOINTS-1;
+ }
+
+ AGAIN:
+
+ {
+ double DH[MAXPOINTS]; /* Distance between H values in the shortest
+ direction around the circle, that is, the
+ distance between 10 and 350 is 20.
+ (Range is 0 - 360.0.)
+ */
+ double edge[MAXPOINTS]; /* lengths of edges in unit HSV space. */
+ double ratio[MAXPOINTS]; /* proportions of the edges (total 1.0) */
+ double circum = 0;
+ double one_point_oh = 0; /* (debug) */
+
+ for (i = 0; i < npoints; i++)
+ {
+ int j = (i+1) % npoints;
+ double d = ((double) (h[i] - h[j])) / 360;
+ if (d < 0) d = -d;
+ if (d > 0.5) d = 0.5 - (d - 0.5);
+ DH[i] = d;
+ }
+
+ for (i = 0; i < npoints; i++)
+ {
+ int j = (i+1) % npoints;
+ edge[i] = sqrt((DH[i] * DH[j]) +
+ ((s[j] - s[i]) * (s[j] - s[i])) +
+ ((v[j] - v[i]) * (v[j] - v[i])));
+ circum += edge[i];
+ }
+
+#ifdef DEBUG
+ fprintf(stderr, "\ncolors:");
+ for (i=0; i < npoints; i++)
+ fprintf(stderr, " (%d, %.3f, %.3f)", h[i], s[i], v[i]);
+ fprintf(stderr, "\nlengths:");
+ for (i=0; i < npoints; i++)
+ fprintf(stderr, " %.3f", edge[i]);
+#endif /* DEBUG */
+
+ if (circum < 0.0001)
+ goto FAIL;
+
+ for (i = 0; i < npoints; i++)
+ {
+ ratio[i] = edge[i] / circum;
+ one_point_oh += ratio[i];
+ }
+
+#ifdef DEBUG
+ fprintf(stderr, "\nratios:");
+ for (i=0; i < npoints; i++)
+ fprintf(stderr, " %.3f", ratio[i]);
+#endif /* DEBUG */
+
+ if (one_point_oh < 0.99999 || one_point_oh > 1.00001)
+ abort();
+
+ /* space the colors evenly along the circumference -- that means that the
+ number of pixels on a edge is proportional to the length of that edge
+ (relative to the lengths of the other edges.)
+ */
+ for (i = 0; i < npoints; i++)
+ ncolors[i] = total_ncolors * ratio[i];
+
+
+#ifdef DEBUG
+ fprintf(stderr, "\npixels:");
+ for (i=0; i < npoints; i++)
+ fprintf(stderr, " %d", ncolors[i]);
+ fprintf(stderr, " (%d)\n", total_ncolors);
+#endif /* DEBUG */
+
+ for (i = 0; i < npoints; i++)
+ {
+ int j = (i+1) % npoints;
+
+ if (ncolors[i] > 0)
+ {
+ dh[i] = 360 * (DH[i] / ncolors[i]);
+ ds[i] = (s[j] - s[i]) / ncolors[i];
+ dv[i] = (v[j] - v[i]) / ncolors[i];
+ }
+ }
+ }
+
+ memset (colors, 0, (*ncolorsP) * sizeof(*colors));
+
+ k = 0;
+ for (i = 0; i < npoints; i++)
+ {
+ int distance, direction;
+ distance = h[(i+1) % npoints] - h[i];
+ direction = (distance >= 0 ? -1 : 1);
+
+ if (distance > 180)
+ distance = 180 - (distance - 180);
+ else if (distance < -180)
+ distance = -(180 - ((-distance) - 180));
+ else
+ direction = -direction;
+
+#ifdef DEBUG
+ fprintf (stderr, "point %d: %3d %.2f %.2f\n",
+ i, h[i], s[i], v[i]);
+ fprintf(stderr, " h[i]=%d dh[i]=%.2f ncolors[i]=%d\n",
+ h[i], dh[i], ncolors[i]);
+#endif /* DEBUG */
+ for (j = 0; j < ncolors[i]; j++, k++)
+ {
+ double hh = (h[i] + (j * dh[i] * direction));
+ if (hh < 0) hh += 360;
+ else if (hh > 360) hh -= 0;
+ colors[k].flags = DoRed|DoGreen|DoBlue;
+ hsv_to_rgb ((int)
+ hh,
+ (s[i] + (j * ds[i])),
+ (v[i] + (j * dv[i])),
+ &colors[k].red, &colors[k].green, &colors[k].blue);
+#ifdef DEBUG
+ fprintf (stderr, "point %d+%d: %.2f %.2f %.2f %04X %04X %04X\n",
+ i, j,
+ hh,
+ (s[i] + (j * ds[i])),
+ (v[i] + (j * dv[i])),
+ colors[k].red, colors[k].green, colors[k].blue);
+#endif /* DEBUG */
+ }
+ }
+
+ /* Floating-point round-off can make us decide to use fewer colors. */
+ if (k < *ncolorsP)
+ {
+ *ncolorsP = k;
+ if (k <= 0)
+ return;
+ }
+
+ if (!allocate_p)
+ return;
+
+ if (writable_p)
+ {
+ unsigned long *pixels = (unsigned long *)
+ malloc(sizeof(*pixels) * ((*ncolorsP) + 1));
+
+ /* allocate_writable_colors() won't do here, because we need exactly this
+ number of cells, or the color sequence we've chosen won't fit. */
+ if (! XAllocColorCells(dpy, cmap, False, 0, 0, pixels, *ncolorsP))
+ {
+ free(pixels);
+ goto FAIL;
+ }
+
+ for (i = 0; i < *ncolorsP; i++)
+ colors[i].pixel = pixels[i];
+ free (pixels);
+
+ XStoreColors (dpy, cmap, colors, *ncolorsP);
+ }
+ else
+ {
+ for (i = 0; i < *ncolorsP; i++)
+ {
+ XColor color;
+ color = colors[i];
+ if (XAllocColor (dpy, cmap, &color))
+ {
+ colors[i].pixel = color.pixel;
+ }
+ else
+ {
+ free_colors (dpy, cmap, colors, i);
+ goto FAIL;
+ }
+ }
+ }
+
+ return;
+
+ FAIL:
+ /* we weren't able to allocate all the colors we wanted;
+ decrease the requested number and try again.
+ */
+ total_ncolors = (total_ncolors > 170 ? total_ncolors - 20 :
+ total_ncolors > 100 ? total_ncolors - 10 :
+ total_ncolors > 75 ? total_ncolors - 5 :
+ total_ncolors > 25 ? total_ncolors - 3 :
+ total_ncolors > 10 ? total_ncolors - 2 :
+ total_ncolors > 2 ? total_ncolors - 1 :
+ 0);
+ *ncolorsP = total_ncolors;
+ if (total_ncolors > 0)
+ goto AGAIN;
+}
+
+
+void
+make_color_loop (Display *dpy, Colormap cmap,
+ int h0, double s0, double v0, /* 0-360, 0-1.0, 0-1.0 */
+ int h1, double s1, double v1, /* 0-360, 0-1.0, 0-1.0 */
+ int h2, double s2, double v2, /* 0-360, 0-1.0, 0-1.0 */
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool writable_p)
+{
+ int h[3];
+ double s[3], v[3];
+ h[0] = h0; h[1] = h1; h[2] = h2;
+ s[0] = s0; s[1] = s1; s[2] = s2;
+ v[0] = v0; v[1] = v1; v[2] = v2;
+ make_color_path(dpy, cmap,
+ 3, h, s, v,
+ colors, ncolorsP,
+ allocate_p, writable_p);
+}
+
+
+static void
+complain (int wanted_colors, int got_colors,
+ Bool wanted_writable, Bool got_writable)
+{
+ if (wanted_writable && !got_writable)
+ fprintf(stderr,
+ "%s: wanted %d writable colors; got %d read-only colors.\n",
+ "colors (kscreensaver)", wanted_colors, got_colors);
+
+ else if (wanted_colors > (got_colors + 10))
+ /* don't bother complaining if we're within ten pixels. */
+ fprintf(stderr, "%s: wanted %d%s colors; got %d.\n",
+ "colors (kscreensaver)", wanted_colors, (got_writable ? " writable" : ""),
+ got_colors);
+}
+
+
+void
+make_smooth_colormap (Display *dpy, Visual *visual, Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p)
+{
+ int npoints;
+ int ncolors = *ncolorsP;
+ Bool wanted_writable = (allocate_p && writable_pP && *writable_pP);
+ int i;
+ int h[MAXPOINTS];
+ double s[MAXPOINTS];
+ double v[MAXPOINTS];
+ double total_s = 0;
+ double total_v = 0;
+ Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */
+
+ if (*ncolorsP <= 0) return;
+
+ {
+ int n = random() % 20;
+ if (n <= 5) npoints = 2; /* 30% of the time */
+ else if (n <= 15) npoints = 3; /* 50% of the time */
+ else if (n <= 18) npoints = 4; /* 15% of the time */
+ else npoints = 5; /* 5% of the time */
+ }
+
+ REPICK_ALL_COLORS:
+ for (i = 0; i < npoints; i++)
+ {
+ REPICK_THIS_COLOR:
+ h[i] = random() % 360;
+ s[i] = frand(1.0);
+ v[i] = frand(0.8) + 0.2;
+
+ /* Make sure that no two adjascent colors are *too* close together.
+ If they are, try again.
+ */
+ if (i > 0)
+ {
+ int j = (i+1 == npoints) ? 0 : (i-1);
+ double hi = ((double) h[i]) / 360;
+ double hj = ((double) h[j]) / 360;
+ double dh = hj - hi;
+ double distance;
+ if (dh < 0) dh = -dh;
+ if (dh > 0.5) dh = 0.5 - (dh - 0.5);
+ distance = sqrt ((dh * dh) +
+ ((s[j] - s[i]) * (s[j] - s[i])) +
+ ((v[j] - v[i]) * (v[j] - v[i])));
+ if (distance < 0.2)
+ goto REPICK_THIS_COLOR;
+ }
+ total_s += s[i];
+ total_v += v[i];
+ }
+
+ /* If the average saturation or intensity are too low, repick the colors,
+ so that we don't end up with a black-and-white or too-dark map.
+ */
+ if (total_s / npoints < 0.2)
+ goto REPICK_ALL_COLORS;
+ if (total_v / npoints < 0.3)
+ goto REPICK_ALL_COLORS;
+
+ /* If this visual doesn't support writable cells, don't bother trying.
+ */
+ if (wanted_writable && !has_writable_cells(screen, visual))
+ *writable_pP = False;
+
+ RETRY_NON_WRITABLE:
+ make_color_path (dpy, cmap, npoints, h, s, v, colors, &ncolors,
+ allocate_p, (writable_pP && *writable_pP));
+
+ /* If we tried for writable cells and got none, try for non-writable. */
+ if (allocate_p && *ncolorsP == 0 && *writable_pP)
+ {
+ *writable_pP = False;
+ goto RETRY_NON_WRITABLE;
+ }
+
+ if (verbose_p)
+ complain(*ncolorsP, ncolors, wanted_writable,
+ wanted_writable && *writable_pP);
+
+ *ncolorsP = ncolors;
+}
+
+
+void
+make_uniform_colormap (Display *dpy, Visual *visual, Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p)
+{
+ int ncolors = *ncolorsP;
+ Bool wanted_writable = (allocate_p && writable_pP && *writable_pP);
+ Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */
+
+ double S = ((double) (random() % 34) + 66) / 100.0; /* range 66%-100% */
+ double V = ((double) (random() % 34) + 66) / 100.0; /* range 66%-100% */
+
+ if (*ncolorsP <= 0) return;
+
+ /* If this visual doesn't support writable cells, don't bother trying. */
+ if (wanted_writable && !has_writable_cells(screen, visual))
+ *writable_pP = False;
+
+ RETRY_NON_WRITABLE:
+ make_color_ramp(dpy, cmap,
+ 0, S, V,
+ 359, S, V,
+ colors, &ncolors,
+ False, True, wanted_writable);
+
+ /* If we tried for writable cells and got none, try for non-writable. */
+ if (allocate_p && *ncolorsP == 0 && writable_pP && *writable_pP)
+ {
+ ncolors = *ncolorsP;
+ *writable_pP = False;
+ goto RETRY_NON_WRITABLE;
+ }
+
+ if (verbose_p)
+ complain(*ncolorsP, ncolors, wanted_writable,
+ wanted_writable && *writable_pP);
+
+ *ncolorsP = ncolors;
+}
+
+
+void
+make_random_colormap (Display *dpy, Visual *visual, Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool bright_p,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p)
+{
+ Bool wanted_writable = (allocate_p && writable_pP && *writable_pP);
+ int ncolors = *ncolorsP;
+ int i;
+ Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */
+
+ if (*ncolorsP <= 0) return;
+
+ /* If this visual doesn't support writable cells, don't bother trying. */
+ if (wanted_writable && !has_writable_cells(screen, visual))
+ *writable_pP = False;
+
+ for (i = 0; i < ncolors; i++)
+ {
+ colors[i].flags = DoRed|DoGreen|DoBlue;
+ if (bright_p)
+ {
+ int H = random() % 360; /* range 0-360 */
+ double S = ((double) (random()%70) + 30)/100.0; /* range 30%-100% */
+ double V = ((double) (random()%34) + 66)/100.0; /* range 66%-100% */
+ hsv_to_rgb (H, S, V,
+ &colors[i].red, &colors[i].green, &colors[i].blue);
+ }
+ else
+ {
+ colors[i].red = random() % 0xFFFF;
+ colors[i].green = random() % 0xFFFF;
+ colors[i].blue = random() % 0xFFFF;
+ }
+ }
+
+ if (!allocate_p)
+ return;
+
+ RETRY_NON_WRITABLE:
+ if (writable_pP && *writable_pP)
+ {
+ unsigned long *pixels = (unsigned long *)
+ malloc(sizeof(*pixels) * (ncolors + 1));
+
+ allocate_writable_colors (dpy, cmap, pixels, &ncolors);
+ if (ncolors > 0)
+ for (i = 0; i < ncolors; i++)
+ colors[i].pixel = pixels[i];
+ free (pixels);
+ if (ncolors > 0)
+ XStoreColors (dpy, cmap, colors, ncolors);
+ }
+ else
+ {
+ for (i = 0; i < ncolors; i++)
+ {
+ XColor color;
+ color = colors[i];
+ if (!XAllocColor (dpy, cmap, &color))
+ break;
+ colors[i].pixel = color.pixel;
+ }
+ ncolors = i;
+ }
+
+ /* If we tried for writable cells and got none, try for non-writable. */
+ if (allocate_p && ncolors == 0 && writable_pP && *writable_pP)
+ {
+ ncolors = *ncolorsP;
+ *writable_pP = False;
+ goto RETRY_NON_WRITABLE;
+ }
+
+ if (verbose_p)
+ complain(*ncolorsP, ncolors, wanted_writable,
+ wanted_writable && *writable_pP);
+
+ *ncolorsP = ncolors;
+}
+
+
+void
+rotate_colors (Display *dpy, Colormap cmap,
+ XColor *colors, int ncolors, int distance)
+{
+ int i;
+ XColor *colors2 = (XColor *) malloc(sizeof(*colors2) * ncolors);
+ if (ncolors < 2) return;
+ distance = distance % ncolors;
+ for (i = 0; i < ncolors; i++)
+ {
+ int j = i - distance;
+ if (j >= ncolors) j -= ncolors;
+ if (j < 0) j += ncolors;
+ colors2[i] = colors[j];
+ colors2[i].pixel = colors[i].pixel;
+ }
+ XStoreColors (dpy, cmap, colors2, ncolors);
+ XFlush(dpy);
+ memcpy(colors, colors2, sizeof(*colors) * ncolors);
+ free(colors2);
+}
diff --git a/kscreensaver/xsavers/xs_colors.h b/kscreensaver/xsavers/xs_colors.h
new file mode 100644
index 00000000..61421cf5
--- /dev/null
+++ b/kscreensaver/xsavers/xs_colors.h
@@ -0,0 +1,140 @@
+/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifndef __COLORS_H__
+#define __COLORS_H__
+
+/* Like XFreeColors, but works on `XColor *' instead of `unsigned long *'
+ */
+extern void free_colors (Display *, Colormap, XColor *, int ncolors);
+
+
+/* Allocates writable, non-contiguous color cells. The number requested is
+ passed in *ncolorsP, and the number actually allocated is returned there.
+ (Unlike XAllocColorCells(), this will allocate as many as it can, instead
+ of failing if they can't all be allocated.)
+ */
+extern void allocate_writable_colors (Display *dpy, Colormap cmap,
+ unsigned long *pixels, int *ncolorsP);
+
+
+/* Generates a sequence of colors evenly spaced between the given pair
+ of HSV coordinates.
+
+ If closed_p is true, the colors will go from the first point to the
+ second then back to the first.
+
+ If allocate_p is true, the colors will be allocated from the map;
+ if enough colors can't be allocated, we will try for less, and the
+ result will be returned to ncolorsP.
+
+ If writable_p is true, writable color cells will be allocated;
+ otherwise, read-only cells will be allocated.
+ */
+extern void make_color_ramp (Display *dpy, Colormap cmap,
+ int h1, double s1, double v1,
+ int h2, double s2, double v2,
+ XColor *colors, int *ncolorsP,
+ Bool closed_p,
+ Bool allocate_p,
+ Bool writable_p);
+
+/* Generates a sequence of colors evenly spaced around the triangle
+ indicated by the thee HSV coordinates.
+
+ If allocate_p is true, the colors will be allocated from the map;
+ if enough colors can't be allocated, we will try for less, and the
+ result will be returned to ncolorsP.
+
+ If writable_p is true, writable color cells will be allocated;
+ otherwise, read-only cells will be allocated.
+ */
+extern void make_color_loop (Display *, Colormap,
+ int h1, double s1, double v1,
+ int h2, double s2, double v2,
+ int h3, double s3, double v3,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool writable_p);
+
+
+/* Allocates a hopefully-interesting colormap, which will be a closed loop
+ without any sudden transitions.
+
+ If allocate_p is true, the colors will be allocated from the map;
+ if enough colors can't be allocated, we will try for less, and the
+ result will be returned to ncolorsP. An error message will be
+ printed on stderr (if verbose_p).
+
+ If *writable_pP is true, writable color cells will be allocated;
+ otherwise, read-only cells will be allocated. If no writable cells
+ cannot be allocated, we will try to allocate unwritable cells
+ instead, and print a message on stderr to that effect (if verbose_p).
+ */
+extern void make_smooth_colormap (Display *dpy, Visual *visual,
+ Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p);
+
+/* Allocates a uniform colormap which touches each hue of the spectrum,
+ evenly spaced. The saturation and intensity are chosen randomly, but
+ will be high enough to be visible.
+
+ If allocate_p is true, the colors will be allocated from the map;
+ if enough colors can't be allocated, we will try for less, and the
+ result will be returned to ncolorsP. An error message will be
+ printed on stderr (if verbose_p).
+
+ If *writable_pP is true, writable color cells will be allocated;
+ otherwise, read-only cells will be allocated. If no writable cells
+ cannot be allocated, we will try to allocate unwritable cells
+ instead, and print a message on stderr to that effect (if verbose_p).
+ */
+extern void make_uniform_colormap (Display *dpy, Visual *visual,
+ Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p);
+
+/* Allocates a random colormap (the colors are unrelated to one another.)
+ If `bright_p' is false, the colors will be completely random; if it is
+ true, all of the colors will be bright enough to see on a black background.
+
+ If allocate_p is true, the colors will be allocated from the map;
+ if enough colors can't be allocated, we will try for less, and the
+ result will be returned to ncolorsP. An error message will be
+ printed on stderr (if verbose_p).
+
+ If *writable_pP is true, writable color cells will be allocated;
+ otherwise, read-only cells will be allocated. If no writable cells
+ cannot be allocated, we will try to allocate unwritable cells
+ instead, and print a message on stderr to that effect (if verbose_p).
+ */
+extern void make_random_colormap (Display *dpy, Visual *visual,
+ Colormap cmap,
+ XColor *colors, int *ncolorsP,
+ Bool bright_p,
+ Bool allocate_p,
+ Bool *writable_pP,
+ Bool verbose_p);
+
+
+/* Assuming that the array of colors indicates the current state of a set
+ of writable color cells, this rotates the contents of the array by
+ `distance' steps, moving the colors of cell N to cell (N - distance).
+ */
+extern void rotate_colors (Display *, Colormap,
+ XColor *, int ncolors, int distance);
+
+#endif /* __COLORS_H__ */
diff --git a/kscreensaver/xsavers/xs_hsv.c b/kscreensaver/xsavers/xs_hsv.c
new file mode 100644
index 00000000..51385d00
--- /dev/null
+++ b/kscreensaver/xsavers/xs_hsv.c
@@ -0,0 +1,81 @@
+/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+/* This file contains some utility routines for randomly picking the colors
+ to hack the screen with.
+ */
+
+/* #include "utils.h" */
+#include "xs_hsv.h"
+
+void
+hsv_to_rgb (int h, double s, double v,
+ unsigned short *r, unsigned short *g, unsigned short *b)
+{
+ double H, S, V, R, G, B;
+ double p1, p2, p3;
+ double f;
+ int i;
+
+ if (s < 0) s = 0;
+ if (v < 0) v = 0;
+ if (s > 1) s = 1;
+ if (v > 1) v = 1;
+
+ S = s; V = v;
+ H = (h % 360) / 60.0;
+ i = H;
+ f = H - i;
+ p1 = V * (1 - S);
+ p2 = V * (1 - (S * f));
+ p3 = V * (1 - (S * (1 - f)));
+ if (i == 0) { R = V; G = p3; B = p1; }
+ else if (i == 1) { R = p2; G = V; B = p1; }
+ else if (i == 2) { R = p1; G = V; B = p3; }
+ else if (i == 3) { R = p1; G = p2; B = V; }
+ else if (i == 4) { R = p3; G = p1; B = V; }
+ else { R = V; G = p1; B = p2; }
+ *r = R * 65535;
+ *g = G * 65535;
+ *b = B * 65535;
+}
+
+void
+rgb_to_hsv (unsigned short r, unsigned short g, unsigned short b,
+ int *h, double *s, double *v)
+{
+ double R, G, B, H, S, V;
+ double cmax, cmin;
+ double cmm;
+ int imax;
+ R = ((double) r) / 65535.0;
+ G = ((double) g) / 65535.0;
+ B = ((double) b) / 65535.0;
+ cmax = R; cmin = G; imax = 1;
+ if ( cmax < G ) { cmax = G; cmin = R; imax = 2; }
+ if ( cmax < B ) { cmax = B; imax = 3; }
+ if ( cmin > B ) { cmin = B; }
+ cmm = cmax - cmin;
+ V = cmax;
+ if (cmm == 0)
+ S = H = 0;
+ else
+ {
+ S = cmm / cmax;
+ if (imax == 1) H = (G - B) / cmm;
+ else if (imax == 2) H = 2.0 + (B - R) / cmm;
+ else /*if (imax == 3)*/ H = 4.0 + (R - G) / cmm;
+ if (H < 0) H += 6.0;
+ }
+ *h = (H * 60.0);
+ *s = S;
+ *v = V;
+}
diff --git a/kscreensaver/xsavers/xs_hsv.h b/kscreensaver/xsavers/xs_hsv.h
new file mode 100644
index 00000000..e0fdfb0f
--- /dev/null
+++ b/kscreensaver/xsavers/xs_hsv.h
@@ -0,0 +1,27 @@
+/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifndef __HSV_H__
+#define __HSV_H__
+
+/* Converts between RGB and HSV color spaces.
+ R, G, and B are in the range 0 - 65535;
+ H is in the range 0 - 360;
+ S and V are in the range 0.0 - 1.0.
+ */
+extern void hsv_to_rgb (int h, double s, double v,
+ unsigned short *r,
+ unsigned short *g,
+ unsigned short *b);
+extern void rgb_to_hsv (unsigned short r, unsigned short g, unsigned short b,
+ int *h, double *s, double *v);
+
+#endif /* __HSV_H__ */
diff --git a/kscreensaver/xsavers/xs_utils.h b/kscreensaver/xsavers/xs_utils.h
new file mode 100644
index 00000000..284bb86d
--- /dev/null
+++ b/kscreensaver/xsavers/xs_utils.h
@@ -0,0 +1,22 @@
+/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xos.h>
diff --git a/kscreensaver/xsavers/xs_visual.c b/kscreensaver/xsavers/xs_visual.c
new file mode 100644
index 00000000..ff20374a
--- /dev/null
+++ b/kscreensaver/xsavers/xs_visual.c
@@ -0,0 +1,473 @@
+/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998
+ * by Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+/* This file contains some code for intelligently picking the best visual
+ (where "best" is biased in the direction of either: high color counts;
+ or: having writable color cells...)
+ */
+
+#include "xs_utils.h"
+
+#include "xs_visual.h"
+
+#include <X11/Xutil.h>
+
+/* extern char *progname; */
+
+
+#ifndef isupper
+# define isupper(c) ((c) >= 'A' && (c) <= 'Z')
+#endif
+#ifndef _tolower
+# define _tolower(c) ((c) - 'A' + 'a')
+#endif
+
+
+static Visual *pick_best_visual (Screen *, Bool, Bool);
+static Visual *pick_mono_visual (Screen *);
+static Visual *pick_best_visual_of_class (Screen *, int);
+static Visual *id_to_visual (Screen *, int);
+static Visual *id_to_visual (Screen *screen, int id);
+
+
+#define DEFAULT_VISUAL -1
+#define BEST_VISUAL -2
+#define MONO_VISUAL -3
+#define GRAY_VISUAL -4
+#define COLOR_VISUAL -5
+#define SPECIFIC_VISUAL -6
+
+Visual *
+get_visual (Screen *screen, const char *string, Bool prefer_writable_cells,
+ Bool verbose_p)
+{
+ char *v = (string ? strdup(string) : 0);
+ char c, *tmp;
+ int vclass;
+ unsigned long id;
+ Visual *result = 0;
+
+ if (v)
+ for (tmp = v; *tmp; tmp++)
+ if (isupper (*tmp)) *tmp = _tolower (*tmp);
+
+ if (!v) vclass = BEST_VISUAL;
+ else if (!strcmp (v, "default")) vclass = DEFAULT_VISUAL;
+ else if (!strcmp (v, "best")) vclass = BEST_VISUAL;
+ else if (!strcmp (v, "mono")) vclass = MONO_VISUAL;
+ else if (!strcmp (v, "monochrome")) vclass = MONO_VISUAL;
+ else if (!strcmp (v, "gray")) vclass = GRAY_VISUAL;
+ else if (!strcmp (v, "grey")) vclass = GRAY_VISUAL;
+ else if (!strcmp (v, "color")) vclass = COLOR_VISUAL;
+ else if (!strcmp (v, "staticgray")) vclass = StaticGray;
+ else if (!strcmp (v, "staticcolor")) vclass = StaticColor;
+ else if (!strcmp (v, "truecolor")) vclass = TrueColor;
+ else if (!strcmp (v, "grayscale")) vclass = GrayScale;
+ else if (!strcmp (v, "greyscale")) vclass = GrayScale;
+ else if (!strcmp (v, "pseudocolor")) vclass = PseudoColor;
+ else if (!strcmp (v, "directcolor")) vclass = DirectColor;
+ else if (1 == sscanf (v, " %ld %c", &id, &c)) vclass = SPECIFIC_VISUAL;
+ else if (1 == sscanf (v, " 0x%lx %c", &id, &c)) vclass = SPECIFIC_VISUAL;
+ else
+ {
+ fprintf (stderr, "%s: unrecognized visual \"%s\".\n", "kscreensaver", v);
+ vclass = DEFAULT_VISUAL;
+ }
+
+ if (vclass == DEFAULT_VISUAL)
+ result = DefaultVisualOfScreen (screen);
+ else if (vclass == BEST_VISUAL)
+ result = pick_best_visual (screen, prefer_writable_cells, False);
+ else if (vclass == MONO_VISUAL)
+ {
+ result = pick_mono_visual (screen);
+ if (!result && verbose_p)
+ fprintf (stderr, "%s: no monochrome visuals.\n", "kscreensaver");
+ }
+ else if (vclass == GRAY_VISUAL)
+ {
+ if (prefer_writable_cells)
+ result = pick_best_visual_of_class (screen, GrayScale);
+ if (!result)
+ result = pick_best_visual_of_class (screen, StaticGray);
+ if (!result)
+ result = pick_best_visual_of_class (screen, GrayScale);
+ if (!result && verbose_p)
+ fprintf (stderr, "%s: no GrayScale or StaticGray visuals.\n",
+ "kscreensaver");
+ }
+ else if (vclass == COLOR_VISUAL)
+ {
+ int class;
+ /* First see if the default visual will do. */
+ result = DefaultVisualOfScreen (screen);
+ class = visual_class(screen, result);
+ if (class != TrueColor &&
+ class != PseudoColor &&
+ class != DirectColor &&
+ class != StaticColor)
+ result = 0;
+ if (result && visual_depth(screen, result) <= 1)
+ result = 0;
+
+ /* Else, find the best non-default color visual */
+ if (!result)
+ result = pick_best_visual (screen, prefer_writable_cells, True);
+
+ if (!result && verbose_p)
+ fprintf (stderr, "%s: no color visuals.\n", "kscreensaver");
+ }
+ else if (vclass == SPECIFIC_VISUAL)
+ {
+ result = id_to_visual (screen, id);
+ if (!result && verbose_p)
+ fprintf (stderr, "%s: no visual with id 0x%x.\n", "kscreensaver",
+ (unsigned int) id);
+ }
+ else
+ {
+ Visual *visual = pick_best_visual_of_class (screen, vclass);
+ if (visual)
+ result = visual;
+ else if (verbose_p)
+ fprintf (stderr, "%s: no visual of class %s.\n", "kscreensaver", v);
+ }
+
+ if (v) free (v);
+ return result;
+}
+
+Visual *
+get_visual_resource (Screen *screen, char *name, char *class,
+ Bool prefer_writable_cells)
+{
+/*
+ char *string = get_string_resource (name, class);
+ Visual *v = get_visual (screen, string, prefer_writable_cells, True);
+ if (string)
+ free(string);
+ if (v)
+ return v;
+ else
+*/
+ return DefaultVisualOfScreen (screen);
+}
+
+
+static Visual *
+pick_best_visual (Screen *screen, Bool prefer_writable_cells, Bool color_only)
+{
+ Visual *visual;
+
+ if (!prefer_writable_cells)
+ {
+ /* If we don't prefer writable cells, then the "best" visual is the one
+ on which we can allocate the largest range and number of colors.
+
+ Therefore, a TrueColor visual which is at least 16 bits deep is best.
+ (The assumption here being that a TrueColor of less than 16 bits is
+ really just a PseudoColor visual with a pre-allocated color cube.)
+
+ The next best thing is a PseudoColor visual of any type. After that
+ come the non-colormappable visuals, and non-color visuals.
+ */
+ if ((visual = pick_best_visual_of_class (screen, TrueColor)) &&
+ visual_depth (screen, visual) >= 16)
+ return visual;
+ }
+
+#define TRY_CLASS(CLASS) \
+ if ((visual = pick_best_visual_of_class (screen, CLASS)) && \
+ (!color_only || visual_depth(screen, visual) > 1)) \
+ return visual
+ TRY_CLASS(PseudoColor);
+ TRY_CLASS(TrueColor);
+ TRY_CLASS(DirectColor);
+ TRY_CLASS(StaticColor);
+ if (!color_only)
+ {
+ TRY_CLASS(GrayScale);
+ TRY_CLASS(StaticGray);
+ }
+#undef TRY_CLASS
+
+ visual = DefaultVisualOfScreen (screen);
+ if (!color_only || visual_depth(screen, visual) > 1)
+ return visual;
+ else
+ return 0;
+}
+
+static Visual *
+pick_mono_visual (Screen *screen)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count;
+
+ vi_in.depth = 1;
+ vi_in.screen = screen_number (screen);
+ vi_out = XGetVisualInfo (dpy, (VisualDepthMask | VisualScreenMask),
+ &vi_in, &out_count);
+ if (vi_out)
+ {
+ Visual *v = (out_count > 0 ? vi_out [0].visual : 0);
+ if (v && vi_out[0].depth != 1)
+ v = 0;
+ XFree ((char *) vi_out);
+ return v;
+ }
+ else
+ return 0;
+}
+
+
+static Visual *
+pick_best_visual_of_class (Screen *screen, int visual_class)
+{
+ /* The best visual of a class is the one which on which we can allocate
+ the largest range and number of colors, which means the one with the
+ greatest depth and number of cells.
+
+ (But actually, for XDaliClock, all visuals of the same class are
+ probably equivalent - either we have writable cells or we don't.)
+ */
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count;
+
+ vi_in.class = visual_class;
+ vi_in.screen = screen_number (screen);
+ vi_out = XGetVisualInfo (dpy, (VisualClassMask | VisualScreenMask),
+ &vi_in, &out_count);
+ if (vi_out)
+ {
+ /* choose the 'best' one, if multiple */
+ int i, best;
+ Visual *visual;
+ for (i = 0, best = 0; i < out_count; i++)
+ /* It's better if it's deeper, or if it's the same depth with
+ more cells (does that ever happen? Well, it could...) */
+ if ((vi_out [i].depth > vi_out [best].depth) ||
+ ((vi_out [i].depth == vi_out [best].depth) &&
+ (vi_out [i].colormap_size > vi_out [best].colormap_size)))
+ best = i;
+ visual = (best < out_count ? vi_out [best].visual : 0);
+ XFree ((char *) vi_out);
+ return visual;
+ }
+ else
+ return 0;
+}
+
+static Visual *
+id_to_visual (Screen *screen, int id)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count;
+ vi_in.screen = screen_number (screen);
+ vi_in.visualid = id;
+ vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask),
+ &vi_in, &out_count);
+ if (vi_out)
+ {
+ Visual *v = vi_out[0].visual;
+ XFree ((char *) vi_out);
+ return v;
+ }
+ return 0;
+}
+
+int
+visual_depth (Screen *screen, Visual *visual)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count, d;
+ vi_in.screen = screen_number (screen);
+ vi_in.visualid = XVisualIDFromVisual (visual);
+ vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask,
+ &vi_in, &out_count);
+ if (! vi_out) abort ();
+ d = vi_out [0].depth;
+ XFree ((char *) vi_out);
+ return d;
+}
+
+
+#if 0
+/* You very probably don't want to be using this.
+ Pixmap depth doesn't refer to the depths of pixmaps, but rather, to
+ the depth of protocol-level on-the-wire pixmap data, that is, XImages.
+ To get this info, you should be looking at XImage->bits_per_pixel
+ instead. (And allocating the data for your XImage structures by
+ multiplying ximage->bytes_per_line by ximage->height.)
+ */
+int
+visual_pixmap_depth (Screen *screen, Visual *visual)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ int vdepth = visual_depth (screen, visual);
+ int pdepth = vdepth;
+ int i, pfvc = 0;
+ XPixmapFormatValues *pfv = XListPixmapFormats (dpy, &pfvc);
+
+ /* Return the first matching depth in the pixmap formats. If there are no
+ matching pixmap formats (which shouldn't be able to happen at all) then
+ return the visual depth instead. */
+ for (i = 0; i < pfvc; i++)
+ if (pfv[i].depth == vdepth)
+ {
+ pdepth = pfv[i].bits_per_pixel;
+ break;
+ }
+ if (pfv)
+ XFree (pfv);
+ return pdepth;
+}
+#endif /* 0 */
+
+
+int
+visual_class (Screen *screen, Visual *visual)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count, c;
+ vi_in.screen = screen_number (screen);
+ vi_in.visualid = XVisualIDFromVisual (visual);
+ vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask,
+ &vi_in, &out_count);
+ if (! vi_out) abort ();
+ c = vi_out [0].class;
+ XFree ((char *) vi_out);
+ return c;
+}
+
+Bool
+has_writable_cells (Screen *screen, Visual *visual)
+{
+ switch (visual_class (screen, visual))
+ {
+ case GrayScale: /* Mappable grays. */
+ case PseudoColor: /* Mappable colors. */
+ return True;
+ case StaticGray: /* Fixed grays. */
+ case TrueColor: /* Fixed colors. */
+ case StaticColor: /* (What's the difference again?) */
+ case DirectColor: /* DirectColor visuals are like TrueColor, but have
+ three colormaps - one for each component of RGB.
+ Screw it. */
+ return False;
+ default:
+ abort();
+ }
+}
+
+void
+describe_visual (FILE *f, Screen *screen, Visual *visual, Bool private_cmap_p)
+{
+ char n[10];
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count;
+ vi_in.screen = screen_number (screen);
+ vi_in.visualid = XVisualIDFromVisual (visual);
+ vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask),
+ &vi_in, &out_count);
+ if (! vi_out) abort ();
+ if (private_cmap_p)
+ sprintf(n, "%3d", vi_out->colormap_size);
+ else
+ strcpy(n, "default");
+
+ fprintf (f, "0x%02x (%s depth: %2d, cmap: %s)\n",
+ (unsigned int) vi_out->visualid,
+ (vi_out->class == StaticGray ? "StaticGray, " :
+ vi_out->class == StaticColor ? "StaticColor," :
+ vi_out->class == TrueColor ? "TrueColor, " :
+ vi_out->class == GrayScale ? "GrayScale, " :
+ vi_out->class == PseudoColor ? "PseudoColor," :
+ vi_out->class == DirectColor ? "DirectColor," :
+ "UNKNOWN: "),
+ vi_out->depth, n);
+ XFree ((char *) vi_out);
+}
+
+int
+screen_number (Screen *screen)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ int i;
+ for (i = 0; i < ScreenCount (dpy); i++)
+ if (ScreenOfDisplay (dpy, i) == screen)
+ return i;
+ abort ();
+}
+
+int
+visual_cells (Screen *screen, Visual *visual)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ int out_count, c;
+ vi_in.screen = screen_number (screen);
+ vi_in.visualid = XVisualIDFromVisual (visual);
+ vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask,
+ &vi_in, &out_count);
+ if (! vi_out) abort ();
+ c = vi_out [0].colormap_size;
+ XFree ((char *) vi_out);
+ return c;
+}
+
+Visual *
+find_similar_visual(Screen *screen, Visual *old_visual)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ XVisualInfo vi_in, *vi_out;
+ Visual *result = 0;
+ int out_count;
+
+ vi_in.screen = screen_number (screen);
+ vi_in.class = visual_class (screen, old_visual);
+ vi_in.depth = visual_depth (screen, old_visual);
+
+ /* Look for a visual of the same class and depth.
+ */
+ vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask |
+ VisualDepthMask),
+ &vi_in, &out_count);
+ if (vi_out && out_count > 0)
+ result = vi_out[0].visual;
+ if (vi_out) XFree (vi_out);
+ vi_out = 0;
+
+ /* Failing that, look for a visual of the same class.
+ */
+ if (!result)
+ {
+ vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask),
+ &vi_in, &out_count);
+ if (vi_out && out_count > 0)
+ result = vi_out[0].visual;
+ if (vi_out) XFree (vi_out);
+ vi_out = 0;
+ }
+
+ /* Failing that, return the default visual. */
+ if (!result)
+ result = DefaultVisualOfScreen (screen);
+
+ return result;
+}
diff --git a/kscreensaver/xsavers/xs_visual.h b/kscreensaver/xsavers/xs_visual.h
new file mode 100644
index 00000000..2a0b3534
--- /dev/null
+++ b/kscreensaver/xsavers/xs_visual.h
@@ -0,0 +1,27 @@
+/* xscreensaver, Copyright (c) 1993-1998 by Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifndef __VISUAL_H__
+#define __VISUAL_H__
+
+extern Visual *get_visual (Screen *, const char *name, Bool, Bool);
+extern Visual *get_visual_resource (Screen *, char *, char *, Bool);
+extern int visual_depth (Screen *, Visual *);
+/* extern int visual_pixmap_depth (Screen *, Visual *); */
+extern int visual_class (Screen *, Visual *);
+extern int visual_cells (Screen *, Visual *);
+extern int screen_number (Screen *);
+extern Visual *find_similar_visual (Screen *, Visual *old);
+extern void describe_visual (FILE *f, Screen *, Visual *, Bool private_cmap_p);
+extern Visual *get_overlay_visual (Screen *, unsigned long *pixel_return);
+extern Bool has_writable_cells (Screen *screen, Visual *visual);
+
+#endif /* __VISUAL_H__ */
diff --git a/kscreensaver/xsavers/xs_yarandom.h b/kscreensaver/xsavers/xs_yarandom.h
new file mode 100644
index 00000000..f803d23c
--- /dev/null
+++ b/kscreensaver/xsavers/xs_yarandom.h
@@ -0,0 +1,52 @@
+/* xscreensaver, Copyright (c) 1997 by Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifndef __YARANDOM_H__
+#define __YARANDOM_H__
+
+#undef random
+#undef rand
+#undef drand48
+#undef srandom
+#undef srand
+#undef srand48
+#undef frand
+
+#ifdef VMS
+# include "vms-gtod.h"
+#endif
+
+/* #define random() ya_random()
+ #define srandom(i) ya_rand_init(0) */
+
+extern unsigned int ya_random (void);
+extern void ya_rand_init (unsigned int);
+
+
+#if defined (__GNUC__) && (__GNUC__ >= 2)
+ /* Implement frand using GCC's statement-expression extension. */
+
+# define frand(f) \
+ ({ double tmp = (((double) random()) / \
+ (((double) ((unsigned int)~0)) / ((double) (f)))); \
+ tmp < 0 ? (-tmp) : tmp; })
+
+#else /* not GCC2 - implement frand using a global variable.*/
+
+static double _frand_tmp_;
+# define frand(f) \
+ (_frand_tmp_ = (((double) random()) / \
+ (((double) ((unsigned int)~0)) / ((double) (f)))), \
+ _frand_tmp_ < 0 ? (-_frand_tmp_) : _frand_tmp_)
+
+#endif /* not GCC2 */
+
+#endif /* __YARANDOM_H__ */
diff --git a/kwin-styles/Makefile.am b/kwin-styles/Makefile.am
new file mode 100644
index 00000000..82fda365
--- /dev/null
+++ b/kwin-styles/Makefile.am
@@ -0,0 +1,4 @@
+SUBDIRS = kstep glow cde icewm openlook kde1 system riscos smooth-blend
+
+messages:
+ $(XGETTEXT) `find . -name \*.cpp` -o $(podir)/kwin_art_clients.pot
diff --git a/kwin-styles/cde/Makefile.am b/kwin-styles/cde/Makefile.am
new file mode 100644
index 00000000..46d74191
--- /dev/null
+++ b/kwin-styles/cde/Makefile.am
@@ -0,0 +1,22 @@
+
+INCLUDES = $(all_includes)
+
+SUBDIRS = . config
+
+kde_module_LTLIBRARIES = kwin3_cde.la
+
+kwin3_cde_la_SOURCES = cdeclient.cpp
+kwin3_cde_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_cde_la_LIBADD = -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = cdeclient.h
+
+lnkdir = $(kde_datadir)/kwin/
+lnk_DATA = cde.desktop
+
+EXTRA_DIST = $(lnk_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/cde/cde.desktop b/kwin-styles/cde/cde.desktop
new file mode 100644
index 00000000..410c666d
--- /dev/null
+++ b/kwin-styles/cde/cde.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=CDE
+Name[af]=Cde
+Name[hi]=सीडीई
+Name[ne]=सीडीई
+X-KDE-Library=kwin3_cde
diff --git a/kwin-styles/cde/cdeclient.cpp b/kwin-styles/cde/cdeclient.cpp
new file mode 100644
index 00000000..9757ee87
--- /dev/null
+++ b/kwin-styles/cde/cdeclient.cpp
@@ -0,0 +1,863 @@
+/*
+ * $Id$
+ *
+ * CDE KWin client - emulates the look and feel
+ * of dtwm, the CDE window manager.
+ *
+ * Copyright (c) 2000-2001, 2002
+ * Chris Lee <lee@azsites.com>
+ * Lennart Kudling <kudling@kde.org>
+ * Fredrik Hglund <fredrik@kde.org>
+ *
+ * Copyright (c) 2003,2004
+ * Luciano Montanaro <mikelima@cirulla.net>
+ *
+ * Originally based on the KStep client.
+ *
+ * Distributed under the terms of the BSD license.
+ */
+
+#include "cdeclient.h"
+#include <qdatetime.h>
+#include <qlayout.h>
+#include <qbutton.h>
+#include <qcursor.h>
+#include <qlabel.h>
+#include <qtooltip.h>
+#include <qdrawutil.h>
+#include <qpainter.h>
+#include <qapplication.h>
+#include <klocale.h>
+#include <kconfig.h>
+
+extern "C" KDE_EXPORT KDecorationFactory* create_factory()
+{
+ return new CDE::CdeClientFactory();
+}
+
+namespace CDE {
+
+static int s_frameWidth = 5;
+static int s_buttonSize = 19;
+static bool titlebarButtonMode = true;
+static bool coloredFrame = true;
+static Qt::AlignmentFlags textAlignment = Qt::AlignHCenter;
+
+// Precomputed border sizes for accessibility
+// The sizes are applied for tiny -> normal -> large -> very large -> huge ->
+// very huge -> oversized
+static const int borderSizes[] = { 4, 6, 9, 12, 18, 26, 42 };
+
+// Parameters needed to draw the widgets (offsets from the border)
+static int s_o1 = 4;
+static int s_o2 = 7;
+static int s_w1 = 11;
+static int s_w2 = 5;
+
+// These are the line segments for the X on the close button
+
+static const int NUM_CLOSEL_COORDS = 2 * 14;
+static const QCOORD closeLLinesTemplate[NUM_CLOSEL_COORDS] =
+ { 14,3, 12,3, 12,3, 9,6, 5,3, 3,3, 3,3, 3,5,
+ 3,5, 6,8, 6,9, 3,12, 3,12, 3,14 };
+
+static const int NUM_CLOSED_COORDS = 2 * 18;
+static const QCOORD closeDLinesTemplate[NUM_CLOSED_COORDS] =
+ { 5,3, 8,6, 14,4, 14,5, 14,5, 11,8, 11,9, 14,12, 14,12, 14,14,
+ 14,14, 12,14, 12,14, 9,11, 8,11, 5,14, 5,14, 4,14 };
+
+static QCOORD closeLLines[NUM_CLOSEL_COORDS];
+
+static QCOORD closeDLines[NUM_CLOSED_COORDS];
+
+// These are the line segments for the ? on the help button
+static const int NUM_HELPL_COORDS = 2 * 16;
+static const QCOORD helpLLinesTemplate[NUM_HELPL_COORDS] =
+ { 4,6, 4,5, 4,5, 6,3, 6,3, 9,3, 10,3, 11,4,
+ 9,7, 7,9, 7,9, 7,10, 7,14, 7,13, 8,12, 9,12 };
+
+static const int NUM_HELPD_COORDS = 2 * 14;
+static const QCOORD helpDLinesTemplate[NUM_HELPD_COORDS] =
+ { 5,7, 8,6, 12,5, 12,8, 12,8, 10,10, 10,10, 10,11,
+ 10,11, 8,11, 10,14, 10,13, 9,15, 8,15 };
+
+static QCOORD helpLLines[NUM_HELPL_COORDS];
+
+static QCOORD helpDLines[NUM_HELPD_COORDS];
+
+
+// This question mark is taller than the one above and
+// is positioned one pixel higher on the button
+/*
+static const QCOORD helpLLines[] =
+ { 4,5, 4,4, 4,4, 6,2, 6,2, 9,2, 10,2, 11,3,
+ 9,6, 7,8, 7,9, 7,10, 7,13, 8,12, 8,12, 9,12 };
+
+static const QCOORD helpDLines[] =
+ { 5,6, 8,5, 12,4, 12,7, 12,7, 10,9, 10,10, 10,11,
+ 10,11, 8,11, 10,13, 9,14, 9,14, 8,14 };
+*/
+// Same as the one above but with a larger dot under
+// the question mark
+/*
+static const QCOORD helpLLines[] =
+ { 4,5, 4,4, 4,4, 6,2, 6,2, 9,2, 10,2, 11,3,
+ 9,6, 7,8, 7,9, 7,10, 7,14, 7,13, 8,12, 9,12 };
+
+static const QCOORD helpDLines[] =
+ { 5,6, 8,5, 12,4, 12,7, 12,7, 10,9, 10,10, 10,11,
+ 10,11, 8,11, 10,13, 10,14, 9,15, 8,15 };
+*/
+
+static inline const KDecorationOptions* options()
+{
+ return KDecoration::options();
+}
+
+static void fixColorGroup(QColorGroup & colorGroup)
+{
+ QColor light = colorGroup.light();
+
+ int hue, saturation, value;
+
+ light.hsv(&hue, &saturation, &value);
+
+ if (value < 128)
+ {
+ light.setHsv(hue, saturation, 128);
+ colorGroup.setColor(QColorGroup::Light, light);
+ }
+
+ QColor dark = colorGroup.dark();
+
+ dark.hsv(&hue, &saturation, &value);
+
+ if (value < 84)
+ {
+ dark.setHsv(hue, saturation, 84);
+ colorGroup.setColor(QColorGroup::Dark, dark);
+ }
+}
+
+// scaling helper function used to scale the close 'X' glyph
+
+static int scaleCoord(int c)
+{
+ if (c < 6) return c;
+ if (c <= 11) return c + (s_buttonSize - 19) / 2;
+ return c + s_buttonSize - 19;
+}
+
+static void readConfig(CdeClientFactory *f)
+{
+ KConfig conf( "kwincderc" );
+
+ conf.setGroup("General");
+ coloredFrame = conf.readBoolEntry( "UseTitleBarBorderColors", true );
+ titlebarButtonMode = conf.readBoolEntry( "TitlebarButtonMode", true );
+
+ QString value = conf.readEntry( "TextAlignment", "AlignHCenter" );
+ if ( value == "AlignLeft" )
+ textAlignment = Qt::AlignLeft;
+ else if ( value == "AlignHCenter" )
+ textAlignment = Qt::AlignHCenter;
+ else if ( value == "AlignRight" )
+ textAlignment = Qt::AlignRight;
+
+
+ // find preferred border size
+ int i = options()->preferredBorderSize(f);
+ if (i >= 0 && i <= 6) s_frameWidth = borderSizes[i];
+
+ // Do not allow malicious users or corrupt config files to
+ // go past the domain of the valid border sizes.
+
+ // Size limit increased for accessability. LM
+ if (s_frameWidth < 0) s_frameWidth = 0;
+ if (s_frameWidth > 30) s_frameWidth = 30;
+
+ // Force button size to be in a reasonable range.
+ // If the frame width is large, the button size must be large too.
+ s_buttonSize = QFontMetrics(options()->font( true )).height() + 2;
+ if (s_buttonSize < 19) s_buttonSize = 19;
+ if (s_buttonSize < s_frameWidth) s_buttonSize = s_frameWidth;
+ s_buttonSize |= 1; // Be sure the button size is odd.
+
+ // Calculate widths and offsets for the button icons
+ s_o1 = s_buttonSize * 4 / 19;
+ s_o2 = s_buttonSize * 7 / 19;
+ s_w1 = s_buttonSize - 2 * s_o1;
+ s_w2 = s_buttonSize - 2 * s_o2;
+
+ // Copy and scale the close icon
+ int offset = (s_buttonSize - 19) / 2;
+ for (int i = 0; i < NUM_CLOSEL_COORDS; i++) {
+ closeLLines[i] = scaleCoord(closeLLinesTemplate[i]);
+ }
+ for (int i = 0; i < NUM_CLOSED_COORDS; i++) {
+ closeDLines[i] = scaleCoord(closeDLinesTemplate[i]);
+ }
+ // Copy and center the help icon
+ for (int i = 0; i < NUM_HELPL_COORDS; i++) {
+ helpLLines[i] = helpLLinesTemplate[i] + offset;
+ }
+ for (int i = 0; i < NUM_HELPD_COORDS; i++) {
+ helpDLines[i] = helpDLinesTemplate[i] + offset;
+ }
+}
+
+// ---------------------------------------
+
+CdeClientFactory::CdeClientFactory()
+{
+ CDE::readConfig(this);
+}
+
+CdeClientFactory::~CdeClientFactory()
+{
+}
+
+KDecoration *CdeClientFactory::createDecoration(KDecorationBridge *b)
+{
+ return new CdeClient(b, this);
+}
+
+bool CdeClientFactory::reset(unsigned long /*changed*/)
+{
+ // TODO Do not recreate decorations if it is not needed. Look at
+ // ModernSystem for how to do that
+ // For now just return true.
+ CDE::readConfig(this);
+ return true;
+}
+
+bool CdeClientFactory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonMenu:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ return true;
+ default:
+ return false;
+ };
+}
+
+QValueList< CdeClientFactory::BorderSize >
+CdeClientFactory::borderSizes() const
+{
+ // the list must be sorted
+ return QValueList< BorderSize >() << BorderTiny << BorderNormal <<
+ BorderLarge << BorderVeryLarge << BorderHuge <<
+ BorderVeryHuge << BorderOversized;
+}
+
+// ---------------------------------------
+
+CdeClient::CdeClient(KDecorationBridge *b, KDecorationFactory *f)
+ : KDecoration(b, f)
+{
+}
+
+void CdeClient::init()
+{
+ createMainWidget(WStaticContents | WResizeNoErase | WRepaintNoErase);
+ widget()->installEventFilter(this);
+
+ widget()->setBackgroundMode(NoBackground);
+
+ mainLayout = new QVBoxLayout(widget());
+ QBoxLayout* windowLayout = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ titleLayout = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+
+ // TODO Check if this stuff can be simplified.
+ // Border sizes are from a fixed set now.
+ if ( s_frameWidth > 1 )
+ {
+ // the style normally draws a black frame around the window, so we
+ // need 1 line of space for that in addition to the normal window frame
+ mainLayout->setMargin( s_frameWidth+1 );
+ }
+ else
+ {
+ // but if the frame is set to just 1 pixel we just draw the black frame
+ // instead of the normal window frame, so no extra space is needed. if
+ // its 0 we don't draw anything.
+ mainLayout->setMargin( s_frameWidth );
+ }
+
+ mainLayout->addLayout( titleLayout );
+ mainLayout->addLayout( windowLayout, 1 );
+
+ if (isPreview())
+ windowLayout->addWidget(new QLabel(i18n(
+ "<center><b>CDE preview</b></center>"), widget()), 1);
+ else
+ windowLayout->addItem( new QSpacerItem( 0, 0 ));
+
+ for ( int i=0; i < BtnCount; i++ )
+ button[i] = NULL;
+
+ addClientButtons( options()->titleButtonsLeft() );
+
+ titlebar = new QSpacerItem( 10, 16, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ titleLayout->addItem( titlebar );
+
+ addClientButtons( options()->titleButtonsRight() );
+
+ titlebarPressed = false;
+ closing = false;
+}
+
+void CdeClient::addClientButtons( const QString& s )
+{
+ if ( s.length() > 0 )
+ for ( unsigned int i = 0; i < s.length(); i++ )
+ {
+ switch( s[i].latin1() )
+ {
+ // Menu button
+ case 'M':
+ if ( ! button[BtnMenu] )
+ {
+ button[BtnMenu] = new CdeButton( this, "menu", BtnMenu, i18n("Menu"), LeftButton|RightButton );
+ connect( button[BtnMenu], SIGNAL(pressed()), SLOT(menuButtonPressed()) );
+ connect( button[BtnMenu], SIGNAL(released()), SLOT(menuButtonReleased()) );
+ titleLayout->addWidget( button[BtnMenu] );
+ }
+ break;
+
+ //Help button
+ case 'H':
+ if ( providesContextHelp() && (! button[BtnHelp] ) )
+ {
+ button[BtnHelp] = new CdeButton( this, "help", BtnHelp, i18n("Help") );
+ connect(button[BtnHelp],
+ SIGNAL(clicked()), SLOT(showContextHelp()));
+ titleLayout->addWidget( button[BtnHelp] );
+ }
+ break;
+
+ //Minimize button
+ case 'I':
+ if ( (! button[BtnIconify] ) && isMinimizable() )
+ {
+ button[BtnIconify] = new CdeButton( this, "iconify", BtnIconify, i18n("Minimize") );
+ connect(button[BtnIconify],
+ SIGNAL(clicked()), SLOT(minimize()));
+ titleLayout->addWidget( button[BtnIconify] );
+ }
+ break;
+
+ // Maximize button
+ case 'A':
+ if ( (! button[BtnMax] ) && isMaximizable() )
+ {
+ button[BtnMax] = new CdeButton(this, "maximize", BtnMax, i18n("Maximize"), LeftButton|MidButton|RightButton);
+ connect(button[BtnMax], SIGNAL(clicked()),
+ SLOT(maximizeButtonClicked()));
+ titleLayout->addWidget( button[BtnMax] );
+ }
+ break;
+
+ // Close button
+ case 'X':
+ if ( !button[BtnClose] && isCloseable())
+ {
+ button[BtnClose] = new CdeButton(this, "close", BtnClose, i18n("Close"));
+ connect( button[BtnClose], SIGNAL( clicked()), SLOT(closeWindow()) );
+ titleLayout->addWidget( button[BtnClose] );
+ }
+ // Add onAlldesktops button and spacers
+ }
+ }
+
+}
+
+void CdeClient::captionChange()
+{
+ widget()->repaint(titlebar->geometry(), false);
+}
+
+void CdeClient::activeChange()
+{
+ for ( int i=0; i < BtnCount; i++ )
+ if ( button[i] ) button[i]->reset();
+
+ widget()->repaint(false);
+}
+
+void CdeClient::maximizeChange()
+{
+ if ( button[BtnMax] ) {
+ bool m = maximizeMode() == MaximizeFull;
+ QToolTip::remove(button[BtnMax]);
+ QToolTip::add(button[BtnMax], m ? i18n("Restore") : i18n("Maximize"));
+ button[BtnMax]->repaint();
+ }
+}
+
+void CdeClient::iconChange()
+{
+}
+
+void CdeClient::shadeChange()
+{
+}
+
+void CdeClient::showEvent(QShowEvent *)
+{
+ widget()->repaint();
+}
+
+void CdeClient::desktopChange()
+{
+ // Nothing to do yet
+}
+
+QSize CdeClient::minimumSize() const
+{
+ return QSize(2 * (s_buttonSize + s_frameWidth),
+ 2 * s_frameWidth + s_buttonSize);
+}
+
+void CdeClient::resize(const QSize& s)
+{
+ widget()->resize(s);
+}
+
+void CdeClient::maximizeButtonClicked()
+{
+ if (button[BtnMax]) {
+ maximize(button[BtnMax]->lastButton());
+ }
+}
+
+void CdeClient::menuButtonPressed()
+{
+ static QTime* t = NULL;
+ static CdeClient* lastClient = NULL;
+ if( t == NULL )
+ t = new QTime;
+ bool dbl = ( lastClient == this && t->elapsed() <= QApplication::doubleClickInterval());
+ lastClient = this;
+ t->start();
+ if( !dbl )
+ {
+ QRect menuRect = button[BtnMenu]->rect();
+ QPoint menuTop = button[BtnMenu]->mapToGlobal(menuRect.topLeft());
+ QPoint menuBottom =
+ button[BtnMenu]->mapToGlobal(menuRect.bottomRight());
+ KDecorationFactory* f = factory();
+ showWindowMenu(QRect(menuTop, menuBottom));
+ if( !f->exists( this )) // 'this' was deleted
+ return;
+ button[BtnMenu]->setDown(false);
+ }
+ else
+ closing = true;
+}
+
+void CdeClient::menuButtonReleased()
+{
+ if( closing )
+ closeWindow();
+}
+
+void CdeClient::resizeEvent( QResizeEvent* e)
+{
+ if (widget()->isVisibleToTLW()) {
+ widget()->update();
+ int dx = 0;
+ int dy = 0;
+
+ if ( e->oldSize().width() != width() )
+ dx = 32 + QABS( e->oldSize().width() - width() );
+
+ if ( e->oldSize().height() != height() )
+ dy = 8 + QABS( e->oldSize().height() - height() );
+
+ if ( dy )
+ widget()->update( 0, height() - dy + 1, width(), dy );
+
+ if ( dx )
+ {
+ widget()->update( width() - dx + 1, 0, dx, height() );
+ widget()->update( QRect( QPoint(4,4),
+ titlebar->geometry().bottomLeft() - QPoint(1,0) ) );
+ widget()->update(QRect(titlebar->geometry().topRight(),
+ QPoint(width() - 4, titlebar->geometry().bottom())));
+
+ // Titlebar needs no paint event
+ QApplication::postEvent( this, new QPaintEvent( titlebar->geometry(), false ) );
+ }
+ }
+}
+
+void CdeClient::paintEvent( QPaintEvent* )
+{
+ QPainter p(widget());
+
+ QColorGroup colorGroup;
+
+ if ( coloredFrame )
+ colorGroup = options()->colorGroup( KDecoration::ColorTitleBar, isActive() );
+ else
+ colorGroup = options()->colorGroup( KDecoration::ColorFrame, isActive() );
+
+ fixColorGroup( colorGroup );
+
+ QRect trect = titlebar->geometry();
+ QRect mrect = widget()->rect();
+
+ if ( s_frameWidth > 0 )
+ {
+ // draw black frame:
+ p.setPen( Qt::black );
+ p.drawRect( mrect );
+ }
+
+ p.setPen( Qt::NoPen );
+ p.setBrush( colorGroup.background() );
+
+
+ if ( s_frameWidth > 1 )
+ {
+ bool shaded = isShade();
+ int longSide = s_frameWidth + s_buttonSize;
+
+ // draw frame-background:
+ p.drawRect( 1, 1,
+ mrect.width() - 2, s_frameWidth );
+ p.drawRect( 1, mrect.height() - s_frameWidth - 1,
+ mrect.width() - 2, s_frameWidth );
+ p.drawRect( 1, s_frameWidth + 1,
+ s_frameWidth, mrect.height() - 2*s_frameWidth - 2 );
+ p.drawRect( mrect.width() - s_frameWidth - 1, s_frameWidth + 1,
+ s_frameWidth, mrect.height() - 2*s_frameWidth - 2 );
+
+ if ( ! shaded )
+ {
+ // draw left and right frames:
+ qDrawShadePanel( &p, 1, longSide + 1,
+ s_frameWidth, mrect.height() - 2 * (longSide + 1),
+ colorGroup );
+
+ qDrawShadePanel( &p, mrect.width() - s_frameWidth - 1, longSide + 1,
+ s_frameWidth, mrect.height() - 2 * (longSide + 1),
+ colorGroup );
+ }
+
+ // draw top and bottom frames:
+ qDrawShadePanel( &p, longSide + 1, 1,
+ mrect.width() - 2 * (longSide + 1), s_frameWidth,
+ colorGroup );
+
+ qDrawShadePanel( &p, longSide + 1, mrect.height() - s_frameWidth - 1,
+ mrect.width() - 2 * (longSide + 1), s_frameWidth,
+ colorGroup );
+
+ // draw light corner parts:
+ p.setPen( colorGroup.light() );
+
+ // tl corner:
+ p.drawLine( 1, 1, longSide - 1, 1 );
+ p.drawLine( 1, 1, 1, longSide - 1 );
+
+ // tr corner:
+ p.drawLine( mrect.width() - 3, 1, mrect.width() - longSide - 1, 1 );
+ p.drawLine( mrect.width() - longSide - 1, 1,
+ mrect.width() - longSide - 1, s_frameWidth - 1 );
+ p.drawLine( mrect.width() - s_frameWidth - 1, s_frameWidth,
+ mrect.width() - s_frameWidth - 1, longSide - 1 );
+
+ // br corner:
+ if ( !shaded )
+ {
+ p.drawLine( mrect.width() - 3, mrect.height() - longSide - 1,
+ mrect.width() - s_frameWidth - 1, mrect.height() - longSide - 1 );
+ }
+ p.drawLine( mrect.width() - s_frameWidth - 1, mrect.height() - longSide,
+ mrect.width() - s_frameWidth - 1, mrect.height() - s_frameWidth - 1 );
+ p.drawLine( mrect.width() - s_frameWidth - 2, mrect.height() - s_frameWidth - 1,
+ mrect.width() - longSide - 1, mrect.height() - s_frameWidth - 1 );
+ p.drawLine( mrect.width() - longSide - 1, mrect.height() - s_frameWidth,
+ mrect.width() - longSide - 1, mrect.height() - 2 );
+
+ // bl corner:
+ if ( !shaded )
+ {
+ p.drawLine( s_frameWidth-1, mrect.height() - longSide - 1,
+ 2, mrect.height() - longSide - 1 );
+ }
+ p.drawLine( 1, mrect.height() - longSide - 1,
+ 1, mrect.height() - 3 );
+ p.drawLine( longSide - 1, mrect.height() - s_frameWidth - 1,
+ s_frameWidth + 1, mrect.height() - s_frameWidth - 1 );
+
+ // draw dark corner parts:
+ p.setPen( colorGroup.dark() );
+
+ // tl corner:
+ if ( !shaded )
+ p.drawLine( 1, longSide, s_frameWidth, longSide );
+ p.drawLine( s_frameWidth, longSide - 1, s_frameWidth, s_frameWidth );
+ p.drawLine( s_frameWidth + 1, s_frameWidth, longSide, s_frameWidth );
+ p.drawLine( s_frameWidth + s_buttonSize, s_frameWidth, longSide, 1 );
+
+ // tr corner:
+ p.drawLine( mrect.width() - longSide - 1, s_frameWidth,
+ mrect.width() - s_frameWidth - 2, s_frameWidth );
+ if ( !shaded )
+ {
+ p.drawLine( mrect.width() - s_frameWidth - 1, longSide,
+ mrect.width() - 2, longSide );
+ }
+ p.drawLine( mrect.width() - 2, longSide, mrect.width() - 2, 1 );
+
+ // br corner:
+ p.drawLine( mrect.width() - longSide - 1, mrect.height() - 2,
+ mrect.width() - 3, mrect.height() - 2 );
+ p.drawLine( mrect.width() - 2, mrect.height() - 2,
+ mrect.width() - 2, mrect.height() - longSide - 2 );
+
+ // bl corner:
+ p.drawLine( 1, mrect.height() - 2,
+ longSide, mrect.height() - 2 );
+ p.drawLine( s_frameWidth + s_buttonSize, mrect.height() - 3,
+ longSide, mrect.height() - s_frameWidth - 1 );
+ p.drawLine( s_frameWidth, mrect.height() - s_frameWidth - 1,
+ s_frameWidth, mrect.height() - longSide - 1 );
+ }
+
+
+ p.setPen( Qt::NoPen );
+
+ if ( !coloredFrame )
+ {
+ colorGroup = options()->colorGroup( KDecoration::ColorTitleBar, isActive() );
+ fixColorGroup( colorGroup );
+ p.setBrush( colorGroup.background() );
+ }
+
+ // draw titlebar:
+ p.drawRect( trect );
+ qDrawShadePanel( &p, trect, colorGroup, titlebarPressed );
+
+ // draw caption:
+ if ( titlebarPressed ) // move the caption right and down if the titlebar is pressed
+ trect.moveBy( 1,1 ); // Note: the real Mwm doesn't actually do this
+
+ p.setFont( options()->font( true ) );
+ p.setPen( options()->color( KDecoration::ColorFont, isActive() ) );
+ if ( p.fontMetrics().width( caption() ) > trect.width() - 6 )
+ {
+ // left align the text if its too wide to fit in the titlebar
+ p.drawText( trect.x() + 3, trect.y(),
+ trect.width() - 6, trect.height(),
+ AlignLeft | AlignVCenter, caption() );
+ }
+ else
+ {
+ // otherwise we'll draw it according to the user settings
+ p.drawText( trect.x() + 3, trect.y(),
+ trect.width() - 6, trect.height(),
+ textAlignment | AlignVCenter, caption() );
+ }
+
+ // Draw a line behind the wrapped window to prevent having
+ // unpainted areas when we're shaded.
+ p.setPen( colorGroup.dark() );
+ p.drawLine(s_frameWidth + 1, mrect.height() - s_frameWidth - 2,
+ mrect.width() - s_frameWidth - 2, mrect.height() - s_frameWidth - 2);
+
+}
+
+KDecoration::Position CdeClient::mousePosition( const QPoint& p ) const
+{
+ const int range = s_frameWidth + s_buttonSize;
+ const int border = s_frameWidth + 1;
+
+ Position m = PositionCenter;
+
+ if ((p.x() > border && p.x() < width() - border)
+ && (p.y() > border && p.y() < height() - border))
+ return PositionCenter;
+
+ if (p.y() < range && p.x() <= range)
+ m = PositionTopLeft;
+ else if (p.y() >= height() - range && p.x() >= width() - range)
+ m = PositionBottomRight;
+ else if (p.y() >= height()-range && p.x() <= range)
+ m = PositionBottomLeft;
+ else if (p.y() < range && p.x() >= width() - range)
+ m = PositionTopRight;
+ else if (p.y() < border)
+ m = PositionTop;
+ else if (p.y() >= height() - border)
+ m = PositionBottom;
+ else if (p.x() <= border)
+ m = PositionLeft;
+ else if (p.x() >= width() - border)
+ m = PositionRight;
+ else
+ m = PositionCenter;
+ return m;
+}
+
+void CdeClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ titlebarDblClickOperation();
+}
+
+void CdeClient::wheelEvent( QWheelEvent * e )
+{
+ if (isSetShade() || titleLayout->geometry().contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void CdeClient::mousePressEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ {
+ if ( titlebarButtonMode )
+ {
+ titlebarPressed = true;
+ widget()->repaint(titlebar->geometry(), false);
+ }
+ }
+}
+
+void CdeClient::borders(int &left, int &right, int &top, int &bottom) const
+{
+ left = right = bottom = s_frameWidth + 1;
+ top = s_buttonSize + s_frameWidth + 1;
+}
+
+void CdeClient::mouseReleaseEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebarPressed )
+ {
+ titlebarPressed = false;
+ widget()->repaint(titlebar->geometry(), false);
+ }
+}
+
+bool CdeClient::eventFilter(QObject *o, QEvent *e)
+{
+ if (o != widget())
+ return false;
+ switch (e->type()) {
+ case QEvent::Resize:
+ resizeEvent(static_cast< QResizeEvent* >(e));
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast< QPaintEvent* >(e));
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast< QMouseEvent* >(e));
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent(static_cast< QMouseEvent* >(e));
+ return true;
+ case QEvent::Show:
+ showEvent(static_cast< QShowEvent* >(e));
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+// ---------------------------------------
+
+CdeButton::CdeButton(CdeClient* parent,
+ const char* name, int btnType, const QString& tip, int realize_btns)
+ : QButton(parent->widget(), name), m_btnType(btnType), last_button(NoButton)
+{
+ setBackgroundMode( QWidget::NoBackground );
+ setFixedSize( s_buttonSize, s_buttonSize );
+ resize( s_buttonSize, s_buttonSize );
+ m_parent = parent;
+
+ setCursor(ArrowCursor);
+ QToolTip::add(this, tip);
+
+ m_realize_buttons = realize_btns;
+}
+
+void CdeButton::reset()
+{
+ repaint( false );
+}
+
+void CdeButton::drawButton( QPainter* p )
+{
+ p->setBrush( options()->color( KDecoration::ColorTitleBar, m_parent->isActive() ) );
+ p->drawRect( 0, 0, s_buttonSize, s_buttonSize );
+
+ QColorGroup colorGroup =
+ options()->colorGroup( KDecoration::ColorTitleBar, m_parent->isActive() );
+
+ fixColorGroup(colorGroup);
+
+ qDrawShadePanel( p, 0, 0, s_buttonSize, s_buttonSize,
+ colorGroup, isDown() );
+
+ switch ( m_btnType )
+ {
+ case (BtnMenu):
+ qDrawShadePanel( p, s_o1, s_o2, s_w1, s_w2, colorGroup );
+ break;
+ case (BtnHelp):
+ p->setPen( colorGroup.light() );
+ p->drawLineSegments( QPointArray(16, helpLLines) );
+ p->setPen( colorGroup.dark() );
+ p->drawLineSegments( QPointArray(14, helpDLines) );
+ break;
+ case (BtnIconify):
+ qDrawShadePanel( p, s_o2, s_o2, s_w2, s_w2, colorGroup );
+ break;
+ case (BtnMax):
+ qDrawShadePanel( p, s_o1, s_o1, s_w1, s_w1, colorGroup,
+ m_parent->maximizeMode() == KDecoration::MaximizeFull );
+ break;
+ case (BtnClose):
+ p->setPen( colorGroup.dark() );
+ p->drawLineSegments( QPointArray(18, closeDLines) );
+ p->setPen( colorGroup.light() );
+ p->drawLineSegments( QPointArray(15, closeLLines) );
+ break;
+ }
+}
+
+void CdeButton::mousePressEvent(QMouseEvent *e)
+{
+ last_button = e->button();
+ QMouseEvent me(e->type(), e->pos(),
+ e->globalPos(), (e->button()&m_realize_buttons)?LeftButton:NoButton, e->state());
+ QButton::mousePressEvent(&me);
+}
+
+void CdeButton::mouseReleaseEvent(QMouseEvent * e)
+{
+ last_button = e->button();
+ QMouseEvent me(e->type(), e->pos(),
+ e->globalPos(), (e->button()&m_realize_buttons)?LeftButton:NoButton, e->state());
+ QButton::mouseReleaseEvent(&me);
+}
+
+} // CDE namespace
+
+#include "cdeclient.moc"
+
+// vim: sw=4
diff --git a/kwin-styles/cde/cdeclient.h b/kwin-styles/cde/cdeclient.h
new file mode 100644
index 00000000..40e8f2eb
--- /dev/null
+++ b/kwin-styles/cde/cdeclient.h
@@ -0,0 +1,118 @@
+/*
+ * CDE KWin client - emulates the look and feel
+ * of dtwm, the CDE window manager.
+ *
+ * Copyright (c) 2000-2001, 2002
+ * Chris Lee <lee@azsites.com>
+ * Lennart Kudling <kudling@kde.org>
+ * Fredrik Hglund <fredrik@kde.org>
+ *
+ * Copyright (c) 2003
+ * Luciano Montanaro <mikelima@cirulla.net>
+ *
+ * Originally based on the KStep client.
+ *
+ * Distributed under the terms of the BSD license.
+ */
+
+#ifndef __CDECLIENT_H
+#define __CDECLIENT_H
+
+#include <qbutton.h>
+#include <qbitmap.h>
+#include <kpixmap.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QLabel;
+class QBoxLayout;
+class QVBoxLayout;
+class QSpacerItem;
+
+namespace CDE {
+
+class CdeClient;
+
+enum Buttons { BtnMenu=0, BtnHelp, BtnIconify, BtnMax, BtnClose, BtnCount };
+
+class CdeButton : public QButton
+{
+public:
+ CdeButton( CdeClient* parent=0, const char* name=0, int btnType=0,
+ const QString& tip=NULL, int realize_btns = LeftButton );
+ void reset();
+ ButtonState lastButton() { return last_button; }
+
+protected:
+ void mousePressEvent(QMouseEvent *e);
+ void mouseReleaseEvent(QMouseEvent *e);
+ virtual void drawButton(QPainter *p);
+
+private:
+ CdeClient *m_parent;
+ int m_btnType;
+ int m_realize_buttons;
+ ButtonState last_button;
+};
+
+class CdeClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ CdeClient(KDecorationBridge *b, KDecorationFactory *f);
+ ~CdeClient() {};
+ void init();
+
+protected:
+ bool eventFilter(QObject *o, QEvent *e);
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+
+ void showEvent(QShowEvent *);
+ void addClientButtons( const QString& );
+ void mouseDoubleClickEvent( QMouseEvent* );
+ void wheelEvent( QWheelEvent * );
+ void captionChange();
+ void desktopChange();
+ void activeChange();
+ void shadeChange();
+ void iconChange();
+ QSize minimumSize() const;
+ void resize(const QSize &size);
+ void borders(int &left, int &right, int &top, int &bottom) const;
+ void mousePressEvent( QMouseEvent* );
+ void mouseReleaseEvent( QMouseEvent* );
+ void maximizeChange();
+ Position mousePosition( const QPoint& p ) const;
+
+protected slots:
+ void menuButtonPressed();
+ void menuButtonReleased();
+ void maximizeButtonClicked();
+
+private:
+ CdeButton* button[BtnCount];
+ QVBoxLayout* mainLayout;
+ QBoxLayout* titleLayout;
+ QSpacerItem* titlebar;
+ bool titlebarPressed;
+ bool closing;
+};
+
+class CdeClientFactory: public QObject, public KDecorationFactory
+{
+public:
+ CdeClientFactory();
+ virtual ~CdeClientFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *);
+ virtual bool supports( Ability ability );
+ virtual bool reset(unsigned long changed);
+
+ QValueList< CdeClientFactory::BorderSize > borderSizes() const;
+
+};
+
+}
+
+#endif
+
diff --git a/kwin-styles/cde/config/Makefile.am b/kwin-styles/cde/config/Makefile.am
new file mode 100644
index 00000000..c12933e4
--- /dev/null
+++ b/kwin-styles/cde/config/Makefile.am
@@ -0,0 +1,17 @@
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin_cde_config.la
+
+kwin_cde_config_la_SOURCES = config.cpp
+kwin_cde_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_cde_config_la_LIBADD = $(LIB_KDEUI)
+
+METASOURCES = AUTO
+noinst_HEADERS = config.h
+
+lnkdir = $(kde_datadir)/kwin/
+
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/cde/config/config.cpp b/kwin-styles/cde/config/config.cpp
new file mode 100644
index 00000000..5c3ac455
--- /dev/null
+++ b/kwin-styles/cde/config/config.cpp
@@ -0,0 +1,131 @@
+// $Id$
+#include "config.h"
+#include <kapplication.h>
+#include <kglobal.h>
+#include <qwhatsthis.h>
+#include <qvbox.h>
+#include <klocale.h>
+
+extern "C" KDE_EXPORT QObject* allocate_config( KConfig* conf, QWidget* parent )
+{
+ return new CdeConfig(conf, parent);
+}
+
+
+/* NOTE:
+ * 'conf' is a pointer to the kwindecoration modules open kwin config,
+ * and is by default set to the "Style" group.
+ *
+ * 'parent' is the parent of the QObject, which is a VBox inside the
+ * Configure tab in kwindecoration
+ */
+
+CdeConfig::CdeConfig( KConfig* conf, QWidget* parent )
+ : QObject( parent )
+{
+ cdeConfig = new KConfig("kwincderc");
+ KGlobal::locale()->insertCatalogue("kwin_art_clients");
+
+ groupBox = new QVBox( parent );
+
+ bgAlign = new QButtonGroup( 3, Qt::Horizontal, i18n("Text &Alignment"), groupBox );
+ bgAlign->setExclusive( true );
+ QWhatsThis::add( bgAlign, i18n("Use these buttons to set the alignment of the titlebar caption text.") );
+ new QRadioButton( i18n("Left"), bgAlign, "AlignLeft" );
+ QRadioButton *radio2 = new QRadioButton( i18n("Centered"), bgAlign, "AlignHCenter" );
+ radio2->setChecked( true );
+ new QRadioButton( i18n("Right"), bgAlign, "AlignRight" );
+
+ cbColorBorder = new QCheckBox( i18n("Draw window frames using &titlebar colors"), groupBox );
+ QWhatsThis::add( cbColorBorder, i18n("When selected, the window decoration borders "
+ "are drawn using the titlebar colors. Otherwise, they are "
+ "drawn using normal border colors instead.") );
+
+// cbTitlebarButton = new QCheckBox( i18n("Titlebar acts like a &pushbutton when clicked"), groupBox );
+// QWhatsThis::add( cbTitlebarButton, i18n("When selected, this option causes the window titlebar to behave "
+// "as if it was a pushbutton when you click it to move the window.") );
+
+ (void) new QLabel( i18n("Tip: If you want the look of the original Motif(tm) Window Manager,\n"
+ "click the \"Buttons\" tab above and remove the help\n"
+ "and close buttons from the titlebar."), groupBox );
+
+ // Load configuration options
+ load( conf );
+
+ // Ensure we track user changes properly
+ connect( cbColorBorder, SIGNAL(clicked()), SLOT(slotSelectionChanged()) );
+// connect( cbTitlebarButton, SIGNAL(clicked()), SLOT(slotSelectionChanged()) );
+ connect( bgAlign, SIGNAL(clicked(int)), SLOT(slotSelectionChanged(int)) );
+
+ // Make the widgets visible in kwindecoration
+ groupBox->show();
+}
+
+
+CdeConfig::~CdeConfig()
+{
+ delete bgAlign;
+ delete groupBox;
+ delete cdeConfig;
+}
+
+
+void CdeConfig::slotSelectionChanged()
+{
+ emit changed();
+}
+
+void CdeConfig::slotSelectionChanged( int )
+{
+ emit changed();
+}
+
+// Loads the configurable options from the kwinrc config file
+// It is passed the open config from kwindecoration to improve efficiency
+void CdeConfig::load( KConfig* /*conf*/ )
+{
+ cdeConfig->setGroup("General");
+
+ QString value = cdeConfig->readEntry( "TextAlignment", "AlignHCenter" );
+ QRadioButton *button = (QRadioButton*)bgAlign->child( (const char *)value.latin1() );
+ if ( button )
+ button->setChecked( true );
+
+ bool coloredFrame = cdeConfig->readBoolEntry( "UseTitleBarBorderColors", true );
+ cbColorBorder->setChecked( coloredFrame );
+
+// bool titlebarButton = cdeConfig->readBoolEntry( "TitlebarButtonMode", true );
+// cbTitlebarButton->setChecked( titlebarButton );
+}
+
+
+// Saves the configurable options to the kwinrc config file
+void CdeConfig::save( KConfig* /*conf*/ )
+{
+ cdeConfig->setGroup("General");
+
+ QRadioButton *button = (QRadioButton*)bgAlign->selected();
+ if ( button )
+ cdeConfig->writeEntry( "TextAlignment", QString(button->name()) );
+
+ cdeConfig->writeEntry( "UseTitleBarBorderColors", cbColorBorder->isChecked() );
+// cdeConfig->writeEntry( "TitlebarButtonMode", cbTitlebarButton->isChecked() );
+
+ // Ensure others trying to read this config get updated
+ cdeConfig->sync();
+}
+
+
+// Sets UI widget defaults which must correspond to style defaults
+void CdeConfig::defaults()
+{
+ QRadioButton *button = (QRadioButton*)bgAlign->child( "AlignHCenter" );
+ if ( button )
+ button->setChecked( true );
+
+ cbColorBorder->setChecked( true );
+// cbTitlebarButton->setChecked( true );
+}
+
+#include "config.moc"
+// vim: ts=4
diff --git a/kwin-styles/cde/config/config.h b/kwin-styles/cde/config/config.h
new file mode 100644
index 00000000..723d7b95
--- /dev/null
+++ b/kwin-styles/cde/config/config.h
@@ -0,0 +1,51 @@
+#ifndef __KDE_CDECONFIG_H
+#define __KDE_CDECONFIG_H
+
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qbuttongroup.h>
+#include <qlabel.h>
+#include <qradiobutton.h>
+#include <qhbox.h>
+#include <kconfig.h>
+
+class QCheckBox;
+class QGroupBox;
+class QVBox;
+class QLabel;
+class QRadioButton;
+
+class CdeConfig: public QObject
+{
+ Q_OBJECT
+
+ public:
+ CdeConfig( KConfig* conf, QWidget* parent );
+ ~CdeConfig();
+
+ // These public signals/slots work similar to KCM modules
+ signals:
+ void changed();
+
+ public slots:
+ void load( KConfig* conf );
+ void save( KConfig* conf );
+ void defaults();
+
+ protected slots:
+ void slotSelectionChanged(); // Internal use
+ void slotSelectionChanged( int );
+
+ private:
+ KConfig* cdeConfig;
+ QCheckBox* cbColorBorder;
+// QCheckBox* cbTitlebarButton;
+ QHBox* groupBox;
+ QGroupBox* gbSlider;
+ QButtonGroup* bgAlign;
+};
+
+
+#endif
+
+// vim: ts=4
diff --git a/kwin-styles/configure.in.in b/kwin-styles/configure.in.in
new file mode 100644
index 00000000..9759bdaa
--- /dev/null
+++ b/kwin-styles/configure.in.in
@@ -0,0 +1,3 @@
+if test "x$kde_use_qt_mac" = "xyes"; then
+ DO_NOT_COMPILE="$DO_NOT_COMPILE kwin-styles"
+fi
diff --git a/kwin-styles/glow/Makefile.am b/kwin-styles/glow/Makefile.am
new file mode 100644
index 00000000..92d5a63a
--- /dev/null
+++ b/kwin-styles/glow/Makefile.am
@@ -0,0 +1,22 @@
+
+INCLUDES = $(all_includes)
+
+SUBDIRS = . config themes
+
+kde_module_LTLIBRARIES = kwin3_glow.la
+
+kwin3_glow_la_SOURCES = glowclient.cpp glowbutton.cpp
+kwin3_glow_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_glow_la_LIBADD = $(LIB_KDECORE) -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = glowclient.h glowbutton.h resources.h
+
+linkdir = $(kde_datadir)/kwin/
+link_DATA = glow.desktop
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/config/Makefile.am b/kwin-styles/glow/config/Makefile.am
new file mode 100644
index 00000000..e677ff91
--- /dev/null
+++ b/kwin-styles/glow/config/Makefile.am
@@ -0,0 +1,17 @@
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin_glow_config.la
+
+kwin_glow_config_la_SOURCES = glowconfigdialog.cpp
+kwin_glow_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_glow_config_la_LIBADD = $(LIB_KDEUI)
+
+METASOURCES = AUTO
+noinst_HEADERS = glowconfigdialog.h
+
+lnkdir = $(kde_datadir)/kwin/
+
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/config/bitmaps.h b/kwin-styles/glow/config/bitmaps.h
new file mode 100644
index 00000000..7ecb262a
--- /dev/null
+++ b/kwin-styles/glow/config/bitmaps.h
@@ -0,0 +1,55 @@
+/***************************************************************************
+ bitmaps.h - description
+ -------------------
+ begin : Thu Sep 12 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef BITMAPS_H
+#define BITMAPS_H
+
+#define BITMAP_SIZE 17
+
+static unsigned char close_bits[] = {
+ 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0xf8,0x00,0x00,0x0c,0x10,0x10,0x60,
+ 0x30,0x18,0x00,0x60,0x0c,0xc8,0xc0,0x07,0x16,0x80,0x03,0x60,0xc0,0x07,0x00,
+ 0x60,0x0c,0x00,0x30,0x18,0xf8,0x10,0x10,0x00,0x00,0x00,0x46,0x00,0x00,0xfe,
+ 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0xf3,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
+static unsigned char help_bits[] = {
+ 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x10,0x00,0x00,0x0c,0x80,0x07,0xb6,
+ 0x40,0x0c,0x00,0x00,0x0c,0xc8,0x00,0x0c,0x16,0x00,0x06,0xb6,0x00,0x03,0x00,
+ 0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x01,0x00,0x00,0x00,0xac,0x00,0x00,0xfe,
+ 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x24,0xc4,0x3f,0x40,0x01,0xf3,0x00,0x00,
+ 0x70,0xb9,0x65,0x40,0x70,0xb9,0x65,0x40 };
+static unsigned char maximizeoff_bits[] = {
+ 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x1e,0x00,0x00,0x0c,0xf0,0x1f,0x60,
+ 0xf0,0x1f,0x00,0x10,0x10,0xc8,0x10,0x10,0x16,0x10,0x10,0x60,0x10,0x10,0x00,
+ 0x10,0x10,0x00,0x10,0x10,0x1e,0xf0,0x1f,0x00,0x00,0x00,0x50,0x00,0x00,0xfe,
+ 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x68,0xb9,0x65,0x40,0x01,0xf2,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xe0,0xb1,0x65,0x40 };
+static unsigned char minimize_bits[] = {
+ 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x10,0x00,0x00,0x0c,0x00,0x00,0xb6,
+ 0xe0,0x0f,0x00,0x00,0x00,0xc8,0x20,0x08,0x16,0x60,0x0c,0xb6,0xc0,0x06,0x00,
+ 0x80,0x03,0x00,0x00,0x01,0x10,0x00,0x00,0x00,0x00,0x00,0xb2,0x00,0x00,0xfe,
+ 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0xf2,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
+static unsigned char stickyoff_bits[] = {
+ 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x1e,0x00,0x00,0x0c,0x50,0x15,0x60,
+ 0xe0,0x00,0x00,0xf0,0x11,0xc8,0xe0,0x00,0x16,0x50,0x15,0x60,0x00,0x00,0x00,
+ 0x10,0x11,0x00,0x00,0x00,0x1e,0x50,0x15,0x00,0x00,0x00,0x46,0x00,0x00,0xfe,
+ 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x08,0x31,0xf2,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x29,0xf2,0x00,0x00 };
+
+#endif
+
diff --git a/kwin-styles/glow/config/glowconfigdialog.cpp b/kwin-styles/glow/config/glowconfigdialog.cpp
new file mode 100644
index 00000000..41144c8a
--- /dev/null
+++ b/kwin-styles/glow/config/glowconfigdialog.cpp
@@ -0,0 +1,369 @@
+/***************************************************************************
+ glowconfigdialog.cpp - description
+ -------------------
+ begin : Thu Sep 12 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <qbitmap.h>
+#include <qbuttongroup.h>
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qdir.h>
+#include <qfileinfo.h>
+#include <qgroupbox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qlistview.h>
+#include <qpushbutton.h>
+#include <qsignalmapper.h>
+#include <qstringlist.h>
+#include <kconfig.h>
+#include <kcolorbutton.h>
+#include <kdebug.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kpixmap.h>
+#include <kpixmapeffect.h>
+#include <kstandarddirs.h>
+#include "bitmaps.h"
+#include "glowconfigdialog.h"
+#include "../resources.h"
+
+#define NUMBER_OF_BUTTONS 5
+
+extern "C"
+{
+ KDE_EXPORT QObject* allocate_config( KConfig* conf, QWidget* parent )
+ {
+ return(new GlowConfigDialog(conf, parent));
+ }
+}
+
+GlowConfigDialog::GlowConfigDialog( KConfig * conf, QWidget * parent )
+ : QObject(parent)
+{
+ _glowConfig = new KConfig("kwinglowrc");
+ KGlobal::locale()->insertCatalogue("kwin_glow_config");
+
+ _main_group_box = new QWidget(parent);
+ QVBoxLayout *main_group_boxLayout = new QVBoxLayout(_main_group_box);
+ main_group_boxLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+ main_group_boxLayout->setSpacing(6);
+
+ //-------------------------------------------------------------------------
+ // themes
+
+ _theme_list_view = new QListView (_main_group_box, "theme_list_view");
+ _theme_list_view->addColumn (i18n("Theme"));
+ _theme_list_view->addColumn (i18n("Button Size"));
+ _theme_list_view->setAllColumnsShowFocus(true);
+ _theme_list_view->setResizeMode(QListView::AllColumns);
+
+ main_group_boxLayout->addWidget (_theme_list_view);
+ QObject::connect (_theme_list_view, SIGNAL(selectionChanged()),
+ this, SLOT(slotThemeListViewSelectionChanged()));
+ slotLoadThemeList();
+
+ _button_glow_color_group_box = new QGroupBox(
+ 0, Qt::Horizontal, i18n("Button Glow Colors"), _main_group_box);
+ QHBoxLayout *colorHBoxLayout =
+ new QHBoxLayout(_button_glow_color_group_box->layout());
+
+ // create buttons
+ QSize buttonSize(BITMAP_SIZE, BITMAP_SIZE);
+ QPixmap pm(buttonSize);
+ pm.fill(Qt::black);
+
+ _stickyButton = new QPushButton(_button_glow_color_group_box);
+ pm.setMask(QBitmap(buttonSize, stickyoff_bits, true));
+ _stickyButton->setPixmap(pm);
+ colorHBoxLayout->addWidget(_stickyButton);
+ _titleButtonList.push_back(_stickyButton);
+
+ _helpButton = new QPushButton(_button_glow_color_group_box);
+ pm.setMask(QBitmap(buttonSize, help_bits, true));
+ _helpButton->setPixmap(pm);
+ colorHBoxLayout->addWidget(_helpButton);
+ _titleButtonList.push_back(_helpButton);
+
+ _iconifyButton = new QPushButton(_button_glow_color_group_box);
+ pm.setMask(QBitmap(buttonSize, minimize_bits, true));
+ _iconifyButton->setPixmap(pm);
+ colorHBoxLayout->addWidget(_iconifyButton);
+ _titleButtonList.push_back(_iconifyButton);
+
+ _maximizeButton = new QPushButton(_button_glow_color_group_box);
+ pm.setMask(QBitmap(buttonSize, maximizeoff_bits, true));
+ _maximizeButton->setPixmap(pm);
+ colorHBoxLayout->addWidget(_maximizeButton);
+ _titleButtonList.push_back(_maximizeButton);
+
+ _closeButton = new QPushButton(_button_glow_color_group_box);
+ pm.setMask(QBitmap(buttonSize, close_bits, true));
+ _closeButton->setPixmap(pm);
+ colorHBoxLayout->addWidget(_closeButton);
+ _titleButtonList.push_back(_closeButton);
+
+ // create signal mapper
+ _titleButtonMapper = new QSignalMapper(this);
+ for( uint i=0; i<_titleButtonList.size(); i++ ) {
+ _titleButtonMapper->setMapping(_titleButtonList[i], i);
+ connect(_titleButtonList[i], SIGNAL(clicked()),_titleButtonMapper, SLOT(map()));
+ }
+ connect(_titleButtonMapper, SIGNAL(mapped(int)),this, SLOT(slotTitleButtonClicked(int)));
+
+ _colorButton = new KColorButton(_button_glow_color_group_box);
+ _colorButton->setEnabled(false);
+ connect(_colorButton, SIGNAL(changed(const QColor&)),
+ this, SLOT(slotColorButtonChanged(const QColor&)));
+
+ colorHBoxLayout->addItem(new QSpacerItem(
+ 200, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
+ colorHBoxLayout->addWidget(_colorButton);
+
+ main_group_boxLayout->addWidget(_button_glow_color_group_box);
+
+ QHBoxLayout *titlebarGradientTypeLayout = new QHBoxLayout();
+ _titlebarGradientTypeComboBox = new QComboBox(_main_group_box);
+
+ KConfig *c = KGlobal::config();
+ KConfigGroupSaver cgs( c, QString::fromLatin1("WM") );
+ QColor activeBackground = c->readColorEntry("activeBackground");
+ QColor activeBlend = c->readColorEntry("activeBlend");
+
+ // If the colors are equal, change one to get a gradient effect
+ if (activeBackground==activeBlend) {
+ activeBackground = activeBackground.dark();
+ }
+ for (int i=0; i< KPixmapEffect::EllipticGradient; i++ ) {
+ KPixmap gradPixmap(QSize(196,20));
+ KPixmapEffect::gradient(gradPixmap, activeBackground,
+ activeBlend, (KPixmapEffect::GradientType) i);
+
+ _titlebarGradientTypeComboBox->insertItem(gradPixmap, i);
+ }
+
+ connect(_titlebarGradientTypeComboBox, SIGNAL(activated(int)),
+ this, SLOT(slotTitlebarGradientTypeChanged(int)));
+ titlebarGradientTypeLayout->addWidget(
+ new QLabel(i18n("Titlebar gradient:"), _main_group_box));
+ titlebarGradientTypeLayout->addWidget(_titlebarGradientTypeComboBox, 0, Qt::AlignLeft);
+ titlebarGradientTypeLayout->addStretch(10);
+ main_group_boxLayout->addLayout(titlebarGradientTypeLayout);
+
+
+ _showResizeHandleCheckBox = new QCheckBox(
+ i18n("Show resize handle"), _main_group_box);
+ connect(_showResizeHandleCheckBox, SIGNAL(clicked()),
+ this, SLOT(slotResizeHandleCheckBoxChanged()));
+ main_group_boxLayout->addWidget(_showResizeHandleCheckBox);
+
+ // load config and update user interface
+ load(conf);
+
+ _main_group_box->show();
+}
+
+GlowConfigDialog::~GlowConfigDialog()
+{
+ delete _main_group_box;
+ delete _glowConfig;
+ delete[] _buttonConfigMap;
+}
+
+void GlowConfigDialog::load( KConfig* /* conf */ )
+{
+ QColor color;
+ const QColor defaultCloseButtonColor(DEFAULT_CLOSE_BUTTON_COLOR);
+ const QColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
+ const QColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
+ const QColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
+ const QColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
+
+ _glowConfig->setGroup("General");
+
+ _buttonConfigMap = new QColor[NUMBER_OF_BUTTONS];
+ color = _glowConfig->readColorEntry("stickyButtonGlowColor",
+ &defaultStickyButtonColor);
+ _buttonConfigMap[stickyButton] = color;
+
+ color = _glowConfig->readColorEntry("helpButtonGlowColor",
+ &defaultHelpButtonColor);
+ _buttonConfigMap[helpButton] = color;
+
+ color = _glowConfig->readColorEntry("iconifyButtonGlowColor",
+ &defaultIconifyButtonColor);
+ _buttonConfigMap[iconifyButton] = color;
+
+ color = _glowConfig->readColorEntry("maximizeButtonGlowColor",
+ &defaultMaximizeButtonColor);
+ _buttonConfigMap[maximizeButton] = color;
+
+ color = _glowConfig->readColorEntry("closeButtonGlowColor",
+ &defaultCloseButtonColor);
+ _buttonConfigMap[closeButton] = color;
+
+ _showResizeHandle = _glowConfig->readBoolEntry("showResizeHandle", true);
+ _titlebarGradientType = static_cast<KPixmapEffect::GradientType>
+ (_glowConfig->readNumEntry("titlebarGradientType",
+ KPixmapEffect::DiagonalGradient));
+
+ _showResizeHandleCheckBox->setChecked(_showResizeHandle);
+ _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
+
+ _theme_name = _glowConfig->readEntry ("themeName", "default");
+ _theme_list_view->setSelected (
+ _theme_list_view->findItem (_theme_name, 0), true);
+ slotTitleButtonClicked(0);
+}
+
+void GlowConfigDialog::save( KConfig* /* conf */ )
+{
+ _glowConfig->setGroup("General");
+
+ _glowConfig->writeEntry("stickyButtonGlowColor", _buttonConfigMap[stickyButton]);
+ _glowConfig->writeEntry("helpButtonGlowColor", _buttonConfigMap[helpButton]);
+ _glowConfig->writeEntry("iconifyButtonGlowColor", _buttonConfigMap[iconifyButton]);
+ _glowConfig->writeEntry("maximizeButtonGlowColor", _buttonConfigMap[maximizeButton]);
+ _glowConfig->writeEntry("closeButtonGlowColor", _buttonConfigMap[closeButton]);
+
+ _glowConfig->writeEntry("showResizeHandle", _showResizeHandle);
+ _glowConfig->writeEntry("titlebarGradientType", _titlebarGradientType);
+
+ _glowConfig->writeEntry ("themeName", _theme_name);
+
+ _glowConfig->sync();
+}
+
+void GlowConfigDialog::defaults()
+{
+ const QColor defaultCloseButtonColor = DEFAULT_CLOSE_BUTTON_COLOR;
+ const QColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
+ const QColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
+ const QColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
+ const QColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
+
+ _buttonConfigMap[stickyButton] = defaultStickyButtonColor;
+ _buttonConfigMap[helpButton] = defaultHelpButtonColor;
+ _buttonConfigMap[iconifyButton] = defaultIconifyButtonColor;
+ _buttonConfigMap[maximizeButton] = defaultMaximizeButtonColor;
+ _buttonConfigMap[closeButton] = defaultCloseButtonColor;
+
+ _showResizeHandle = true;
+ _titlebarGradientType = KPixmapEffect::DiagonalGradient;
+
+ _showResizeHandleCheckBox->setChecked(_showResizeHandle);
+ _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
+
+ _theme_list_view->setSelected (
+ _theme_list_view->findItem("default", 0), true);
+}
+
+void GlowConfigDialog::slotLoadThemeList ()
+{
+ QStringList dir_list=KGlobal::dirs()->findDirs("data", "kwin/glow-themes");
+
+ QStringList::ConstIterator it;
+
+ _theme_list_view->clear();
+ new QListViewItem (_theme_list_view, "default", "17x17");
+
+ for (it=dir_list.begin(); it!=dir_list.end(); ++it)
+ {
+ QDir dir (*it, QString("*"), QDir::Unsorted,
+ QDir::Dirs | QDir::Readable);
+ if (dir.exists())
+ {
+ QFileInfoListIterator it2(*dir.entryInfoList());
+ QFileInfo * finfo;
+
+ while ((finfo=it2.current()))
+ {
+ if (finfo->fileName() == "." || finfo->fileName() == "..") {
+ ++it2;
+ continue;
+ }
+
+ if (! _theme_list_view->findItem (finfo->fileName(), 0))
+ {
+ KConfig conf (dir.path() + "/" + finfo->fileName() + "/" +
+ finfo->fileName() + ".theme");
+ QSize button_size = conf.readSizeEntry (
+ "buttonSize", new QSize (-1, -1));
+ if (button_size.width() == -1)
+ {
+ ++it2;
+ continue;
+ }
+ QString size_string = QString("") +
+ QString::number(button_size.width()) +
+ "x" + QString::number(button_size.height());
+ new QListViewItem (_theme_list_view,
+ finfo->fileName(), size_string);
+ }
+
+ ++it2;
+ }
+ }
+ }
+}
+
+void GlowConfigDialog::slotTitlebarGradientTypeChanged(int index)
+{
+ _titlebarGradientType = static_cast<KPixmapEffect::GradientType>(index);
+ emit changed();
+}
+
+void GlowConfigDialog::slotResizeHandleCheckBoxChanged()
+{
+ _showResizeHandle = _showResizeHandleCheckBox->isChecked();
+ emit changed();
+}
+
+void GlowConfigDialog::slotTitleButtonClicked(int index)
+{
+ for( int i=0; i< ((int) _titleButtonList.size()); i++ ) {
+ _titleButtonList[i]->setDown(i==index);
+ }
+ _colorButton->setEnabled(true);
+ _colorButton->setColor(_buttonConfigMap[index]);
+}
+
+void GlowConfigDialog::slotColorButtonChanged(const QColor& glowColor)
+{
+ if( _stickyButton->isDown() ) {
+ _buttonConfigMap[stickyButton] = glowColor;
+ } else if( _helpButton->isDown() ) {
+ _buttonConfigMap[helpButton] = glowColor;
+ } else if( _iconifyButton->isDown() ) {
+ _buttonConfigMap[iconifyButton] = glowColor;
+ } else if( _maximizeButton->isDown() ) {
+ _buttonConfigMap[maximizeButton] = glowColor;
+ } else {
+ _buttonConfigMap[closeButton] = glowColor;
+ }
+ emit changed();
+}
+
+void GlowConfigDialog::slotThemeListViewSelectionChanged ()
+{
+ if( _theme_list_view->selectedItem() != 0 ) {
+ _theme_name = _theme_list_view->selectedItem()->text (0);
+
+ emit changed();
+ }
+}
+
+#include "glowconfigdialog.moc"
diff --git a/kwin-styles/glow/config/glowconfigdialog.h b/kwin-styles/glow/config/glowconfigdialog.h
new file mode 100644
index 00000000..2190b3ce
--- /dev/null
+++ b/kwin-styles/glow/config/glowconfigdialog.h
@@ -0,0 +1,91 @@
+/***************************************************************************
+ glowconfigdialog.h - description
+ -------------------
+ begin : Thu Sep 12 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef GLOW_CONFIG_DIALOG_H
+#define GLOW_CONFIG_DIALOG_H
+
+#include <qvaluevector.h>
+#include <qobject.h>
+
+class QListView;
+class QPushButton;
+class QSignalMapper;
+class QCheckBox;
+class QComboBox;
+class KConfig;
+class KColorButton;
+
+class GlowConfigDialog : public QObject
+{
+ Q_OBJECT
+
+public:
+ GlowConfigDialog( KConfig* conf, QWidget* parent );
+ ~GlowConfigDialog();
+
+signals:
+ void changed();
+
+public slots:
+ void load( KConfig* conf );
+ void save( KConfig* conf );
+ void defaults();
+
+protected slots:
+ void slotTitleButtonClicked(int);
+ void slotColorButtonChanged(const QColor&);
+ void slotTitlebarGradientTypeChanged(int);
+ void slotResizeHandleCheckBoxChanged();
+ void slotThemeListViewSelectionChanged ();
+
+private slots:
+ void slotLoadThemeList ();
+
+private:
+ enum ButtonType{stickyButton, helpButton, iconifyButton,
+ maximizeButton, closeButton };
+
+ KConfig *_glowConfig;
+
+ bool _showResizeHandle;
+ KPixmapEffect::GradientType _titlebarGradientType;
+ QString _theme_name;
+
+ QWidget *_main_group_box;
+ QGroupBox *_button_glow_color_group_box;
+ QGroupBox *_theme_group_box;
+
+ QListView * _theme_list_view;
+
+ QCheckBox *_showResizeHandleCheckBox;
+ QComboBox *_titlebarGradientTypeComboBox;
+
+ QPushButton *_stickyButton;
+ QPushButton *_helpButton;
+ QPushButton *_iconifyButton;
+ QPushButton *_maximizeButton;
+ QPushButton *_closeButton;
+ QSignalMapper *_titleButtonMapper;
+
+ QColor* _buttonConfigMap;
+ QValueVector<QPushButton*> _titleButtonList;
+
+ KColorButton *_colorButton;
+};
+
+#endif
+
diff --git a/kwin-styles/glow/glow.desktop b/kwin-styles/glow/glow.desktop
new file mode 100644
index 00000000..6db539eb
--- /dev/null
+++ b/kwin-styles/glow/glow.desktop
@@ -0,0 +1,49 @@
+[Desktop Entry]
+Name=Glow
+Name[af]=Gloei
+Name[br]=Lufrus
+Name[ca]=Lluïssor
+Name[cs]=Záře
+Name[cy]=Gwrid
+Name[da]=Glød
+Name[el]=Λάμψη
+Name[es]=Brillo
+Name[et]=Helendus
+Name[eu]=Dirdira
+Name[fa]=درخشندگی
+Name[fi]=Hehku
+Name[fr]=Lueur
+Name[fy]=Gloede
+Name[hi]=ग्लो
+Name[is]=Glóð
+Name[it]=Bagliore
+Name[ja]=輝き
+Name[ka]=გავარვარება
+Name[lt]=Švytėjimas
+Name[lv]=Kvēlot
+Name[mk]=Отсјај
+Name[ms]=Kilau
+Name[mt]=Dija
+Name[nb]=Glød
+Name[ne]=चमक
+Name[nl]=Gloed
+Name[nn]=Glød
+Name[pl]=Blask
+Name[ro]=Licărire
+Name[ru]=Зарево
+Name[sk]=Plameň
+Name[sl]=Lesk
+Name[sr]=Сијање
+Name[sr@Latn]=Sijanje
+Name[sv]=Glöd
+Name[ta]=ஒளிப்பெற்று
+Name[tg]=Шафақ
+Name[th]=เรืองแสง
+Name[tr]=Parlama
+Name[uk]=Заграва
+Name[ven]=Tshedza
+Name[vi]=Hào quang
+Name[xh]=Qukuqela
+Name[zh_CN]=光芒
+Name[zu]=Khanya
+X-KDE-Library=kwin3_glow
diff --git a/kwin-styles/glow/glowbutton.cpp b/kwin-styles/glow/glowbutton.cpp
new file mode 100644
index 00000000..41f53386
--- /dev/null
+++ b/kwin-styles/glow/glowbutton.cpp
@@ -0,0 +1,339 @@
+/***************************************************************************
+ glowbutton.cpp - description
+ -------------------
+ begin : Thu Sep 6 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <math.h>
+#include <iostream>
+#include <vector>
+#include <qmap.h>
+#include <qpixmap.h>
+#include <qpixmapcache.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <qimage.h>
+#include <qtimer.h>
+#include <qtooltip.h>
+#include <kdecoration.h>
+#include <kiconeffect.h>
+#include "glowbutton.h"
+
+namespace Glow
+{
+
+//-----------------------------------------------------------------------------
+// PixmapCache
+//-----------------------------------------------------------------------------
+
+QMap<QString, const QPixmap*> PixmapCache::m_pixmapMap;
+
+const QPixmap* PixmapCache::find(const QString& key)
+{
+ QMap<QString, const QPixmap*>::const_iterator it =
+ m_pixmapMap.find(key);
+ if( it != m_pixmapMap.end() )
+ return *it;
+ else
+ return 0;
+}
+
+void PixmapCache::insert(const QString& key, const QPixmap *pixmap)
+{
+ m_pixmapMap[key] = pixmap;
+}
+
+void PixmapCache::erase(const QString& key)
+{
+ QMap<QString, const QPixmap*>::iterator it =
+ m_pixmapMap.find(key);
+ if (it != m_pixmapMap.end())
+ {
+ delete *it;
+ m_pixmapMap.erase(it);
+ }
+}
+
+void PixmapCache::clear()
+{
+ // delete all pixmaps in the cache
+ QMap<QString, const QPixmap*>::const_iterator it
+ = m_pixmapMap.begin();
+ for(; it != m_pixmapMap.end(); ++it)
+ delete *it;
+ m_pixmapMap.clear();
+}
+
+//-----------------------------------------------------------------------------
+// GlowButton
+//-----------------------------------------------------------------------------
+
+GlowButton::GlowButton(QWidget *parent, const char *name,
+ const QString& tip, const int realizeBtns)
+ : QButton(parent, name)
+{
+ m_realizeButtons = realizeBtns;
+
+ _steps = 0;
+ m_updateTime = 50;
+ m_pixmapName = QString::null;
+
+ m_timer = new QTimer(this);
+ connect(m_timer, SIGNAL(timeout()), this, SLOT(slotTimeout()));
+ m_pos = 0;
+ m_timerStatus = Stop;
+
+ setTipText (tip);
+ setCursor(arrowCursor);
+}
+
+GlowButton::~GlowButton()
+{
+}
+
+void GlowButton::setTipText( const QString& tip )
+{
+ if (KDecoration::options()->showTooltips())
+ {
+ QToolTip::remove( this );
+ QToolTip::add( this, tip );
+ }
+}
+
+QString GlowButton::getPixmapName() const
+{
+ return m_pixmapName;
+}
+
+Qt::ButtonState GlowButton::lastButton() const
+{
+ return _last_button;
+}
+
+void GlowButton::setPixmapName(const QString& pixmapName)
+{
+ m_pixmapName = pixmapName;
+
+ const QPixmap *pixmap = PixmapCache::find(pixmapName);
+ if( ! pixmap )
+ return;
+
+ // set steps
+ _steps = pixmap->height()/pixmap->width() - 1;
+
+ repaint(false);
+}
+
+void GlowButton::paintEvent( QPaintEvent *e )
+{
+ QWidget::paintEvent(e);
+ const QPixmap *pixmap = PixmapCache::find(m_pixmapName);
+ if( pixmap != 0 )
+ {
+ int pos = m_pos>=0?m_pos:-m_pos;
+ QPainter p;
+ QPixmap pm (pixmap->size());
+ p.begin(&pm);
+ const QPixmap * bg_pixmap = PixmapCache::find(
+ QString::number(parentWidget()->winId()));
+ p.drawPixmap (0, 0, *bg_pixmap, x(), y(), width(), height());
+ p.drawPixmap (0, 0, *pixmap, 0, pos*height(), width(), height());
+ p.end();
+ p.begin(this);
+ p.drawPixmap (0, 0, pm);
+ p.end();
+ }
+}
+
+void GlowButton::enterEvent( QEvent *e )
+{
+ if( m_pos<0 )
+ m_pos=-m_pos;
+ m_timerStatus = Run;
+ if( ! m_timer->isActive() )
+ m_timer->start(m_updateTime);
+ QButton::enterEvent(e);
+}
+
+void GlowButton::leaveEvent( QEvent *e )
+{
+ m_timerStatus = Stop;
+ if( ! m_timer->isActive() )
+ m_timer->start(m_updateTime);
+ QButton::leaveEvent(e);
+}
+
+void GlowButton::mousePressEvent( QMouseEvent *e )
+{
+ _last_button = e->button();
+ if( m_timer->isActive() )
+ m_timer->stop();
+ m_pos = _steps;
+ repaint(false);
+ // without pretending LeftButton, clicking on the button with MidButton
+ // or RightButton would cause unwanted titlebar action
+ QMouseEvent me (e->type(), e->pos(), e->globalPos(),
+ (e->button()&m_realizeButtons)?LeftButton:NoButton, e->state());
+ QButton::mousePressEvent(&me);
+}
+
+void GlowButton::mouseReleaseEvent( QMouseEvent *e )
+{
+ _last_button = e->button();
+ QPoint p = mapToParent(mapFromGlobal(e->globalPos()));
+ if( ! m_timer->isActive() ) {
+ m_timer->start(m_updateTime);
+ }
+ if( ! geometry().contains(p) ) {
+ m_timerStatus = Stop;
+ }
+ QMouseEvent me (e->type(), e->pos(), e->globalPos(),
+ (e->button()&m_realizeButtons)?LeftButton:NoButton, e->state());
+ QButton::mouseReleaseEvent(&me);
+}
+
+void GlowButton::slotTimeout()
+{
+ repaint(false);
+
+ if( m_pos>=_steps-1 ) {
+ m_pos = -m_pos;
+ }
+ if( m_timerStatus==Stop ) {
+ if( m_pos==0 ) {
+ m_timer->stop();
+ return;
+ } else if( m_pos>0 ) {
+ m_pos = -m_pos;
+ }
+ }
+
+ m_pos++;
+}
+
+//-----------------------------------------------------------------------------
+// GlowButtonFactory
+//-----------------------------------------------------------------------------
+
+GlowButtonFactory::GlowButtonFactory()
+{
+ _steps = 20;
+}
+
+int GlowButtonFactory::getSteps()
+{
+ return _steps;
+}
+
+void GlowButtonFactory::setSteps(int steps)
+{
+ _steps = steps;
+}
+
+QPixmap * GlowButtonFactory::createGlowButtonPixmap(
+ const QImage & bg_image,
+ const QImage & fg_image,
+ const QImage & glow_image,
+ const QColor & color,
+ const QColor & glow_color)
+{
+ if (bg_image.size() != fg_image.size()
+ || fg_image.size() != glow_image.size()) {
+ std::cerr << "Image size error" << std::endl;
+ return new QPixmap();
+ }
+
+ QImage colorized_bg_image = bg_image.copy();
+ KIconEffect::colorize (colorized_bg_image, color, 1.0);
+
+ int w = colorized_bg_image.width();
+ int h = colorized_bg_image.height();
+
+ QImage image (w, (_steps+1)*h, 32);
+ image.setAlphaBuffer (true);
+ for (int i=0; i<_steps+1; ++i) {
+ for (int y=0; y<h; ++y) {
+ uint * src1_line = (uint*) colorized_bg_image.scanLine (y);
+ uint * src2_line = (uint*) fg_image.scanLine (y);
+ uint * dst_line = (uint*) image.scanLine (i*h+y);
+ for (int x=0; x<w; ++x) {
+ int r = qRed (*(src1_line+x));
+ int g = qGreen (*(src1_line+x));
+ int b = qBlue (*(src1_line+x));
+ int a = QMAX (qAlpha(*(src1_line+x)),qGray(*(src2_line+x)));
+ *(dst_line+x) = qRgba (r, g, b, a);
+ }
+ }
+ }
+ QPixmap * pixmap = new QPixmap (image);
+ QPainter painter (pixmap);
+
+ bool dark = (qGray(color.rgb()) <= 127);
+ QImage fg_img (w, h, 32);
+ fg_img.setAlphaBuffer (true);
+ for (int y=0; y<h; ++y) {
+ uint * src_line = (uint*) fg_image.scanLine (y);
+ uint * dst_line = (uint*) fg_img.scanLine (y);
+ for (int x=0; x<w; ++x) {
+ int alpha = qGray (*(src_line+x));
+ if (dark)
+ *(dst_line+x) = qRgba (255, 255, 255, alpha);
+ else
+ *(dst_line+x) = qRgba (0, 0, 0, alpha);
+ }
+ }
+
+ int r = glow_color.red();
+ int g = glow_color.green();
+ int b = glow_color.blue();
+ QImage glow_img (w, h, 32);
+ glow_img.setAlphaBuffer (true);
+ for (int i=0; i<_steps; ++i) {
+ painter.drawImage (0, i*h, fg_img);
+ for (int y=0; y<h; ++y) {
+ uint * src_line = (uint*) glow_image.scanLine(y);
+ uint * dst_line = (uint*) glow_img.scanLine(y);
+ for (int x=0; x<w; ++x) {
+ int alpha =
+ (int) (qGray (*(src_line+x)) * ((double) i/_steps));
+ *(dst_line+x) = qRgba (r, g, b, alpha);
+ }
+ }
+ painter.drawImage (0, i*h, glow_img);
+ }
+ painter.drawImage (0, _steps*h, fg_img);
+ for (int y=0; y<h; ++y) {
+ uint * src_line = (uint*) glow_image.scanLine (y);
+ uint * dst_line = (uint*) glow_img.scanLine (y);
+ for (int x=0; x<w; ++x) {
+ int alpha = qGray (*(src_line+x));
+ *(dst_line+x) = qRgba (r, g, b, alpha);
+ }
+ }
+ painter.drawImage (0, _steps*h, glow_img);
+
+ return pixmap;
+}
+
+GlowButton* GlowButtonFactory::createGlowButton(
+ QWidget *parent, const char* name, const QString& tip, const int realizeBtns)
+{
+ GlowButton *glowButton = new GlowButton(parent, name, tip, realizeBtns);
+ return glowButton;
+}
+
+}
+
+#include "glowbutton.moc"
+
diff --git a/kwin-styles/glow/glowbutton.h b/kwin-styles/glow/glowbutton.h
new file mode 100644
index 00000000..3d4f5e1d
--- /dev/null
+++ b/kwin-styles/glow/glowbutton.h
@@ -0,0 +1,128 @@
+/***************************************************************************
+ glowbutton.h - description
+ -------------------
+ begin : Thu Sep 14 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef GLOW_BUTTON_H
+#define GLOW_BUTTON_H
+
+#include <vector>
+#include <qmap.h>
+#include <qbutton.h>
+
+class QPixmap;
+class QBitmap;
+class QTimer;
+class QString;
+
+namespace Glow
+{
+
+class PixmapCache
+{
+public:
+ static const QPixmap* find(const QString& key);
+ static void insert(const QString& key, const QPixmap *pixmap);
+ static void erase(const QString& key);
+ static void clear();
+private:
+ static QMap<QString, const QPixmap*> m_pixmapMap;
+};
+
+
+//-----------------------------------------------------------------------------
+
+class GlowButton : public QButton
+{
+ Q_OBJECT
+
+public:
+ GlowButton(QWidget *parent, const char* name, const QString& tip, const int realizeBtns);
+ ~GlowButton();
+
+ void setTipText( const QString& tip );
+
+ QString getPixmapName() const;
+ ButtonState lastButton() const;
+
+ /** Sets the name of the pixmap in the pixmap cache.
+ * If no background pixmap is wanted use QString::null as name. */
+ void setPixmapName(const QString& pixmapName);
+
+protected:
+ virtual void paintEvent( QPaintEvent * );
+ virtual void enterEvent( QEvent * );
+ virtual void leaveEvent( QEvent * );
+ virtual void mousePressEvent( QMouseEvent * );
+ virtual void mouseReleaseEvent( QMouseEvent * );
+
+protected slots:
+ void slotTimeout();
+
+private:
+ enum TimerStatus { Run, Stop };
+
+ int m_updateTime;
+ int _steps;
+ QString m_pixmapName;
+
+ QTimer *m_timer;
+ int m_pos;
+ TimerStatus m_timerStatus;
+
+ int m_realizeButtons;
+ ButtonState _last_button;
+};
+
+//-----------------------------------------------------------------------------
+
+class GlowButtonFactory
+{
+public:
+ GlowButtonFactory();
+
+ int getSteps();
+
+ /**
+ * Sets the number of pixmaps used to create the glow effect of the
+ * glow buttons.
+ */
+ void setSteps(int steps);
+
+ /**
+ * Creates a background pixmap for a glow button.
+ * The pixmap will consist of sub pixmaps of the size of the button which
+ * are placed one below the other. Each sub pixmap is copied on the button
+ * in succession to create the glow effect. The last sub pixmap is used
+ * when the button is pressed.
+ */
+ QPixmap * createGlowButtonPixmap(
+ const QImage & bg_image,
+// const QImage & bg_alpha_image,
+ const QImage & fg_image,
+ const QImage & glow_image,
+ const QColor & color,
+ const QColor & glow_color);
+
+ GlowButton* createGlowButton(
+ QWidget *parent, const char* name, const QString& tip, const int realizeBtns = Qt::LeftButton);
+
+private:
+ int _steps;
+};
+
+} // namespace
+
+#endif
diff --git a/kwin-styles/glow/glowclient.cpp b/kwin-styles/glow/glowclient.cpp
new file mode 100644
index 00000000..ed13f480
--- /dev/null
+++ b/kwin-styles/glow/glowclient.cpp
@@ -0,0 +1,902 @@
+/***************************************************************************
+ glowclient.cpp - description
+ -------------------
+ begin : Thu Sep 6 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <qapplication.h>
+#include <qbitmap.h>
+#include <qimage.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kpixmapeffect.h>
+#include <kpixmap.h>
+#include <kstandarddirs.h>
+#include <qlabel.h>
+#include "resources.h"
+#include "glowclient.h"
+#include "glowbutton.h"
+
+namespace Glow
+{
+
+static int titleHeight;
+static int SIDE_MARGIN;
+static int BOTTOM_MARGIN;
+static const int TITLE_MARGIN = 2;
+static const int TITLE_SPACING = 1;
+static int RESIZE_HANDLE_HEIGHT;
+
+//-----------------------------------------------------------------------------
+
+GlowClientConfig::GlowClientConfig()
+{
+ themeName = "default";
+}
+
+void GlowClientConfig::load(KDecorationFactory *factory)
+{
+ KConfig conf("kwinglowrc");
+ conf.setGroup("General");
+
+ const QColor defaultCloseButtonColor(DEFAULT_CLOSE_BUTTON_COLOR);
+ const QColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
+ const QColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
+ const QColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
+ const QColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
+
+ stickyButtonGlowColor = conf.readColorEntry(
+ "stickyButtonGlowColor", &defaultStickyButtonColor);
+
+ helpButtonGlowColor = conf.readColorEntry(
+ "helpButtonGlowColor", &defaultHelpButtonColor);
+
+ iconifyButtonGlowColor = conf.readColorEntry(
+ "iconifyButtonGlowColor", &defaultIconifyButtonColor);
+
+ maximizeButtonGlowColor = conf.readColorEntry(
+ "maximizeButtonGlowColor", &defaultMaximizeButtonColor);
+
+ closeButtonGlowColor = conf.readColorEntry(
+ "closeButtonGlowColor", &defaultCloseButtonColor);
+
+ showResizeHandle = conf.readBoolEntry("showResizeHandle", true);
+ titlebarGradientType = conf.readNumEntry("titlebarGradientType",
+ KPixmapEffect::DiagonalGradient);
+
+ themeName = conf.readEntry ("themeName", "default");
+
+ switch(KDecoration::options()->preferredBorderSize (factory)) {
+ case KDecoration::BorderLarge:
+ SIDE_MARGIN = 8;
+ BOTTOM_MARGIN = 6;
+ RESIZE_HANDLE_HEIGHT = 10;
+ break;
+ case KDecoration::BorderVeryLarge:
+ SIDE_MARGIN = 12;
+ BOTTOM_MARGIN = 12;
+ RESIZE_HANDLE_HEIGHT = 18;
+ break;
+ case KDecoration::BorderHuge:
+ SIDE_MARGIN = 18;
+ BOTTOM_MARGIN = 18;
+ RESIZE_HANDLE_HEIGHT = 27;
+ break;
+ case KDecoration::BorderVeryHuge:
+ SIDE_MARGIN = 27;
+ BOTTOM_MARGIN = 27;
+ RESIZE_HANDLE_HEIGHT = 40;
+ break;
+ case KDecoration::BorderOversized:
+ SIDE_MARGIN = 40;
+ BOTTOM_MARGIN = 40;
+ RESIZE_HANDLE_HEIGHT = 60;
+ break;
+ case KDecoration::BorderNormal:
+ default:
+ SIDE_MARGIN = 4;
+ BOTTOM_MARGIN = 2;
+ RESIZE_HANDLE_HEIGHT = 4;
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+GlowClientGlobals::~GlowClientGlobals()
+{
+ deletePixmaps();
+ m_instance = 0;
+}
+
+QString GlowClientGlobals::getPixmapName(PixmapType type, bool isActive)
+{
+ QString s = getPixmapTypeName(static_cast<PixmapType>(type));
+ s += "|";
+ s += isActive ? "Active" : "NotActive";
+ return s;
+}
+
+GlowClientGlobals::GlowClientGlobals()
+ : KDecorationFactory()
+{
+ _button_factory = new GlowButtonFactory();
+ readConfig();
+ readTheme ();
+ if (!createPixmaps())
+ {
+ deletePixmaps();
+ delete _theme;
+ config()->themeName = "default";
+ readTheme();
+ createPixmaps();
+ }
+}
+
+void GlowClientGlobals::readConfig()
+{
+ _config = new GlowClientConfig();
+ _config->load(this);
+}
+
+QValueList< GlowClientGlobals::BorderSize >
+GlowClientGlobals::borderSizes() const
+{
+ // the list must be sorted
+ return QValueList< BorderSize >() << BorderNormal <<
+ BorderLarge << BorderVeryLarge << BorderHuge <<
+ BorderVeryHuge << BorderOversized;
+}
+
+void GlowClientGlobals::readTheme()
+{
+ QString theme_config_file = KGlobal::dirs()->findResource ("data",
+ QString("kwin/glow-themes/") + config()->themeName + "/" +
+ config()->themeName + ".theme");
+ if (theme_config_file.isNull())
+ {
+ config()->themeName = "default";
+ return;
+ }
+
+ KConfig conf (theme_config_file);
+ _theme = new GlowTheme(default_glow_theme);
+
+ _theme->buttonSize = conf.readSizeEntry ("buttonSize",
+ &_theme->buttonSize);
+ _theme->stickyOnPixmap = conf.readEntry ("stickyOnPixmap",
+ _theme->stickyOnPixmap);
+ _theme->stickyOffPixmap = conf.readEntry ("stickyOffPixmap",
+ _theme->stickyOffPixmap);
+ _theme->maximizeOnPixmap = conf.readEntry ("maximizeOnPixmap",
+ _theme->maximizeOnPixmap);
+ _theme->maximizeOffPixmap = conf.readEntry ("maximizeOffPixmap",
+ _theme->maximizeOffPixmap);
+ _theme->helpPixmap = conf.readEntry ("helpPixmap",
+ _theme->helpPixmap);
+ _theme->closePixmap = conf.readEntry ("closePixmap",
+ _theme->closePixmap);
+ _theme->iconifyPixmap = conf.readEntry ("iconifyPixmap",
+ _theme->iconifyPixmap);
+ _theme->stickyOnGlowPixmap = conf.readEntry ("stickyOnGlowPixmap",
+ _theme->stickyOnGlowPixmap);
+ _theme->stickyOffGlowPixmap = conf.readEntry ("stickyOffGlowPixmap",
+ _theme->stickyOffGlowPixmap);
+ _theme->maximizeOnGlowPixmap = conf.readEntry ("maximizeOnGlowPixmap",
+ _theme->maximizeOnGlowPixmap);
+ _theme->maximizeOffGlowPixmap = conf.readEntry ("maximizeOffGlowPixmap",
+ _theme->maximizeOffGlowPixmap);
+ _theme->helpGlowPixmap = conf.readEntry ("helpGlowPixmap",
+ _theme->helpGlowPixmap);
+ _theme->closeGlowPixmap = conf.readEntry ("closeGlowPixmap",
+ _theme->closeGlowPixmap);
+ _theme->iconifyGlowPixmap = conf.readEntry ("iconifyGlowPixmap",
+ _theme->iconifyGlowPixmap);
+
+ titleHeight = QFontMetrics(KDecoration::options()->font(true)).height();
+ if (titleHeight < SIDE_MARGIN)
+ titleHeight = SIDE_MARGIN;
+ if (titleHeight < _theme->buttonSize.height())
+ titleHeight = _theme->buttonSize.height();
+}
+
+bool GlowClientGlobals::reset( unsigned long /*changed*/ )
+{
+ deletePixmaps();
+ delete _config;
+ readConfig();
+ delete _theme;
+ readTheme ();
+ if (! createPixmaps())
+ {
+ deletePixmaps();
+ delete _theme;
+ _config->themeName = "default";
+ readTheme();
+ createPixmaps();
+ }
+ return true; // FRAME
+}
+
+bool GlowClientGlobals::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonSpacer:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ return true;
+ default:
+ return false;
+ };
+}
+
+bool GlowClientGlobals::createPixmaps()
+{
+ for( int type=0; type<=Close; type++ ) {
+ if (! createPixmap(static_cast<PixmapType>(type), false))
+ return false;
+ if (! createPixmap(static_cast<PixmapType>(type), true))
+ return false;
+ }
+
+ return true;
+}
+
+void GlowClientGlobals::deletePixmaps()
+{
+ PixmapCache::clear();
+}
+
+const QString GlowClientGlobals::getPixmapTypeName(PixmapType type)
+{
+ switch(type) {
+ case (StickyOn):
+ return "StickyOn";
+ case(StickyOff ):
+ return "StickyOff";
+ case(Help):
+ return "Help";
+ case(Iconify):
+ return "Iconify";
+ case(MaximizeOn):
+ return "MaximizeOn";
+ case(MaximizeOff):
+ return "MaximizeOff";
+ case(Close):
+ return "Close";
+ default:
+ return QString::null;
+ }
+}
+
+bool GlowClientGlobals::createPixmap(PixmapType type, bool isActive)
+{
+ QString theme_dir = KGlobal::dirs()->findResource ("data",
+ QString("kwin/glow-themes/") + _config->themeName + "/");
+
+ QColor glow_color;
+ QColor color = options()->color(ColorButtonBg, isActive);
+
+ QImage bg_image (theme_dir+_theme->backgroundPixmap);
+ QImage fg_image;
+ QImage glow_image;
+
+ switch(type) {
+ case (StickyOn):
+ {
+ fg_image = QImage (theme_dir+_theme->stickyOnPixmap);
+ glow_image = QImage (theme_dir+_theme->stickyOnGlowPixmap);
+ glow_color = _config->stickyButtonGlowColor;
+ break;
+ }
+ case (StickyOff):
+ {
+ fg_image = QImage (theme_dir+_theme->stickyOffPixmap);
+ glow_image = QImage (theme_dir+_theme->stickyOffGlowPixmap);
+ glow_color = _config->stickyButtonGlowColor;
+ break;
+ }
+ case (Help):
+ {
+ fg_image = QImage (theme_dir+_theme->helpPixmap);
+ glow_image = QImage (theme_dir+_theme->helpGlowPixmap);
+ glow_color = _config->helpButtonGlowColor;
+ break;
+ }
+ case (Iconify):
+ {
+ fg_image = QImage (theme_dir+_theme->iconifyPixmap);
+ glow_image = QImage (theme_dir+_theme->iconifyGlowPixmap);
+ glow_color = _config->iconifyButtonGlowColor;
+ break;
+ }
+ case (MaximizeOn):
+ {
+ fg_image = QImage (theme_dir+_theme->maximizeOnPixmap);
+ glow_image = QImage (theme_dir+_theme->maximizeOnGlowPixmap);
+ glow_color = _config->maximizeButtonGlowColor;
+ break;
+ }
+ case (MaximizeOff):
+ {
+ fg_image = QImage (theme_dir+_theme->maximizeOffPixmap);
+ glow_image = QImage (theme_dir+_theme->maximizeOffGlowPixmap);
+ glow_color = _config->maximizeButtonGlowColor;
+ break;
+ }
+ case (Close):
+ {
+ fg_image = QImage (theme_dir+_theme->closePixmap);
+ glow_image = QImage (theme_dir+_theme->closeGlowPixmap);
+ glow_color = _config->closeButtonGlowColor;
+ break;
+ }
+ }
+
+ if (bg_image.size() != _theme->buttonSize
+ || fg_image.size() != _theme->buttonSize
+ || glow_image.size() != _theme->buttonSize)
+ return false;
+
+ QPixmap * glowPm = buttonFactory()->createGlowButtonPixmap(
+ bg_image, fg_image, glow_image,
+ color, glow_color);
+ if (glowPm->isNull())
+ return false;
+ PixmapCache::insert(getPixmapName(type, isActive), glowPm);
+ return true;
+}
+
+GlowClientGlobals *GlowClientGlobals::m_instance = 0;
+
+GlowClientGlobals *GlowClientGlobals::instance()
+{
+ if( ! m_instance )
+ {
+ m_instance = new GlowClientGlobals();
+ }
+ return m_instance;
+}
+
+//-----------------------------------------------------------------------------
+
+GlowClient::GlowClient( KDecorationBridge* b, KDecorationFactory* f )
+ : KDecoration( b, f ),
+ m_stickyButton(0), m_helpButton(0), m_minimizeButton(0),
+ m_maximizeButton(0), m_closeButton(0),
+ m_leftButtonLayout(0), m_rightButtonLayout(0), _main_layout(0)
+{
+}
+
+void GlowClient::init()
+{
+ createMainWidget(WResizeNoErase | WStaticContents | WRepaintNoErase);
+ widget()->installEventFilter(this);
+
+ createButtons();
+ resetLayout();
+}
+
+GlowClient::~GlowClient()
+{
+ PixmapCache::erase(QString::number(widget()->winId()));
+}
+
+void GlowClient::resizeEvent( QResizeEvent * )
+{
+ doShape();
+ widget()->repaint(false);
+}
+
+void GlowClient::paintEvent( QPaintEvent * )
+{
+ GlowClientConfig *conf = GlowClientGlobals::instance()->config();
+ QRect r_this = widget()->rect();
+ QRect r_title = _title_spacer->geometry();
+ QColorGroup titleCg = options()->colorGroup(ColorTitleBar, isActive());
+ QColorGroup titleBlendCg=options()->colorGroup(ColorTitleBlend, isActive());
+ QColorGroup cg = widget()->colorGroup();
+ QColor titleColor = options()->color(ColorTitleBar, isActive());
+ QColor titleBlendColor = options()->color(ColorTitleBlend, isActive());
+ QColor bgColor = widget()->colorGroup().background();
+ QPainter p;
+ QPointArray pArray, pArray2, pArray3, pArray4;
+
+ // pixmap for title bar
+ QSize tBSize(width(), r_title.height());
+ QSize gradientPixmapSize (tBSize-QSize(3,3));
+ if (! gradientPixmapSize.isValid())
+ gradientPixmapSize = QSize(0,0);
+ KPixmap gradientPixmap(gradientPixmapSize);
+ if (! gradientPixmapSize.isNull())
+ KPixmapEffect::gradient(gradientPixmap, titleColor, titleBlendColor,
+ (KPixmapEffect::GradientType) conf->titlebarGradientType);
+
+ QPixmap * title_buffer = new QPixmap(tBSize);
+ p.begin(title_buffer);
+ if (! gradientPixmap.isNull())
+ p.drawPixmap(2, 2, gradientPixmap);
+
+ if (tBSize.width()>=3 && tBSize.height()>=3)
+ {
+ // draw caption
+ p.setFont(options()->font(isActive()));
+ p.setPen(options()->color(ColorFont, isActive()));
+ p.drawText(r_title.x(), 0,
+ r_title.width(), r_title.height(),
+ Qt::AlignLeft | Qt::AlignVCenter | Qt::SingleLine, caption());
+
+ // draw split color beneath buttons top right
+ pArray4 = QPointArray(4);
+ pArray4.setPoint(0, tBSize.width()-1, tBSize.height()/2-1);
+ pArray4.setPoint(1, r_title.x()+r_title.width()-1+tBSize.height()/2,
+ tBSize.height()/2-1);
+ pArray4.setPoint(2, r_title.x()+r_title.width()-1, tBSize.height());
+ pArray4.setPoint(3, tBSize.width()-1, tBSize.height());
+ p.setPen(Qt::NoPen);
+ p.setBrush(bgColor);
+ p.drawPolygon(pArray4);
+
+ // draw borders
+ pArray = QPointArray(3);
+ pArray.setPoint(0, tBSize.width()-1, tBSize.height()/2-1);
+ pArray.setPoint(1, r_title.x()+r_title.width()-1+tBSize.height()/2,
+ tBSize.height()/2-1);
+ pArray.setPoint(2, r_title.x()+r_title.width()-1, tBSize.height()-1);
+ p.setPen(titleCg.mid());
+ p.drawPolyline(pArray);
+ p.drawLine (0, tBSize.height()-1, r_title.x()+r_title.width()-1, tBSize.height()-1);
+
+ pArray2 = QPointArray(3);
+ pArray2.setPoint(0, 1, tBSize.height()-2);
+ pArray2.setPoint(1, 1, 1);
+ pArray2.setPoint(2, tBSize.width()-2, 1);
+ p.setPen(titleCg.light());
+ p.drawPolyline(pArray2);
+ }
+
+ pArray3 = QPointArray(4);
+ pArray3.setPoint(0, 0, tBSize.height()-1);
+ pArray3.setPoint(1, 0, 0);
+ pArray3.setPoint(2, tBSize.width()-1, 0);
+ pArray3.setPoint(3, tBSize.width()-1, tBSize.height()-1);
+ p.setPen(Qt::black);
+ p.drawPolyline(pArray3);
+ p.end();
+
+ // insert title buffer in cache; before that, remove old buffer
+ PixmapCache::erase(QString::number(widget()->winId()));
+ PixmapCache::insert(QString::number(widget()->winId()), title_buffer);
+
+ bitBlt(widget(), 0, 0, title_buffer);
+ for (unsigned int i=0; i<m_buttonList.size(); ++i)
+ m_buttonList[i]->repaint(false);
+
+ p.begin(widget());
+ p.setPen(Qt::black);
+ //-----
+ // draw borders
+ p.drawLine(0,tBSize.height(),0,r_this.height()-1);
+ p.drawLine(0,r_this.height()-1,r_this.width()-1,r_this.height()-1);
+ p.drawLine(r_this.width()-1,r_this.height()-1,
+ r_this.width()-1,tBSize.height()/2);
+ //-----
+ // fill content widget
+ p.fillRect(1, tBSize.height(),
+ r_this.width()-2, r_this.height()-tBSize.height()-1,
+ options()->colorGroup(ColorFrame, isActive()).background());
+ p.end();
+
+ // paint resize handle if necessary
+ if(conf->showResizeHandle && isResizable() && ! isShade()
+ && width()>=2 && height() >= RESIZE_HANDLE_HEIGHT)
+ {
+ p.begin(widget());
+ p.setPen (Qt::black);
+ p.drawLine (1, height() - RESIZE_HANDLE_HEIGHT,
+ width()-2, height() - RESIZE_HANDLE_HEIGHT);
+ p.end();
+ }
+}
+
+void GlowClient::showEvent( QShowEvent * )
+{
+ doShape();
+ widget()->repaint(false);
+}
+
+void GlowClient::mouseDoubleClickEvent( QMouseEvent *e )
+{
+ if(e->button() == LeftButton && _title_spacer->geometry().contains(e->pos()))
+ titlebarDblClickOperation();
+}
+
+void GlowClient::wheelEvent( QWheelEvent *e )
+{
+ if (isSetShade() || QRect( 0, 0, width(), titleHeight ).contains(e->pos()))
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void GlowClient::activeChange()
+{
+ updateButtonPixmaps();
+ widget()->repaint(false);
+}
+
+void GlowClient::iconChange()
+{
+ // we have no (t yet an) icon button, so do nothing
+}
+
+void GlowClient::shadeChange()
+{
+}
+
+void GlowClient::captionChange()
+{
+ widget()->update(_title_spacer->geometry());
+}
+
+QSize GlowClient::minimumSize() const
+{
+ return widget()->minimumSize();
+}
+
+void GlowClient::resize( const QSize& s )
+{
+ widget()->resize( s );
+}
+
+void GlowClient::borders( int& left, int& right, int& top, int& bottom ) const
+{
+ left = right = SIDE_MARGIN;
+ top = titleHeight + TITLE_MARGIN + 1;
+ if (GlowClientGlobals::instance()->config()->showResizeHandle
+ && isResizable())
+ bottom = RESIZE_HANDLE_HEIGHT;
+ else
+ bottom = BOTTOM_MARGIN;
+}
+
+void GlowClient::desktopChange()
+{
+ if (isOnAllDesktops()) {
+ m_stickyButton->setPixmapName(
+ GlowClientGlobals::instance()->getPixmapName(
+ GlowClientGlobals::StickyOn, isActive()));
+ m_stickyButton->setTipText(i18n("Not on all desktops"));
+ } else {
+ m_stickyButton->setPixmapName(
+ GlowClientGlobals::instance()->getPixmapName(
+ GlowClientGlobals::StickyOff, isActive()));
+ m_stickyButton->setTipText(i18n("On all desktops"));
+ }
+}
+
+void GlowClient::maximizeChange()
+{
+ if (maximizeMode() == MaximizeFull) {
+ m_maximizeButton->setPixmapName(
+ GlowClientGlobals::instance()->getPixmapName(
+ GlowClientGlobals::MaximizeOn, isActive()));
+ m_maximizeButton->setTipText(i18n("Restore"));
+ } else {
+ m_maximizeButton->setPixmapName(
+ GlowClientGlobals::instance()->getPixmapName(
+ GlowClientGlobals::MaximizeOff, isActive()));
+ m_maximizeButton->setTipText(i18n("Maximize"));
+ }
+}
+
+KDecoration::Position GlowClient::mousePosition(const QPoint &pos) const
+{
+ Position m = PositionCenter;
+
+ int bottomSize
+ = (GlowClientGlobals::instance()->config()->showResizeHandle)
+ ? RESIZE_HANDLE_HEIGHT : BOTTOM_MARGIN;
+
+ const int range = 14 + 3*SIDE_MARGIN/2;
+
+ if ( ( pos.x() > SIDE_MARGIN && pos.x() < width() - SIDE_MARGIN )
+ && ( pos.y() > 4 && pos.y() < height() - bottomSize ) )
+ m = PositionCenter;
+ else if ( pos.y() <= range && pos.x() <= range)
+ m = PositionTopLeft;
+ else if ( pos.y() >= height()-range && pos.x() >= width()-range)
+ m = PositionBottomRight;
+ else if ( pos.y() >= height()-range && pos.x() <= range)
+ m = PositionBottomLeft;
+ else if ( pos.y() <= range && pos.x() >= width()-range)
+ m = PositionTopRight;
+ else if ( pos.y() <= 4 )
+ m = PositionTop;
+ else if ( pos.y() >= height()-bottomSize )
+ m = PositionBottom;
+ else if ( pos.x() <= SIDE_MARGIN )
+ m = PositionLeft;
+ else if ( pos.x() >= width()-SIDE_MARGIN )
+ m = PositionRight;
+ else
+ m = PositionCenter;
+
+ return m;
+}
+
+void GlowClient::createButtons()
+{
+ GlowClientGlobals *globals = GlowClientGlobals::instance();
+ GlowButtonFactory *factory = globals->buttonFactory();
+ QSize size = globals->theme()->buttonSize;
+
+ m_stickyButton = factory->createGlowButton(widget(),
+ "StickyButton", isOnAllDesktops()?i18n("Not on all desktops"):i18n("On all desktops"), LeftButton|RightButton);
+ m_stickyButton->setFixedSize(size);
+ connect(m_stickyButton, SIGNAL(clicked()), this, SLOT(toggleOnAllDesktops()));
+ m_buttonList.insert(m_buttonList.end(), m_stickyButton);
+
+ m_helpButton = factory->createGlowButton(widget(),
+ "HelpButton", i18n("Help"));
+ m_helpButton->setFixedSize(size);
+ connect(m_helpButton, SIGNAL(clicked()), this, SLOT(showContextHelp()));
+ m_buttonList.insert(m_buttonList.end(), m_helpButton);
+
+ m_minimizeButton = factory->createGlowButton(widget(),
+ "IconifyButton", i18n("Minimize"));
+ m_minimizeButton->setFixedSize(size);
+ connect(m_minimizeButton, SIGNAL(clicked()), this, SLOT(minimize()));
+ m_buttonList.insert(m_buttonList.end(), m_minimizeButton);
+
+ m_maximizeButton=factory->createGlowButton(widget(),
+ "MaximizeButton", i18n("Maximize"), LeftButton|MidButton|RightButton);
+ m_maximizeButton->setFixedSize(size);
+ connect(m_maximizeButton, SIGNAL(clicked()), this, SLOT(slotMaximize()));
+ m_buttonList.insert(m_buttonList.end(), m_maximizeButton);
+
+ m_closeButton = factory->createGlowButton(widget(),
+ "CloseButton", i18n("Close"));
+ m_closeButton->setFixedSize(size);
+ connect(m_closeButton, SIGNAL(clicked()), this, SLOT(closeWindow()));
+ m_buttonList.insert(m_buttonList.end(), m_closeButton);
+}
+
+void GlowClient::resetLayout()
+{
+ _main_layout = new QVBoxLayout(widget(), 0, 0);
+ _main_layout->setResizeMode (QLayout::FreeResize);
+
+ // update button positions and colors
+ updateButtonPositions();
+ updateButtonPixmaps();
+
+ QBoxLayout * topLayout = new QBoxLayout(_main_layout,
+ QBoxLayout::LeftToRight, 0, 0);
+ topLayout->setMargin(0);
+ topLayout->setSpacing(TITLE_SPACING);
+ topLayout->addSpacing(SIDE_MARGIN);
+ QVBoxLayout *outerLeftLayout = new QVBoxLayout(topLayout);
+ outerLeftLayout->addSpacing(TITLE_MARGIN);
+ outerLeftLayout->addItem(m_leftButtonLayout);
+ outerLeftLayout->addSpacing(1);
+ topLayout->addSpacing(SIDE_MARGIN);
+
+ _title_spacer = new QSpacerItem(0, titleHeight + TITLE_MARGIN + 1,
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+ topLayout->addItem(_title_spacer);
+
+ topLayout->addSpacing(SIDE_MARGIN);
+ QVBoxLayout *outerRightLayout = new QVBoxLayout(topLayout);
+ outerRightLayout->addSpacing(TITLE_MARGIN);
+ outerRightLayout->addItem(m_rightButtonLayout);
+ outerRightLayout->addSpacing(1);
+ topLayout->addSpacing(SIDE_MARGIN);
+
+ QBoxLayout *midLayout = new QBoxLayout(
+ _main_layout, QBoxLayout::LeftToRight, 0, 0);
+ midLayout->addSpacing(SIDE_MARGIN);
+ if(isPreview())
+ midLayout->addWidget(
+ new QLabel( i18n( "<b><center>Glow preview</center></b>" ), widget()));
+ else
+ midLayout->addItem( new QSpacerItem( 0, 0 ));
+ midLayout->addSpacing(SIDE_MARGIN);
+
+ if(GlowClientGlobals::instance()->config()->showResizeHandle
+ && isResizable() ) {
+ _bottom_spacer = new QSpacerItem(SIDE_MARGIN*2,
+ RESIZE_HANDLE_HEIGHT, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ } else {
+ _bottom_spacer = new QSpacerItem(SIDE_MARGIN*2,
+ BOTTOM_MARGIN, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ }
+ _main_layout->addItem (_bottom_spacer);
+ _main_layout->setStretchFactor(topLayout, 0);
+ _main_layout->setStretchFactor(midLayout, 1);
+}
+
+void GlowClient::updateButtonPositions()
+{
+ QString buttons = options()->titleButtonsLeft() + "|"
+ + options()->titleButtonsRight();
+ bool leftButtons=true;
+
+ // hide all buttons
+ for( unsigned int i=0; i<m_buttonList.size(); i++ )
+ m_buttonList[i]->hide();
+
+ m_leftButtonList.clear();
+ m_rightButtonList.clear();
+
+ // reset left and right button layout
+ if(m_leftButtonLayout)
+ delete m_leftButtonLayout;
+ m_leftButtonLayout = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ m_leftButtonLayout->setMargin(0);
+ m_leftButtonLayout->setSpacing(TITLE_SPACING);
+ if(m_rightButtonLayout)
+ delete m_rightButtonLayout;
+ m_rightButtonLayout = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ m_rightButtonLayout->setMargin(0);
+ m_rightButtonLayout->setSpacing(TITLE_SPACING);
+
+ for( unsigned int i=0; i<buttons.length(); i++ )
+ {
+ char c = buttons[i].latin1();
+ GlowButton *button = 0;
+ if( c=='S' ) // sticky
+ button = m_stickyButton;
+ else if( c=='H' && providesContextHelp() ) // help
+ button = m_helpButton;
+ else if( c=='I' && isMinimizable() ) // iconify
+ button = m_minimizeButton;
+ else if( c=='A' && isMaximizable() ) // maximize
+ button = m_maximizeButton;
+ else if( c=='X' && isCloseable() ) // close
+ button= m_closeButton;
+ else if( c=='_' ) // spacer item
+ {
+ if(leftButtons)
+ m_leftButtonLayout->addSpacing(4);
+ else
+ m_rightButtonLayout->addSpacing(4);
+ }
+ else if( c=='|' )
+ leftButtons = false;
+
+ if (button) {
+ button->show(); // show visible buttons
+ if (leftButtons) {
+ m_leftButtonList.insert(m_leftButtonList.end(), button);
+ m_leftButtonLayout->addWidget(button);
+ } else {
+ m_rightButtonList.insert(m_rightButtonList.end(), button);
+ m_rightButtonLayout->addWidget(button);
+ }
+ }
+ }
+}
+
+void GlowClient::updateButtonPixmaps()
+{
+ GlowClientGlobals *globals = GlowClientGlobals::instance();
+
+ if ( isOnAllDesktops() ) {
+ m_stickyButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::StickyOn, isActive()));
+ } else {
+ m_stickyButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::StickyOff, isActive()));
+ }
+ m_helpButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::Help, isActive()));
+
+ m_minimizeButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::Iconify, isActive()));
+
+ if ( maximizeMode() == MaximizeFull ) {
+ m_maximizeButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::MaximizeOn, isActive()));
+ } else {
+ m_maximizeButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::MaximizeOff, isActive()));
+ }
+ m_closeButton->setPixmapName(globals->getPixmapName(
+ GlowClientGlobals::Close, isActive()));
+}
+
+void GlowClient::doShape()
+{
+ QRegion mask(widget()->rect());
+ // edges
+
+ mask -= QRegion(width()-1,0,1,1);
+ mask -= QRegion(0,height()-1,1,1);
+ mask -= QRegion(width()-1,height()-1,1,1);
+ setMask(mask);
+}
+
+bool GlowClient::isLeft(GlowButton *button)
+{
+ for( unsigned int i=0; i<m_leftButtonList.size(); i++ )
+ if( m_leftButtonList[i] == button )
+ return true;
+ return false;
+}
+
+bool GlowClient::isRight(GlowButton *button)
+{
+ for( unsigned int i=0; i<m_rightButtonList.size(); i++ )
+ if( m_rightButtonList[i] == button )
+ return true;
+ return false;
+}
+
+void GlowClient::slotMaximize()
+{
+ maximize(m_maximizeButton->lastButton());
+}
+
+bool GlowClient::eventFilter( QObject* o, QEvent* e )
+{
+ if( o != widget())
+ return false;
+ switch( e->type())
+ {
+ case QEvent::Resize:
+ resizeEvent( static_cast< QResizeEvent* >( e ));
+ return true;
+ case QEvent::Paint:
+ paintEvent( static_cast< QPaintEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent( static_cast< QMouseEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent( static_cast< QMouseEvent* >( e ));
+ return true;
+ case QEvent::Show:
+ showEvent( static_cast< QShowEvent* >( e ));
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+KDecoration* GlowClientGlobals::createDecoration( KDecorationBridge* bridge )
+{
+ return new GlowClient( bridge, this );
+}
+
+} // end of namespace
+
+extern "C"
+KDE_EXPORT KDecorationFactory* create_factory()
+{
+ return Glow::GlowClientGlobals::instance();
+}
+
+#include "glowclient.moc"
+
diff --git a/kwin-styles/glow/glowclient.h b/kwin-styles/glow/glowclient.h
new file mode 100644
index 00000000..9de73126
--- /dev/null
+++ b/kwin-styles/glow/glowclient.h
@@ -0,0 +1,205 @@
+/***************************************************************************
+ glowclient.h - description
+ -------------------
+ begin : Thu Sep 6 2001
+ copyright : (C) 2001 by Henning Burchardt
+ email : h_burchardt@gmx.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef GLOW_CLIENT_H
+#define GLOW_CLIENT_H
+
+#include <vector>
+#include <map>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QPixmap;
+class QBitmap;
+class QTimer;
+class QBoxLayout;
+class QGridLayout;
+class QVBoxLayout;
+class QSpacerItem;
+
+namespace Glow
+{
+
+class GlowButton;
+class GlowButtonFactory;
+
+//-----------------------------------------------------------------------------
+// GlowTheme
+//-----------------------------------------------------------------------------
+
+struct GlowTheme
+{
+ QSize buttonSize;
+
+ QString backgroundPixmap;
+ QString backgroundAlphaPixmap;
+
+ QString stickyOnPixmap;
+ QString stickyOffPixmap;
+ QString maximizeOnPixmap;
+ QString maximizeOffPixmap;
+ QString helpPixmap;
+ QString closePixmap;
+ QString iconifyPixmap;
+
+ QString stickyOnGlowPixmap;
+ QString stickyOffGlowPixmap;
+ QString maximizeOnGlowPixmap;
+ QString maximizeOffGlowPixmap;
+ QString helpGlowPixmap;
+ QString closeGlowPixmap;
+ QString iconifyGlowPixmap;
+};
+
+static GlowTheme default_glow_theme = {
+ QSize (17, 17),
+ "background.png", "background_alpha.png",
+ "stickyon.png", "stickyoff.png",
+ "maximizeon.png", "maximizeoff.png",
+ "help.png", "close.png", "iconify.png",
+ "stickyon_glow.png", "stickyoff_glow.png",
+ "maximizeon_glow.png", "maximizeoff_glow.png",
+ "help_glow.png", "close_glow.png", "iconify_glow.png" };
+
+//-----------------------------------------------------------------------------
+// GlowClientConfig
+//-----------------------------------------------------------------------------
+
+class GlowClientConfig
+{
+public:
+ GlowClientConfig();
+
+ void load (KDecorationFactory *factory);
+
+ QColor stickyButtonGlowColor;
+ QColor helpButtonGlowColor;
+ QColor iconifyButtonGlowColor;
+ QColor maximizeButtonGlowColor;
+ QColor closeButtonGlowColor;
+ bool showResizeHandle;
+ int titlebarGradientType;
+ QString themeName;
+};
+
+//-----------------------------------------------------------------------------
+// GlowClientGlobals
+//-----------------------------------------------------------------------------
+
+class GlowClientGlobals : public KDecorationFactory
+{
+public:
+ enum PixmapType { StickyOn, StickyOff, Help, Iconify, MaximizeOn,
+ MaximizeOff, Close };
+
+ static GlowClientGlobals *instance();
+
+ ~GlowClientGlobals();
+
+ virtual KDecoration* createDecoration( KDecorationBridge* b );
+ virtual bool reset( unsigned long changed );
+ virtual bool supports( Ability ability );
+ QValueList< GlowClientGlobals::BorderSize > borderSizes() const;
+
+ QString getPixmapName(PixmapType type, bool isActive);
+
+ GlowTheme * theme() const { return _theme; }
+ GlowClientConfig * config() const { return _config; }
+ GlowButtonFactory * buttonFactory() { return _button_factory; }
+
+private:
+ static GlowClientGlobals *m_instance;
+
+ GlowTheme * _theme;
+ GlowClientConfig * _config;
+ GlowButtonFactory * _button_factory;
+
+ GlowClientGlobals();
+ void readConfig();
+ void readTheme ();
+ bool createPixmaps();
+ void deletePixmaps();
+ bool createPixmap(PixmapType type,bool isActive);
+ const QString getPixmapTypeName(PixmapType type);
+};
+
+//-----------------------------------------------------------------------------
+// GlowClient
+//-----------------------------------------------------------------------------
+
+class GlowClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ GlowClient( KDecorationBridge* b, KDecorationFactory* f );
+ ~GlowClient();
+
+ virtual void init();
+ virtual void borders( int&, int&, int&, int& ) const;
+ virtual void resize( const QSize& );
+ virtual QSize minimumSize() const;
+
+protected:
+ virtual void resizeEvent( QResizeEvent * );
+ virtual void paintEvent( QPaintEvent * );
+ virtual void showEvent( QShowEvent * );
+ virtual void mouseDoubleClickEvent( QMouseEvent * );
+ virtual void wheelEvent( QWheelEvent * );
+ virtual void maximizeChange();
+ virtual void activeChange();
+ virtual void iconChange();
+ virtual void desktopChange();
+ virtual void shadeChange();
+ virtual void captionChange();
+ virtual Position mousePosition(const QPoint &) const;
+ virtual bool eventFilter( QObject* o, QEvent* e );
+
+private:
+ std::vector<GlowButton*> m_buttonList;
+ std::vector<GlowButton*> m_leftButtonList;
+ std::vector<GlowButton*> m_rightButtonList;
+ GlowButton *m_stickyButton;
+ GlowButton *m_helpButton;
+ GlowButton *m_minimizeButton;
+ GlowButton *m_maximizeButton;
+ GlowButton *m_closeButton;
+ QBoxLayout *m_leftButtonLayout;
+ QBoxLayout *m_rightButtonLayout;
+ QSpacerItem * _bottom_spacer;
+ QSpacerItem * _title_spacer;
+ QVBoxLayout * _main_layout;
+
+ void createButtons();
+ void updateButtonPositions();
+ /**
+ * Before this method is called we have to update the button
+ * positions with updateButtonPositions() because the pixmaps
+ * depend on the position
+ */
+ void updateButtonPixmaps();
+ void resetLayout();
+ void doShape();
+ bool isLeft(GlowButton *button);
+ bool isRight(GlowButton *button);
+
+protected slots:
+ void slotMaximize();
+};
+
+} // namespace
+
+#endif
diff --git a/kwin-styles/glow/resources.h b/kwin-styles/glow/resources.h
new file mode 100644
index 00000000..fa575aed
--- /dev/null
+++ b/kwin-styles/glow/resources.h
@@ -0,0 +1,11 @@
+#ifndef RESOURCES_H
+#define RESOURCES_H
+
+#define DEFAULT_CLOSE_BUTTON_COLOR Qt::red
+#define DEFAULT_MAXIMIZE_BUTTON_COLOR Qt::yellow
+#define DEFAULT_ICONIFY_BUTTON_COLOR Qt::green
+#define DEFAULT_HELP_BUTTON_COLOR Qt::white
+#define DEFAULT_STICKY_BUTTON_COLOR Qt::white
+
+#endif
+
diff --git a/kwin-styles/glow/themes/Makefile.am b/kwin-styles/glow/themes/Makefile.am
new file mode 100644
index 00000000..ec2725a7
--- /dev/null
+++ b/kwin-styles/glow/themes/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS=default glass square glass_large glass_verylarge glass_huge
diff --git a/kwin-styles/glow/themes/default/Makefile.am b/kwin-styles/glow/themes/default/Makefile.am
new file mode 100644
index 00000000..881b15d4
--- /dev/null
+++ b/kwin-styles/glow/themes/default/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/default
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+default.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/default/background.png b/kwin-styles/glow/themes/default/background.png
new file mode 100644
index 00000000..3fcbcdf5
--- /dev/null
+++ b/kwin-styles/glow/themes/default/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/close.png b/kwin-styles/glow/themes/default/close.png
new file mode 100644
index 00000000..898a368a
--- /dev/null
+++ b/kwin-styles/glow/themes/default/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/close_glow.png b/kwin-styles/glow/themes/default/close_glow.png
new file mode 100644
index 00000000..69b36e92
--- /dev/null
+++ b/kwin-styles/glow/themes/default/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/default.theme b/kwin-styles/glow/themes/default/default.theme
new file mode 100644
index 00000000..26f00feb
--- /dev/null
+++ b/kwin-styles/glow/themes/default/default.theme
@@ -0,0 +1,19 @@
+buttonSize=17,17
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/default/help.png b/kwin-styles/glow/themes/default/help.png
new file mode 100644
index 00000000..c3ed65ee
--- /dev/null
+++ b/kwin-styles/glow/themes/default/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/help_glow.png b/kwin-styles/glow/themes/default/help_glow.png
new file mode 100644
index 00000000..79a5006a
--- /dev/null
+++ b/kwin-styles/glow/themes/default/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/iconify.png b/kwin-styles/glow/themes/default/iconify.png
new file mode 100644
index 00000000..94fc6338
--- /dev/null
+++ b/kwin-styles/glow/themes/default/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/iconify_glow.png b/kwin-styles/glow/themes/default/iconify_glow.png
new file mode 100644
index 00000000..8b4d1413
--- /dev/null
+++ b/kwin-styles/glow/themes/default/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeoff.png b/kwin-styles/glow/themes/default/maximizeoff.png
new file mode 100644
index 00000000..e60cdc97
--- /dev/null
+++ b/kwin-styles/glow/themes/default/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeoff_glow.png b/kwin-styles/glow/themes/default/maximizeoff_glow.png
new file mode 100644
index 00000000..25f4c8ec
--- /dev/null
+++ b/kwin-styles/glow/themes/default/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeon.png b/kwin-styles/glow/themes/default/maximizeon.png
new file mode 100644
index 00000000..3976411f
--- /dev/null
+++ b/kwin-styles/glow/themes/default/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeon_glow.png b/kwin-styles/glow/themes/default/maximizeon_glow.png
new file mode 100644
index 00000000..941ed849
--- /dev/null
+++ b/kwin-styles/glow/themes/default/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyoff.png b/kwin-styles/glow/themes/default/stickyoff.png
new file mode 100644
index 00000000..3600e326
--- /dev/null
+++ b/kwin-styles/glow/themes/default/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyoff_glow.png b/kwin-styles/glow/themes/default/stickyoff_glow.png
new file mode 100644
index 00000000..5c9861a0
--- /dev/null
+++ b/kwin-styles/glow/themes/default/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyon.png b/kwin-styles/glow/themes/default/stickyon.png
new file mode 100644
index 00000000..a84941a3
--- /dev/null
+++ b/kwin-styles/glow/themes/default/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyon_glow.png b/kwin-styles/glow/themes/default/stickyon_glow.png
new file mode 100644
index 00000000..905653e5
--- /dev/null
+++ b/kwin-styles/glow/themes/default/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/Makefile.am b/kwin-styles/glow/themes/glass/Makefile.am
new file mode 100644
index 00000000..f1d7e5d7
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/glass
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+glass.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass/background.png b/kwin-styles/glow/themes/glass/background.png
new file mode 100644
index 00000000..97d278a0
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/close.png b/kwin-styles/glow/themes/glass/close.png
new file mode 100644
index 00000000..8b61cfd2
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/close_glow.png b/kwin-styles/glow/themes/glass/close_glow.png
new file mode 100644
index 00000000..2be50e89
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/glass.theme b/kwin-styles/glow/themes/glass/glass.theme
new file mode 100644
index 00000000..9facf271
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/glass.theme
@@ -0,0 +1,19 @@
+buttonSize=19,19
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass/help.png b/kwin-styles/glow/themes/glass/help.png
new file mode 100644
index 00000000..7a12fe88
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/help_glow.png b/kwin-styles/glow/themes/glass/help_glow.png
new file mode 100644
index 00000000..77976ff1
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/iconify.png b/kwin-styles/glow/themes/glass/iconify.png
new file mode 100644
index 00000000..55b9f6a9
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/iconify_glow.png b/kwin-styles/glow/themes/glass/iconify_glow.png
new file mode 100644
index 00000000..ff741dbe
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeoff.png b/kwin-styles/glow/themes/glass/maximizeoff.png
new file mode 100644
index 00000000..b08d34c1
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeoff_glow.png b/kwin-styles/glow/themes/glass/maximizeoff_glow.png
new file mode 100644
index 00000000..8ff43447
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeon.png b/kwin-styles/glow/themes/glass/maximizeon.png
new file mode 100644
index 00000000..8894007e
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeon_glow.png b/kwin-styles/glow/themes/glass/maximizeon_glow.png
new file mode 100644
index 00000000..7fe3c840
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyoff.png b/kwin-styles/glow/themes/glass/stickyoff.png
new file mode 100644
index 00000000..d87cfe9d
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyoff_glow.png b/kwin-styles/glow/themes/glass/stickyoff_glow.png
new file mode 100644
index 00000000..f682df78
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyon.png b/kwin-styles/glow/themes/glass/stickyon.png
new file mode 100644
index 00000000..f044c134
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyon_glow.png b/kwin-styles/glow/themes/glass/stickyon_glow.png
new file mode 100644
index 00000000..0b468787
--- /dev/null
+++ b/kwin-styles/glow/themes/glass/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/Makefile.am b/kwin-styles/glow/themes/glass_huge/Makefile.am
new file mode 100644
index 00000000..b9631d1b
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/glass_huge
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+glass_huge.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_huge/background.png b/kwin-styles/glow/themes/glass_huge/background.png
new file mode 100644
index 00000000..f69e109b
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/close.png b/kwin-styles/glow/themes/glass_huge/close.png
new file mode 100644
index 00000000..3f1c7369
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/close_glow.png b/kwin-styles/glow/themes/glass_huge/close_glow.png
new file mode 100644
index 00000000..00b647dc
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/glass_huge.theme b/kwin-styles/glow/themes/glass_huge/glass_huge.theme
new file mode 100644
index 00000000..d8c41f52
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/glass_huge.theme
@@ -0,0 +1,19 @@
+buttonSize=40,40
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_huge/help.png b/kwin-styles/glow/themes/glass_huge/help.png
new file mode 100644
index 00000000..a391ce94
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/help_glow.png b/kwin-styles/glow/themes/glass_huge/help_glow.png
new file mode 100644
index 00000000..a8237795
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/iconify.png b/kwin-styles/glow/themes/glass_huge/iconify.png
new file mode 100644
index 00000000..b3219692
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/iconify_glow.png b/kwin-styles/glow/themes/glass_huge/iconify_glow.png
new file mode 100644
index 00000000..a5950bcc
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeoff.png b/kwin-styles/glow/themes/glass_huge/maximizeoff.png
new file mode 100644
index 00000000..b6ca8c0b
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png
new file mode 100644
index 00000000..deb8b29f
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeon.png b/kwin-styles/glow/themes/glass_huge/maximizeon.png
new file mode 100644
index 00000000..bcccef1f
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png b/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png
new file mode 100644
index 00000000..410296b1
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyoff.png b/kwin-styles/glow/themes/glass_huge/stickyoff.png
new file mode 100644
index 00000000..db79fec8
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png b/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png
new file mode 100644
index 00000000..ff8377b1
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyon.png b/kwin-styles/glow/themes/glass_huge/stickyon.png
new file mode 100644
index 00000000..c6b1f6bc
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyon_glow.png b/kwin-styles/glow/themes/glass_huge/stickyon_glow.png
new file mode 100644
index 00000000..46d8470b
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_huge/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/Makefile.am b/kwin-styles/glow/themes/glass_large/Makefile.am
new file mode 100644
index 00000000..b884ff55
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/glass_large
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+glass_large.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_large/background.png b/kwin-styles/glow/themes/glass_large/background.png
new file mode 100644
index 00000000..860e346f
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/close.png b/kwin-styles/glow/themes/glass_large/close.png
new file mode 100644
index 00000000..4e180281
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/close_glow.png b/kwin-styles/glow/themes/glass_large/close_glow.png
new file mode 100644
index 00000000..59976dd3
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/glass_large.theme b/kwin-styles/glow/themes/glass_large/glass_large.theme
new file mode 100644
index 00000000..1fdf6832
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/glass_large.theme
@@ -0,0 +1,19 @@
+buttonSize=23,23
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_large/help.png b/kwin-styles/glow/themes/glass_large/help.png
new file mode 100644
index 00000000..464a7d49
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/help_glow.png b/kwin-styles/glow/themes/glass_large/help_glow.png
new file mode 100644
index 00000000..21e94cd0
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/iconify.png b/kwin-styles/glow/themes/glass_large/iconify.png
new file mode 100644
index 00000000..c148f4bb
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/iconify_glow.png b/kwin-styles/glow/themes/glass_large/iconify_glow.png
new file mode 100644
index 00000000..9daa831b
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeoff.png b/kwin-styles/glow/themes/glass_large/maximizeoff.png
new file mode 100644
index 00000000..40580530
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png
new file mode 100644
index 00000000..164aadbf
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeon.png b/kwin-styles/glow/themes/glass_large/maximizeon.png
new file mode 100644
index 00000000..34e9425a
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeon_glow.png b/kwin-styles/glow/themes/glass_large/maximizeon_glow.png
new file mode 100644
index 00000000..6038c045
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyoff.png b/kwin-styles/glow/themes/glass_large/stickyoff.png
new file mode 100644
index 00000000..a29cde1a
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyoff_glow.png b/kwin-styles/glow/themes/glass_large/stickyoff_glow.png
new file mode 100644
index 00000000..76c4781e
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyon.png b/kwin-styles/glow/themes/glass_large/stickyon.png
new file mode 100644
index 00000000..c805faf4
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyon_glow.png b/kwin-styles/glow/themes/glass_large/stickyon_glow.png
new file mode 100644
index 00000000..7a6b9ec4
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_large/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/Makefile.am b/kwin-styles/glow/themes/glass_verylarge/Makefile.am
new file mode 100644
index 00000000..f6a5582c
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/glass_verylarge
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+glass_verylarge.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_verylarge/background.png b/kwin-styles/glow/themes/glass_verylarge/background.png
new file mode 100644
index 00000000..ed032232
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/close.png b/kwin-styles/glow/themes/glass_verylarge/close.png
new file mode 100644
index 00000000..15dc4b50
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/close_glow.png b/kwin-styles/glow/themes/glass_verylarge/close_glow.png
new file mode 100644
index 00000000..9207e37e
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme b/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme
new file mode 100644
index 00000000..36368a8d
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme
@@ -0,0 +1,19 @@
+buttonSize=30,30
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_verylarge/help.png b/kwin-styles/glow/themes/glass_verylarge/help.png
new file mode 100644
index 00000000..3a2d0c9d
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/help_glow.png b/kwin-styles/glow/themes/glass_verylarge/help_glow.png
new file mode 100644
index 00000000..29e6edf9
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/iconify.png b/kwin-styles/glow/themes/glass_verylarge/iconify.png
new file mode 100644
index 00000000..2d760e3d
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png b/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png
new file mode 100644
index 00000000..01f474e5
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png b/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png
new file mode 100644
index 00000000..4224aa05
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png
new file mode 100644
index 00000000..9327994a
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeon.png b/kwin-styles/glow/themes/glass_verylarge/maximizeon.png
new file mode 100644
index 00000000..2d90482f
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png b/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png
new file mode 100644
index 00000000..3b9a6bf4
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyoff.png b/kwin-styles/glow/themes/glass_verylarge/stickyoff.png
new file mode 100644
index 00000000..a2c26583
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png b/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png
new file mode 100644
index 00000000..c6e57e21
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyon.png b/kwin-styles/glow/themes/glass_verylarge/stickyon.png
new file mode 100644
index 00000000..56cde081
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png b/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png
new file mode 100644
index 00000000..f3778479
--- /dev/null
+++ b/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/Makefile.am b/kwin-styles/glow/themes/square/Makefile.am
new file mode 100644
index 00000000..bcb698b0
--- /dev/null
+++ b/kwin-styles/glow/themes/square/Makefile.am
@@ -0,0 +1,17 @@
+linkdir = $(kde_datadir)/kwin/glow-themes/square
+link_DATA = \
+background.png \
+help.png help_glow.png \
+close.png close_glow.png \
+iconify.png iconify_glow.png \
+maximizeoff.png maximizeoff_glow.png \
+maximizeon.png maximizeon_glow.png \
+stickyon.png stickyon_glow.png \
+stickyoff.png stickyoff_glow.png \
+square.theme
+
+EXTRA_DIST = $(link_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/glow/themes/square/background.png b/kwin-styles/glow/themes/square/background.png
new file mode 100644
index 00000000..225af3a5
--- /dev/null
+++ b/kwin-styles/glow/themes/square/background.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/close.png b/kwin-styles/glow/themes/square/close.png
new file mode 100644
index 00000000..898a368a
--- /dev/null
+++ b/kwin-styles/glow/themes/square/close.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/close_glow.png b/kwin-styles/glow/themes/square/close_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/close_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/help.png b/kwin-styles/glow/themes/square/help.png
new file mode 100644
index 00000000..c3ed65ee
--- /dev/null
+++ b/kwin-styles/glow/themes/square/help.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/help_glow.png b/kwin-styles/glow/themes/square/help_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/help_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/iconify.png b/kwin-styles/glow/themes/square/iconify.png
new file mode 100644
index 00000000..94fc6338
--- /dev/null
+++ b/kwin-styles/glow/themes/square/iconify.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/iconify_glow.png b/kwin-styles/glow/themes/square/iconify_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/iconify_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeoff.png b/kwin-styles/glow/themes/square/maximizeoff.png
new file mode 100644
index 00000000..e60cdc97
--- /dev/null
+++ b/kwin-styles/glow/themes/square/maximizeoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeoff_glow.png b/kwin-styles/glow/themes/square/maximizeoff_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/maximizeoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeon.png b/kwin-styles/glow/themes/square/maximizeon.png
new file mode 100644
index 00000000..3976411f
--- /dev/null
+++ b/kwin-styles/glow/themes/square/maximizeon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeon_glow.png b/kwin-styles/glow/themes/square/maximizeon_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/maximizeon_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/square.theme b/kwin-styles/glow/themes/square/square.theme
new file mode 100644
index 00000000..26f00feb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/square.theme
@@ -0,0 +1,19 @@
+buttonSize=17,17
+
+backgroundPixmap=background.png
+
+stickyOnPixmap=stickyon.png
+stickyOffPixmap=stickyoff.png
+maximizeOnPixmap=maximizeon.png
+maximizeOffPixmap=maximizeoff.png
+helpPixmap=help.png
+closePixmap=close.png
+iconifyPixmap=iconify.png
+
+stickyOnGlowPixmap=stickyon_glow.png
+stickyOffGlowPixmap=stickyoff_glow.png
+maximizeOnGlowPixmap=maximizeon_glow.png
+maximizeOffGlowPixmap=maximizeoff_glow.png
+helpGlowPixmap=help_glow.png
+closeGlowPixmap=close_glow.png
+iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/square/stickyoff.png b/kwin-styles/glow/themes/square/stickyoff.png
new file mode 100644
index 00000000..3600e326
--- /dev/null
+++ b/kwin-styles/glow/themes/square/stickyoff.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyoff_glow.png b/kwin-styles/glow/themes/square/stickyoff_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/stickyoff_glow.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyon.png b/kwin-styles/glow/themes/square/stickyon.png
new file mode 100644
index 00000000..a84941a3
--- /dev/null
+++ b/kwin-styles/glow/themes/square/stickyon.png
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyon_glow.png b/kwin-styles/glow/themes/square/stickyon_glow.png
new file mode 100644
index 00000000..4cd1f1cb
--- /dev/null
+++ b/kwin-styles/glow/themes/square/stickyon_glow.png
Binary files differ
diff --git a/kwin-styles/icewm/Makefile.am b/kwin-styles/icewm/Makefile.am
new file mode 100644
index 00000000..1bdcda43
--- /dev/null
+++ b/kwin-styles/icewm/Makefile.am
@@ -0,0 +1,21 @@
+INCLUDES = $(all_includes)
+
+SUBDIRS = . config icewm-themes
+
+kde_module_LTLIBRARIES = kwin3_icewm.la
+
+kwin3_icewm_la_SOURCES = icewm.cpp
+kwin3_icewm_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_icewm_la_LIBADD = $(LIB_KDEUI) -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = icewm.h
+
+lnkdir = $(kde_datadir)/kwin/
+lnk_DATA = icewm.desktop
+
+EXTRA_DIST = $(lnk_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/icewm/config/Makefile.am b/kwin-styles/icewm/config/Makefile.am
new file mode 100644
index 00000000..7c2b82e5
--- /dev/null
+++ b/kwin-styles/icewm/config/Makefile.am
@@ -0,0 +1,16 @@
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin_icewm_config.la
+
+kwin_icewm_config_la_SOURCES = config.cpp
+kwin_icewm_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_icewm_config_la_LIBADD = $(LIB_KDEUI) $(LIB_KIO)
+
+METASOURCES = AUTO
+noinst_HEADERS = config.h
+
+lnkdir = $(kde_datadir)/kwin/
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/icewm/config/config.cpp b/kwin-styles/icewm/config/config.cpp
new file mode 100644
index 00000000..7cae598e
--- /dev/null
+++ b/kwin-styles/icewm/config/config.cpp
@@ -0,0 +1,271 @@
+/*
+ * $Id$
+ *
+ * This file contains the IceWM configuration widget
+ *
+ * Copyright (c) 2001
+ * Karol Szwed <gallium@kde.org>
+ * http://gallium.n3.net/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "config.h"
+#include <qdir.h>
+#include <qregexp.h>
+#include <qvbox.h>
+#include <qwhatsthis.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kstandarddirs.h>
+#include <kdialog.h>
+#include <kdirwatch.h>
+#include <kapplication.h>
+
+
+extern "C"
+{
+ KDE_EXPORT QObject* allocate_config( KConfig* conf, QWidget* parent )
+ {
+ return(new IceWMConfig(conf, parent));
+ }
+}
+
+
+// NOTE:
+// ==========================================================================
+// 'conf' is a pointer to the kwindecoration modules open kwin config,
+// and is by default set to the "Style" group.
+//
+// 'parent' is the parent of the QObject, which is a VBox inside the
+// Configure tab in kwindecoration
+// ==========================================================================
+
+IceWMConfig::IceWMConfig( KConfig* conf, QWidget* parent )
+ : QObject( parent )
+{
+ icewmConfig = new KConfig("kwinicewmrc");
+ KGlobal::locale()->insertCatalogue("kwin_art_clients");
+
+ mainWidget = new QVBox( parent );
+ mainWidget->setSpacing( KDialog::spacingHint() );
+
+ themeListBox = new QListBox( mainWidget );
+ QWhatsThis::add( themeListBox,
+ i18n("Make your IceWM selection by clicking on a theme here. ") );
+
+ cbThemeTitleTextColors = new QCheckBox(
+ i18n("Use theme &title text colors"), mainWidget );
+
+ QWhatsThis::add( cbThemeTitleTextColors,
+ i18n("When selected, titlebar colors will follow those set "
+ "in the IceWM theme. If not selected, the current KDE "
+ "titlebar colors will be used instead.") );
+
+ cbTitleBarOnTop = new QCheckBox(
+ i18n("&Show title bar on top of windows"), mainWidget );
+
+ QWhatsThis::add( cbTitleBarOnTop,
+ i18n("When selected, all window titlebars will be shown "
+ "at the top of each window, otherwise they will be "
+ "shown at the bottom.") );
+
+ cbShowMenuButtonIcon = new QCheckBox(
+ i18n("&Menu button always shows application mini icon"), mainWidget );
+
+ QWhatsThis::add( cbShowMenuButtonIcon,
+ i18n("When selected, all titlebar menu buttons will have "
+ "the application icon shown. If not selected, the current "
+ "theme's defaults are used instead.") );
+
+ urlLabel = new KURLLabel( mainWidget );
+ urlLabel->setText( i18n("Open KDE's IceWM theme folder") );
+
+ themeLabel = new QLabel(
+ i18n("Clicking on the link above will cause a window to appear "
+ "showing the KDE IceWM theme folder. You can "
+ "add or remove native IceWM themes by "
+ "uncompressing <b>http://icewm.themes.org/</b> theme files "
+ "into this folder, or by creating folder symlinks to "
+ "existing IceWM themes on your system."), mainWidget );
+
+ // Load configuration options
+ load( conf );
+
+ // Ensure we track user changes properly
+ connect( themeListBox, SIGNAL(selectionChanged()),
+ this, SLOT(slotSelectionChanged()) );
+
+ connect( urlLabel, SIGNAL(leftClickedURL(const QString&)),
+ this, SLOT(callURL(const QString&)));
+
+ connect( cbThemeTitleTextColors, SIGNAL(clicked()),
+ this, SLOT(slotSelectionChanged()) );
+
+ connect( cbTitleBarOnTop, SIGNAL(clicked()),
+ this, SLOT(slotSelectionChanged()) );
+
+ connect( cbShowMenuButtonIcon, SIGNAL(clicked()),
+ this, SLOT(slotSelectionChanged()) );
+
+ // Create the theme directory (if not found) ... and obtain the path as we do so.
+ localThemeString = KGlobal::dirs()->saveLocation("data", "kwin");
+ localThemeString += "/icewm-themes";
+ if (!QFile::exists(localThemeString))
+ QDir().mkdir(localThemeString);
+
+ // Watch the icewm theme directory for theme additions/removals
+ KDirWatch::self()->addDir(localThemeString);
+ connect( KDirWatch::self(), SIGNAL(dirty(const QString&)), this, SLOT(findIceWMThemes()) );
+ connect( KDirWatch::self(), SIGNAL(created(const QString&)), this, SLOT(findIceWMThemes()) );
+ connect( KDirWatch::self(), SIGNAL(deleted(const QString&)), this, SLOT(findIceWMThemes()) );
+
+ // Set the konqui link url
+ QString urlThemeString = QString("file://") + localThemeString;
+ urlThemeString.replace( QRegExp("~"), "$HOME" );
+ urlLabel->setURL( urlThemeString );
+
+ // Make the widgets visible in kwindecoration
+ mainWidget->show();
+
+ KDirWatch::self()->startScan();
+}
+
+
+IceWMConfig::~IceWMConfig()
+{
+ KDirWatch::self()->removeDir(localThemeString);
+ KDirWatch::self()->stopScan();
+ delete icewmConfig;
+ delete mainWidget;
+}
+
+
+// Searches for all installed IceWM themes, and adds them to the listBox.
+void IceWMConfig::findIceWMThemes()
+{
+ QStringList dirList = KGlobal::dirs()->findDirs("data", "kwin/icewm-themes");
+ QStringList::ConstIterator it;
+
+ // Remove any old themes in the list (if any)
+ themeListBox->clear();
+ themeListBox->insertItem( i18n("Infadel #2 (default)") );
+
+ // Step through all kwin/icewm-themes directories...
+ for( it = dirList.begin(); it != dirList.end(); it++)
+ {
+ // List all directory names only...
+ QDir d(*it, QString("*"), QDir::Unsorted, QDir::Dirs | QDir::Readable );
+ if (d.exists())
+ {
+ QFileInfoListIterator it2( *d.entryInfoList() );
+ QFileInfo* finfo;
+
+ // Step through all directories within the kwin/icewm-themes directory
+ while( (finfo = it2.current()) )
+ {
+ // Ignore . and .. directories
+ if ( (finfo->fileName() == ".") || (finfo->fileName() == "..") )
+ {
+ ++it2;
+ continue;
+ }
+
+ if ( !themeListBox->findItem( finfo->fileName()) )
+ themeListBox->insertItem( finfo->fileName() );
+
+ ++it2;
+ }
+ }
+ }
+
+ // Sort the items
+ themeListBox->sort();
+
+ // Select the currently used IceWM theme
+ QString themeName = icewmConfig->readEntry("CurrentTheme");
+
+ // Provide a theme alias
+ if (themeName == "default")
+ themeName = "";
+
+ if (themeName.isEmpty())
+ themeListBox->setCurrentItem(
+ themeListBox->findItem( i18n("Infadel #2 (default)") ) );
+ else
+ themeListBox->setCurrentItem( themeListBox->findItem(themeName) );
+}
+
+
+void IceWMConfig::callURL( const QString& s )
+{
+ kapp->invokeBrowser( s );
+}
+
+
+void IceWMConfig::slotSelectionChanged()
+{
+ emit changed();
+}
+
+
+// Loads the configurable options from the kwinicewmrc config file
+void IceWMConfig::load( KConfig* )
+{
+ icewmConfig->setGroup("General");
+
+ bool override = icewmConfig->readBoolEntry( "ThemeTitleTextColors", true );
+ cbThemeTitleTextColors->setChecked( override );
+
+ override = icewmConfig->readBoolEntry( "TitleBarOnTop", true );
+ cbTitleBarOnTop->setChecked( override );
+
+ override = icewmConfig->readBoolEntry( "ShowMenuButtonIcon", false );
+ cbShowMenuButtonIcon->setChecked( override );
+
+ findIceWMThemes();
+}
+
+
+// Saves the configurable options to the kwinicewmrc config file
+void IceWMConfig::save( KConfig* )
+{
+ icewmConfig->setGroup("General");
+ icewmConfig->writeEntry( "ThemeTitleTextColors", cbThemeTitleTextColors->isChecked() );
+ icewmConfig->writeEntry( "TitleBarOnTop", cbTitleBarOnTop->isChecked() );
+ icewmConfig->writeEntry( "ShowMenuButtonIcon", cbShowMenuButtonIcon->isChecked() );
+
+ if (themeListBox->currentText() == i18n("Infadel #2 (default)"))
+ icewmConfig->writeEntry("CurrentTheme", "default");
+ else
+ icewmConfig->writeEntry("CurrentTheme", themeListBox->currentText() );
+
+ icewmConfig->sync();
+}
+
+
+// Sets UI widget defaults which must correspond to config defaults
+void IceWMConfig::defaults()
+{
+ cbThemeTitleTextColors->setChecked( true );
+ cbTitleBarOnTop->setChecked( true );
+ cbShowMenuButtonIcon->setChecked( false );
+ themeListBox->setCurrentItem( themeListBox->findItem(i18n("Infadel #2 (default)")) );
+}
+
+#include "config.moc"
+// vim: ts=4
diff --git a/kwin-styles/icewm/config/config.h b/kwin-styles/icewm/config/config.h
new file mode 100644
index 00000000..e156137e
--- /dev/null
+++ b/kwin-styles/icewm/config/config.h
@@ -0,0 +1,76 @@
+/*
+ * $Id$
+ *
+ * This file contains the IceWM configuration widget
+ *
+ * Copyright (c) 2001
+ * Karol Szwed <gallium@kde.org>
+ * http://gallium.n3.net/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef _ICEWMCONFIG_H
+#define _ICEWMCONFIG_H
+
+#include <qwidget.h>
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qlistbox.h>
+#include <qlabel.h>
+#include <kurllabel.h>
+#include <kconfig.h>
+
+class QVBox;
+
+class IceWMConfig: public QObject
+{
+ Q_OBJECT
+
+ public:
+ IceWMConfig( KConfig* conf, QWidget* parent );
+ ~IceWMConfig();
+
+ // These public signals/slots work similar to KCM modules
+ signals:
+ void changed();
+
+ public slots:
+ void load( KConfig* conf );
+ void save( KConfig* conf );
+ void defaults();
+
+ protected slots:
+ void slotSelectionChanged(); // Internal use
+ void callURL( const QString& s );
+ void findIceWMThemes();
+
+ private:
+ KConfig* icewmConfig;
+ QCheckBox* cbThemeTitleTextColors;
+ QCheckBox* cbTitleBarOnTop;
+ QCheckBox* cbShowMenuButtonIcon;
+ QListBox* themeListBox;
+ QLabel* themeLabel;
+ KURLLabel* urlLabel;
+ QString localThemeString;
+ QVBox* mainWidget;
+};
+
+
+#endif
+// vim: ts=4
diff --git a/kwin-styles/icewm/icewm-themes/Makefile.am b/kwin-styles/icewm/icewm-themes/Makefile.am
new file mode 100644
index 00000000..40290635
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/Makefile.am
@@ -0,0 +1,12 @@
+pics_DATA = titleAB.xpm titleAJ.xpm titleAM.xpm titleAP.xpm titleAQ.xpm \
+ titleAR.xpm titleAS.xpm titleAT.xpm titleIB.xpm titleIJ.xpm \
+ titleIM.xpm titleIQ.xpm titleIR.xpm titleIS.xpm titleIT.xpm \
+ titleIP.xpm closeA.xpm closeI.xpm depthA.xpm depthI.xpm \
+ maximizeA.xpm maximizeI.xpm menuButtonA.xpm menuButtonI.xpm \
+ minimizeA.xpm minimizeI.xpm restoreA.xpm restoreI.xpm \
+ rolldownA.xpm rolldownI.xpm rollupA.xpm rollupI.xpm \
+ default.theme
+
+picsdir = $(kde_datadir)/kwin/icewm-themes
+
+
diff --git a/kwin-styles/icewm/icewm-themes/closeA.xpm b/kwin-styles/icewm/icewm-themes/closeA.xpm
new file mode 100644
index 00000000..cc202bcd
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/closeA.xpm
@@ -0,0 +1,69 @@
+/* XPM */
+static char * closeA_xpm[] = {
+"15 34 32 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #798EAA",
+"( c #7E96B6",
+"_ c #C7CDD4",
+": c #FEFEFE",
+"< c #8CA3C5",
+"[ c #435165",
+"} c #3C4553",
+"| c #323F4F",
+"1 c #0D0E13",
+"2 c #363636",
+"3 c #677B98",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/_>^]{~",
+":*)^>!(<'!_^[*:",
+"~%}^>!/*/_>^}%~",
+",%}[->*!,>;^}%,",
+"&%|[^$>_>;^}=%&",
+"@$]|1[&^^^}|]$@",
+"+)$]|&}[)||=$)+",
+"..**']=|=]]**..",
+"{{{$1*'''*1${{{",
+"####=%%%%1=####",
+")))))))))))))))",
+"2222222=2222222",
+"...............",
+"+++++++++++++++",
+"@@@@)1%%%$)@@@@",
+"&&&*'})[)}]*&&&",
+",,*=)[^-^^}2*,,",
+"~{'}[^;>;-[}'{~",
+":$=}[^>31+[|=*:",
+"~%=}[^;$;^+|=%~",
+",%]|}^1-^+}|]%,",
+"&%'2|1[[/)|2'%&",
+"@1']%|}.}|2]'1@",
+"+)1']=.==]]'1)+",
+"..$$*.]]''*$1..",
+"{{{11$***$1${{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/closeI.xpm b/kwin-styles/icewm/icewm-themes/closeI.xpm
new file mode 100644
index 00000000..4529b06f
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/closeI.xpm
@@ -0,0 +1,69 @@
+/* XPM */
+static char * closeI_xpm[] = {
+"15 34 32 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #8A8A8A",
+"( g #929292",
+"_ g #CBCBCB",
+": g #FEFEFE",
+"< g #9F9F9F",
+"[ g #4F4F4F",
+"} g #434343",
+"| g #3C3C3C",
+"1 g #0E0E0E",
+"2 g #363636",
+"3 g #787878",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/_>^]{~",
+":*)^>!(<'!_^[*:",
+"~%}^>!/*/_>^}%~",
+",%}[->*!,>;^}%,",
+"&%|[^$>_>;^}=%&",
+"@$]|1[&^^^}|]$@",
+"+)$]|&}[)||=$)+",
+"..**']=|=]]**..",
+"{{{$1*'''*1${{{",
+"####=%%%%1=####",
+")))))))))))))))",
+"2222222=2222222",
+"...............",
+"+++++++++++++++",
+"@@@@)1%%%$)@@@@",
+"&&&*'})[)}]*&&&",
+",,*=)[^-^^}2*,,",
+"~{'}[^;>;-[}'{~",
+":$=}[^>31+[|=*:",
+"~%=}[^;$;^+|=%~",
+",%]|}^1-^+}|]%,",
+"&%'2|1[[/)|2'%&",
+"@1']%|}.}|2]'1@",
+"+)1']=.==]]'1)+",
+"..$$*.]]''*$1..",
+"{{{11$***$1${{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/default.theme b/kwin-styles/icewm/icewm-themes/default.theme
new file mode 100644
index 00000000..5c76117b
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/default.theme
@@ -0,0 +1,48 @@
+# Xerithane:
+#
+# Well, Artwiz inspired me (dirty lil blackbox user <g>)
+# So, I ripped his font (snap.pcf), and then got the chrome style idea and
+# adapted the theme as a rip of the e.t.o page (get it, Infadel..)
+# Some of the borrowed style is from Area 51 (by RudeSka, herald of #icewm)
+# Also borrowed are some icons from Area 51.
+#
+# tbf:
+#
+# Extended Artwiz's snap font, added cursors, polished the applets.
+# Invented depth, hide, rollup and rolldown buttons. Redraw the others.
+# Reduced number of colors.
+
+# closeI.xpm depthI.xpm maximizeI.xpm minimizeI.xpm restoreI.xpm hideI.xpm
+# rollupI.xpm rolldownI.xpm menuButtonI.xpm
+# closeA.xpm depthA.xpm maximizeA.xpm minimizeA.xpm restoreA.xpm hideA.xpm
+# rollupA.xpm rolldownA.xpm menuButtonA.xpm
+
+# PLEASE NOTE:
+# ============
+# Heavily modified by gallium for the purposes of kwin-icewm.
+# Please do not use this for icewm. Use the original icewm Infadel #2 instead.
+# The full Infadel #2 theme will still work with kwin-icewm as well, but
+# this trimmed version is included here for space reasons.
+
+ThemeDescription="Infadel/1.0.7(kwin)"
+ThemeAuthor="xerithane@nerdfarm.org"
+Look=pixmap
+
+TitleButtonsLeft="s"
+TitleButtonsRight="xmi"
+TitleButtonsSupported="sxmihrd"
+TitleBarCentered=1
+TitleBarHeight=17
+
+# Modified border sizes so they're more user "grip" friendly
+BorderSizeX=3
+BorderSizeY=3
+CornerSizeX=28
+CornerSizeY=28
+
+ColorNormalTitleBarText="#c0c0c0"
+ColorActiveTitleBarText="#ffffff"
+ColorActiveBorder="#868687"
+ColorNormalBorder="#575757"
+
+ShowMenuButtonIcon=0
diff --git a/kwin-styles/icewm/icewm-themes/depthA.xpm b/kwin-styles/icewm/icewm-themes/depthA.xpm
new file mode 100644
index 00000000..67a2e1e6
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/depthA.xpm
@@ -0,0 +1,69 @@
+/* XPM */
+static char * depthA_xpm[] = {
+"15 34 32 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #363636",
+"$ c #0D0E13",
+"% c #040404",
+"& c #C2C2C2",
+"* c #4A4A4A",
+"= c #2D333D",
+"- c #56657A",
+"; c #5D6E86",
+"> c #D6D6D6",
+", c #4D5868",
+"' c #677B98",
+") c #6E809C",
+"! c #58667E",
+"~ c #EAEAEA",
+"{ c #232D3A",
+"] c #798EAA",
+"^ c #7E96B6",
+"/ c #FEFEFE",
+"( c #3C4553",
+"_ c #8CA3C5",
+": c #111214",
+"< c #323F4F",
+"[ c #435165",
+"} c #C7CDD4",
+"| c #717273",
+"1 c #181C22",
+"2 c #1D2632",
+"3 c #5D5D5E",
+"...............",
+"+++++++++++++++",
+"@@@@.#$%$#.@@@@",
+"&&&*=-;;;-=*&&&",
+">>,*-;')';!*,>>",
+"~@{,;)]^]);,{@~",
+"/*(-;)^_^);,(,/",
+"~:(,;)<(<);,*:~",
+">%([!=)))}![(%>",
+"&:=*[-}}&-,[=$&",
+"@#=<*[,-,[(<{#@",
+"+|:{<(((*(<=:|+",
+"..#1{=<==={1#..",
+"|||{$12221$=|||",
+"3333(1%%%1(3333",
+"***************",
+"###############",
+"...............",
+"+++++++++++++++",
+"@@@@|{$%%=|@@@@",
+"&&&(2**[[(2(&&&",
+">>*=([,3,,*#*>>",
+"~+1([3!;!,[(2+~",
+"/(#([,;'!-[(#(/",
+"~:=([,{={,[<=:~",
+">%{<(2,-,+(<=%>",
+"&$2#((^+.[<=2$&",
+"@=2{=#<<(<#{1=@",
+"+3$2{===={{2$!+",
+"..=:122{221:=..",
+"|||{%1111:$2|||",
+"3333#1%%%:*3333",
+"***************",
+"###############"};
diff --git a/kwin-styles/icewm/icewm-themes/depthI.xpm b/kwin-styles/icewm/icewm-themes/depthI.xpm
new file mode 100644
index 00000000..e4fe17a9
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/depthI.xpm
@@ -0,0 +1,69 @@
+/* XPM */
+static char * depthI_xpm[] = {
+"15 34 32 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #363636",
+"$ g #0E0E0E",
+"% g #040404",
+"& g #C2C2C2",
+"* g #4A4A4A",
+"= g #323232",
+"- g #626262",
+"; g #6B6B6B",
+"> g #D6D6D6",
+", g #565656",
+"' g #787878",
+") g #7D7D7D",
+"! g #646464",
+"~ g #EAEAEA",
+"{ g #2B2B2B",
+"] g #8A8A8A",
+"^ g #929292",
+"/ g #FEFEFE",
+"( g #434343",
+"_ g #9F9F9F",
+": g #111111",
+"< g #3C3C3C",
+"[ g #4F4F4F",
+"} g #CBCBCB",
+"| g #717171",
+"1 g #1B1B1B",
+"2 g #242424",
+"3 g #5D5D5D",
+"...............",
+"+++++++++++++++",
+"@@@@.#$%$#.@@@@",
+"&&&*=-;;;-=*&&&",
+">>,*-;')';!*,>>",
+"~@{,;)]^]);,{@~",
+"/*(-;)^_^);,(,/",
+"~:(,;)<(<);,*:~",
+">%([!=)))}![(%>",
+"&:=*[-}}&-,[=$&",
+"@#=<*[,-,[(<{#@",
+"+|:{<(((*(<=:|+",
+"..#1{=<==={1#..",
+"|||{$12221$=|||",
+"3333(1%%%1(3333",
+"***************",
+"###############",
+"...............",
+"+++++++++++++++",
+"@@@@|{$%%=|@@@@",
+"&&&(2**[[(2(&&&",
+">>*=([,3,,*#*>>",
+"~+1([3!;!,[(2+~",
+"/(#([,;'!-[(#(/",
+"~:=([,{={,[<=:~",
+">%{<(2,-,+(<=%>",
+"&$2#((^+.[<=2$&",
+"@=2{=#<<(<#{1=@",
+"+3$2{===={{2$!+",
+"..=:122{221:=..",
+"|||{%1111:$2|||",
+"3333#1%%%:*3333",
+"***************",
+"###############"};
diff --git a/kwin-styles/icewm/icewm-themes/maximizeA.xpm b/kwin-styles/icewm/icewm-themes/maximizeA.xpm
new file mode 100644
index 00000000..c34304dc
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/maximizeA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * maximizeA_xpm[] = {
+"15 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #798EAA",
+"( c #7E96B6",
+"_ c #FEFEFE",
+": c #7A91B1",
+"< c #3C4553",
+"[ c #435165",
+"} c #C7CDD4",
+"| c #323F4F",
+"1 c #0D0E13",
+"2 c #363636",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>!(~:!>-)*_",
+"~%<^>!,@,!>^<%~",
+",%<[-}@@@};^|%,",
+"&%|[^%%%%%^<|%&",
+"@$]|<^^^^^<|]$@",
+"+)$]|<<[<<|]$)+",
+"..**'==|=]]**..",
+"{{{$1*'''*1${{{",
+"####=%%%%1=####",
+")))))))))))))))",
+"222222222222222",
+"...............",
+"+++++++++++++++",
+"@@@@)1%%%$)@@@@",
+"&&&*'<)[)['*}&&",
+",,*2<^^^^[<2*,,",
+"~{'<[^>>;-)<*{~",
+"_$=|[->+;-[<2*_",
+"~%=<[^+.+^[|=%~",
+",%]|<+.!!+<|]%,",
+"&%'=|%%%%%|2'%&",
+"@1']=||<||2]'1@",
+"+)1']==2=]]'1)+",
+"..$1*'''''*$1..",
+"{{{11$***$1${{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/maximizeI.xpm b/kwin-styles/icewm/icewm-themes/maximizeI.xpm
new file mode 100644
index 00000000..d857672b
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/maximizeI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * maximizeI_xpm[] = {
+"15 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #8A8A8A",
+"( g #929292",
+"_ g #FEFEFE",
+": g #8D8D8D",
+"< g #434343",
+"[ g #4F4F4F",
+"} g #CBCBCB",
+"| g #3C3C3C",
+"1 g #0E0E0E",
+"2 g #363636",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>!(~:!>-)*_",
+"~%<^>!,@,!>^<%~",
+",%<[-}@@@};^|%,",
+"&%|[^%%%%%^<|%&",
+"@$]|<^^^^^<|]$@",
+"+)$]|<<[<<|]$)+",
+"..**'==|=]]**..",
+"{{{$1*'''*1${{{",
+"####=%%%%1=####",
+")))))))))))))))",
+"222222222222222",
+"...............",
+"+++++++++++++++",
+"@@@@)1%%%$)@@@@",
+"&&&*'<)[)['*}&&",
+",,*2<^^^^[<2*,,",
+"~{'<[^>>;-)<*{~",
+"_$=|[->+;-[<2*_",
+"~%=<[^+.+^[|=%~",
+",%]|<+.!!+<|]%,",
+"&%'=|%%%%%|2'%&",
+"@1']=||<||2]'1@",
+"+)1']==2=]]'1)+",
+"..$1*'''''*$1..",
+"{{{11$***$1${{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/menuButtonA.xpm b/kwin-styles/icewm/icewm-themes/menuButtonA.xpm
new file mode 100644
index 00000000..e4b5e0ed
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/menuButtonA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * menuButtonA_xpm[] = {
+"17 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #363636",
+"$ c #0D0E13",
+"% c #040404",
+"& c #C2C2C2",
+"* c #4A4A4A",
+"= c #2D333D",
+"- c #56657A",
+"; c #5D6E86",
+"> c #D6D6D6",
+", c #4D5868",
+"' c #677B98",
+") c #6E809C",
+"! c #58667E",
+"~ c #EAEAEA",
+"{ c #232D3A",
+"] c #798EAA",
+"^ c #7E96B6",
+"/ c #FEFEFE",
+"( c #3C4553",
+"_ c #8CA3C5",
+": c #111214",
+"< c #435165",
+"[ c #323F4F",
+"} c #717273",
+"| c #181C22",
+"1 c #1D2632",
+"2 c #5D5D5E",
+".................",
+"+++++++++++++++++",
+"@@@@@.#$%$#.@@@@@",
+"&&&&*=-;;;-=*&&&&",
+">>>,*-;')';!*,>>>",
+"~~@{,;)]^]);,{@~~",
+"//*(-;)^_^);,(,//",
+"~~:(,;)]^]);,*:~~",
+">>%(<%%%%%%%<(%>>",
+"&&$=<@&&&&&@<=$&&",
+"@@#{[*<,,,,([=#@@",
+"++}|{[((<(([=:}++",
+"...#|{{=[={{|#...",
+"}}}}{$|111|$=}}}}",
+"22222(|%%$|(22222",
+"*****************",
+"#################",
+".................",
+"+++++++++++++++++",
+"@@@@@}{$%%=}@@@@@",
+"&&&&(1**<<(1(&&&&",
+">>>*=(<,-2<*#*>>>",
+"~~+|(<,-;-,<(1+~~",
+"//(#(<-;'!-<(#(//",
+"~~$=[*,!;-,<[=:~~",
+">>%{[%%%%%%%[{%>>",
+"&&$1#.]..]..#1$&&",
+"@@=1{=[((([#{1=@@",
+"++2$1{====={|$2++",
+"...{:|11{11|:=...",
+"}}}}{%:|||:$1}}}}",
+"22222(|%%%|(22222",
+"*****************",
+"#################"};
diff --git a/kwin-styles/icewm/icewm-themes/menuButtonI.xpm b/kwin-styles/icewm/icewm-themes/menuButtonI.xpm
new file mode 100644
index 00000000..854ea273
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/menuButtonI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * menuButtonI_xpm[] = {
+"17 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #363636",
+"$ g #0E0E0E",
+"% g #040404",
+"& g #C2C2C2",
+"* g #4A4A4A",
+"= g #323232",
+"- g #626262",
+"; g #6B6B6B",
+"> g #D6D6D6",
+", g #565656",
+"' g #787878",
+") g #7D7D7D",
+"! g #646464",
+"~ g #EAEAEA",
+"{ g #2B2B2B",
+"] g #8A8A8A",
+"^ g #929292",
+"/ g #FEFEFE",
+"( g #434343",
+"_ g #9F9F9F",
+": g #111111",
+"< g #4F4F4F",
+"[ g #3C3C3C",
+"} g #717171",
+"| g #1B1B1B",
+"1 g #242424",
+"2 g #5D5D5D",
+".................",
+"+++++++++++++++++",
+"@@@@@.#$%$#.@@@@@",
+"&&&&*=-;;;-=*&&&&",
+">>>,*-;')';!*,>>>",
+"~~@{,;)]^]);,{@~~",
+"//*(-;)^_^);,(,//",
+"~~:(,;)]^]);,*:~~",
+">>%(<%%%%%%%<(%>>",
+"&&$=<@&&&&&@<=$&&",
+"@@#{[*<,,,,([=#@@",
+"++}|{[((<(([=:}++",
+"...#|{{=[={{|#...",
+"}}}}{$|111|$=}}}}",
+"22222(|%%$|(22222",
+"*****************",
+"#################",
+".................",
+"+++++++++++++++++",
+"@@@@@}{$%%=}@@@@@",
+"&&&&(1**<<(1(&&&&",
+">>>*=(<,-2<*#*>>>",
+"~~+|(<,-;-,<(1+~~",
+"//(#(<-;'!-<(#(//",
+"~~$=[*,!;-,<[=:~~",
+">>%{[%%%%%%%[{%>>",
+"&&$1#.]..]..#1$&&",
+"@@=1{=[((([#{1=@@",
+"++2$1{====={|$2++",
+"...{:|11{11|:=...",
+"}}}}{%:|||:$1}}}}",
+"22222(|%%%|(22222",
+"*****************",
+"#################"};
diff --git a/kwin-styles/icewm/icewm-themes/minimizeA.xpm b/kwin-styles/icewm/icewm-themes/minimizeA.xpm
new file mode 100644
index 00000000..bcbfa3a7
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/minimizeA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * minimizeA_xpm[] = {
+"15 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #798EAA",
+"( c #7E96B6",
+"_ c #FEFEFE",
+": c #8CA3C5",
+"< c #3C4553",
+"[ c #323F4F",
+"} c #0D0E13",
+"| c #435165",
+"1 c #363636",
+"2 c #677B98",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>!(:(!>-)*_",
+"~%<^>,,,,,>^<%~",
+",%<^-%@@@%-^[%,",
+"&%[<^-}@%-^<[%&",
+"@}][<|^%^|<[]$@",
+"+|$][<<|<<[=$)+",
+"..**]==[=]]**..",
+"{{{$}*'''*}${{{",
+"####=%%%%}]####",
+")))))))))))))))",
+"111111111111111",
+"...............",
+"+++++++++++++++",
+"@@@@)}%%%}^@@@@",
+"&&&*'<)|)<'*&&&",
+",,*1||^-^|)1*,,",
+"~{*[|^;>;^|<'{~",
+"_*1<|->2>-|<=*_",
+"~%=[|+++++|[=%~",
+",%=[<%!.!%<[]%,",
+"&%'1[<%.%)[1'%&",
+"@}']11[%[[1]'}@",
+"+)}']==1==]'})+",
+"..}$*'''''*$}..",
+"{{{$}$**$$}}{{{",
+"####]%%%%}]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/minimizeI.xpm b/kwin-styles/icewm/icewm-themes/minimizeI.xpm
new file mode 100644
index 00000000..e2e954a2
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/minimizeI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * minimizeI_xpm[] = {
+"15 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #8A8A8A",
+"( g #929292",
+"_ g #FEFEFE",
+": g #9F9F9F",
+"< g #434343",
+"[ g #3C3C3C",
+"} g #0E0E0E",
+"| g #4F4F4F",
+"1 g #363636",
+"2 g #787878",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>!(:(!>-)*_",
+"~%<^>,,,,,>^<%~",
+",%<^-%@@@%-^[%,",
+"&%[<^-}@%-^<[%&",
+"@}][<|^%^|<[]$@",
+"+|$][<<|<<[=$)+",
+"..**]==[=]]**..",
+"{{{$}*'''*}${{{",
+"####=%%%%}]####",
+")))))))))))))))",
+"111111111111111",
+"...............",
+"+++++++++++++++",
+"@@@@)}%%%}^@@@@",
+"&&&*'<)|)<'*&&&",
+",,*1||^-^|)1*,,",
+"~{*[|^;>;^|<'{~",
+"_*1<|->2>-|<=*_",
+"~%=[|+++++|[=%~",
+",%=[<%!.!%<[]%,",
+"&%'1[<%.%)[1'%&",
+"@}']11[%[[1]'}@",
+"+)}']==1==]'})+",
+"..}$*'''''*$}..",
+"{{{$}$**$$}}{{{",
+"####]%%%%}]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/restoreA.xpm b/kwin-styles/icewm/icewm-themes/restoreA.xpm
new file mode 100644
index 00000000..93481afe
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/restoreA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * restoreA_xpm[] = {
+"15 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #798EAA",
+"( c #FEFEFE",
+"_ c #3C4553",
+": c #0D0E13",
+"< c #323F4F",
+"[ c #C7CDD4",
+"} c #435165",
+"| c #363636",
+"1 c #8CA3C5",
+"2 c #7E96B6",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/,/!>^]{~",
+"(*)^>!,@,!>-)*(",
+"~%_^>,@@@,>^_%~",
+",%_^;%:%%%-^<%,",
+"&%<_^[[[[[^_<%&",
+"@:]<_:@@@%_<]$@",
+"+}$]<<%@%_<]$)+",
+"..**]]=%=]]**..",
+"{{{$:*'''*:${{{",
+"####=%%%%:=####",
+")))))))))))))))",
+"|||||||||||||||",
+"...............",
+"+++++++++++++++",
+"@@@@):%%%$)@@@@",
+"&&&*'_)})}'*[&&",
+",,*|_^^^^}_|*,,",
+"~{'_}^>1;#}<'{~",
+"($=<}-+.+^}_=*(",
+"~%=_)+!..+}<=%~",
+",%=<_%%%%%)|]%,",
+"&%'<<++2+/_=]%&",
+"@:*]=%.{.%|]*:@",
+"+):'']%{%]]':)+",
+"..$$*''%''*$$..",
+"{{{$:$***$::{{{",
+"####]%%%%:]####",
+")))))))))))))))",
+"|||||||||||||||"};
diff --git a/kwin-styles/icewm/icewm-themes/restoreI.xpm b/kwin-styles/icewm/icewm-themes/restoreI.xpm
new file mode 100644
index 00000000..b1408657
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/restoreI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * restoreI_xpm[] = {
+"15 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #8A8A8A",
+"( g #FEFEFE",
+"_ g #434343",
+": g #0E0E0E",
+"< g #3C3C3C",
+"[ g #CBCBCB",
+"} g #4F4F4F",
+"| g #363636",
+"1 g #9F9F9F",
+"2 g #929292",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/,/!>^]{~",
+"(*)^>!,@,!>-)*(",
+"~%_^>,@@@,>^_%~",
+",%_^;%:%%%-^<%,",
+"&%<_^[[[[[^_<%&",
+"@:]<_:@@@%_<]$@",
+"+}$]<<%@%_<]$)+",
+"..**]]=%=]]**..",
+"{{{$:*'''*:${{{",
+"####=%%%%:=####",
+")))))))))))))))",
+"|||||||||||||||",
+"...............",
+"+++++++++++++++",
+"@@@@):%%%$)@@@@",
+"&&&*'_)})}'*[&&",
+",,*|_^^^^}_|*,,",
+"~{'_}^>1;#}<'{~",
+"($=<}-+.+^}_=*(",
+"~%=_)+!..+}<=%~",
+",%=<_%%%%%)|]%,",
+"&%'<<++2+/_=]%&",
+"@:*]=%.{.%|]*:@",
+"+):'']%{%]]':)+",
+"..$$*''%''*$$..",
+"{{{$:$***$::{{{",
+"####]%%%%:]####",
+")))))))))))))))",
+"|||||||||||||||"};
diff --git a/kwin-styles/icewm/icewm-themes/rolldownA.xpm b/kwin-styles/icewm/icewm-themes/rolldownA.xpm
new file mode 100644
index 00000000..e7b70845
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/rolldownA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * rolldownA_xpm[] = {
+"15 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #798EAA",
+"( c #7E96B6",
+"_ c #FEFEFE",
+": c #3C4553",
+"< c #323F4F",
+"[ c #0D0E13",
+"} c #C7CDD4",
+"| c #435165",
+"1 c #363636",
+"2 c #8CA3C5",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>,,~,,>-)*_",
+"~%:^>%@@@%>^:%~",
+",%:^->%@%>;^<%,",
+"&%<:^;>%>-^:<%&",
+"@[]<&&}}}&&<][@",
+"+|$]%%%%%%%=$)+",
+"..**]]====]**..",
+"{{{$[*']'*[${{{",
+"####=%%%%%=####",
+")))))))))))))))",
+"111111=11111111",
+"...............",
+"+++++++++++++++",
+"@@@@)[%%%[^@@@@",
+"&&&*':)|):'*&&&",
+",,*=)|^-^|)1*,,",
+"~{':|^;>;^|:'{~",
+"_$=:|+2+2+|:=*_",
+"~%=:|%...%)<=%~",
+",%]<:|%.%|)<]%,",
+"&%'1<:)%):<<'%&",
+"@[''+/+/+(.]*[@",
+"+)['%%%%%%%'[)+",
+"..$$*'''''*$$..",
+"{{{[[$***$[[{{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rolldownI.xpm b/kwin-styles/icewm/icewm-themes/rolldownI.xpm
new file mode 100644
index 00000000..993e561b
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/rolldownI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * rolldownI_xpm[] = {
+"15 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #8A8A8A",
+"( g #929292",
+"_ g #FEFEFE",
+": g #434343",
+"< g #3C3C3C",
+"[ g #0E0E0E",
+"} g #CBCBCB",
+"| g #4F4F4F",
+"1 g #363636",
+"2 g #9F9F9F",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^>!/(/!>^]{~",
+"_*)^>,,~,,>-)*_",
+"~%:^>%@@@%>^:%~",
+",%:^->%@%>;^<%,",
+"&%<:^;>%>-^:<%&",
+"@[]<&&}}}&&<][@",
+"+|$]%%%%%%%=$)+",
+"..**]]====]**..",
+"{{{$[*']'*[${{{",
+"####=%%%%%=####",
+")))))))))))))))",
+"111111=11111111",
+"...............",
+"+++++++++++++++",
+"@@@@)[%%%[^@@@@",
+"&&&*':)|):'*&&&",
+",,*=)|^-^|)1*,,",
+"~{':|^;>;^|:'{~",
+"_$=:|+2+2+|:=*_",
+"~%=:|%...%)<=%~",
+",%]<:|%.%|)<]%,",
+"&%'1<:)%):<<'%&",
+"@[''+/+/+(.]*[@",
+"+)['%%%%%%%'[)+",
+"..$$*'''''*$$..",
+"{{{[[$***$[[{{{",
+"####]%%%%%]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rollupA.xpm b/kwin-styles/icewm/icewm-themes/rollupA.xpm
new file mode 100644
index 00000000..32311d6a
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/rollupA.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * rollupA_xpm[] = {
+"15 34 31 1",
+" c None",
+". c #858686",
+"+ c #9A9A9A",
+"@ c #AEAEAE",
+"# c #5D5D5E",
+"$ c #111214",
+"% c #040404",
+"& c #C2C2C2",
+"* c #181C22",
+"= c #2D333D",
+"- c #56657A",
+"; c #58667E",
+"> c #5D6E86",
+", c #D6D6D6",
+"' c #1D2632",
+") c #4A4A4A",
+"! c #6E809C",
+"~ c #EAEAEA",
+"{ c #717273",
+"] c #232D3A",
+"^ c #4D5868",
+"/ c #C7CDD4",
+"( c #FEFEFE",
+"_ c #0D0E13",
+": c #435165",
+"< c #3C4553",
+"[ c #677B98",
+"} c #798EAA",
+"| c #323F4F",
+"1 c #363636",
+"2 c #8CA3C5",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^/,,,,,/^]{~",
+"(*)^_%__%_%^:*(",
+"~%<^;[},}!>^<%~",
+",%<^;>,@/[-^<%,",
+"&%|<^/@@@/^<=%&",
+"@_]|<_%%%%<|]$@",
+"+)*]|<<<<||=$)+",
+"..$*'=||==]**..",
+"{{{$_**''*_${{{",
+"##-#=_%%%%=####",
+")))))))))))))))",
+"111111=11111111",
+"...............",
+"+++++++++++++++",
+"@@@@)_%%%_^@@@@",
+"&&&*'<):)<'*&&&",
+",,*=):^-^^)1*,,",
+"~{'|+2+2+++<'{~",
+"($=<%%%%%%%<=*(",
+"~%=|:^;+;^:|=%~",
+",%=|<:+.+:<|]%,",
+"&%'1<+!!.+|1'%&",
+"@_']=%%%%%1]'_@",
+"+)_*]====]]'_)+",
+"..$$*'']''*$_..",
+"{{{__$$*$$_${{{",
+"####]%%%%_]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rollupI.xpm b/kwin-styles/icewm/icewm-themes/rollupI.xpm
new file mode 100644
index 00000000..31b81973
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/rollupI.xpm
@@ -0,0 +1,68 @@
+/* XPM */
+static char * rollupI_xpm[] = {
+"15 34 31 1",
+" g None",
+". g #858585",
+"+ g #9A9A9A",
+"@ g #AEAEAE",
+"# g #5D5D5D",
+"$ g #111111",
+"% g #040404",
+"& g #C2C2C2",
+"* g #1B1B1B",
+"= g #323232",
+"- g #626262",
+"; g #646464",
+"> g #6B6B6B",
+", g #D6D6D6",
+"' g #242424",
+") g #4A4A4A",
+"! g #7D7D7D",
+"~ g #EAEAEA",
+"{ g #717171",
+"] g #2B2B2B",
+"^ g #565656",
+"/ g #CBCBCB",
+"( g #FEFEFE",
+"_ g #0E0E0E",
+": g #4F4F4F",
+"< g #434343",
+"[ g #787878",
+"} g #8A8A8A",
+"| g #3C3C3C",
+"1 g #363636",
+"2 g #9F9F9F",
+"...............",
+"+++++++++++++++",
+"@@@@#$%%%$#@@@@",
+"&&&*=-;>;-=*&&&",
+",,')->!!!>;)',,",
+"~{]^/,,,,,/^]{~",
+"(*)^_%__%_%^:*(",
+"~%<^;[},}!>^<%~",
+",%<^;>,@/[-^<%,",
+"&%|<^/@@@/^<=%&",
+"@_]|<_%%%%<|]$@",
+"+)*]|<<<<||=$)+",
+"..$*'=||==]**..",
+"{{{$_**''*_${{{",
+"##-#=_%%%%=####",
+")))))))))))))))",
+"111111=11111111",
+"...............",
+"+++++++++++++++",
+"@@@@)_%%%_^@@@@",
+"&&&*'<):)<'*&&&",
+",,*=):^-^^)1*,,",
+"~{'|+2+2+++<'{~",
+"($=<%%%%%%%<=*(",
+"~%=|:^;+;^:|=%~",
+",%=|<:+.+:<|]%,",
+"&%'1<+!!.+|1'%&",
+"@_']=%%%%%1]'_@",
+"+)_*]====]]'_)+",
+"..$$*'']''*$_..",
+"{{{__$$*$$_${{{",
+"####]%%%%_]####",
+")))))))))))))))",
+"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAB.xpm b/kwin-styles/icewm/icewm-themes/titleAB.xpm
new file mode 100644
index 00000000..f153f2af
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAB.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * titleAS_xpm[] = {
+"1 17 12 1",
+" c None",
+". c #868687",
+"+ c #9A9A9B",
+"@ c #AEAEAF",
+"# c #C2C2C3",
+"$ c #D6D6D7",
+"% c #EAEAEB",
+"& c #FFFFFF",
+"* c #727273",
+"= c #5E5E5F",
+"- c #4A4A4B",
+"; c #363637",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"%",
+"$",
+"#",
+"@",
+"+",
+".",
+"*",
+"=",
+"-",
+";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAJ.xpm b/kwin-styles/icewm/icewm-themes/titleAJ.xpm
new file mode 100644
index 00000000..0ef284c1
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAJ.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAJ_xpm[] = {
+"3 17 17 1",
+" c None",
+". c #858687",
+"+ c #4F4F51",
+"@ c #999A9A",
+"# c #AEAEAE",
+"$ c #5E5E5E",
+"% c #C2C2C2",
+"& c #717172",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #FEFEFE",
+"; c #909090",
+"> c #717374",
+", c #5C5F64",
+"' c #373739",
+") c #494B4D",
+"! c #343638",
+"..+",
+"@@+",
+"##$",
+"%%&",
+"**&",
+"==&",
+"--;",
+"==&",
+"**&",
+"%%&",
+"##$",
+"@@+",
+"..+",
+">>+",
+",,'",
+"))'",
+"!!'"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAM.xpm b/kwin-styles/icewm/icewm-themes/titleAM.xpm
new file mode 100644
index 00000000..808458a4
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAM.xpm
@@ -0,0 +1,73 @@
+/* XPM */
+static char * titleAM_xpm[] = {
+"18 17 53 1",
+" c None",
+". c #868687",
+"+ c #4E4E4F",
+"@ c #484848",
+"# c #9A9A9B",
+"$ c #575758",
+"% c #344066",
+"& c #515151",
+"* c #AEAEAF",
+"= c #606061",
+"- c #425076",
+"; c #606060",
+"> c #C2C2C3",
+", c #68686A",
+"' c #526185",
+") c #707070",
+"! c #D6D6D7",
+"~ c #717173",
+"{ c #607194",
+"] c #808080",
+"^ c #EAEAEB",
+"/ c #7A7A7C",
+"( c #7081A3",
+"_ c #8E8E8E",
+": c #FFFFFF",
+"< c #838385",
+"[ c #7284A6",
+"} c #9B9B9B",
+"| c #7587A9",
+"1 c #A9A9A9",
+"2 c #66779A",
+"3 c #B7B7B7",
+"4 c #57668A",
+"5 c #C5C5C5",
+"6 c #4A597D",
+"7 c #D2D2D2",
+"8 c #3D4A70",
+"9 c #303C63",
+"0 c #A7A7A7",
+"a c #727273",
+"b c #454547",
+"c c #273259",
+"d c #7F7F7F",
+"e c #5E5E5F",
+"f c #3C3C3E",
+"g c #969696",
+"h c #848484",
+"i c #6B6B6B",
+"j c #575757",
+"k c #4A4A4B",
+"l c #333335",
+"m c #363637",
+"n c #2A2A2C",
+"..............+...",
+"@@@@@@@@@@@@@#$###",
+"%%%%%%%%%%%%&*=***",
+"------------;>,>>>",
+"'''''''''''')!~!!!",
+"{{{{{{{{{{{{]^/^^^",
+"((((((((((((_:<:::",
+"[[[[[[[[[[[[}^/^^^",
+"||||||||||||1!~!!!",
+"2222222222223>,>>>",
+"4444444444445*=***",
+"6666666666667#$###",
+"8888888888885.+...",
+"9999999999990abaaa",
+"ccccccccccccdefeee",
+"}}}}}}}}}ghijklkkk",
+"mmmmmmmmmmmmmmnmmm"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAP.xpm b/kwin-styles/icewm/icewm-themes/titleAP.xpm
new file mode 100644
index 00000000..a4ae203a
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAP.xpm
@@ -0,0 +1,73 @@
+/* XPM */
+static char * titleAP_xpm[] = {
+"18 17 53 1",
+" c None",
+". c #868687",
+"+ c #4E4E4F",
+"@ c #9A9A9B",
+"# c #575758",
+"$ c #484848",
+"% c #AEAEAF",
+"& c #606061",
+"* c #515151",
+"= c #344066",
+"- c #C2C2C3",
+"; c #68686A",
+"> c #606060",
+", c #425076",
+"' c #D6D6D7",
+") c #717173",
+"! c #707070",
+"~ c #526185",
+"{ c #EAEAEB",
+"] c #7A7A7C",
+"^ c #808080",
+"/ c #607194",
+"( c #FFFFFF",
+"_ c #838385",
+": c #8E8E8E",
+"< c #7081A3",
+"[ c #9B9B9B",
+"} c #7284A6",
+"| c #A9A9A9",
+"1 c #7587A9",
+"2 c #B7B7B7",
+"3 c #66779A",
+"4 c #C5C5C5",
+"5 c #57668A",
+"6 c #D2D2D2",
+"7 c #4A597D",
+"8 c #3D4A70",
+"9 c #727273",
+"0 c #454547",
+"a c #A7A7A7",
+"b c #303C63",
+"c c #5E5E5F",
+"d c #3C3C3E",
+"e c #7F7F7F",
+"f c #273259",
+"g c #4A4A4B",
+"h c #333335",
+"i c #575757",
+"j c #6B6B6B",
+"k c #848484",
+"l c #969696",
+"m c #363637",
+"n c #2A2A2C",
+"...+..............",
+"@@@#@$$$$$$$$$$$$$",
+"%%%&%*============",
+"---;->,,,,,,,,,,,,",
+"''')'!~~~~~~~~~~~~",
+"{{{]{^////////////",
+"(((_(:<<<<<<<<<<<<",
+"{{{]{[}}}}}}}}}}}}",
+"''')'|111111111111",
+"---;-2333333333333",
+"%%%&%4555555555555",
+"@@@#@6777777777777",
+"...+.4888888888888",
+"99909abbbbbbbbbbbb",
+"cccdceffffffffffff",
+"ggghgijkl[[[[[[[[[",
+"mmmnmmmmmmmmmmmmmm"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAQ.xpm b/kwin-styles/icewm/icewm-themes/titleAQ.xpm
new file mode 100644
index 00000000..8bc6cd28
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAQ.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAQ_xpm[] = {
+"2 17 17 1",
+" c None",
+". c #4F4F51",
+"+ c #858687",
+"@ c #999A9A",
+"# c #5E5E5E",
+"$ c #AEAEAE",
+"% c #717172",
+"& c #C2C2C2",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #909090",
+"; c #FEFEFE",
+"> c #717374",
+", c #373739",
+"' c #5C5F64",
+") c #494B4D",
+"! c #343638",
+".+",
+".@",
+"#$",
+"%&",
+"%*",
+"%=",
+"-;",
+"%=",
+"%*",
+"%&",
+"#$",
+".@",
+".+",
+".>",
+",'",
+",)",
+",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAR.xpm b/kwin-styles/icewm/icewm-themes/titleAR.xpm
new file mode 100644
index 00000000..8bc6cd28
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAR.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAQ_xpm[] = {
+"2 17 17 1",
+" c None",
+". c #4F4F51",
+"+ c #858687",
+"@ c #999A9A",
+"# c #5E5E5E",
+"$ c #AEAEAE",
+"% c #717172",
+"& c #C2C2C2",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #909090",
+"; c #FEFEFE",
+"> c #717374",
+", c #373739",
+"' c #5C5F64",
+") c #494B4D",
+"! c #343638",
+".+",
+".@",
+"#$",
+"%&",
+"%*",
+"%=",
+"-;",
+"%=",
+"%*",
+"%&",
+"#$",
+".@",
+".+",
+".>",
+",'",
+",)",
+",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAS.xpm b/kwin-styles/icewm/icewm-themes/titleAS.xpm
new file mode 100644
index 00000000..f153f2af
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAS.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * titleAS_xpm[] = {
+"1 17 12 1",
+" c None",
+". c #868687",
+"+ c #9A9A9B",
+"@ c #AEAEAF",
+"# c #C2C2C3",
+"$ c #D6D6D7",
+"% c #EAEAEB",
+"& c #FFFFFF",
+"* c #727273",
+"= c #5E5E5F",
+"- c #4A4A4B",
+"; c #363637",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"%",
+"$",
+"#",
+"@",
+"+",
+".",
+"*",
+"=",
+"-",
+";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAT.xpm b/kwin-styles/icewm/icewm-themes/titleAT.xpm
new file mode 100644
index 00000000..84f06879
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleAT.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+static char * titleAT_xpm[] = {
+"1 17 18 1",
+" c None",
+". c #868687",
+"+ c #484848",
+"@ c #344066",
+"# c #425076",
+"$ c #526185",
+"% c #607194",
+"& c #7081A3",
+"* c #7284A6",
+"= c #7587A9",
+"- c #66779A",
+"; c #57668A",
+"> c #4A597D",
+", c #3D4A70",
+"' c #303C63",
+") c #273259",
+"! c #9B9B9B",
+"~ c #363637",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"*",
+"=",
+"-",
+";",
+">",
+",",
+"'",
+")",
+"!",
+"~"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIB.xpm b/kwin-styles/icewm/icewm-themes/titleIB.xpm
new file mode 100644
index 00000000..f153f2af
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIB.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * titleAS_xpm[] = {
+"1 17 12 1",
+" c None",
+". c #868687",
+"+ c #9A9A9B",
+"@ c #AEAEAF",
+"# c #C2C2C3",
+"$ c #D6D6D7",
+"% c #EAEAEB",
+"& c #FFFFFF",
+"* c #727273",
+"= c #5E5E5F",
+"- c #4A4A4B",
+"; c #363637",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"%",
+"$",
+"#",
+"@",
+"+",
+".",
+"*",
+"=",
+"-",
+";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIJ.xpm b/kwin-styles/icewm/icewm-themes/titleIJ.xpm
new file mode 100644
index 00000000..0ef284c1
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIJ.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAJ_xpm[] = {
+"3 17 17 1",
+" c None",
+". c #858687",
+"+ c #4F4F51",
+"@ c #999A9A",
+"# c #AEAEAE",
+"$ c #5E5E5E",
+"% c #C2C2C2",
+"& c #717172",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #FEFEFE",
+"; c #909090",
+"> c #717374",
+", c #5C5F64",
+"' c #373739",
+") c #494B4D",
+"! c #343638",
+"..+",
+"@@+",
+"##$",
+"%%&",
+"**&",
+"==&",
+"--;",
+"==&",
+"**&",
+"%%&",
+"##$",
+"@@+",
+"..+",
+">>+",
+",,'",
+"))'",
+"!!'"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIM.xpm b/kwin-styles/icewm/icewm-themes/titleIM.xpm
new file mode 100644
index 00000000..575b63c4
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIM.xpm
@@ -0,0 +1,66 @@
+/* XPM */
+static char * titleIM_xpm[] = {
+"18 17 46 1",
+" c None",
+". c #868686",
+"+ c #4E4E4E",
+"@ c #484848",
+"# c #9A9A9A",
+"$ c #575757",
+"% c #4D4D4D",
+"& c #515151",
+"* c #AEAEAE",
+"= c #606060",
+"- c #5C5C5C",
+"; c #C2C2C2",
+"> c #696969",
+", c #6B6B6B",
+"' c #707070",
+") c #D6D6D6",
+"! c #727272",
+"~ c #7A7A7A",
+"{ c #808080",
+"] c #EAEAEA",
+"^ c #7B7B7B",
+"/ c #898989",
+"( c #8E8E8E",
+"_ c #FFFFFF",
+": c #848484",
+"< c #8C8C8C",
+"[ c #9B9B9B",
+"} c #8F8F8F",
+"| c #A9A9A9",
+"1 c #B7B7B7",
+"2 c #C5C5C5",
+"3 c #636363",
+"4 c #D2D2D2",
+"5 c #565656",
+"6 c #494949",
+"7 c #A7A7A7",
+"8 c #464646",
+"9 c #404040",
+"0 c #7F7F7F",
+"a c #5E5E5E",
+"b c #3D3D3D",
+"c c #969696",
+"d c #4A4A4A",
+"e c #343434",
+"f c #363636",
+"g c #2B2B2B",
+"..............+...",
+"@@@@@@@@@@@@@#$###",
+"%%%%%%%%%%%%&*=***",
+"------------=;>;;;",
+",,,,,,,,,,,,')!)))",
+"~~~~~~~~~~~~{]^]]]",
+"////////////(_:___",
+"<<<<<<<<<<<<[]^]]]",
+"}}}}}}}}}}}}|)!)))",
+"{{{{{{{{{{{{1;>;;;",
+"''''''''''''2*=***",
+"3333333333334#$###",
+"5555555555552.+...",
+"6666666666667!8!!!",
+"9999999999990abaaa",
+"[[[[[[[[[c:,$deddd",
+"ffffffffffffffgfff"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIP.xpm b/kwin-styles/icewm/icewm-themes/titleIP.xpm
new file mode 100644
index 00000000..170d1b2a
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIP.xpm
@@ -0,0 +1,66 @@
+/* XPM */
+static char * titleIP_xpm[] = {
+"18 17 46 1",
+" c None",
+". c #868686",
+"+ c #4E4E4E",
+"@ c #9A9A9A",
+"# c #575757",
+"$ c #484848",
+"% c #AEAEAE",
+"& c #606060",
+"* c #515151",
+"= c #4D4D4D",
+"- c #C2C2C2",
+"; c #696969",
+"> c #5C5C5C",
+", c #D6D6D6",
+"' c #727272",
+") c #707070",
+"! c #6B6B6B",
+"~ c #EAEAEA",
+"{ c #7B7B7B",
+"] c #808080",
+"^ c #7A7A7A",
+"/ c #FFFFFF",
+"( c #848484",
+"_ c #8E8E8E",
+": c #898989",
+"< c #9B9B9B",
+"[ c #8C8C8C",
+"} c #A9A9A9",
+"| c #8F8F8F",
+"1 c #B7B7B7",
+"2 c #C5C5C5",
+"3 c #D2D2D2",
+"4 c #636363",
+"5 c #565656",
+"6 c #464646",
+"7 c #A7A7A7",
+"8 c #494949",
+"9 c #5E5E5E",
+"0 c #3D3D3D",
+"a c #7F7F7F",
+"b c #404040",
+"c c #4A4A4A",
+"d c #343434",
+"e c #969696",
+"f c #363636",
+"g c #2B2B2B",
+"...+..............",
+"@@@#@$$$$$$$$$$$$$",
+"%%%&%*============",
+"---;-&>>>>>>>>>>>>",
+",,,',)!!!!!!!!!!!!",
+"~~~{~]^^^^^^^^^^^^",
+"///(/_::::::::::::",
+"~~~{~<[[[[[[[[[[[[",
+",,,',}||||||||||||",
+"---;-1]]]]]]]]]]]]",
+"%%%&%2))))))))))))",
+"@@@#@3444444444444",
+"...+.2555555555555",
+"'''6'7888888888888",
+"99909abbbbbbbbbbbb",
+"cccdc#!(e<<<<<<<<<",
+"fffgffffffffffffff"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIQ.xpm b/kwin-styles/icewm/icewm-themes/titleIQ.xpm
new file mode 100644
index 00000000..8bc6cd28
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIQ.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAQ_xpm[] = {
+"2 17 17 1",
+" c None",
+". c #4F4F51",
+"+ c #858687",
+"@ c #999A9A",
+"# c #5E5E5E",
+"$ c #AEAEAE",
+"% c #717172",
+"& c #C2C2C2",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #909090",
+"; c #FEFEFE",
+"> c #717374",
+", c #373739",
+"' c #5C5F64",
+") c #494B4D",
+"! c #343638",
+".+",
+".@",
+"#$",
+"%&",
+"%*",
+"%=",
+"-;",
+"%=",
+"%*",
+"%&",
+"#$",
+".@",
+".+",
+".>",
+",'",
+",)",
+",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIR.xpm b/kwin-styles/icewm/icewm-themes/titleIR.xpm
new file mode 100644
index 00000000..8bc6cd28
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIR.xpm
@@ -0,0 +1,37 @@
+/* XPM */
+static char * titleAQ_xpm[] = {
+"2 17 17 1",
+" c None",
+". c #4F4F51",
+"+ c #858687",
+"@ c #999A9A",
+"# c #5E5E5E",
+"$ c #AEAEAE",
+"% c #717172",
+"& c #C2C2C2",
+"* c #D6D6D6",
+"= c #E9EAEA",
+"- c #909090",
+"; c #FEFEFE",
+"> c #717374",
+", c #373739",
+"' c #5C5F64",
+") c #494B4D",
+"! c #343638",
+".+",
+".@",
+"#$",
+"%&",
+"%*",
+"%=",
+"-;",
+"%=",
+"%*",
+"%&",
+"#$",
+".@",
+".+",
+".>",
+",'",
+",)",
+",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIS.xpm b/kwin-styles/icewm/icewm-themes/titleIS.xpm
new file mode 100644
index 00000000..f153f2af
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIS.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * titleAS_xpm[] = {
+"1 17 12 1",
+" c None",
+". c #868687",
+"+ c #9A9A9B",
+"@ c #AEAEAF",
+"# c #C2C2C3",
+"$ c #D6D6D7",
+"% c #EAEAEB",
+"& c #FFFFFF",
+"* c #727273",
+"= c #5E5E5F",
+"- c #4A4A4B",
+"; c #363637",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"%",
+"$",
+"#",
+"@",
+"+",
+".",
+"*",
+"=",
+"-",
+";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIT.xpm b/kwin-styles/icewm/icewm-themes/titleIT.xpm
new file mode 100644
index 00000000..ddcab757
--- /dev/null
+++ b/kwin-styles/icewm/icewm-themes/titleIT.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+static char * titleIT_xpm[] = {
+"1 17 18 1",
+" c None",
+". c #868686",
+"+ c #484848",
+"@ c #4D4D4D",
+"# c #5C5C5C",
+"$ c #6B6B6B",
+"% c #7A7A7A",
+"& c #898989",
+"* c #8C8C8C",
+"= c #8F8F8F",
+"- c #808080",
+"; c #707070",
+"> c #636363",
+", c #565656",
+"' c #494949",
+") c #404040",
+"! c #9B9B9B",
+"~ c #363636",
+".",
+"+",
+"@",
+"#",
+"$",
+"%",
+"&",
+"*",
+"=",
+"-",
+";",
+">",
+",",
+"'",
+")",
+"!",
+"~"};
diff --git a/kwin-styles/icewm/icewm.cpp b/kwin-styles/icewm/icewm.cpp
new file mode 100644
index 00000000..e6108748
--- /dev/null
+++ b/kwin-styles/icewm/icewm.cpp
@@ -0,0 +1,1703 @@
+/*
+ $Id$
+
+ Gallium-IceWM themeable KWin client
+
+ Copyright 2001
+ Karol Szwed <gallium@kde.org>
+ http://gallium.n3.net/
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+ -----------------------------------------------------------------------------
+ This client loads most icewm 1.0.X pixmap themes, without taking into account
+ specific font settings for clients, or coloured mouse cursors. Titlebar
+ fonts can be changed via the kde control center. Bi-colour mouse cursors
+ may be added in future if requested by users, as well as theme font support.
+ Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g.
+ Warp4, win95 etc.) are not fully supported, and may cause drawing errors,
+ as these themes use in-built icewm drawing mechanisms.
+
+ When a pixmap theme is not present (or a corrupt one is present) then very
+ plain title decorations are painted instead, so that users don't see
+ non-painted window areas where possible ;)
+
+ At a later date, frame shaping may be added if really requested, and an
+ update to support the latest icewm 1.1.X theme format may be made.
+
+*/
+
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kdrawutil.h>
+#include <qapplication.h>
+#include <qlabel.h>
+#include <qdrawutil.h>
+#include <qdatetime.h>
+#include <qbitmap.h>
+#include <qcursor.h>
+#include <qstring.h>
+#include <qtooltip.h>
+#include <qregexp.h>
+#include "icewm.h"
+
+namespace IceWM {
+
+////////////////////////////////////////////////////////////////////////////////////////////
+// Here's the global pixmap stuff - as memory efficient as it can be :)
+////////////////////////////////////////////////////////////////////////////////////////////
+
+// IceWM frame pixmaps
+QPixmap* frameTL[] = {NULL, NULL};
+QPixmap* frameT [] = {NULL, NULL};
+QPixmap* frameTR[] = {NULL, NULL};
+QPixmap* frameL [] = {NULL, NULL};
+QPixmap* frameR [] = {NULL, NULL};
+QPixmap* frameBL[] = {NULL, NULL};
+QPixmap* frameB [] = {NULL, NULL};
+QPixmap* frameBR[] = {NULL, NULL};
+
+// Button pixmaps
+QPixmap* closePix[] = {NULL, NULL};
+QPixmap* depthPix[] = {NULL, NULL};
+QPixmap* maximizePix[] = {NULL, NULL};
+QPixmap* minimizePix[] = {NULL, NULL};
+QPixmap* restorePix[] = {NULL, NULL};
+QPixmap* hidePix[] = {NULL, NULL};
+QPixmap* rollupPix[] = {NULL, NULL};
+QPixmap* rolldownPix[] = {NULL, NULL};
+QPixmap* menuButtonPix[] = {NULL, NULL};
+
+// Titlebar pixmaps
+QPixmap* titleJ[] = {NULL, NULL};
+QPixmap* titleL[] = {NULL, NULL};
+QPixmap* titleS[] = {NULL, NULL};
+QPixmap* titleP[] = {NULL, NULL};
+QPixmap* titleT[] = {NULL, NULL};
+QPixmap* titleM[] = {NULL, NULL};
+QPixmap* titleB[] = {NULL, NULL};
+QPixmap* titleR[] = {NULL, NULL};
+QPixmap* titleQ[] = {NULL, NULL};
+
+ThemeHandler* clientHandler;
+
+QString* titleButtonsLeft;
+QString* titleButtonsRight;
+
+QColor* colorActiveBorder;
+QColor* colorInActiveBorder;
+QColor* colorActiveButton;
+QColor* colorInActiveButton;
+QColor* colorActiveTitleBarText;
+QColor* colorInActiveTitleBarText;
+QColor* colorActiveTitleBar;
+QColor* colorInActiveTitleBar;
+QColor* colorActiveTitleTextShadow;
+QColor* colorInActiveTitleTextShadow;
+
+int cornerSizeX;
+int cornerSizeY;
+int titleBarHeight;
+int borderSizeX;
+int borderSizeY;
+
+bool validframe = false;
+bool useActiveShadow = false;
+bool useInActiveShadow = false;
+
+// KControl Settings - Read from kwinicewmrc config file or icewm theme
+bool themeTitleTextColors = true; // Allow theme to set colors.
+ // kcontrol will have no effect
+
+bool titleBarOnTop = true; // Titlebars can be below windows too :)
+bool showMenuButtonIcon = false; // Draw a mini icon over the menu pixmap.
+bool customButtonPositions = false; // Let the theme dictate the btn pos.
+bool titleBarCentered = true;
+
+enum styles {OTHER, WARP3, WARP4, MOTIF, WIN95, NICE} themeLook;
+
+////////////////////////////////////////////////////////////////////////////////////////////
+// General utility functions
+////////////////////////////////////////////////////////////////////////////////////////////
+
+// Returns true if both active and inactive pixmaps are valid, and not null
+bool validPixmaps( QPixmap* p[] )
+{
+ return ( p[Active] && ( !p[Active]->isNull() ) &&
+ p[InActive] && ( !p[InActive]->isNull() ) );
+}
+
+
+////////////////////////////////////////////////////////////////////////////////////////////
+// ThemeHandler class
+//
+// This class allows us to free dynamic memory upon being reset, or unloaded
+// from kwin, so we don't leak big images everywhere, and handles the theme
+// initialisation / destruction in general.
+////////////////////////////////////////////////////////////////////////////////////////////
+
+ThemeHandler::ThemeHandler()
+{
+ initialized = false;
+
+ // Prevent having globals objects (use pointers to objects)
+ titleButtonsLeft = new QString();
+ titleButtonsRight = new QString();
+
+ colorActiveBorder = new QColor();
+ colorInActiveBorder = new QColor();
+ colorActiveButton = new QColor();
+ colorInActiveButton = new QColor();
+ colorActiveTitleBarText = new QColor();
+ colorInActiveTitleBarText = new QColor();
+ colorActiveTitleBar = new QColor();
+ colorInActiveTitleBar = new QColor();
+ colorActiveTitleTextShadow = new QColor();
+ colorInActiveTitleTextShadow = new QColor();
+
+ // Initialize
+ readConfig();
+ initTheme();
+ validframe = isFrameValid();
+ initialized = true;
+}
+
+
+ThemeHandler::~ThemeHandler()
+{
+ if (initialized)
+ freePixmaps();
+
+ delete colorInActiveTitleTextShadow;
+ delete colorActiveTitleTextShadow;
+ delete colorInActiveBorder;
+ delete colorActiveTitleBarText;
+ delete colorInActiveTitleBarText;
+ delete colorActiveTitleBar;
+ delete colorInActiveTitleBar;
+ delete colorActiveBorder;
+ delete colorActiveButton;
+ delete colorInActiveButton;
+
+ delete titleButtonsRight;
+ delete titleButtonsLeft;
+}
+
+
+KDecoration* ThemeHandler::createDecoration( KDecorationBridge* bridge )
+{
+ return new IceWMClient( bridge, this );
+}
+
+
+// Converts KDE style button strings to icewm style button strings
+void ThemeHandler::convertButtons( QString& s )
+{
+ s.replace( QRegExp("_"), ""); // Spacer (ignored)
+ s.replace( QRegExp("H"), ""); // Help (ignored)
+ s.replace( QRegExp("M"), "s"); // Sysmenu
+ s.replace( QRegExp("S"), "d"); // Sticky/OnAllDesktops
+ s.replace( QRegExp("I"), "i"); // Minimize
+ s.replace( QRegExp("A"), "m"); // Maximize
+ s.replace( QRegExp("X"), "x"); // Close
+}
+
+
+// Reverses all characters in a QString
+QString ThemeHandler::reverseString( QString s )
+{
+ if (s.length() <= 1)
+ return s;
+
+ QString tmpStr;
+ for(int i = s.length()-1; i >= 0; i--)
+ {
+ tmpStr += s[(unsigned int)i];
+ }
+
+ return tmpStr;
+}
+
+
+// This function reads the kwinicewmrc config file
+void ThemeHandler::readConfig()
+{
+ KConfig conf("kwinicewmrc");
+ conf.setGroup("General");
+ themeName = conf.readEntry("CurrentTheme");
+ themeTitleTextColors = conf.readBoolEntry("ThemeTitleTextColors", true);
+ showMenuButtonIcon = conf.readBoolEntry("ShowMenuButtonIcon", false);
+ titleBarOnTop = conf.readBoolEntry("TitleBarOnTop", true);
+
+ customButtonPositions = KDecoration::options()->customButtonPositions();
+ if (customButtonPositions)
+ {
+ *titleButtonsLeft = KDecoration::options()->titleButtonsLeft();
+ *titleButtonsRight = KDecoration::options()->titleButtonsRight();
+
+ // Convert KDE to icewm style buttons
+ convertButtons( *titleButtonsLeft );
+ convertButtons( *titleButtonsRight );
+ }
+
+ // Provide a default theme alias
+ if (themeName == "default")
+ themeName = "";
+}
+
+
+// This creates the dynamic pixmaps upon loading the style
+// into the pixmap buffers above, and configures the dimensioning stuff.
+void ThemeHandler::initTheme()
+{
+ // Add a slash if required
+ if ( !themeName.isEmpty() )
+ themeName += "/";
+
+ // We use kconfig to read icewm config files...
+ // this is easy since icewm uses key=value pairs!
+ KConfig config( locate("data", QString("kwin/icewm-themes/") +
+ themeName + QString("default.theme")) );
+
+ // Load specifics, or use IceWM defaults instead.
+ borderSizeX = config.readNumEntry("BorderSizeX", 6);
+ borderSizeY = config.readNumEntry("BorderSizeY", 6);
+ cornerSizeX = config.readNumEntry("CornerSizeX", 24);
+ cornerSizeY = config.readNumEntry("CornerSizeY", 24);
+ titleBarCentered = (bool) config.readNumEntry("TitleBarCentered", 0);
+
+ // Check if readConfig() hasn't overridden this value...
+ if (!showMenuButtonIcon)
+ showMenuButtonIcon = (bool) config.readNumEntry("ShowMenuButtonIcon", 0);
+ titleBarHeight = config.readNumEntry("TitleBarHeight", 20);
+
+ if (!customButtonPositions)
+ {
+ // Read in the button configuration, stripping any quotes
+ // Ignore on all desktops 'd' on the left buttons
+ // (some themes look bad with it on by default)
+ *titleButtonsLeft = config.readEntry("TitleButtonsLeft", "s");
+ *titleButtonsLeft = titleButtonsLeft->replace( QRegExp(QString("\"")), "");
+ *titleButtonsRight = config.readEntry("TitleButtonsRight", "xmir");
+ *titleButtonsRight = titleButtonsRight->replace( QRegExp(QString("\"")), "");
+
+ // I have no idea why the right side buttons in icewm are reversed
+ *titleButtonsRight = reverseString( *titleButtonsRight );
+ }
+
+ // Read the default border and text colours from the config file
+ // And use IceWM defaults if not found
+ QString s;
+
+ s = config.readEntry("Look", "other");
+ if (s=="motif") themeLook = MOTIF;
+ else if (s=="warp3") themeLook = WARP3;
+ else if (s=="warp4") themeLook = WARP4;
+ else if (s=="win95") themeLook = WIN95;
+ else if (s=="nice") themeLook = NICE;
+ else themeLook = OTHER;
+
+ s = config.readEntry("ColorActiveBorder", "#C0C0C0");
+ *colorActiveBorder = decodeColor( s );
+ s = config.readEntry("ColorNormalBorder", "#C0C0C0");
+ *colorInActiveBorder = decodeColor( s );
+ s = config.readEntry("ColorActiveButton", "#C0C0C0");
+ *colorActiveButton = decodeColor( s );
+ s = config.readEntry("ColorNormalButton", "#C0C0C0");
+ *colorInActiveButton = decodeColor( s );
+
+ // Use these as a last resort
+ s = config.readEntry("ColorActiveTitleBar", "#0000A0");
+ *colorActiveTitleBar = decodeColor( s );
+ s = config.readEntry("ColorNormalTitleBar", "#808080");
+ *colorInActiveTitleBar = decodeColor( s );
+
+ // Read titlebar text colours
+ s = config.readEntry("ColorActiveTitleBarText", "#FFFFFF");
+ *colorActiveTitleBarText = decodeColor( s );
+ s = config.readEntry("ColorNormalTitleBarText", "#000000");
+ *colorInActiveTitleBarText = decodeColor( s );
+
+ // Use title text shadows only with theme title text colors
+ if ( themeTitleTextColors )
+ {
+ s = config.readEntry("ColorActiveTitleBarShadow");
+ if (!s.isEmpty())
+ {
+ *colorActiveTitleTextShadow = decodeColor( s );
+ useActiveShadow = true;
+ } else
+ useActiveShadow = false;
+
+ s = config.readEntry("ColorNormalTitleBarShadow");
+ if (!s.isEmpty())
+ {
+ *colorInActiveTitleTextShadow = decodeColor( s );
+ useInActiveShadow = true;
+ } else
+ useInActiveShadow = false;
+ } else
+ {
+ useActiveShadow = false;
+ useInActiveShadow = false;
+ }
+
+ // Stretch pixmaps for speed, where required
+ setPixmap( titleJ, "title", "J.xpm" );
+ setPixmap( titleL, "title", "L.xpm" );
+ setPixmap( titleS, "title", "S.xpm", true );
+
+ setPixmap( titleP, "title", "P.xpm" );
+ setPixmap( titleT, "title", "T.xpm", true );
+ setPixmap( titleM, "title", "M.xpm" );
+ setPixmap( titleB, "title", "B.xpm", true );
+ setPixmap( titleR, "title", "R.xpm" );
+ setPixmap( titleQ, "title", "Q.xpm" );
+
+ setPixmapButton( closePix, "close", ".xpm" );
+ setPixmapButton( depthPix, "depth", ".xpm" );
+ setPixmapButton( maximizePix, "maximize", ".xpm" );
+ setPixmapButton( minimizePix, "minimize", ".xpm" );
+ setPixmapButton( restorePix, "restore", ".xpm" );
+ setPixmapButton( hidePix, "hide", ".xpm" );
+ setPixmapButton( rollupPix, "rollup", ".xpm" );
+ setPixmapButton( rolldownPix, "rolldown", ".xpm" );
+ setPixmapButton( menuButtonPix,"menuButton",".xpm" );
+
+ // Top
+ setPixmap( frameTL, "frame", "TL.xpm" );
+ setPixmap( frameT, "frame", "T.xpm", true );
+ setPixmap( frameTR, "frame", "TR.xpm" );
+
+ // Sides
+ setPixmap( frameL, "frame", "L.xpm", true, Vertical );
+ setPixmap( frameR, "frame", "R.xpm", true, Vertical );
+
+ // Bottom
+ setPixmap( frameBL, "frame", "BL.xpm" );
+ setPixmap( frameB, "frame", "B.xpm", true );
+ setPixmap( frameBR, "frame", "BR.xpm" );
+
+ // Make sure border sizes are at least reasonable...
+ if (borderSizeX < 0)
+ borderSizeX = 0;
+ if (borderSizeY < 0)
+ borderSizeY = 0;
+ // ...and titleBarHeight as well
+ if (titleBarHeight < 0)
+ titleBarHeight = 0;
+
+ // This is a work-around for some themes
+ if (!titleT[Active])
+ titleT[Active] = duplicateValidPixmap( Active );
+
+ if (!titleB[Active])
+ titleB[Active] = duplicateValidPixmap( Active );
+
+
+ if (titleL[Active] && !titleL[InActive])
+ titleL[InActive] = duplicateValidPixmap( InActive, titleL[Active]->width() );
+
+ if (titleS[Active] && !titleS[InActive])
+ titleS[InActive] = duplicateValidPixmap( InActive, titleS[Active]->width() );
+
+ if (titleP[Active] && !titleP[InActive])
+ titleP[InActive] = duplicateValidPixmap( InActive, titleP[Active]->width() );
+
+ if (titleT[Active] && !titleT[InActive])
+ titleT[InActive] = duplicateValidPixmap( InActive, titleT[Active]->width() );
+
+ if (titleM[Active] && !titleM[InActive])
+ titleM[InActive] = duplicateValidPixmap( InActive, titleM[Active]->width() );
+
+ if (titleB[Active] && !titleB[InActive])
+ titleB[InActive] = duplicateValidPixmap( InActive, titleB[Active]->width() );
+
+ if (titleR[Active] && !titleR[InActive])
+ titleR[InActive] = duplicateValidPixmap( InActive, titleR[Active]->width() );
+}
+
+
+QPixmap* ThemeHandler::duplicateValidPixmap( bool act, int size )
+{
+ QPixmap* p1 = NULL;
+ // Use the stretch or title pixmaps instead
+ if ( titleS[act] )
+ p1 = new QPixmap( *titleS[act] );
+ else if ( titleB[act] )
+ p1 = new QPixmap( *titleB[act] );
+ else if ( titleT[act] )
+ p1 = new QPixmap( *titleT[act] );
+
+ // Stretch if required
+ if ( (size != -1) && p1 && (!p1->isNull()) )
+ p1 = stretchPixmap( p1, true, size );
+
+ return p1;
+}
+
+
+// Frees all memory used by pixmaps.
+void ThemeHandler::freePixmaps()
+{
+ freePixmapGroup( frameTL );
+ freePixmapGroup( frameT );
+ freePixmapGroup( frameTR );
+ freePixmapGroup( frameL );
+ freePixmapGroup( frameR );
+ freePixmapGroup( frameBL );
+ freePixmapGroup( frameB );
+ freePixmapGroup( frameBR );
+
+ freePixmapGroup( closePix );
+ freePixmapGroup( depthPix );
+ freePixmapGroup( maximizePix );
+ freePixmapGroup( minimizePix );
+ freePixmapGroup( restorePix );
+ freePixmapGroup( hidePix );
+ freePixmapGroup( rollupPix );
+ freePixmapGroup( rolldownPix );
+ freePixmapGroup( menuButtonPix );
+
+ freePixmapGroup( titleJ );
+ freePixmapGroup( titleL );
+ freePixmapGroup( titleS );
+ freePixmapGroup( titleP );
+ freePixmapGroup( titleT );
+ freePixmapGroup( titleM );
+ freePixmapGroup( titleB );
+ freePixmapGroup( titleR );
+ freePixmapGroup( titleQ );
+}
+
+
+// Frees a dynamic pixmap group from the heap.
+void ThemeHandler::freePixmapGroup( QPixmap* p[] )
+{
+ if (p)
+ {
+ if (p[Active]) delete p[Active];
+ if (p[InActive]) delete p[InActive];
+ p[Active] = NULL;
+ p[InActive] = NULL;
+ } else
+ qWarning("kwin-icewm: freePixmapGroup - invalid QPixmap** 'p'\n");
+}
+
+
+// Converts icewm colors #C0C0C0 or rgb:C0/C0/C0 to QColors
+QColor ThemeHandler::decodeColor( QString& s )
+{
+ // Make rgb:C0/C0/C0, or #C0/C0/C0 -> C0C0C0
+ s.replace( QRegExp("r"), "");
+ s.replace( QRegExp("g"), "");
+ s.replace( QRegExp("b"), "");
+ s.replace( QRegExp("#"), "");
+ s.replace( QRegExp("/"), "");
+ s.replace( QRegExp(":"), "");
+ s.replace( QRegExp("\\"), "");
+ s.replace( QRegExp("\""), "");
+
+ // Wierd error - return grey
+ if (s.length() != 6)
+ return QColor( 0xC0, 0xC0, 0xC0 );
+
+ // Qt makes this conversion very easy
+ return QColor( QString("#") + s );
+}
+
+
+// Stretches tiny pixmaps vertically or horizontally, taking into account
+// repetition in patterns, so as not to make them mismatched
+QPixmap* ThemeHandler::stretchPixmap( QPixmap* src, bool stretchHoriz, int stretchSize )
+{
+ if (!src) return NULL;
+ if (src->isNull()) return NULL;
+
+ int s_inc, size;
+
+ // If its the right size already, just return
+ if (stretchSize == -1)
+ {
+ if (stretchHoriz)
+ s_inc = src->width();
+ else
+ s_inc = src->height();
+
+ size = s_inc;
+ if (size >= 100)
+ return src;
+
+ // Stretch an appropriate amount - taking care of pattern repetition
+ while( size < 100 )
+ size += s_inc;
+ } else
+ size = stretchSize;
+
+ QPixmap* p = new QPixmap();
+ if ( stretchHoriz )
+ p->resize( size, src->height() );
+ else
+ p->resize( src->width(), size );
+
+ QPainter pnt( p );
+ if ( stretchHoriz )
+ pnt.drawTiledPixmap( 0, 0, size, src->height(), *src);
+ else
+ pnt.drawTiledPixmap( 0, 0, src->width(), size, *src);
+ pnt.end();
+
+ delete src;
+ return p;
+}
+
+static void draw3DRect(QPainter &pnt, QColor &col, int x, int y, int w, int h, bool up) {
+ QColor light = col.light(135);
+ QColor dark = col.dark(140);
+ pnt.setPen(up ? light : dark);
+ pnt.drawLine(x, y, x+w, y);
+ pnt.drawLine(x, y, x, y+h);
+ pnt.setPen(up ? dark : light);
+ pnt.drawLine(x, y+h, x+w, y+h);
+ pnt.drawLine(x+w, y, x+w, y+h);
+ pnt.setPen(col);
+ pnt.drawPoint(x+w, y);
+ pnt.drawPoint(x, y+h);
+}
+
+void ThemeHandler::setPixmapButton( QPixmap* p[], QString s1, QString s2)
+{
+ if ( p[Active] )
+ qWarning("kwin-icewm: setPixmap - should be null (1)\n");
+ if ( p[InActive] )
+ qWarning("kwin-icewm: setPixmap - should be null (2)\n");
+
+ QString str = locate("appdata", QString("icewm-themes/")
+ + themeName + s1 + "A" + s2);
+ if (str.isEmpty())
+ str = locate("appdata", QString("icewm-themes/")
+ + themeName + s1 + s2);
+
+ QPixmap *qp = new QPixmap(str);
+ QColor cActive = themeLook == WIN95 ? *colorActiveTitleBar : *colorActiveButton;
+ QColor cInActive = themeLook == WIN95 ? *colorInActiveTitleBar : *colorInActiveButton;
+
+ if (!qp->isNull() && themeLook > 0) {
+ int w = qp->width();
+ if (themeLook > 0 && titleBarHeight > w) w = titleBarHeight;
+ p[Active] = new QPixmap(w, 2*titleBarHeight );
+ p[Active] -> fill(cActive);
+
+ QPainter pnt( p[Active] );
+
+ int offX = (w - qp->width())/2;
+ int offY = (titleBarHeight - qp->height())/2;
+ if (offY < 0) offY = 0;
+
+ if (themeLook == WIN95) {
+ draw3DRect(pnt, *colorActiveButton, offX-1, offY-1,
+ qp->width()+1, qp->height()+1, true);
+ draw3DRect(pnt, *colorActiveButton, offX-1, offY-1 + titleBarHeight,
+ qp->width()+1, qp->height()+1, false);
+ } else if (themeLook != WARP4) {
+ draw3DRect(pnt, *colorActiveButton, 0, 0,
+ w-1, titleBarHeight-1, true);
+ draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
+ w-1, 2*titleBarHeight-1, false);
+ }
+
+ pnt.drawPixmap(offX, offY, *qp);
+ if (qp->height() <= titleBarHeight) {
+ pnt.drawPixmap(offX, titleBarHeight+offY, *qp);
+ }
+ pnt.end();
+ delete qp;
+ } else {
+ p[Active] = qp;
+ }
+
+ str = locate("appdata", QString("icewm-themes/")
+ + themeName + s1 + "I" + s2);
+ if (str.isEmpty())
+ str = locate("appdata", QString("icewm-themes/")
+ + themeName + s1 + s2);
+
+ qp = new QPixmap(str);
+ if (!qp->isNull() && themeLook > 0) {
+ int w = qp->width();
+ if (titleBarHeight > w) w = titleBarHeight;
+ p[InActive] = new QPixmap(w, 2*titleBarHeight );
+ p[InActive] -> fill(cInActive);
+
+ QPainter pnt( p[InActive] );
+
+ int offX = (w - qp->width())/2;
+ int offY = (titleBarHeight - qp->height())/2;
+ if (offY < 0) offY = 0;
+
+ if (themeLook == WIN95) {
+ draw3DRect(pnt, *colorInActiveButton, offX-1, offY-1,
+ qp->width()+1, qp->height()+1, true);
+ draw3DRect(pnt, *colorInActiveButton, offX-1, offY-1 + titleBarHeight,
+ qp->width()+1, qp->height()+1, false);
+ } else if (themeLook != WARP4) {
+ draw3DRect(pnt, *colorInActiveButton, 0, 0,
+ w-1, titleBarHeight-1, true);
+ draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
+ w-1, 2*titleBarHeight-1, false);
+ }
+ pnt.drawPixmap(offX, offY, *qp);
+ if (qp->height() <= titleBarHeight) {
+ pnt.drawPixmap(offX, titleBarHeight+offY, *qp);
+ }
+ pnt.end();
+ delete qp;
+ } else {
+ p[InActive] = qp;
+ }
+}
+
+
+
+
+// Loads the specified Active/InActive files into the specific pixmaps, and
+// can perform horizontal / vertical stretching if required for speed.
+// Tries to implement some icewm specific pixmap handling for some dodgy themes
+void ThemeHandler::setPixmap( QPixmap* p[], QString s1, QString s2,
+ bool stretch, bool stretchHoriz )
+{
+ if ( p[Active] )
+ qWarning("kwin-icewm: setPixmap - should be null (1)\n");
+ if ( p[InActive] )
+ qWarning("kwin-icewm: setPixmap - should be null (2)\n");
+
+ p[Active] = new QPixmap( locate("data", QString("kwin/icewm-themes/")
+ + themeName + s1 + "A" + s2) );
+ p[InActive] = new QPixmap( locate("data", QString("kwin/icewm-themes/")
+ + themeName + s1 + "I" + s2) );
+
+ // Stretch the pixmap if requested.
+ if ( stretch )
+ {
+ if (p[Active])
+ p[Active] = stretchPixmap( p[Active], stretchHoriz );
+ if (p[InActive])
+ p[InActive] = stretchPixmap( p[InActive], stretchHoriz );
+ }
+
+ if ( p[Active] && p[InActive] )
+ {
+ // Make sure active and inactive pixmaps are the same width for proper painting
+ if (p[Active]->width() > p[InActive]->width())
+ p[InActive] = stretchPixmap( p[InActive], true, p[Active]->width() );
+ }
+
+}
+
+
+// returns true if there were enough pixmaps loaded to
+// draw the pixmap frame properly.
+bool ThemeHandler::isFrameValid()
+{
+ return
+ ( validPixmaps( frameTL ) &&
+ validPixmaps( frameT ) &&
+ validPixmaps( frameTR ) &&
+ validPixmaps( frameL ) &&
+ validPixmaps( frameR ) &&
+ validPixmaps( frameBL ) &&
+ validPixmaps( frameB ) &&
+ validPixmaps( frameBR ) );
+}
+
+
+// Resets the theme, and re-clients all kwin's wrapped windows.
+bool ThemeHandler::reset( unsigned long)
+{
+ initialized = false;
+ freePixmaps();
+ readConfig();
+ initTheme();
+ validframe = isFrameValid();
+ initialized = true;
+
+ // recreate all clients
+ return true;
+}
+
+bool ThemeHandler::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonMenu:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ return true;
+ default:
+ return false;
+ };
+}
+
+
+////////////////////////////////////////////////////////////////////////////////////////////
+// IceWM button class
+////////////////////////////////////////////////////////////////////////////////////////////
+
+IceWMButton::IceWMButton(IceWMClient *parent, const char *name, QPixmap* (*p)[2],
+ bool isToggle, const QString& tip, const int realizeBtns )
+ : QButton(parent->widget(), name)
+{
+ m_realizeButtons = realizeBtns;
+ setTipText(tip);
+ setCursor(ArrowCursor);
+ // Eliminate any possible background flicker
+ setBackgroundMode( QWidget::NoBackground );
+ client = parent;
+ usePixmap( p );
+ setFixedSize( sizeHint() );
+ setToggleButton( isToggle );
+}
+
+
+void IceWMButton::setTipText(const QString &tip) {
+ if(KDecoration::options()->showTooltips()) {
+ QToolTip::remove(this );
+ QToolTip::add(this, tip );
+ }
+}
+
+
+QSize IceWMButton::sizeHint() const
+{
+ // Check for invalid data
+ if ( validPixmaps( (QPixmap**) (*pix) ) ) // Cast to avoid dumb warning
+ {
+ QPixmap* p = (*pix)[ client->isActive() ? Active : InActive ];
+ return( QSize(p->width(), titleBarHeight) );
+ } else
+ return( QSize(0, 0) );
+}
+
+
+void IceWMButton::usePixmap( QPixmap* (*p)[2] )
+{
+ if (validPixmaps( *p )) {
+ pix = p;
+ setFixedSize( (*pix)[Active]->width(), titleBarHeight );
+ repaint( false );
+ } else
+ pix = NULL;
+}
+
+
+void IceWMButton::drawButton(QPainter *pnt)
+{
+ if ( pix && validPixmaps(*pix) )
+ {
+ QPixmap* p = (*pix)[ client->isActive() ? Active : InActive ];
+
+ if( p && (!p->isNull()) )
+ {
+ int width = p->width();
+
+ // Only draw the lower pixmap 1/2 for down, and upper 1/2 for up state
+ if( isDown() || isOn() )
+ pnt->drawPixmap(0, 0, *p, 0, titleBarHeight, width, titleBarHeight);
+ else
+ pnt->drawPixmap(0, 0, *p, 0, 0, width, titleBarHeight);
+ }
+ } else
+ qWarning("kwin-icewm: Can't paint a null pixmap button");
+}
+
+
+void IceWMButton::turnOn( bool isOn )
+{
+ if ( isToggleButton() )
+ setOn( isOn );
+}
+
+
+void IceWMButton::mousePressEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(),
+ (e->button()&m_realizeButtons)?LeftButton:NoButton, e->state() );
+ QButton::mousePressEvent( &me );
+}
+
+
+void IceWMButton::mouseReleaseEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(),
+ (e->button()&m_realizeButtons)?LeftButton:NoButton, e->state() );
+ QButton::mouseReleaseEvent( &me );
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////////////////
+// IceWMClient class
+////////////////////////////////////////////////////////////////////////////////////////////
+
+IceWMClient::IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory )
+ : KDecoration (bridge, factory),
+ m_closing(false)
+{
+}
+
+
+IceWMClient::~IceWMClient()
+{
+ // Free the menu pixmaps if previously allocated
+ if ( menuButtonWithIconPix[Active] )
+ delete menuButtonWithIconPix[Active];
+ if ( menuButtonWithIconPix[InActive] )
+ delete menuButtonWithIconPix[InActive];
+}
+
+
+void IceWMClient::init()
+{
+ createMainWidget( WNoAutoErase | WStaticContents );
+ widget()->installEventFilter( this );
+
+ // Set button pointers to null so we can track things
+ for(int i= IceWMClient::BtnSysMenu; i < IceWMClient::BtnCount; i++)
+ button[i] = NULL;
+
+ // Make sure we can track the menu pixmaps too.
+ menuButtonWithIconPix[Active] = NULL;
+ menuButtonWithIconPix[InActive] = NULL;
+
+ // No flicker thanks
+ widget()->setBackgroundMode( NoBackground );
+
+ // Pack the windowWrapper() window within a grid layout
+ grid = new QGridLayout(widget(), 0, 0, 0);
+ grid->setResizeMode(QLayout::FreeResize);
+ grid->addRowSpacing(0, borderSizeY); // Top grab bar
+
+ // Do something IceWM can't do :)
+ if (titleBarOnTop) {
+ if( isPreview())
+ grid->addWidget( new QLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 2, 1);
+ else
+ grid->addItem( new QSpacerItem( 0, 0 ), 2, 1);
+ // no shade flicker
+ grid->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+ }
+ else {
+ // no shade flicker
+ grid->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+ if( isPreview())
+ grid->addWidget( new QLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 1, 1);
+ else
+ grid->addItem( new QSpacerItem( 0, 0 ), 1, 1);
+ }
+
+ grid->setRowStretch(1, 10);
+ grid->setRowStretch(2, 10);
+ grid->setColStretch(1, 10);
+ grid->addRowSpacing(3, borderSizeY);
+ grid->addColSpacing(0, borderSizeX);
+ grid->addColSpacing(2, borderSizeX);
+
+ // Pack the titlebar with spacers and buttons
+ hb = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ hb->setResizeMode( QLayout::FreeResize );
+
+ titleSpacerJ = addPixmapSpacer( titleJ );
+
+ addClientButtons( *titleButtonsLeft );
+ titleSpacerL = addPixmapSpacer( titleL );
+
+ // Centre titlebar if required.
+ QSizePolicy::SizeType spTitleBar;
+ spTitleBar = titleBarCentered ? QSizePolicy::Expanding : QSizePolicy::Maximum;
+ titleSpacerS = addPixmapSpacer( titleS, spTitleBar, 1 );
+ titleSpacerP = addPixmapSpacer( titleP );
+
+ titlebar = new QSpacerItem( titleTextWidth(caption()), titleBarHeight,
+ QSizePolicy::Preferred, QSizePolicy::Fixed );
+ hb->addItem(titlebar);
+
+ titleSpacerM = addPixmapSpacer( titleM );
+ titleSpacerB = addPixmapSpacer( titleB, QSizePolicy::Expanding, 1 );
+ titleSpacerR = addPixmapSpacer( titleR );
+
+ addClientButtons( *titleButtonsRight );
+
+ titleSpacerQ = addPixmapSpacer( titleQ );
+
+ if (titleBarOnTop)
+ grid->addLayout ( hb, 1, 1 );
+ else
+ grid->addLayout ( hb, 2, 1 );
+}
+
+
+// Adds the buttons to the hbox layout as per the buttons specified
+// in the button string 's'
+void IceWMClient::addClientButtons( const QString& s )
+{
+ if (!s.isEmpty())
+ for(unsigned int i = 0; i < s.length(); i++)
+ {
+ switch ( s[i].latin1() )
+ {
+ case 's':
+ // Create the menu icons, and render with the current mini-icon
+ // if explicitly requested by the theme.
+ if ( (validPixmaps(menuButtonPix) || showMenuButtonIcon) && !button[BtnSysMenu])
+ {
+ if (showMenuButtonIcon) {
+ renderMenuIcons();
+ button[BtnSysMenu] = new IceWMButton(this, "menu",
+ &menuButtonWithIconPix, false, i18n("Menu"), LeftButton|RightButton);
+ }
+ else
+ button[BtnSysMenu] = new IceWMButton(this, "menu",
+ &menuButtonPix, false, i18n("Menu"));
+
+ connect( button[BtnSysMenu], SIGNAL(pressed()),
+ this, SLOT(menuButtonPressed()));
+ connect( button[BtnSysMenu], SIGNAL(released()),
+ this, SLOT(menuButtonReleased()));
+ hb->addWidget( button[BtnSysMenu] );
+ }
+ break;
+
+ case 'x':
+ if ( validPixmaps(closePix) && !button[BtnClose] && isCloseable())
+ {
+ button[BtnClose] = new IceWMButton(this, "close",
+ &closePix, false, i18n("Close"));
+ hb->addWidget( button[BtnClose] );
+ connect( button[BtnClose], SIGNAL(clicked()),
+ this, SLOT(closeWindow()));
+ }
+ break;
+
+ case 'm':
+ if ( validPixmaps(maximizePix) && !button[BtnMaximize] && isMaximizable() )
+ {
+ button[BtnMaximize] = new IceWMButton(this, "maximize",
+ &maximizePix, false, i18n("Maximize"), LeftButton|MidButton|RightButton);
+ hb->addWidget( button[BtnMaximize] );
+ connect( button[BtnMaximize], SIGNAL(clicked()),
+ this, SLOT(slotMaximize()));
+ }
+ break;
+
+ case 'i':
+ if ( validPixmaps(minimizePix) && !button[BtnMinimize] &&
+ isMinimizable() )
+ {
+ button[BtnMinimize] = new IceWMButton(this, "minimize",
+ &minimizePix, false, i18n("Minimize"));
+ hb->addWidget( button[BtnMinimize] );
+ connect( button[BtnMinimize], SIGNAL(clicked()),
+ this, SLOT(minimize()));
+ }
+ break;
+
+ /* Not yet implemented - how's hide useful anyway?
+ case 'h':
+ if ( button[BtnHide] && !button[BtnHide] )
+ hb->addWidget( button[BtnHide] );
+ break; */
+
+ case 'r':
+ // NOTE: kwin doesn't have toggleShade() in clients.h !
+ if ( validPixmaps(rollupPix) && !button[BtnRollup] )
+ {
+ button[BtnRollup] = new IceWMButton(this, "shade",
+ isSetShade() ? &rolldownPix : &rollupPix,
+ false, i18n("Rollup"));
+ hb->addWidget( button[BtnRollup] );
+ connect( button[BtnRollup], SIGNAL(clicked()),
+ this, SLOT(toggleShade()));
+ }
+ break;
+
+ case 'd':
+ // Make depth == on all desktops
+ if ( validPixmaps(depthPix) && !button[BtnDepth] )
+ {
+ button[BtnDepth] = new IceWMButton(this, "on_all_desktops",
+ &depthPix, true, isOnAllDesktops()?i18n("Not on all desktops"):i18n("On all desktops"));
+ button[BtnDepth]->turnOn( isOnAllDesktops() );
+ hb->addWidget( button[BtnDepth] );
+ connect( button[BtnDepth], SIGNAL(clicked()),
+ this, SLOT(toggleOnAllDesktops()));
+ }
+ break;
+ }
+ }
+}
+
+
+// Adds a pixmap to the titlebar layout via the use of a nice QSpacerItem
+QSpacerItem* IceWMClient::addPixmapSpacer( QPixmap* p[], QSizePolicy::SizeType s, int hsize )
+{
+ QSpacerItem* sp;
+
+ // Add a null spacer for zero image
+ if ( p && p[Active] )
+ {
+ int w = (hsize == -1) ? p[Active]->width(): hsize;
+ sp = new QSpacerItem( w, titleBarHeight, s, QSizePolicy::Fixed );
+ }
+ else
+ sp = new QSpacerItem(0, 0, QSizePolicy::Maximum, QSizePolicy::Fixed );
+
+ hb->addItem( sp );
+ return sp;
+}
+
+
+void IceWMClient::renderMenuIcons()
+{
+ QPixmap miniIcon( icon().pixmap( QIconSet::Small, QIconSet::Normal) );
+
+ if (!miniIcon.isNull())
+ for(int i = 0; i < 2; i++) {
+ if ( menuButtonWithIconPix[i] )
+ delete menuButtonWithIconPix[i];
+
+ // Try to be more friendly to dodgy themes - icewm assumes a square menu button
+ // but some pixmap themes don't provide a square menu button.
+ int w = titleBarHeight;
+ if (validPixmaps(menuButtonPix) && menuButtonPix[i]->width() > w)
+ w = menuButtonPix[i]->width();
+ menuButtonWithIconPix[i] = new QPixmap(w, 2*titleBarHeight );
+ if (themeLook != WIN95)
+ menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveButton : *colorActiveButton);
+ else
+ menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveTitleBar : *colorActiveTitleBar);
+ QPainter pnt( menuButtonWithIconPix[i] );
+
+ if (themeLook > 0 && themeLook != WIN95 && themeLook != WARP4) {
+ draw3DRect(pnt, *colorActiveButton, 0, 0,
+ w-1, titleBarHeight-1, true);
+ draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
+ w-1, 2*titleBarHeight-1, false);
+ }
+ if (validPixmaps(menuButtonPix)) {
+ pnt.drawPixmap(0, 0, *menuButtonPix[i]);
+ }
+ int offset = (titleBarHeight - miniIcon.width())/2;
+ if (offset<0) offset = 0;
+ // Paint the mini icon over the menu pixmap in the centre
+ pnt.drawPixmap( offset, offset, miniIcon );
+ pnt.drawPixmap( offset, titleBarHeight+offset, miniIcon );
+ pnt.end();
+ }
+
+}
+
+
+void IceWMClient::slotMaximize()
+{
+ maximize(button[BtnMaximize]->last_button);
+}
+
+void IceWMClient::toggleShade()
+{
+ setShade(!isSetShade());
+}
+
+int IceWMClient::titleTextWidth( const QString& s )
+{
+ // Obtains the actual width of the text, using the titlebar font
+ QSize size;
+ QFontMetrics fm( options()->font(true) );
+ size = fm.size( 0, s );
+ return size.width();
+}
+
+
+void IceWMClient::borders(int& left, int& right, int& top, int& bottom) const
+{
+ left = borderSizeX;
+ right = borderSizeX;
+ if( titleBarOnTop ) {
+ top = titleBarHeight + borderSizeY;
+ bottom = borderSizeY;
+ } else {
+ top = borderSizeY;
+ bottom = titleBarHeight + borderSizeY;
+ }
+}
+
+
+void IceWMClient::resize( const QSize& s )
+{
+ widget()->resize( s );
+}
+
+
+QSize IceWMClient::minimumSize() const
+{
+ return widget()->minimumSize();
+}
+
+
+// Repaint nicely upon resize to minimise flicker.
+void IceWMClient::resizeEvent( QResizeEvent* e )
+{
+ calcHiddenButtons();
+
+ if (widget()->isVisibleToTLW())
+ {
+ widget()->update(widget()->rect());
+ int dx = 0;
+ int dy = 0;
+
+ if ( e->oldSize().width() != widget()->width() )
+ dx = 32 + QABS( e->oldSize().width() - width() );
+
+ if ( e->oldSize().height() != height() )
+ dy = 8 + QABS( e->oldSize().height() - height() );
+
+ if ( dy )
+ widget()->update( 0, height() - dy + 1, width(), dy );
+
+ if ( dx )
+ {
+ widget()->update( width() - dx + 1, 0, dx, height() );
+ widget()->update( QRect( QPoint(4,4), titlebar->geometry().bottomLeft() - QPoint(1,0) ) );
+ widget()->update( QRect( titlebar->geometry().topRight(), QPoint( width() - 4, titlebar->geometry().bottom() ) ) );
+ widget()->repaint(titlebar->geometry(), false);
+ }
+ }
+}
+
+
+// IceWM Paint magic goes here.
+void IceWMClient::paintEvent( QPaintEvent* )
+{
+ QColor colorTitleShadow;
+ QColor colorTitle;
+ QColor c1;
+ int rx, rw;
+
+ QPainter p( widget() );
+ int act = isActive() ? Active: InActive;
+
+ // Determine titlebar shadow colors
+ bool useShadow = isActive() ? useActiveShadow : useInActiveShadow;
+ if ( useShadow )
+ colorTitleShadow = isActive() ? *colorActiveTitleTextShadow : *colorInActiveTitleTextShadow;
+
+ if ( themeTitleTextColors )
+ colorTitle = isActive()? *colorActiveTitleBarText : *colorInActiveTitleBarText;
+ else
+ colorTitle = options()->color(ColorFont, isActive());
+
+ // Obtain widget bounds.
+ QRect r;
+ r = widget()->rect();
+ int fillWidth = r.width() - 2*borderSizeX;
+ int y = r.y();
+ int x = r.x();
+ int w = r.width();
+ int h = r.height();
+
+ // Do we have pixmaps for the frame?
+ if (validframe)
+ {
+ // Top corner
+ p.drawPixmap(0, 0, *frameTL[ act ], 0, 0, cornerSizeX, borderSizeY);
+ p.drawPixmap(0, 0, *frameTL[ act ], 0, 0, borderSizeX, cornerSizeY);
+
+ // Top right corner
+ p.drawPixmap(w-cornerSizeX, 0, *frameTR[ act ],
+ frameTR[act]->width()-cornerSizeX, 0, cornerSizeX, borderSizeY);
+ p.drawPixmap(w-borderSizeX, 0, *frameTR[ act ],
+ frameTR[act]->width()-borderSizeX, 0, borderSizeX, cornerSizeY);
+
+ // Top bar
+ p.drawTiledPixmap( cornerSizeX, 0, w-(2*cornerSizeX), borderSizeY, *frameT[ act ] );
+
+ // Left bar
+ p.drawTiledPixmap( 0, cornerSizeY, borderSizeX, h-(2*cornerSizeY), *frameL[ act ] );
+
+ // Right bar
+ p.drawTiledPixmap( w-borderSizeX, cornerSizeY, borderSizeX, h-(2*cornerSizeY),
+ *frameR[ act ],frameR[act]->width()-borderSizeX );
+
+ // Bottom left corner
+ p.drawPixmap(0, h-borderSizeY, *frameBL[ act ],
+ 0, frameBL[act]->height()-borderSizeY, cornerSizeX, borderSizeY);
+ p.drawPixmap(0, h-cornerSizeY, *frameBL[ act ],
+ 0, frameBL[act]->height()-cornerSizeY, borderSizeX, cornerSizeY);
+
+ // Bottom right corner
+ p.drawPixmap(w-cornerSizeX, h-borderSizeY, *frameBR[ act ],
+ frameBR[act]->width()-cornerSizeX, frameBR[act]->height()-borderSizeY,
+ cornerSizeX, borderSizeY);
+
+ p.drawPixmap(w-borderSizeX, h-cornerSizeY, *frameBR[ act ],
+ frameBR[act]->width()-borderSizeX, frameBR[act]->height()-cornerSizeY,
+ borderSizeX, cornerSizeY);
+
+ // Bottom bar
+ p.drawTiledPixmap(cornerSizeX, h-borderSizeY, w-(2*cornerSizeX), borderSizeY,
+ *frameB[ act ], 0, frameB[ act ]->height()-borderSizeY );
+
+ // Ensure uncovered areas during shading are painted with something
+ p.setPen( *colorInActiveBorder );
+ if (titleBarOnTop)
+ p.drawLine( x+borderSizeX, y+h-borderSizeY-1,
+ x+w-borderSizeX-1, y+h-borderSizeY-1);
+ else
+ p.drawLine( x+borderSizeX, y+borderSizeY,
+ x+w-borderSizeX-1, y+borderSizeY);
+
+ } else
+ {
+ // Draw a stock IceWM frame instead of a pixmap frame
+ c1 = isActive() ? *colorActiveBorder : *colorInActiveBorder;
+
+ if (themeLook == WARP3 || themeLook == MOTIF) {
+ draw3DRect(p, c1, x, y, w-1, h-1, true);
+ p.setPen(c1);
+ p.drawRect(x+1, y+1, w-2, h-2);
+ } else {
+ p.setPen( c1.light(135) );
+ p.drawLine(0, 0, w-2, 0);
+ p.drawLine(0, 0, 0, h-2);
+
+ p.setPen(c1);
+ p.drawLine(1, 1, w-3, 1);
+ p.drawLine(1, 1, 1, h-3);
+
+ p.setPen( c1.dark(140) );
+ p.drawLine(1, h-2, w-2, h-2);
+ p.drawLine(w-2, 1, w-2, h-2);
+
+ p.setPen( Qt::black );
+ p.drawLine(w-1, 0, w-1, h-1);
+ p.drawLine(0, h-1, w-1, h-1);
+ }
+
+
+ // Fill frame border if required
+ if (borderSizeX > 2)
+ {
+ // Fill Vertical sizes
+ p.fillRect( x+2, y+2, borderSizeX-2, h-4, c1);
+ p.fillRect( w-borderSizeX, y+2, borderSizeX-2, h-4, c1);
+ }
+
+ if (borderSizeY > 2)
+ {
+ // Fill horizontal frame parts
+ p.fillRect( x+borderSizeX, y+2, fillWidth, borderSizeY-2, c1);
+ p.fillRect( x+borderSizeX, h-borderSizeY, fillWidth, borderSizeY-2, c1);
+ }
+
+ if (themeLook == WARP3 || themeLook == MOTIF) {
+ draw3DRect(p, c1, x+borderSizeX-1, y+borderSizeY-1,
+ w+1-2*borderSizeX, h+1-2*borderSizeY, false);
+ }
+ if (themeLook == MOTIF && !isShade()) {
+ int xext = titleBarHeight + borderSizeX - 1;
+ int yext = titleBarHeight + borderSizeY - 1;
+
+ int xext2 = w-xext-2;
+ int yext2 = h-yext-2;
+
+ int bX = w - borderSizeX-1;
+ int bY = h - borderSizeY-1;
+
+ p.setPen( c1.dark(140) );
+ p.drawLine(xext, 0, xext, borderSizeY);
+ p.drawLine(xext2, 0, xext2, borderSizeY);
+ p.drawLine(xext, bY, xext, h-1);
+ p.drawLine(xext2, bY, xext2, h-1);
+
+ p.drawLine(0, yext, borderSizeX, yext);
+ p.drawLine(0, yext2, borderSizeX, yext2);
+ p.drawLine(bX, yext, w-1, yext);
+ p.drawLine(bX, yext2, w-1, yext2);
+
+ p.setPen( c1.light(135) );
+
+ ++xext; ++yext; ++xext2; ++yext2;
+
+ p.drawLine(xext, 0, xext, borderSizeY);
+ p.drawLine(xext2, 0, xext2, borderSizeY);
+ p.drawLine(xext, bY, xext, h-1);
+ p.drawLine(xext2, bY, xext2, h-1);
+
+ p.drawLine(0, yext, borderSizeX, yext);
+ p.drawLine(0, yext2, borderSizeX, yext2);
+ p.drawLine(bX, yext, w-1, yext);
+ p.drawLine(bX, yext2, w-1, yext2);
+
+
+ }
+
+ // Ensure uncovered areas during shading are painted with something
+ p.setPen( *colorInActiveBorder );
+ if (titleBarOnTop)
+ p.drawLine( x+borderSizeX, y+h-borderSizeY-1,
+ x+w-borderSizeX-1, y+h-borderSizeY-1);
+ else
+ p.drawLine( x+borderSizeX, y+borderSizeY,
+ x+w-borderSizeX-1, y+borderSizeY);
+ }
+
+ // Draw the title elements, if we need to draw a titlebar.
+ if (titleBarHeight > 0)
+ {
+ QPixmap* titleBuffer = new QPixmap( width()-(2*borderSizeX), titleBarHeight );
+ QPainter p2( titleBuffer, this );
+ titleBuffer->fill( act ? *colorActiveTitleBar : *colorInActiveTitleBar );
+
+ r = titleSpacerJ->geometry();
+ if (!r.isEmpty() && titleJ[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleJ[ act ]);
+
+ r = titleSpacerL->geometry();
+ if (!r.isEmpty() && titleL[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleL[ act ]);
+
+ r = titleSpacerS->geometry();
+ if (!r.isEmpty() && titleS[ act ])
+ p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleS[ act ]);
+
+ r = titleSpacerP->geometry();
+ if (!r.isEmpty() && titleP[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleP[ act ]);
+
+ r = titlebar->geometry();
+ if (!r.isEmpty() && titleT[ act ] )
+ p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleT[ act ]);
+
+ r = titleSpacerM->geometry();
+ if (!r.isEmpty() && titleM[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleM[ act ], 0, 0, r.width(), r.height());
+
+ r = titleSpacerB->geometry();
+ if (!r.isEmpty() && titleB[ act ])
+ p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleB[ act ]);
+
+ r = titleSpacerR->geometry();
+ if (!r.isEmpty() && titleR[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleR[ act ], 0, 0, r.width(), r.height());
+
+ r = titleSpacerQ->geometry();
+ if (!r.isEmpty() && titleQ[ act ])
+ p2.drawPixmap( r.x()-borderSizeX, 0, *titleQ[ act ], 0, 0, r.width(), r.height());
+
+ p2.setFont( options()->font(true) );
+
+ // Pre-compute as much as possible
+ r = titlebar->geometry();
+ rx = r.x() - borderSizeX;
+ rw = width()-(2*borderSizeX)-r.x();
+
+ // Paint a title text shadow if requested
+ if ( useShadow )
+ {
+ p2.setPen( colorTitleShadow );
+ p2.drawText(rx+1, 1, rw, titleBarHeight, AlignLeft|AlignVCenter, caption());
+ }
+
+ // Draw the title text
+ p2.setPen( colorTitle );
+ p2.drawText(rx, 0, rw, titleBarHeight, AlignLeft|AlignVCenter, caption());
+ p2.end();
+
+ bitBlt( widget(), borderSizeX, hb->geometry().y(), titleBuffer );
+
+ delete titleBuffer;
+ }
+}
+
+
+void IceWMClient::showEvent(QShowEvent *ev)
+{
+ calcHiddenButtons();
+
+ titlebar->changeSize( titleTextWidth(caption()), titleBarHeight,
+ QSizePolicy::Preferred, QSizePolicy::Fixed );
+ grid->activate();
+ widget()->show();
+ IceWMClient::showEvent(ev);
+}
+
+
+void IceWMClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if( e->button() != LeftButton )
+ return;
+
+ QRect r;
+ if (titleBarOnTop)
+ r.setRect( borderSizeX, borderSizeY, width()-(2*borderSizeX), titleBarHeight);
+ else
+ r.setRect( borderSizeX, height()-borderSizeY-titleBarHeight,
+ width()-(2*borderSizeX), titleBarHeight);
+
+ if (r.contains( e->pos() ) )
+ titlebarDblClickOperation();
+
+}
+
+
+void IceWMClient::wheelEvent(QWheelEvent *e)
+{
+ if (isSetShade() || QRect( 0, 0, width(), titleBarHeight ).contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+
+// Called via Client class when the miniIcon() changes
+void IceWMClient::iconChange()
+{
+ if (validPixmaps(menuButtonPix) && showMenuButtonIcon)
+ {
+ if (button[BtnSysMenu])
+ {
+ renderMenuIcons();
+ button[BtnSysMenu]->usePixmap( &menuButtonWithIconPix );
+ if (button[BtnSysMenu]->isVisible())
+ button[BtnSysMenu]->repaint(false);
+ }
+ }
+}
+
+
+void IceWMClient::desktopChange()
+{
+ if (button[BtnDepth])
+ {
+ button[BtnDepth]->turnOn( isOnAllDesktops() );
+ button[BtnDepth]->repaint(false);
+ button[BtnDepth]->setTipText(isOnAllDesktops() ? i18n("Not on all desktops") : i18n("On all desktops"));
+ }
+}
+
+
+// Please don't modify the following unless you want layout problems
+void IceWMClient::captionChange()
+{
+ QRect r( 0, borderSizeY, geometry().width(), titleBarHeight);
+
+ titlebar->changeSize( titleTextWidth( caption() ), titleBarHeight,
+ QSizePolicy::Preferred, QSizePolicy::Fixed );
+ titlebar->invalidate();
+ grid->activate();
+ widget()->repaint( r, false );
+}
+
+
+void IceWMClient::maximizeChange()
+{
+ // Change the button pixmap to restore if required
+ if (button[BtnMaximize] && validPixmaps(restorePix))
+ {
+ button[BtnMaximize]->usePixmap( (maximizeMode()==MaximizeFull) ? &restorePix : &maximizePix );
+ button[BtnMaximize]->setTipText( (maximizeMode()==MaximizeFull) ? i18n("Restore") : i18n("Maximize"));
+ }
+}
+
+
+void IceWMClient::shadeChange()
+{
+ // Change the button pixmap to rolldown if required
+ if (button[BtnRollup] && validPixmaps(rolldownPix))
+ {
+ button[BtnRollup]->usePixmap( isSetShade() ? &rolldownPix : &rollupPix );
+ button[BtnRollup]->setTipText( isSetShade() ? i18n("Rolldown") : i18n("Rollup"));
+ }
+
+}
+
+
+void IceWMClient::activeChange()
+{
+ widget()->repaint(false);
+
+ // Reset the button pixmaps.
+ for(int i= IceWMClient::BtnSysMenu; i < IceWMClient::BtnCount; i++)
+ if(button[i])
+ button[i]->repaint( false );
+}
+
+
+// This does the showing / hiding button magic
+// for variable positioned buttons.
+void IceWMClient::calcHiddenButtons()
+{
+ const int minwidth = 220; // Minimum width where all buttons are shown
+ const int btn_width = 20; // Average width
+
+ // Show/Hide buttons in this order - OnAllDesktops, Maximize, Menu, Rollup, Minimize, Close.
+ IceWMButton* btnArray[] = { button[BtnDepth], button[BtnMaximize], button[BtnSysMenu],
+ button[BtnRollup], button[BtnMinimize], button[BtnClose] };
+
+ int current_width = width();
+ int count = 0;
+ int i;
+
+ // Find out how many buttons we have to hide.
+ while (current_width < minwidth)
+ {
+ current_width += btn_width;
+ count++;
+ }
+
+ // Bound the number of buttons to hide
+ if (count > 6) count = 6;
+
+ // Hide the required buttons...
+ for(i = 0; i < count; i++)
+ {
+ if (btnArray[i] && btnArray[i]->isVisible() )
+ btnArray[i]->hide();
+ }
+
+ // Show the rest of the buttons...
+ for(i = count; i < 6; i++)
+ {
+ if (btnArray[i] && (!btnArray[i]->isVisible()) )
+ btnArray[i]->show();
+ }
+}
+
+
+// Mouse position code modified from that in workspace.cpp
+IceWMClient::Position IceWMClient::mousePosition( const QPoint& p ) const
+{
+ int rangeX = cornerSizeX;
+ int rangeY = cornerSizeY;
+ int borderX = borderSizeX;
+ int borderY = borderSizeY;
+
+ Position m = PositionCenter;
+
+ if ((p.x() > borderX && p.x() < width() - borderX) &&
+ ( p.y() > borderY && p.y() < height() - borderY))
+ return PositionCenter;
+
+ if ( p.y() <= rangeY && p.x() <= rangeX)
+ m = PositionTopLeft;
+ else if ( p.y() >= height()-rangeY && p.x() >= width()-rangeX)
+ m = PositionBottomRight;
+ else if ( p.y() >= height()-rangeX && p.x() <= rangeX)
+ m = PositionBottomLeft;
+ else if ( p.y() <= rangeY && p.x() >= width()-rangeX)
+ m = PositionTopRight;
+ else if ( p.y() <= borderY )
+ m = PositionTop;
+ else if ( p.y() >= height()-borderY )
+ m = PositionBottom;
+ else if ( p.x() <= borderX )
+ m = PositionLeft;
+ else if ( p.x() >= width()-borderX )
+ m = PositionRight;
+ else
+ m = PositionCenter;
+ return m;
+}
+
+
+void IceWMClient::menuButtonPressed()
+{
+ static QTime t;
+ static IceWMClient* lastClient = NULL;
+ bool dbl = ( lastClient == this && t.elapsed() <= QApplication::doubleClickInterval());
+ lastClient = this;
+ t.start();
+
+ if (dbl)
+ {
+ m_closing = true;
+ return;
+ }
+
+ QPoint menuPoint ( button[BtnSysMenu]->rect().bottomLeft() );
+
+ // Move to right if menu on rhs, otherwise on left
+ // and make this depend on windowWrapper(), not button.
+
+ KDecorationFactory* f = factory();
+ showWindowMenu( button[BtnSysMenu]->mapToGlobal(menuPoint) );
+ if( !f->exists( this )) // 'this' was deleted
+ return;
+ button[BtnSysMenu]->setDown(false);
+}
+
+void IceWMClient::menuButtonReleased()
+{
+ if (m_closing)
+ closeWindow();
+}
+
+bool IceWMClient::eventFilter( QObject* o, QEvent* e )
+{
+ if( o != widget())
+ return false;
+ switch( e->type())
+ {
+ case QEvent::Resize:
+ resizeEvent(static_cast< QResizeEvent* >( e ) );
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast< QPaintEvent* >( e ) );
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast< QMouseEvent* >( e ) );
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent(static_cast< QMouseEvent* >( e ) );
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+}
+
+extern "C"
+{
+ KDE_EXPORT KDecorationFactory *create_factory()
+ {
+ IceWM::clientHandler = new IceWM::ThemeHandler;
+ return IceWM::clientHandler;
+ }
+}
+
+
+#include "icewm.moc"
+
+// vim: ts=4
diff --git a/kwin-styles/icewm/icewm.desktop b/kwin-styles/icewm/icewm.desktop
new file mode 100644
index 00000000..387caa0c
--- /dev/null
+++ b/kwin-styles/icewm/icewm.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=IceWM
+Name[cy]=RhewWM
+Name[hi]=आइस-डबल्यूएम
+Name[sv]=Ice-fönsterhanterare
+Name[ta]=பனிக்கட்டிWM
+Name[th]=ตัวจัดการหน้าต่าง IceWM
+Name[vi]=Nước đá WM
+Name[xh]=UmkhenkceWM
+Name[zu]=Iqhwa leWM
+X-KDE-Library=kwin3_icewm
diff --git a/kwin-styles/icewm/icewm.h b/kwin-styles/icewm/icewm.h
new file mode 100644
index 00000000..656f3426
--- /dev/null
+++ b/kwin-styles/icewm/icewm.h
@@ -0,0 +1,192 @@
+/*
+ $Id$
+
+ Gallium-IceWM themeable KWin client
+
+ Copyright 2001
+ Karol Szwed <gallium@kde.org>
+ http://gallium.n3.net/
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+ -----------------------------------------------------------------------------
+ This client loads most icewm 1.0.X pixmap themes, without taking into account
+ specific font settings for clients, or coloured mouse cursors. Titlebar
+ fonts can be changed via the kde control center. Bi-colour mouse cursors
+ may be added in future if requested by users, as well as theme font support.
+ Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g.
+ Warp4, win95 etc.) are not fully supported, and may cause drawing errors,
+ as these themes use in-built icewm drawing mechanisms.
+
+ When a pixmap theme is not present (or a corrupt one is present) then very
+ plain title decorations are painted instead, so that users don't see
+ non-painted window areas where possible ;)
+
+ At a later date, frame shaping may be added if really requested, and an
+ update to support the latest icewm 1.1.X theme format may be made.
+*/
+
+#ifndef __KDEGALLIUM_ICEWM_H
+#define __KDEGALLIUM_ICEWM_H
+
+#include <qbutton.h>
+#include <qlayout.h>
+#include <kpixmap.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+#include <qbutton.h>
+class QLabel;
+class QSpacerItem;
+class QBoxLayout;
+class QGridLayout;
+
+namespace IceWM {
+
+class IceWMClient;
+
+// Pixmap group
+enum { InActive=0, Active };
+// Pixmap stretching mode
+enum { Vertical=0, Horizontal=1 };
+
+
+// Handles the resetClients() signal from the Options class,
+// and manages the dynamic pixmaps, configuration and theme changing
+class ThemeHandler: public KDecorationFactory
+{
+ public:
+ ThemeHandler();
+ ~ThemeHandler();
+
+ virtual KDecoration* createDecoration( KDecorationBridge* );
+ virtual bool reset( unsigned long changed );
+ virtual bool supports( Ability ability );
+
+ private:
+ bool initialized;
+ QString themeName;
+
+ void readConfig();
+ QColor decodeColor( QString& s );
+ bool isFrameValid();
+ void initTheme();
+ void freePixmaps();
+ void freePixmapGroup( QPixmap* p[] );
+ void setPixmap( QPixmap* p[], QString s1, QString s2, bool
+ stretch=false, bool stretchHoriz=true );
+ void setPixmapButton( QPixmap* p[], QString s1, QString s2);
+ QPixmap* stretchPixmap( QPixmap* src, bool stretchHoriz=true,
+ int stretchSize=-1);
+ QPixmap* duplicateValidPixmap( bool act, int size = -1 );
+ void convertButtons( QString& s );
+ QString reverseString( QString s );
+};
+
+
+class IceWMButton : public QButton
+{
+ public:
+ IceWMButton( IceWMClient *parent=0, const char *name=0,
+ QPixmap* (*p)[2]=0L, bool isToggle=false,
+ const QString& tip=NULL, const int realizeBtns = LeftButton );
+ void setTipText(const QString &tip);
+ void usePixmap( QPixmap* (*p)[2] );
+ QSize sizeHint() const;
+ void turnOn( bool isOn );
+ ButtonState last_button;
+
+ protected:
+ void mousePressEvent( QMouseEvent* e );
+ void mouseReleaseEvent( QMouseEvent* e );
+
+ void drawButton( QPainter *p );
+ void drawButtonLabel( QPainter * ) {;}
+
+ private:
+ int m_realizeButtons;
+ IceWMClient* client;
+ QPixmap* (*pix)[2]; // Points to active/inactive pixmap array
+};
+
+
+class IceWMClient : public KDecoration
+{
+ Q_OBJECT
+ public:
+ IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory );
+ ~IceWMClient();
+
+ virtual void init();
+ virtual void resize(const QSize&);
+ virtual bool eventFilter( QObject* o, QEvent* e );
+
+ protected:
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+ void showEvent( QShowEvent* );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void wheelEvent( QWheelEvent * );
+ virtual void captionChange();
+ virtual void maximizeChange();
+ virtual void shadeChange();
+ virtual void activeChange();
+ // void shadeChange(bool); /* KWin Client class doesn't provide this yet */
+ Position mousePosition( const QPoint& ) const;
+ void renderMenuIcons();
+ void iconChange();
+ virtual void desktopChange( );
+ virtual void borders(int&, int&, int&, int&) const;
+ virtual QSize minimumSize() const;
+
+ protected slots:
+ void slotMaximize();
+ void menuButtonPressed();
+ void menuButtonReleased();
+ void toggleShade();
+
+ private:
+ // These are all the icewm button types :)
+ enum Buttons{ BtnSysMenu=0, BtnClose, BtnMaximize, BtnMinimize,
+ BtnHide, BtnRollup, BtnDepth, BtnCount };
+
+ QString shortenCaption( const QString* s );
+ void calcHiddenButtons();
+ int titleTextWidth( const QString& s );
+ void addClientButtons( const QString& s );
+ QSpacerItem* addPixmapSpacer( QPixmap* p[],
+ QSizePolicy::SizeType = QSizePolicy::Maximum, int hsize = -1 );
+
+ IceWMButton* button[ IceWMClient::BtnCount ];
+ QPixmap* menuButtonWithIconPix[2];
+ QSpacerItem* titleSpacerJ;
+ QSpacerItem* titleSpacerL;
+ QSpacerItem* titleSpacerS;
+ QSpacerItem* titleSpacerP;
+ QSpacerItem* titlebar;
+ QSpacerItem* titleSpacerM;
+ QSpacerItem* titleSpacerB;
+ QSpacerItem* titleSpacerR;
+ QSpacerItem* titleSpacerQ;
+ QBoxLayout* hb;
+ QGridLayout* grid;
+ bool m_closing;
+};
+
+}
+
+#endif
+
+// vim: ts=4
diff --git a/kwin-styles/kde1/Makefile.am b/kwin-styles/kde1/Makefile.am
new file mode 100644
index 00000000..9c25f718
--- /dev/null
+++ b/kwin-styles/kde1/Makefile.am
@@ -0,0 +1,16 @@
+
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin3_kde1.la
+
+kwin3_kde1_la_SOURCES = kde1client.cpp
+kwin3_kde1_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_kde1_la_LIBADD = -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = kde1client.h
+
+lnkdir = $(kde_datadir)/kwin/
+lnk_DATA = kde1.desktop
+EXTRA_DIST = $(lnk_DATA)
+
diff --git a/kwin-styles/kde1/kde1.desktop b/kwin-styles/kde1/kde1.desktop
new file mode 100644
index 00000000..d0f13924
--- /dev/null
+++ b/kwin-styles/kde1/kde1.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=KDE 1
+Name[fa]=KDE ۱
+Name[hi]=केडीई 1
+Name[ne]=केडीई १
+Name[th]=โปรแกรมจัดการหน้าต่าง KDE 1
+X-KDE-Library=kwin3_kde1
diff --git a/kwin-styles/kde1/kde1client.cpp b/kwin-styles/kde1/kde1client.cpp
new file mode 100644
index 00000000..39ba9605
--- /dev/null
+++ b/kwin-styles/kde1/kde1client.cpp
@@ -0,0 +1,809 @@
+/*****************************************************************
+kwin - the KDE window manager
+
+Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
+******************************************************************/
+#include "kde1client.h"
+#include <qcursor.h>
+#include <qlayout.h>
+#include <qtoolbutton.h>
+#include <qlabel.h>
+#include <qdrawutil.h>
+#include <qbitmap.h>
+#include <kdrawutil.h>
+#include <klocale.h>
+#include <kpixmap.h>
+#include <qdatetime.h>
+#include <qimage.h>
+#include <qtooltip.h>
+
+#include "kde1client_bitmaps.h"
+
+// Default button layout
+const char default_left[] = "MS";
+const char default_right[] = "H_IAX";
+
+namespace KDE1
+{
+
+QPixmap* close_pix = 0;
+QPixmap* maximize_pix = 0;
+QPixmap* minimize_pix = 0;
+QPixmap* normalize_pix = 0;
+QPixmap* pinup_pix = 0;
+QPixmap* pindown_pix = 0;
+QPixmap* menu_pix = 0;
+QPixmap* question_mark_pix = 0;
+
+QPixmap* dis_close_pix = 0;
+QPixmap* dis_maximize_pix = 0;
+QPixmap* dis_minimize_pix = 0;
+QPixmap* dis_normalize_pix = 0;
+QPixmap* dis_pinup_pix = 0;
+QPixmap* dis_pindown_pix = 0;
+QPixmap* dis_menu_pix = 0;
+QPixmap* dis_question_mark_pix = 0;
+
+QPixmap* titleBuffer = 0;
+
+bool pixmaps_created = FALSE;
+
+inline const KDecorationOptions* options() { return KDecoration::options(); }
+
+void create_pixmaps()
+{
+ if ( pixmaps_created )
+ return;
+ pixmaps_created = true;
+ QColorGroup aGrp = options()->colorGroup(KDecorationOptions::ColorButtonBg, true);
+ QColorGroup iGrp = options()->colorGroup(KDecorationOptions::ColorButtonBg, false);
+
+ QPainter aPainter, iPainter;
+ close_pix = new QPixmap(16, 16);
+ dis_close_pix = new QPixmap(16, 16);
+ aPainter.begin(close_pix); iPainter.begin(dis_close_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, close_white_bits,
+ NULL, NULL, close_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, close_white_bits,
+ NULL, NULL, close_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ close_pix->setMask(QBitmap(16, 16, close_mask_bits, true));
+ dis_close_pix->setMask(*close_pix->mask());
+
+ minimize_pix = new QPixmap(16, 16);
+ dis_minimize_pix = new QPixmap(16, 16);
+ aPainter.begin(minimize_pix); iPainter.begin(dis_minimize_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, iconify_white_bits,
+ NULL, NULL, iconify_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, iconify_white_bits,
+ NULL, NULL, iconify_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ minimize_pix->setMask(QBitmap(16, 16, iconify_mask_bits, true));
+ dis_minimize_pix->setMask(*minimize_pix->mask());
+
+ maximize_pix = new QPixmap(16, 16);
+ dis_maximize_pix = new QPixmap(16, 16);
+ aPainter.begin(maximize_pix); iPainter.begin(dis_maximize_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, maximize_white_bits,
+ NULL, NULL, maximize_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, maximize_white_bits,
+ NULL, NULL, maximize_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ maximize_pix->setMask(QBitmap(16, 16, maximize_mask_bits, true));
+ dis_maximize_pix->setMask(*maximize_pix->mask());
+
+ normalize_pix = new QPixmap(16, 16);
+ dis_normalize_pix = new QPixmap(16, 16);
+ aPainter.begin(normalize_pix); iPainter.begin(dis_normalize_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, maximizedown_white_bits,
+ NULL, NULL, maximizedown_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, maximizedown_white_bits,
+ NULL, NULL, maximizedown_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ normalize_pix->setMask(QBitmap(16, 16, maximizedown_mask_bits, true));
+ dis_normalize_pix->setMask(*normalize_pix->mask());
+
+ menu_pix = new QPixmap(16, 16);
+ dis_menu_pix = new QPixmap(16, 16);
+ aPainter.begin(menu_pix); iPainter.begin(dis_menu_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, menu_white_bits,
+ NULL, NULL, menu_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, menu_white_bits,
+ NULL, NULL, menu_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ menu_pix->setMask(QBitmap(16, 16, menu_mask_bits, true));
+ dis_menu_pix->setMask(*menu_pix->mask());
+
+ pinup_pix = new QPixmap(16, 16);
+ dis_pinup_pix = new QPixmap(16, 16);
+ aPainter.begin(pinup_pix); iPainter.begin(dis_pinup_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, pinup_white_bits,
+ pinup_gray_bits, NULL, pinup_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, pinup_white_bits,
+ pinup_gray_bits, NULL, pinup_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ pinup_pix->setMask(QBitmap(16, 16, pinup_mask_bits, true));
+ dis_pinup_pix->setMask(*pinup_pix->mask());
+
+ pindown_pix = new QPixmap(16, 16);
+ dis_pindown_pix = new QPixmap(16, 16);
+ aPainter.begin(pindown_pix); iPainter.begin(dis_pindown_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, pindown_white_bits,
+ pindown_gray_bits, NULL, pindown_dgray_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, pindown_white_bits,
+ pindown_gray_bits, NULL, pindown_dgray_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ pindown_pix->setMask(QBitmap(16, 16, pindown_mask_bits, true));
+ dis_pindown_pix->setMask(*pindown_pix->mask());
+
+ question_mark_pix = new QPixmap(16, 16);
+ dis_question_mark_pix = new QPixmap(16, 16);
+ aPainter.begin(question_mark_pix); iPainter.begin(dis_question_mark_pix);
+ kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, help_light_bits,
+ NULL, NULL, help_dark_bits, NULL, NULL);
+ kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, help_light_bits,
+ NULL, NULL, help_dark_bits, NULL, NULL);
+ aPainter.end(); iPainter.end();
+ question_mark_pix->setMask(QBitmap(16, 16, help_mask_bits, true));
+ dis_question_mark_pix->setMask(*question_mark_pix->mask());
+
+ titleBuffer = new KPixmap;
+}
+
+void delete_pixmaps()
+{
+ delete close_pix;
+ delete maximize_pix;
+ delete minimize_pix;
+ delete normalize_pix;
+ delete pinup_pix;
+ delete pindown_pix;
+ delete menu_pix;
+ delete question_mark_pix;
+ delete dis_close_pix;
+ delete dis_maximize_pix;
+ delete dis_minimize_pix;
+ delete dis_normalize_pix;
+ delete dis_pinup_pix;
+ delete dis_pindown_pix;
+ delete dis_menu_pix;
+ delete dis_question_mark_pix;
+ delete titleBuffer;
+ pixmaps_created = false;
+}
+
+void drawGradient
+(
+ QPainter & p,
+ const QRect & t,
+ const QColor & c1,
+ const QColor & c2
+)
+{
+ // Don't draw a million vertical lines if we don't need to.
+
+ if (c1 == c2 || QPixmap::defaultDepth() <= 8)
+ {
+ p.fillRect(t, c1);
+ return;
+ }
+
+ // rikkus: Adapted from KPixmapEffect::gradient().
+
+ int rca = c1.red();
+ int gca = c1.green();
+ int bca = c1.blue();
+
+ int rDiff = c2.red() - rca;
+ int gDiff = c2.green() - gca;
+ int bDiff = c2.blue() - bca;
+
+ int rl = rca << 16;
+ int gl = gca << 16;
+ int bl = bca << 16;
+
+ int rcdelta = ((1 << 16) / t.width()) * rDiff;
+ int gcdelta = ((1 << 16) / t.width()) * gDiff;
+ int bcdelta = ((1 << 16) / t.width()) * bDiff;
+
+ for (int x = 0; x < t.width(); x++)
+ {
+ rl += rcdelta;
+ gl += gcdelta;
+ bl += bcdelta;
+
+ p.setPen(QColor(rl >> 16, gl >> 16, bl >> 16));
+
+ p.drawLine(t.x() + x, 0, t.x() + x, t.y() + t.height() - 1);
+ }
+}
+
+
+void StdClient::reset( unsigned long )
+{
+ if (button[ButtonMenu] && (icon().pixmap( QIconSet::Small, QIconSet::Normal ).isNull()))
+ button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
+ if (button[ButtonSticky])
+ button[ButtonSticky]->setIconSet(isOnAllDesktops() ? isActive() ? *pindown_pix : *dis_pindown_pix :
+ isActive() ? *pinup_pix : *dis_pinup_pix );
+ if (button[ButtonMinimize])
+ button[ButtonMinimize]->setIconSet(isActive() ? *minimize_pix : *dis_minimize_pix);
+ if (button[ButtonMaximize])
+ button[ButtonMaximize]->setIconSet(isActive() ? *maximize_pix : *dis_maximize_pix);
+ if (button[ButtonClose])
+ button[ButtonClose]->setIconSet(isActive() ? *close_pix : *dis_close_pix);
+ if (button[ButtonHelp])
+ button[ButtonHelp]->setIconSet(isActive() ? *question_mark_pix : *dis_question_mark_pix);
+
+ widget()->setFont(options()->font(true));
+}
+
+
+StdClient::StdClient( KDecorationBridge* b, KDecorationFactory* f )
+ : KDecoration( b, f )
+{
+}
+
+void StdClient::init()
+{
+ createMainWidget();
+ widget()->installEventFilter( this );
+
+ widget()->setFont(options()->font(isActive() ));
+
+ QGridLayout* g = new QGridLayout( widget(), 0, 0, 3, 2 );
+ g->setRowStretch( 1, 10 );
+ if( isPreview())
+ g->addWidget( new QLabel( i18n( "<center><b>KDE 1 preview</b></center>" ), widget()), 1, 1 );
+ else
+ g->addItem( new QSpacerItem( 0, 0 ), 1, 1 ); //no widget in the middle
+ g->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+
+ g->addColSpacing(0, 1);
+ g->addColSpacing(2, 1);
+ g->addRowSpacing(2, 1);
+
+ int fh = widget()->fontMetrics().lineSpacing();
+ titlebar = new QSpacerItem(10, fh, QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+
+ QBoxLayout* hb = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ g->addLayout( hb, 0, 1 );
+
+ // setup titlebar buttons
+ for (int n=0; n<ButtonTypeCount; n++) button[n] = 0;
+ addButtons(hb, options()->customButtonPositions() ? options()->titleButtonsLeft() : QString(default_left));
+ hb->addItem(titlebar);
+ addButtons(hb, options()->customButtonPositions() ? options()->titleButtonsRight() : QString(default_right));
+
+ for (int n=0; n<ButtonTypeCount; n++) {
+ if ( !button[n] )
+ continue;
+ button[n]->setBackgroundMode( PaletteBackground );
+ button[n]->setMouseTracking( FALSE );
+ button[n]->setAutoRaise( TRUE );
+ button[n]->setFocusPolicy( QWidget::NoFocus );
+ button[n]->setFixedSize( 20, 20 );
+ }
+
+#if 0 // not sure what this is supposed to mean (and why)
+ if ( isTransient() ) {
+ // lighter decoration for transient windows
+ button[1]->hide();
+// button[2]->hide();
+ button[3]->hide();
+ button[4]->hide();
+ }
+#endif
+}
+
+void StdClient::addButtons(QBoxLayout *hb, const QString& s)
+{
+ if (s.length() > 0) {
+ for (unsigned n=0; n < s.length(); n++) {
+ switch (s[n]) {
+ case 'M': // Menu button
+ if (!button[ButtonMenu]) {
+ button[ButtonMenu] = new QToolButton( widget(), 0 );
+ QToolTip::add( button[ButtonMenu], i18n("Menu") );
+ button[ButtonMenu]->setCursor(ArrowCursor);
+ if( icon().pixmap( QIconSet::Small, QIconSet::Normal ).isNull())
+ button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
+ else
+ button[ButtonMenu]->setIconSet( icon().pixmap( QIconSet::Small, QIconSet::Normal ));
+ connect( button[0], SIGNAL( pressed() ), this, SLOT( menuButtonPressed() ) );
+ hb->addWidget(button[ButtonMenu]);
+ }
+ break;
+
+ case 'S': // Sticky button
+ if (!button[ButtonSticky]) {
+ button[ButtonSticky] = new QToolButton( widget(), 0 );
+ button[ButtonSticky]->setIconSet( isOnAllDesktops()?*pindown_pix:*pinup_pix );
+ QToolTip::add( button[ButtonSticky], isOnAllDesktops()?i18n("Not On All Desktops"):i18n("On All Desktops") );
+ button[ButtonSticky]->setCursor(ArrowCursor);
+ button[ButtonSticky]->setIconSet(isOnAllDesktops() ? isActive() ? *pindown_pix : *dis_pindown_pix :
+ isActive() ? *pinup_pix : *dis_pinup_pix );
+ connect( button[ButtonSticky], SIGNAL( clicked() ), this, ( SLOT( toggleOnAllDesktops() ) ) );
+ hb->addWidget(button[ButtonSticky]);
+ }
+ break;
+
+ case 'H': // Help button
+ if ((!button[ButtonHelp]) && providesContextHelp()) {
+ button[ButtonHelp] = new QToolButton( widget(), 0 );
+ QToolTip::add( button[ButtonHelp], i18n("Help") );
+ button[ButtonHelp]->setIconSet( isActive() ? *question_mark_pix : *dis_question_mark_pix);
+ connect( button[ButtonHelp], SIGNAL( clicked() ), this, ( SLOT( showContextHelp() ) ) );
+ button[ButtonHelp]->setCursor(ArrowCursor);
+ hb->addWidget(button[ButtonHelp]);
+ }
+ break;
+
+ case 'I': // Minimize button
+ if ((!button[ButtonMinimize]) && isMinimizable()) {
+ button[ButtonMinimize] = new QToolButton( widget(), 0 );
+ QToolTip::add( button[ButtonMinimize], i18n("Minimize") );
+ button[ButtonMinimize]->setCursor(ArrowCursor);
+ button[ButtonMinimize]->setIconSet(isActive() ? *minimize_pix : *dis_minimize_pix);
+ connect( button[ButtonMinimize], SIGNAL( clicked() ), this, ( SLOT( minimize() ) ) );
+ hb->addWidget(button[ButtonMinimize]);
+ }
+ break;
+
+ case 'A': // Maximize button
+ if ((!button[ButtonMaximize]) && isMaximizable()) {
+ const bool max = maximizeMode()!=MaximizeRestore;
+ button[ButtonMaximize] = new ThreeButtonButton( widget(), 0 );
+ QToolTip::add( button[ButtonMaximize], max?i18n("Restore"):i18n("Maximize") );
+ button[ButtonMaximize]->setCursor(ArrowCursor);
+ button[ButtonMaximize]->setIconSet( max?(isActive() ? *normalize_pix : *dis_normalize_pix):(isActive() ? *maximize_pix : *dis_maximize_pix) );
+ connect( button[ButtonMaximize], SIGNAL( clicked(ButtonState) ),
+ this, ( SLOT( maxButtonClicked(ButtonState) ) ) );
+ hb->addWidget(button[ButtonMaximize]);
+ }
+ break;
+
+ case 'X': // Close button
+ if ((!button[ButtonClose]) && isCloseable()) {
+ button[ButtonClose] = new QToolButton( widget(), 0 );
+ QToolTip::add( button[ButtonClose], i18n("Close") );
+ button[ButtonClose]->setCursor(ArrowCursor);
+ button[ButtonClose]->setIconSet(isActive() ? *close_pix : *dis_close_pix);
+ connect( button[ButtonClose], SIGNAL( clicked() ), this, ( SLOT( closeWindow() ) ) );
+ hb->addWidget(button[ButtonClose]);
+ }
+ break;
+
+ case '_': // Spacer item
+ hb->addItem( new QSpacerItem( 5, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+ }
+ }
+ }
+}
+
+void StdClient::activeChange()
+{
+ bool on = isActive();
+ if (button[ButtonMenu] && (icon().pixmap( QIconSet::Small, QIconSet::Normal ).isNull()))
+ button[ButtonMenu]->setIconSet(on ? *menu_pix : *dis_menu_pix);
+ if (button[ButtonSticky])
+ button[ButtonSticky]->setIconSet(isOnAllDesktops() ? on ? *pindown_pix : *dis_pindown_pix :
+ on ? *pinup_pix : *dis_pinup_pix );
+ if (button[ButtonMinimize])
+ button[ButtonMinimize]->setIconSet(on ? *minimize_pix : *dis_minimize_pix);
+ if (button[ButtonMaximize])
+ button[ButtonMaximize]->setIconSet(on ? *maximize_pix : *dis_maximize_pix);
+ if (button[ButtonClose])
+ button[ButtonClose]->setIconSet(on ? *close_pix : *dis_close_pix);
+ if (button[ButtonHelp])
+ button[ButtonHelp]->setIconSet(on ? *question_mark_pix : *dis_question_mark_pix);
+ widget()->repaint( titlebar->geometry(), false );
+}
+
+
+StdClient::~StdClient()
+{
+ for (int n=0; n<ButtonTypeCount; n++) {
+ if (button[n]) delete button[n];
+ }
+}
+
+
+void StdClient::resizeEvent( QResizeEvent* )
+{
+ QRegion rr = widget()->rect();
+ QRect t = titlebar->geometry();
+// t.setTop( 0 );
+// QRegion r = rr.subtract( QRect( t.x()+1, 0, t.width()-2, 1 ) );
+// setMask( r );
+
+ if ( widget()->isVisibleToTLW() && !widget()->testWFlags( WStaticContents )) {
+ // manual clearing without the titlebar (we selected WResizeNoErase )
+ QRect cr( 2, 2, width()-4, height()- 4 );
+ widget()->erase( QRegion( cr ).subtract( t ) );
+ }
+}
+
+/*!\reimp
+ */
+void StdClient::captionChange()
+{
+ widget()->repaint( titlebar->geometry(), FALSE );
+}
+
+
+/*!\reimp
+ */
+void StdClient::maximizeChange()
+{
+ bool m = maximizeMode() == MaximizeFull;
+ if (button[ButtonMaximize]) {
+ button[ButtonMaximize]->setIconSet( m?*normalize_pix:*maximize_pix );
+ QToolTip::remove( button[ButtonMaximize] );
+ QToolTip::add( button[ButtonMaximize], m ? i18n("Restore") : i18n("Maximize") );
+ }
+}
+
+
+/*!\reimp
+ */
+void StdClient::desktopChange()
+{
+ bool s = isOnAllDesktops();
+ if (button[ButtonSticky]) {
+ button[ButtonSticky]->setIconSet( s?*pindown_pix:*pinup_pix );
+ QToolTip::remove( button[ButtonSticky] );
+ QToolTip::add( button[ButtonSticky], s ? i18n("Not On All Desktops") : i18n("On All Desktops") );
+ }
+}
+
+void StdClient::paintEvent( QPaintEvent* )
+{
+ QPainter p( widget() );
+ QRect t = titlebar->geometry();
+ QRegion r = widget()->rect();
+ r = r.subtract( t );
+ p.setClipRegion( r );
+ qDrawWinPanel( &p, widget()->rect(), widget()->colorGroup() );
+// t.setTop( 1 );
+// p.setClipRegion( t );
+// t.setTop( 0 );
+
+ QRect titleRect( 0, 0, t.width(), t.height() );
+ titleBuffer->resize( titleRect.width(), titleRect.height() );
+ QPainter p2( titleBuffer );
+
+ drawGradient(p2, titleRect, options()->color(KDecorationOptions::ColorTitleBar, isActive()),
+ options()->color(KDecorationOptions::ColorTitleBlend, isActive()));
+// p.setPen( options()->color(KDecorationOptions::ColorTitleBar, isActive()).light() );
+// p.drawLine(t.left(), t.top()+1, t.right(), t.top()+1);
+ if ( isActive() )
+ qDrawShadePanel( &p2, 0, 0, titleRect.width(), titleRect.height(),
+ widget()->colorGroup(), true, 1 );
+ titleRect.setLeft( 4 );
+ titleRect.setWidth( titleRect.width() - 2 );
+ p2.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
+ p2.setFont(options()->font(isActive()));
+ p2.drawText( titleRect, AlignLeft|AlignVCenter|SingleLine, caption() );
+ p2.end();
+ p.end();
+ bitBlt( widget(), t.topLeft(), titleBuffer );
+}
+
+
+void StdClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ titlebarDblClickOperation();
+}
+
+
+void StdClient::wheelEvent( QWheelEvent * e )
+{
+ if (isSetShade() || QRect( 0, 0, width(), titlebar->geometry().height() ).contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+
+void StdClient::iconChange()
+{
+ if (button[ButtonMenu]) {
+ if ( icon().pixmap( QIconSet::Small, QIconSet::Normal ).isNull())
+ button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
+ else
+ button[ButtonMenu]->setIconSet( icon().pixmap( QIconSet::Small, QIconSet::Normal ) );
+ button[ButtonMenu]->repaint( FALSE );
+ }
+}
+
+
+/*!
+ Indicates that the menu button has been clicked. One press shows
+ the window operation menu, a double click closes the window.
+ */
+void StdClient::menuButtonPressed()
+{
+ QRect menuRect = button[ButtonMenu]->rect();
+ menuRect.addCoords(-1, 0, +1, +2);
+ QPoint menuTop = button[ButtonMenu]->mapToGlobal(menuRect.topLeft());
+ QPoint menuBottom = button[ButtonMenu]->mapToGlobal(menuRect.bottomRight());
+ KDecorationFactory* f = factory(); // needs to be saved before
+ showWindowMenu( QRect(menuTop, menuBottom) );
+ if( !f->exists( this )) // destroyed, return immediately
+ return;
+ button[ButtonMenu]->setDown(false);
+}
+
+
+void StdClient::maxButtonClicked( ButtonState button )
+{
+ maximize( button );
+}
+
+bool StdClient::eventFilter( QObject* o, QEvent* e )
+{
+ if ( o != widget() )
+ return false;
+
+ switch ( e->type() ) {
+ case QEvent::Resize:
+ resizeEvent( static_cast< QResizeEvent* >( e ) );
+ return true;
+
+ case QEvent::Paint:
+ paintEvent( static_cast< QPaintEvent* >( e ) );
+ return true;
+
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent( static_cast< QMouseEvent* >( e ) );
+ return true;
+
+ case QEvent::MouseButtonPress:
+ processMousePressEvent( static_cast< QMouseEvent* >( e ) );
+ return true;
+
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+QSize StdClient::minimumSize() const
+{
+ return widget()->minimumSize().expandedTo( QSize( 100, 50 ));
+}
+
+void StdClient::borders( int& left, int& right, int& top, int& bottom ) const
+{
+ left = right = bottom = 6;
+ top = 6 + widget()->fontMetrics().lineSpacing()+2;
+}
+
+void StdClient::resize( const QSize& s )
+{
+ widget()->resize( s );
+}
+
+StdToolClient::StdToolClient( KDecorationBridge* b, KDecorationFactory* f )
+ : KDecoration( b, f )
+{
+}
+
+void StdToolClient::init()
+{
+ createMainWidget();
+ widget()->installEventFilter( this );
+
+ widget()->setFont(options()->font(isActive(), true ));
+
+ QGridLayout* g = new QGridLayout( widget(), 0, 0, 2 );
+ g->setRowStretch( 1, 10 );
+ if( isPreview())
+ g->addWidget( new QLabel( i18n( "<center><b>KDE 1 decoration</b></center>" ), widget()), 1, 1 );
+ else
+ g->addItem( new QSpacerItem( 0, 0 ), 1, 1 ); //no widget in the middle
+ g->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+
+ g->addColSpacing(0, 1);
+ g->addColSpacing(2, 1);
+ g->addRowSpacing(2, 1);
+
+ closeBtn = new QToolButton( widget(), 0 );
+ QToolTip::add( closeBtn, i18n("Close") );
+ connect( closeBtn, SIGNAL( clicked() ), this, ( SLOT( closeWindow() ) ) );
+ closeBtn->setFixedSize( 13, 13);
+ reset( -1U );
+
+ QHBoxLayout* hb = new QHBoxLayout;
+ g->addLayout( hb, 0, 1 );
+
+ int fh = widget()->fontMetrics().lineSpacing()+2;
+
+ titlebar = new QSpacerItem(10, fh, QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ hb->addItem( titlebar );
+ hb->addWidget( closeBtn );
+}
+
+StdToolClient::~StdToolClient()
+{
+}
+
+void StdToolClient::resizeEvent( QResizeEvent* )
+{
+// QRegion r = rect();
+// QRect t = titlebar->geometry();
+// t.setTop( 0 );
+// r = r.subtract( QRect(0, 0, width(), 1) );
+// r = r.subtract (QRect( 0, 0, 1, t.height() ) );
+// r = r.subtract (QRect( width()-1, 0, 1, t.height() ) );
+// setMask( r );
+}
+
+void StdToolClient::paintEvent( QPaintEvent* )
+{
+ QPainter p( widget() );
+ QRect t = titlebar->geometry();
+ QRect r = widget()->rect();
+ qDrawWinPanel( &p, r, widget()->colorGroup() );
+ r.setTop( t.bottom()+1 );
+ qDrawWinPanel( &p, r, widget()->colorGroup() );
+ p.fillRect( QRect( QPoint(t.topLeft() ), QPoint( width() - t.left(), t.bottom() ) ),
+ options()->color(KDecorationOptions::ColorTitleBar, isActive()));
+ p.setPen( options()->color(KDecorationOptions::ColorTitleBar, isActive()).light() );
+ t.setLeft( t.left() + 4 );
+ t.setRight( t.right() - 2 );
+ p.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
+ p.setFont(options()->font(isActive(), true));
+ p.drawText( t, AlignLeft|AlignVCenter|SingleLine, caption() );
+}
+
+
+void StdToolClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ titlebarDblClickOperation();
+}
+
+void StdToolClient::wheelEvent( QWheelEvent * e )
+{
+ if (isSetShade() || QRect( 0, 0, width(), titlebar->geometry().height() ).contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void StdToolClient::captionChange()
+{
+ widget()->repaint( titlebar->geometry(), FALSE );
+}
+
+void StdToolClient::reset( unsigned long )
+{
+ QImage img = close_pix->convertToImage();
+ img = img.smoothScale( 12, 12 );
+ QPixmap pm;
+ pm.convertFromImage( img );
+ closeBtn->setPixmap( pm );
+ widget()->setFont(options()->font(isActive(), true ));
+}
+
+bool StdToolClient::eventFilter( QObject* o, QEvent* e )
+{
+ if ( o != widget() )
+ return false;
+
+ switch ( e->type() ) {
+ case QEvent::Resize:
+ resizeEvent( static_cast< QResizeEvent* >( e ) );
+ return true;
+
+ case QEvent::Paint:
+ paintEvent( static_cast< QPaintEvent* >( e ) );
+ return true;
+
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent( static_cast< QMouseEvent* >( e ) );
+ return true;
+
+ case QEvent::MouseButtonPress:
+ processMousePressEvent( static_cast< QMouseEvent* >( e ) );
+ return true;
+
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+QSize StdToolClient::minimumSize() const
+{
+ return widget()->minimumSize().expandedTo( QSize( 100, 50 ));
+}
+
+void StdToolClient::borders( int& left, int& right, int& top, int& bottom ) const
+{
+ left = right = bottom = 6;
+ top = 6 + widget()->fontMetrics().lineSpacing();
+}
+
+void StdToolClient::resize( const QSize& s )
+{
+ widget()->resize( s );
+}
+
+StdFactory::StdFactory()
+{
+ create_pixmaps();
+}
+
+StdFactory::~StdFactory()
+{
+ delete_pixmaps();
+}
+
+const int SUPPORTED_WINDOW_TYPES_MASK = NET::NormalMask | NET::DesktopMask | NET::DockMask
+ | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask
+ | NET::UtilityMask | NET::SplashMask;
+
+KDecoration* StdFactory::createDecoration( KDecorationBridge* b )
+{
+ NET::WindowType type = windowType( SUPPORTED_WINDOW_TYPES_MASK, b );
+ if( type == NET::Utility || type == NET::Menu || type == NET::Toolbar )
+ return new StdToolClient( b, this );
+ return new StdClient( b, this );
+}
+
+bool StdFactory::reset( unsigned long mask )
+{
+ bool needHardReset = false;
+
+ // doesn't obey the Border size setting
+ if( mask & ( SettingFont | SettingButtons ))
+ needHardReset = true;
+
+ if( mask & ( SettingFont | SettingColors )) {
+ KDE1::delete_pixmaps();
+ KDE1::create_pixmaps();
+ }
+
+ if( !needHardReset )
+ resetDecorations( mask );
+ return needHardReset;
+}
+
+bool StdFactory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonMenu:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ case AbilityButtonSpacer:
+ return true;
+ default:
+ return false;
+ };
+}
+
+
+}
+
+extern "C"
+{
+ KDE_EXPORT KDecorationFactory *create_factory()
+ {
+ return new KDE1::StdFactory();
+ }
+}
+
+#include "kde1client.moc"
diff --git a/kwin-styles/kde1/kde1client.h b/kwin-styles/kde1/kde1client.h
new file mode 100644
index 00000000..27a246dd
--- /dev/null
+++ b/kwin-styles/kde1/kde1client.h
@@ -0,0 +1,155 @@
+/*****************************************************************
+kwin - the KDE window manager
+
+Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
+******************************************************************/
+#ifndef STDCLIENT_H
+#define STDCLIENT_H
+#include <qlayout.h>
+#include <qvariant.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+#include <qtoolbutton.h>
+class QLabel;
+class QSpacerItem;
+
+namespace KDE1 {
+
+enum ButtonType {
+ ButtonMenu=0,
+ ButtonSticky,
+ ButtonMinimize,
+ ButtonMaximize,
+ ButtonClose,
+ ButtonHelp,
+ ButtonTypeCount
+};
+
+class StdClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ StdClient( KDecorationBridge* b, KDecorationFactory* f );
+ ~StdClient();
+ void init();
+ QSize minimumSize() const;
+ void borders( int& left, int& right, int& top, int& bottom ) const;
+ void reset( unsigned long mask );
+ void resize( const QSize& s );
+ void shadeChange() {};
+ Position mousePosition( const QPoint& p ) const { return KDecoration::mousePosition( p ); }
+protected:
+ bool eventFilter( QObject* o, QEvent* e );
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void wheelEvent( QWheelEvent * );
+ void captionChange();
+ void iconChange();
+ void maximizeChange();
+ void desktopChange();
+ void activeChange();
+
+private:
+ void addButtons(QBoxLayout* hb, const QString& buttons);
+
+private slots:
+ void menuButtonPressed();
+ void maxButtonClicked( ButtonState );
+
+private:
+ QToolButton* button[ButtonTypeCount];
+ QSpacerItem* titlebar;
+};
+
+class StdToolClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ StdToolClient( KDecorationBridge* b, KDecorationFactory* f );
+ ~StdToolClient();
+ void init();
+ QSize minimumSize() const;
+ void borders( int& left, int& right, int& top, int& bottom ) const;
+ void reset( unsigned long mask );
+ void resize( const QSize& s );
+ void shadeChange() {};
+ void activeChange() {};
+ void iconChange() {};
+ void maximizeChange() {};
+ void desktopChange() {};
+ Position mousePosition( const QPoint& p ) const { return KDecoration::mousePosition( p ); }
+protected:
+ bool eventFilter( QObject* o, QEvent* e );
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void wheelEvent( QWheelEvent * );
+ void captionChange();
+
+private:
+ QToolButton* closeBtn;
+ QSpacerItem* titlebar;
+};
+
+
+
+/*
+ Like QToolButton, but provides a clicked(ButtonState) signals that
+ has the last pressed mouse button as argument
+ */
+class ThreeButtonButton: public QToolButton
+{
+ Q_OBJECT
+public:
+ ThreeButtonButton ( QWidget *parent = 0, const char* name = 0 )
+ : QToolButton( parent, name )
+ {
+ connect( this, SIGNAL( clicked() ), this, SLOT( handleClicked() ) );
+ setCursor( arrowCursor );
+ }
+ ~ThreeButtonButton () {}
+
+signals:
+ void clicked( ButtonState );
+
+protected:
+ void mousePressEvent( QMouseEvent* e )
+ {
+ last_button = e->button();
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() );
+ QToolButton::mousePressEvent( &me );
+ }
+
+ void mouseReleaseEvent( QMouseEvent* e )
+ {
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() );
+ QToolButton::mouseReleaseEvent( &me );
+ }
+
+private slots:
+ void handleClicked()
+ {
+ emit clicked( last_button );
+ }
+
+private:
+ ButtonState last_button;
+
+};
+
+class StdFactory : public KDecorationFactory
+{
+public:
+ StdFactory();
+ ~StdFactory();
+ KDecoration* createDecoration( KDecorationBridge* b );
+ bool reset( unsigned long mask );
+ virtual bool supports( Ability ability );
+};
+
+}
+
+#endif
diff --git a/kwin-styles/kde1/kde1client_bitmaps.h b/kwin-styles/kde1/kde1client_bitmaps.h
new file mode 100644
index 00000000..8b1cb377
--- /dev/null
+++ b/kwin-styles/kde1/kde1client_bitmaps.h
@@ -0,0 +1,149 @@
+#ifndef __STDCLIENT_BITMAPS_H
+#define __STDCLIENT_BITMAPS_H
+
+/**
+ * The standard client has the capability to color it's titlebar buttons
+ * according to the new color scheme. In order to do this it needs a bitmap
+ * for each shade which it draws into a pixmap with the appropriate color.
+ * These are all the bitmaps.
+ */
+
+static const unsigned char close_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0x08, 0x08, 0x04, 0x10, 0x02,
+ 0x20, 0x01, 0x40, 0x00, 0x40, 0x00, 0x20, 0x01, 0x10, 0x02, 0x08, 0x04,
+ 0x04, 0x08, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char close_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x18, 0x30, 0x30, 0x18, 0x60, 0x0c,
+ 0xc0, 0x06, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x06, 0x60, 0x0c, 0x30, 0x18,
+ 0x18, 0x30, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char close_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x1c, 0x38, 0x38, 0x1c, 0x70, 0x0e,
+ 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0x70, 0x0e, 0x38, 0x1c,
+ 0x1c, 0x38, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char iconify_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char iconify_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+
+static const unsigned char iconify_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x80, 0x02, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximize_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08, 0x04, 0x08,
+ 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0xf4, 0x0f,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximize_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10, 0x08, 0x10,
+ 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10,
+ 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximize_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18, 0x0c, 0x18,
+ 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0xfc, 0x1f,
+ 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximizedown_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10,
+ 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10,
+ 0x08, 0x10, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximizedown_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08,
+ 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08,
+ 0xf4, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximizedown_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18,
+ 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18,
+ 0xfc, 0x1f, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char menu_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x3f, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char menu_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x20, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char menu_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x3f, 0x04, 0x20, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pindown_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x1f, 0xa0, 0x03,
+ 0xb0, 0x01, 0x30, 0x01, 0xf0, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pindown_gray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x80, 0x07, 0xc0, 0x03, 0xe0, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pindown_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x10, 0x70, 0x20, 0x50, 0x20,
+ 0x48, 0x30, 0xc8, 0x38, 0x08, 0x1f, 0x08, 0x18, 0x10, 0x1c, 0x10, 0x0e,
+ 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pindown_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x1f, 0xf0, 0x3f, 0xf0, 0x3f,
+ 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0x0f,
+ 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pinup_white_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x11,
+ 0x3f, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pinup_gray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x0a, 0xbf, 0x0a, 0x80, 0x15, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pinup_dgray_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x40, 0x31, 0x40, 0x2e,
+ 0x40, 0x20, 0x40, 0x20, 0x7f, 0x2a, 0x40, 0x3f, 0xc0, 0x31, 0xc0, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char pinup_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0xc0, 0x31, 0xc0, 0x3f,
+ 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xc0, 0x3f, 0xc0, 0x31, 0xc0, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char help_mask_bits[] = {
+ 0x00,0x00,0x00,0x00,0xe0,0x03,0xf0,0x07,0x70,0x0e,0x60,0x0e,0x00,0x0f,0x80,
+ 0x07,0xc0,0x03,0xc0,0x01,0x80,0x01,0xc0,0x00,0xc0,0x01,0x80,0x01,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x4c,0x0b,0x08,0x58,0x65,0x09,0x08,0x90,0x00,0x00,
+ 0x00,0x09,0x04,0x00,0x00,0x72,0x6f,0x6f,0x74,0x00,0x24,0x31,0x24,0x47,0x6b,
+ 0x65,0x44,0x78,0x63 };
+
+static const unsigned char help_dark_bits[] = {
+ 0x00,0x00,0x00,0x00,0xe0,0x03,0x30,0x06,0x30,0x06,0x00,0x06,0x00,0x03,0x80,
+ 0x01,0xc0,0x00,0xc0,0x00,0x00,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x65,0x64,0x28,0x29,0x00,0x00,0x00,0x00,0x90,0x00,0x00,
+ 0x00,0x21,0x00,0x00,0x00,0x34,0xfe,0x12,0x2b,0x00,0x00,0xff,0xff,0x58,0xc0,
+ 0x01,0x2b,0x45,0xfe };
+
+static const unsigned char help_light_bits[] = {
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x01,0x40,0x08,0x60,0x08,0x00,0x0c,0x00,
+ 0x06,0x00,0x03,0x00,0x01,0x80,0x01,0x00,0x00,0x00,0x01,0x80,0x01,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x4c,0x0b,0x08,0x58,0x65,0x09,0x08,0x90,0x00,0x00,
+ 0x00,0x09,0x04,0x00,0x00,0x72,0x6f,0x6f,0x74,0x00,0x24,0x31,0x24,0x47,0x6b,
+ 0x65,0x44,0x78,0x63 };
+
+#endif
+
diff --git a/kwin-styles/kstep/Makefile.am b/kwin-styles/kstep/Makefile.am
new file mode 100644
index 00000000..89397fad
--- /dev/null
+++ b/kwin-styles/kstep/Makefile.am
@@ -0,0 +1,22 @@
+
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin3_kstep.la
+
+kwin3_kstep_la_SOURCES = nextclient.cpp
+kwin3_kstep_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+#kwin_kstep_la_LDFLAGS = $(all_libraries) -avoid-version -module $(KDE_RPATH) $(KDE_MT_LDFLAGS)
+kwin3_kstep_la_LIBADD = $(LIB_KDEUI) -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = nextclient.h
+
+lnkdir = $(kde_datadir)/kwin/
+lnk_DATA = kstep.desktop
+
+EXTRA_DIST = $(lnk_DATA)
+
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/kstep/kstep.desktop b/kwin-styles/kstep/kstep.desktop
new file mode 100644
index 00000000..bf663c8c
--- /dev/null
+++ b/kwin-styles/kstep/kstep.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=KStep
+Name[cy]=KCam
+Name[hi]=के-स्टेप
+Name[ne]=केडीई चरण
+Name[sv]=Kstep
+Name[ta]=Kஅடி
+Name[th]=ตัวจัดการหน้าต่างสเต็ป - K
+Name[ven]=Tshitepe tsha K
+Name[xh]=Inqwanqwa le K
+Name[zu]=Izinga le K
+X-KDE-Library=kwin3_kstep
diff --git a/kwin-styles/kstep/nextclient.cpp b/kwin-styles/kstep/nextclient.cpp
new file mode 100644
index 00000000..64fb5217
--- /dev/null
+++ b/kwin-styles/kstep/nextclient.cpp
@@ -0,0 +1,987 @@
+#include "nextclient.h"
+#include <qdatetime.h>
+#include <qdrawutil.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qbitmap.h>
+#include <qlabel.h>
+#include <qtooltip.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kpixmapeffect.h>
+
+namespace KStep {
+
+static const unsigned char close_bits[] = {
+ 0x03, 0x03, 0x87, 0x03, 0xce, 0x01, 0xfc, 0x00, 0x78, 0x00, 0x78, 0x00,
+ 0xfc, 0x00, 0xce, 0x01, 0x87, 0x03, 0x03, 0x03};
+
+static const unsigned char iconify_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0xff, 0x03, 0xff, 0x03};
+
+static const unsigned char question_bits[] = {
+ 0x00, 0x00, 0x78, 0x00, 0xcc, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00,
+ 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00};
+
+static const unsigned char sticky_bits[] = {
+ 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00};
+
+static const unsigned char unsticky_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static const unsigned char maximize_bits[] = {
+ 0x30, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x01,
+ 0x02, 0x01, 0x84, 0x00, 0x48, 0x00, 0x30, 0x00 };
+
+static const unsigned char shade_bits[] = {
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x03,0x03,
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00
+};
+
+static const unsigned char unshade_bits[] = {
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x03,0x03,
+ 0x03,0x03,
+ 0x03,0x03,
+ 0x03,0x03,
+ 0x03,0x03,
+ 0x03,0x03,
+ 0xff,0x03,
+ 0xff,0x03
+};
+
+static const unsigned char keep_above_bits[] = {
+ 0x30,0x00,
+ 0x78,0x00,
+ 0xfc,0x00,
+ 0x00,0x00,
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00
+};
+
+static const unsigned char from_above_bits[] = {
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x00,0x00,
+ 0xfc,0x00,
+ 0x78,0x00,
+ 0x30,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00
+};
+
+static const unsigned char keep_below_bits[] = {
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0xff,0x03,
+ 0xff,0x03,
+ 0x00,0x00,
+ 0xfc,0x00,
+ 0x78,0x00,
+ 0x30,0x00
+};
+
+static const unsigned char from_below_bits[] = {
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x30,0x00,
+ 0x78,0x00,
+ 0xfc,0x00,
+ 0x00,0x00,
+ 0xff,0x03,
+ 0xff,0x03
+};
+
+static const unsigned char resize_bits[] = {
+ 0xff, 0x03,
+ 0xff, 0x03,
+ 0x33, 0x03,
+ 0x33, 0x03,
+ 0xf3, 0x03,
+ 0xf3, 0x03,
+ 0x03, 0x03,
+ 0x03, 0x03,
+ 0xff, 0x03,
+ 0xff, 0x03
+};
+
+
+// If the maximize graphic above (which I did quickly in about a
+// minute, just so I could have something) doesn't please, maybe one
+// of the following would be better. IMO it doesn't matter, as long
+// as it's not offensive---people will get used to whatever you use.
+// True NeXT fans won't turn on the maximize button anyway.
+//
+// static const unsigned char maximize_bits[] = {
+// 0xcf, 0x03, 0x87, 0x03, 0xcf, 0x03, 0xfd, 0x02, 0x48, 0x00, 0x48, 0x00,
+// 0xfd, 0x02, 0xcf, 0x03, 0x87, 0x03, 0xcf, 0x03 };
+//
+// static const unsigned char maximize_bits[] = {
+// 0xcf, 0x03, 0x87, 0x03, 0x87, 0x03, 0x79, 0x02, 0x48, 0x00, 0x48, 0x00,
+// 0x79, 0x02, 0x87, 0x03, 0x87, 0x03, 0xcf, 0x03 };
+//
+// static const unsigned char maximize_bits[] = {
+// 0x87, 0x03, 0x03, 0x03, 0xfd, 0x02, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00,
+// 0x84, 0x00, 0xfd, 0x02, 0x03, 0x03, 0x87, 0x03 };
+//
+// static const unsigned char maximize_bits[] = {
+// 0x30, 0x00, 0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x33, 0x03, 0x79, 0x02,
+// 0xcd, 0x02, 0x87, 0x03, 0x03, 0x03, 0x01, 0x02 };
+//
+// static const unsigned char maximize_bits[] = {
+// 0x30, 0x00, 0x78, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfe, 0x01,
+// 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
+
+
+static KPixmap *aTitlePix;
+static KPixmap *iTitlePix;
+static KPixmap *aFramePix;
+static KPixmap *iFramePix;
+static KPixmap *aHandlePix;
+static KPixmap *iHandlePix;
+static KPixmap *aBtn;
+static KPixmap *aBtnDown;
+static KPixmap *iBtn;
+static KPixmap *iBtnDown;
+static QColor *btnForeground;
+static bool pixmaps_created = false;
+
+static int titleHeight = 16;
+
+// Precomputed border sizes for accessibility
+// The sizes are applied for tiny -> normal -> large -> very large -> huge -> very huge -> oversized
+static const int borderSizes[] = { 4, 6, 9, 14, 21, 32, 48 };
+
+static int handleSize = 6; // the resize handle size in pixels
+
+static inline const KDecorationOptions* options()
+{
+ return KDecoration::options();
+}
+
+static void create_pixmaps(NextClientFactory *f)
+{
+ if(pixmaps_created)
+ return;
+ pixmaps_created = true;
+
+ // find preferred border size
+ int i = options()->preferredBorderSize(f);
+ if (i >= 0 && i <= 6) handleSize = borderSizes[i];
+
+ titleHeight = QFontMetrics(options()->font(true)).height() + 4;
+ if (titleHeight < handleSize) titleHeight = handleSize;
+ titleHeight &= ~1; // Make title height even
+ if (titleHeight < 16) titleHeight = 16;
+
+ aTitlePix = new KPixmap();
+ aTitlePix->resize(32, titleHeight - 2);
+ KPixmapEffect::gradient(*aTitlePix,
+ options()->color(KDecoration::ColorTitleBar, true),
+ options()->color(KDecoration::ColorTitleBlend, true),
+ KPixmapEffect::VerticalGradient);
+ iTitlePix = new KPixmap();
+ iTitlePix->resize(32, titleHeight - 2);
+ KPixmapEffect::gradient(*iTitlePix,
+ options()->color(KDecoration::ColorTitleBar, false),
+ options()->color(KDecoration::ColorTitleBlend, false),
+ KPixmapEffect::VerticalGradient);
+ // Bottom frame gradient
+ aFramePix = new KPixmap();
+ aFramePix->resize(32, handleSize);
+ KPixmapEffect::gradient(*aFramePix,
+ options()->color(KDecoration::ColorFrame, true).light(150),
+ options()->color(KDecoration::ColorFrame, true).dark(120),
+ KPixmapEffect::VerticalGradient);
+ iFramePix = new KPixmap();
+ iFramePix->resize(32, handleSize);
+ KPixmapEffect::gradient(*iFramePix,
+ options()->color(KDecoration::ColorFrame, false).light(150),
+ options()->color(KDecoration::ColorFrame, false).dark(120),
+ KPixmapEffect::VerticalGradient);
+
+ // Handle gradient
+ aHandlePix = new KPixmap();
+ aHandlePix->resize(32, handleSize);
+ KPixmapEffect::gradient(*aHandlePix,
+ options()->color(KDecoration::ColorHandle, true).light(150),
+ options()->color(KDecoration::ColorHandle, true).dark(120),
+ KPixmapEffect::VerticalGradient);
+ iHandlePix = new KPixmap();
+ iHandlePix->resize(32, handleSize);
+ KPixmapEffect::gradient(*iHandlePix,
+ options()->color(KDecoration::ColorHandle, false).light(150),
+ options()->color(KDecoration::ColorHandle, false).dark(120),
+ KPixmapEffect::VerticalGradient);
+
+ int btnWidth = titleHeight;
+ iBtn = new KPixmap;
+ iBtn->resize(btnWidth, btnWidth);
+ iBtnDown = new KPixmap;
+ iBtnDown->resize(btnWidth, btnWidth);
+ aBtn = new KPixmap;
+ aBtn->resize(btnWidth, btnWidth);
+ aBtnDown = new KPixmap;
+ aBtnDown->resize(btnWidth, btnWidth);
+ KPixmap internal;
+ int internalHeight = btnWidth - 6;
+ internal.resize(internalHeight, internalHeight);
+
+ // inactive buttons
+ QColor c(options()->color(KDecoration::ColorButtonBg, false));
+ KPixmapEffect::gradient(*iBtn, c.light(120), c.dark(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(internal, c.dark(120), c.light(120),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(iBtn, 3, 3, &internal, 0, 0, internalHeight, internalHeight, Qt::CopyROP, true);
+
+ KPixmapEffect::gradient(*iBtnDown, c.dark(120), c.light(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(internal, c.light(120), c.dark(120),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(iBtnDown, 3, 3, &internal, 0, 0, internalHeight, internalHeight, Qt::CopyROP, true);
+
+ // active buttons
+ c = options()->color(KDecoration::ColorButtonBg, true);
+ KPixmapEffect::gradient(*aBtn, c.light(120), c.dark(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(internal, c.dark(120), c.light(120),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(aBtn, 3, 3, &internal, 0, 0, internalHeight, internalHeight, Qt::CopyROP, true);
+
+ KPixmapEffect::gradient(*aBtnDown, c.dark(120), c.light(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(internal, c.light(120), c.dark(120),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(aBtnDown, 3, 3, &internal, 0, 0, internalHeight, internalHeight, Qt::CopyROP, true);
+
+ QPainter p;
+ p.begin(aBtn);
+ p.setPen(Qt::black);
+ p.drawRect(0, 0, btnWidth, btnWidth);
+ p.end();
+ p.begin(iBtn);
+ p.setPen(Qt::black);
+ p.drawRect(0, 0, btnWidth, btnWidth);
+ p.end();
+ p.begin(aBtnDown);
+ p.setPen(Qt::black);
+ p.drawRect(0, 0, btnWidth, btnWidth);
+ p.end();
+ p.begin(iBtnDown);
+ p.setPen(Qt::black);
+ p.drawRect(0, 0, btnWidth, btnWidth);
+ p.end();
+
+ if(qGray(options()->color(KDecoration::ColorButtonBg, true).rgb()) > 128)
+ btnForeground = new QColor(Qt::black);
+ else
+ btnForeground = new QColor(Qt::white);
+}
+
+static void delete_pixmaps()
+{
+ delete aTitlePix;
+ delete iTitlePix;
+ delete aFramePix;
+ delete iFramePix;
+ delete aHandlePix;
+ delete iHandlePix;
+ delete aBtn;
+ delete iBtn;
+ delete aBtnDown;
+ delete iBtnDown;
+ delete btnForeground;
+
+ pixmaps_created = false;
+}
+
+// =====================================
+
+NextButton::NextButton(NextClient *parent, const char *name,
+ const unsigned char *bitmap, int bw, int bh,
+ const QString& tip, const int realizeBtns)
+ : QButton(parent->widget(), name),
+ deco(NULL), client(parent), last_button(NoButton)
+{
+ realizeButtons = realizeBtns;
+
+ setBackgroundMode( NoBackground );
+ resize(titleHeight, titleHeight);
+ setFixedSize(titleHeight, titleHeight);
+
+ if(bitmap)
+ setBitmap(bitmap, bw, bh);
+
+ QToolTip::add(this, tip);
+}
+
+void NextButton::reset()
+{
+ repaint(false);
+}
+
+void NextButton::setBitmap(const unsigned char *bitmap, int w, int h)
+{
+ deco = new QBitmap(w, h, bitmap, true);
+ deco->setMask(*deco);
+ repaint();
+}
+
+void NextButton::drawButton(QPainter *p)
+{
+ if(client->isActive())
+ p->drawPixmap(0, 0, isDown() ? *aBtnDown : *aBtn);
+ else
+ p->drawPixmap(0, 0, isDown() ? *iBtnDown : *iBtn);
+
+ // If we have a decoration, draw it; otherwise, we have the menu
+ // button (remember, we set the bitmap to NULL).
+ int offset;
+ if (deco) {
+ offset = (titleHeight - 10) / 2 + (isDown() ? 1 : 0);
+ p->setPen(*btnForeground);
+ p->drawPixmap(offset, offset, *deco);
+ } else {
+ offset = (titleHeight - 16) / 2;
+ KPixmap btnpix = client->icon().pixmap(QIconSet::Small,
+ client->isActive() ? QIconSet::Normal : QIconSet::Disabled);
+ p->drawPixmap( offset, offset, btnpix );
+ }
+}
+
+void NextButton::mousePressEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me( e->type(), e->pos(), e->globalPos(),
+ (e->button()&realizeButtons)?LeftButton:NoButton, e->state() );
+ QButton::mousePressEvent( &me );
+}
+
+void NextButton::mouseReleaseEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me( e->type(), e->pos(), e->globalPos(),
+ (e->button()&realizeButtons)?LeftButton:NoButton, e->state() );
+ QButton::mouseReleaseEvent( &me );
+}
+
+// =====================================
+
+NextClient::NextClient(KDecorationBridge *b, KDecorationFactory *f)
+ : KDecoration(b, f)
+{
+}
+
+void NextClient::init()
+{
+ createMainWidget(WResizeNoErase | WStaticContents);
+ widget()->installEventFilter(this);
+
+ widget()->setBackgroundMode( NoBackground );
+
+ QVBoxLayout *mainLayout = new QVBoxLayout(widget());
+ QBoxLayout *titleLayout = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ QHBoxLayout *windowLayout = new QHBoxLayout();
+ mainLayout->addLayout(titleLayout);
+ mainLayout->addLayout(windowLayout, 1);
+ mainLayout->addSpacing(mustDrawHandle() ? handleSize : 1);
+
+ windowLayout->addSpacing(1);
+ if (isPreview())
+ windowLayout->addWidget(new QLabel(i18n(
+ "<center><b>KStep preview</b></center>"), widget()));
+ else
+ windowLayout->addItem(new QSpacerItem( 0, 0 ));
+
+ windowLayout->addSpacing(1);
+
+ initializeButtonsAndTitlebar(titleLayout);
+}
+
+/**
+ Preconditions:
+ + button is an array of length MAX_NUM_BUTTONS
+
+ Postconditions:
+ + Title bar and buttons have been initialized and laid out
+ + for all i in 0..(MAX_NUM_BUTTONS-1), button[i] points to
+ either (1) a valid NextButton instance, if the corresponding
+ button is selected in the current button scheme, or (2) null
+ otherwise.
+ */
+void NextClient::initializeButtonsAndTitlebar(QBoxLayout* titleLayout)
+{
+ // Null the buttons to begin with (they are not guaranteed to be null).
+ for (int i=0; i<MAX_NUM_BUTTONS; i++) {
+ button[i] = NULL;
+ }
+
+ // The default button positions for other styles do not match the
+ // behavior of older versions of KStep, so we have to set these
+ // manually when customButtonPositions isn't enabled.
+ QString left, right;
+ if (options()->customButtonPositions()) {
+ left = options()->titleButtonsLeft();
+ right = options()->titleButtonsRight();
+ } else {
+ left = QString("I");
+ right = QString("SX");
+ }
+
+ // Do actual creation and addition to titleLayout
+ addButtons(titleLayout, left);
+
+ titlebar = new QSpacerItem(10, titleHeight, QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ titleLayout->addItem(titlebar);
+ addButtons(titleLayout, right);
+
+ // Finally, activate all live buttons
+ for ( int i = 0; i < MAX_NUM_BUTTONS; i++) {
+ if (button[i]) {
+ button[i]->setMouseTracking( TRUE );
+ }
+ }
+}
+
+/** Adds the buttons for one side of the title bar, based on the spec
+ * string; see the KWinInternal::KDecoration class, methods
+ * titleButtonsLeft and titleBUttonsRight. */
+void NextClient::addButtons(QBoxLayout* titleLayout, const QString& spec)
+{
+ for (unsigned int i=0; i<spec.length(); i++) {
+ switch (spec[i].latin1()) {
+ case 'A':
+ if (isMaximizable()) {
+ button[MAXIMIZE_IDX] =
+ new NextButton(this, "maximize", maximize_bits, 10, 10,
+ i18n("Maximize"), LeftButton|MidButton|RightButton);
+ titleLayout->addWidget( button[MAXIMIZE_IDX] );
+ connect( button[MAXIMIZE_IDX], SIGNAL(clicked()),
+ this, SLOT(maximizeButtonClicked()) );
+ }
+ break;
+
+ case 'H':
+ if (providesContextHelp()) {
+ button[HELP_IDX] = new NextButton(this,
+ "help", question_bits, 10, 10, i18n("Help"));
+ titleLayout->addWidget( button[HELP_IDX] );
+ connect( button[HELP_IDX], SIGNAL(clicked()),
+ this, SLOT(showContextHelp()) );
+ }
+ break;
+
+ case 'I':
+ if (isMinimizable()) {
+ button[ICONIFY_IDX] =
+ new NextButton(this, "iconify", iconify_bits, 10, 10,
+ i18n("Minimize"));
+ titleLayout->addWidget( button[ICONIFY_IDX] );
+ connect( button[ICONIFY_IDX], SIGNAL(clicked()),
+ this, SLOT(minimize()) );
+ }
+ break;
+
+ case 'M':
+ button[MENU_IDX] =
+ new NextButton(this, "menu", NULL, 10, 10, i18n("Menu"), LeftButton|RightButton);
+ titleLayout->addWidget( button[MENU_IDX] );
+ // NOTE DIFFERENCE: capture pressed(), not clicked()
+ connect( button[MENU_IDX], SIGNAL(pressed()),
+ this, SLOT(menuButtonPressed()) );
+ break;
+
+ case 'L':
+ button[SHADE_IDX] =
+ new NextButton(this, "shade", NULL, 0, 0, i18n("Shade"));
+ titleLayout->addWidget( button[SHADE_IDX] );
+ connect( button[SHADE_IDX], SIGNAL(clicked()),
+ this, SLOT(shadeClicked()) );
+ // NOTE DIFFERENCE: set the pixmap separately (2 states)
+ shadeChange();
+ break;
+
+ case 'S':
+ button[STICKY_IDX] =
+ new NextButton(this, "sticky", NULL, 0, 0, i18n("On all desktops"));
+ titleLayout->addWidget( button[STICKY_IDX] );
+ connect( button[STICKY_IDX], SIGNAL(clicked()),
+ this, SLOT(toggleOnAllDesktops()) );
+ // NOTE DIFFERENCE: set the pixmap separately (2 states)
+ desktopChange();
+ break;
+
+ case 'F':
+ button[ABOVE_IDX] = new NextButton(this, "above", NULL, 0, 0, "");
+ titleLayout->addWidget( button[ABOVE_IDX] );
+ connect( button[ABOVE_IDX], SIGNAL(clicked()),
+ this, SLOT(aboveClicked()) );
+ connect(this, SIGNAL(keepAboveChanged(bool)),
+ SLOT(keepAboveChange(bool)));
+ keepAboveChange(keepAbove());
+ break;
+
+ case 'B':
+ button[BELOW_IDX] = new NextButton(this, "below", NULL, 0, 0, "");
+ titleLayout->addWidget( button[BELOW_IDX] );
+ connect( button[BELOW_IDX], SIGNAL(clicked()),
+ this, SLOT(belowClicked()) );
+ connect(this, SIGNAL(keepBelowChanged(bool)),
+ SLOT(keepBelowChange(bool)));
+ keepBelowChange(keepBelow());
+ break;
+
+ case 'X':
+ if (isCloseable()) {
+ button[CLOSE_IDX] =
+ new NextButton(this, "close", close_bits, 10, 10,
+ i18n("Close"));
+ titleLayout->addWidget(button[CLOSE_IDX]);
+ connect(button[CLOSE_IDX], SIGNAL(clicked()),
+ this, SLOT(closeWindow()));
+ }
+ break;
+
+ case 'R':
+ if (mustDrawHandle()) {
+ button[RESIZE_IDX] =
+ new NextButton(this, "resize", resize_bits, 10, 10,
+ i18n("Resize"));
+ titleLayout->addWidget(button[RESIZE_IDX]);
+ // NOTE DIFFERENCE: capture pressed(), not clicked()
+ connect(button[RESIZE_IDX], SIGNAL(pressed()),
+ this, SLOT(resizePressed()));
+ }
+ break;
+ case '_':
+ // TODO: Add spacer handling
+ break;
+
+ default:
+ kdDebug() << " Can't happen: unknown button code "
+ << QString(spec[i]);
+ break;
+ }
+ }
+}
+
+bool NextClient::mustDrawHandle() const
+{
+ bool drawSmallBorders = !options()->moveResizeMaximizedWindows();
+ if (drawSmallBorders && (maximizeMode() & MaximizeVertical)) {
+ return false;
+ } else {
+ return isResizable();
+ }
+}
+
+void NextClient::iconChange()
+{
+ if (button[MENU_IDX] && button[MENU_IDX]->isVisible())
+ button[MENU_IDX]->repaint(false);
+}
+
+void NextClient::menuButtonPressed()
+{
+ // Probably don't need this null check, but we might as well.
+ if (button[MENU_IDX]) {
+ QRect menuRect = button[MENU_IDX]->rect();
+ QPoint menuTop = button[MENU_IDX]->mapToGlobal(menuRect.topLeft());
+ QPoint menuBottom = button[MENU_IDX]->mapToGlobal(menuRect.bottomRight());
+ menuTop += QPoint(1, 1);
+ menuBottom += QPoint(1, 1);
+ KDecorationFactory* f = factory();
+ showWindowMenu(QRect(menuTop, menuBottom));
+ if( !f->exists( this )) // 'this' was deleted
+ return;
+ button[MENU_IDX]->setDown(false);
+ }
+}
+
+// Copied, with minor edits, from KDEDefaultClient::slotMaximize()
+void NextClient::maximizeButtonClicked()
+{
+ if (button[MAXIMIZE_IDX]) {
+ maximize(button[MAXIMIZE_IDX]->lastButton());
+ }
+}
+
+void NextClient::shadeClicked()
+{
+ setShade(!isSetShade());
+}
+
+void NextClient::aboveClicked()
+{
+ setKeepAbove(!keepAbove());
+}
+
+void NextClient::belowClicked()
+{
+ setKeepBelow(!keepBelow());
+ keepAboveChange(keepAbove());
+ keepBelowChange(keepBelow());
+}
+
+void NextClient::resizePressed()
+{
+ performWindowOperation(ResizeOp);
+}
+
+void NextClient::resizeEvent(QResizeEvent *)
+{
+ if (widget()->isVisible()) {
+ // TODO ? update border area only?
+ widget()->update();
+#if 0
+ widget()->update(titlebar->geometry());
+ QPainter p(widget());
+ QRect t = titlebar->geometry();
+ t.setTop( 0 );
+ QRegion r = widget()->rect();
+ r = r.subtract( t );
+ p.setClipRegion( r );
+ p.eraseRect(widget()->rect());
+#endif
+ }
+}
+
+void NextClient::captionChange()
+{
+ widget()->repaint(titlebar->geometry(), false);
+}
+
+
+void NextClient::paintEvent( QPaintEvent* )
+{
+ QPainter p(widget());
+
+ // Draw black frame
+ QRect fr = widget()->rect();
+ p.setPen(Qt::black);
+ p.drawRect(fr);
+
+ // Draw title bar
+ QRect t = titlebar->geometry();
+ t.setTop(1);
+ p.drawTiledPixmap(t.x()+1, t.y()+1, t.width()-2, t.height()-2,
+ isActive() ? *aTitlePix : *iTitlePix);
+ qDrawShadePanel(&p, t.x(), t.y(), t.width(), t.height()-1,
+ options()->colorGroup(KDecoration::ColorTitleBar, isActive()));
+ p.drawLine(t.x(), t.bottom(), t.right(), t.bottom());
+
+#if 0
+ // Why setting up a clipping region if it is not used? (setClipping(false))
+ QRegion r = fr;
+ r = r.subtract( t );
+ p.setClipRegion( r );
+ p.setClipping(false);
+#endif
+
+ t.setTop( 1 );
+ t.setHeight(t.height()-2);
+ t.setLeft( t.left() + 4 );
+ t.setRight( t.right() - 2 );
+
+ p.setPen(options()->color(KDecoration::ColorFont, isActive()));
+ p.setFont(options()->font(isActive()));
+ p.drawText( t, AlignCenter | AlignVCenter, caption() );
+
+ // Draw resize handle
+ if (mustDrawHandle()) {
+ int corner = 16 + 3*handleSize/2;
+ qDrawShadePanel(&p,
+ fr.x() + 1, fr.bottom() - handleSize, corner-1, handleSize,
+ options()->colorGroup(KDecoration::ColorHandle, isActive()),
+ false);
+ p.drawTiledPixmap(fr.x() + 2, fr.bottom() - handleSize + 1,
+ corner - 3, handleSize - 2, isActive() ? *aHandlePix : *iHandlePix);
+
+ qDrawShadePanel(&p,
+ fr.x() + corner, fr.bottom() - handleSize,
+ fr.width() - 2*corner, handleSize,
+ options()->colorGroup(KDecoration::ColorFrame, isActive()),
+ false);
+ p.drawTiledPixmap(fr.x() + corner + 1, fr.bottom() - handleSize + 1,
+ fr.width() - 2*corner - 2, handleSize - 2,
+ isActive() ? *aFramePix : *iFramePix);
+
+ qDrawShadePanel(&p,
+ fr.right() - corner + 1, fr.bottom() - handleSize, corner - 1, handleSize,
+ options()->colorGroup(KDecoration::ColorHandle, isActive()),
+ false);
+ p.drawTiledPixmap(fr.right() - corner + 2, fr.bottom() - handleSize + 1,
+ corner - 3, handleSize - 2, isActive() ? *aHandlePix : *iHandlePix);
+ }
+}
+
+void NextClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if (e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ titlebarDblClickOperation();
+}
+
+void NextClient::wheelEvent( QWheelEvent * e )
+{
+ if (isSetShade() || QRect( 0, 0, width(), titleHeight ).contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void NextClient::showEvent(QShowEvent *)
+{
+ widget()->repaint();
+}
+
+void NextClient::desktopChange()
+{
+ bool on = isOnAllDesktops();
+ if (NextButton * b = button[STICKY_IDX]) {
+ b->setBitmap( on ? unsticky_bits : sticky_bits, 10, 10);
+ QToolTip::remove(b);
+ QToolTip::add(b, on ? i18n("Not on all desktops") : i18n("On all desktops"));
+ }
+}
+
+void NextClient::maximizeChange()
+{
+ if (button[MAXIMIZE_IDX]) {
+ bool m = maximizeMode() == MaximizeFull;
+ //button[MAXIMIZE_IDX]->setBitmap(m ? minmax_bits : maximize_bits);
+ QToolTip::remove(button[MAXIMIZE_IDX]);
+ QToolTip::add(button[MAXIMIZE_IDX],
+ m ? i18n("Restore") : i18n("Maximize"));
+ }
+ //spacer->changeSize(10, mustDrawHandle() ? handleSize : 1,
+ // QSizePolicy::Expanding, QSizePolicy::Minimum);
+ //mainLayout->activate();
+}
+
+void NextClient::activeChange()
+{
+ widget()->repaint(false);
+ slotReset();
+}
+
+void NextClient::slotReset()
+{
+ for (int i=0; i<MAX_NUM_BUTTONS; i++) {
+ if (button[i]) {
+ button[i]->reset();
+ }
+ }
+}
+
+KDecoration::Position
+NextClient::mousePosition( const QPoint& p ) const
+{
+ Position m = PositionCenter;
+
+ if (p.y() < (height() - handleSize))
+ m = KDecoration::mousePosition(p);
+
+ else {
+ int corner = 16 + 3*handleSize/2;
+ if (p.x() >= (width() - corner))
+ m = PositionBottomRight;
+ else if (p.x() <= corner)
+ m = PositionBottomLeft;
+ else
+ m = PositionBottom;
+ }
+
+ return m;
+}
+
+void NextClient::borders(int &left, int &right, int &top, int &bottom) const
+{
+ left = right = 1;
+ top = titleHeight; // FRAME is this ok?
+ bottom = mustDrawHandle() ? handleSize : 1;
+}
+
+void NextClient::shadeChange()
+{
+ if (NextButton *b = button[SHADE_IDX]) {
+ b->setBitmap(isSetShade() ? unshade_bits : shade_bits, 10, 10);
+ QToolTip::remove(b);
+ QToolTip::add(b, isSetShade() ? i18n("Unshade") : i18n("Shade"));
+ }
+}
+
+void NextClient::keepAboveChange(bool above)
+{
+ if (NextButton *b = button[ABOVE_IDX]) {
+ b->setBitmap(above ? from_above_bits : keep_above_bits, 10, 10);
+ QToolTip::remove(b);
+ QToolTip::add(b, above ?
+ i18n("Do not keep above others") : i18n("Keep above others"));
+ b->repaint(false);
+ }
+}
+
+void NextClient::keepBelowChange(bool below)
+{
+ if (NextButton *b = button[BELOW_IDX]) {
+ b->setBitmap(below ? from_below_bits : keep_below_bits, 10, 10);
+ QToolTip::remove(b);
+ QToolTip::add(b, below ?
+ i18n("Do not keep below others") : i18n("Keep below others"));
+ b->repaint(false);
+ }
+}
+
+QSize NextClient::minimumSize() const
+{
+ return QSize(titleHeight * 6 + 2, titleHeight + handleSize + 2);
+}
+
+void NextClient::resize(const QSize& s)
+{
+ widget()->resize(s);
+}
+
+void NextClient::reset(unsigned long)
+{
+ for (int i = 0; i < MAX_NUM_BUTTONS; ++i) {
+ if (button[i])
+ button[i]->reset();
+ }
+ widget()->repaint();
+}
+
+bool NextClient::eventFilter(QObject *o, QEvent *e)
+{
+ if (o != widget())
+ return false;
+ switch (e->type()) {
+ case QEvent::Resize:
+ resizeEvent(static_cast< QResizeEvent* >( e ));
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast< QPaintEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast< QMouseEvent* >( e ));
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent(static_cast< QMouseEvent* >( e ));
+ return true;
+ case QEvent::Show:
+ showEvent(static_cast< QShowEvent* >( e ));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+bool NextClient::drawbound(const QRect& geom, bool /* clear */)
+{
+ QPainter p(workspaceWidget());
+ p.setPen(QPen(Qt::white, 3));
+ p.setRasterOp(Qt::XorROP);
+ p.drawRect(geom);
+ int leftMargin = geom.left() + 2;
+ p.fillRect(leftMargin, geom.top() + titleHeight - 1,
+ geom.width() - 4, 3, Qt::white);
+ if (mustDrawHandle()) {
+ p.fillRect(leftMargin, geom.bottom() - handleSize - 1,
+ geom.width() - 4, 3, Qt::white);
+ }
+ return true;
+}
+
+// =====================================
+
+NextClientFactory::NextClientFactory()
+{
+ create_pixmaps(this);
+}
+
+NextClientFactory::~NextClientFactory()
+{
+ delete_pixmaps();
+}
+
+KDecoration *NextClientFactory::createDecoration(KDecorationBridge *b)
+{
+ return new NextClient(b, this);
+}
+
+bool NextClientFactory::reset(unsigned long /*changed*/)
+{
+ // TODO Do not recreate decorations if it is not needed. Look at
+ // ModernSystem for how to do that
+ delete_pixmaps();
+ create_pixmaps(this);
+ // For now just return true.
+ return true;
+}
+
+bool NextClientFactory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonMenu:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ case AbilityButtonAboveOthers:
+ case AbilityButtonBelowOthers:
+ case AbilityButtonShade:
+ case AbilityButtonResize:
+ return true;
+ default:
+ return false;
+ };
+}
+
+QValueList< NextClientFactory::BorderSize >
+NextClientFactory::borderSizes() const
+{
+ // the list must be sorted
+ return QValueList< BorderSize >() << BorderTiny << BorderNormal <<
+ BorderLarge << BorderVeryLarge << BorderHuge <<
+ BorderVeryHuge << BorderOversized;
+}
+
+} // KStep namespace
+
+extern "C" KDE_EXPORT KDecorationFactory* create_factory()
+{
+ return new KStep::NextClientFactory();
+}
+
+#include "nextclient.moc"
+
+// vim: sw=4
diff --git a/kwin-styles/kstep/nextclient.h b/kwin-styles/kstep/nextclient.h
new file mode 100644
index 00000000..dc0470c8
--- /dev/null
+++ b/kwin-styles/kstep/nextclient.h
@@ -0,0 +1,125 @@
+#ifndef __NEXTCLIENT_H
+#define __NEXTCLIENT_H
+
+#include <qvariant.h>
+#include <qbitmap.h>
+#include <kpixmap.h>
+#include <qlayout.h>
+#include <qbutton.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QLabel;
+class QSpacerItem;
+
+namespace KStep {
+
+class NextClient;
+
+class NextButton : public QButton
+{
+public:
+ NextButton(NextClient *parent=0, const char *name=0,
+ const unsigned char *bitmap=NULL, int bw=0, int bh=0,
+ const QString& tip=NULL, const int realizeBtns = LeftButton);
+ void setBitmap(const unsigned char *bitmap, int bw, int bh);
+ void reset();
+ ButtonState lastButton() { return last_button; }
+
+protected:
+ void mousePressEvent( QMouseEvent* e );
+ void mouseReleaseEvent( QMouseEvent* e );
+ virtual void drawButton(QPainter *p);
+ void drawButtonLabel(QPainter *){;}
+
+ KPixmap aBackground, iBackground;
+ QBitmap* deco;
+ NextClient *client;
+ ButtonState last_button;
+ int realizeButtons;
+};
+
+class NextClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ NextClient(KDecorationBridge *b, KDecorationFactory *f);
+ ~NextClient() {;}
+ void init();
+ virtual bool drawbound(const QRect& geom, bool clear);
+protected:
+ bool eventFilter(QObject *o, QEvent *e);
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+ void showEvent( QShowEvent* );
+
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void wheelEvent( QWheelEvent * );
+ void captionChange();
+ void desktopChange();
+ void activeChange();
+ void shadeChange();
+ void iconChange();
+ QSize minimumSize() const;
+ void resize(const QSize &size);
+ void borders(int &left, int &right, int &top, int &bottom) const;
+ void reset(unsigned long changed);
+ void calcHiddenButtons();
+ void updateActiveBuffer();
+
+ Position mousePosition(const QPoint &) const;
+ void maximizeChange();
+
+protected slots:
+ void slotReset();
+ void menuButtonPressed();
+ void maximizeButtonClicked();
+ void shadeClicked();
+ void aboveClicked();
+ void belowClicked();
+ void resizePressed();
+
+ void keepAboveChange(bool above);
+ void keepBelowChange(bool below);
+
+private:
+ void initializeButtonsAndTitlebar(QBoxLayout* titleLayout);
+ void addButtons(QBoxLayout* titleLayout, const QString& buttons);
+ bool mustDrawHandle() const;
+
+ QSpacerItem* titlebar;
+
+ // Helpful constants for buttons in array
+ enum { CLOSE_IDX = 0,
+ HELP_IDX,
+ ICONIFY_IDX,
+ MAXIMIZE_IDX,
+ MENU_IDX,
+ SHADE_IDX,
+ ABOVE_IDX,
+ BELOW_IDX,
+ RESIZE_IDX,
+ STICKY_IDX,
+ MAX_NUM_BUTTONS = STICKY_IDX + 1 };
+
+ // WARNING: button[i] may be null for any given i. Make sure you
+ // always check for null before doing button[i]->foo().
+ NextButton* button[MAX_NUM_BUTTONS];
+};
+
+class NextClientFactory: public QObject, public KDecorationFactory
+{
+public:
+ NextClientFactory();
+ virtual ~NextClientFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *);
+ virtual bool reset(unsigned long changed);
+ virtual bool supports( Ability ability );
+
+ QValueList< NextClientFactory::BorderSize > borderSizes() const;
+
+};
+
+}
+
+#endif
diff --git a/kwin-styles/openlook/Makefile.am b/kwin-styles/openlook/Makefile.am
new file mode 100644
index 00000000..25ed43d0
--- /dev/null
+++ b/kwin-styles/openlook/Makefile.am
@@ -0,0 +1,16 @@
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin3_openlook.la
+
+kwin3_openlook_la_SOURCES = OpenLook.cpp
+kwin3_openlook_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_openlook_la_LIBADD = -lkdecorations
+
+noinst_HEADERS = OpenLook.h
+METASOURCES = AUTO
+
+linkdir = $(kde_datadir)/kwin/
+link_DATA = openlook.desktop
+
+EXTRA_DIST = $(link_DATA)
+
diff --git a/kwin-styles/openlook/OpenLook.cpp b/kwin-styles/openlook/OpenLook.cpp
new file mode 100644
index 00000000..0f31a6ec
--- /dev/null
+++ b/kwin-styles/openlook/OpenLook.cpp
@@ -0,0 +1,728 @@
+/*
+ 'OpenLook' kwin client
+
+ Porting to kde3.2 API
+ Copyright 2003 Luciano Montanaro <mikelima@cirulla.net>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include "config.h"
+#include <unistd.h> // for usleep
+#include <math.h>
+
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qdrawutil.h>
+#include <qtoolbutton.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qpixmap.h>
+
+#include <kapplication.h>
+#include <klocale.h>
+
+#include "OpenLook.h"
+
+extern "C" KDE_EXPORT KDecorationFactory* create_factory()
+{
+ return new OpenLook::DecorationFactory();
+}
+
+namespace OpenLook {
+
+static uint openLookCornerSize = 11;
+static uint openLookMargin = 5;
+static const uint openLookTextVMargin = 1;
+static uint titleHeight;
+
+// ---------------------------------------
+
+DecorationFactory::DecorationFactory()
+{
+}
+
+DecorationFactory::~DecorationFactory()
+{
+}
+
+KDecoration *DecorationFactory::createDecoration(KDecorationBridge *b)
+{
+ return new OpenLook(b, this);
+}
+
+bool DecorationFactory::reset(unsigned long /*changed*/)
+{
+ // TODO Do not recreate decorations if it is not needed. Look at
+ // ModernSystem for how to do that
+ // For now just return true.
+ return true;
+}
+
+bool DecorationFactory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonMinimize:
+ return true;
+ default:
+ return false;
+ };
+}
+
+QValueList< DecorationFactory::BorderSize >
+DecorationFactory::borderSizes() const
+{
+ // the list must be sorted
+ return QValueList< BorderSize >() << BorderNormal <<
+ BorderLarge << BorderVeryLarge << BorderHuge <<
+ BorderVeryHuge << BorderOversized;
+}
+
+// ---------------------------------------
+
+static inline const KDecorationOptions* options()
+{
+ return KDecoration::options();
+}
+
+// ---------------------------------------
+
+OpenLook::OpenLook(KDecorationBridge *b, KDecorationFactory *f) :
+ KDecoration(b, f),
+ titleSpacer_ (0),
+ mousePressPoint_(0, 0), // Anywhere outside button rect.
+ buttonDown_ (false)
+{
+}
+
+void OpenLook::init()
+{
+ static const int SUPPORTED_WINDOW_TYPES_MASK = NET::NormalMask |
+ NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask |
+ NET::DialogMask | NET::OverrideMask | NET::TopMenuMask |
+ NET::UtilityMask | NET::SplashMask;
+
+ createMainWidget(WStaticContents | WResizeNoErase | WRepaintNoErase);
+ widget()->installEventFilter(this);
+ widget()->setBackgroundMode(NoBackground);
+ NET::WindowType type = windowType(SUPPORTED_WINDOW_TYPES_MASK);
+ tool_ = (type == NET::Toolbar || type == NET::Utility || type == NET::Menu);
+ QFontMetrics fm(options()->font(isActive(), tool_));
+
+ titleHeight = fm.height() + openLookTextVMargin * 2;
+
+ switch(KDecoration::options()->preferredBorderSize(factory())) {
+ case KDecoration::BorderLarge:
+ openLookMargin = 9;
+ break;
+ case KDecoration::BorderVeryLarge:
+ openLookMargin = 13;
+ break;
+ case KDecoration::BorderHuge:
+ openLookMargin = 18;
+ break;
+ case KDecoration::BorderVeryHuge:
+ openLookMargin = 27;
+ break;
+ case KDecoration::BorderOversized:
+ openLookMargin = 40;
+ break;
+ case KDecoration::BorderNormal:
+ default:
+ openLookMargin = 5;
+ }
+ openLookCornerSize = 2*openLookMargin + 1;
+ if (titleHeight <= openLookMargin)
+ titleHeight = openLookMargin+1;
+
+ doLayout();
+}
+
+OpenLook::~OpenLook()
+{
+ // Empty.
+}
+
+bool OpenLook::eventFilter(QObject *o, QEvent *e)
+{
+ if (o != widget()) return false;
+ switch (e->type()) {
+ case QEvent::Resize:
+ resizeEvent(static_cast< QResizeEvent* >(e));
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast< QPaintEvent* >(e));
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast< QMouseEvent* >(e));
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonPress:
+ if (!isButtonPress(static_cast< QMouseEvent* >(e))) {
+ processMousePressEvent(static_cast< QMouseEvent* >(e));
+ }
+ return true;
+ case QEvent::MouseButtonRelease:
+ if (isButtonRelease(static_cast< QMouseEvent* >(e))) {
+ return true;
+ } else {
+ return false;
+ }
+ case QEvent::Show:
+ showEvent(static_cast< QShowEvent* >(e));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+ void
+OpenLook::borders(int &left, int &right, int &top, int &bottom) const
+{
+ // FRAME XXX Check
+ left = right = bottom = openLookMargin;
+ top = titleHeight + openLookMargin;
+}
+
+ void
+OpenLook::captionChange()
+{
+ widget()->update(titleRect());
+}
+
+ void
+OpenLook::shadeChange()
+{
+}
+
+QSize OpenLook::minimumSize() const
+{
+ int left, right, top, bottom;
+ borders(left, right, top, bottom);
+ return QSize(left + right + 2 * titleHeight, top + bottom);
+}
+
+ void
+OpenLook::resize(const QSize& s)
+{
+ widget()->resize(s);
+ widget()->repaint(); //there is some strange wrong repaint of the frame without
+}
+
+ void
+OpenLook::paintEvent(QPaintEvent * pe)
+{
+ QRect tr(titleRect());
+
+ QPainter p(widget());
+
+ QRegion clipRegion(pe->region());
+
+ p.setClipRegion(clipRegion);
+
+ paintBorder(p);
+
+ paintTopLeftRect(p);
+ paintTopRightRect(p);
+ paintBottomLeftRect(p);
+ paintBottomRightRect(p);
+
+ p.setClipRegion(clipRegion + buttonRect());
+
+ QBrush titleBackground(options()->color(KDecoration::ColorTitleBar, true));
+
+ if (isActive())
+ qDrawShadePanel(&p, tr, widget()->colorGroup(), true, 1, &titleBackground);
+ else
+ p.fillRect(tr, widget()->colorGroup().brush(QColorGroup::Background));
+
+ p.setClipRegion(clipRegion);
+
+ paintButton(p);
+
+ p.setFont(options()->font(isActive(), tool_));
+
+ p.setPen(options()->color(KDecoration::ColorFont, isActive()));
+
+ tr.setLeft(openLookCornerSize + 3 + buttonRect().width() + 2);
+
+ p.drawText(tr, AlignCenter, caption());
+}
+
+ void
+OpenLook::showEvent(QShowEvent *)
+{
+ widget()->repaint();
+}
+
+ void
+OpenLook::mouseDoubleClickEvent(QMouseEvent * e)
+{
+ if (e->button() == LeftButton && titleRect().contains(e->pos()))
+ {
+ titlebarDblClickOperation();
+ }
+}
+
+ void
+OpenLook::wheelEvent(QWheelEvent *e)
+{
+ if (isSetShade() || titleRect().contains(e->pos()))
+ {
+ titlebarMouseWheelOperation( e->delta());
+ }
+}
+
+ void
+OpenLook::resizeEvent(QResizeEvent* e)
+{
+ widget()->update();
+}
+
+ void
+OpenLook::activeChange()
+{
+ widget()->repaint();
+}
+
+ KDecoration::Position
+OpenLook::mousePosition(const QPoint & p) const
+{
+ if (topLeftRect().contains(p))
+ return PositionTopLeft;
+ else if (topRightRect().contains(p))
+ return PositionTopRight;
+ else if (bottomLeftRect().contains(p))
+ return PositionBottomLeft;
+ else if (bottomRightRect().contains(p))
+ return PositionBottomRight;
+ else
+ return PositionCenter;
+}
+
+ void
+OpenLook::iconChange()
+{
+}
+
+ void
+OpenLook::desktopChange()
+{
+}
+
+ void
+OpenLook::maximizeChange()
+{
+ widget()->repaint(false);
+}
+
+ void
+OpenLook::doLayout()
+{
+ QVBoxLayout * layout = new QVBoxLayout(widget(), openLookMargin);
+
+ titleSpacer_ =
+ new QSpacerItem
+ (
+ 0,
+ titleHeight,
+ QSizePolicy::Expanding,
+ QSizePolicy::Fixed
+ );
+
+ layout->addItem(titleSpacer_);
+
+ layout->addSpacing(2);
+
+ QBoxLayout * midLayout =
+ new QBoxLayout(layout, QBoxLayout::LeftToRight, 0, 0);
+
+ if (isPreview()) {
+ midLayout->addWidget(new QLabel(
+ i18n("<center><b>OpenLook preview</b></center>"),
+ widget()),
+ 1);
+ } else {
+ midLayout->addItem( new QSpacerItem( 0, 0 ));
+ }
+
+}
+
+ bool
+OpenLook::animateMinimize(bool /*iconify*/)
+{
+#if 0
+ QRect icongeom(iconGeometry());
+
+ if (!icongeom.isValid())
+ return false;
+
+ QRect wingeom(geometry());
+
+ QPainter p(workspaceWidget());
+
+ p.setRasterOp(Qt::NotROP);
+
+#if 0
+ if (iconify)
+ p.setClipRegion(
+ QRegion(workspace()->desktopWidget()->rect()) - wingeom
+ );
+#endif
+
+ for (uint count = 0; count < 4; count++)
+ {
+ grabXServer();
+
+ p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
+ p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
+ p.drawLine(wingeom.topLeft(), icongeom.topLeft());
+ p.drawLine(wingeom.topRight(), icongeom.topRight());
+
+ p.flush();
+
+ kapp->syncX();
+
+ usleep(10000);
+
+ p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
+ p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
+ p.drawLine(wingeom.topLeft(), icongeom.topLeft());
+ p.drawLine(wingeom.topRight(), icongeom.topRight());
+
+ p.flush();
+
+ kapp->syncX();
+
+ usleep(10000);
+
+ ungrabXServer();
+ }
+#endif
+ return true;
+}
+
+ QRect
+OpenLook::topLeftRect() const
+{
+ return QRect
+ (
+ 0,
+ 0,
+ openLookCornerSize,
+ openLookCornerSize
+ );
+}
+
+ QRect
+OpenLook::topRightRect() const
+{
+ return QRect
+ (
+ width() - openLookCornerSize,
+ 0,
+ openLookCornerSize,
+ openLookCornerSize
+ );
+}
+
+ QRect
+OpenLook::bottomLeftRect() const
+{
+ return QRect
+ (
+ 0,
+ height() - openLookCornerSize,
+ openLookCornerSize,
+ openLookCornerSize
+ );
+}
+
+ QRect
+OpenLook::bottomRightRect() const
+{
+ return QRect
+ (
+ width() - openLookCornerSize,
+ height() - openLookCornerSize,
+ openLookCornerSize,
+ openLookCornerSize
+ );
+}
+
+ void
+OpenLook::paintTopLeftRect(QPainter & p) const
+{
+ QColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
+
+ QRect r(topLeftRect());
+
+ int x1(r.left());
+ int y1(r.top());
+ int x2(r.right());
+ int y2(r.bottom());
+
+ p.setPen(widget()->colorGroup().light());
+
+ p.drawLine(x1, y1, x2, y1);
+ p.drawLine(x1, y1 + 1, x1, y2);
+
+ p.fillRect(x1 + 1, y1 + 1, r.width()-2, openLookMargin-2, handleColour);
+ p.fillRect(x1 + 1, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
+
+ p.setPen(widget()->colorGroup().dark());
+
+ p.drawLine(x2, y1 + 1, x2, y1 + openLookMargin-1);
+
+ p.drawLine(x1 + openLookMargin-1, y1 + openLookMargin-1, x2 - 1, y1 + openLookMargin-1);
+
+ p.drawLine(x1 + openLookMargin-1, y1 + openLookMargin, x1 + openLookMargin-1, y2 - 1);
+
+ p.drawLine(x1 + 1, y2, x1 + openLookMargin-1, y2);
+}
+
+ void
+OpenLook::paintTopRightRect(QPainter & p) const
+{
+ QColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
+
+ QRect r(topRightRect());
+
+ int x1(r.left());
+ int y1(r.top());
+ int x2(r.right());
+ int y2(r.bottom());
+
+ p.setPen(widget()->colorGroup().light());
+
+ p.drawLine(x1, y1, x2, y1);
+ p.drawLine(x1, y1 + 1, x1, y1 + openLookMargin-1);
+ p.drawLine(x2 - openLookMargin+1, y1 + openLookMargin, x2 - openLookMargin+1, y2);
+
+ p.fillRect(x1 + 1, y1 + 1, r.width()-2, openLookMargin-2, handleColour);
+ p.fillRect(x2 - openLookMargin + 2, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
+
+ p.setPen(widget()->colorGroup().dark());
+
+ p.drawLine(x1 + 1, y1 + openLookMargin-1, x2 - openLookMargin+1, y1 + openLookMargin-1);
+ p.drawLine(x2, y1 + 1, x2, y2);
+ p.drawLine(x2 - openLookMargin+1, y2, x2 - 1, y2);
+}
+
+ void
+OpenLook::paintBottomLeftRect(QPainter & p) const
+{
+ QColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
+
+ QRect r(bottomLeftRect());
+
+ int x1(r.left());
+ int y1(r.top());
+ int x2(r.right());
+ int y2(r.bottom());
+
+ p.setPen(widget()->colorGroup().light());
+
+ p.drawLine(x1, y1, x1 + openLookMargin-1, y1);
+ p.drawLine(x1, y1 + 1, x1, y2);
+ p.drawLine(x1 + openLookMargin, y2 - openLookMargin+1, x2, y2 - openLookMargin+1);
+
+ p.fillRect(x1 + 1, y2 - openLookMargin + 2, r.width()-2, openLookMargin-2, handleColour);
+ p.fillRect(x1 + 1, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
+
+ p.setPen(widget()->colorGroup().dark());
+
+ p.drawLine(x1 + openLookMargin-1, y1 + 1, x1 + openLookMargin-1, y2 - openLookMargin);
+ p.drawLine(x1 + 1, y2, x2, y2);
+ p.drawLine(x2, y2 - openLookMargin+2, x2, y2 - 1);
+}
+
+ void
+OpenLook::paintBottomRightRect(QPainter & p) const
+{
+ QColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
+
+ QRect r(bottomRightRect());
+
+ int x1(r.left());
+ int y1(r.top());
+ int x2(r.right());
+ int y2(r.bottom());
+
+ p.setPen(widget()->colorGroup().light());
+
+ p.drawLine(x1, y2 - openLookMargin+1, x1, y2);
+ p.drawLine(x1 + 1, y2 - openLookMargin+1, x2 - openLookMargin+1, y2 - openLookMargin+1);
+ p.drawLine(x2 - openLookMargin+1, y1 + 1, x2 - openLookMargin+1, y2 - openLookMargin);
+ p.drawLine(x2 - openLookMargin+1, y1, x2, y1);
+
+ p.fillRect(x1 + 1, y2 - openLookMargin + 2, r.width()-2, openLookMargin-2, handleColour);
+ p.fillRect(x2 - openLookMargin + 2, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
+
+ p.setPen(widget()->colorGroup().dark());
+
+ p.drawLine(x1 + 1, y2, x2, y2);
+ p.drawLine(x2, y1 + 1, x2, y2 - 1);
+}
+
+ QRect
+OpenLook::buttonRect() const
+{
+ return QRect
+ (
+ openLookCornerSize + 3,
+ titleRect().top(),
+ titleRect().height(),
+ titleRect().height()
+ );
+}
+
+ void
+OpenLook::paintButton(QPainter & p) const
+{
+ QRect r(buttonRect());
+
+ p.fillRect
+ (
+ r.left() + 1,
+ r.top() + 1,
+ r.width() - 2,
+ r.height() - 2,
+ buttonDown_
+ ? widget()->colorGroup().dark()
+ : options()->color(KDecoration::ColorButtonBg, isActive())
+ );
+
+ p.setPen(buttonDown_ ? widget()->colorGroup().dark() : widget()->colorGroup().light());
+
+ p.drawLine(r.left() + 1, r.top(), r.right() - 1, r.top());
+ p.drawLine(r.left(), r.top() + 1, r.left(), r.bottom() - 1);
+
+ p.setPen(buttonDown_ ? widget()->colorGroup().light() : widget()->colorGroup().dark());
+
+ p.drawLine(r.right(), r.top() + 1, r.right(), r.bottom() - 1);
+ p.drawLine(r.left() + 1, r.bottom(), r.right() - 1, r.bottom());
+
+ paintArrow(p);
+}
+
+ void
+OpenLook::paintArrow(QPainter & p) const
+{
+ QRect br(buttonRect());
+
+ int x = br.left() + 5;
+ int y = br.top() + 5;
+ int w = br.width() - 10;
+ int h = br.height() - 10;
+
+ QPointArray poly(3);
+
+ p.setBrush(widget()->colorGroup().mid());
+
+ poly.setPoint(0, x, y);
+ poly.setPoint(1, x + w - 1, y);
+ poly.setPoint(2, x + (w / 2), y + h - 1);
+
+ p.drawPolygon(poly);
+
+ p.setPen(widget()->colorGroup().dark());
+
+ p.drawLine(x, y, x + w - 1, y);
+
+ p.drawLine(x, y, x + (w / 2), y + h - 1);
+
+ p.setPen(widget()->colorGroup().light());
+
+ p.drawLine(x + (w / 2), y + h - 1, x + w - 1, y);
+}
+
+ void
+OpenLook::paintBorder(QPainter & p) const
+{
+ const uint cs(openLookCornerSize);
+
+ uint x = widget()->rect().left();
+ uint y = widget()->rect().top();
+ uint w = widget()->rect().width();
+ uint h = widget()->rect().height();
+ uint r = widget()->rect().right();
+ uint b = widget()->rect().bottom();
+
+ p.fillRect(x + cs, y, w - cs - cs, 2, widget()->colorGroup().shadow());
+ p.fillRect(x + cs, b - 1, w - cs - cs, 2, widget()->colorGroup().shadow());
+ p.fillRect(x, y + cs, 2, h - cs - cs, widget()->colorGroup().shadow());
+ p.fillRect(r - 1, y + cs, 2, h - cs - cs, widget()->colorGroup().shadow());
+
+ QColor frameColour(options()->color(KDecoration::ColorFrame, isActive()));
+
+ p.fillRect(x + cs, y + 2, w - cs - cs, openLookMargin-2, frameColour);
+ p.fillRect(x + cs, b - openLookMargin + 1, w - cs - cs, openLookMargin-2, frameColour);
+ p.fillRect(x + 2, y + cs, openLookMargin-2, h - cs - cs, frameColour);
+ p.fillRect(r - openLookMargin + 1, y + cs, openLookMargin-2, h - cs - cs, frameColour);
+
+ p.fillRect
+ (
+ openLookMargin,
+ titleRect().bottom() + 1,
+ width() - 2 * openLookMargin,
+ 2,
+ widget()->colorGroup().background()
+ );
+}
+
+ QRect
+OpenLook::titleRect() const
+{
+ return titleSpacer_->geometry();
+}
+
+ bool
+OpenLook::isButtonPress(QMouseEvent * e)
+{
+ mousePressPoint_ = e->pos();
+
+ buttonDown_ = buttonRect().contains(mousePressPoint_);
+
+ widget()->repaint(buttonRect());
+ return buttonDown_;
+}
+
+ bool
+OpenLook::isButtonRelease(QMouseEvent * e)
+{
+ if (buttonDown_ && buttonRect().contains(e->pos()))
+ {
+ minimize();
+ return true;
+ }
+ buttonDown_ = false;
+ widget()->repaint(buttonRect());
+
+ return false;
+}
+
+}
+
+#include "OpenLook.moc"
+// vim:ts=2:sw=2:tw=78:set et:
diff --git a/kwin-styles/openlook/OpenLook.h b/kwin-styles/openlook/OpenLook.h
new file mode 100644
index 00000000..698dec4d
--- /dev/null
+++ b/kwin-styles/openlook/OpenLook.h
@@ -0,0 +1,115 @@
+/*
+ 'OpenLook' kwin client
+
+ Porting to kde3.2 API
+ Copyright 2003 Luciano Montanaro <mikelima@cirulla.net>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#ifndef KWIN_WEB_H
+#define KWIN_WEB_H
+
+#include <qptrlist.h>
+#include <qbutton.h>
+
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QSpacerItem;
+
+namespace OpenLook
+{
+ class OpenLookButton;
+
+ class OpenLook : public KDecoration
+ {
+ Q_OBJECT
+ public:
+
+ OpenLook(KDecorationBridge *b, KDecorationFactory *f);
+ ~OpenLook();
+ void init();
+
+ protected:
+ bool eventFilter(QObject *o, QEvent *e);
+ void resizeEvent(QResizeEvent *e);
+ void paintEvent(QPaintEvent *e);
+ void showEvent(QShowEvent *e);
+
+ virtual void captionChange();
+ void desktopChange();
+ void activeChange();
+ void shadeChange();
+ void iconChange();
+ void maximizeChange();
+ void borders(int &left, int &right, int &top, int &bottom) const;
+ QSize minimumSize() const;
+ void resize( const QSize& );
+ virtual void mouseDoubleClickEvent(QMouseEvent *);
+ virtual void wheelEvent(QWheelEvent *e);
+
+ virtual Position mousePosition(const QPoint &) const;
+ virtual bool animateMinimize(bool);
+
+ private:
+
+ void doLayout();
+
+ QRect titleRect() const;
+
+ QRect topLeftRect() const;
+ QRect topRightRect() const;
+ QRect bottomLeftRect() const;
+ QRect bottomRightRect() const;
+
+ QRect buttonRect() const;
+
+ void paintBorder(QPainter &) const;
+
+ void paintTopLeftRect(QPainter &) const;
+ void paintTopRightRect(QPainter &) const;
+ void paintBottomLeftRect(QPainter &) const;
+ void paintBottomRightRect(QPainter &) const;
+
+ void paintButton(QPainter &) const;
+ void paintArrow(QPainter &) const;
+
+ bool isButtonPress(QMouseEvent *);
+ bool isButtonRelease(QMouseEvent *);
+
+ QSpacerItem * titleSpacer_;
+ QPoint mousePressPoint_;
+ bool tool_;
+ bool buttonDown_;
+ };
+
+ class DecorationFactory: public QObject, public KDecorationFactory
+ {
+ public:
+ DecorationFactory();
+ virtual ~DecorationFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *);
+ virtual bool reset(unsigned long changed);
+ virtual bool supports( Ability ability );
+ QValueList< DecorationFactory::BorderSize > borderSizes() const;
+ };
+}
+
+#endif
+// vim:ts=2:sw=2:tw=78:set et:
diff --git a/kwin-styles/openlook/openlook.desktop b/kwin-styles/openlook/openlook.desktop
new file mode 100644
index 00000000..575a583e
--- /dev/null
+++ b/kwin-styles/openlook/openlook.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Name=OpenLook
+Name[af]=Openlook
+Name[cy]=GolwgAgored
+Name[fa]=نگاه‌باز
+Name[hi]=ओपन-लुक
+Name[lt]=Open išvaizda
+Name[lv]=AtvērtsSkats
+Name[ne]=ओपन लूक
+Name[ta]=திறந்தபார்வை
+Name[ven]=Vula wo sedza
+Name[vi]=Hình thức mở
+Name[zu]=Vula Ubone
+X-KDE-Library=kwin3_openlook
diff --git a/kwin-styles/riscos/AboveButton.cpp b/kwin-styles/riscos/AboveButton.cpp
new file mode 100644
index 00000000..738b7f79
--- /dev/null
+++ b/kwin-styles/riscos/AboveButton.cpp
@@ -0,0 +1,65 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2004
+ Carsten Clever <clushkou@gmx.net>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "AboveButton.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const above_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ..... ",
+".+++++. ",
+".+++++. ",
+".+++++..... ",
+".+++++.++++.",
+".+++++.++++.",
+" .....+++++.",
+" .+++++.",
+" .+++++.",
+" ..... ",
+" "};
+
+AboveButton::AboveButton(QWidget *parent)
+ : Button(parent, i18n("Keep above others"))
+{
+ setPixmap(QPixmap((const char **)above_xpm));
+}
+
+void AboveButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(above());
+}
+
+} // End namespace
+
+#include "AboveButton.moc"
diff --git a/kwin-styles/riscos/AboveButton.h b/kwin-styles/riscos/AboveButton.h
new file mode 100644
index 00000000..b7a910ec
--- /dev/null
+++ b/kwin-styles/riscos/AboveButton.h
@@ -0,0 +1,50 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2004
+ Carsten Clever <clushkou@gmx.net>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_ABOVE_BUTTON_H
+#define RISC_OS_ABOVE_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class AboveButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ AboveButton(QWidget *parent);
+
+ signals:
+
+ void above();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent*);
+};
+
+} // End namespace
+
+#endif
diff --git a/kwin-styles/riscos/Button.cpp b/kwin-styles/riscos/Button.cpp
new file mode 100644
index 00000000..d4da6ecc
--- /dev/null
+++ b/kwin-styles/riscos/Button.cpp
@@ -0,0 +1,153 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <qtooltip.h>
+#include "Button.h"
+#include "Static.h"
+
+namespace RiscOS
+{
+
+Button::Button(QWidget *parent, const QString& tip,
+ const ButtonState realizeButtons)
+ : QWidget(parent, "Button", 0),
+ realizeButtons_(realizeButtons),
+ lastButton_(NoButton),
+ alignment_(Left),
+ down_ (false),
+ active_ (false)
+{
+ QToolTip::add(this, tip);
+ setBackgroundColor(Qt::black);
+
+ setFixedSize(Static::instance()->titleHeight() - 1,
+ Static::instance()->titleHeight());
+}
+
+Button::~Button()
+{
+ // Empty.
+}
+
+void Button::setAlignment(Alignment a)
+{
+ alignment_ = a;
+ repaint();
+}
+
+void Button::setActive(bool b)
+{
+ active_ = b;
+ repaint();
+}
+
+Button::Alignment Button::alignment() const
+{
+ return alignment_;
+}
+
+void Button::mousePressEvent(QMouseEvent *e)
+{
+ down_ = true;
+ lastButton_ = e->button();
+ repaint();
+
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(),
+ (e->button()&realizeButtons_) ? LeftButton : NoButton,
+ e->state());
+ QWidget::mousePressEvent(&me);
+}
+
+void Button::mouseReleaseEvent(QMouseEvent *e)
+{
+ down_ = false;
+ lastButton_ = e->button();
+ repaint();
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(),
+ (e->button()&realizeButtons_) ? LeftButton : NoButton,
+ e->state());
+ QWidget::mouseReleaseEvent(&me);
+}
+
+void Button::setPixmap(const QPixmap &p)
+{
+ if (QPixmap::defaultDepth() <= 8)
+ aPixmap_ = iPixmap_ = p;
+ else
+ {
+ QRgb light;
+ QRgb* data = NULL;
+ QRgb w = qRgb(255, 255, 255);
+
+ QImage aTx(p.convertToImage());
+ QImage iTx(aTx.copy());
+
+ const KDecorationOptions* options = KDecoration::options();
+ light = options->color(KDecoration::ColorButtonBg, true).light(150).rgb();
+
+ if (light == qRgb(0, 0, 0))
+ light = qRgb(228, 228, 228);
+
+ data = (QRgb *)aTx.bits();
+
+ for (int x = 0; x < 144; x++)
+ if (data[x] == w)
+ data[x] = light;
+
+ light = options->color(KDecoration::ColorButtonBg, false).light(150).rgb();
+
+ if (light == qRgb(0, 0, 0))
+ light = qRgb(228, 228, 228);
+
+ data = (QRgb *)iTx.bits();
+
+ for (int x = 0; x < 144; x++)
+ if (data[x] == w)
+ data[x] = light;
+
+ aPixmap_.convertFromImage(aTx);
+ iPixmap_.convertFromImage(iTx);
+
+ if (0 != p.mask())
+ {
+ aPixmap_.setMask(*p.mask());
+ iPixmap_.setMask(*p.mask());
+ }
+ }
+ repaint();
+}
+
+void Button::paintEvent(QPaintEvent *)
+{
+ bitBlt(this, alignment_ == Left ? 1 : 0, 0,
+ &Static::instance()->buttonBase(active_, down_));
+
+ int i = width() / 2 - 6;
+
+ bitBlt(this, alignment_ == Left ? i + 1 : i,
+ i + 1, active_ ? &aPixmap_ : &iPixmap_);
+}
+
+} // End namespace
+
+// vim:ts=2:sw=2:tw=78
+#include "Button.moc"
diff --git a/kwin-styles/riscos/Button.h b/kwin-styles/riscos/Button.h
new file mode 100644
index 00000000..1289a2fa
--- /dev/null
+++ b/kwin-styles/riscos/Button.h
@@ -0,0 +1,81 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_BUTTON_H
+#define RISC_OS_BUTTON_H
+
+#include <qpixmap.h>
+#include <qwidget.h>
+#include <klocale.h>
+#include <kdecoration.h>
+
+namespace RiscOS
+{
+
+class Button : public QWidget
+{
+ Q_OBJECT
+
+ public:
+
+ enum Type { Lower, Close, Iconify, Maximise, Sticky, Help };
+
+ enum Alignment { Left, Right };
+
+ Button(QWidget *parent, const QString &tip,
+ const ButtonState realizeButton = LeftButton);
+ virtual ~Button();
+
+ void setAlignment(Alignment);
+
+ Alignment alignment() const;
+
+ protected slots:
+
+ void setActive(bool);
+
+ protected:
+
+ void paintEvent(QPaintEvent *);
+
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *) { /* Empty. */ }
+
+ void setPixmap(const QPixmap &);
+
+ ButtonState realizeButtons_;
+ ButtonState lastButton_;
+
+ private:
+
+ Alignment alignment_;
+ bool down_;
+ bool active_;
+ QPixmap aPixmap_, iPixmap_;
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/CloseButton.cpp b/kwin-styles/riscos/CloseButton.cpp
new file mode 100644
index 00000000..4f2066cf
--- /dev/null
+++ b/kwin-styles/riscos/CloseButton.cpp
@@ -0,0 +1,66 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "CloseButton.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const close_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" . . ",
+" .+. .+. ",
+".+++. .+++.",
+" .+++..+++. ",
+" .++++++. ",
+" .++++. ",
+" .++++. ",
+" .++++++. ",
+" .+++..+++. ",
+".+++. .+++.",
+" .+. .+. ",
+" . . "};
+
+CloseButton::CloseButton(QWidget *parent)
+ : Button(parent, i18n("Close"))
+{
+ setPixmap(QPixmap((const char **)close_xpm));
+}
+
+void CloseButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(closeWindow());
+}
+
+} // End namespace;
+
+// vim:ts=2:sw=2:tw=78
+#include "CloseButton.moc"
diff --git a/kwin-styles/riscos/CloseButton.h b/kwin-styles/riscos/CloseButton.h
new file mode 100644
index 00000000..73791b76
--- /dev/null
+++ b/kwin-styles/riscos/CloseButton.h
@@ -0,0 +1,52 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_CLOSE_BUTTON_H
+#define RISC_OS_CLOSE_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class CloseButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ CloseButton(QWidget *parent);
+
+ signals:
+
+ void closeWindow();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+};
+
+} // End namespace;
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/HelpButton.cpp b/kwin-styles/riscos/HelpButton.cpp
new file mode 100644
index 00000000..a3d36668
--- /dev/null
+++ b/kwin-styles/riscos/HelpButton.cpp
@@ -0,0 +1,66 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "HelpButton.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const help_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #FFFFFF",
+"+ c #000000",
+" . ++++ . ",
+" .+....+. ",
+" +......+ ",
+"..+......+..",
+" +......+ ",
+" +......+ ",
+" .+....+. ",
+" . ++ + . ",
+" + ++ ",
+" ++ + ",
+" + ++ ",
+" ++ "};
+
+HelpButton::HelpButton(QWidget *parent)
+ : Button(parent, i18n("Help"))
+{
+ setPixmap(QPixmap((const char **)help_xpm));
+}
+
+void HelpButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(help());
+}
+
+} // End namespace;
+
+// vim:ts=2:sw=2:tw=78
+#include "HelpButton.moc"
diff --git a/kwin-styles/riscos/HelpButton.h b/kwin-styles/riscos/HelpButton.h
new file mode 100644
index 00000000..89d76453
--- /dev/null
+++ b/kwin-styles/riscos/HelpButton.h
@@ -0,0 +1,52 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_HELP_BUTTON_H
+#define RISC_OS_HELP_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class HelpButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ HelpButton(QWidget *parent);
+
+ signals:
+
+ void help();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+};
+
+} // End namespace;
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/IconifyButton.cpp b/kwin-styles/riscos/IconifyButton.cpp
new file mode 100644
index 00000000..760194f5
--- /dev/null
+++ b/kwin-styles/riscos/IconifyButton.cpp
@@ -0,0 +1,66 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "IconifyButton.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const iconify_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ",
+" ",
+" ",
+" .......... ",
+".++++++++++.",
+".++++++++++.",
+" .......... ",
+" ",
+" ",
+" ",
+" "};
+
+IconifyButton::IconifyButton(QWidget *parent)
+ : Button(parent, i18n("Minimize"))
+{
+ setPixmap(QPixmap((const char **)iconify_xpm));
+}
+
+void IconifyButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(iconify());
+}
+
+} // End namespace;
+
+// vim:ts=2:sw=2:tw=78
+#include "IconifyButton.moc"
diff --git a/kwin-styles/riscos/IconifyButton.h b/kwin-styles/riscos/IconifyButton.h
new file mode 100644
index 00000000..9c940713
--- /dev/null
+++ b/kwin-styles/riscos/IconifyButton.h
@@ -0,0 +1,52 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_ICONIFY_BUTTON_H
+#define RISC_OS_ICONIFY_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class IconifyButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ IconifyButton(QWidget *parent);
+
+ signals:
+
+ void iconify();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+};
+
+} // End namespace;
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/LowerButton.cpp b/kwin-styles/riscos/LowerButton.cpp
new file mode 100644
index 00000000..a14c6149
--- /dev/null
+++ b/kwin-styles/riscos/LowerButton.cpp
@@ -0,0 +1,66 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "LowerButton.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const lower_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ..... ",
+".+++++. ",
+".+++++. ",
+".+++++..... ",
+".++++.+++++.",
+".++++.+++++.",
+" .....+++++.",
+" .+++++.",
+" .+++++.",
+" ..... ",
+" "};
+
+LowerButton::LowerButton(QWidget *parent)
+ : Button(parent, i18n("Keep below others"))
+{
+ setPixmap(QPixmap((const char **)lower_xpm));
+}
+
+void LowerButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(lower());
+}
+
+} // End namespace;
+
+// vim:ts=2:sw=2:tw=78
+#include "LowerButton.moc"
diff --git a/kwin-styles/riscos/LowerButton.h b/kwin-styles/riscos/LowerButton.h
new file mode 100644
index 00000000..ec5ab474
--- /dev/null
+++ b/kwin-styles/riscos/LowerButton.h
@@ -0,0 +1,52 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_LOWER_BUTTON_H
+#define RISC_OS_LOWER_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class LowerButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ LowerButton(QWidget *parent);
+
+ signals:
+
+ void lower();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+};
+
+} // End namespace;
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/Makefile.am b/kwin-styles/riscos/Makefile.am
new file mode 100644
index 00000000..2a7d9764
--- /dev/null
+++ b/kwin-styles/riscos/Makefile.am
@@ -0,0 +1,39 @@
+AUTOMAKE_OPTIONS = foreign
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes)
+
+kwindir = $(kde_datadir)/kwin/
+kwin_DATA = riscos.desktop
+
+noinst_HEADERS = AboveButton.h \
+ Button.h \
+ CloseButton.h \
+ HelpButton.h \
+ IconifyButton.h \
+ LowerButton.h \
+ Manager.h \
+ MaximiseButton.h \
+ Palette.h \
+ Static.h \
+ StickyButton.h
+
+kde_module_LTLIBRARIES = kwin3_riscos.la
+kwin3_riscos_la_SOURCES = AboveButton.cpp \
+ Button.cpp \
+ CloseButton.cpp \
+ HelpButton.cpp \
+ IconifyButton.cpp \
+ LowerButton.cpp \
+ Manager.cpp \
+ MaximiseButton.cpp \
+ Static.cpp \
+ StickyButton.cpp
+
+kwin3_riscos_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin3_riscos_la_LIBADD = $(LIB_KDEUI) -lkdecorations
+kwin3_riscos_la_METASOURCES = AUTO
+
+EXTRA_DIST = $(kwin_DATA)
+
diff --git a/kwin-styles/riscos/Manager.cpp b/kwin-styles/riscos/Manager.cpp
new file mode 100644
index 00000000..a890ac63
--- /dev/null
+++ b/kwin-styles/riscos/Manager.cpp
@@ -0,0 +1,767 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <unistd.h> // for usleep
+#include <config.h> // for usleep on non-linux platforms
+#include <math.h> // for sin and cos
+
+#include <qapplication.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpainter.h>
+
+#include <netwm.h>
+
+#include "Manager.h"
+#include "Static.h"
+#include "AboveButton.h"
+#include "CloseButton.h"
+#include "HelpButton.h"
+#include "IconifyButton.h"
+#include "LowerButton.h"
+#include "MaximiseButton.h"
+#include "StickyButton.h"
+
+extern "C"
+{
+ KDE_EXPORT KDecorationFactory* create_factory()
+ {
+ return new RiscOS::Factory();
+ }
+}
+
+
+namespace RiscOS
+{
+
+Manager::Manager(KDecorationBridge *bridge,
+ KDecorationFactory *factory)
+ : KDecoration(bridge, factory),
+ topLayout_ (NULL),
+ titleLayout_ (NULL),
+ titleSpacer_ (NULL)
+{
+}
+
+Manager::~Manager()
+{
+}
+
+void Manager::init()
+{
+ createMainWidget(WNoAutoErase);
+
+ widget()->installEventFilter(this);
+ widget()->setBackgroundMode(NoBackground);
+
+ leftButtonList_.setAutoDelete(true);
+ rightButtonList_.setAutoDelete(true);
+
+ resetLayout();
+}
+
+bool Manager::eventFilter(QObject *o, QEvent *e)
+{
+ if (o != widget()) return false;
+ switch (e->type())
+ {
+ case QEvent::Resize:
+ resizeEvent(static_cast<QResizeEvent*>(e));
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast<QPaintEvent*>(e));
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast<QMouseEvent*>(e));
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent(static_cast<QMouseEvent*>(e));
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ case QEvent::MouseButtonRelease:
+ return false;
+ case QEvent::Show:
+ return false;
+ case QEvent::MouseMove:
+ return false;
+ case QEvent::Enter:
+ return false;
+ case QEvent::Leave:
+ return false;
+ case QEvent::Move:
+ return false;
+ default:
+ return false;
+ }
+}
+
+void Manager::reset(unsigned long /*changed*/)
+{
+ resetLayout();
+}
+
+void Manager::borders(int &left, int &right, int &top, int &bottom) const
+{
+ left = right = 1;
+ top = Static::instance()->titleHeight();
+ bottom = isResizable() ? Static::instance()->resizeHeight() : 1;
+}
+
+void Manager::resize(const QSize &s)
+{
+ widget()->resize(s);
+}
+
+QSize Manager::minimumSize() const
+{
+ return widget()->minimumSize();
+}
+
+void Manager::activeChange()
+{
+ updateTitleBuffer();
+ widget()->repaint();
+ emit(activeChanged(isActive()));
+}
+
+void Manager::captionChange()
+{
+ updateTitleBuffer();
+ widget()->repaint();
+}
+
+void Manager::iconChange()
+{
+}
+
+void Manager::maximizeChange()
+{
+ emit(maximizeChanged(maximizeMode() == MaximizeFull));
+}
+
+void Manager::desktopChange()
+{
+}
+
+void Manager::shadeChange()
+{
+}
+
+void Manager::paintEvent(QPaintEvent *e)
+{
+ QPainter p(widget());
+
+ QRect r(e->rect());
+
+ bool intersectsLeft = r.intersects(QRect(0, 0, 1, height()));
+
+ bool intersectsRight =
+ r.intersects(QRect(width() - 1, 0, width(), height()));
+
+ if (intersectsLeft || intersectsRight)
+ {
+ p.setPen(Qt::black);
+
+ if (intersectsLeft)
+ p.drawLine(0, r.top(), 0, r.bottom());
+
+ if (intersectsRight)
+ p.drawLine(width() - 1, r.top(), width() - 1, r.bottom());
+ }
+
+ Static * s = Static::instance();
+
+ bool active = isActive();
+
+ // Title bar.
+
+ QRect tr = titleSpacer_->geometry();
+ bitBlt(widget(), tr.topLeft(), &titleBuf_);
+
+ // Resize bar.
+
+ if (isResizable())
+ {
+ int rbt = height() - Static::instance()->resizeHeight(); // Resize bar top
+
+ bitBlt(widget(), 0, rbt, &(s->resize(active)));
+ bitBlt(widget(), 30, rbt, &(s->resizeMidLeft(active)));
+
+ p.drawTiledPixmap(32, rbt, width() - 34,
+ Static::instance()->resizeHeight(),
+ s->resizeMidMid(active));
+
+ bitBlt(widget(), width() - 32, rbt, &(s->resizeMidRight(active)));
+ bitBlt(widget(), width() - 30, rbt, &(s->resize(active)));
+ }
+ else
+ p.drawLine(1, height() - 1, width() - 2, height() - 1);
+}
+
+void Manager::resizeEvent(QResizeEvent*)
+{
+ updateButtonVisibility();
+ updateTitleBuffer();
+ widget()->repaint();
+}
+
+void Manager::updateButtonVisibility()
+{
+#if 0
+ enum SizeProblem = { None, Small, Medium, Big };
+ SizeProblem sizeProblem = None;
+
+ if (width() < 80) sizeProblem = Big;
+ else if (width() < 100) sizeProblem = Medium;
+ else if (width() < 180) sizeProblem = Small;
+
+ switch (sizeProblem) {
+
+ case Small:
+ above_ ->hide();
+ lower_ ->hide();
+ sticky_ ->hide();
+ help_ ->hide();
+ iconify_ ->show();
+ maximise_ ->hide();
+ close_ ->show();
+ break;
+
+ case Medium:
+ above_ ->hide();
+ lower_ ->hide();
+ sticky_ ->hide();
+ help_ ->hide();
+ iconify_ ->hide();
+ maximise_ ->hide();
+ close_ ->show();
+ break;
+
+ case Big:
+ above_ ->hide();
+ lower_ ->hide();
+ sticky_ ->hide();
+ help_ ->hide();
+ iconify_ ->hide();
+ maximise_ ->hide();
+ close_ ->hide();
+ break;
+
+ case None:
+ default:
+ above_ ->show();
+ lower_ ->show();
+ sticky_ ->show();
+ if (providesContextHelp())
+ help_->show();
+ iconify_ ->show();
+ maximise_ ->show();
+ close_ ->show();
+ break;
+ }
+
+ layout()->activate();
+#endif
+}
+
+void Manager::updateTitleBuffer()
+{
+ bool active = isActive();
+
+ Static * s = Static::instance();
+
+ QRect tr = titleSpacer_->geometry();
+
+ if (tr.width() == 0 || tr.height() == 0)
+ titleBuf_.resize(8, 8);
+ else
+ titleBuf_.resize(tr.size());
+
+ QPainter p(&titleBuf_);
+
+ p.drawPixmap(0, 0, s->titleTextLeft(active));
+
+ p.drawTiledPixmap(3, 0, tr.width() - 6, Static::instance()->titleHeight(),
+ s->titleTextMid(active));
+
+ p.setPen(options()->color(KDecorationOptions::ColorFont, active));
+
+ p.setFont(options()->font(active));
+
+ p.drawText(4, 2, tr.width() - 8, Static::instance()->titleHeight() - 4,
+ AlignCenter, caption());
+
+ p.drawPixmap(tr.width() - 3, 0, s->titleTextRight(active));
+}
+
+KDecoration::Position Manager::mousePosition(const QPoint& p) const
+{
+ Position m = PositionCenter;
+
+ // Look out for off-by-one errors here.
+
+ if (isResizable())
+ {
+ if (p.y() > (height() - (Static::instance()->resizeHeight() + 1)))
+ {
+ // Keep order !
+
+ if (p.x() >= (width() - 30))
+ m = PositionBottomRight;
+ else if (p.x() <= 30)
+ m = PositionBottomLeft;
+ else
+ m = PositionBottom;
+ }
+ else
+ {
+ m = PositionCenter;
+ // Client::mousePosition(p);
+ }
+ }
+ else
+ {
+ m = PositionCenter;
+ // Client::mousePosition(p);
+ }
+
+ return m;
+}
+
+void Manager::mouseDoubleClickEvent(QMouseEvent *e)
+{
+ if (e->button() == LeftButton && titleSpacer_->geometry().contains(e->pos()))
+ titlebarDblClickOperation();
+}
+
+void Manager::wheelEvent(QWheelEvent *e)
+{
+ if (isSetShade() || titleLayout_->geometry().contains(e->pos()) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void Manager::paletteChange(const QPalette &)
+{
+ resetLayout();
+}
+
+void Manager::stickyChange(bool b)
+{
+ emit(stickyChanged(b));
+}
+
+void Manager::slotToggleSticky()
+{
+ toggleOnAllDesktops();
+ emit(stickyChanged(isOnAllDesktops()));
+}
+
+void Manager::slotAbove()
+{
+ setKeepAbove(!keepAbove());
+}
+
+void Manager::slotLower()
+{
+ setKeepBelow(!keepBelow());
+}
+
+void Manager::slotMaximizeClicked(ButtonState state)
+{
+#if KDE_IS_VERSION(3, 3, 0)
+ maximize(state);
+#else
+ switch (state)
+ {
+ case RightButton:
+ maximize(maximizeMode() ^ MaximizeHorizontal);
+ break;
+
+ case MidButton:
+ maximize(maximizeMode() ^ MaximizeVertical);
+ break;
+
+ case LeftButton:
+ default:
+ maximize(maximizeMode() == MaximizeFull ? MaximizeRestore
+ : MaximizeFull);
+ break;
+ }
+#endif
+ emit(maximizeChanged(maximizeMode() == MaximizeFull));
+}
+
+bool Manager::animateMinimize(bool iconify)
+{
+ int style = Static::instance()->animationStyle();
+
+ switch (style)
+ {
+ case 1:
+ {
+ // Double twisting double back, with pike ;)
+
+ if (!iconify) // No animation for restore.
+ return true;
+
+ // Go away quick.
+ helperShowHide(false);
+ qApp->syncX();
+
+ QRect r = iconGeometry();
+
+ if (!r.isValid())
+ return true;
+
+ // Algorithm taken from Window Maker (http://www.windowmaker.org)
+
+ int sx = geometry().x();
+ int sy = geometry().y();
+ int sw = width();
+ int sh = height();
+ int dx = r.x();
+ int dy = r.y();
+ int dw = r.width();
+ int dh = r.height();
+
+ double steps = 12;
+
+ double xstep = double((dx-sx)/steps);
+ double ystep = double((dy-sy)/steps);
+ double wstep = double((dw-sw)/steps);
+ double hstep = double((dh-sh)/steps);
+
+ double cx = sx;
+ double cy = sy;
+ double cw = sw;
+ double ch = sh;
+
+ double finalAngle = 3.14159265358979323846;
+
+ double delta = finalAngle / steps;
+
+ QPainter p(workspaceWidget());
+ p.setRasterOp(Qt::NotROP);
+
+ for (double angle = 0; ; angle += delta)
+ {
+ if (angle > finalAngle)
+ angle = finalAngle;
+
+ double dx = (cw / 10) - ((cw / 5) * sin(angle));
+ double dch = (ch / 2) * cos(angle);
+ double midy = cy + (ch / 2);
+
+ QPoint p1(int(cx + dx), int(midy - dch));
+ QPoint p2(int(cx + cw - dx), p1.y());
+ QPoint p3(int(cx + dw + dx), int(midy + dch));
+ QPoint p4(int(cx - dx), p3.y());
+
+ grabXServer();
+
+ p.drawLine(p1, p2);
+ p.drawLine(p2, p3);
+ p.drawLine(p3, p4);
+ p.drawLine(p4, p1);
+
+ p.flush();
+
+ usleep(500);
+
+ p.drawLine(p1, p2);
+ p.drawLine(p2, p3);
+ p.drawLine(p3, p4);
+ p.drawLine(p4, p1);
+
+ ungrabXServer();
+
+ cx += xstep;
+ cy += ystep;
+ cw += wstep;
+ ch += hstep;
+
+ if (angle >= finalAngle)
+ break;
+ }
+ }
+ break;
+
+ case 2:
+ {
+ // KVirc style ? Maybe. For qwertz.
+
+ if (!iconify) // No animation for restore.
+ return true;
+
+ // Go away quick.
+ helperShowHide(false);
+ qApp->syncX();
+
+ int stepCount = 12;
+
+ QRect r(geometry());
+
+ int dx = r.width() / (stepCount * 2);
+ int dy = r.height() / (stepCount * 2);
+
+ QPainter p(workspaceWidget());
+ p.setRasterOp(Qt::NotROP);
+
+ for (int step = 0; step < stepCount; step++)
+ {
+ r.moveBy(dx, dy);
+ r.setWidth(r.width() - 2 * dx);
+ r.setHeight(r.height() - 2 * dy);
+
+ grabXServer();
+
+ p.drawRect(r);
+ p.flush();
+ usleep(200);
+ p.drawRect(r);
+
+ ungrabXServer();
+ }
+ }
+ break;
+
+
+ default:
+ {
+ QRect icongeom = iconGeometry();
+
+ if (!icongeom.isValid())
+ return true;
+
+ QRect wingeom = geometry();
+
+ QPainter p(workspaceWidget());
+
+ p.setRasterOp(Qt::NotROP);
+#if 0
+ if (iconify)
+ p.setClipRegion(QRegion(workspaceWidget()->rect()) - wingeom);
+#endif
+ grabXServer();
+
+ p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
+ p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
+ p.drawLine(wingeom.topLeft(), icongeom.topLeft());
+ p.drawLine(wingeom.topRight(), icongeom.topRight());
+
+ p.flush();
+
+ qApp->syncX();
+
+ usleep(30000);
+
+ p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
+ p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
+ p.drawLine(wingeom.topLeft(), icongeom.topLeft());
+ p.drawLine(wingeom.topRight(), icongeom.topRight());
+
+ ungrabXServer();
+ }
+ break;
+ }
+ return true;
+}
+
+void Manager::createTitle()
+{
+ leftButtonList_.clear();
+ rightButtonList_.clear();
+
+ QString buttons;
+
+ if (options()->customButtonPositions())
+ buttons = options()->titleButtonsLeft() + "|" +
+ options()->titleButtonsRight();
+ else
+ buttons = "XSH|IA";
+
+ QPtrList<Button> *buttonList = &leftButtonList_;
+
+ for (unsigned int i = 0; i < buttons.length(); ++i)
+ {
+ Button * tb = NULL;
+
+ switch (buttons[i].latin1())
+ {
+ case 'S': // Sticky
+ tb = new StickyButton(widget());
+ connect(this, SIGNAL(stickyChanged(bool)),
+ tb, SLOT(setOn(bool)));
+ connect(tb, SIGNAL(toggleSticky()), this, SLOT(slotToggleSticky()));
+ emit(stickyChanged(isOnAllDesktops()));
+ break;
+
+ case 'H': // Help
+ if (providesContextHelp())
+ {
+ tb = new HelpButton(widget());
+ connect(tb, SIGNAL(help()), this, SLOT(showContextHelp()));
+ }
+ break;
+
+ case 'I': // Minimize
+ if (isMinimizable())
+ {
+ tb = new IconifyButton(widget());
+ connect(tb, SIGNAL(iconify()), this, SLOT(minimize()));
+ }
+ break;
+
+ case 'A': // Maximize
+ if (isMaximizable())
+ {
+ tb = new MaximiseButton(widget());
+ connect(tb, SIGNAL(maximizeClicked(ButtonState)),
+ this, SLOT(slotMaximizeClicked(ButtonState)));
+ connect(this, SIGNAL(maximizeChanged(bool)),
+ tb, SLOT(setOn(bool)));
+ emit(maximizeChanged(maximizeMode() == MaximizeFull));
+ }
+ break;
+
+ case 'F': // Above
+ tb = new AboveButton(widget());
+ connect(tb, SIGNAL(above()), this, SLOT(slotAbove()));
+ break;
+
+ case 'B': // Lower
+ tb = new LowerButton(widget());
+ connect(tb, SIGNAL(lower()), this, SLOT(slotLower()));
+ break;
+
+ case 'X': // Close
+ if (isCloseable())
+ {
+ tb = new CloseButton(widget());
+ connect(tb, SIGNAL(closeWindow()), this, SLOT(closeWindow()));
+ }
+ break;
+
+ case '|':
+ buttonList = &rightButtonList_;
+ break;
+ }
+
+ if (tb != NULL)
+ {
+ connect(this, SIGNAL(activeChanged(bool)), tb, SLOT(setActive(bool)));
+ buttonList->append(tb);
+ }
+ }
+
+ for (QPtrListIterator<Button> it(leftButtonList_); it.current(); ++it)
+ {
+ it.current()->setAlignment(Button::Left);
+ titleLayout_->addWidget(it.current());
+ }
+
+ titleSpacer_ = new QSpacerItem(0, Static::instance()->titleHeight(),
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+
+ titleLayout_->addItem(titleSpacer_);
+
+ for (QPtrListIterator<Button> it(rightButtonList_); it.current(); ++it)
+ {
+ it.current()->setAlignment(Button::Right);
+ titleLayout_->addWidget(it.current());
+ }
+}
+
+void Manager::resetLayout()
+{
+ delete topLayout_;
+ topLayout_ = new QVBoxLayout(widget(), 0, 0);
+ topLayout_->setResizeMode(QLayout::FreeResize);
+
+ titleLayout_ = new QBoxLayout(topLayout_, QBoxLayout::LeftToRight, 0, 0);
+ titleLayout_->setResizeMode(QLayout::FreeResize);
+
+ createTitle();
+
+ QBoxLayout *midLayout = new QBoxLayout(topLayout_, QBoxLayout::LeftToRight,
+ 0, 0);
+ midLayout->setResizeMode(QLayout::FreeResize);
+ midLayout->addSpacing(1);
+ if (isPreview())
+ midLayout->addWidget(
+ new QLabel(i18n("<center><b>RiscOS preview</b></center>"), widget()));
+ midLayout->addSpacing(1);
+
+ if (isResizable())
+ topLayout_->addSpacing(Static::instance()->resizeHeight());
+ else
+ topLayout_->addSpacing(1);
+}
+
+// --------------------
+
+Factory::Factory()
+{
+ (void) RiscOS::Static::instance();
+}
+
+Factory::~Factory()
+{
+ delete RiscOS::Static::instance();
+}
+
+bool Factory::reset(unsigned long /*changed*/)
+{
+ RiscOS::Static::instance()->reset();
+ return true;
+}
+
+bool Factory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ case AbilityButtonAboveOthers:
+ case AbilityButtonBelowOthers:
+ return true;
+ default:
+ return false;
+ };
+}
+
+KDecoration* Factory::createDecoration(KDecorationBridge *bridge)
+{
+ return new Manager(bridge, this);
+}
+
+} // End namespace
+
+// vim:ts=2:sw=2:tw=78
+#include "Manager.moc"
diff --git a/kwin-styles/riscos/Manager.h b/kwin-styles/riscos/Manager.h
new file mode 100644
index 00000000..1d30b7a6
--- /dev/null
+++ b/kwin-styles/riscos/Manager.h
@@ -0,0 +1,123 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_MANAGER_H
+#define RISC_OS_MANAGER_H
+
+#include <qdict.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QSpacerItem;
+class QVBoxLayout;
+class QBoxLayout;
+
+namespace RiscOS
+{
+
+class LowerButton;
+class CloseButton;
+class IconifyButton;
+class MaximiseButton;
+class StickyButton;
+class HelpButton;
+class Button;
+
+class Manager : public KDecoration
+{
+ Q_OBJECT
+
+ public:
+
+ Manager(KDecorationBridge*, KDecorationFactory*);
+ ~Manager();
+ void init();
+ bool eventFilter(QObject*, QEvent*);
+ void reset(unsigned long changed);
+ void borders(int&, int&, int&, int&) const;
+ void resize(const QSize&);
+ QSize minimumSize() const;
+ void activeChange();
+ void captionChange();
+ void iconChange();
+ void maximizeChange();
+ void desktopChange();
+ void shadeChange();
+
+ signals:
+
+ void maximizeChanged(bool);
+ void stickyChanged(bool);
+ void activeChanged(bool);
+
+ public slots:
+
+ void slotAbove();
+ void slotLower();
+ void slotMaximizeClicked(ButtonState);
+ void slotToggleSticky();
+
+ protected:
+
+ KDecoration::Position mousePosition(const QPoint &) const;
+ void paletteChange(const QPalette &);
+ void activeChange(bool);
+ void stickyChange(bool);
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void wheelEvent(QWheelEvent *e);
+ bool animateMinimize(bool);
+ void updateButtonVisibility();
+ void updateTitleBuffer();
+
+ void createTitle();
+ void resetLayout();
+
+ private:
+
+ QVBoxLayout *topLayout_;
+ QBoxLayout *titleLayout_;
+ QSpacerItem *titleSpacer_;
+
+ QPixmap titleBuf_;
+ QPtrList<Button> leftButtonList_;
+ QPtrList<Button> rightButtonList_;
+};
+
+class Factory : public QObject, public KDecorationFactory
+{
+ Q_OBJECT
+
+ public:
+ Factory();
+ ~Factory();
+ virtual bool reset(unsigned long changed);
+ virtual KDecoration* createDecoration(KDecorationBridge*);
+ virtual bool supports( Ability ability );
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/MaximiseButton.cpp b/kwin-styles/riscos/MaximiseButton.cpp
new file mode 100644
index 00000000..b82f2867
--- /dev/null
+++ b/kwin-styles/riscos/MaximiseButton.cpp
@@ -0,0 +1,98 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "MaximiseButton.h"
+
+#include <qtooltip.h>
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const maximise_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ........ ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" .++++++++. ",
+" ........ ",
+" "};
+
+/* XPM */
+static const char * const unmaximise_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ",
+" ...... ",
+" .++++++. ",
+" .++++++. ",
+" .++++++. ",
+" .++++++. ",
+" .++++++. ",
+" .++++++. ",
+" ...... ",
+" ",
+" "};
+
+MaximiseButton::MaximiseButton(QWidget * parent)
+ : Button(parent, i18n("Maximize"),
+ (ButtonState)(LeftButton|MidButton|RightButton)),
+ on_(false)
+{
+ setPixmap(QPixmap((const char **)maximise_xpm));
+}
+
+void MaximiseButton::setOn(bool on)
+{
+ on_ = on;
+ setPixmap(on_ ? QPixmap((const char **)unmaximise_xpm)
+ : QPixmap((const char **)maximise_xpm));
+ repaint();
+ QToolTip::remove(this);
+ QToolTip::add(this, on_ ? i18n("Restore") : i18n("Maximize"));
+}
+
+void MaximiseButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+ emit(maximizeClicked(lastButton_));
+}
+
+} // End namespace
+
+// vim:ts=2:sw=2:tw=78
+#include "MaximiseButton.moc"
diff --git a/kwin-styles/riscos/MaximiseButton.h b/kwin-styles/riscos/MaximiseButton.h
new file mode 100644
index 00000000..7da4bc0a
--- /dev/null
+++ b/kwin-styles/riscos/MaximiseButton.h
@@ -0,0 +1,60 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_MAXIMISE_BUTTON_H
+#define RISC_OS_MAXIMISE_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class MaximiseButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ MaximiseButton(QWidget *parent);
+
+ public slots:
+
+ void setOn(bool);
+
+ signals:
+
+ void maximizeClicked(ButtonState);
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+
+ private:
+
+ bool on_;
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/Palette.h b/kwin-styles/riscos/Palette.h
new file mode 100644
index 00000000..e13457a6
--- /dev/null
+++ b/kwin-styles/riscos/Palette.h
@@ -0,0 +1,69 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_PALETTE_H
+#define RISC_OS_PALETTE_H
+
+#include <qmemarray.h>
+#include <qglobal.h>
+
+namespace RiscOS
+{
+
+class Palette
+{
+ public:
+
+ Palette()
+ {
+ data_.resize(8);
+
+ data_[0] = 0xFFFFFFFF;
+ data_[1] = 0xFFDCDCDC;
+ data_[2] = 0xFFC3C3C3;
+ data_[3] = 0xFFA0A0A0;
+ data_[4] = 0xFF808080;
+ data_[5] = 0xFF585858;
+ data_[6] = 0xFF303030;
+ data_[7] = 0xFF000000;
+ }
+
+ QRgb& operator [] (int idx)
+ {
+ return data_[idx];
+ }
+
+ QRgb operator [] (int idx) const
+ {
+ return data_[idx];
+ }
+
+ private:
+
+ QMemArray<QRgb> data_;
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/README b/kwin-styles/riscos/README
new file mode 100644
index 00000000..04ebd85d
--- /dev/null
+++ b/kwin-styles/riscos/README
@@ -0,0 +1,90 @@
+This theme emulates the look and feel of the RISC OS 'window manager'.
+Actually, RISC OS doesn't have a window manager in the same way X
+does, but if you imagine it does, this is an emulation of that ;)
+
+The look is obviously quite different, but coming anywhere close to
+the unique look of RISC OS would be quite blatantly obvious, so to
+avoid copyright issues, the look of this theme is unique. You may
+consider it to be RISC OS grown up ;)
+
+Functions that will be implemented but are currently missing:
+ Transparent resize.
+ Shading.
+ Backward-resize.
+ NOTE: Backward-resize is an interesting feature and quite useful.
+ If you resize a window such that you hit the screen edge
+ in the process, the window resizes 'backwards' (i.e.
+ moves in the opposite direction to your drag and at the
+ same time continues increasing in size). So instead
+ of having to let go of the resize handle, move the window
+ and resize again, it just does what you want it to do.
+
+Button functions: (Missing functionality is marked with TODO)
+
+Button One:
+
+ Left button: TODO
+ Lower window and drop focus. This is currently unimplemented
+ in kwin itself.
+
+Button Two:
+
+ Left button: Close window.
+
+ Right button: TODO, if I can be bothered.
+ Close window.
+ If window is filer window, open another filer window
+ in parent dir.
+ If window is document window, open a filer window in
+ dir containing document.
+ If you hold Shift, the window doesn't close.
+ NOTE:
+ This requires app support.
+ If I were to implement this, I would do it in konqy
+ and probably not bother for other apps.
+
+Titlebar:
+
+ Left button: Raise, focus and move window
+
+ Middle button: Move window
+
+ Right button: Menu
+ Note: Buttons are this way around for compatibility with
+ other kwin themes.
+
+Button Three:
+
+ Left button: Iconify window.
+
+Button Four:
+
+ Left button: Maximise or restore window plus raise and focus.
+
+ Middle button: Maximise vertically or restore window plus raise and focus.
+
+ Right button: Maximise or restore window.
+
+Resize bar left/right:
+
+ Left button: Move that corner (resizes window) and raise
+
+ Other buttons: Same without raising
+
+Resize bar centre:
+
+ Left button: Move that edge (resizes window) and raise
+
+ Other buttons: Same without raising
+
+The lower bar is used for resizing. It works in the NeXT style.
+This doesn't exist on RISC OS. In RISC OS, there is a 'resize handle'
+in the lower right corner of the window (actually inside the window).
+
+To emulate this would mean covering part of the window with the decorations,
+which is not acceptable. RISC OS gets away with it by making sure that
+there is a vertical scrollbar visible at all times, which is just stupid.
+It's also an impossibility with X11, as the window manager does not know
+anything about scrollbars - they belong to the application, so don't ask
+me to implement it.
+
diff --git a/kwin-styles/riscos/Static.cpp b/kwin-styles/riscos/Static.cpp
new file mode 100644
index 00000000..675cdfc1
--- /dev/null
+++ b/kwin-styles/riscos/Static.cpp
@@ -0,0 +1,540 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+// for enable-final
+#ifdef Bool
+#undef Bool
+#endif
+
+#include <qimage.h>
+#include <qpixmap.h>
+#include <qpainter.h>
+#include <qptrlist.h>
+
+#include <kdecoration.h>
+
+// #include <ksimpleconfig.h>
+
+#include "Static.h"
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const texture_xpm[] = {
+"64 12 3 1",
+" c None",
+"a c #000000",
+"b c #FFFFFF",
+" b b b b b b b a b ",
+" b aa b aaa aaa b a b aab bb a ",
+" b b a b b b b aa b b aa ",
+" b b b a a b b b b aa ab ab ",
+" b b b b b b b ba ",
+" aaa aaa aa b b b b b b ",
+" b b bb a b aa b a a aaa a b ",
+" b b b b b a b b b b b",
+" b b b b a a b b aa b baa ",
+" a b a bb aa bb aa aaa b aa a ",
+" a a aab b b aa aab a b ",
+" b a b b aaa a b bb b b b b"};
+
+Static* Static::instance_ = NULL;
+
+Static::Static()
+{
+ instance_ = this;
+ _init();
+}
+
+Static::~Static()
+{
+ instance_ = NULL;
+}
+
+const QPixmap& Static::titleTextLeft(bool active) const
+{
+ return active ? aTitleTextLeft_ : iTitleTextLeft_;
+}
+
+const QPixmap& Static::titleTextRight(bool active) const
+{
+ return active ? aTitleTextRight_ : iTitleTextRight_;
+}
+
+const QPixmap& Static::resizeMidLeft(bool active) const
+{
+ return active ? aResizeMidLeft_ : iResizeMidLeft_;
+}
+
+const QPixmap& Static::resizeMidRight(bool active) const
+{
+ return active ? aResizeMidRight_ : iResizeMidRight_;
+}
+
+const QPixmap& Static::titleTextMid(bool active) const
+{
+ return active ? aTitleTextMid_ : iTitleTextMid_;
+}
+
+const QPixmap& Static::resizeMidMid(bool active) const
+{
+ return active ? aResizeMid_ : iResizeMid_;
+}
+
+const QPixmap& Static::resize(bool active) const
+{
+ return active ? aResize_ : iResize_;
+}
+
+int Static::animationStyle() const
+{
+ return animationStyle_;
+}
+
+int Static::titleHeight() const
+{
+ return titleHeight_;
+}
+
+int Static::resizeHeight() const
+{
+ return resizeHeight_;
+}
+
+void Static::_drawBorder(QPixmap &pix, int w, int h)
+{
+ // 0111111113
+ // 1122222235
+ // 12 46
+ // 12 46
+ // 12 46
+ // 1344444476
+ // 3566666667
+
+ painter_.begin(&pix);
+ painter_.translate(transx, transy);
+
+ QColor c0 = down_ ? palette_[7] : palette_[0];
+ QColor c1 = down_ ? palette_[6] : palette_[1];
+ QColor c2 = down_ ? palette_[5] : palette_[2];
+ QColor c3 = down_ ? palette_[4] : palette_[3];
+ QColor c4 = down_ ? palette_[3] : palette_[4];
+ QColor c5 = down_ ? palette_[2] : palette_[5];
+ QColor c6 = down_ ? palette_[2] : palette_[6];
+ QColor c7 = down_ ? palette_[1] : palette_[7];
+
+ painter_.setPen(c0);
+ painter_.drawPoint(0, 0);
+
+ painter_.setPen(c1);
+ painter_.drawPoint(1, 1);
+ painter_.drawLine(1, 0, w - 1, 0);
+ painter_.drawLine(0, 1, 0, h - 1);
+
+ painter_.setPen(c2);
+ painter_.drawLine(2, 1, w - 2, 1);
+ painter_.drawLine(1, 2, 1, h - 2);
+
+ painter_.setPen(c3);
+ painter_.drawPoint(0, h);
+ painter_.drawPoint(1, h - 1);
+ painter_.drawPoint(w, 0);
+ painter_.drawPoint(w - 1, 1);
+ painter_.fillRect(2, 2, w - 2, h - 2, c3);
+
+ painter_.setPen(c4);
+ painter_.drawLine(2, h - 1, w - 2, h - 1);
+ painter_.drawLine(w - 1, 2, w - 1, h - 2);
+
+ painter_.setPen(c5);
+ painter_.drawPoint(w, 1);
+ painter_.drawPoint(1, h);
+
+ painter_.setPen(c6);
+ painter_.drawLine(w, 2, w, h - 1);
+ painter_.drawLine(2, h, w - 1, h);
+
+ painter_.setPen(c7);
+ painter_.drawPoint(w - 1, h - 1);
+ painter_.drawPoint(w, h);
+
+ painter_.end();
+
+ painter_.resetXForm();
+}
+
+void setPalette(Palette &pal, QColor c)
+{
+ pal[3] = c.rgb();
+
+ int h, s, v;
+ c.hsv(&h, &s, &v);
+
+ if (v < 72)
+ c.setHsv(h, s, 72);
+
+ pal[0] = c.light(200).rgb();
+ pal[1] = c.light(166).rgb();
+ pal[2] = c.light(125).rgb();
+ pal[4] = c.dark(133).rgb();
+ pal[5] = c.dark(166).rgb();
+ pal[6] = c.dark(200).rgb();
+ pal[7] = c.dark(300).rgb();
+}
+
+void Static::_init()
+{
+ hicolour_ = QPixmap::defaultDepth() > 8;
+ animationStyle_ = 0;
+ updatePixmaps();
+}
+
+void Static::reset()
+{
+ updatePixmaps();
+// Workspace::self()->slotResetAllClientsDelayed();
+}
+
+void Static::updatePixmaps()
+{
+ _initSizes();
+
+ _resizeAllPixmaps();
+
+ _blankAllPixmaps();
+
+ if (hicolour_)
+ {
+ _initPalettes();
+ _initTextures();
+ }
+
+ _drawTitleTextAreaSides();
+
+ _drawResizeCentralAreaSides();
+
+ _drawTitleTextAreaBackground();
+
+ _drawResizeCentralAreaBackground();
+
+ _drawResizeHandles();
+
+ _drawButtonBackgrounds();
+}
+
+void Static::_createTexture(QPixmap &px, int t, bool active)
+{
+ const QImage texture(QPixmap((const char **)texture_xpm).convertToImage());
+ const QRgb w(qRgb(255, 255, 255));
+ const QRgb b(qRgb(0, 0, 0));
+
+ QColor c(KDecoration::options()->color(KDecoration::ColorType(t), active));
+
+ QRgb mid (c.rgb());
+ QRgb light (c.light(110).rgb());
+ QRgb dark (c.dark(110).rgb());
+
+ QRgb* data(reinterpret_cast<QRgb *>(texture.bits()));
+
+ for (int x = 0; x < 64*12; x++)
+ if (data[x] == w)
+ data[x] = light;
+ else if (data[x] == b)
+ data[x] = dark;
+ else
+ data[x] = mid;
+
+ px.convertFromImage(texture);
+}
+
+const QPixmap& Static::buttonBase(bool active, bool down) const
+{
+ if (active)
+ return down ? aButtonDown_ : aButtonUp_;
+ else
+ return down ? iButtonDown_ : iButtonUp_;
+}
+
+void Static::_initSizes()
+{
+ QFont f(KDecoration::options()->font(true)); // XXX false doesn't work right at the moment
+
+ QFontMetrics fm(f);
+
+ int h = fm.height();
+
+ titleHeight_ = h + 6;
+
+ if (titleHeight_ < 20)
+ titleHeight_ = 20;
+
+ buttonSize_ = titleHeight_ - 1;
+
+ resizeHeight_ = 10;
+}
+
+void Static::_resizeAllPixmaps()
+{
+ aResize_ .resize(30, resizeHeight_);
+ iResize_ .resize(30, resizeHeight_);
+ aTitleTextLeft_ .resize( 3, titleHeight_);
+ aTitleTextRight_.resize( 3, titleHeight_);
+ iTitleTextLeft_ .resize( 3, titleHeight_);
+ iTitleTextRight_.resize( 3, titleHeight_);
+ aTitleTextMid_ .resize(64, titleHeight_);
+ iTitleTextMid_ .resize(64, titleHeight_);
+ aResizeMidLeft_ .resize( 3, resizeHeight_);
+ aResizeMidRight_.resize( 3, resizeHeight_);
+ iResizeMidLeft_ .resize( 3, resizeHeight_);
+ iResizeMidRight_.resize( 3, resizeHeight_);
+ aResizeMid_ .resize(64, resizeHeight_);
+ iResizeMid_ .resize(64, resizeHeight_);
+
+ aButtonUp_ .resize(buttonSize_, buttonSize_);
+ iButtonUp_ .resize(buttonSize_, buttonSize_);
+ aButtonDown_ .resize(buttonSize_, buttonSize_);
+ iButtonDown_ .resize(buttonSize_, buttonSize_);
+}
+
+void Static::_blankAllPixmaps()
+{
+ aResize_ .fill(Qt::black);
+ iResize_ .fill(Qt::black);
+ aTitleTextLeft_ .fill(Qt::black);
+ aTitleTextRight_.fill(Qt::black);
+ iTitleTextLeft_ .fill(Qt::black);
+ iTitleTextRight_.fill(Qt::black);
+ aTitleTextMid_ .fill(Qt::black);
+ iTitleTextMid_ .fill(Qt::black);
+ aResizeMidLeft_ .fill(Qt::black);
+ aResizeMidRight_.fill(Qt::black);
+ iResizeMidLeft_ .fill(Qt::black);
+ iResizeMidRight_.fill(Qt::black);
+ aResizeMid_ .fill(Qt::black);
+ iResizeMid_ .fill(Qt::black);
+ aButtonUp_ .fill(Qt::black);
+ iButtonUp_ .fill(Qt::black);
+ aButtonDown_ .fill(Qt::black);
+ iButtonDown_ .fill(Qt::black);
+}
+
+void Static::_initPalettes()
+{
+ const KDecorationOptions* options = KDecoration::options();
+ setPalette(aButPal_, options->color(KDecoration::ColorButtonBg, true));
+ setPalette(iButPal_, options->color(KDecoration::ColorButtonBg, false));
+
+ setPalette(aTitlePal_, options->color(KDecoration::ColorTitleBar, true));
+ setPalette(iTitlePal_, options->color(KDecoration::ColorTitleBar, false));
+
+ setPalette(aResizePal_, options->color(KDecoration::ColorTitleBar, true));
+ setPalette(iResizePal_, options->color(KDecoration::ColorTitleBar, false));
+}
+
+void Static::_initTextures()
+{
+ _createTexture(aTexture_, KDecoration::ColorTitleBar, true);
+ _createTexture(iTexture_, KDecoration::ColorTitleBar, false);
+ _createTexture(abTexture_, KDecoration::ColorButtonBg, true);
+ _createTexture(ibTexture_, KDecoration::ColorButtonBg, false);
+}
+
+void Static::_drawTitleTextAreaSides()
+{
+ QPixmap temp(4, titleHeight_);
+ temp.fill(Qt::black);
+
+ transx = transy = 0.0;
+
+ palette_ = aTitlePal_;
+ down_ = false;
+
+ _drawBorder(temp, 4, titleHeight_ - 2);
+
+ painter_.begin(&aTitleTextLeft_);
+ painter_.drawPixmap(1, 1, temp, 0, 1);
+ painter_.end();
+
+ painter_.begin(&aTitleTextRight_);
+ painter_.drawPixmap(0, 1, temp, 2, 1);
+ painter_.end();
+
+ palette_ = iTitlePal_;
+ _drawBorder(temp, 4, titleHeight_ - 2);
+
+ painter_.begin(&iTitleTextLeft_);
+ painter_.drawPixmap(1, 1, temp, 0, 1);
+ painter_.end();
+
+ painter_.begin(&iTitleTextRight_);
+ painter_.drawPixmap(0, 1, temp, 2, 1);
+ painter_.end();
+}
+
+void Static::_drawResizeCentralAreaSides()
+{
+ QPixmap temp(4, resizeHeight_);
+ temp.fill(Qt::black);
+
+ transy = 1.0;
+
+ palette_ = aResizePal_;
+
+ _drawBorder(temp, 4, resizeHeight_ - 3);
+
+ painter_.begin(&aResizeMidLeft_);
+ painter_.drawPixmap(0, 1, temp, 0, 1);
+ painter_.end();
+
+ painter_.begin(&aResizeMidRight_);
+ painter_.drawPixmap(0, 1, temp, 2, 1);
+ painter_.end();
+
+ palette_ = iResizePal_;
+ _drawBorder(temp, 4, resizeHeight_ - 3);
+
+ painter_.begin(&iResizeMidLeft_);
+ painter_.drawPixmap(0, 1, temp, 0, 1);
+ painter_.end();
+
+ painter_.begin(&iResizeMidRight_);
+ painter_.drawPixmap(0, 1, temp, 2, 1);
+ painter_.end();
+}
+
+void Static::_drawTitleTextAreaBackground()
+{
+ QPixmap temp(70, titleHeight_);
+ temp.fill(Qt::black);
+
+ transx = transy = 0.0;
+
+ palette_ = aTitlePal_;
+ _drawBorder(temp, 70, titleHeight_ - 3);
+
+ painter_.begin(&aTitleTextMid_);
+ painter_.drawPixmap(0, 1, temp, 2, 0);
+ if (hicolour_)
+ painter_.drawTiledPixmap(0, 4, 64, titleHeight_ - 8, aTexture_);
+ painter_.end();
+
+ palette_ = iTitlePal_;
+ _drawBorder(temp, 70, titleHeight_ - 3);
+
+ painter_.begin(&iTitleTextMid_);
+ painter_.drawPixmap(0, 1, temp, 2, 0);
+ if (hicolour_)
+ painter_.drawTiledPixmap(0, 4, 64, titleHeight_ - 8, iTexture_);
+ painter_.end();
+}
+
+void Static::_drawResizeCentralAreaBackground()
+{
+ QPixmap temp(70, titleHeight_);
+ temp.fill(Qt::black);
+
+ transy = 1.0;
+
+ palette_ = aResizePal_;
+ _drawBorder(temp, 70, resizeHeight_ - 3);
+
+ painter_.begin(&aResizeMid_);
+ painter_.drawPixmap(0, 0, temp, 2, 0);
+ if (hicolour_)
+ painter_.drawTiledPixmap(0, 4, 64, resizeHeight_ - 8, aTexture_);
+ painter_.end();
+
+ palette_ = iResizePal_;
+ _drawBorder(temp, 70, 7);
+
+ painter_.begin(&iResizeMid_);
+ painter_.drawPixmap(0, 0, temp, 2, 0);
+ if (hicolour_)
+ painter_.drawTiledPixmap(0, 4, 64, resizeHeight_ - 8, iTexture_);
+ painter_.end();
+}
+
+void Static::_drawResizeHandles()
+{
+ transx = transy = 1.0;
+
+ down_ = false;
+
+ palette_ = aResizePal_;
+ _drawBorder(aResize_, 28, resizeHeight_ - 3);
+
+ if (hicolour_)
+ {
+ painter_.begin(&aResize_);
+ painter_.drawTiledPixmap(4, 4, 20, resizeHeight_ - 8, aTexture_);
+ painter_.end();
+ }
+
+ palette_ = iResizePal_;
+ _drawBorder(iResize_, 28, resizeHeight_ - 3);
+
+ if (hicolour_)
+ {
+ painter_.begin(&iResize_);
+ painter_.drawTiledPixmap(4, 4, 20, resizeHeight_ - 8, iTexture_);
+ painter_.end();
+ }
+}
+
+void Static::_drawButtonBackgrounds()
+{
+ buttonSize_ -= 2;
+
+ down_ = false;
+ transx = 0.0;
+ transy = 1.0;
+ palette_ = aButPal_;
+ _drawBorder(aButtonUp_, buttonSize_, buttonSize_);
+ down_ = true;
+ _drawBorder(aButtonDown_, buttonSize_, buttonSize_);
+
+ palette_ = iButPal_;
+ _drawBorder(iButtonDown_, buttonSize_, buttonSize_);
+ down_ = false;
+ _drawBorder(iButtonUp_, buttonSize_, buttonSize_);
+
+ painter_.begin(&aButtonUp_);
+
+ if (hicolour_)
+ painter_.drawTiledPixmap(2, 4, buttonSize_ - 4, buttonSize_ - 5,
+ abTexture_);
+
+ painter_.end();
+
+ painter_.begin(&iButtonUp_);
+ if (hicolour_)
+ painter_.drawTiledPixmap(2, 4, buttonSize_ - 4, buttonSize_ - 5,
+ ibTexture_);
+
+ painter_.end();
+}
+
+} // End namespace
+
+// vim:ts=2:sw=2:tw=78
+
diff --git a/kwin-styles/riscos/Static.h b/kwin-styles/riscos/Static.h
new file mode 100644
index 00000000..8a01d03b
--- /dev/null
+++ b/kwin-styles/riscos/Static.h
@@ -0,0 +1,134 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_STATIC_H
+#define RISC_OS_STATIC_H
+
+#include <qimage.h>
+#include <qpixmap.h>
+#include <qpainter.h>
+#include <qstringlist.h>
+
+#include "Palette.h"
+
+namespace RiscOS
+{
+
+enum SymbolType { Lower, Close, Iconify, Max, Unmax };
+
+class Static
+{
+ public:
+
+ Static();
+
+ ~Static();
+
+ static Static* instance()
+ {
+ if (instance_ == 0)
+ new Static;
+
+ return instance_;
+ }
+
+ void reset();
+ void updatePixmaps();
+
+ const QPixmap& titleTextLeft(bool active) const;
+ const QPixmap& titleTextRight(bool active) const;
+ const QPixmap& resizeMidLeft(bool active) const;
+ const QPixmap& resizeMidRight(bool active) const;
+ const QPixmap& titleTextMid(bool active) const;
+ const QPixmap& resizeMidMid(bool active) const;
+ const QPixmap& buttonBase(bool active, bool down) const;
+ const QPixmap& resize(bool active) const;
+
+ int animationStyle() const;
+ int titleHeight() const;
+ int resizeHeight() const;
+
+ private:
+
+ void _init();
+
+ void _drawBorder(QPixmap&, int, int);
+ void _createTexture(QPixmap&, int, bool);
+
+ void _initSizes();
+
+ void _resizeAllPixmaps();
+ void _blankAllPixmaps();
+
+ void _initPalettes();
+ void _initTextures();
+
+ void _drawTitleTextAreaSides();
+ void _drawResizeCentralAreaSides();
+ void _drawTitleTextAreaBackground();
+ void _drawResizeCentralAreaBackground();
+ void _drawResizeHandles();
+ void _drawButtonBackgrounds();
+
+ static Static *instance_;
+
+ Palette
+ aTitlePal_,
+ iTitlePal_,
+ aResizePal_,
+ iResizePal_,
+ aButPal_,
+ iButPal_;
+
+ QPixmap
+ aButtonUp_, iButtonUp_,
+ aButtonDown_, iButtonDown_,
+ aResize_, iResize_,
+ aResizeDown_, iResizeDown_,
+ aTitleTextLeft_, iTitleTextLeft_,
+ aTitleTextRight_, iTitleTextRight_,
+ aTitleTextMid_, iTitleTextMid_,
+ aResizeMidLeft_, iResizeMidLeft_,
+ aResizeMidRight_, iResizeMidRight_,
+ aResizeMid_, iResizeMid_;
+
+ QPixmap aTexture_, iTexture_, abTexture_, ibTexture_;
+
+ QPainter painter_;
+ bool down_;
+ Palette palette_;
+ double transx, transy;
+
+ int animationStyle_;
+
+ int titleHeight_;
+ int buttonSize_;
+ int resizeHeight_;
+
+ bool hicolour_;
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/StickyButton.cpp b/kwin-styles/riscos/StickyButton.cpp
new file mode 100644
index 00000000..808f04c7
--- /dev/null
+++ b/kwin-styles/riscos/StickyButton.cpp
@@ -0,0 +1,99 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "StickyButton.h"
+
+#include <qtooltip.h>
+
+namespace RiscOS
+{
+
+/* XPM */
+static const char * const unsticky_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ... ",
+" .+++. ",
+" .+++. ",
+" .+++. ",
+" .+++. ",
+" .+++++. ",
+" .+++++++. ",
+".+++++++++. ",
+".....+..... ",
+" .+. ",
+" .+. ",
+" . "};
+
+/* XPM */
+static const char * const sticky_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" . ",
+" .+. ",
+" .+++. ",
+" .+++++.",
+" ....+++++. ",
+" .++++++. ",
+" .++++. ",
+" .+++. ",
+" .+..+. ",
+" .+. .. ",
+".+. . ",
+".. "};
+
+
+StickyButton::StickyButton(QWidget *parent)
+ : Button(parent, i18n("On all desktops")), on_(false)
+{
+ setPixmap(QPixmap((const char **)sticky_xpm));
+}
+
+void StickyButton::setOn(bool on)
+{
+ on_ = on;
+ setPixmap(on_ ? QPixmap((const char **)unsticky_xpm) :
+ QPixmap((const char **)sticky_xpm));
+ repaint();
+ QToolTip::remove(this);
+ QToolTip::add(this, on_ ? i18n("Not on all desktops")
+ : i18n("On all desktops"));
+}
+
+void StickyButton::mouseReleaseEvent(QMouseEvent *e)
+{
+ Button::mouseReleaseEvent(e);
+
+ if (!rect().contains(e->pos()))
+ return;
+
+ emit(toggleSticky());
+}
+
+} // End namespace
+
+// vim:ts=2:sw=2:tw=78
+#include "StickyButton.moc"
diff --git a/kwin-styles/riscos/StickyButton.h b/kwin-styles/riscos/StickyButton.h
new file mode 100644
index 00000000..fb7746ae
--- /dev/null
+++ b/kwin-styles/riscos/StickyButton.h
@@ -0,0 +1,60 @@
+/*
+ RISC OS KWin client
+
+ Copyright 2000
+ Rik Hemsley <rik@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef RISC_OS_STICKY_BUTTON_H
+#define RISC_OS_STICKY_BUTTON_H
+
+#include "Button.h"
+
+namespace RiscOS
+{
+
+class StickyButton : public Button
+{
+ Q_OBJECT
+
+ public:
+
+ StickyButton(QWidget *parent);
+
+ public slots:
+
+ void setOn(bool);
+
+ signals:
+
+ void toggleSticky();
+
+ protected:
+
+ void mouseReleaseEvent(QMouseEvent *);
+
+ private:
+
+ bool on_;
+};
+
+} // End namespace
+
+#endif
+
+// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/riscos.desktop b/kwin-styles/riscos/riscos.desktop
new file mode 100644
index 00000000..194b3017
--- /dev/null
+++ b/kwin-styles/riscos/riscos.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=RISC OS
+Name[cs]=Risc OS
+Name[cy]= RISC OS
+Name[hi]=रिस्क ओएस
+Name[ta]=RISC இ.த
+Name[th]=ระบบปฏิบัติการบนชิพ RISC
+Name[uk]=RISC ОС
+Name[xh]=i RISC OS
+Name[zu]=IRISC OS
+X-KDE-Library=kwin3_riscos
diff --git a/kwin-styles/smooth-blend/AUTHORS b/kwin-styles/smooth-blend/AUTHORS
new file mode 100644
index 00000000..c96228bb
--- /dev/null
+++ b/kwin-styles/smooth-blend/AUTHORS
@@ -0,0 +1 @@
+Ryan Nickell p0z3r@users.sourceforge.net
diff --git a/kwin-styles/smooth-blend/COPYING b/kwin-styles/smooth-blend/COPYING
new file mode 100644
index 00000000..e065ffa0
--- /dev/null
+++ b/kwin-styles/smooth-blend/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/kwin-styles/smooth-blend/CREDITS b/kwin-styles/smooth-blend/CREDITS
new file mode 100644
index 00000000..f473e2ea
--- /dev/null
+++ b/kwin-styles/smooth-blend/CREDITS
@@ -0,0 +1,5 @@
+Justin Berstler aka spasemunkie on kdelook.org - spasemunkie at gmail.com : for his buttons!
+Rick aka bitwit on kdelook.org - bitwit at digilanti.org : for his kwin_template
+David Johnson - david at usermode.org : for his example kwin tutorial
+Thomas Lübking aka thomas12777 on kdelook.org - baghira-style at gmx.net : for answering questions on getting pixmap buttons into code
+Scott Grayban aka sgrayban on kdelook.org : for testing and hosting the files to be downloaded
diff --git a/kwin-styles/smooth-blend/ChangeLog b/kwin-styles/smooth-blend/ChangeLog
new file mode 100644
index 00000000..7b8fbcf2
--- /dev/null
+++ b/kwin-styles/smooth-blend/ChangeLog
@@ -0,0 +1,22 @@
+03.16.2005: (1.0 release)
+-----------
+Double click actions to maximize now show corresponding buttons
+when maximized.
+Windows that open maximized show the correct button and restoring
+changes the button to the restore button as one would expect.
+Removal of the title bar separator line, to complete the feel of
+a "smooth blend".
+
+02.28.2005: (beta2)
+-----------
+Added kcontrol config option to remove titlebar separator line.
+Application icons now resize to match the size of the buttons
+instead of being a fixed size 16x16 icon.
+Added button animations for mouse hover; configurable in kcontrol
+to either Intensify or Fade.
+Fixed some title bar drawing that wasn't correctly sectioned off.
+
+
+02.22.2005: (beta1)
+-----------
+smoothblend-beta1 released.
diff --git a/kwin-styles/smooth-blend/INSTALL b/kwin-styles/smooth-blend/INSTALL
new file mode 100644
index 00000000..02a4a074
--- /dev/null
+++ b/kwin-styles/smooth-blend/INSTALL
@@ -0,0 +1,167 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes a while. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 4. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/kwin-styles/smooth-blend/Makefile.am b/kwin-styles/smooth-blend/Makefile.am
new file mode 100644
index 00000000..44ac1828
--- /dev/null
+++ b/kwin-styles/smooth-blend/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = client
diff --git a/kwin-styles/smooth-blend/NEWS b/kwin-styles/smooth-blend/NEWS
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/kwin-styles/smooth-blend/NEWS
diff --git a/kwin-styles/smooth-blend/README b/kwin-styles/smooth-blend/README
new file mode 100644
index 00000000..836fbe5d
--- /dev/null
+++ b/kwin-styles/smooth-blend/README
@@ -0,0 +1,15 @@
+Smooth Blend - a smooth blending of the window background color into the titlebar.
+
+This is my first attempt at a KDE window decoration.
+Any comments would be much appreciated and can be sent
+to me directly at p0z3r@users.sourceforge.net.
+
+Limitations:
+The Frame Width can not be smaller than 2 pixels because it will lose the top gradient.
+The buttonsize can not be larger than the Title Height - Frame Width.
+
+Known Problems:
+The Shade button doesn't work correctly although the code is there for it.
+The Resize button is also afflicted with the same problem.
+Support for the Shade button and Resize buttons may or may not be supported depending
+upon what I find through the kde mailing lists and other documentation.
diff --git a/kwin-styles/smooth-blend/TODO b/kwin-styles/smooth-blend/TODO
new file mode 100644
index 00000000..6a7bd0a8
--- /dev/null
+++ b/kwin-styles/smooth-blend/TODO
@@ -0,0 +1,4 @@
+TODO
+----
+Code cleanup and separation of different classes into individual files.
+Use pixmaps instead of images for reducing the drawing impact.
diff --git a/kwin-styles/smooth-blend/client/Makefile.am b/kwin-styles/smooth-blend/client/Makefile.am
new file mode 100644
index 00000000..bd64ee62
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/Makefile.am
@@ -0,0 +1,20 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = config
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes) -I$(kde_includes)/kwin
+
+kwindir = $(kde_datadir)/kwin/
+kwin_DATA = smoothblend.desktop
+
+noinst_HEADERS = smoothblend.h buttons.h
+
+kde_module_LTLIBRARIES = kwin3_smoothblend.la
+kwin3_smoothblend_la_SOURCES = smoothblend.cc
+kwin3_smoothblend_la_LIBADD = -lkdecorations
+kwin3_smoothblend_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -lkdecore -module
+kwin3_smoothblend_la_METASOURCES = AUTO
+
+DISTCLEANFILES = $(kwin3_smoothblend_la_METASOURCES)
diff --git a/kwin-styles/smooth-blend/client/buttons.h b/kwin-styles/smooth-blend/client/buttons.h
new file mode 100644
index 00000000..a62268b7
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/buttons.h
@@ -0,0 +1,1798 @@
+/****************************************************************************
+** Image collection for project 'smoothblend'.
+**
+** Generated from reading image files:
+** circle.png
+** close.png
+** help.png
+** keep_above_lit.png
+** keep_above.png
+** keep_below_lit.png
+** keep_below.png
+** maximize.png
+** minimize.png
+** restore.png
+** shade.png
+** splat.png
+** titlealpha.png
+** window_background.png
+** window_foreground.png
+**
+** Created: Sun Jul 31 20:04:32 2005
+** by: The User Interface Compiler ($Id$)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include <qimage.h>
+#include <qdict.h>
+#include <qmime.h>
+#include <qdragobject.h>
+
+// circle.png
+static const unsigned char image_0_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x55,0x47,0x14,0x86,
+ 0x51,0x2b,0xee,0x28,0x04,0x23,0x31,0x06,0x6d,0x50,0xa3,0x46,0x8d,0x4b,
+ 0x24,0xae,0x18,0x8c,0xbb,0x56,0x50,0xc1,0x14,0x63,0xb0,0xda,0x52,0x53,
+ 0x44,0xb1,0xb1,0x35,0x8a,0x8a,0x58,0x82,0x1b,0x45,0x52,0xb0,0x01,0xa9,
+ 0xb5,0xa4,0x56,0xa0,0xa5,0x54,0x6d,0xc3,0x52,0x89,0xb1,0xd8,0xb2,0xd3,
+ 0x57,0x40,0x2b,0xc8,0x8e,0xc8,0x0e,0x56,0x11,0x78,0x50,0x1e,0x6f,0xfa,
+ 0x9f,0xf1,0xde,0x97,0x7b,0xe1,0xdd,0xc7,0x43,0x8b,0x30,0xc9,0x17,0x75,
+ 0xee,0x3d,0x73,0xfe,0x99,0x3b,0xe7,0x9c,0x99,0xa7,0x89,0x49,0xb7,0x66,
+ 0x03,0x3e,0x04,0x61,0x20,0x13,0x3c,0xe8,0x63,0xee,0x83,0x78,0x10,0x00,
+ 0x76,0x81,0xb7,0xba,0x4b,0xd2,0x35,0x2b,0x10,0x0a,0x3a,0x00,0x13,0x31,
+ 0x33,0x33,0xeb,0xe8,0x4b,0xc6,0x8c,0x19,0x23,0xf3,0x07,0xea,0xc1,0x01,
+ 0x60,0xda,0x45,0x9f,0xf5,0xa0,0x41,0x83,0x1a,0xe9,0x1d,0x4b,0x4b,0xcb,
+ 0x8e,0xa0,0xa0,0xa0,0xca,0xb4,0xb4,0xb4,0xe2,0x8e,0x8e,0x8e,0xbf,0x19,
+ 0x63,0x7d,0x8e,0x5a,0xad,0x7e,0x78,0xfb,0xf6,0xed,0x52,0x1f,0x1f,0x9f,
+ 0x1a,0x53,0x53,0xd3,0x4e,0x41,0xeb,0xef,0x92,0x35,0x35,0x87,0xbe,0x47,
+ 0xd4,0x7f,0xfc,0xf8,0xf1,0x5a,0x8d,0x46,0xf3,0x46,0x74,0x29,0xd1,0xd4,
+ 0xd4,0x94,0x67,0x67,0x67,0xf7,0x42,0xd0,0x19,0x26,0x68,0xfc,0x9c,0xfe,
+ 0xbd,0x6f,0xdf,0xbe,0x86,0xfe,0xd4,0x26,0xe5,0xf9,0xf3,0xe7,0x79,0x33,
+ 0x67,0xce,0x54,0x0b,0x3a,0xed,0x40,0x2e,0xad,0x6f,0x4b,0x4b,0xcb,0xc3,
+ 0xfe,0xd6,0x26,0x25,0x22,0x22,0xe2,0xb1,0xa0,0xd1,0x17,0x68,0x17,0x2f,
+ 0x5e,0xdc,0xdc,0xdf,0x9a,0xba,0x52,0x5f,0x5f,0x9f,0x3f,0x78,0xf0,0x60,
+ 0x2d,0xf4,0xfd,0x46,0x5a,0x9d,0x9c,0x9c,0xfe,0x41,0xff,0xfd,0x81,0x06,
+ 0x62,0x5e,0x23,0xe4,0x26,0xb6,0x6d,0xdb,0xb6,0x46,0xad,0x56,0xab,0x7a,
+ 0x55,0x10,0xff,0xaa,0x8a,0x8a,0x8a,0xdc,0xc4,0xc4,0xc4,0x47,0x91,0x91,
+ 0x91,0x45,0xc9,0xc9,0xc9,0x79,0x75,0x75,0x75,0x39,0xaf,0x33,0x26,0x31,
+ 0x7a,0xf4,0xe8,0x0e,0x51,0xe3,0xd6,0xad,0x5b,0xeb,0xd1,0x97,0xd1,0x5b,
+ 0x62,0x63,0x63,0xf3,0xf0,0x0d,0xea,0x47,0x8e,0x1c,0xa9,0xe9,0x92,0xe3,
+ 0x38,0xd3,0xa6,0x4d,0x6b,0x39,0x76,0xec,0x58,0x45,0x71,0x71,0x71,0xf6,
+ 0xab,0x8c,0x2f,0xd5,0xe8,0xe8,0xe8,0x58,0x87,0xb5,0x4d,0x31,0x96,0x9c,
+ 0x9c,0x1c,0xd5,0x8a,0x15,0x2b,0x9e,0x8a,0x5a,0x86,0x0d,0x1b,0x46,0xfb,
+ 0x85,0x1d,0x3e,0x7c,0x98,0x9d,0x3d,0x7b,0x96,0xb9,0xbb,0xbb,0x33,0x07,
+ 0x07,0x07,0x86,0xfd,0xc4,0x9f,0x23,0x26,0xb5,0x5e,0x5e,0x5e,0x65,0xcd,
+ 0xcd,0xcd,0x69,0xbd,0xf1,0x23,0xd5,0x88,0xf1,0x6a,0xd0,0x77,0xcf,0x18,
+ 0x10,0x6f,0x0f,0x46,0x8d,0x1a,0xc5,0xd7,0x6d,0xee,0xdc,0xb9,0x2c,0x21,
+ 0x21,0x81,0x61,0xce,0x4c,0x5f,0xc3,0x1e,0x60,0xe1,0xe1,0xe1,0xcc,0xc2,
+ 0xc2,0x82,0x6b,0x9d,0x3d,0x7b,0x76,0x53,0x69,0x69,0x69,0x9a,0xb1,0xbe,
+ 0xa0,0xf1,0x5f,0x51,0xe3,0x96,0x2d,0x5b,0xaa,0xd0,0x77,0xa7,0x27,0xae,
+ 0x5e,0xbd,0x9a,0x4b,0xb1,0x86,0x75,0x61,0xd7,0xaf,0x5f,0xd7,0xab,0x4b,
+ 0x5f,0xc3,0xfa,0xb1,0x0d,0x1b,0x36,0x70,0x9d,0x13,0x26,0x4c,0x50,0xd7,
+ 0xd6,0xd6,0x26,0x19,0xe3,0x0f,0x6b,0xa1,0xd3,0xb8,0x79,0xf3,0xe6,0x4a,
+ 0xf4,0xfd,0x6a,0x08,0xd4,0xc6,0xe4,0xe1,0xc3,0x87,0x6b,0x48,0x1f,0xfe,
+ 0x6e,0xb4,0x3e,0x69,0xf3,0xf0,0xf0,0xe0,0x3a,0x91,0x9f,0x9f,0xa1,0xfe,
+ 0x25,0xf6,0xe4,0x53,0xaa,0x71,0xd3,0xa6,0x4d,0x15,0xe8,0x8b,0x55,0xa2,
+ 0xb3,0xb3,0x33,0x76,0xfa,0xf4,0xe9,0xcf,0x50,0x33,0xd9,0xcd,0x9b,0x37,
+ 0xbb,0xf9,0xbe,0x7b,0xf7,0x2e,0x73,0x73,0x73,0x63,0xf3,0xe6,0xcd,0x63,
+ 0xe6,0xe6,0xe6,0x6c,0xd5,0xaa,0x55,0xec,0xc4,0x89,0x13,0xac,0xb2,0xb2,
+ 0x52,0xf6,0x1e,0xed,0x09,0xda,0xa7,0xe4,0xf3,0xc8,0x91,0x23,0x0f,0x0d,
+ 0xf9,0x24,0xa4,0x1a,0x37,0x6e,0xdc,0xf8,0x18,0x7d,0xb7,0x94,0xc0,0x19,
+ 0x83,0xce,0x68,0xcc,0xd9,0xd9,0x59,0xe6,0xb3,0xb5,0xb5,0x95,0xed,0xdf,
+ 0xbf,0x9f,0x91,0x76,0x7a,0x4e,0x7f,0x4e,0x9e,0x3c,0xb9,0x49,0x8c,0xa5,
+ 0xb1,0x63,0xc7,0xb2,0x98,0x98,0x18,0x99,0x4d,0x43,0x43,0x03,0xef,0xa7,
+ 0xbd,0x86,0xfc,0x14,0x67,0xc8,0x2f,0x34,0xb6,0x8b,0x1a,0xb1,0x57,0xca,
+ 0x31,0xc7,0x18,0x25,0xe6,0xcc,0x99,0x53,0x4f,0xfe,0x0b,0x0a,0x0a,0x64,
+ 0xfe,0x76,0xee,0xdc,0x29,0xee,0xb1,0x96,0xa8,0xa8,0xa8,0x7b,0x38,0x8f,
+ 0xf0,0xf7,0xdb,0xdb,0xdb,0x7f,0xf2,0xf3,0xf3,0xcb,0xc2,0xbe,0xe0,0xb1,
+ 0x15,0x1d,0x1d,0x2d,0xb3,0xf3,0xf5,0xf5,0xe5,0x76,0xde,0xde,0xde,0x2a,
+ 0x43,0x7e,0xa5,0x1a,0xd7,0xaf,0x5f,0x5f,0x0a,0xd3,0x28,0x7d,0x94,0x97,
+ 0x97,0xdf,0xa0,0x38,0x41,0xbd,0x94,0xf9,0x41,0x6e,0xe4,0x7e,0xb0,0x07,
+ 0x1a,0xa1,0xed,0x7b,0x7d,0xb6,0xc8,0xe5,0x71,0x43,0x87,0x0e,0xed,0xa4,
+ 0xb8,0xc6,0x9a,0xe9,0x6c,0x4b,0x4a,0x4a,0xb8,0xed,0xa2,0x45,0x8b,0xaa,
+ 0x94,0xfc,0x12,0xc8,0xbb,0x3a,0x8d,0x6b,0xd7,0xae,0x2d,0x46,0xdf,0x77,
+ 0xfa,0x08,0x09,0x09,0xe1,0xf5,0xf2,0xf4,0xe9,0xd3,0x32,0x8d,0xcb,0x96,
+ 0x2d,0xa3,0xfc,0xa7,0x45,0xae,0xbc,0xa1,0x64,0x4b,0x1c,0x3c,0x78,0x50,
+ 0x45,0xf6,0xe7,0xce,0x9d,0x93,0xd9,0xcf,0x98,0x31,0x83,0xf2,0xaa,0xc6,
+ 0x90,0xad,0x54,0xe3,0x9a,0x35,0x6b,0x8a,0xd0,0x17,0xae,0x8f,0xa3,0x47,
+ 0x8f,0xa6,0xd2,0x3b,0xd7,0xae,0x5d,0xd3,0x8d,0x8f,0x75,0x63,0xb0,0x67,
+ 0xd6,0xd6,0xd6,0x4f,0x95,0xec,0x44,0xb2,0xb3,0xb3,0x7f,0x24,0xfb,0xed,
+ 0xdb,0xb7,0xcb,0x34,0x22,0x06,0xf8,0x5a,0x56,0x55,0x55,0x45,0x28,0xd9,
+ 0xc2,0x47,0x9b,0xa8,0x71,0xf5,0xea,0xd5,0x05,0xf8,0xfe,0x57,0xf4,0xb1,
+ 0x67,0xcf,0x9e,0x3f,0xe9,0x1d,0xca,0xd5,0x62,0x43,0x6d,0xe3,0xe3,0xa3,
+ 0xd6,0x14,0x2b,0xd9,0x49,0xa1,0x7d,0x89,0x7c,0x23,0xd3,0xb8,0x7b,0xf7,
+ 0x6e,0x3e,0x46,0x4a,0x4a,0x4a,0xb4,0x92,0x9d,0x54,0x23,0x72,0x45,0x3e,
+ 0xcc,0x42,0xf4,0x71,0xe8,0xd0,0xa1,0x3f,0xe8,0x1d,0xc4,0x84,0x6e,0x7c,
+ 0xe4,0x36,0x86,0x7d,0xc6,0x6c,0x6c,0x6c,0x6a,0x95,0xec,0x44,0x0a,0x0b,
+ 0x0b,0xc3,0x85,0xb8,0x94,0x69,0x14,0x73,0x10,0xe6,0x1b,0xae,0x64,0x3b,
+ 0x62,0xc4,0x08,0x9d,0x46,0x7b,0x7b,0xfb,0x3c,0xf4,0x05,0xeb,0xe3,0xfc,
+ 0xf9,0xf3,0x74,0x67,0x63,0xfe,0xfe,0xfe,0x32,0x1f,0xf3,0xe7,0xcf,0x27,
+ 0x9d,0x9a,0x9a,0x9a,0x9a,0xcb,0x4a,0xb6,0xc4,0xa9,0x53,0xa7,0x12,0xc9,
+ 0xfe,0xe4,0xc9,0x93,0x32,0xfb,0x05,0x0b,0x16,0xb0,0x21,0x43,0x86,0x74,
+ 0x62,0xdf,0x5c,0x52,0xb2,0x95,0x6a,0x5c,0xb9,0x72,0x25,0x9d,0x2b,0x03,
+ 0xf5,0xa1,0x52,0xa9,0xae,0xd0,0x3b,0xeb,0xd6,0xad,0x93,0xf9,0x08,0x0e,
+ 0x0e,0xe6,0xeb,0xb0,0x70,0xe1,0xc2,0x62,0x25,0x5b,0xe4,0xaa,0xcb,0xc8,
+ 0x83,0x6a,0xaa,0x4d,0x45,0x45,0x45,0x3a,0x5b,0x8a,0x71,0xe8,0x63,0x53,
+ 0xa7,0x4e,0xad,0x52,0xb2,0x25,0xa0,0x51,0x2d,0x6a,0xc4,0x1d,0xe7,0x01,
+ 0xfa,0xfc,0x95,0x98,0x34,0x69,0x52,0x1d,0x8d,0x89,0xb3,0xb1,0xce,0x0f,
+ 0x6a,0x0f,0xcd,0x8d,0xeb,0x9c,0x35,0x6b,0x56,0x19,0x62,0x23,0x54,0x6a,
+ 0x13,0x1a,0x1a,0xfa,0xc3,0xb8,0x71,0xe3,0x78,0x3e,0x0f,0x08,0x08,0x90,
+ 0xcd,0x0f,0xcf,0xb8,0xdd,0xde,0xbd,0x7b,0x93,0x0c,0xf9,0x95,0x6a,0x5c,
+ 0xbe,0x7c,0x79,0x2e,0xfa,0xce,0x28,0x81,0xfb,0x18,0xff,0x5e,0x9e,0x9e,
+ 0x9e,0x32,0x5f,0xd5,0xd5,0xd5,0xbc,0xfe,0x89,0x75,0x65,0xfc,0xf8,0xf1,
+ 0x8d,0x38,0x0b,0x15,0x62,0x3e,0x3c,0x77,0xd3,0xbc,0x68,0x8f,0xd0,0x7c,
+ 0xc4,0x46,0x7b,0x19,0xf9,0x80,0x7f,0x67,0xe4,0xad,0x60,0x43,0x7e,0x71,
+ 0x3e,0xd0,0x69,0x44,0xae,0xcb,0x41,0xdf,0x67,0x4a,0xe0,0x9e,0xe6,0x87,
+ 0x3c,0xfc,0x8c,0xbe,0x59,0x7e,0x7e,0x3e,0xeb,0xda,0x2e,0x5c,0xb8,0x40,
+ 0x7b,0x9a,0xc7,0x11,0x8d,0x87,0x7a,0xc8,0x5c,0x5c,0x5c,0x58,0x56,0x56,
+ 0x56,0xb7,0x77,0x91,0xcb,0x98,0x50,0x7f,0x53,0x0d,0xf9,0x24,0xa4,0x1a,
+ 0x97,0x2e,0x5d,0xfa,0x17,0xfa,0xbc,0x0d,0x81,0xef,0xf3,0x0d,0xea,0xa1,
+ 0xd6,0xd2,0xd2,0x92,0x3d,0x79,0xf2,0xa4,0x9b,0x6f,0xb1,0x61,0x3e,0x8a,
+ 0xcf,0xe8,0x3c,0x42,0xfe,0x70,0x4f,0x79,0x51,0x56,0x56,0x76,0xa6,0x27,
+ 0x9f,0xd0,0xd8,0x2a,0x6a,0x44,0x9d,0x53,0xa1,0xcf,0xab,0x27,0xb0,0x36,
+ 0x09,0xf4,0xfe,0xc4,0x89,0x13,0x59,0x66,0x66,0xa6,0xa2,0x16,0x7d,0x8d,
+ 0xd6,0x9a,0xce,0xe5,0xa8,0x2d,0xed,0x71,0x71,0x71,0x81,0xc6,0xf8,0x93,
+ 0x6a,0xb4,0xb5,0xb5,0xa5,0x8f,0xf2,0xa9,0x31,0xb8,0xba,0xba,0xfe,0x4c,
+ 0xeb,0x49,0xdf,0x15,0x75,0x4e,0x16,0x47,0xfa,0x5a,0x46,0x46,0x06,0x5b,
+ 0xb2,0x64,0x09,0x5f,0x3f,0xc4,0x78,0x13,0xce,0xc6,0x5f,0x18,0xeb,0x0b,
+ 0xf3,0xd1,0x69,0x44,0x6d,0xcf,0x40,0xdf,0xc7,0xc6,0x82,0x3b,0xcb,0x65,
+ 0x61,0x8e,0x7c,0x6d,0x50,0xa7,0xf8,0x59,0x86,0xea,0x65,0x7c,0x7c,0x3c,
+ 0x0b,0x0b,0x0b,0xe3,0xe7,0x47,0xaa,0x2d,0x62,0x3c,0x41,0x67,0x6a,0x7a,
+ 0x7a,0xba,0x4f,0x6f,0xfc,0x48,0x35,0x22,0xc7,0xa5,0xa3,0xef,0x40,0x6f,
+ 0x40,0x7c,0x7a,0xe2,0xae,0xf6,0x8b,0x95,0x95,0x55,0x85,0xbe,0x3b,0xa1,
+ 0xa0,0xbf,0x93,0xc6,0xbe,0x78,0xf1,0x62,0x50,0x6f,0xc7,0x27,0xa0,0xb1,
+ 0x45,0xd4,0x88,0x9c,0x4f,0x31,0xf6,0xd1,0xab,0x92,0x94,0x94,0xe4,0x85,
+ 0xf3,0x62,0x10,0xf6,0x41,0x24,0xee,0x46,0xb7,0x90,0xab,0xbe,0x45,0xce,
+ 0x09,0xc4,0x39,0xd2,0xfd,0x75,0xc6,0x95,0x6a,0x44,0x8e,0xa3,0xbb,0xa2,
+ 0xdb,0x40,0x03,0xb9,0x4e,0xa7,0x11,0x67,0x83,0x6c,0xf4,0xbd,0x37,0x90,
+ 0x68,0x6c,0x6c,0xfc,0x00,0x7b,0x85,0x6a,0x41,0x1a,0x28,0x41,0x8c,0xb6,
+ 0x60,0x7f,0xb9,0xe2,0xd9,0xae,0x81,0x02,0xce,0xd4,0x67,0x84,0x7d,0x1d,
+ 0x08,0xf8,0x99,0x61,0xc7,0x8e,0x1d,0x5f,0xe1,0xd9,0xbb,0x03,0x01,0xec,
+ 0x63,0x17,0x9c,0x11,0xee,0x0b,0x1a,0xdf,0x01,0x6f,0x03,0xba,0x97,0x6a,
+ 0x90,0x2f,0x28,0x37,0x38,0xf5,0x27,0x38,0xab,0x39,0x23,0x86,0xe3,0x04,
+ 0x7d,0x74,0x07,0x10,0x7f,0x6f,0xb6,0x07,0x74,0x97,0x65,0x53,0xa6,0x4c,
+ 0x49,0x45,0x4d,0xf8,0x04,0xef,0x3a,0xc2,0xc6,0xe1,0x4d,0xd1,0xd6,0xd6,
+ 0xe6,0xe8,0xe1,0xe1,0xe1,0x8b,0x3c,0x5f,0x2d,0xe8,0x2b,0x00,0x16,0x26,
+ 0xf2,0x66,0x2b,0xc6,0x90,0x80,0xd6,0xcc,0xcc,0xac,0x1c,0xf7,0xd2,0x9c,
+ 0x3e,0x26,0x17,0x67,0xb0,0x3a,0x89,0x5f,0xfa,0xcd,0xfe,0x6b,0x93,0x97,
+ 0xff,0xcf,0xa1,0xd4,0xde,0x07,0x5f,0x82,0x0c,0xd0,0xae,0x94,0x9f,0xff,
+ 0x67,0xaa,0xc0,0x1d,0x93,0x97,0xbf,0xcd,0x5b,0x76,0x15,0xf4,0x1f,0x5e,
+ 0xdb,0x58,0x54
+};
+
+// close.png
+static const unsigned char image_1_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x14,0x57,0x14,0xc7,
+ 0x51,0x09,0xf8,0xc4,0x67,0x51,0x8b,0x60,0xd0,0xc4,0x0f,0x46,0xa2,0xe2,
+ 0x5b,0x8c,0xaf,0x88,0x6f,0x03,0x1f,0x68,0x2c,0x49,0x51,0x2c,0x42,0x42,
+ 0x02,0x18,0x24,0x88,0xa9,0x48,0x52,0x2a,0xa8,0x10,0x4b,0xb0,0xb6,0xb5,
+ 0x49,0xdb,0x14,0x53,0x28,0x6b,0x40,0x62,0x08,0x5a,0x1f,0x60,0xd2,0x92,
+ 0x15,0x57,0x58,0x1f,0x6b,0x17,0x90,0xa7,0x02,0x45,0x8b,0x08,0x08,0x08,
+ 0xfb,0xbc,0xfd,0x9f,0xc9,0x0c,0x9d,0x0e,0x33,0xbb,0x53,0x13,0x8a,0x37,
+ 0xf9,0x7f,0xd8,0xbb,0x73,0xee,0xf9,0xcd,0x7d,0x9c,0x73,0xee,0xb8,0xb8,
+ 0x0c,0x6b,0xbe,0x50,0x24,0xf4,0x1d,0xa4,0x83,0x9e,0x8c,0xb0,0x0c,0xd0,
+ 0xaf,0xd0,0x97,0x50,0x18,0xe4,0x3a,0x1c,0x69,0xa8,0x79,0x42,0x17,0x20,
+ 0x33,0xc4,0x04,0x79,0x78,0x78,0x58,0x46,0x5a,0x62,0x7f,0x50,0x27,0x14,
+ 0x0f,0xb9,0x4b,0xf8,0xbc,0xc6,0x8c,0x19,0xd3,0x41,0xcf,0xcc,0x9c,0x39,
+ 0xd3,0x92,0x9d,0x9d,0xdd,0x76,0xf7,0xee,0xdd,0x06,0x8b,0xc5,0x62,0x64,
+ 0x8c,0xfd,0x31,0xd2,0x1a,0x18,0x18,0x30,0xde,0xbe,0x7d,0xbb,0x29,0x35,
+ 0x35,0xf5,0x85,0xbb,0xbb,0xbb,0x8d,0x67,0xad,0x80,0xdc,0x78,0x3e,0x0f,
+ 0xf0,0xd1,0x9c,0xb3,0xe3,0xc7,0x8f,0xbf,0x04,0xd7,0x88,0x33,0x39,0x52,
+ 0x5f,0x5f,0x9f,0x71,0xeb,0xd6,0xad,0xbd,0x3c,0x67,0x0e,0xcf,0x98,0x46,
+ 0xbf,0xc3,0xc3,0xc3,0x3b,0x47,0x93,0x4d,0xc2,0x59,0xed,0xe7,0xe7,0xf7,
+ 0x96,0xe7,0x0c,0xa4,0x73,0xe1,0xea,0xea,0x6a,0xef,0xe9,0xe9,0xa9,0x1e,
+ 0x6d,0x36,0xb1,0xae,0x5c,0xb9,0xf2,0x8c,0x67,0xcc,0x80,0x6c,0xcb,0x97,
+ 0x2f,0x7f,0x3b,0xda,0x4c,0x52,0xd1,0x9c,0x8d,0x1b,0x37,0xce,0xce,0xef,
+ 0x4b,0xb6,0x6f,0xdf,0xbe,0x6e,0xf4,0x1b,0xe4,0x64,0xb3,0xd9,0x0c,0x67,
+ 0xce,0x9c,0x69,0x0b,0x0a,0x0a,0xea,0xda,0xbc,0x79,0xf3,0x9b,0x93,0x27,
+ 0x4f,0xb6,0xdf,0xba,0x75,0xab,0x41,0xe9,0x79,0x25,0x99,0xcd,0xe6,0x27,
+ 0x79,0x79,0x79,0xcd,0xc1,0xc1,0xc1,0x5d,0x7b,0xf7,0xee,0xed,0x0e,0x0d,
+ 0x0d,0x7d,0x5d,0x57,0x57,0x57,0xe3,0xc8,0x86,0xce,0x2f,0xf8,0x9e,0x12,
+ 0xe3,0x9e,0x3d,0x7b,0x5e,0xdb,0xed,0x76,0xbd,0x54,0x26,0x93,0xe9,0xc1,
+ 0xd2,0xa5,0x4b,0xfb,0x24,0xb1,0x81,0xd3,0xae,0x5d,0xbb,0xba,0xda,0xdb,
+ 0xdb,0x1f,0xcb,0xd9,0x49,0x75,0xf3,0xe6,0xcd,0x5a,0x4f,0x4f,0x4f,0xb3,
+ 0x74,0x0c,0x9c,0x55,0x96,0x9c,0x9c,0xdc,0xaa,0x64,0x07,0x46,0xb3,0xc0,
+ 0xb8,0x7b,0xf7,0xee,0x4e,0xf4,0xe9,0xa4,0x82,0xfd,0x73,0xfa,0x7f,0xe3,
+ 0xc6,0x8d,0x4c,0xa7,0xd3,0xb1,0x8e,0x8e,0x0e,0x96,0x9f,0x9f,0xcf,0xd6,
+ 0xaf,0x5f,0xcf,0xf9,0x98,0x38,0x71,0xa2,0x0d,0x73,0x6a,0x94,0xb3,0x15,
+ 0x74,0xf6,0xec,0xd9,0xa6,0xb1,0x63,0xc7,0x72,0x3c,0x51,0x51,0x51,0xcc,
+ 0x68,0x34,0xb2,0xd6,0xd6,0x56,0xa6,0xd5,0x6a,0xd9,0xbc,0x79,0xf3,0x18,
+ 0xad,0x67,0x45,0x45,0x85,0x41,0xce,0x76,0xc6,0x8c,0x19,0x62,0xc6,0x0e,
+ 0xcc,0xad,0x56,0x2a,0x1f,0x1f,0x9f,0x01,0x70,0x30,0xec,0x0d,0x26,0x6e,
+ 0x56,0xab,0x95,0xa5,0xa5,0xa5,0x31,0x9c,0x35,0xe2,0xb4,0x5e,0xbf,0x7e,
+ 0xdd,0x20,0x67,0x9f,0x94,0x94,0xc4,0xed,0xfb,0x39,0x73,0xe6,0xb0,0xfb,
+ 0xf7,0xef,0x33,0x69,0x2b,0x28,0x28,0x60,0x7c,0x4c,0xf9,0x53,0xce,0x1e,
+ 0x8c,0x26,0x81,0x71,0xe7,0xce,0x9d,0x7f,0xa1,0xef,0x37,0xa9,0x66,0xcd,
+ 0x9a,0x65,0x5a,0xb0,0x60,0xc1,0xb0,0xb1,0x85,0x76,0xf9,0xf2,0x65,0x31,
+ 0xe7,0x43,0xb1,0x6d,0x62,0x62,0x62,0x13,0x8d,0xed,0xed,0xed,0xcd,0xea,
+ 0xeb,0xeb,0x65,0xed,0xab,0xab,0xab,0x39,0xc6,0x90,0x90,0x90,0x76,0x39,
+ 0xff,0x62,0xc6,0x1d,0x3b,0x76,0xbc,0x40,0x5f,0xa9,0x54,0x18,0xbf,0x7f,
+ 0xd2,0xa4,0x49,0xac,0xbf,0xbf,0x5f,0x15,0x67,0x49,0x49,0x49,0x25,0xd9,
+ 0x25,0x24,0x24,0xd4,0xd3,0xb8,0xb4,0x96,0x4a,0x7c,0xd4,0xae,0x5d,0xbb,
+ 0xc6,0x31,0x1e,0x38,0x70,0xe0,0xb9,0x9c,0xff,0xe9,0xd3,0xa7,0x0f,0x0a,
+ 0x8c,0xdb,0xb7,0x6f,0xa7,0xf7,0xb8,0x21,0x55,0x64,0x64,0x64,0x23,0xfd,
+ 0x9f,0x93,0x93,0xa3,0xe8,0x47,0xcc,0x49,0x79,0x2c,0x3a,0x3a,0xba,0x41,
+ 0x0d,0x1f,0xb5,0xfd,0xfb,0xf7,0x73,0x8c,0xc5,0xc5,0xc5,0xf7,0xe4,0xfc,
+ 0x8b,0x19,0x03,0x03,0x03,0x69,0x3f,0x94,0x48,0xa5,0xd7,0xeb,0xef,0xd0,
+ 0x9e,0xc6,0x9a,0xb3,0x96,0x96,0x16,0x55,0x9c,0x6a,0xf9,0x0a,0x0b,0x0b,
+ 0xb9,0x67,0xe7,0xcf,0x9f,0xdf,0x8b,0xf8,0x36,0xcc,0x37,0x49,0xcc,0xb8,
+ 0x6d,0xdb,0xb6,0x56,0xf4,0x5d,0x95,0xd3,0x89,0x13,0x27,0x1e,0xd3,0x33,
+ 0xcb,0x96,0x2d,0x63,0xc8,0x51,0x4e,0x39,0x7d,0x7d,0x7d,0x9d,0xf2,0xd5,
+ 0xd6,0xd6,0x52,0x3d,0x45,0xf3,0x6e,0x2d,0x2f,0x2f,0x2f,0x53,0xf2,0x3d,
+ 0x6d,0xda,0xb4,0x01,0x81,0x11,0x39,0xbc,0x05,0x67,0xbd,0x50,0x49,0xf4,
+ 0x3f,0x3d,0xb7,0x76,0xed,0x5a,0xd6,0xdd,0xdd,0xed,0xd0,0xff,0xe0,0xe0,
+ 0xa0,0xc3,0xff,0x2b,0x2b,0x2b,0x19,0xe6,0x87,0x8b,0x45,0x17,0x2f,0x5e,
+ 0xd4,0x3a,0xf2,0x2b,0x66,0xdc,0xb2,0x65,0xcb,0x33,0x98,0xe7,0x2b,0x09,
+ 0x39,0x42,0x83,0xb9,0x6e,0x16,0x38,0xa5,0xb1,0x48,0x6d,0xab,0xaa,0xaa,
+ 0xe2,0xf8,0x10,0x2f,0xed,0xe9,0xe9,0xe9,0xf7,0x1c,0xf9,0x24,0x89,0x19,
+ 0x91,0xe3,0x9a,0xd1,0xf7,0xb3,0x23,0x81,0x33,0x17,0xf3,0xd9,0xf4,0xae,
+ 0x9c,0x62,0xbe,0x53,0xa7,0x4e,0x69,0x9d,0xf9,0x23,0x4d,0x9d,0x3a,0xf5,
+ 0xad,0xc0,0xb8,0x69,0xd3,0xa6,0x46,0xf4,0xfd,0xe4,0x4c,0xe0,0xcc,0xc1,
+ 0x9c,0x37,0xfc,0x57,0x4e,0x31,0x1f,0xea,0xd8,0x72,0x35,0xbe,0x48,0x62,
+ 0x46,0xe4,0xba,0x06,0xac,0xff,0xf7,0x6a,0x04,0xce,0x1f,0xe6,0xce,0x9d,
+ 0xdb,0xcd,0xc7,0x5e,0xa7,0x7c,0xc8,0xf9,0x6c,0xf2,0xe4,0xc9,0xdc,0x19,
+ 0x46,0x1d,0xf1,0x48,0xad,0x1f,0x12,0xce,0xd5,0x10,0xe3,0x86,0x0d,0x1b,
+ 0xea,0x30,0xdc,0xb7,0x6a,0x84,0x9c,0x5b,0xa1,0x36,0xbe,0x08,0x4d,0xa3,
+ 0xd1,0x70,0x71,0x69,0xc2,0x84,0x09,0x66,0x9c,0xfd,0x22,0xb5,0xbe,0xc0,
+ 0xd8,0x2f,0x30,0x06,0x04,0x04,0x3c,0x45,0xdf,0x57,0xce,0x74,0xf8,0xf0,
+ 0x61,0xed,0x7f,0xe5,0x93,0x72,0x8e,0x1f,0x3f,0xde,0x8c,0xba,0xa4,0x40,
+ 0x8d,0x3f,0x31,0x23,0xea,0x98,0x5a,0xf4,0x65,0x39,0x52,0x44,0x44,0x44,
+ 0xf9,0xbb,0xf2,0xc9,0x71,0xa2,0x96,0xd4,0x38,0xf3,0x39,0x65,0xca,0x94,
+ 0x3e,0x81,0x71,0xdd,0xba,0x75,0x74,0x4f,0xc8,0x54,0xd2,0xd1,0xa3,0x47,
+ 0x6f,0xf0,0x7c,0xf6,0x77,0xe5,0x93,0x72,0xba,0xb9,0xb9,0x59,0x8a,0x8a,
+ 0x8a,0x2e,0x39,0xf2,0x2b,0x66,0x5c,0xb3,0x66,0x0d,0xd5,0xe7,0xe9,0x72,
+ 0xca,0xca,0xca,0xd2,0x50,0xbc,0xf5,0xf2,0xf2,0x62,0x8d,0x8d,0x8d,0x0e,
+ 0xfd,0x23,0x77,0x52,0xed,0xeb,0xf4,0xbc,0x83,0x8d,0xe3,0xc4,0x5a,0xf6,
+ 0xa1,0x9e,0xcc,0x56,0xf2,0x2d,0x66,0x5c,0xbd,0x7a,0xf5,0x13,0xf4,0xa5,
+ 0x4a,0x85,0xda,0xe9,0x1c,0xd6,0xc5,0x84,0x9c,0xc5,0xc5,0x0f,0x47,0x4d,
+ 0x88,0x2f,0x6a,0xe3,0x12,0x6a,0x5f,0xee,0xd9,0xc5,0x8b,0x17,0xd7,0xcb,
+ 0xf9,0x26,0x21,0x1e,0xf4,0x0a,0x8c,0x2b,0x57,0xae,0xa4,0x1a,0x35,0x45,
+ 0xaa,0xb0,0xb0,0x30,0x6e,0x8d,0x71,0x9f,0x51,0xc3,0x67,0xa7,0xf9,0x5e,
+ 0xb4,0x68,0x91,0xaa,0xf8,0x89,0xd8,0x42,0xeb,0xc7,0x71,0xa2,0xa6,0xbb,
+ 0x20,0xe7,0x5f,0xcc,0xb8,0x62,0xc5,0x8a,0x47,0xe8,0xfb,0x4c,0x2a,0xac,
+ 0x6f,0x1b,0xad,0x09,0xdd,0x11,0x54,0xf0,0xd9,0xe3,0xe3,0xe3,0x0b,0x90,
+ 0xaf,0x93,0x57,0xad,0x5a,0xf5,0x50,0x0d,0x67,0x6e,0x6e,0x2e,0xc7,0x88,
+ 0x7b,0x58,0x99,0x9c,0x7f,0xd4,0xae,0x43,0x8c,0xb8,0xbb,0x52,0x0d,0x9d,
+ 0x28,0x15,0xde,0xe3,0xcd,0xc2,0x85,0x0b,0x55,0xf1,0xc5,0xc5,0xc5,0x69,
+ 0x04,0x3b,0x70,0x26,0xe1,0xbd,0xf5,0xce,0x38,0x6b,0x6a,0x6a,0x18,0x7f,
+ 0x66,0x75,0x72,0xfe,0xc1,0xf8,0x46,0x60,0x44,0xdd,0xa5,0x47,0x5f,0xbc,
+ 0x54,0xc8,0x45,0x9d,0x10,0xb3,0x58,0x2c,0xc3,0xc6,0x37,0x18,0x0c,0x43,
+ 0x7c,0x31,0x31,0x31,0x79,0x52,0x5b,0x70,0x26,0xf8,0xfb,0xfb,0x57,0xf1,
+ 0x73,0xc0,0x5e,0xbd,0x7a,0x35,0x6c,0x8c,0xd2,0xd2,0x52,0xc6,0xe7,0xb9,
+ 0xdf,0xe5,0xfc,0x8b,0x19,0x71,0x3f,0xa5,0x03,0x11,0x2b,0x15,0x6a,0x8d,
+ 0x32,0xfa,0xff,0xe0,0xc1,0x83,0x0c,0x39,0x90,0x1b,0x97,0x6a,0xb3,0x94,
+ 0x94,0x14,0xae,0xb6,0x22,0xbe,0xd8,0xd8,0xd8,0x4b,0x72,0xb6,0x24,0xd8,
+ 0xc4,0x2d,0x59,0xb2,0xe4,0x01,0x7f,0x87,0x64,0xe7,0xcf,0x9f,0x1f,0xaa,
+ 0xdd,0xba,0xba,0xba,0x18,0xde,0x81,0x63,0xcc,0xc8,0xc8,0xb8,0x20,0x67,
+ 0x0f,0x9b,0x1e,0x81,0xd1,0xcf,0xcf,0x8f,0x2e,0x6d,0xd1,0x52,0x35,0x37,
+ 0x37,0xd3,0xbb,0xd0,0x73,0x14,0x77,0x19,0xf2,0xb4,0xf8,0x9b,0x5f,0x27,
+ 0xea,0xbf,0x0c,0x39,0x3b,0xa9,0x70,0xf6,0x7e,0xc1,0xbe,0xe6,0xbe,0xe1,
+ 0x51,0x8c,0xa0,0xba,0x5e,0xa8,0xd9,0x71,0xae,0xf5,0x4a,0x76,0x62,0x46,
+ 0xbc,0x2b,0xed,0x87,0x48,0x39,0xe1,0x8e,0x10,0x83,0xf3,0x77,0x07,0xe3,
+ 0xb6,0xa2,0x9e,0x7b,0x89,0x73,0x54,0x7f,0xe8,0xd0,0xa1,0x1c,0xf0,0xc7,
+ 0x2a,0xd9,0xc8,0xa9,0xac,0xac,0x2c,0x09,0x77,0xe4,0xab,0xb8,0xd7,0xb7,
+ 0x61,0x8f,0xb4,0xe3,0x3e,0xdb,0x84,0xdc,0xff,0x23,0xf6,0x51,0x94,0x92,
+ 0x8d,0x98,0x11,0x77,0x0a,0x8a,0xe1,0xe1,0xef,0x93,0x7a,0x7b,0x7b,0x23,
+ 0x70,0x97,0xa2,0x6f,0x00,0x14,0x23,0x8c,0x98,0xf7,0x41,0xec,0x33,0xfa,
+ 0xef,0x93,0xf7,0x45,0x99,0x99,0x99,0xa9,0xfc,0xbe,0xfa,0x06,0xfa,0x9a,
+ 0x8f,0x51,0x54,0x57,0x7e,0xfc,0x3e,0xc8,0x6a,0xb5,0x86,0x62,0x6d,0x1f,
+ 0xf0,0x8c,0x1f,0x41,0xde,0x50,0x27,0xce,0xa8,0xed,0xd8,0xb1,0x63,0x5f,
+ 0xe0,0x99,0x90,0xd1,0x14,0xee,0xb1,0x21,0xc8,0xcd,0xc5,0x3c,0x5f,0xa5,
+ 0xcb,0x3f,0xdf,0x9b,0x03,0x20,0xba,0xcb,0x32,0x1f,0x1f,0x1f,0xdd,0xe9,
+ 0xd3,0xa7,0x13,0xf1,0x2e,0xc1,0xb0,0x09,0xfa,0xbf,0x84,0x7a,0x3d,0xf8,
+ 0xc8,0x91,0x23,0x9f,0xa3,0x8e,0x68,0xe3,0xf9,0xe8,0xfb,0xc3,0x07,0x2e,
+ 0xff,0x6e,0xfe,0xfc,0xfe,0x14,0xe2,0x8b,0x1d,0xf1,0xe5,0xf9,0xec,0xd9,
+ 0xb3,0x1f,0x8d,0xb0,0x1e,0xe3,0xfc,0xbe,0x14,0xf9,0xa5,0x6f,0xf6,0xf4,
+ 0x1d,0xfc,0x43,0x17,0xe5,0xf6,0x29,0xbf,0x47,0xef,0x41,0x26,0x91,0xed,
+ 0x48,0xea,0x05,0x44,0xf9,0xe2,0x9c,0xcc,0xdc,0xb9,0xfc,0x0d,0x45,0xac,
+ 0x59,0xc3
+};
+
+// help.png
+static const unsigned char image_2_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
+ 0x87,0x45,0x45,0x21,0x4a,0x88,0x62,0x70,0xa9,0x31,0x11,0x81,0x49,0xf9,
+ 0x03,0x35,0x51,0x13,0xa8,0x46,0x0c,0x51,0x5c,0x80,0x88,0x0a,0x14,0x65,
+ 0x73,0x90,0x56,0x6b,0x42,0x6b,0x95,0x42,0x5a,0x1a,0xda,0x50,0x81,0xa6,
+ 0x18,0xa0,0x6c,0x51,0x94,0x68,0x59,0x9a,0x94,0x06,0x2d,0x20,0x18,0x62,
+ 0xa1,0x4a,0x0c,0x1d,0xb0,0xa0,0xa3,0x50,0x36,0xab,0x23,0x3b,0x8a,0xd0,
+ 0x11,0xcb,0x00,0xb7,0xdf,0x7d,0x1d,0xc8,0xcc,0xe5,0xbd,0x99,0x37,0x29,
+ 0x88,0x37,0xf9,0x65,0xc8,0xe1,0xcd,0x39,0xdf,0x9c,0x77,0xee,0xb9,0xe7,
+ 0x3d,0x89,0x64,0xda,0x32,0x03,0xfe,0x20,0x11,0xfc,0x02,0xee,0x83,0x07,
+ 0xb3,0x8c,0x1c,0x5c,0x04,0x9f,0x80,0x77,0xa7,0x4b,0xd2,0xd1,0x16,0x06,
+ 0x9e,0x01,0x32,0x89,0xa5,0xa5,0xe5,0xd8,0xe2,0xc5,0x8b,0xd5,0xb3,0x89,
+ 0x99,0x99,0xd9,0x84,0x56,0xcc,0x71,0x90,0x0b,0xde,0x61,0xf4,0x99,0x82,
+ 0x32,0x7a,0x8d,0xb9,0xb9,0xf9,0x44,0x4c,0x4c,0x4c,0x4f,0x59,0x59,0x59,
+ 0x47,0x67,0x67,0x67,0x13,0x21,0x44,0x31,0xdb,0x8c,0x8d,0x8d,0x29,0xe4,
+ 0x72,0x79,0x6b,0x7a,0x7a,0xfa,0x33,0x3b,0x3b,0xbb,0x51,0xaa,0xc3,0xc4,
+ 0xc4,0x64,0x18,0x9f,0x0e,0x5a,0x1a,0xcf,0x51,0xfb,0xa6,0x4d,0x9b,0x54,
+ 0x83,0x83,0x83,0x8f,0xde,0x84,0x2e,0x21,0x26,0x26,0x26,0x14,0x71,0x71,
+ 0x71,0xdd,0xd0,0x48,0x75,0x3e,0x85,0x2e,0x3b,0xe0,0x48,0xf5,0xad,0x59,
+ 0xb3,0xe6,0x9f,0xee,0xee,0xee,0x37,0x92,0x37,0x31,0x44,0x45,0x45,0xf5,
+ 0x68,0xee,0x7d,0x0e,0x88,0xa4,0x7f,0xa7,0xa5,0xa5,0x3d,0x9b,0x6b,0x5d,
+ 0xec,0xfd,0xb7,0xb6,0xb6,0x56,0x23,0x97,0x4a,0xe8,0xfb,0x99,0x6a,0x6c,
+ 0x6e,0x6e,0xfe,0x73,0xae,0x75,0xb1,0xec,0xda,0xb5,0xeb,0xa5,0x26,0x97,
+ 0x55,0xf4,0x13,0xba,0xef,0xc3,0xae,0x43,0x76,0x76,0xf6,0xd3,0xe5,0xcb,
+ 0x97,0x8f,0xd2,0x7d,0x34,0x53,0x2c,0x5c,0xb8,0x70,0x7c,0xc3,0x86,0x0d,
+ 0xaa,0xa3,0x47,0x8f,0x0e,0xa4,0xa4,0xa4,0x28,0xd5,0x6a,0xf5,0xb4,0xb8,
+ 0x93,0xc8,0x64,0xb2,0x7e,0x46,0x63,0x3d,0xea,0x55,0x07,0xa9,0x54,0xaa,
+ 0x32,0x35,0x35,0x25,0x9b,0x37,0x6f,0x9e,0x31,0xb0,0x2f,0xe9,0x5e,0x98,
+ 0xea,0x6d,0x4b,0x97,0x2e,0x1d,0xbd,0x71,0xe3,0x46,0x33,0x1b,0x9b,0x12,
+ 0x16,0x16,0xd6,0xc3,0x68,0xac,0x85,0x5d,0x07,0x07,0x07,0x07,0x95,0x95,
+ 0x95,0x15,0x99,0xe9,0x85,0x58,0xa4,0xb6,0xb6,0x96,0xc4,0xc7,0xc7,0x13,
+ 0xf4,0x46,0xb2,0x72,0xe5,0xca,0xd7,0xc8,0xe7,0xb4,0xf8,0xa1,0xa1,0xa1,
+ 0xdd,0x8c,0xc6,0x1a,0x7c,0x5d,0x07,0x68,0xfc,0x7b,0x36,0x34,0x6a,0xaf,
+ 0xc0,0xc0,0x40,0x2e,0x9f,0x55,0x55,0x55,0x0d,0x6c,0xfc,0x90,0x90,0x90,
+ 0x4e,0x6d,0x8d,0xe3,0xe3,0xe3,0xd5,0xb0,0xeb,0xb0,0x7e,0xfd,0xfa,0x59,
+ 0xd7,0x78,0xfa,0xf4,0x69,0x4e,0x63,0x45,0x45,0xc5,0x3d,0x36,0x7e,0x70,
+ 0x70,0xb0,0x92,0xd1,0x58,0x09,0xbb,0x0e,0xce,0xce,0xce,0x83,0xf4,0x7f,
+ 0x8b,0x16,0x2d,0x32,0x1a,0xfa,0xdb,0x4e,0x9d,0x3a,0x25,0x5a,0x23,0x6a,
+ 0x52,0xce,0xc6,0xc7,0xbe,0x7a,0xc2,0xdc,0xeb,0x72,0xd8,0x75,0xb8,0x76,
+ 0xed,0x5a,0xed,0xd6,0xad,0x5b,0xfb,0x90,0xcf,0x97,0xc6,0x02,0x8d,0x6a,
+ 0xea,0x17,0xe7,0x82,0x28,0x8d,0x38,0x7b,0xef,0xb2,0xf1,0x8f,0x1c,0x39,
+ 0xf2,0x98,0xc9,0x63,0x09,0xec,0x33,0xc6,0xce,0x9d,0x3b,0xb9,0x5a,0x52,
+ 0x2a,0x95,0xa2,0x34,0x96,0x96,0x96,0xde,0x61,0x7d,0xa0,0x56,0xdb,0x99,
+ 0x3c,0x16,0xc3,0x3e,0x63,0xb8,0xbb,0xbb,0x2b,0x8d,0xd1,0x58,0x52,0x52,
+ 0x52,0xcd,0xfa,0x08,0x08,0x08,0x68,0xd3,0xd6,0x88,0xbd,0x5f,0x84,0xfd,
+ 0xfe,0x93,0x21,0xca,0xcb,0xcb,0x2b,0xcf,0x9e,0x3d,0xdb,0xb0,0x67,0xcf,
+ 0x9e,0x8e,0xb5,0x6b,0xd7,0x0e,0xae,0x58,0xb1,0x62,0x98,0x0f,0x0b,0x0b,
+ 0x0b,0xee,0x5e,0xf7,0xf4,0xf4,0x88,0xd2,0x78,0xfd,0xfa,0xf5,0x5b,0x6c,
+ 0x2c,0x7f,0x7f,0xff,0x16,0x26,0x8f,0x85,0xf8,0x4a,0x81,0x3e,0xb0,0xcf,
+ 0x14,0xda,0xb3,0xe5,0xfc,0xf9,0xf3,0x89,0xad,0xad,0x2d,0x2f,0x98,0xb1,
+ 0x48,0x74,0x74,0xb4,0x5e,0x7d,0xda,0x1a,0x51,0xfb,0x37,0xd9,0x78,0x87,
+ 0x0f,0x1f,0x6e,0x66,0x34,0xfe,0x00,0xfb,0x55,0x21,0x12,0x13,0x13,0x6f,
+ 0x6b,0xe6,0x23,0x92,0x99,0x99,0x49,0x1a,0x1b,0x1b,0x69,0x0d,0x1b,0xd4,
+ 0x60,0x68,0xed,0xd8,0xb1,0x83,0xfe,0xd6,0x71,0xd4,0xc4,0x8f,0x6c,0xcc,
+ 0x43,0x87,0x0e,0x3d,0x62,0x34,0xe6,0xc2,0x7e,0x59,0x08,0x9c,0xb1,0xdc,
+ 0x7c,0xde,0xda,0xda,0x6a,0x30,0x2e,0xd5,0x3e,0x32,0x32,0xc2,0xcb,0x8b,
+ 0x17,0x2f,0x68,0x2f,0x24,0x49,0x49,0x49,0x64,0xe3,0xc6,0x8d,0x5c,0x0e,
+ 0x71,0x56,0xf4,0xf2,0xc5,0xf4,0xf5,0xf5,0x55,0x30,0xf5,0x78,0x11,0x35,
+ 0x70,0x81,0x8f,0x57,0xaf,0x5e,0xe5,0xcc,0x9b,0x37,0x6f,0xcc,0xc9,0xc9,
+ 0xc9,0xa0,0xbe,0xd8,0xd8,0x58,0x42,0xcf,0x78,0xed,0x9a,0xd0,0xc7,0xb6,
+ 0x6d,0xdb,0x5a,0x1f,0x3e,0x7c,0x98,0xc7,0x17,0xf7,0xc0,0x81,0x03,0xf7,
+ 0x99,0x3c,0x66,0x22,0x44,0x06,0x1f,0xe8,0x71,0xf4,0x79,0x88,0x78,0x7a,
+ 0x7a,0x1a,0xd4,0x88,0x99,0x8f,0xde,0x3b,0x35,0xfa,0xff,0x53,0x3e,0x5c,
+ 0x5c,0x5c,0xfe,0xc2,0x5e,0xa8,0x4b,0x48,0x48,0xa8,0xa8,0xaf,0xaf,0xbf,
+ 0x2a,0x14,0x93,0xe2,0xe3,0xe3,0xd3,0xc0,0x68,0x4c,0x83,0x3d,0x95,0x0f,
+ 0x68,0xcc,0x12,0xab,0x71,0xc9,0x92,0x25,0x64,0xd5,0xaa,0x55,0xfd,0x42,
+ 0xbe,0x8c,0xc1,0xdb,0xdb,0xfb,0x1e,0xa3,0xf1,0x3c,0xec,0xc9,0x7c,0x74,
+ 0x75,0x75,0x7d,0x4f,0xaf,0xa1,0xf5,0xd3,0xd4,0xd4,0xa4,0x17,0x7a,0x06,
+ 0x62,0x8e,0xe9,0x13,0xf2,0x65,0x0c,0xfb,0xf7,0xef,0xaf,0x67,0x34,0x7e,
+ 0x0b,0x7b,0x12,0x1f,0x43,0x43,0x43,0xdf,0xa1,0x1e,0xd5,0x62,0x6b,0x0c,
+ 0x75,0xfb,0x58,0xc8,0x97,0x31,0xec,0xdb,0xb7,0x4f,0xce,0x68,0xfc,0x06,
+ 0xf6,0x78,0x21,0x2e,0x5d,0xba,0x74,0x05,0x7d,0xe2,0xde,0x96,0x2d,0x5b,
+ 0x14,0xeb,0xd6,0xad,0x7b,0x82,0x1e,0x38,0x80,0xf9,0xf4,0xf9,0xb2,0x65,
+ 0xcb,0x9e,0xaf,0x5e,0xbd,0xba,0xdb,0xd1,0xd1,0xb1,0x63,0xfb,0xf6,0xed,
+ 0x7f,0xe0,0x7c,0xa9,0xc7,0x9c,0x95,0xa1,0xcf,0x97,0x58,0x70,0x4e,0xd4,
+ 0x32,0x1a,0xbf,0x82,0x3d,0x4e,0x08,0xec,0xb3,0x38,0xd4,0xc7,0x6d,0xec,
+ 0xd9,0x09,0xa1,0xfc,0xe1,0x6c,0x79,0x9d,0x93,0x93,0x73,0x59,0x9f,0x1f,
+ 0x63,0xd8,0xbd,0x7b,0xf7,0x5d,0xa6,0xf7,0xc4,0xc2,0xfe,0x85,0x10,0x7b,
+ 0xf7,0xee,0xfd,0x8d,0x5e,0x87,0xe7,0x1b,0x92,0x95,0x95,0x45,0x6a,0x6a,
+ 0x6a,0x48,0x7b,0x7b,0x3b,0x69,0x6b,0x6b,0x23,0x85,0x85,0x85,0xe4,0xd8,
+ 0xb1,0x63,0xf4,0xfd,0x01,0xa1,0x35,0x81,0x19,0x26,0x55,0x9f,0x2f,0xb1,
+ 0xe0,0x99,0xab,0x86,0xc9,0x63,0x0c,0xec,0xd1,0x7c,0x60,0xcf,0x7c,0x89,
+ 0x99,0x7e,0x0c,0xf7,0x94,0xa0,0x36,0x89,0xd0,0xca,0xcd,0xcd,0xe5,0xf2,
+ 0xe9,0xea,0xea,0xfa,0xbb,0x90,0x2f,0x63,0xf0,0xf0,0xf0,0xb8,0xcd,0xe4,
+ 0xf1,0x0c,0xec,0x9f,0xf2,0x91,0x91,0x91,0x91,0x4e,0xaf,0x89,0x8c,0x8c,
+ 0x14,0xd4,0x47,0x17,0x3d,0x5f,0xe8,0x7c,0x8b,0x5a,0xed,0x12,0xf2,0x65,
+ 0x0c,0x98,0xef,0xaa,0x19,0x8d,0x1f,0xc3,0x1e,0xc9,0x47,0x71,0x71,0x31,
+ 0xf7,0xae,0xe5,0xe0,0xc1,0x83,0x7a,0x35,0xf6,0xf6,0xf6,0x72,0xcf,0x7c,
+ 0x98,0x87,0x5a,0x84,0x7c,0x19,0x03,0xf6,0xe8,0xaf,0x8c,0x46,0x3a,0xd8,
+ 0x7f,0x24,0x04,0x7a,0xf3,0x00,0x8d,0x9f,0x9a,0x9a,0x4a,0xb0,0x7f,0xa6,
+ 0xe9,0x53,0xa9,0x54,0xdc,0x7c,0x40,0x7d,0xf9,0xf9,0xf9,0x15,0xe9,0xf3,
+ 0x25,0x16,0xf4,0x89,0x5b,0x8c,0xc6,0x0f,0x61,0xff,0x40,0x88,0xfc,0xfc,
+ 0xfc,0xaf,0x17,0x2c,0x58,0x30,0x42,0xaf,0x45,0x8f,0x26,0x5e,0x5e,0x5e,
+ 0xe4,0xf8,0xf1,0xe3,0x24,0x3c,0x3c,0x9c,0x60,0xde,0x98,0x7a,0x66,0x46,
+ 0x5f,0x7a,0x00,0xbd,0x27,0xf4,0xf9,0x12,0x0b,0xce,0xf2,0x4a,0x46,0x63,
+ 0x38,0xec,0x32,0x7d,0x54,0x57,0x57,0x9f,0x41,0x7f,0x96,0xe3,0x3c,0x1e,
+ 0x61,0xfb,0x8e,0x8d,0x8d,0x4d,0x57,0x50,0x50,0xd0,0x95,0xe1,0xe1,0xe1,
+ 0x08,0x43,0x7e,0xc4,0xe2,0xe6,0xe6,0x76,0x53,0xe3,0x9f,0x7b,0xef,0x58,
+ 0x57,0x57,0x47,0xf3,0x1b,0x2c,0x96,0xa2,0xa2,0xa2,0xa8,0xbc,0xbc,0xbc,
+ 0x98,0x82,0x82,0x82,0x68,0xfc,0xbe,0x10,0x63,0xbe,0x2b,0x16,0xcc,0x20,
+ 0x77,0x34,0x1a,0x3f,0xa7,0x9f,0x27,0x4f,0x9e,0x4c,0x81,0x3d,0xf0,0x6d,
+ 0x02,0x67,0x7f,0x1f,0xb4,0x0d,0x00,0x57,0xaa,0x11,0xfd,0xa2,0x05,0xbd,
+ 0xef,0x7d,0xfc,0xcf,0xef,0x6d,0x20,0x22,0x22,0xe2,0xbc,0x26,0x87,0x45,
+ 0x92,0xff,0x16,0xf7,0x7e,0x4f,0x2a,0x95,0xde,0x1a,0x1d,0x1d,0xa5,0x0d,
+ 0xc6,0x77,0x2e,0xc1,0x8c,0xfe,0x19,0xce,0x5c,0xfa,0xce,0x59,0x05,0xa4,
+ 0x1a,0x8d,0x96,0x80,0x9b,0xd5,0xd0,0x83,0xfb,0x64,0x32,0xd9,0x39,0xcc,
+ 0xf5,0x3e,0xb8,0xde,0xeb,0x4d,0x81,0xfe,0xef,0x95,0x9c,0x9c,0x1c,0x69,
+ 0x6f,0x6f,0x4f,0x7b,0x22,0x9d,0x09,0xe8,0xbb,0x7b,0x2f,0x89,0xee,0xb2,
+ 0x01,0xa9,0x60,0x6a,0x06,0xc3,0x8c,0xd0,0x8f,0xf3,0xb9,0x11,0x34,0xcc,
+ 0x26,0x98,0x9d,0x14,0x1a,0x5d,0x93,0x7d,0x82,0x3e,0x0f,0xbe,0x27,0x11,
+ 0x5e,0xd6,0x20,0x01,0x54,0x00,0xa5,0x44,0x22,0x6e,0x66,0xfc,0x9f,0xd0,
+ 0xfb,0x5a,0x07,0xae,0x80,0x13,0xc0,0x44,0x5b,0xd0,0xbf,0x6f,0xf5,0xde,
+ 0xd4
+};
+
+// keep_above_lit.png
+static const unsigned char image_3_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x15,0x57,0x14,0xc6,
+ 0x11,0x31,0xa2,0x28,0xae,0xb8,0xc7,0xdd,0x58,0x97,0x18,0xe3,0x82,0x1a,
+ 0x71,0x89,0x26,0xfd,0x83,0x54,0x6b,0x5d,0x08,0x1a,0xb4,0xb8,0xa0,0x52,
+ 0x45,0x2c,0x2e,0x68,0x5d,0x2a,0xc6,0x82,0x40,0x28,0x34,0x48,0x31,0x96,
+ 0x96,0x1a,0xaa,0x88,0xd5,0x82,0x28,0x60,0x01,0x2b,0x8b,0x20,0x8b,0xec,
+ 0xfb,0xe2,0x82,0x28,0x22,0xa4,0x96,0x36,0x61,0x7f,0xbc,0xe9,0x77,0xa6,
+ 0x33,0xe9,0xf5,0xf0,0xa0,0x56,0xfa,0x8a,0x37,0xf9,0x85,0x97,0xf9,0x66,
+ 0xe6,0x7c,0x33,0x73,0xef,0x39,0xe7,0x62,0x60,0xd0,0x6e,0xf4,0x00,0x1b,
+ 0x80,0x2b,0x08,0x05,0xb9,0x20,0x5f,0xcf,0x64,0x82,0x8b,0xe0,0x08,0x30,
+ 0x6f,0x6f,0xa9,0x9d,0xbf,0xf5,0xa0,0x0c,0x48,0x2a,0x7d,0xfa,0xf4,0x69,
+ 0x33,0x35,0x35,0x6d,0xd5,0x27,0x46,0x46,0x46,0x5a,0x31,0x26,0x08,0x03,
+ 0xd3,0x3a,0xf0,0x49,0xcf,0x23,0x19,0x1a,0x1a,0x6a,0x9d,0x9c,0x9c,0x6a,
+ 0xc2,0xc3,0xc3,0x9f,0x54,0x54,0x54,0x94,0x48,0x92,0x54,0xa0,0x6f,0x34,
+ 0x1a,0x4d,0x41,0x4e,0x4e,0x4e,0xf9,0x85,0x0b,0x17,0x9e,0x8d,0x1f,0x3f,
+ 0xbe,0x99,0x7c,0xf4,0xe8,0xd1,0xa3,0x05,0x7f,0x17,0x32,0x8f,0x0e,0xa4,
+ 0x4d,0x99,0x32,0xa5,0xb1,0xa6,0xa6,0xa6,0xf8,0xff,0xf0,0xd6,0x19,0x5e,
+ 0x5e,0x5e,0x55,0x3d,0x7b,0xf6,0xd4,0xc2,0x6b,0x1d,0x7c,0xbd,0xa7,0x78,
+ 0x34,0x03,0x6d,0x83,0x07,0x0f,0x6e,0x2d,0x29,0x29,0x29,0xed,0x6e,0x8f,
+ 0x2a,0x7e,0x7e,0x7e,0xcf,0x95,0x39,0x10,0xad,0xf8,0xa4,0x35,0x23,0x39,
+ 0x3b,0x3b,0xbf,0xec,0x6e,0x6f,0x9c,0xa9,0x53,0xa7,0x36,0xe2,0x9d,0x36,
+ 0xc1,0x9f,0x31,0xf0,0x25,0x9f,0xd1,0xd1,0xd1,0x8f,0xbb,0xdb,0x17,0x67,
+ 0xfb,0xf6,0xed,0xbf,0x2a,0xef,0x74,0x29,0xb8,0x4c,0xbf,0xcb,0xcb,0xcb,
+ 0x69,0x5e,0xe6,0xe9,0xa2,0xb5,0xb5,0x35,0xcf,0xd2,0xd2,0xb2,0x6e,0xf4,
+ 0xe8,0xd1,0xcd,0xbd,0x7a,0xf5,0xd2,0xd2,0xfa,0xec,0x0a,0xfd,0xfb,0xf7,
+ 0xd7,0x4c,0x9f,0x3e,0xbd,0x01,0xeb,0xa6,0xb2,0xa3,0x98,0xc4,0xa9,0x53,
+ 0xa7,0x5e,0x28,0x3e,0xd7,0xa8,0x3e,0xcb,0xca,0xca,0xf2,0xb5,0x5a,0x6d,
+ 0x26,0x27,0x26,0x26,0xa6,0xa4,0x77,0xef,0xde,0x6d,0x6a,0xce,0xc0,0x6f,
+ 0x69,0xd8,0xb0,0x61,0x5d,0x42,0xcc,0x41,0xd3,0xa6,0x4d,0xab,0xc7,0x7a,
+ 0x6f,0x17,0x97,0x38,0x79,0xf2,0xe4,0x33,0xee,0xb3,0xb4,0xb4,0x34,0x1b,
+ 0x5a,0x9a,0xc8,0x8b,0x17,0x2f,0x32,0xe9,0xfd,0x91,0xbe,0x62,0xc5,0x0a,
+ 0xe9,0xc1,0x83,0x07,0x12,0x8e,0x4b,0x5d,0x1d,0xf0,0x25,0x45,0x46,0x46,
+ 0x4a,0x63,0xc6,0x8c,0x91,0xbd,0xce,0x9f,0x3f,0xff,0x0f,0x1e,0x9b,0x38,
+ 0x71,0xe2,0xc4,0x53,0x1d,0x3e,0x33,0x70,0x8b,0x64,0x11,0x6b,0x6b,0xeb,
+ 0x6a,0xd2,0x56,0xaf,0x5e,0xdd,0x65,0x6f,0xba,0x46,0x55,0x55,0x95,0x84,
+ 0x3c,0x43,0xb9,0x52,0xaa,0xae,0xae,0x4e,0xe3,0xf1,0x8f,0x1f,0x3f,0xfe,
+ 0x84,0xfb,0x44,0x4e,0x4a,0x85,0x96,0x20,0x82,0x9c,0xdb,0x40,0xda,0xfd,
+ 0xfb,0xf7,0xf5,0xe2,0x93,0xc6,0xae,0x5d,0xbb,0xe4,0x77,0x8a,0x6f,0x5c,
+ 0xce,0xe3,0x1f,0x3b,0x76,0xec,0x21,0xf7,0x59,0x5c,0x5c,0x9c,0x04,0xed,
+ 0x8e,0xc8,0xd0,0xa1,0x43,0x29,0x27,0x48,0xb5,0xb5,0xb5,0x7a,0xf3,0xe9,
+ 0xe9,0xe9,0x29,0xfb,0xdc,0xba,0x75,0x6b,0x05,0x8f,0x7f,0xf4,0xe8,0xd1,
+ 0x32,0x1d,0x3e,0xe3,0xa1,0xfd,0x2c,0xa2,0xfa,0x7c,0xf9,0xf2,0xa5,0xde,
+ 0x7c,0xba,0xbb,0xbb,0xcb,0x3e,0xb7,0x6d,0xdb,0xf6,0x88,0xc7,0x3f,0x72,
+ 0xe4,0x48,0x31,0xf7,0x59,0x54,0x54,0xf4,0x0b,0xb4,0x08,0x11,0xf8,0x6c,
+ 0x24,0x0d,0xeb,0x49,0x6f,0x3e,0xcf,0x9e,0x3d,0xab,0xfa,0x7c,0xc8,0xe3,
+ 0x1f,0x3e,0x7c,0xb8,0x90,0xfb,0x2c,0x2c,0x2c,0x8c,0x86,0x76,0x43,0x04,
+ 0x3e,0xe5,0xf9,0x39,0x61,0xc2,0x04,0xaa,0xfd,0x7a,0x61,0xc8,0x90,0x21,
+ 0xaa,0xcf,0x52,0x1e,0xff,0xd0,0xa1,0x43,0xf9,0xdc,0x67,0x41,0x41,0x41,
+ 0x24,0x72,0xc1,0x75,0x11,0xd4,0xad,0x57,0xa4,0x0d,0x18,0x30,0xa0,0x69,
+ 0xd0,0xa0,0x41,0x7a,0xa1,0x6f,0xdf,0xbe,0xad,0xca,0x3a,0xca,0xe2,0xf1,
+ 0x0f,0x1c,0x38,0x90,0xab,0xc3,0x67,0x38,0x9e,0xe1,0x8a,0xc8,0xd2,0xa5,
+ 0x4b,0x9f,0x2a,0xb5,0x2a,0x8c,0x6b,0x1d,0x51,0x5f,0x5f,0x7f,0xb5,0xa9,
+ 0xa9,0x29,0xe4,0x4d,0xcf,0x47,0x5f,0x91,0x41,0x31,0x7c,0x7c,0x7c,0x92,
+ 0xb8,0x86,0xfe,0x32,0x8b,0xfb,0xcc,0xcf,0xcf,0x0f,0x85,0xf6,0x83,0xc8,
+ 0x92,0x25,0x4b,0x2a,0x94,0x5a,0x75,0x9d,0x6b,0xba,0xf0,0xf5,0xf5,0x8d,
+ 0x47,0xbd,0xd2,0xa0,0xb7,0x6e,0x09,0x0a,0x0a,0x8a,0x7d,0x93,0x6b,0xf0,
+ 0x6d,0xd3,0x29,0x86,0xb7,0xb7,0x77,0x22,0xd7,0xf6,0xef,0xdf,0x9f,0xc1,
+ 0x7d,0xe6,0xe5,0xe5,0xfd,0x08,0xed,0x7b,0x11,0x0b,0x0b,0x8b,0x27,0x4a,
+ 0x0d,0x08,0xe1,0x1a,0x27,0x22,0x22,0xe2,0x26,0xf5,0xd8,0xa8,0xdd,0xd4,
+ 0x6b,0x53,0x7d,0x6d,0x45,0xef,0xdb,0xee,0x9e,0x9c,0x83,0x07,0x0f,0xa6,
+ 0x52,0x0c,0xf4,0x9c,0x71,0x5c,0x73,0x74,0x74,0x4c,0xe7,0x3e,0x71,0xcf,
+ 0x60,0xcc,0x89,0x00,0x91,0xc5,0x8b,0x17,0x3f,0x52,0x6a,0xc0,0x25,0xae,
+ 0x89,0xb4,0xb5,0xb5,0x05,0x8c,0x1b,0x37,0x4e,0xee,0x6d,0xd0,0x0f,0x48,
+ 0x81,0x81,0x81,0xf2,0xda,0xa0,0xeb,0x3b,0xbb,0x8e,0xc0,0xb7,0x4d,0xa6,
+ 0x73,0x91,0x47,0xef,0x70,0xcd,0xc1,0xc1,0x21,0x85,0xfb,0xcc,0xce,0xce,
+ 0x0e,0xc2,0x33,0xf8,0x8b,0x2c,0x5a,0xb4,0xe8,0xa1,0xe2,0xf3,0x22,0xd7,
+ 0x44,0xdc,0xdc,0xdc,0x62,0xe8,0xbc,0x8d,0x1b,0x37,0xca,0xb9,0x86,0x7a,
+ 0x80,0xd9,0xb3,0x67,0xcb,0xf5,0x30,0x36,0x36,0x36,0xa4,0xb3,0x6b,0xf1,
+ 0x6d,0xef,0xd1,0xb5,0xc8,0xa3,0xd1,0x5c,0xdb,0xb3,0x67,0x4f,0xb2,0x0e,
+ 0x9f,0x81,0xd0,0x7c,0x45,0x16,0x2e,0x5c,0x58,0xa6,0xd4,0x80,0x6f,0xb9,
+ 0xa6,0xd2,0xd2,0xd2,0x72,0x6e,0xe4,0xc8,0x91,0xaf,0xd0,0xaf,0xd1,0xfc,
+ 0x90,0xd4,0x11,0x1a,0x1a,0x2a,0xbf,0x53,0xac,0xc5,0xe2,0x8e,0xae,0x25,
+ 0xf0,0x6d,0xe3,0xe9,0x3c,0xe4,0xd1,0x28,0xae,0xd9,0xdb,0xdb,0xdf,0xe3,
+ 0x3e,0xb3,0xb2,0xb2,0x02,0xa0,0x79,0x8b,0x2c,0x58,0xb0,0xa0,0x54,0xa9,
+ 0x01,0x17,0xb8,0xa6,0x82,0xf5,0x1a,0xa3,0xd4,0x3d,0x49,0x1c,0x98,0x0b,
+ 0xd2,0x8c,0x19,0x33,0xe4,0x7d,0x61,0x6a,0x6a,0xea,0x77,0x1d,0x5d,0x8f,
+ 0x6f,0x7b,0x97,0xae,0x77,0x75,0x75,0x8d,0xe0,0xda,0xee,0xdd,0xbb,0xe3,
+ 0xb9,0xcf,0x8c,0x8c,0x8c,0xf3,0xd0,0x3c,0x45,0xcc,0xcd,0xcd,0x4b,0x94,
+ 0x1a,0xf0,0x35,0xd7,0x88,0xcb,0x97,0x2f,0x5f,0x42,0xdf,0xa7,0xe9,0xd7,
+ 0xaf,0x9f,0x84,0xbd,0xa9,0xc4,0x47,0x70,0x70,0xb0,0xfc,0x4e,0xd1,0xbf,
+ 0xd5,0xa0,0x47,0xf0,0xd1,0x75,0x0f,0x7c,0xdb,0x3b,0x74,0xce,0x99,0x33,
+ 0x67,0xc2,0xb9,0xb6,0x73,0xe7,0xce,0xbb,0xdc,0x27,0x7a,0xcb,0x73,0xd0,
+ 0x5c,0x45,0xe6,0xcd,0x9b,0x57,0xa4,0xe4,0xd6,0xaf,0xb8,0x96,0x90,0x90,
+ 0xe0,0x0f,0x7f,0x0d,0xd8,0x17,0x4a,0x58,0xeb,0xed,0x3c,0xaa,0x03,0xb1,
+ 0x64,0xaf,0xb8,0x57,0x31,0xde,0xb1,0x1b,0xbf,0x0f,0xbe,0x2d,0xed,0xd3,
+ 0xa4,0xd3,0xa7,0x4f,0x87,0x72,0x6d,0xc7,0x8e,0x1d,0xb1,0xdc,0x67,0x7a,
+ 0x7a,0x3a,0x3d,0xef,0x69,0x91,0xb9,0x73,0xe7,0x16,0x2a,0x39,0xeb,0x4b,
+ 0xf1,0x78,0x5d,0x5d,0x9d,0xab,0x99,0x99,0x99,0xbc,0xbe,0xfd,0xfd,0xfd,
+ 0x3b,0xf4,0x48,0xa3,0xb9,0xb9,0x59,0x42,0x1e,0x96,0xbd,0x6e,0xde,0xbc,
+ 0xf9,0x0e,0x8f,0x81,0xbe,0xee,0x36,0x69,0xd8,0x63,0x5c,0xe3,0x1a,0x6a,
+ 0x69,0x34,0xf7,0x89,0x39,0xe4,0x05,0xed,0xa4,0xc8,0x9c,0x39,0x73,0xe4,
+ 0xfa,0x9a,0x9b,0x9b,0xeb,0x21,0x1e,0x5f,0xb6,0x6c,0x99,0x9c,0xd7,0xf6,
+ 0xee,0xdd,0xdb,0xa9,0x47,0x75,0xa0,0x46,0x49,0x58,0x6b,0x5a,0xbc,0x7b,
+ 0x4d,0x58,0x58,0x98,0x9f,0x78,0x2f,0x3b,0x3b,0xbb,0x08,0xa5,0x6e,0x86,
+ 0xf0,0xf8,0xb6,0xb6,0xb6,0xb7,0xb9,0xcf,0x94,0x94,0x14,0x77,0x68,0x9f,
+ 0x89,0x20,0xb7,0xe4,0x29,0xb9,0xd5,0x4d,0x3d,0x56,0x59,0x59,0xe9,0xa2,
+ 0xf6,0x26,0xf4,0xae,0x68,0x50,0x1e,0xa2,0x9e,0x0a,0x39,0x43,0xde,0x4f,
+ 0x24,0x27,0x27,0x4b,0x38,0xef,0xb5,0x3d,0x4a,0x78,0x78,0xb8,0xfa,0xfd,
+ 0x73,0xc4,0x18,0xd8,0x53,0xde,0xa4,0xe3,0xe8,0xdd,0x83,0x79,0xfc,0x2d,
+ 0x5b,0xb6,0x44,0x72,0x9f,0xb8,0xf7,0x17,0xd0,0x0e,0x89,0xe0,0x9e,0xf4,
+ 0xff,0x29,0x29,0x2a,0x2a,0xca,0x43,0x3d,0x86,0x35,0x75,0x0a,0x6b,0x58,
+ 0xde,0xd7,0x0d,0x1c,0x38,0x50,0x6b,0x62,0x62,0xf2,0xda,0xbe,0x4c,0x84,
+ 0xf2,0xe7,0xc4,0x89,0x13,0xe5,0x75,0x3f,0x73,0xe6,0x4c,0xf9,0xd8,0xe4,
+ 0xc9,0x93,0x4b,0xc5,0x18,0xeb,0xd6,0xad,0x93,0xdf,0x99,0x8b,0x8b,0x4b,
+ 0x20,0x8f,0x6f,0x63,0x63,0x73,0x93,0xfb,0x4c,0x4a,0x4a,0x72,0x81,0xf6,
+ 0xa9,0x08,0x9e,0xe7,0x27,0xd2,0x36,0x6c,0xd8,0x70,0x4b,0x3c,0xee,0xe1,
+ 0xe1,0x71,0x7e,0xec,0xd8,0xb1,0x8f,0xb0,0x77,0xac,0x1a,0x31,0x62,0xc4,
+ 0xb3,0x51,0xa3,0x46,0x3d,0x85,0x8f,0x1c,0xd4,0xd9,0xa4,0xb5,0x6b,0xd7,
+ 0x46,0xae,0x5c,0xb9,0xf2,0xee,0xac,0x59,0xb3,0xb2,0xb1,0xce,0x9f,0xa0,
+ 0x8e,0xd6,0x19,0x1b,0x1b,0xd3,0x7a,0xd3,0x60,0x2f,0x54,0x8b,0xba,0xef,
+ 0xa5,0xde,0x07,0xfb,0x6d,0x27,0xba,0x5e,0xc9,0x37,0x9f,0xf3,0xf8,0x9b,
+ 0x36,0x6d,0xba,0xc1,0x7d,0x26,0x26,0x26,0xd2,0x9c,0x70,0x10,0x49,0x4b,
+ 0x4b,0x3b,0x8e,0xbc,0xd3,0x8c,0xf7,0xa2,0x5d,0xb5,0x6a,0x55,0x64,0x63,
+ 0x63,0xa3,0x23,0x3f,0xe7,0x6d,0x41,0x0f,0x76,0x18,0x7b,0x62,0xb9,0x6f,
+ 0xa3,0xbf,0xba,0xce,0xc1,0x3e,0x32,0x94,0xfb,0x8c,0x8f,0x8f,0xa7,0x39,
+ 0x61,0xcf,0x41,0xbf,0xe5,0x45,0x5e,0xe9,0x1c,0xd4,0x9c,0x96,0x49,0x93,
+ 0x26,0x15,0xa0,0xbf,0xcd,0xeb,0x0a,0xe8,0xbf,0x9f,0xab,0x73,0x07,0xdf,
+ 0xa4,0x12,0xfb,0x1a,0x47,0x5d,0xb1,0xad,0xac,0xac,0xae,0x71,0x9f,0x71,
+ 0x71,0x71,0xce,0xd0,0xec,0x74,0x81,0xbe,0x6e,0x1f,0xe6,0x6a,0x22,0xfa,
+ 0x5a,0xda,0x27,0xf3,0xff,0x55,0xfe,0x6b,0xf0,0x7d,0xda,0x30,0x27,0xca,
+ 0x2c,0x2d,0x2d,0x6f,0xa0,0x57,0xdd,0xd5,0x51,0x5c,0xcc,0xdd,0xab,0x82,
+ 0xcf,0x6f,0xe8,0x77,0x40,0x40,0x00,0xcd,0x0f,0xdb,0x7f,0x02,0xb9,0x73,
+ 0x07,0xea,0xf8,0x27,0x6f,0x0b,0x9e,0xd9,0xfe,0x4d,0xe2,0x10,0xcb,0x97,
+ 0x2f,0xbf,0xa5,0xf8,0x7c,0x1f,0x6c,0xa5,0xdf,0x6b,0xd6,0xac,0xa1,0x7e,
+ 0xc9,0xe6,0x5d,0x02,0x6b,0x8c,0xfa,0x0b,0x0d,0x18,0x00,0xc6,0x93,0x4f,
+ 0x53,0x53,0xd3,0x2a,0xd4,0xe8,0x8f,0xa1,0x5b,0xbf,0x0b,0xf8,0xf9,0xf9,
+ 0x1d,0xc5,0xfc,0x20,0x8f,0x69,0x06,0x7f,0x8f,0x73,0xe4,0x15,0xb9,0x26,
+ 0xb3,0xa1,0xa1,0xc1,0x0a,0xe7,0xad,0xef,0x4e,0x90,0xbb,0x1c,0xb1,0x76,
+ 0xeb,0xe1,0x89,0xf6,0x78,0x16,0x82,0x4f,0x23,0x83,0xbf,0xfe,0x6f,0x4b,
+ 0xfb,0x85,0xdf,0xd1,0xef,0x7a,0xa3,0xd6,0x7d,0x84,0x6b,0x3e,0xfc,0x3f,
+ 0x41,0xaf,0xb0,0x0f,0x79,0x37,0x52,0x79,0x8f,0x34,0x2f,0xed,0x0d,0xda,
+ 0x0f,0x13,0x70,0x06,0x34,0xaa,0xeb,0x12,0x9e,0x7f,0x1b,0x3e,0x7c,0x78,
+ 0x2e,0xc8,0xd1,0x27,0xc8,0x4d,0xf9,0x94,0x03,0x84,0x9c,0x50,0x09,0x3e,
+ 0xd0,0xe1,0x51,0x1c,0xfd,0x14,0xbf,0x54,0x5b,0x1f,0xff,0x17,0x79,0xe8,
+ 0x0d,0xa0,0xf7,0x97,0x03,0xae,0x00,0x27,0x60,0xc8,0x4d,0xfd,0x09,0xc2,
+ 0x58,0x25,0x81
+};
+
+// keep_above.png
+static const unsigned char image_4_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x6b,0x4c,0x54,0x47,0x14,0xc7,
+ 0x57,0xf1,0x81,0xe2,0x03,0x71,0xf1,0x85,0x8a,0xf8,0x16,0xc5,0xf7,0x03,
+ 0xe5,0x83,0xb1,0xfa,0xc5,0x17,0x35,0xda,0x0f,0x0d,0x41,0xd3,0x10,0x5a,
+ 0x62,0x93,0x26,0x6d,0x08,0x58,0x8c,0xb5,0xd4,0x3e,0x68,0x81,0x60,0xb4,
+ 0xa8,0x24,0x85,0x56,0xa2,0xb5,0x08,0x02,0xb1,0x46,0x2d,0x52,0x8b,0x0a,
+ 0xc5,0xb4,0xe9,0x23,0xed,0xea,0x56,0x40,0x40,0x11,0x76,0x81,0x5d,0x40,
+ 0x14,0x5c,0xd8,0x95,0xbd,0xfd,0x9f,0x75,0x86,0x4e,0x67,0xef,0x22,0xa5,
+ 0xae,0x78,0x93,0x5f,0x80,0x73,0xee,0xcc,0xfc,0x77,0xe6,0x9c,0x33,0x33,
+ 0x8b,0x46,0xe3,0xf4,0xf8,0x81,0x48,0x70,0x04,0xfc,0x04,0x6e,0x3c,0x07,
+ 0x0a,0xc1,0x61,0x10,0x01,0x7c,0x9d,0x25,0x75,0x3f,0xde,0xe0,0x33,0x60,
+ 0x01,0x0a,0x67,0xd4,0xa8,0x51,0x36,0x77,0x23,0x8e,0x07,0x1e,0x80,0x7d,
+ 0xc0,0x4b,0xd2,0xe7,0x33,0x60,0xc0,0x80,0xbb,0x4c,0xd3,0xe3,0xe4,0xe4,
+ 0x64,0x43,0x71,0x71,0x71,0xa5,0xd5,0x6a,0xd5,0x2b,0x8a,0x72,0xd3,0xdd,
+ 0x74,0x76,0x76,0xea,0x8b,0x8a,0x8a,0xaa,0x12,0x12,0x12,0x8c,0xc3,0x87,
+ 0x0f,0x7f,0xcc,0xb4,0xde,0x14,0x74,0x7a,0x82,0x52,0xb2,0x87,0x87,0x87,
+ 0x37,0x3f,0x2f,0x5d,0xae,0xb0,0x58,0x2c,0xfa,0xd0,0xd0,0xd0,0xfb,0x4c,
+ 0xe7,0x39,0xe0,0x01,0xde,0xa6,0xbf,0xb7,0x6e,0xdd,0xda,0x6a,0xb7,0xdb,
+ 0xfb,0x4d,0x9b,0x08,0xcd,0x53,0x48,0x48,0x48,0x1b,0xd3,0x19,0x06,0x2e,
+ 0xd0,0xef,0x55,0x55,0x55,0x65,0xfd,0xad,0x4d,0xa4,0xa4,0xa4,0xa4,0x92,
+ 0x69,0xfc,0x8a,0x72,0xc4,0xdf,0xdf,0xbf,0xb3,0xbf,0x35,0xc9,0xd8,0x6c,
+ 0xb6,0x9b,0x23,0x47,0x8e,0xa4,0xd8,0x74,0x68,0x5d,0xb3,0x66,0xcd,0x43,
+ 0xd8,0x75,0xae,0x30,0x1a,0x8d,0xfa,0x15,0x2b,0x56,0xb4,0xf9,0xf8,0xf8,
+ 0xd8,0x06,0x0d,0x1a,0x64,0xff,0x3f,0x0c,0x1e,0x3c,0xd8,0xae,0xd5,0x6a,
+ 0x6d,0x34,0x66,0x4b,0x4b,0x8b,0xbe,0xa7,0x71,0x67,0xcd,0x9a,0x65,0x41,
+ 0x2e,0x3b,0x62,0x73,0xf5,0xea,0xd5,0x0f,0x10,0x8b,0xbf,0xa9,0xb1,0x73,
+ 0xe7,0x4e,0x93,0x58,0x1b,0x46,0x8f,0x1e,0xad,0x8c,0x1b,0x37,0xae,0xcf,
+ 0x8c,0x18,0x31,0x42,0xac,0x33,0x4a,0x4c,0x4c,0x8c,0xc1,0xd5,0xd8,0xa2,
+ 0xc6,0xe0,0xe0,0x60,0xca,0x97,0x9f,0x65,0x92,0x92,0x92,0xaa,0xf1,0x8e,
+ 0xe2,0xe5,0xe5,0xa5,0x64,0x66,0x66,0x2a,0x98,0x4f,0xe5,0x59,0x3c,0x3a,
+ 0x9d,0x4e,0x89,0x8b,0x8b,0x53,0x30,0xa7,0x0a,0xf5,0x7f,0xfa,0xf4,0xe9,
+ 0x32,0xb5,0xf1,0x67,0xce,0x9c,0xf9,0x88,0x6b,0x5c,0xb5,0x6a,0xd5,0x7d,
+ 0x34,0x2d,0x95,0x41,0x3c,0xd8,0xa8,0x8f,0xab,0x57,0xaf,0x3e,0x13,0x6d,
+ 0xf2,0x73,0xf4,0xe8,0x51,0xc7,0x5c,0xfa,0xf9,0xf9,0x59,0xd4,0xc6,0x87,
+ 0xc6,0x76,0xae,0x71,0xe5,0xca,0x95,0x2d,0xb0,0x5d,0x13,0x69,0x6b,0x6b,
+ 0x2b,0x21,0x7d,0x73,0xe7,0xce,0x75,0x8b,0x3e,0x7a,0x50,0x63,0x14,0xd4,
+ 0x6c,0xc5,0xc3,0xc3,0xc3,0x2e,0x8f,0x4f,0xcc,0x98,0x31,0xa3,0x8d,0x6b,
+ 0x44,0x3e,0x34,0xc3,0xf6,0x83,0x48,0x79,0x79,0xf9,0x8f,0xe4,0xdb,0xb2,
+ 0x65,0x8b,0xdb,0x34,0xd2,0x33,0x7f,0xfe,0x7c,0xc7,0x7a,0xe3,0xb9,0x2c,
+ 0x33,0x7d,0xfa,0xf4,0x6e,0x8d,0xcb,0x97,0x2f,0x6f,0x82,0xad,0x40,0xa4,
+ 0xa2,0xa2,0xe2,0x0a,0xf9,0x36,0x6f,0xde,0xec,0x56,0x8d,0xf3,0xe6,0xcd,
+ 0xe3,0x1a,0x0b,0x64,0x02,0x02,0x02,0x1e,0x72,0x8d,0xcb,0x96,0x2d,0x33,
+ 0xc3,0x76,0x5e,0x04,0x35,0xfd,0x7b,0xf2,0x6d,0xdc,0xb8,0xd1,0xad,0x1a,
+ 0xe7,0xcc,0x99,0xc3,0x35,0x9e,0x97,0x81,0xc6,0x07,0x82,0x46,0x13,0x6c,
+ 0x67,0x45,0xaa,0xab,0xab,0xbf,0x23,0x1f,0xc5,0x0b,0x6a,0x80,0xdb,0xe0,
+ 0xb9,0x2d,0x8f,0x4f,0x4c,0x9b,0x36,0xad,0x5b,0xe3,0x92,0x25,0x4b,0x1a,
+ 0x90,0xeb,0xb9,0x22,0x26,0x93,0xe9,0x2c,0xf9,0xd0,0x47,0xd7,0x98,0x31,
+ 0x63,0x3a,0xdc,0x05,0xd5,0x75,0xca,0x19,0x79,0x7c,0x02,0xfb,0x5f,0x2b,
+ 0xd7,0xb8,0x78,0xf1,0xe2,0x7a,0xe8,0xce,0x12,0x31,0x9b,0xcd,0x67,0x58,
+ 0x3e,0x19,0x64,0x5f,0x4f,0x60,0xef,0x38,0xd3,0xd5,0xd5,0xd5,0xeb,0xf7,
+ 0x91,0xbb,0xcd,0x43,0x87,0x0e,0xb5,0xa9,0xf9,0xa0,0xf1,0x3e,0xd7,0xb8,
+ 0x68,0xd1,0x22,0x2a,0xce,0x27,0x45,0xa0,0x31,0x8b,0xe5,0x53,0x9d,0xec,
+ 0x53,0xa3,0xbd,0xbd,0xfd,0x54,0x58,0x58,0x18,0x9d,0xf9,0x94,0xa9,0x53,
+ 0xa7,0xb6,0x54,0x56,0x56,0x9e,0xe9,0x4d,0x3b,0xe4,0x6e,0x13,0xd3,0xe8,
+ 0xe4,0xa3,0x7e,0xb8,0xc6,0x85,0x0b,0x17,0xd2,0x5c,0x1d,0x17,0x81,0xc6,
+ 0xaf,0x59,0xac,0xd6,0xca,0x3e,0x35,0x76,0xec,0xd8,0xa1,0x67,0x67,0x64,
+ 0x0b,0x9b,0xff,0x7b,0xbd,0x69,0x87,0xbc,0xe0,0x1a,0x9d,0x7c,0x53,0xa6,
+ 0x4c,0xe9,0xd6,0x18,0x14,0x14,0x54,0x87,0xf5,0x4f,0x17,0x69,0x6c,0x6c,
+ 0xcc,0x64,0xb1,0x7a,0x4f,0xf6,0xc9,0x5c,0xba,0x74,0x29,0x0f,0x7d,0xd9,
+ 0xc7,0x8f,0x1f,0xdf,0x8a,0xb5,0x3e,0x8e,0x7a,0x62,0xa4,0xb6,0x69,0x69,
+ 0x69,0x05,0x4f,0x6b,0x8b,0xbc,0x30,0x93,0x46,0x35,0x1f,0x34,0x36,0x73,
+ 0x8d,0x0b,0x16,0x2c,0xa0,0xb9,0x3a,0x26,0x02,0x8d,0xe9,0x2c,0x56,0xef,
+ 0xca,0x3e,0x19,0xc4,0x4a,0x0d,0xbd,0x9b,0x9e,0x9e,0x7e,0x8e,0xfe,0xc6,
+ 0xb9,0xdf,0x11,0x27,0x88,0xb5,0x86,0xa7,0xb5,0x45,0xcc,0x99,0xd8,0x3c,
+ 0x3a,0xf9,0x26,0x4f,0x9e,0xdc,0xc4,0x35,0xa2,0xd6,0xd3,0xba,0x7c,0x2e,
+ 0x02,0x8d,0x69,0x2c,0x56,0xef,0xc8,0x3e,0x91,0xac,0xac,0x2c,0x47,0x6e,
+ 0x61,0xee,0x6a,0x45,0x3b,0xe2,0xb8,0x8a,0xec,0x19,0x19,0x19,0xf9,0x3d,
+ 0xb5,0x87,0xc6,0xc6,0x21,0x43,0x86,0x58,0xd5,0x7c,0xd8,0xc7,0xcd,0x5c,
+ 0x63,0x60,0x60,0x60,0x0d,0x6c,0x07,0x45,0xa0,0x31,0x95,0xc5,0x6a,0xb5,
+ 0xec,0xe3,0x20,0x7f,0x0f,0x62,0xdf,0x37,0xd0,0x7b,0x27,0x4e,0x9c,0xc8,
+ 0x16,0x7d,0xd9,0xd9,0xd9,0xdf,0x90,0x7d,0xf6,0xec,0xd9,0xb5,0xae,0xda,
+ 0x13,0xc8,0x8b,0x06,0xa6,0xd1,0xc9,0x27,0x6a,0xc4,0x1c,0xd0,0x7a,0x26,
+ 0x89,0x34,0x34,0x34,0x1c,0x62,0xb1,0x5a,0x25,0xfb,0x38,0x9b,0x36,0x6d,
+ 0xfa,0x95,0xc5,0xc3,0x6d,0x35,0x3f,0x62,0xa8,0x9a,0xfc,0xbb,0x76,0xed,
+ 0x2a,0x76,0xd5,0x07,0x62,0x8e,0x6b,0x74,0xf2,0x4d,0x9a,0x34,0xc9,0xc4,
+ 0x35,0xe2,0x6c,0x43,0x73,0xf5,0x89,0x48,0x7d,0x7d,0x7d,0x32,0x8b,0xd5,
+ 0x4a,0xd9,0x47,0x44,0x45,0x45,0xd1,0xbd,0x5d,0x99,0x30,0x61,0x82,0xa9,
+ 0xa6,0xa6,0x26,0x45,0xed,0x1d,0xbd,0x5e,0x7f,0xc8,0xdb,0xdb,0x9b,0xea,
+ 0xb0,0x3d,0x31,0x31,0x31,0x47,0xed,0x1d,0xc4,0x5c,0x3d,0xd3,0xe8,0xe4,
+ 0x9b,0x38,0x71,0x62,0x23,0xc6,0x68,0xa1,0x71,0xb0,0x67,0xd2,0x5c,0x1d,
+ 0x10,0xc1,0x79,0xf6,0x53,0x16,0xab,0xb7,0x65,0x5f,0x6a,0x6a,0xea,0x49,
+ 0xf2,0xe1,0x7c,0xf9,0xf0,0xfa,0xf5,0xeb,0x87,0x65,0xbf,0x48,0x4e,0x4e,
+ 0xce,0x17,0xd8,0xab,0xac,0xd8,0x4b,0xba,0x90,0x4b,0xa9,0xb2,0x1f,0x1a,
+ 0x8d,0x4c,0xa3,0x53,0x5b,0x7c,0xfe,0x06,0xae,0x11,0x31,0x43,0x73,0xb5,
+ 0x5f,0x04,0x1a,0x3f,0x62,0xb1,0x5a,0x2e,0xda,0x51,0x9b,0x13,0x70,0x2e,
+ 0x6f,0x1b,0x38,0x70,0x60,0x17,0x62,0xee,0x98,0xdc,0x4e,0x8d,0xd8,0xd8,
+ 0xd8,0x5c,0xea,0x0b,0xb5,0xf0,0x2e,0xee,0xfb,0xef,0x8b,0x3e,0xc4,0x9c,
+ 0x01,0x9f,0xa1,0x53,0xad,0x9d,0xa8,0x11,0x7b,0x3b,0xcd,0xd5,0x5e,0x11,
+ 0x83,0xc1,0x10,0xcf,0x62,0xb5,0x4c,0xb4,0x47,0x46,0x46,0x7e,0x4b,0xf6,
+ 0xed,0xdb,0xb7,0x5f,0xe6,0x36,0x8c,0xbb,0xaf,0xb8,0xb8,0x38,0x09,0xf7,
+ 0x89,0x63,0xb8,0x5f,0x1c,0xcf,0xcb,0xcb,0x3b,0x8c,0xcf,0xf2,0xa1,0xd8,
+ 0x8e,0xfa,0xa1,0x76,0x29,0x29,0x29,0x5f,0x8a,0x76,0xc4,0x5c,0x1d,0xd3,
+ 0xb8,0x57,0x06,0xf5,0xb6,0x9e,0x6b,0x44,0x6e,0x56,0xc0,0x16,0x23,0x82,
+ 0x5a,0x1c,0xc7,0xf6,0xb5,0x3b,0xa2,0x1d,0x77,0x30,0x87,0x46,0xac,0x9d,
+ 0x0d,0x75,0xcd,0x42,0xfd,0x4b,0xdf,0xd7,0x74,0x43,0x71,0x88,0xbb,0xa4,
+ 0x19,0x63,0x19,0x70,0xd7,0xa2,0xef,0x71,0x94,0xe8,0xe8,0xe8,0x53,0x62,
+ 0x7f,0x38,0x57,0x98,0x87,0x0d,0x1b,0xd6,0x2e,0x8f,0x4f,0xe0,0x8e,0x66,
+ 0xe4,0x1a,0x51,0x6b,0x69,0x3d,0xdf,0x91,0xc1,0x5c,0xd7,0x62,0x9c,0x2e,
+ 0xdc,0xc7,0x0f,0x70,0x1b,0xce,0x43,0xb1,0xc8,0xe7,0x42,0xf2,0xa1,0x0f,
+ 0x03,0xfd,0x44,0xfb,0xb2,0xa5,0x4b,0x97,0xfe,0xb2,0x7e,0xfd,0xfa,0x2b,
+ 0x98,0xdf,0x0b,0x21,0x21,0x21,0xa5,0x88,0x71,0x3d,0xf9,0xa1,0xad,0x15,
+ 0xf1,0x66,0xc1,0xe7,0x79,0xb4,0x61,0xc3,0x86,0xa2,0x8e,0x8e,0x8e,0x68,
+ 0xde,0x57,0x6e,0x6e,0x6e,0x22,0x8b,0xb5,0xbf,0xd4,0xc6,0xa7,0xf6,0x5c,
+ 0x23,0xf6,0x75,0x5a,0xcf,0xb7,0x64,0x22,0x22,0x22,0x1c,0xfb,0xc5,0xd8,
+ 0xb1,0x63,0x8d,0x85,0x85,0x85,0x1f,0xa8,0xbd,0xd3,0x57,0xf2,0xf3,0xf3,
+ 0x3f,0xc6,0xde,0xde,0x44,0xfd,0x27,0x24,0x24,0x1c,0x51,0x7b,0xc7,0xd7,
+ 0xd7,0xb7,0x5b,0x23,0x62,0xf9,0x16,0x6c,0xbb,0xd5,0xc0,0x7e,0x51,0xca,
+ 0xd7,0x0e,0x7d,0x9a,0x11,0xbb,0x37,0x80,0xae,0xaf,0x20,0xae,0x6e,0xd0,
+ 0xbc,0xf2,0x3e,0x43,0x43,0x43,0xcf,0xba,0x1a,0x5b,0xab,0xd5,0xd6,0x71,
+ 0x8d,0xd8,0xd7,0x69,0xae,0x5f,0x77,0x05,0xf2,0x77,0x3f,0xfa,0xfe,0x13,
+ 0x71,0xd3,0xea,0x2a,0xf6,0xfe,0x0b,0xa8,0x0b,0x2d,0x88,0x85,0xdf,0x2f,
+ 0x5e,0xbc,0xb8,0xb7,0xa7,0x71,0xb1,0x7e,0xb5,0x4c,0xe3,0x63,0xe8,0xa5,
+ 0xbd,0xf0,0xb5,0xde,0x80,0x7a,0x1d,0x85,0x3b,0xe3,0x9b,0x7d,0xa5,0xae,
+ 0xae,0xee,0x8d,0xde,0x8e,0xe5,0xe9,0xe9,0x49,0x79,0x46,0x3a,0xaf,0x51,
+ 0xfe,0xe9,0x74,0xba,0x28,0xd8,0xc3,0x5f,0x14,0x50,0xfb,0x63,0xd8,0xbc,
+ 0xe7,0x00,0x47,0x1d,0x5c,0xbb,0x76,0x6d,0x2e,0x7c,0xaf,0xbe,0x28,0x60,
+ 0x7f,0x2e,0x61,0x1a,0x77,0x03,0x2d,0x9b,0x4f,0x3b,0xce,0xfa,0xb4,0x57,
+ 0xbd,0xd2,0xdf,0xac,0x5b,0xb7,0x2e,0x8b,0xe9,0xbb,0xa5,0xf9,0xe7,0xfb,
+ 0xe6,0x20,0xcd,0x93,0xef,0xca,0x15,0xc4,0x66,0x59,0x7c,0x7c,0xfc,0xbb,
+ 0x36,0x9b,0x6d,0x1b,0xde,0x7f,0xf9,0x79,0x61,0xb5,0x5a,0xb7,0xed,0xd9,
+ 0xb3,0xe7,0x3d,0x9c,0x41,0xee,0x30,0x7d,0xb4,0x0f,0xfa,0x6b,0xfe,0xfd,
+ 0x04,0x82,0x02,0x21,0xff,0xec,0xa8,0xbf,0xb5,0xd8,0x23,0xfe,0x70,0x37,
+ 0xc8,0x73,0xa3,0x38,0x2e,0xa0,0x73,0x73,0x80,0xc6,0xf5,0xf3,0x12,0xa0,
+ 0xf3,0x2d,0x7d,0xdf,0xd3,0xf1,0x2c,0x6a,0x4d,0x2f,0x78,0x44,0xb9,0xab,
+ 0x79,0xf2,0x3f,0x9a,0x60,0x59,0xd0,0xdf,0x12,0xee,0x16,0x45
+};
+
+// keep_below_lit.png
+static const unsigned char image_5_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
+ 0xc1,0x05,0x51,0x5c,0x41,0x05,0x94,0x62,0xdc,0x77,0x5c,0xc0,0x7d,0x01,
+ 0x97,0x3f,0x30,0xc6,0x96,0xc4,0xaa,0x98,0x34,0x15,0x1b,0x68,0xda,0x26,
+ 0x35,0x69,0x4c,0x0d,0x45,0x5b,0x1b,0x44,0x25,0xb4,0x0d,0x18,0x0b,0x88,
+ 0x69,0x6d,0x69,0xdd,0xab,0x2d,0x26,0x4a,0x34,0xed,0x34,0x20,0x55,0x42,
+ 0x01,0xed,0x80,0x33,0x30,0x2c,0xca,0x32,0x3a,0x53,0x06,0x65,0x44,0x66,
+ 0x86,0x6d,0xe6,0xf6,0x3b,0xcf,0xf7,0xcc,0xf3,0xf2,0x06,0x0d,0x74,0x94,
+ 0x97,0xfc,0x32,0x70,0xcf,0xbd,0xf7,0x7c,0x73,0xef,0xb9,0xe7,0x9e,0x37,
+ 0x6e,0x6e,0x5d,0x1e,0x6f,0xb0,0x13,0xa4,0x80,0x6b,0xe0,0xce,0x2b,0xa0,
+ 0x00,0xa4,0x83,0x68,0x10,0xd8,0x55,0xd2,0xb3,0xc7,0x13,0xec,0x01,0x4d,
+ 0x80,0x49,0x0c,0x1f,0x3e,0xbc,0xc3,0xd5,0xc8,0xfd,0x81,0x36,0x90,0x0c,
+ 0x7c,0x14,0xf4,0xdd,0xa2,0x3e,0x83,0x07,0x0f,0xb6,0x27,0x24,0x24,0x18,
+ 0x54,0x2a,0xd5,0x5d,0x9b,0xcd,0xa6,0x65,0x8c,0x69,0x5c,0x4d,0x7b,0x7b,
+ 0xbb,0xf6,0xc6,0x8d,0x1b,0xd5,0xc9,0xc9,0xc9,0x0f,0x46,0x8d,0x1a,0x25,
+ 0x68,0x76,0x77,0x77,0x37,0xe0,0xd3,0x57,0xd4,0xe7,0x0e,0xce,0x53,0x7b,
+ 0x78,0x78,0x78,0xb3,0xc5,0x62,0x79,0x25,0xba,0x9c,0xd1,0xd1,0xd1,0xa1,
+ 0x8d,0x8e,0x8e,0x7e,0x28,0xae,0x29,0xad,0x9b,0x17,0x78,0x93,0xfe,0x0f,
+ 0x0e,0x0e,0xb6,0x58,0xad,0xd6,0xd7,0xaa,0x4f,0xce,0xb6,0x6d,0xdb,0xa4,
+ 0x98,0xdb,0x07,0x8e,0xd2,0xdf,0x57,0xaf,0x5e,0xbd,0xf7,0xba,0x75,0xc9,
+ 0x69,0x68,0x68,0x28,0xc7,0x7e,0x3b,0xa0,0x2d,0x17,0xa8,0x07,0x0d,0x1a,
+ 0x64,0xef,0x4b,0x6b,0x28,0x31,0x73,0xe6,0x4c,0x1b,0xf4,0x51,0x7c,0xea,
+ 0x03,0x02,0x02,0xda,0xd0,0x56,0xea,0x0c,0xb3,0xd9,0xac,0x59,0xb9,0x72,
+ 0xe5,0x93,0x31,0x63,0xc6,0x74,0x0c,0x1c,0x38,0xd0,0x31,0x60,0xc0,0x80,
+ 0x5e,0x41,0xe7,0x22,0x24,0x24,0xa4,0x45,0xaf,0xd7,0x6b,0xbb,0xf3,0xbb,
+ 0x7e,0xfd,0xfa,0xc7,0xe2,0x7e,0xeb,0xc7,0x8f,0x1f,0xdf,0xe6,0x70,0x38,
+ 0x6e,0x29,0xb1,0x77,0xef,0x5e,0x3d,0xd6,0xfc,0x59,0x6e,0x18,0x3a,0x74,
+ 0x28,0x1b,0x3b,0x76,0x6c,0x8f,0x19,0x31,0x62,0x84,0x3c,0xcf,0x30,0xc4,
+ 0x9d,0xc9,0x99,0xef,0x75,0xeb,0xd6,0x99,0x25,0x8d,0xe3,0xc6,0x8d,0x6b,
+ 0x45,0xdb,0xdf,0x3c,0x59,0x59,0x59,0x14,0x13,0x0c,0x6b,0xc7,0x62,0x63,
+ 0x63,0x59,0x69,0x29,0x7d,0xbd,0xde,0x3f,0x46,0xa3,0x91,0x65,0x66,0x66,
+ 0x32,0x2f,0x2f,0x2f,0xca,0x31,0x0c,0xb9,0xae,0x56,0xc9,0xff,0xda,0xb5,
+ 0x6b,0x9b,0xe4,0x1a,0x31,0xf4,0x26,0xcf,0x84,0x09,0x13,0xac,0xd4,0x27,
+ 0x35,0x35,0xf5,0x7f,0xd1,0xc6,0x3f,0xb9,0xb9,0xb9,0x82,0x46,0x68,0xed,
+ 0x54,0xf2,0xbf,0x66,0xcd,0x9a,0x87,0x32,0x8d,0x36,0xb4,0x5d,0xe7,0xc1,
+ 0xfa,0xd9,0x87,0x0c,0x19,0xc2,0x90,0x63,0x5d,0xa2,0x91,0x1e,0x9c,0x0b,
+ 0x41,0xa7,0xc9,0x64,0xba,0xc9,0xfb,0x0f,0x0b,0x0b,0x6b,0x94,0x34,0xfa,
+ 0xfb,0xfb,0x93,0x46,0x15,0x4f,0xbf,0x7e,0xfd,0xd8,0xac,0x59,0xb3,0x5c,
+ 0xa6,0x8f,0x9e,0x4d,0x9b,0x36,0x09,0x71,0x59,0x54,0x54,0x94,0xcf,0xfb,
+ 0x0f,0x0d,0x0d,0x35,0xc9,0x34,0x5a,0xd1,0x76,0x8d,0x87,0x34,0xce,0x98,
+ 0x31,0xc3,0xa5,0x1a,0x37,0x6e,0xdc,0x28,0x68,0x2c,0x2e,0x2e,0xce,0xe3,
+ 0xfd,0xaf,0x5e,0xbd,0xba,0x41,0xd2,0xe8,0xe7,0xe7,0x47,0x1a,0xaf,0xf0,
+ 0x40,0xa3,0x63,0xda,0xb4,0x69,0x2e,0xd5,0xb8,0x61,0xc3,0x06,0x41,0xe3,
+ 0xed,0xdb,0xb7,0x73,0x78,0xff,0xab,0x56,0xad,0x32,0xca,0x34,0x5a,0xd0,
+ 0x76,0x89,0x87,0x34,0xd2,0x99,0x9e,0x3a,0x75,0xaa,0xcb,0xa0,0x78,0x27,
+ 0x1d,0x6a,0xb5,0xfa,0x77,0xde,0x3f,0x72,0xb2,0x41,0xd2,0xe8,0xeb,0xeb,
+ 0xdb,0x82,0xb3,0x7e,0x91,0xc7,0xc3,0xc3,0xa3,0xb3,0x7f,0xff,0xfe,0x94,
+ 0x73,0x5b,0x5d,0x05,0x7c,0xd8,0x49,0x47,0x55,0x55,0xd5,0x15,0xde,0xff,
+ 0x8a,0x15,0x2b,0x1e,0x48,0x1a,0x91,0x5b,0x5b,0xa0,0xfb,0x2c,0x0f,0xf2,
+ 0x6d,0x2b,0xce,0x7c,0xb3,0x92,0xad,0xad,0xad,0xed,0x1c,0xee,0xcf,0xf3,
+ 0xa8,0x53,0xce,0x29,0xd9,0x25,0x2a,0x2a,0x2a,0x2e,0x15,0x16,0x16,0x5e,
+ 0xce,0xcf,0xcf,0xcf,0x56,0xb2,0x23,0xe6,0xea,0x49,0x47,0x75,0x75,0x75,
+ 0x16,0x6f,0x5b,0xb6,0x6c,0x99,0x5e,0xa6,0xf1,0x09,0xda,0x4e,0xf2,0x40,
+ 0xa3,0x0d,0x1a,0x1f,0xcb,0xdb,0xa0,0xed,0x54,0x44,0x44,0x84,0x8e,0xd6,
+ 0x57,0xba,0x2b,0x50,0x73,0xb6,0xe3,0xdc,0x35,0x23,0x07,0x34,0xe0,0xbb,
+ 0xd7,0x4d,0x9f,0x3e,0xdd,0xe4,0xed,0xed,0x6d,0x91,0xdf,0x4f,0x04,0xf9,
+ 0xd1,0xe9,0x74,0x17,0xe5,0xf3,0x21,0xe6,0x6a,0xc5,0x75,0xbc,0xc0,0xfb,
+ 0x5f,0xba,0x74,0x69,0xbd,0xa4,0x11,0xf7,0x30,0x69,0xfc,0x91,0x07,0x35,
+ 0xb2,0x0d,0xbe,0x1f,0xcb,0xdb,0x0e,0x1f,0x3e,0x7c,0x9d,0xc6,0x4d,0x9c,
+ 0x38,0x91,0xe1,0x1e,0x60,0xc8,0x0f,0x6c,0xce,0x9c,0x39,0x0c,0x73,0x30,
+ 0x49,0x13,0x7d,0x06,0x06,0x06,0x32,0xe8,0x65,0x5b,0xb7,0x6e,0x65,0x51,
+ 0x51,0x51,0x0c,0xf7,0x9a,0x60,0xdb,0xb1,0x63,0x87,0x5a,0x3e,0x1f,0x62,
+ 0xae,0x86,0xda,0x2b,0x2b,0x2b,0xcf,0xf1,0xfe,0x97,0x2c,0x59,0x52,0x27,
+ 0xd3,0xd8,0x8c,0xfd,0xff,0x8e,0x07,0x1a,0xad,0xd0,0x68,0x96,0xb7,0x9d,
+ 0x39,0x73,0xe6,0x32,0x8d,0xc3,0xdc,0xcc,0x6e,0xb7,0x77,0x39,0xa7,0x74,
+ 0xcf,0x29,0x3d,0x9b,0x37,0x6f,0x16,0x34,0x26,0x26,0x26,0xfe,0x29,0x9f,
+ 0x6f,0xf9,0xf2,0xe5,0xf7,0xa8,0x1d,0x31,0x71,0x8a,0xf7,0xbf,0x78,0xf1,
+ 0xe2,0x5a,0x49,0xe3,0xe8,0xd1,0xa3,0x29,0xe6,0xd2,0x79,0x86,0x0d,0x1b,
+ 0x66,0xc5,0x99,0x6f,0x92,0xb7,0x41,0x57,0x3a,0xea,0x61,0xe1,0xbb,0xc7,
+ 0xc7,0xc7,0x2b,0xea,0xe1,0x9f,0x13,0x27,0x4e,0x08,0xfa,0x10,0x03,0x06,
+ 0xdc,0x59,0xc7,0xe4,0xf3,0x21,0xe6,0xaa,0x45,0x8d,0x99,0xbc,0xff,0x45,
+ 0x8b,0x16,0xdd,0x93,0x69,0xa4,0xfd,0x3c,0xca,0x43,0x1a,0x71,0xe6,0x9b,
+ 0xf8,0xf6,0xc6,0xc6,0xc6,0x63,0x88,0xb7,0x27,0xb4,0xa7,0x58,0xd7,0x6e,
+ 0xf5,0xe1,0xac,0x30,0xd4,0xa7,0x0c,0xe7,0xb7,0xa3,0xa0,0xa0,0xe0,0x27,
+ 0x7e,0x2e,0xc4,0x5c,0x15,0xe9,0x40,0x9c,0x7e,0xcf,0xdb,0x50,0xbf,0xdd,
+ 0x95,0x34,0xfa,0xf8,0xf8,0x90,0xc6,0x64,0x1e,0x68,0xb4,0x40,0xe3,0x23,
+ 0x25,0x5b,0x76,0x76,0xf6,0xcf,0x9e,0x9e,0x9e,0xed,0xe4,0x3f,0x2f,0x2f,
+ 0x4f,0x51,0x1f,0xea,0x43,0x86,0x58,0x61,0x94,0x67,0xd3,0xd2,0xd2,0x7e,
+ 0x53,0x9a,0x07,0xfb,0x59,0x41,0x3a,0xca,0xcb,0xcb,0x33,0x78,0x1b,0xf6,
+ 0xab,0x5a,0xa6,0xd1,0x8c,0xb6,0xaf,0x78,0x50,0x2b,0x5a,0x70,0x16,0x1f,
+ 0x29,0xd9,0x08,0xd4,0x43,0xbf,0xe0,0x7c,0xdb,0x11,0xcf,0x0e,0xe4,0xa1,
+ 0x2e,0x1a,0xa5,0xbb,0x38,0x26,0x26,0x26,0xc7,0xd9,0x1c,0xd8,0x4f,0x1d,
+ 0xf5,0x29,0x2b,0x2b,0x4b,0xe3,0x6d,0x0b,0x17,0x2e,0xac,0x94,0x34,0x62,
+ 0xdf,0x68,0x3f,0x0f,0xf1,0x90,0x46,0xf8,0x7f,0xa8,0x64,0x93,0xd8,0xb2,
+ 0x65,0xcb,0x5f,0x34,0xcf,0xc1,0x83,0x07,0x9f,0xd3,0x87,0x7b,0x43,0x38,
+ 0xdf,0x93,0x26,0x4d,0xd2,0x77,0x37,0x1e,0xfb,0x59,0x46,0xe3,0xb5,0x5a,
+ 0xed,0x11,0xde,0x36,0x7f,0xfe,0xfc,0x0a,0x4e,0x63,0x3c,0x0f,0x34,0xb6,
+ 0x40,0x63,0xa3,0x92,0x4d,0xa2,0xae,0xae,0x2e,0x09,0xf9,0xd1,0x86,0x3b,
+ 0xc3,0x81,0x77,0x8a,0x67,0x1a,0xb7,0x6f,0xdf,0x2e,0xac,0x61,0x52,0x52,
+ 0xd2,0xd9,0xee,0xc6,0x63,0x3f,0xb5,0xd4,0x4f,0xa3,0xd1,0x7c,0xc3,0xdb,
+ 0xe6,0xcd,0x9b,0xa7,0x93,0x34,0x62,0x7e,0xda,0xcf,0x2f,0x78,0x50,0x7b,
+ 0xb6,0xe0,0x3c,0x35,0x2a,0xd9,0xe4,0x44,0x46,0x46,0xfe,0x41,0x73,0xc5,
+ 0xc5,0xc5,0x09,0xfa,0xe0,0x4f,0x58,0x43,0xe4,0x04,0x63,0x67,0x67,0xe7,
+ 0xfe,0xee,0xc6,0x2e,0x58,0xb0,0x40,0x43,0x63,0x51,0xe3,0x27,0xf1,0xb6,
+ 0xa0,0xa0,0xa0,0x32,0x4e,0x63,0x1c,0x8f,0xa8,0xd1,0xa4,0x64,0x93,0x63,
+ 0x30,0x18,0xbe,0x44,0x5f,0x0b,0xde,0xa7,0x58,0x49,0x49,0x09,0x43,0xfd,
+ 0x2c,0xac,0xe1,0x81,0x03,0x07,0x4e,0xbe,0x68,0x2c,0xf6,0xb3,0x94,0xfa,
+ 0x62,0xdc,0x21,0xde,0x36,0x77,0xee,0x5c,0xad,0xa4,0x71,0xe4,0xc8,0x91,
+ 0x14,0x73,0x9f,0xf2,0x20,0x87,0x37,0xa1,0x2e,0x69,0x51,0xb2,0xf1,0x40,
+ 0xcf,0x0f,0xd2,0x1d,0x43,0x9f,0x93,0x27,0x4f,0xae,0x7a,0x99,0x71,0xa8,
+ 0x7d,0x84,0x98,0xab,0xa9,0xa9,0xf9,0x9c,0xb7,0xcd,0x9e,0x3d,0x5b,0xc3,
+ 0x69,0xfc,0x84,0x07,0xdf,0x43,0x4d,0x7d,0x8e,0x1f,0x3f,0x7e,0x44,0xc9,
+ 0xce,0x83,0x3b,0x24,0x03,0x79,0xc0,0x88,0xb9,0x4b,0x10,0xa7,0x9f,0xbd,
+ 0xa8,0x3f,0x72,0x53,0x2c,0x6a,0xbf,0x56,0x9c,0x87,0x06,0x25,0x3b,0xee,
+ 0xff,0x52,0x49,0x23,0x6a,0x07,0x8a,0xb9,0x8f,0x79,0x52,0x52,0x52,0x8e,
+ 0xc0,0xee,0xc0,0xd9,0x31,0x63,0x9d,0xd2,0x95,0xfa,0xf4,0x94,0x9c,0x9c,
+ 0x9c,0xfd,0xf8,0x3e,0x42,0x5d,0x83,0x78,0xfe,0x55,0xa9,0x0f,0xde,0x75,
+ 0x4a,0x38,0x8d,0x1f,0x2a,0x81,0x9a,0xe0,0x82,0x54,0xb7,0xe0,0xae,0xb0,
+ 0x4d,0x99,0x32,0xe5,0x0e,0xf6,0xa7,0xb4,0x37,0xc0,0x1f,0xbd,0xa7,0x08,
+ 0x75,0x13,0xea,0x91,0x22,0x67,0xbe,0x71,0x77,0xaa,0x25,0x8d,0x88,0x3b,
+ 0x3a,0x17,0x31,0xce,0x50,0xa9,0x54,0xb1,0x78,0xaf,0xb9,0x85,0xf5,0x7c,
+ 0x24,0xaf,0xb5,0x7a,0x0a,0x72,0x55,0x33,0xf2,0xe6,0x1d,0xec,0x4d,0x72,
+ 0x77,0x7e,0xf1,0x9e,0xf2,0x8f,0x38,0x46,0x87,0x98,0xb0,0xe2,0xae,0xdf,
+ 0x89,0xf6,0xa8,0x17,0x81,0x33,0xfc,0x3e,0xee,0xff,0x8f,0x7a,0x4a,0x6d,
+ 0x6d,0xed,0x07,0x2f,0xe3,0x87,0x40,0xed,0x5a,0x29,0xae,0xb7,0x70,0x1e,
+ 0x33,0x32,0x32,0xf6,0xa1,0xfd,0x9d,0xbe,0xc2,0xfd,0xfb,0xf7,0xdf,0xc3,
+ 0x3d,0x4f,0xbf,0x47,0x15,0x83,0x77,0xc5,0x5c,0x51,0x08,0x5b,0x64,0x5f,
+ 0x21,0x3c,0x3c,0xfc,0xb4,0xb8,0xcf,0x5f,0xbb,0x3d,0xfd,0x9d,0x59,0x38,
+ 0x3f,0xa8,0x9b,0xe9,0x7c,0xbd,0xfd,0xba,0xd9,0xb5,0x6b,0x57,0xa2,0xb8,
+ 0xc7,0xff,0x02,0x3f,0xb7,0xa7,0x8f,0x3f,0x10,0xde,0x1d,0x70,0x7e,0xea,
+ 0x77,0xef,0xde,0xbd,0x1f,0xef,0x2d,0x11,0xe8,0xff,0xd6,0xab,0x02,0xef,
+ 0x6e,0x11,0x09,0x09,0x09,0x7b,0x02,0x02,0x02,0x8a,0xc5,0xf5,0xa3,0xdf,
+ 0x9a,0x42,0xdc,0x9e,0x7f,0xde,0x00,0xa7,0xa5,0x9c,0x40,0xe0,0x8e,0x31,
+ 0xa2,0x7e,0x54,0xbb,0x1a,0xd4,0xa9,0xf5,0x72,0xbf,0xa0,0x08,0x04,0xb9,
+ 0x39,0x7f,0x82,0x01,0xe5,0xee,0x1c,0x71,0xad,0x7b,0x9d,0x6b,0x5e,0x82,
+ 0x56,0x90,0x0f,0xbe,0x05,0x51,0xbc,0xa0,0xff,0x00,0xbc,0x45,0x33,0x49
+};
+
+// keep_below.png
+static const unsigned char image_6_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x94,0x47,0x14,0xc7,
+ 0x11,0x0f,0x3c,0x22,0xde,0xe2,0x81,0x07,0xb1,0x1a,0xf1,0x46,0x25,0x31,
+ 0x6a,0x34,0x31,0xda,0x18,0xa3,0x62,0x0d,0xa1,0x78,0x21,0x31,0x80,0x82,
+ 0x80,0x10,0x0b,0x12,0x49,0x94,0x6a,0xe5,0x56,0x42,0x01,0x29,0x02,0x1e,
+ 0xad,0x56,0x4b,0x0a,0x96,0xa2,0x80,0xd6,0x03,0xa1,0x55,0x39,0x5c,0x15,
+ 0xe4,0x58,0xce,0xe5,0x5c,0x0e,0x2b,0x28,0x16,0x58,0x60,0xf7,0xeb,0xff,
+ 0x6d,0xbf,0x35,0xe3,0xb8,0xa8,0x91,0xae,0xfa,0x25,0xbf,0x00,0xef,0xcd,
+ 0x7c,0xf3,0xdf,0x99,0x37,0x6f,0xde,0x2c,0x7a,0x7a,0x6f,0x3c,0x0b,0x81,
+ 0x27,0x38,0x03,0x1e,0x80,0x27,0x3a,0x26,0x17,0x24,0x02,0x7f,0xf0,0x35,
+ 0xd0,0x7f,0x53,0xd2,0xab,0xe7,0x0b,0x10,0x07,0x54,0x40,0x20,0xfa,0xf5,
+ 0xeb,0xa7,0x32,0x34,0x34,0xec,0xd2,0x25,0x83,0x07,0x0f,0xee,0xd6,0x8c,
+ 0x27,0x52,0x01,0xb6,0x6a,0xd1,0x6a,0xd6,0xa7,0x4f,0x9f,0x76,0x6a,0x33,
+ 0x69,0xd2,0x24,0x45,0x54,0x54,0x54,0x8d,0x44,0x22,0x29,0xed,0xee,0xee,
+ 0xce,0x17,0x04,0x41,0xe7,0x54,0x55,0x55,0x49,0xaf,0x5c,0xb9,0x22,0xf3,
+ 0xf0,0xf0,0x68,0xec,0xdb,0xb7,0xaf,0x66,0x8e,0xe2,0x18,0x7d,0x26,0xd0,
+ 0xd7,0xa4,0xaf,0xaf,0xaf,0x0a,0x08,0x08,0x90,0x7f,0x0c,0x4d,0x6f,0xe3,
+ 0xe9,0xd3,0xa7,0x45,0xb3,0x67,0xcf,0x6e,0x13,0x75,0x7a,0x89,0x1a,0x2f,
+ 0xd3,0xdf,0x9f,0x83,0x3e,0x0d,0x32,0x99,0x4c,0x6a,0x64,0x64,0xd4,0x29,
+ 0xc6,0x9d,0x31,0xe6,0xf0,0x39,0xad,0xef,0xa7,0xd6,0xc5,0x73,0xf4,0xe8,
+ 0xd1,0x7a,0x71,0x2e,0x6d,0xe9,0xa7,0xb5,0xb5,0x75,0xf3,0xa7,0xd6,0xc4,
+ 0x73,0xef,0xde,0xbd,0x32,0x51,0xe3,0x69,0xfa,0x89,0x58,0x6d,0x80,0x3d,
+ 0xaf,0x27,0x52,0x52,0x52,0xca,0xe7,0xcc,0x99,0xd3,0x36,0x74,0xe8,0xd0,
+ 0x6e,0xda,0xeb,0xbd,0xa1,0x7f,0xff,0xfe,0xaa,0x09,0x13,0x26,0x74,0xae,
+ 0x5d,0xbb,0xf6,0x79,0x57,0x57,0x57,0x8f,0x63,0x36,0x34,0x34,0x14,0x88,
+ 0x1a,0x29,0x2f,0x09,0xfb,0xf7,0xef,0xaf,0x53,0xa9,0x54,0x12,0x1e,0xa5,
+ 0x52,0x29,0x81,0xb6,0x7f,0xd8,0xdc,0x30,0x76,0xec,0xd8,0x5e,0x61,0x60,
+ 0x60,0xf0,0xea,0x5d,0x03,0x06,0x0c,0x50,0x25,0x27,0x27,0x17,0x6b,0x1b,
+ 0xbb,0xbe,0xbe,0xfe,0x31,0xab,0xd1,0xdd,0xdd,0xbd,0x06,0xf6,0x2c,0x9e,
+ 0x65,0xcb,0x96,0xb5,0x90,0xdf,0xd8,0xd8,0x58,0xc0,0xbb,0x04,0xe4,0x22,
+ 0xa1,0xb7,0x0f,0xde,0x2b,0xe4,0xe4,0xe4,0x08,0xab,0x56,0xad,0x7a,0x95,
+ 0x83,0x91,0x7b,0x24,0xfc,0xd8,0xd0,0x28,0xe1,0x34,0x56,0xa1,0xfb,0x5d,
+ 0x96,0x96,0x96,0x96,0x4c,0xec,0x27,0x61,0xe4,0xc8,0x91,0x42,0x5d,0x5d,
+ 0x5d,0xaf,0xb5,0x69,0x7b,0x2c,0x2c,0x2c,0xd4,0x3a,0x37,0x6d,0xda,0xd4,
+ 0xc8,0x8f,0x0f,0x8d,0x59,0xac,0x46,0x37,0x37,0x37,0x19,0xec,0xe9,0x2c,
+ 0xfe,0xfe,0xfe,0x25,0xe4,0x73,0x70,0x70,0xd0,0x89,0x3e,0x7a,0xb0,0x2f,
+ 0x04,0x71,0x9d,0xda,0xf8,0xf1,0xe5,0x72,0xf9,0x5d,0x56,0xa3,0xab,0xab,
+ 0x6b,0x39,0xec,0x37,0x59,0x9c,0x9c,0x9c,0xe8,0x4c,0x12,0x02,0x03,0x03,
+ 0x75,0xa6,0xb1,0xa9,0xa9,0x49,0xad,0x71,0xc4,0x88,0x11,0x0a,0x7e,0x7c,
+ 0x68,0x4c,0x67,0x35,0xba,0xb8,0xb8,0x94,0xc2,0x7e,0x8d,0xc5,0xd1,0xd1,
+ 0xb1,0x54,0xcc,0xed,0x3a,0xd3,0xd8,0xd8,0xd8,0xc8,0x6a,0x7c,0x6d,0x7c,
+ 0xc4,0xd7,0x2d,0x56,0xe3,0xde,0xbd,0x7b,0x8b,0x61,0xbf,0xca,0x82,0x79,
+ 0x2c,0x26,0x9f,0x9f,0x9f,0x9f,0xce,0x34,0x22,0xe6,0xd4,0x1a,0x11,0xf3,
+ 0x1d,0xfc,0xf8,0xd0,0x78,0x9d,0xd5,0x08,0x3d,0x45,0xb0,0x27,0xb2,0x90,
+ 0x8d,0x7c,0xa3,0x46,0x8d,0x12,0xa6,0x4f,0x9f,0xae,0x13,0x4c,0x4c,0x4c,
+ 0x34,0xf3,0xd8,0xc1,0x8f,0x0f,0x8d,0x29,0xac,0xc6,0x3d,0x7b,0xf6,0xe4,
+ 0x63,0xbf,0xc7,0xb3,0x60,0x8d,0xb3,0xc9,0x37,0x68,0xd0,0xa0,0x2e,0x7a,
+ 0x87,0x2e,0x18,0x3e,0x7c,0x78,0x07,0x8d,0x01,0xad,0x2d,0xfc,0xf8,0x35,
+ 0x35,0x35,0x49,0xac,0xc6,0xdd,0xbb,0x77,0x53,0x6e,0xbf,0xc4,0x12,0x1b,
+ 0x1b,0x7b,0x87,0x7c,0xce,0xce,0xce,0x8f,0x79,0x1f,0xf1,0xf2,0xe5,0xcb,
+ 0xb8,0xf6,0xf6,0xf6,0x38,0xe4,0xf9,0x37,0x7c,0x1a,0x50,0xc3,0xfc,0x9a,
+ 0x97,0x97,0xf7,0x3b,0xf6,0x6f,0x72,0x45,0x45,0xc5,0x65,0x6d,0x7e,0x1a,
+ 0xc3,0xdc,0xdc,0xbc,0x8e,0xf7,0x41,0x63,0x02,0xab,0xd1,0xde,0xde,0x9e,
+ 0x74,0x9c,0x67,0x89,0x8e,0x8e,0xbe,0x2d,0xc6,0xea,0x43,0xd6,0x9e,0x98,
+ 0x98,0x98,0x8a,0x39,0xd0,0xd4,0x4e,0x02,0xe5,0xd0,0x61,0xc3,0x86,0xb5,
+ 0x4f,0x99,0x32,0xa5,0x79,0xc1,0x82,0x05,0xf2,0xa5,0x4b,0x97,0x56,0xd1,
+ 0xef,0x43,0x86,0x0c,0x51,0x70,0xb5,0xab,0xb0,0x7a,0xf5,0xea,0x72,0xf6,
+ 0x5d,0xd8,0xd7,0xbf,0x90,0x7d,0xf1,0xe2,0xc5,0xb5,0xfc,0xf8,0xd0,0x18,
+ 0xc7,0x6a,0xb4,0xb3,0xb3,0x23,0x1d,0x67,0x59,0x4e,0x9d,0x3a,0x75,0x83,
+ 0x7c,0xd8,0xdf,0x0f,0x58,0xfb,0xfc,0xf9,0xf3,0xeb,0xc8,0x3e,0x73,0xe6,
+ 0xcc,0x86,0xb9,0x73,0xe7,0xca,0x67,0xcd,0x9a,0x55,0x3f,0x6e,0xdc,0xb8,
+ 0x17,0x03,0x07,0x0e,0xec,0xd4,0x68,0x41,0x9d,0xaa,0x9c,0x38,0x71,0x62,
+ 0x8b,0x99,0x99,0x59,0xed,0x8a,0x15,0x2b,0x2a,0xd6,0xaf,0x5f,0x2f,0xc5,
+ 0xe7,0x50,0x7f,0xae,0xec,0xec,0xec,0x78,0xcd,0xbb,0xa0,0xf1,0x02,0xd9,
+ 0x16,0x2d,0x5a,0x54,0xc3,0x8f,0x5f,0x5d,0x5d,0x7d,0x91,0xd5,0xb8,0x6b,
+ 0xd7,0xae,0x07,0x88,0x81,0x18,0x96,0xc8,0xc8,0xc8,0x6b,0x62,0x1c,0x64,
+ 0xb3,0xf6,0x35,0x6b,0xd6,0x48,0xc9,0xee,0xe3,0xe3,0x73,0x87,0xef,0x83,
+ 0xb3,0x32,0xa6,0xa4,0xa4,0xe4,0x02,0x6f,0xcf,0xcd,0xcd,0xbd,0x88,0xb8,
+ 0x56,0xd0,0xe7,0x68,0x6d,0x6d,0x3d,0xa3,0xb1,0xa3,0x6e,0x38,0x47,0xef,
+ 0x5a,0xb8,0x70,0x61,0x35,0xdf,0xa7,0xb2,0xb2,0xf2,0x27,0x56,0xa3,0xad,
+ 0xad,0x6d,0x16,0xb4,0x47,0xb2,0x9c,0x3c,0x79,0xf2,0xaa,0x18,0x07,0xf7,
+ 0x59,0x7b,0x56,0x56,0xd6,0x05,0x8c,0xa5,0xc0,0x39,0xab,0x4c,0x4b,0x4b,
+ 0xbb,0xc4,0xf7,0xe3,0xe9,0xec,0xec,0xfc,0x61,0xc6,0x8c,0x19,0x72,0x7a,
+ 0x97,0x97,0x97,0xd7,0x1d,0xd6,0x87,0xfc,0x18,0x43,0x76,0xcc,0x77,0x25,
+ 0xdf,0x0f,0x67,0xf8,0x69,0x56,0xe3,0xce,0x9d,0x3b,0x49,0x47,0x18,0x4b,
+ 0x44,0x44,0x44,0x92,0x18,0x07,0x77,0x79,0x5f,0x70,0x70,0x70,0x32,0xf9,
+ 0x46,0x8f,0x1e,0xfd,0xbc,0xb8,0xb8,0x38,0x96,0xf7,0xb3,0x6c,0xd8,0xb0,
+ 0xe1,0x11,0xb5,0x45,0xac,0xca,0x78,0x1f,0xe6,0x31,0xaa,0x27,0x1f,0xe6,
+ 0x31,0x9a,0xd5,0xb8,0x63,0xc7,0x0e,0xd2,0x11,0xc2,0x12,0x16,0x16,0xf6,
+ 0x9b,0x18,0x07,0x7f,0xf2,0x3e,0x62,0xeb,0xd6,0xad,0xf7,0xc5,0xbc,0x21,
+ 0x7f,0xf6,0xec,0x59,0x98,0xb6,0x36,0x98,0x37,0x75,0x1e,0x1e,0x3f,0x7e,
+ 0xfc,0xdf,0xc8,0x77,0x11,0xbc,0x1f,0x1a,0x23,0xc8,0x8f,0x18,0xaf,0xe0,
+ 0x7d,0xb8,0x2f,0x44,0xb2,0x1a,0xb7,0x6d,0xdb,0x46,0x3a,0x82,0x58,0x42,
+ 0x43,0x43,0xe3,0xc5,0x38,0x48,0xe7,0x7d,0x04,0x72,0x4e,0xd0,0xf2,0xe5,
+ 0xcb,0xf3,0xa9,0x0d,0xea,0x55,0x09,0xef,0x47,0x5c,0x86,0x23,0x1e,0xba,
+ 0x71,0x37,0x6d,0xcf,0xc8,0xc8,0x88,0xd1,0xf6,0x0e,0x9c,0x33,0xa1,0xd4,
+ 0x7f,0xde,0xbc,0x79,0xe5,0xbc,0x0f,0xb9,0x2a,0x8c,0xd5,0xb8,0x65,0xcb,
+ 0x16,0xd2,0xe1,0xcb,0x72,0xe2,0xc4,0x09,0x75,0x5e,0xb0,0xb1,0xb1,0xb9,
+ 0xcd,0xfb,0x34,0x20,0xfe,0x03,0xb0,0x5f,0x5f,0x60,0x1f,0x77,0x67,0x66,
+ 0x66,0x46,0xb0,0x3e,0xec,0xe5,0x4c,0xb1,0xa6,0x4a,0xee,0xa9,0x3f,0xea,
+ 0x86,0x60,0x6a,0x83,0x3a,0xba,0x94,0xf7,0x95,0x97,0x97,0x87,0xb0,0x1a,
+ 0x71,0x9f,0x49,0x83,0xfd,0x08,0xcb,0xf1,0xe3,0xc7,0xd5,0x7b,0x7f,0xfb,
+ 0xf6,0xed,0x37,0x79,0x1f,0x8b,0xa7,0xa7,0xa7,0xfa,0x1d,0x2b,0x57,0xae,
+ 0x94,0x68,0x6c,0xa5,0xa5,0xa5,0x41,0xa8,0xb1,0x15,0xb8,0xe3,0xbf,0xc0,
+ 0x73,0xac,0xa7,0xbe,0x58,0x7f,0xfa,0x6e,0x42,0xc0,0x5d,0xb5,0x84,0xf7,
+ 0x41,0x63,0x10,0xab,0xd1,0xca,0xca,0xea,0x16,0xec,0x87,0x58,0x82,0x82,
+ 0x82,0xce,0x93,0x0f,0x71,0xf7,0x07,0xef,0x63,0xe9,0xe8,0xe8,0xf0,0x19,
+ 0x33,0x66,0x4c,0x13,0x72,0xb9,0x0a,0xf7,0x1e,0x8a,0xcb,0x43,0x1b,0x37,
+ 0x6e,0x4c,0x17,0xe3,0x24,0xf5,0x6d,0x7d,0xa1,0xf1,0x18,0xb5,0x43,0x8e,
+ 0x2d,0xe6,0x7d,0x65,0x65,0x65,0x7e,0xac,0x46,0x4b,0x4b,0xcb,0x1b,0xb0,
+ 0x1f,0x64,0xc1,0x79,0x7d,0x4e,0x8c,0x83,0x6b,0xbc,0x8f,0xe7,0xc8,0x91,
+ 0x23,0xea,0xcf,0x33,0x75,0xea,0x54,0x59,0x6a,0x6a,0x6a,0x08,0xad,0x3d,
+ 0xce,0x99,0x56,0xec,0x09,0x9f,0xb7,0xf5,0xab,0xad,0xad,0xfd,0x96,0xfa,
+ 0x99,0x9a,0x9a,0x4a,0x79,0x1f,0xd6,0xe2,0x28,0xab,0x71,0xf3,0xe6,0xcd,
+ 0xa4,0xc3,0x83,0x25,0x24,0x24,0x44,0x9d,0x17,0xd6,0xad,0x5b,0x77,0x8b,
+ 0xf7,0x69,0x03,0xe7,0x4e,0x21,0x7b,0xee,0x79,0x7b,0x7b,0xff,0xf8,0xae,
+ 0x3e,0x88,0xe1,0xef,0xc4,0x78,0x7c,0xc2,0xfb,0x90,0xd3,0x0e,0xb3,0x1a,
+ 0x71,0x9f,0x48,0x81,0xdd,0x9d,0x05,0x73,0x7d,0x10,0xeb,0xa7,0x44,0x0e,
+ 0xac,0xc7,0x7a,0xee,0xe7,0xfd,0x3c,0x58,0xb7,0x03,0x38,0x1b,0x1f,0xe1,
+ 0xee,0x57,0x87,0x33,0x28,0xe6,0x5d,0xed,0x09,0xe4,0xe5,0x78,0x71,0x1d,
+ 0xaf,0xf0,0x3e,0xa9,0x54,0xea,0xcd,0x6a,0x44,0xfc,0x50,0x5d,0xe9,0xc2,
+ 0x83,0xdc,0x9a,0x43,0x7e,0xd4,0x7a,0xf9,0x45,0x45,0x45,0x07,0xb4,0xb5,
+ 0xf9,0x10,0x14,0x0a,0x85,0x2b,0xe6,0x25,0x89,0xe6,0x00,0xf9,0xa9,0x13,
+ 0xe7,0xd5,0x61,0xbe,0x0d,0x8d,0xc7,0x6a,0x44,0x9e,0x48,0x82,0xdd,0x91,
+ 0xa7,0xb9,0xb9,0xd9,0x05,0xf9,0x57,0x26,0xd6,0x37,0x4a,0xd4,0xbb,0x72,
+ 0xe8,0xcd,0xeb,0x0d,0xd3,0xa6,0x4d,0xcb,0x87,0x2e,0x75,0x4d,0x44,0xfa,
+ 0x7c,0x7d,0x7d,0xbf,0xd7,0x36,0x76,0x61,0x61,0xe1,0x37,0xac,0x46,0xc4,
+ 0x1c,0xd5,0xbe,0xf6,0xda,0xc0,0x79,0xeb,0x80,0xf3,0xf0,0xec,0xe4,0xc9,
+ 0x93,0xa5,0xa4,0x93,0xaf,0xb7,0x3e,0x04,0xd4,0xb6,0x0d,0x38,0xa3,0xff,
+ 0x2a,0x28,0x28,0x70,0xeb,0x69,0xdc,0xfc,0xfc,0x7c,0x37,0x56,0xe3,0x92,
+ 0x25,0x4b,0x28,0xbf,0xd8,0xbe,0x0f,0x38,0x3f,0x1c,0x11,0xcf,0x4e,0x1f,
+ 0x0a,0xce,0x4d,0xbb,0xf7,0x19,0x27,0x21,0x21,0xc1,0x4b,0xd4,0xf8,0x33,
+ 0xe8,0xc0,0x1a,0x52,0xdd,0xb1,0xfd,0x73,0x02,0xe7,0x73,0x8c,0xa8,0xd1,
+ 0x19,0xd0,0x1d,0x51,0x85,0x7b,0x34,0xe5,0x4e,0xeb,0xcf,0x01,0x9c,0xe3,
+ 0x3b,0x50,0xeb,0x57,0x89,0x1a,0x4d,0x81,0x39,0xa0,0x7a,0xb0,0x3d,0x2a,
+ 0x2a,0x8a,0x72,0x8c,0xe5,0xa7,0x04,0x79,0xce,0x0a,0xfb,0xea,0xbe,0xa8,
+ 0x8f,0xfe,0x6f,0xa0,0x79,0x6c,0x34,0x7b,0x17,0xe7,0xd2,0xf5,0xf0,0xf0,
+ 0xf0,0x7d,0x68,0x6f,0xf1,0x31,0x69,0x6b,0x6b,0xfb,0x0a,0xf5,0x4b,0x30,
+ 0xea,0xe7,0x67,0xa2,0xbe,0x0c,0x60,0xa0,0xf7,0xfa,0xf3,0xa5,0xde,0x7f,
+ 0xdf,0xe9,0x6b,0xee,0x52,0x4a,0x9c,0xc3,0x4f,0x8c,0x8c,0x8c,0x1e,0xeb,
+ 0x98,0x5c,0x03,0x03,0x03,0x8d,0x2e,0x82,0xf2,0x52,0x20,0x30,0xd4,0xd3,
+ 0xfe,0xd0,0xff,0x1b,0xf6,0x89,0x7b,0xe9,0x21,0xe8,0xfa,0x3f,0x72,0xcd,
+ 0x7b,0x50,0x09,0x52,0x81,0xaf,0x36,0x6d,0xff,0x02,0x1b,0x15,0xfd,0xbb
+};
+
+// maximize.png
+static const unsigned char image_7_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x7b,0x2c,0x64,0x57,0x1c,0xc7,
+ 0xbd,0x0d,0x4d,0xf8,0x83,0xec,0x56,0x42,0xb2,0x7f,0x14,0xf1,0xb7,0x84,
+ 0x15,0x99,0x0d,0x09,0xa5,0x95,0xd5,0x6d,0x42,0x23,0x22,0xed,0x24,0xd2,
+ 0x04,0x29,0xeb,0x55,0x15,0xef,0xd7,0xaa,0xdd,0x7a,0x84,0x7a,0xac,0x32,
+ 0x35,0x63,0xad,0xf7,0x60,0xbc,0x16,0xeb,0x51,0xb2,0x6b,0xcb,0x5a,0x16,
+ 0xab,0xb6,0x96,0xb4,0xdb,0xe9,0x23,0xdd,0x86,0x8a,0x46,0x83,0xce,0xce,
+ 0xed,0xf7,0x4c,0x46,0x7b,0x7a,0x66,0xd6,0x1f,0xe5,0x5e,0x4e,0xf2,0x49,
+ 0x46,0x7e,0x67,0xe6,0xfb,0xb9,0x77,0xee,0xef,0xb8,0xe7,0x8e,0x91,0x91,
+ 0xde,0x30,0x06,0xef,0x82,0x3c,0xd0,0x01,0x16,0xc1,0x13,0x9e,0x59,0x00,
+ 0xb7,0x41,0x06,0x78,0x5b,0x5f,0x49,0x6f,0xbc,0xa9,0xf3,0xe2,0x0e,0x11,
+ 0x89,0x44,0x2f,0x6d,0x6c,0x6c,0xfe,0xe2,0x13,0x0b,0x0b,0x8b,0x97,0x74,
+ 0x26,0x98,0x00,0xee,0xaf,0x70,0x24,0xc7,0xc2,0x19,0x1b,0x1b,0x73,0x57,
+ 0xae,0x5c,0xd9,0x96,0xcb,0xe5,0xaa,0xf5,0xf5,0xf5,0x35,0x8e,0xe3,0x56,
+ 0xf8,0x46,0xa3,0xd1,0xac,0x60,0x3c,0x93,0x4a,0xa5,0xaa,0x4b,0x97,0x2e,
+ 0xfd,0x41,0xf9,0x86,0x31,0x8e,0xef,0x01,0x0d,0x8e,0x4d,0x3d,0x3d,0x3d,
+ 0xbd,0x21,0x84,0xdb,0x51,0xf4,0xf6,0xf6,0x7e,0x4f,0xce,0x31,0xce,0xd9,
+ 0x1e,0xbc,0x2e,0xea,0x1c,0xcd,0xf0,0xf7,0x8e,0xb5,0xb5,0xb5,0x7a,0x66,
+ 0x66,0xe6,0xd4,0x1d,0x0f,0xe9,0xe8,0xe8,0x78,0x6e,0x62,0x62,0xa2,0x81,
+ 0xdf,0x92,0xce,0x53,0x4c,0xce,0xb1,0x44,0x22,0xd9,0x3c,0x6d,0x37,0x16,
+ 0xb1,0x58,0x7c,0x78,0x0d,0xbc,0x0e,0xd2,0xc9,0x6b,0x99,0x4c,0xa6,0x3a,
+ 0x6d,0x2f,0x96,0xb4,0xb4,0xb4,0x5f,0x75,0x9e,0xe4,0xba,0x2c,0x25,0xaf,
+ 0x27,0x27,0x27,0xd7,0x51,0x5b,0x7e,0x15,0xa3,0xa3,0xa3,0x1b,0x61,0x61,
+ 0x61,0x5b,0x4e,0x4e,0x4e,0xfb,0x0e,0x0e,0x0e,0x07,0xc7,0xc1,0xcd,0xcd,
+ 0xed,0xcf,0x88,0x88,0x88,0x4d,0xf4,0xce,0xb7,0x47,0x65,0xd6,0xd6,0xd6,
+ 0xaa,0x74,0x9e,0x51,0x87,0x9e,0x13,0x13,0x13,0x4f,0xd1,0x77,0xf3,0x2c,
+ 0x6a,0xb5,0x7a,0xde,0xdb,0xdb,0x7b,0x07,0xd7,0x0a,0x47,0xf0,0xf5,0xf5,
+ 0xe5,0x02,0x03,0x03,0x8f,0x85,0xab,0xab,0xab,0x76,0x5d,0x21,0x9f,0x17,
+ 0x1e,0x1e,0xfe,0x9b,0xa1,0x5c,0x42,0x4d,0x4d,0xcd,0x77,0xac,0xe7,0xf8,
+ 0xf8,0x38,0x59,0x1f,0x66,0x59,0xdc,0xdd,0xdd,0x77,0x48,0x3d,0x21,0x21,
+ 0x81,0xdb,0xdb,0xdb,0xe3,0x4e,0x6a,0x6c,0x6f,0x6f,0x73,0xa1,0xa1,0xa1,
+ 0x5a,0xdf,0xe8,0xe8,0xe8,0x9f,0x0d,0x65,0x57,0x57,0x57,0x6f,0x18,0xf0,
+ 0x5c,0xc2,0xdb,0xa7,0x69,0xe6,0x31,0xc8,0xe7,0x64,0x65,0x65,0x9d,0x98,
+ 0x1f,0x3d,0xe0,0xc2,0xf9,0xf9,0xf9,0x71,0x96,0x96,0x96,0xe4,0xf5,0x7f,
+ 0xb2,0x09,0x55,0x55,0x55,0x6b,0xac,0xe7,0xd8,0xd8,0xd8,0x02,0x6a,0x53,
+ 0x34,0x51,0x51,0x51,0x3f,0x90,0x9a,0x4a,0xa5,0xe2,0xc5,0x93,0x8c,0xfe,
+ 0xfe,0x7e,0xed,0x9a,0x3e,0x30,0x30,0xb0,0xc8,0xe6,0x57,0x56,0x56,0x3e,
+ 0x65,0x3d,0xd1,0x27,0x0f,0x51,0x1b,0xa3,0x09,0x0e,0x0e,0xfe,0xc5,0xdc,
+ 0xdc,0x9c,0x37,0x47,0x32,0x56,0x57,0x57,0xb5,0x9e,0x25,0x25,0x25,0xdf,
+ 0xb0,0xf9,0x15,0x15,0x15,0x4f,0x58,0xcf,0x91,0x91,0x91,0xaf,0x51,0x1b,
+ 0xa6,0x81,0xe7,0x8f,0x66,0x66,0x66,0xbc,0x7a,0xa2,0xe7,0x0f,0x3d,0x97,
+ 0xd9,0xfc,0xf2,0xf2,0xf2,0x25,0xd6,0x73,0x78,0x78,0xf8,0x1e,0x6a,0x03,
+ 0x34,0xf0,0x54,0x99,0x9a,0x9a,0xf2,0xea,0xb9,0xbc,0xbc,0x7c,0xe8,0xf9,
+ 0x98,0xcd,0x2f,0x2b,0x2b,0x5b,0x60,0x3d,0x87,0x86,0x86,0x26,0x51,0x53,
+ 0xd2,0x5c,0xbe,0x7c,0xf9,0x39,0xe9,0x23,0xac,0x9b,0xbc,0x41,0xd6,0x29,
+ 0x9d,0xe7,0x23,0x36,0xbf,0xb4,0xb4,0xf4,0x11,0xeb,0x39,0x38,0x38,0x38,
+ 0x8e,0x9e,0x53,0xd0,0xe0,0xff,0xc1,0x63,0x72,0x3e,0x83,0x82,0x82,0x78,
+ 0xc3,0xc7,0xc7,0x47,0xbb,0x36,0x29,0x95,0xca,0xaf,0xd8,0xfc,0xe2,0xe2,
+ 0xe2,0x59,0x03,0x9e,0x23,0x38,0x86,0x56,0x9a,0xbc,0xbc,0xbc,0x59,0xdc,
+ 0xb7,0x68,0xf8,0xfc,0xde,0xd7,0xd6,0xd6,0xb4,0xe7,0x13,0x7d,0x7f,0x97,
+ 0xcd,0xbf,0x71,0xe3,0xc6,0x03,0xd6,0x13,0xf3,0xee,0xa0,0xd6,0x44,0x93,
+ 0x9b,0x9b,0xfb,0x40,0x28,0xcf,0xbe,0xbe,0xbe,0x21,0x36,0xff,0xfa,0xf5,
+ 0xeb,0xf7,0x58,0x4f,0xcc,0xeb,0x47,0x4d,0x46,0x93,0x9d,0x9d,0x7d,0x5f,
+ 0x28,0x4f,0x7c,0xef,0x7a,0xf9,0x45,0x45,0x45,0x53,0xac,0x27,0xe6,0x29,
+ 0x71,0x4d,0xd4,0xd3,0x64,0x66,0x66,0x4e,0x09,0xe5,0xd9,0xdd,0xdd,0xad,
+ 0x97,0x5f,0x58,0x58,0x38,0xc1,0x7a,0xf6,0xf4,0xf4,0x28,0xf0,0xb6,0x1a,
+ 0x9a,0xf4,0xf4,0xf4,0x09,0xa1,0x3c,0xbb,0xba,0xba,0xf4,0xf2,0x0b,0x0a,
+ 0x0a,0x46,0x59,0x4f,0x1c,0x4f,0x3b,0x6a,0x9f,0xd3,0xa0,0xdf,0xc7,0x84,
+ 0xf2,0xec,0xec,0xec,0xd4,0xcb,0x47,0x1f,0x0f,0xb3,0x9e,0x0a,0x85,0xa2,
+ 0x19,0xb5,0x32,0x9a,0xd4,0xd4,0xd4,0x11,0xa1,0x3c,0xb1,0xcf,0x68,0x61,
+ 0xf3,0x73,0x72,0x72,0xee,0xb0,0x9e,0x38,0x9e,0x5b,0xa8,0x7d,0x46,0x93,
+ 0x92,0x92,0x32,0x24,0x94,0x67,0x5b,0x5b,0x5b,0x13,0x9b,0x8f,0x3e,0xee,
+ 0x67,0x3d,0x31,0xaf,0x01,0xb5,0x42,0x9a,0xe4,0xe4,0xe4,0x01,0xa1,0x3c,
+ 0x5b,0x5a,0x5a,0x64,0x6c,0x7e,0x46,0x46,0x86,0x92,0xf5,0x6c,0x6d,0x6d,
+ 0xad,0x47,0x2d,0x8f,0x26,0x31,0x31,0xb1,0x57,0x28,0xcf,0xe6,0xe6,0x66,
+ 0x29,0x9b,0x8f,0xfe,0xe8,0x62,0x3d,0x31,0xaf,0x16,0xb5,0x2c,0x9a,0xf8,
+ 0xf8,0xf8,0x1e,0xa1,0x3c,0x9b,0x9a,0x9a,0xbe,0x60,0xf3,0xd1,0x1f,0x9d,
+ 0xac,0x27,0xe6,0x55,0xa3,0x96,0x46,0x13,0x17,0x17,0xa7,0x10,0xca,0xb3,
+ 0xb1,0xb1,0xb1,0x86,0xcd,0x47,0x7f,0xb4,0xb1,0x9e,0x72,0xb9,0xbc,0x02,
+ 0xb5,0x8f,0x69,0x92,0x92,0x92,0x9a,0xc9,0x5e,0x6b,0x7f,0x7f,0x9f,0x37,
+ 0xcf,0xb9,0xb9,0x39,0xad,0x67,0x7b,0x7b,0x7b,0x19,0x9b,0x8f,0xfe,0x68,
+ 0x66,0x3d,0x1b,0x1a,0x1a,0xc8,0xbc,0x04,0x1a,0xdc,0x3b,0x5f,0xd3,0xad,
+ 0xc1,0xbc,0x79,0xe6,0xe7,0xe7,0x93,0xfd,0xd1,0xc1,0xee,0xee,0x6e,0x32,
+ 0x9b,0x8f,0x71,0x8b,0xf5,0x94,0x4a,0xa5,0xc5,0xa8,0xc5,0xb2,0x60,0x0f,
+ 0xbb,0x6a,0x6d,0x6d,0xad,0x99,0x9a,0x9a,0x3a,0x71,0x47,0xec,0x27,0xc9,
+ 0xde,0x58,0x13,0x10,0x10,0x70,0xd7,0x50,0xf6,0xd5,0xab,0x57,0xe5,0xac,
+ 0x67,0x5d,0x5d,0x5d,0x11,0x6a,0xd1,0x2c,0x5b,0x5b,0x5b,0xb1,0x17,0x2e,
+ 0x5c,0x58,0x27,0x73,0xbc,0xbc,0xbc,0x5e,0xc6,0xc4,0xc4,0x70,0x58,0xd7,
+ 0x8e,0x45,0x64,0x64,0x24,0xe7,0xe2,0xe2,0xa2,0x26,0x9f,0xe9,0xe9,0xe9,
+ 0x79,0x5f,0xad,0x56,0xc7,0x18,0xca,0x8e,0x8d,0x8d,0xfd,0x92,0xf5,0xbc,
+ 0x79,0xf3,0xe6,0x35,0xd4,0x3e,0x7c,0x15,0x12,0x89,0xa4,0x11,0x9e,0xe3,
+ 0xe7,0xcf,0x9f,0x7f,0x61,0x67,0x67,0xb7,0xf9,0x7f,0xb1,0xb7,0xb7,0xdf,
+ 0x74,0x74,0x74,0x5c,0xf7,0xf6,0xf6,0x1e,0xc3,0x7e,0xf2,0xd3,0xa3,0x32,
+ 0x71,0x4e,0xea,0x29,0x4f,0xf2,0xdc,0x98,0xc3,0x3d,0x47,0x29,0x6a,0x92,
+ 0xb3,0x44,0x48,0x48,0xc8,0x6d,0x9d,0xe7,0xfb,0xe0,0x2d,0xf2,0x5a,0x2c,
+ 0x16,0xf7,0xa1,0x16,0x71,0x96,0x70,0x76,0x76,0x7e,0xa8,0xf3,0x7c,0x03,
+ 0xbc,0x06,0x0e,0xac,0xac,0xac,0xb6,0xe6,0xe7,0xe7,0xc9,0xf9,0x0e,0x3b,
+ 0x0b,0xe0,0xbe,0x24,0x1e,0x7b,0x33,0xf2,0x9c,0xf6,0x27,0xa3,0x7f,0x87,
+ 0xf6,0x99,0xb7,0xad,0xad,0xad,0x6a,0x71,0x71,0xf1,0x03,0xcc,0x0b,0x39,
+ 0x4d,0xb0,0x57,0x8b,0x12,0x89,0x44,0xbf,0xc3,0x89,0x3c,0xa7,0x0d,0xa6,
+ 0x3c,0xc9,0x6f,0x1c,0xda,0x6b,0xc1,0xdc,0xdc,0x7c,0xd7,0xdf,0xdf,0xbf,
+ 0x41,0x26,0x93,0x91,0x1e,0x7c,0x47,0x48,0xea,0xeb,0xeb,0x3f,0xf2,0xf0,
+ 0xf0,0x50,0x60,0xad,0x3a,0xd0,0x7d,0xdf,0xb9,0x46,0xfa,0x83,0xb8,0x46,
+ 0x83,0x7f,0x9e,0xe3,0x63,0xbf,0xaa,0x3e,0x77,0xee,0xdc,0x32,0x7a,0x7c,
+ 0x91,0x4f,0x48,0x06,0xb2,0xe8,0xdf,0x3c,0x5e,0x80,0x70,0x03,0x8e,0xf4,
+ 0x10,0x81,0x1c,0xd0,0x0b,0x9e,0xe9,0xce,0x3d,0xc7,0x33,0xc4,0x71,0x05,
+ 0x90,0xfb,0x8e,0x4f,0x80,0x19,0x2b,0xf5,0x37,0x31,0x12,0xfd,0x45
+};
+
+// minimize.png
+static const unsigned char image_8_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x6b,0x48,0x5b,0x67,0x18,0xc7,
+ 0xe3,0x25,0xd3,0xa9,0x28,0xec,0x83,0x37,0x10,0x11,0xc9,0x27,0x15,0xe6,
+ 0x05,0x3f,0x08,0xfa,0x45,0x14,0x41,0x71,0x4c,0xc5,0xe5,0xc3,0x06,0x1b,
+ 0xe2,0xc2,0x82,0x73,0x88,0x6e,0x5a,0x75,0x5e,0x9a,0x60,0xd4,0x7a,0x99,
+ 0x8e,0x20,0x95,0xc0,0x0c,0xcd,0x24,0x8b,0x76,0xa6,0xce,0x4b,0xaa,0x8d,
+ 0x51,0x51,0x43,0x2a,0xd5,0x45,0xd3,0x6e,0xb3,0x71,0x32,0x5b,0xdd,0xd8,
+ 0x84,0x52,0x5c,0xa4,0x12,0x93,0xb3,0xe7,0x8d,0xe7,0x94,0xec,0x59,0xec,
+ 0x87,0xc5,0xd4,0xf7,0x85,0x1f,0x1c,0xfc,0x27,0x3e,0xbf,0xf7,0xf5,0x9c,
+ 0xf7,0xe2,0xe1,0xf1,0x3c,0xb6,0x6c,0xa0,0x09,0x50,0x01,0x9b,0x80,0xc5,
+ 0xc7,0x98,0x81,0x71,0x40,0x02,0x94,0x00,0x7e,0x9e,0xb5,0x5e,0xb6,0xb7,
+ 0x81,0xbb,0x00,0xc3,0xc1,0xe7,0xf3,0x1d,0xe1,0xe1,0xe1,0x76,0x5f,0x12,
+ 0x1c,0x1c,0xec,0x70,0xaf,0xc9,0xba,0x17,0x5e,0xe0,0x48,0xfa,0xe1,0x24,
+ 0x9f,0x13,0x08,0x04,0x2f,0x14,0x0a,0xc5,0x93,0xed,0xed,0xed,0xc7,0x4e,
+ 0xa7,0xf3,0x21,0xc3,0x30,0x3e,0x67,0x77,0x77,0x77,0x47,0xa9,0x54,0x3e,
+ 0x29,0x2b,0x2b,0x7b,0xe6,0xe7,0xe7,0xc7,0xf9,0x4a,0x91,0x63,0x1a,0x64,
+ 0x36,0x32,0x76,0x83,0x83,0x83,0x07,0xaf,0xc3,0xeb,0x55,0x1c,0x1e,0x1e,
+ 0xfe,0x1c,0x17,0x17,0xf7,0x82,0x75,0xfd,0xc0,0xcd,0xf3,0x3e,0x78,0x3a,
+ 0x55,0x2a,0xd5,0xfe,0x55,0x3b,0x72,0x6c,0x6c,0x6c,0x58,0xc3,0xc2,0xc2,
+ 0xce,0xc8,0xf8,0x81,0xdf,0x1b,0xc0,0x5b,0x80,0x23,0x33,0x33,0xd3,0x76,
+ 0xd5,0x6e,0x18,0x91,0x48,0x74,0xc4,0x8e,0x69,0x1e,0x50,0x4c,0xae,0x6b,
+ 0x6b,0x6b,0xff,0xbc,0x6a,0x2f,0x8c,0x5a,0xad,0xde,0x67,0x3d,0xaf,0x03,
+ 0x1f,0x91,0xeb,0x81,0x81,0x81,0xa7,0x90,0x6d,0xd3,0x84,0xc9,0x64,0x7a,
+ 0xcc,0x7a,0xca,0x39,0xcf,0xfe,0xfe,0xfe,0xdf,0xe0,0xd9,0xde,0xa0,0x09,
+ 0xa3,0xd1,0xf8,0x13,0xf6,0xec,0xeb,0xeb,0xfb,0x15,0xb2,0xfb,0x34,0x01,
+ 0x9e,0x16,0xec,0xd9,0xdb,0xdb,0x6b,0x85,0xb1,0x5e,0xa3,0x09,0xf0,0xfc,
+ 0x11,0x7b,0xf6,0xf4,0xf4,0xfc,0x02,0xd9,0x32,0x4d,0xac,0xad,0xad,0x3d,
+ 0xc0,0x9e,0xdd,0xdd,0xdd,0x8f,0x20,0xd3,0xd3,0xc4,0xca,0xca,0x8a,0x09,
+ 0x7b,0x76,0x75,0x75,0x59,0x20,0xbb,0x4b,0x13,0xe0,0xb9,0x86,0x3d,0x65,
+ 0x32,0x99,0x19,0xb2,0x69,0x9a,0x58,0x86,0x86,0x3d,0x3b,0x3a,0x3a,0x36,
+ 0x21,0xbb,0x43,0x13,0x4b,0x4b,0x4b,0x06,0xec,0x29,0x95,0x4a,0x1f,0xc0,
+ 0x5c,0x70,0x9b,0x26,0x16,0x17,0x17,0xef,0x61,0x4f,0x89,0x44,0x62,0x82,
+ 0x3e,0xa8,0x69,0xc2,0x60,0x30,0xe8,0xb0,0x67,0x7b,0x7b,0xbb,0x11,0x32,
+ 0x15,0x4d,0x2c,0x2c,0x2c,0x4c,0x61,0xcf,0xd6,0xd6,0xd6,0x55,0xc8,0x46,
+ 0x68,0x42,0xaf,0xd7,0xdf,0xc1,0x9e,0x2d,0x2d,0x2d,0xcb,0x70,0x4f,0x28,
+ 0x68,0x62,0x7e,0x7e,0xfe,0x7b,0xec,0xd9,0xdc,0xdc,0x6c,0x80,0x3e,0x0c,
+ 0xd1,0xc4,0xdc,0xdc,0x9c,0x06,0x7b,0x36,0x36,0x36,0x92,0x35,0xe0,0x6b,
+ 0x9a,0xd0,0xe9,0x74,0xa3,0xd8,0xb3,0xa1,0xa1,0x61,0x0e,0xb2,0x7e,0x9a,
+ 0x98,0x9d,0x9d,0xbd,0x85,0x3d,0xeb,0xeb,0xeb,0x75,0x90,0xdd,0xb8,0x88,
+ 0x99,0x99,0x99,0x91,0xf2,0xf2,0x72,0x63,0x42,0x42,0xc2,0x61,0x6c,0x6c,
+ 0xec,0x5f,0xde,0x10,0x1f,0x1f,0xff,0x7b,0x7e,0x7e,0xfe,0xa6,0x5c,0x2e,
+ 0x1f,0x7b,0x55,0xcd,0xe9,0xe9,0xe9,0x11,0xec,0x59,0x57,0x57,0x47,0xd6,
+ 0xaa,0x0e,0x4f,0xc0,0x59,0x75,0x95,0x9c,0xf3,0xd8,0xef,0x30,0x11,0x11,
+ 0x11,0x5e,0xc1,0xfd,0x1e,0x42,0x4e,0x4e,0x8e,0xf9,0xe0,0xe0,0xa0,0xd7,
+ 0x53,0xdd,0xa9,0xa9,0x29,0x05,0xf6,0x84,0xf3,0xd1,0x24,0x64,0xd7,0x31,
+ 0x42,0xa1,0xd0,0xb5,0x76,0xc1,0x18,0x30,0xd0,0x3f,0xc6,0x6e,0xb7,0x33,
+ 0xde,0x36,0x87,0xc3,0xc1,0xc0,0x9a,0xc8,0xa4,0xa6,0xa6,0xba,0x5c,0x53,
+ 0x52,0x52,0x76,0xe0,0x67,0x12,0x5c,0x7b,0x72,0x72,0xf2,0x26,0xf6,0xac,
+ 0xa9,0xa9,0xd1,0x42,0xd6,0xe2,0xce,0xde,0xde,0x9e,0x8c,0x8c,0x23,0xfc,
+ 0xad,0x98,0xa3,0xa3,0x23,0xaf,0xfd,0x70,0x23,0x7d,0xce,0xca,0xca,0x72,
+ 0xb9,0x0e,0x0d,0x0d,0x7d,0x83,0xeb,0x6b,0xb5,0x5a,0x39,0xf6,0xac,0xae,
+ 0xae,0xbe,0x0d,0x59,0xa3,0x3b,0x9d,0x9d,0x9d,0x4a,0x92,0x35,0x35,0x35,
+ 0x5d,0xba,0x23,0xd7,0x26,0x26,0x26,0x5c,0x9e,0xa5,0xa5,0xa5,0xf7,0x70,
+ 0x7d,0xc8,0x06,0xb1,0x67,0x55,0x55,0x95,0x06,0xb2,0xcf,0xdd,0x69,0x6b,
+ 0x6b,0x1b,0x61,0xd7,0x54,0x9f,0x79,0x92,0x7b,0x89,0xd4,0x28,0x2a,0x2a,
+ 0xd2,0xe3,0xfa,0xe3,0xe3,0xe3,0x7d,0xd8,0x53,0x2c,0x16,0x93,0xb5,0xbf,
+ 0xc6,0x9d,0xad,0xad,0xad,0x2f,0x49,0x96,0x98,0x98,0xc8,0xd8,0x6c,0xb6,
+ 0x4b,0x77,0x84,0x35,0x87,0xc9,0xcb,0xcb,0x63,0xd8,0x7d,0xe5,0x4d,0x5c,
+ 0x5f,0xa3,0xd1,0xdc,0xc0,0x9e,0x22,0x91,0xe8,0x5b,0xc8,0x3e,0xc5,0x64,
+ 0x67,0x67,0x2f,0x91,0x3c,0x2d,0x2d,0x8d,0x31,0x9b,0xcd,0x97,0xe6,0x68,
+ 0xb5,0x5a,0x99,0xc2,0xc2,0x42,0x97,0x63,0x4c,0x4c,0xcc,0xfe,0xc9,0xc9,
+ 0xc9,0x67,0xb8,0xb6,0x5a,0xad,0x96,0x61,0xcf,0xca,0xca,0xca,0x5b,0x90,
+ 0x7d,0x82,0x39,0x3d,0x3d,0x15,0x67,0x64,0x64,0xac,0x72,0xf3,0x88,0xbf,
+ 0xbf,0x3f,0x93,0x94,0x94,0xc4,0x24,0x27,0x27,0xff,0x6f,0x02,0x03,0x03,
+ 0x5f,0xce,0x4b,0x91,0x91,0x91,0x4f,0xd7,0xd7,0xd7,0xeb,0x3d,0xd5,0x1e,
+ 0x1d,0x1d,0x95,0x62,0xcf,0x8a,0x8a,0x0a,0xb2,0x47,0xa9,0xbc,0x08,0xb8,
+ 0x47,0xbf,0x82,0x79,0x64,0x35,0x34,0x34,0xf4,0x59,0x50,0x50,0xd0,0x89,
+ 0x37,0x84,0x84,0x84,0x3c,0x17,0x08,0x04,0xe6,0x92,0x92,0x92,0x31,0x78,
+ 0xe6,0x3f,0xbe,0xa8,0xa6,0x4a,0xa5,0x6a,0x77,0xf3,0x2c,0x27,0xd7,0xc5,
+ 0xc5,0xc5,0xdf,0x41,0xf6,0x21,0x4d,0xc0,0x19,0xa3,0x8b,0xf5,0xec,0x06,
+ 0xe2,0xc8,0x35,0xac,0x87,0xe4,0x7c,0xf4,0x3e,0x4d,0xe4,0xe6,0xe6,0x72,
+ 0xfb,0xba,0x77,0x79,0xe7,0x6d,0x27,0x20,0x20,0xe0,0x14,0xc6,0xb9,0x16,
+ 0x72,0x21,0x0d,0x58,0x2c,0x96,0x0a,0xb8,0xc7,0xc8,0xff,0x15,0xcf,0x80,
+ 0x08,0xd6,0xb3,0x00,0x70,0xc2,0xbd,0xf3,0x1c,0xd6,0x00,0x31,0x7c,0xae,
+ 0xec,0x2a,0x39,0x3e,0x3e,0x7e,0x2f,0x3a,0x3a,0xfa,0x11,0x3b,0x96,0x12,
+ 0xde,0xbf,0xdb,0x35,0xf6,0x79,0xb6,0xa7,0xa7,0xa7,0x6b,0x87,0x87,0x87,
+ 0xc9,0xdc,0xf0,0xce,0xeb,0x44,0xa9,0x54,0x8a,0x0b,0x0a,0x0a,0x14,0x7c,
+ 0x3e,0xff,0x98,0x75,0x24,0xef,0x40,0xfc,0x79,0xff,0x6d,0x42,0xe0,0x0f,
+ 0x6e,0xce,0x80,0xb5,0xdd,0x01,0xf3,0x86,0x25,0x2a,0x2a,0xca,0xec,0x4b,
+ 0xa0,0xc6,0x16,0xd4,0xb2,0xbb,0xed,0xa3,0xfe,0xe6,0x9d,0xbf,0x17,0x0a,
+ 0xf2,0xe0,0xc8,0xb5,0x40,0xe0,0x0b,0x60,0x8c,0x77,0xfe,0x7e,0xe4,0xcc,
+ 0xed,0xfb,0xbe,0x82,0xec,0x19,0xad,0xc0,0x0f,0x00,0x99,0x8b,0xde,0xc4,
+ 0x52,0xff,0x00,0x74,0x7b,0x34,0xdf
+};
+
+// restore.png
+static const unsigned char image_9_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x54,0x47,0x14,0xc7,
+ 0xd1,0x8a,0xe2,0xb2,0x2a,0xe1,0xe5,0x03,0x14,0x51,0x41,0x45,0xf0,0x2d,
+ 0xa0,0xc6,0x57,0xaa,0x89,0xf1,0x03,0xf5,0x43,0x3f,0xb4,0x01,0x03,0x58,
+ 0x48,0x69,0x42,0x3f,0x68,0x68,0x24,0x84,0x6e,0x00,0x09,0x96,0x20,0x62,
+ 0x2b,0xa5,0xc1,0x54,0xfa,0x08,0x41,0xb1,0x25,0x69,0x63,0x4c,0xb1,0xd6,
+ 0x12,0x24,0x42,0x30,0xa9,0xda,0xd4,0xc5,0xfa,0x80,0x6e,0x51,0x60,0x65,
+ 0x65,0xd1,0x95,0xdd,0x65,0x5f,0x4c,0xff,0x67,0xbb,0xd7,0xdc,0x8e,0x43,
+ 0x21,0xcb,0x2e,0x7a,0x93,0x5f,0x94,0xb9,0x37,0x73,0x7e,0x3b,0x77,0xce,
+ 0x99,0x99,0xeb,0xe3,0xf3,0xd2,0x15,0x02,0x0e,0x82,0x4f,0xc1,0x65,0x70,
+ 0x7b,0x12,0x68,0x07,0x55,0x20,0x03,0x84,0xbd,0xac,0xf4,0xe2,0x52,0x80,
+ 0x7c,0x60,0x00,0x4c,0x62,0xf6,0xec,0xd9,0x36,0x6f,0x23,0x8f,0x07,0xcc,
+ 0xa0,0x14,0x04,0x08,0xfc,0xe8,0xf7,0x30,0x85,0x42,0x61,0x3f,0x76,0xec,
+ 0x58,0x5f,0x53,0x53,0x53,0x97,0xc5,0x62,0xe9,0x60,0x8c,0xa9,0xbd,0x8d,
+ 0xd5,0x6a,0xed,0x68,0x69,0x69,0xe9,0x2c,0x2f,0x2f,0xef,0x9d,0x33,0x67,
+ 0x8e,0x9d,0x3c,0xa6,0x4c,0x99,0xd2,0x8d,0x7f,0x83,0x5c,0x7e,0x6f,0x80,
+ 0x0b,0xd4,0x9e,0x94,0x94,0xf4,0xcc,0x64,0x32,0x4d,0x8a,0xd7,0xff,0xf9,
+ 0x1e,0x38,0x70,0x40,0xef,0x1a,0xd3,0x56,0xe0,0x07,0xde,0xa5,0xbf,0xb7,
+ 0x6e,0xdd,0x3a,0x34,0x59,0xe3,0x36,0x16,0x23,0x23,0x23,0x6a,0x8c,0xd7,
+ 0x53,0x97,0xe7,0x21,0x50,0x43,0xff,0xa7,0xb1,0x7e,0xd5,0x6e,0x72,0x34,
+ 0x1a,0xcd,0x5d,0x97,0xe3,0x4f,0xe0,0x81,0x52,0xa9,0xb4,0xdb,0x6c,0xb6,
+ 0x57,0xee,0xc5,0xb3,0x78,0xf1,0x62,0x0b,0xe5,0x10,0xe6,0xe6,0x60,0x54,
+ 0x54,0xd4,0x30,0xda,0xfe,0x18,0x0b,0xcc,0x85,0xdb,0xd5,0xd5,0xd5,0x0f,
+ 0xab,0xaa,0xaa,0xdc,0xa6,0xa6,0xa6,0xa6,0xdb,0xe1,0x70,0x8c,0x19,0x8b,
+ 0xc0,0xfc,0x7b,0xee,0xca,0x9f,0xc1,0x65,0xcb,0x96,0x99,0x31,0x07,0x6e,
+ 0x88,0xb0,0xdb,0xed,0x37,0x0e,0x1f,0x3e,0xdc,0x3b,0x7d,0xfa,0x74,0x07,
+ 0x57,0x23,0x26,0x44,0x48,0x48,0x88,0xb5,0xb9,0xb9,0xf9,0xce,0x68,0x71,
+ 0x89,0xcd,0x9b,0x37,0x1b,0x24,0xc7,0xa5,0x4b,0x97,0x9a,0xd0,0x76,0x5d,
+ 0xc4,0xda,0xb5,0x6b,0x9d,0xbf,0x25,0x3a,0x3a,0xda,0x98,0x9e,0x9e,0xae,
+ 0xad,0xad,0xad,0xbd,0x77,0xf6,0xec,0x59,0xb7,0x39,0x73,0xe6,0xcc,0xfd,
+ 0xdd,0xbb,0x77,0xeb,0x11,0xd7,0xe9,0x5a,0x5f,0x5f,0x7f,0x77,0xb4,0xd8,
+ 0x70,0x7c,0x26,0x73,0x34,0x62,0x6c,0x5b,0x79,0x8e,0x1e,0x3d,0xda,0x45,
+ 0xcf,0xec,0xdb,0xb7,0x4f,0x27,0xba,0x3f,0x11,0xb4,0x5a,0xed,0xf5,0x19,
+ 0x33,0x66,0x38,0xa6,0x4d,0x9b,0x36,0x82,0x77,0x25,0x7c,0x26,0x31,0x31,
+ 0xf1,0xa9,0xe4,0xb8,0x64,0xc9,0x12,0x72,0xbc,0xca,0x83,0x79,0x3a,0xe4,
+ 0xeb,0xeb,0xeb,0x10,0xdd,0xf3,0x04,0xc5,0xc5,0xc5,0xf7,0xc9,0x01,0x63,
+ 0xab,0x16,0xdd,0x4f,0x48,0x48,0x18,0x94,0x1c,0x23,0x23,0x23,0x87,0xd0,
+ 0x76,0x85,0x07,0xeb,0x94,0x75,0xfe,0xfc,0xf9,0x66,0xd1,0x3d,0x4f,0xd0,
+ 0xd3,0xd3,0x73,0x95,0x1c,0x52,0x53,0x53,0xbb,0x45,0xf7,0xe3,0xe3,0xe3,
+ 0x07,0x64,0x8e,0xcf,0xd1,0x76,0x89,0x67,0xd6,0xac,0x59,0xd6,0x05,0x0b,
+ 0x16,0x18,0x0b,0x0b,0x0b,0x3b,0xd6,0xad,0x5b,0xa7,0x0f,0x0b,0x0b,0x33,
+ 0xe2,0x6f,0xd3,0x78,0xa1,0xe7,0x31,0x16,0x4f,0x4e,0x9f,0x3e,0x7d,0x53,
+ 0xd4,0xff,0xc0,0xc0,0xc0,0x2f,0xe4,0x80,0x75,0x45,0x23,0xba,0xbf,0x69,
+ 0xd3,0xa6,0x27,0x92,0x23,0xea,0x10,0x39,0x5e,0xe4,0x81,0xa3,0x85,0xe6,
+ 0x0c,0x3d,0x87,0x1a,0xca,0x76,0xec,0xd8,0xc1,0x76,0xee,0xdc,0x39,0x6e,
+ 0xb6,0x6f,0xdf,0xce,0x66,0xce,0x9c,0x49,0x31,0x58,0x6c,0x6c,0xec,0x20,
+ 0xdf,0x7f,0x7f,0x7f,0xff,0x25,0x97,0x63,0x97,0x28,0xfe,0xc6,0x8d,0x1b,
+ 0x75,0x92,0x63,0x44,0x44,0x84,0x01,0x6d,0x3f,0xf2,0x60,0x3e,0x3b,0xa8,
+ 0xff,0xca,0xca,0x4a,0xe6,0xee,0x85,0x5a,0xc8,0x30,0xef,0x9c,0x39,0x8c,
+ 0x3c,0xd5,0x9e,0x38,0x71,0xe2,0x37,0x09,0xe4,0xe4,0x2d,0x6a,0x4f,0x49,
+ 0x49,0x79,0x20,0x8a,0xbf,0x61,0xc3,0x86,0x7e,0x99,0xe3,0x33,0xe4,0x7a,
+ 0x03,0x0f,0xc6,0x90,0x65,0x64,0x64,0xb8,0xed,0x27,0xbf,0xb6,0x6c,0xd9,
+ 0xc2,0xa6,0x4e,0x9d,0x2a,0xac,0x95,0xb9,0xb9,0xb9,0xb7,0x44,0xf1,0xd7,
+ 0xaf,0x5f,0xff,0x58,0x72,0x5c,0xb4,0x68,0xd1,0x53,0x74,0x73,0x8e,0x07,
+ 0x39,0xcd,0x2a,0x2a,0x2a,0x3c,0xe2,0x98,0x95,0x95,0xc5,0x30,0x77,0x50,
+ 0x66,0xec,0xf5,0x12,0x46,0xa3,0xf1,0x3b,0x72,0xc0,0x98,0xb6,0x8a,0xe2,
+ 0x23,0x07,0xb4,0x92,0xe3,0xc2,0x85,0x0b,0xc9,0xb1,0x96,0xc7,0x0b,0x8e,
+ 0x36,0x79,0xff,0xc3,0xc3,0xc3,0x75,0xe4,0x80,0x7d,0x63,0x8b,0x28,0x3e,
+ 0xd6,0x8f,0x3e,0x99,0x23,0xcd,0xe7,0xaf,0x79,0xb0,0xfe,0xb1,0xbd,0x7b,
+ 0xf7,0x32,0xe4,0xf5,0x84,0xc1,0xfc,0x97,0x1c,0x5f,0xf4,0x0f,0xc7,0x6f,
+ 0xc9,0xa1,0xac,0xac,0xac,0x59,0x14,0x7f,0xcd,0x9a,0x35,0xbd,0x92,0x63,
+ 0x78,0x78,0xb8,0x1e,0xef,0xff,0x4b,0x1e,0x3f,0x3f,0x3f,0x16,0x1a,0x1a,
+ 0xca,0x50,0xe3,0x27,0x4c,0x60,0x60,0x20,0x9b,0x3b,0x77,0xee,0x90,0xbc,
+ 0x7f,0xb3,0xd9,0xec,0xdc,0x17,0x96,0x96,0x96,0xfe,0x2a,0x8a,0xbf,0x7a,
+ 0xf5,0xea,0x1e,0xc9,0x11,0x75,0x6c,0x00,0xde,0x5f,0xf0,0x50,0xdd,0x39,
+ 0x79,0xf2,0xa4,0x47,0xde,0x75,0x76,0x76,0x36,0xad,0xf9,0x3a,0x79,0xff,
+ 0x70,0xac,0x26,0x07,0x9c,0x4d,0x2e,0x8b,0xe2,0xc7,0xc5,0xc5,0x3d,0xe4,
+ 0x1c,0x4f,0xf1,0x78,0xda,0x11,0x6b,0x6b,0xbf,0xbc,0x7f,0x38,0x7e,0x4e,
+ 0x0e,0x25,0x25,0x25,0x8d,0xa2,0xf8,0xa8,0xa9,0xdd,0xae,0xdc,0xd7,0x63,
+ 0x4d,0x78,0x82,0xb6,0x0a,0x1e,0x2f,0x38,0x3e,0x96,0xf7,0x0f,0x47,0x3a,
+ 0x1f,0x53,0xfd,0xbc,0x28,0x8a,0xbf,0x6a,0xd5,0xaa,0xbf,0x25,0x47,0xac,
+ 0xc9,0xf4,0x0e,0xca,0x78,0x3c,0xed,0x88,0x7d,0xea,0x63,0x79,0xff,0x38,
+ 0xdf,0x95,0x93,0x43,0x51,0x51,0xd1,0x05,0x51,0xfc,0x98,0x98,0x18,0x0d,
+ 0xe7,0x58,0xc2,0xe3,0x69,0x47,0xec,0x01,0xfb,0xe4,0xfd,0xc3,0xf1,0x13,
+ 0x72,0x28,0x28,0x28,0xf8,0x41,0x14,0x7f,0xe5,0xca,0x95,0x7f,0x49,0x8e,
+ 0xf3,0xe6,0xcd,0xa3,0x79,0x52,0xc4,0xe3,0x69,0x47,0xe4,0x77,0x9f,0xbc,
+ 0x7f,0x38,0x16,0x93,0x83,0x4a,0xa5,0x6a,0x10,0xc5,0x5f,0xb1,0x62,0x45,
+ 0x97,0xe4,0x88,0x9a,0x40,0xef,0x40,0xc5,0xe3,0x69,0x47,0xec,0xaf,0x7a,
+ 0xe5,0xfd,0xc3,0xb1,0x80,0x1c,0xf2,0xf3,0xf3,0xcf,0x8b,0xe2,0x2f,0x5f,
+ 0xbe,0xbc,0x93,0x73,0xcc,0xe3,0xf1,0x82,0x63,0x8f,0xbc,0x7f,0xac,0x85,
+ 0xf4,0xed,0x86,0xe5,0xe5,0xe5,0x9d,0x13,0xc5,0x47,0xad,0x7a,0x20,0x39,
+ 0xa2,0x4e,0x6b,0xd1,0xf6,0x11,0x8f,0xa7,0x1d,0xb1,0x07,0x7c,0x24,0xef,
+ 0xbf,0xb3,0xb3,0x53,0xe5,0x7a,0xd7,0xdf,0x88,0xe2,0x23,0xc7,0xee,0x49,
+ 0x8e,0x38,0xa3,0xd1,0x3c,0x39,0xc4,0xa3,0x50,0x28,0x2c,0xb4,0xaf,0xf2,
+ 0xc4,0x95,0x96,0x96,0x46,0xf3,0xb1,0x4b,0xde,0x7f,0x4e,0x4e,0x8e,0x73,
+ 0x2d,0x6c,0x6f,0x6f,0x2f,0x10,0xc5,0x47,0x8e,0x49,0xdf,0x01,0xf4,0xc1,
+ 0xc1,0xc1,0x34,0x4f,0x3e,0xe4,0x41,0x3d,0xeb,0xa0,0x75,0x0c,0xf3,0x66,
+ 0x42,0x7e,0x3a,0x9d,0x8e,0xd6,0x42,0xc7,0x9e,0x3d,0x7b,0x2e,0x4b,0x7d,
+ 0x1f,0x3f,0x7e,0xfc,0x14,0xf6,0xa7,0x56,0xd4,0xe9,0x9b,0xa2,0xd8,0x04,
+ 0x62,0xff,0xc9,0x39,0x7e,0xc0,0xd3,0xd8,0xd8,0xa8,0xc2,0x9a,0x6d,0xc1,
+ 0xb9,0x86,0x1d,0x39,0x72,0x84,0xd5,0xd5,0xd5,0x31,0x9c,0x3f,0xc7,0x0d,
+ 0x3d,0x8f,0xb1,0x62,0xb4,0xee,0xe3,0x9d,0x98,0xb7,0x6d,0xdb,0xd6,0x84,
+ 0xbd,0xfc,0x15,0xd4,0x11,0x67,0xdd,0xc3,0xfc,0xbc,0x63,0x30,0x18,0xb2,
+ 0x45,0xb1,0x09,0xba,0x2f,0x39,0x06,0x05,0x05,0xd1,0x5c,0xce,0x14,0xd1,
+ 0xd6,0xd6,0x96,0x83,0x5a,0x7a,0xc3,0xdf,0xdf,0x7f,0xd8,0x9d,0xb3,0x3e,
+ 0xf6,0x4e,0x76,0xcc,0x6b,0x23,0x62,0xf4,0x62,0x2c,0x1e,0x21,0x3f,0x35,
+ 0xf0,0xfc,0x39,0x33,0x33,0xf3,0xab,0xd1,0x62,0x4a,0x60,0xfe,0x76,0xb8,
+ 0xfa,0x79,0x88,0xdf,0x49,0x67,0x85,0xb4,0xb1,0xc0,0xda,0x75,0x10,0xb9,
+ 0xf8,0xde,0x78,0xc1,0xde,0xeb,0xe0,0x78,0xfa,0x1d,0x0d,0xe4,0x09,0xad,
+ 0x85,0xf4,0x3d,0xf2,0xbc,0xeb,0x7b,0x01,0xe5,0x52,0xca,0xeb,0x82,0x5a,
+ 0xad,0x7e,0x1f,0xfb,0x1d,0x3a,0xef,0xb5,0x80,0x2c,0x72,0x44,0xbd,0xbc,
+ 0x86,0x7b,0xef,0xbc,0x2e,0xe0,0x5c,0xd9,0xe0,0x7a,0xcf,0x85,0xc0,0x1f,
+ 0x38,0xf3,0x67,0xd7,0xae,0x5d,0x54,0x4b,0xdf,0x7e,0xd5,0x24,0x27,0x27,
+ 0x57,0xc2,0x67,0x04,0xd0,0x1e,0x37,0xd8,0xe7,0xdf,0x2b,0x02,0x38,0xcf,
+ 0x37,0x01,0x01,0x01,0x1a,0xe4,0xf0,0xc7,0x56,0xab,0x75,0x3f,0x9e,0x7f,
+ 0x6b,0xb2,0xb0,0xd9,0x6c,0xfb,0xb1,0xb7,0xc8,0x45,0x5e,0x49,0x35,0x91,
+ 0xbe,0x99,0xc5,0xf9,0xfc,0xf7,0x8a,0x04,0xdf,0xbb,0xfc,0x9d,0x39,0x89,
+ 0x5c,0xee,0x43,0x1e,0xfe,0xee,0x6d,0x94,0x4a,0xe5,0x23,0x79,0x5c,0x40,
+ 0xdf,0x06,0x62,0x7c,0x46,0xbf,0x12,0xc0,0x67,0xa0,0x19,0x98,0xdc,0xa9,
+ 0x37,0x6e,0x40,0x75,0xed,0x1a,0xa0,0x77,0xfc,0x26,0x2f,0xf4,0x0f,0x37,
+ 0x76,0x25,0x15
+};
+
+// shade.png
+static const unsigned char image_10_data[] = {
+ 0x00,0x00,0x1f,0xa4,0x78,0x9c,0xd5,0x99,0xd1,0x4b,0x53,0x51,0x1c,0xc7,
+ 0xbd,0xd3,0xa1,0xa0,0xf8,0xa2,0xff,0x81,0xef,0x2a,0xf8,0xe0,0x83,0x0f,
+ 0x03,0xc1,0x27,0x21,0x48,0x16,0x14,0x8d,0x22,0xa5,0x51,0x11,0x16,0x44,
+ 0x41,0x83,0x51,0xd0,0x46,0x52,0x30,0x50,0x0b,0x82,0x60,0x83,0x61,0x61,
+ 0xa0,0x54,0x1b,0x14,0x4b,0x92,0xca,0x32,0xc8,0x32,0x66,0xb9,0x24,0x28,
+ 0x5a,0xe4,0x40,0x14,0x7a,0xf0,0x16,0x38,0x37,0x4f,0xbf,0xef,0xb8,0xa3,
+ 0xdb,0xe9,0xe7,0x86,0xed,0x6e,0x9e,0x0e,0x7c,0x60,0x3b,0xf7,0xf2,0xfd,
+ 0x7e,0xbc,0x5c,0xee,0xae,0xe7,0x08,0x21,0xaa,0x84,0x09,0x1a,0x75,0xc4,
+ 0x09,0x22,0x4c,0xbc,0x26,0x74,0x42,0x54,0x10,0xdd,0xe8,0x0d,0x1b,0x1e,
+ 0x75,0x42,0x72,0x34,0xb9,0x6a,0x84,0x8b,0x48,0xca,0x39,0x76,0xbb,0x7d,
+ 0xab,0x52,0x30,0x7f,0x43,0xd2,0xf0,0xd2,0x18,0xdf,0xf1,0xfc,0x79,0xed,
+ 0xed,0xed,0x3f,0x47,0x46,0x46,0xbe,0x4d,0x4f,0x4f,0x7f,0x5a,0x5d,0x5d,
+ 0xfd,0x40,0xe7,0xbc,0x2f,0xc0,0xa2,0x95,0xac,0xad,0xad,0x2d,0x51,0xef,
+ 0x67,0xea,0x5f,0x86,0x87,0xc9,0x7d,0xdc,0xec,0x4d,0xc3,0x8f,0xf9,0xc6,
+ 0xc6,0xc6,0xcd,0x60,0x30,0xf8,0x85,0xe6,0xe2,0xaa,0x00,0x1f,0x78,0x19,
+ 0xde,0x7e,0xc3,0xd7,0x81,0xef,0xd5,0xd5,0xd5,0x5b,0xd1,0x68,0xf4,0x23,
+ 0xcd,0xcd,0xab,0x06,0xbc,0xe0,0x67,0x78,0xc3,0x37,0x80,0xcf,0x83,0x83,
+ 0x83,0xcb,0x74,0xfc,0x55,0x99,0x99,0xfb,0x57,0xc8,0x2f,0x65,0x38,0xc3,
+ 0x77,0x1e,0x9f,0xa7,0xa6,0xa6,0xde,0xd1,0xb1,0x97,0xaa,0x02,0x3f,0xc3,
+ 0x19,0xbe,0x59,0x5c,0xf7,0x8d,0x8d,0x8d,0xe7,0x74,0x6c,0xa6,0x18,0x99,
+ 0x4c,0x66,0x26,0x91,0x48,0xcc,0xbd,0xb1,0x60,0x20,0x87,0xf2,0xd0,0x5b,
+ 0x14,0xf2,0x7b,0x61,0xdc,0x1f,0x59,0xe3,0x59,0x96,0xa5,0xf9,0x27,0x85,
+ 0xa0,0x7b,0xea,0x6d,0x47,0x47,0xc7,0xf7,0xda,0xda,0xda,0xac,0x95,0xcf,
+ 0x63,0xe4,0x21,0x17,0xf9,0x52,0xe7,0x53,0x19,0x78,0x9a,0x9e,0xbf,0x70,
+ 0x7e,0xbc,0x1d,0x2e,0x97,0xeb,0x6b,0xfe,0x5c,0x9b,0xcd,0x26,0x5a,0x5a,
+ 0x5a,0x44,0x5b,0x5b,0x5b,0xc9,0x20,0x07,0x79,0xf9,0x6c,0xf4,0x14,0xf2,
+ 0x60,0x9c,0x63,0x1c,0x3e,0x9f,0x6f,0x11,0xe7,0x34,0x34,0x34,0x88,0xa1,
+ 0xa1,0x21,0xa1,0xeb,0xba,0xb0,0x72,0x20,0x0f,0xb9,0xc8,0x47,0x8f,0xdf,
+ 0xef,0x4f,0xd0,0xf4,0x23,0x0e,0xc6,0xf9,0x81,0x4c,0x3a,0x9d,0x7e,0x58,
+ 0x5f,0x5f,0x9f,0xd6,0x34,0x4d,0x44,0x22,0x11,0x4b,0x5d,0xe5,0x81,0x7c,
+ 0xf4,0xa0,0x0f,0xbd,0x9c,0x8f,0xd9,0xb9,0xa6,0xa6,0x06,0xce,0x51,0x19,
+ 0xfa,0x3d,0x7a,0x86,0xe3,0xad,0xad,0xad,0x65,0xf5,0xcd,0x0f,0xf4,0xa0,
+ 0x0f,0xbd,0x9c,0x0f,0x3c,0x25,0xe7,0xbb,0x32,0xe1,0x70,0x78,0x16,0xc7,
+ 0x7b,0x7a,0x7a,0x2a,0xe2,0x8c,0x1e,0xf4,0x8d,0x8d,0x8d,0xcd,0xd2,0xd7,
+ 0x7b,0x32,0x8c,0xf3,0x84,0x4c,0x2a,0x95,0x8a,0x18,0xbf,0xe9,0x82,0xde,
+ 0x3b,0xca,0xea,0x8b,0x7c,0xf4,0xa0,0x0f,0xbd,0x9c,0x0f,0xe3,0x3c,0xce,
+ 0xd1,0xd9,0xd9,0xb9,0x8c,0x73,0xba,0xbb,0xbb,0xc5,0xca,0xca,0x4a,0x59,
+ 0x7c,0x91,0x8b,0x7c,0xf4,0xa0,0x8f,0xa6,0xee,0x70,0x30,0xce,0xb7,0x38,
+ 0x92,0xc9,0xe4,0x44,0x53,0x53,0xd3,0x8f,0xfc,0xf5,0x76,0xbb,0xdd,0x62,
+ 0x74,0x74,0x54,0x84,0x42,0xa1,0x92,0x41,0x0e,0xf2,0xf2,0xd7,0x17,0x3d,
+ 0xd4,0x37,0x49,0xbd,0xb7,0x39,0x24,0xe7,0x0c,0xcd,0x85,0xb7,0x63,0x61,
+ 0x61,0x61,0xb2,0xab,0xab,0xeb,0xaf,0xf7,0x6a,0x2b,0x41,0x3e,0x7a,0x0a,
+ 0x79,0xc0,0x53,0x72,0x0e,0x16,0x23,0x16,0x8b,0xdd,0xf7,0x78,0x3c,0xb3,
+ 0x7d,0x7d,0x7d,0x8b,0xbd,0xbd,0xbd,0x4b,0xa5,0x82,0x1c,0xe4,0x21,0x97,
+ 0xf2,0x43,0xc5,0x60,0x9c,0x6f,0xaa,0x0e,0xe3,0x7c,0x43,0x75,0x18,0xe7,
+ 0x6b,0x16,0x73,0xdd,0x6a,0x18,0xe7,0x61,0xd5,0x31,0x3b,0xd3,0x7b,0x29,
+ 0x9c,0x03,0xaa,0x03,0x4f,0xc9,0xf9,0xca,0x2e,0x73,0xb5,0x18,0x8c,0xf3,
+ 0x65,0xd5,0x61,0x9c,0x2f,0x15,0xc0,0xa7,0x02,0x8c,0xf3,0x45,0xd5,0x91,
+ 0x9c,0x37,0x69,0xce,0xab,0x3a,0xf0,0x94,0x9c,0xcf,0x5b,0x84,0xa7,0x5c,
+ 0x30,0xce,0xe7,0x54,0x87,0x71,0x3e,0xa3,0x3a,0x8c,0xf3,0xa9,0x5d,0xe0,
+ 0xf4,0x4e,0x60,0x9c,0x4f,0xaa,0x8e,0xd9,0xd9,0x66,0xb3,0xc1,0xf9,0x98,
+ 0xc4,0x71,0xd5,0x80,0xa7,0xe4,0x7c,0x54,0x71,0xdc,0x8c,0x73,0xbf,0xea,
+ 0x98,0x9c,0xb3,0x9a,0xa6,0x65,0x74,0x5d,0x3f,0x42,0xf3,0x87,0x4a,0xe0,
+ 0x70,0x39,0x21,0xbf,0x7e,0x78,0x1a,0xeb,0xa2,0xb9,0xf5,0xe7,0x40,0x20,
+ 0x70,0x81,0x8e,0x1d,0x54,0x15,0xf8,0x99,0xd6,0x9f,0x73,0xeb,0xfc,0x0e,
+ 0x87,0x03,0xff,0xf3,0xee,0x57,0x15,0xf8,0x55,0xfd,0x5e,0xe7,0xcf,0xed,
+ 0xa7,0xe0,0xba,0x7b,0xbd,0x5e,0xbc,0x8b,0x38,0x2b,0xc0,0xbe,0x9d,0x00,
+ 0x2f,0xe3,0xbe,0xc8,0xed,0xa7,0x08,0xd3,0xbe,0x95,0xdd,0x6e,0x5f,0x1f,
+ 0x18,0x18,0xc0,0xfb,0xf5,0x5e,0x55,0x80,0x0f,0xbc,0x0c,0xdf,0xdc,0xbe,
+ 0x95,0x60,0xf6,0x07,0x9b,0x9b,0x9b,0x97,0x9c,0x4e,0xe7,0xb0,0xcf,0xe7,
+ 0x3b,0x1b,0x8f,0xc7,0x0f,0xd0,0x39,0x7b,0x2a,0x05,0xfa,0xd0,0x8b,0x7e,
+ 0x78,0x98,0xd6,0x6d,0xfe,0xd8,0x1f,0x14,0x45,0xf6,0x61,0xe9,0x19,0x93,
+ 0xae,0x14,0xcc,0x1a,0x13,0xbb,0x0f,0x2b,0xfe,0xb3,0xfd,0xee,0x5f,0x4b,
+ 0xfc,0x3e,0x57
+};
+
+// splat.png
+static const unsigned char image_11_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x59,0x09,0x4c,0x95,0x47,0x10,0xc6,
+ 0x03,0x50,0xf1,0x88,0xf1,0xbe,0xa2,0x36,0xd1,0x78,0xd6,0x98,0xaa,0x69,
+ 0x88,0xda,0xe2,0x81,0x26,0x52,0x89,0x77,0x63,0x8c,0x82,0x82,0x41,0x11,
+ 0x09,0x18,0xad,0xc5,0x70,0x14,0x14,0x0f,0x50,0x6a,0x04,0x41,0x41,0xe4,
+ 0x2a,0x88,0x82,0x02,0xfa,0x12,0x88,0x29,0x86,0xc3,0xa2,0x42,0xb9,0x44,
+ 0x69,0x25,0x4a,0x2d,0xe2,0x85,0x8a,0xa8,0x60,0xb8,0xde,0xf6,0x9b,0xf5,
+ 0xed,0xcb,0xff,0x16,0xde,0x61,0x52,0xd4,0x4d,0xbe,0x04,0xff,0x9d,0xdd,
+ 0xf9,0xd8,0x9d,0xf9,0x66,0x56,0xcc,0xcc,0x3a,0x1d,0xf6,0x80,0x1f,0x70,
+ 0x1e,0x28,0x03,0x2a,0xba,0x18,0xa5,0x40,0x12,0xe0,0x0d,0xd8,0x75,0x4e,
+ 0x49,0x67,0x7c,0x0f,0x14,0x01,0x4c,0xc0,0xd2,0xd2,0xb2,0xbd,0x7f,0xff,
+ 0xfe,0xad,0x5d,0x09,0x0b,0x0b,0x8b,0x76,0xa5,0x4f,0x20,0x1f,0xf8,0x56,
+ 0x0f,0x47,0x77,0x61,0xb7,0x6c,0xd9,0xb2,0x86,0x98,0x98,0x98,0x9a,0x7b,
+ 0x18,0x8c,0xb1,0x3b,0x5d,0x0d,0xb5,0x5a,0x7d,0xa7,0xb2,0xb2,0xb2,0x2a,
+ 0x3a,0x3a,0xba,0x66,0xe1,0xc2,0x85,0x6f,0x14,0x7c,0x1d,0x25,0x8e,0x3f,
+ 0x00,0xed,0x56,0x56,0x56,0x6d,0x39,0x39,0x39,0x0f,0x3e,0x05,0x37,0x43,
+ 0xc8,0xcc,0xcc,0xac,0xee,0xd5,0xab,0x57,0x7b,0xb7,0x6e,0xdd,0x5a,0xc0,
+ 0xeb,0x3b,0x0d,0xc7,0xee,0xf8,0xf7,0x0b,0xba,0xdf,0xdc,0xdc,0xdc,0xcf,
+ 0xce,0x51,0xe0,0xca,0x95,0x2b,0xff,0xf4,0xec,0xd9,0x53,0x0d,0x7e,0x0f,
+ 0x35,0x3c,0xbf,0xa1,0x33,0x5e,0xbb,0x76,0x6d,0xfd,0xe7,0xe6,0x26,0xc3,
+ 0xd6,0xd6,0x56,0xc4,0xc0,0x57,0x80,0x07,0xfd,0x7c,0xf2,0xe4,0xc9,0xda,
+ 0xae,0xf2,0x17,0x19,0x19,0xf9,0xe8,0xe0,0xc1,0x83,0x4f,0x5a,0x5a,0x5a,
+ 0xee,0x7e,0xcc,0xba,0x03,0x07,0x0e,0x3c,0xd1,0xf0,0x74,0x00,0x02,0xe8,
+ 0x67,0x95,0x4a,0x45,0x77,0x7e,0xfb,0xff,0xc6,0xd2,0xa5,0x4b,0x1b,0x44,
+ 0x5e,0x2c,0x58,0xb0,0xe0,0xcd,0xc7,0xac,0x4d,0x48,0x48,0x78,0xa8,0x59,
+ 0xbb,0x4b,0xf0,0xbc,0x7c,0xf9,0xf2,0x3d,0xe4,0x5d,0xb1,0xa9,0xc8,0xcf,
+ 0xcf,0xaf,0xac,0xaf,0xaf,0x2f,0x35,0x64,0xb3,0x77,0xef,0xde,0x5a,0xda,
+ 0x7b,0xe6,0xcc,0x99,0x6c,0xfa,0xf4,0xe9,0x0c,0x79,0xc0,0x1a,0x1b,0x1b,
+ 0x4b,0x4c,0xf5,0x11,0x17,0x17,0x77,0xbf,0x13,0x9e,0x95,0x98,0xbb,0x65,
+ 0x0a,0xac,0xad,0xad,0xf9,0x19,0x51,0x9c,0xbb,0xb9,0xb9,0xd5,0xbe,0x7f,
+ 0xff,0xbe,0x50,0xb6,0x49,0x4c,0x4c,0xfc,0x9b,0x6c,0x46,0x8d,0x1a,0xc5,
+ 0x1e,0x3f,0x7e,0xcc,0x96,0x2f,0x5f,0xce,0xcf,0xb4,0xb6,0xb6,0xb6,0xd8,
+ 0x54,0x3f,0xb1,0xb1,0xb1,0x55,0x32,0xcf,0x8c,0x8c,0x8c,0x0a,0x9c,0xf5,
+ 0x1f,0xc6,0x40,0x76,0xe2,0x8c,0xc6,0x8c,0x19,0xc3,0x7d,0x4f,0x9c,0x38,
+ 0xb1,0xf1,0xfe,0xfd,0xfb,0x45,0xc2,0xa6,0xa2,0xa2,0xa2,0x98,0xf4,0xdb,
+ 0xdc,0xdc,0x9c,0x95,0x96,0x96,0x32,0x1a,0x33,0x66,0xcc,0x60,0xa4,0x35,
+ 0xf0,0x6f,0xd4,0x87,0x00,0x34,0xfc,0x2f,0x99,0x67,0x7a,0x7a,0x7a,0x19,
+ 0xe6,0x72,0x8d,0x21,0x20,0x20,0x80,0xff,0x8e,0x67,0xce,0x9c,0x61,0x38,
+ 0x47,0xb6,0x6e,0xdd,0x3a,0xce,0x95,0x6a,0x8a,0xab,0xab,0xeb,0xc3,0x9b,
+ 0x37,0x6f,0x16,0x8d,0x1e,0x3d,0xba,0x89,0xbe,0x45,0x45,0x45,0x31,0x31,
+ 0xc0,0x9b,0x8d,0x1f,0x3f,0xbe,0xd1,0x14,0x1f,0x02,0xd0,0xfd,0x3b,0x32,
+ 0xcf,0xb4,0xb4,0xb4,0x3f,0x31,0xf7,0xbb,0x31,0x9c,0x3f,0x7f,0xbe,0x84,
+ 0xec,0xbd,0xbc,0xbc,0xb4,0x1c,0x22,0x22,0x22,0xa8,0xbe,0x2a,0xeb,0x1e,
+ 0xf3,0xf0,0xf0,0xd0,0xce,0x3f,0x7b,0xf6,0x8c,0x7f,0x9b,0x3f,0x7f,0x7e,
+ 0x9d,0x29,0x3e,0x04,0x70,0x16,0xe5,0x32,0xcf,0x4b,0x97,0x2e,0xdd,0xc2,
+ 0x5c,0x96,0x31,0x20,0xbe,0xb2,0x29,0x1f,0x6c,0x6c,0x6c,0x98,0x72,0x20,
+ 0xa7,0xd8,0xee,0xdd,0xbb,0x99,0xbd,0xbd,0x3d,0x8b,0x8f,0x8f,0xd7,0x99,
+ 0xbb,0x76,0xed,0x1a,0xe7,0xb9,0x79,0xf3,0xe6,0x6a,0x53,0x7c,0x08,0xe0,
+ 0x3e,0x4a,0x64,0x9e,0xa9,0xa9,0xa9,0x05,0x98,0x53,0x99,0x02,0xc4,0xe5,
+ 0xbb,0x7e,0xfd,0xfa,0x31,0x53,0x47,0x58,0x58,0x18,0xe7,0x19,0x14,0x14,
+ 0x54,0x66,0xaa,0x0f,0x02,0x74,0xb7,0x48,0xe6,0x99,0x92,0x92,0x92,0x8f,
+ 0xb9,0x74,0x63,0x68,0x6e,0x6e,0xce,0x18,0x3e,0x7c,0x78,0xe3,0xa0,0x41,
+ 0x83,0x4c,0xe6,0xb9,0x67,0xcf,0x1e,0xa6,0xb9,0x33,0x93,0x7c,0x08,0x9c,
+ 0x3a,0x75,0xea,0x96,0xcc,0x13,0x71,0x97,0x83,0x5c,0x4c,0x25,0x54,0x57,
+ 0x57,0x5f,0xd9,0xb0,0x61,0xc3,0x3d,0xf4,0x2e,0x35,0xb3,0x67,0xcf,0x7e,
+ 0x3a,0x69,0xd2,0xa4,0x97,0xe3,0xc6,0x8d,0x6b,0x18,0x31,0x62,0xc4,0x3b,
+ 0xe4,0x6c,0x2b,0xd9,0x2f,0x5a,0xb4,0xa8,0x53,0x4e,0x75,0x75,0x75,0x6c,
+ 0xeb,0xd6,0xad,0x2c,0x39,0x39,0x59,0xfb,0xed,0xf0,0xe1,0xc3,0x9c,0x27,
+ 0xe2,0xb8,0x40,0xf8,0x30,0x05,0xe1,0xe1,0xe1,0x05,0x32,0x4f,0xec,0x9b,
+ 0x8d,0x2d,0xcf,0x11,0xa0,0x79,0xca,0xde,0x8a,0xf5,0xe8,0xd1,0x83,0x0d,
+ 0x18,0x30,0x80,0xe1,0x1c,0x49,0x83,0x98,0xa7,0xa7,0x27,0xcf,0x75,0x31,
+ 0xce,0x9d,0x3b,0xc7,0xba,0x77,0xef,0xce,0xb6,0x6f,0xdf,0xce,0x26,0x4f,
+ 0x9e,0xcc,0xd7,0x0c,0x19,0x32,0x44,0x3b,0x8f,0x33,0xe0,0xdf,0xf0,0xbb,
+ 0xd6,0x43,0x0f,0x54,0xc2,0x8f,0x31,0xa0,0x96,0xe7,0xc9,0x3c,0xe1,0xeb,
+ 0x2a,0xe6,0x12,0xda,0xdb,0xdb,0x13,0x90,0xbb,0x6d,0xd0,0x19,0x56,0x56,
+ 0x56,0xc6,0xde,0xbe,0x7d,0x6b,0xf4,0x5e,0x71,0xe6,0x3a,0xb9,0x4e,0x20,
+ 0x6d,0x15,0x03,0x67,0xc3,0x50,0x9b,0x84,0x7e,0xb5,0xad,0x5e,0xbd,0xba,
+ 0xb2,0xaa,0xaa,0x2a,0x95,0xfc,0x19,0x02,0xe2,0x3a,0x47,0xe6,0x89,0xfa,
+ 0x91,0x89,0xb9,0x18,0x82,0xa3,0xa3,0x23,0xbd,0x03,0x18,0xf6,0xe3,0x3e,
+ 0xf4,0x8d,0xc0,0xc0,0x40,0xae,0xdf,0xa8,0x4b,0x54,0x13,0xd5,0xc8,0xe7,
+ 0x52,0xe8,0x55,0x01,0xf4,0xbd,0x0d,0x5a,0xc9,0x5a,0x5b,0x5b,0x75,0xec,
+ 0x91,0xab,0xbc,0x3e,0xd1,0xde,0x38,0x7f,0x35,0x62,0xab,0xbc,0xa8,0xa8,
+ 0x28,0x55,0xf8,0x95,0x71,0xe2,0xc4,0x89,0x6c,0x99,0x27,0x6a,0xbe,0x0a,
+ 0x9c,0xa2,0x08,0xb8,0xd3,0x68,0x9c,0xc7,0x2b,0xfa,0xbe,0x62,0xc5,0x0a,
+ 0xd6,0xd4,0xd4,0xd4,0x81,0x23,0x7a,0x1f,0x7e,0xd7,0x64,0x83,0x98,0x68,
+ 0xf2,0xf3,0xf3,0xcb,0x11,0xeb,0xc7,0x8e,0x1d,0xfb,0x92,0xbe,0x23,0x9e,
+ 0xd9,0x8d,0x1b,0x37,0x74,0xd6,0x21,0x0f,0xb9,0xfe,0x4f,0x98,0x30,0x81,
+ 0x69,0x6a,0x6f,0xbb,0x9d,0x9d,0xdd,0x5d,0xf4,0xf3,0x89,0x62,0xbd,0xc0,
+ 0xf1,0xe3,0xc7,0xaf,0xca,0x3c,0xa1,0x79,0x94,0x63,0xe1,0x02,0x8f,0x1e,
+ 0x3d,0x8a,0x9e,0x32,0x65,0x0a,0xef,0x23,0x66,0xcd,0x9a,0xc5,0x9e,0x3e,
+ 0x7d,0xda,0x81,0xab,0xc8,0x8f,0xde,0xbd,0x7b,0x37,0xe7,0xe5,0xe5,0x25,
+ 0x89,0xb5,0x87,0x0e,0x1d,0xba,0x4a,0xe7,0x25,0x62,0x40,0x99,0x53,0xca,
+ 0x58,0xb8,0x70,0xe1,0x02,0x43,0xed,0x12,0xf1,0xd0,0xba,0x69,0xd3,0xa6,
+ 0x42,0x25,0x87,0x90,0x90,0x90,0x4c,0x99,0x27,0x6a,0xfe,0x45,0xcc,0x9d,
+ 0x50,0x02,0x67,0x16,0x3a,0x77,0xee,0xdc,0x7b,0x34,0x4f,0xfb,0x15,0x17,
+ 0x17,0x77,0xf0,0xe7,0xe3,0xe3,0xc3,0xfd,0xac,0x5a,0xb5,0xaa,0x18,0x67,
+ 0x17,0x97,0x95,0x95,0x95,0x48,0x75,0x40,0x70,0xa4,0x3a,0x95,0x9d,0x9d,
+ 0xad,0x37,0x76,0x28,0x36,0x90,0xd7,0x6c,0xf0,0xe0,0xc1,0xdc,0x7e,0xc7,
+ 0x8e,0x1d,0xb9,0xc2,0xff,0xb1,0x63,0xc7,0x54,0x32,0x4f,0xd4,0xfc,0x0b,
+ 0x98,0x0b,0x91,0x81,0xbc,0x0a,0x71,0x70,0x70,0xb8,0x4e,0xf1,0xd7,0xa7,
+ 0x4f,0x1f,0x35,0x74,0x56,0xc7,0x0f,0xfa,0x2c,0xbe,0x3f,0xb4,0xe0,0x95,
+ 0xe6,0x1e,0xdb,0x44,0xbc,0x90,0x46,0x09,0x5d,0x40,0x6f,0xc2,0xd0,0xa7,
+ 0xb1,0xa3,0x47,0x8f,0x32,0xdc,0x27,0xd7,0x7e,0xaa,0xb7,0xc8,0x69,0x16,
+ 0x1a,0x1a,0xca,0x76,0xee,0xdc,0xc9,0xf7,0x19,0x39,0x72,0xe4,0x0b,0xe1,
+ 0x3b,0x38,0x38,0x38,0x43,0xe6,0x89,0x9a,0x4f,0x5a,0x10,0xa4,0x0f,0xb8,
+ 0xe3,0x34,0x9c,0x4d,0x0b,0x9d,0x55,0x49,0x49,0x89,0x96,0x27,0xf9,0x11,
+ 0x67,0x87,0x38,0xd1,0xc6,0x2c,0xf1,0x14,0xc3,0xc5,0xc5,0xa5,0x83,0x1e,
+ 0xe8,0x03,0xde,0x3f,0x05,0xc2,0xe7,0x91,0x23,0x47,0xd2,0x64,0x9e,0x88,
+ 0x6d,0xd2,0x82,0x40,0x43,0x40,0xaf,0x74,0x91,0x6c,0xbd,0xbd,0xbd,0xb5,
+ 0x1c,0x28,0x6e,0xe7,0xcd,0x9b,0xc7,0x75,0x87,0xee,0x10,0xfd,0x1d,0xdb,
+ 0xb2,0x65,0x0b,0xfb,0xf0,0xa4,0x66,0x3c,0x8f,0x34,0x7a,0xfa,0x0a,0xf7,
+ 0x92,0x8d,0xf7,0x47,0x8a,0xbf,0xbf,0xff,0x45,0x5f,0x5f,0xdf,0x34,0x68,
+ 0x43,0x06,0xf6,0x4a,0x47,0x0e,0xa6,0xd1,0xde,0xa7,0x4f,0x9f,0xfe,0x4d,
+ 0xe9,0x0f,0x71,0x9e,0x22,0xf3,0x84,0x4d,0x2c,0xe6,0xfc,0x0d,0x01,0x71,
+ 0x9d,0x48,0xb6,0xf0,0xa3,0x37,0xde,0xe4,0x41,0xb9,0x42,0x6b,0x9c,0x9c,
+ 0x9c,0xb2,0x8c,0xed,0x2f,0x03,0xba,0x97,0x2c,0xf3,0x44,0xac,0x44,0x63,
+ 0xce,0xc7,0x10,0xd6,0xaf,0x5f,0x7f,0x55,0x53,0x63,0x4d,0xe6,0x89,0xf7,
+ 0x09,0xe7,0xb9,0x78,0xf1,0xe2,0x1b,0xc6,0xf6,0x97,0xb1,0x7f,0xff,0xfe,
+ 0x24,0x99,0x27,0xe2,0x2c,0x12,0x73,0x5e,0x86,0x30,0x6d,0xda,0xb4,0x4a,
+ 0xb2,0xad,0xa9,0xa9,0xd1,0xe1,0x42,0x35,0x8b,0xf2,0x80,0xee,0x9f,0xfa,
+ 0x52,0xa5,0xbe,0x93,0xf6,0x52,0x1d,0x80,0x1e,0xff,0x6b,0x6c,0x7f,0x19,
+ 0xb8,0xb7,0x04,0x99,0x27,0x72,0x8e,0x34,0x6b,0xb7,0x21,0x20,0xdf,0x1b,
+ 0x49,0x9f,0x94,0xa3,0xa0,0xa0,0x80,0x0d,0x1c,0x38,0x50,0xad,0xcc,0x05,
+ 0xea,0x01,0x9e,0x3f,0x7f,0xae,0xb5,0xa1,0x37,0x0a,0x7a,0x84,0x36,0xe4,
+ 0xfe,0x4f,0xc6,0x7c,0x28,0x81,0x18,0x8e,0x91,0x79,0x42,0x2b,0x42,0x31,
+ 0xe7,0xa1,0x0f,0x85,0x85,0x85,0xbe,0x64,0x47,0xef,0x31,0x31,0x28,0xf6,
+ 0xa8,0x0f,0x20,0xcd,0x5a,0xb9,0x72,0xa5,0x0a,0xfd,0x80,0x0f,0x6a,0x3d,
+ 0xef,0xc5,0x50,0x1f,0xd5,0xa8,0xe1,0xdc,0x0e,0xb1,0xc9,0xf9,0x27,0x25,
+ 0x25,0x05,0x1b,0xf2,0x21,0x03,0x39,0x16,0x2d,0xf3,0x44,0x8e,0x1c,0xc7,
+ 0x9c,0x9b,0x3e,0x20,0x56,0xc2,0x45,0xae,0x53,0x2d,0x41,0x8e,0xf2,0x77,
+ 0x2e,0xb4,0xea,0x3d,0xf2,0x32,0x4c,0x69,0xbb,0x66,0xcd,0x9a,0x34,0x51,
+ 0x37,0xcb,0xcb,0xcb,0xb5,0x7d,0x32,0xfa,0xa9,0x04,0x43,0x3e,0x64,0xec,
+ 0xdb,0xb7,0x2f,0x52,0xe6,0x09,0xfd,0x3d,0x86,0xb9,0x6d,0xfa,0xe0,0xec,
+ 0xec,0x1c,0x4f,0x76,0x54,0x2b,0xa1,0x71,0xdc,0xaf,0x95,0x95,0xd5,0x1b,
+ 0xf4,0xbe,0xbf,0x74,0x66,0x8f,0x33,0xe4,0xf6,0x78,0xbf,0xa9,0x6d,0x6d,
+ 0x6d,0xb9,0x3d,0xde,0x79,0x67,0x0d,0xf9,0x90,0x01,0xad,0x8b,0x90,0x79,
+ 0x42,0x53,0x49,0x5b,0x9d,0xf5,0x01,0xbd,0xf5,0x01,0x65,0x0c,0xe2,0xac,
+ 0x1e,0xa0,0xd7,0xd9,0x65,0x68,0x0d,0x6a,0x60,0x24,0x7a,0xa7,0x66,0xb2,
+ 0xef,0xdb,0xb7,0xef,0x2b,0x68,0xaa,0xbb,0x21,0x7b,0x19,0x78,0x07,0x84,
+ 0x29,0x78,0xfe,0x4c,0x3f,0xbb,0xbb,0xbb,0x53,0x7c,0x3a,0x18,0x02,0xd6,
+ 0xfd,0x8a,0x3e,0xf8,0xe6,0x92,0x25,0x4b,0x2e,0xbd,0x7e,0xfd,0xda,0xc9,
+ 0x98,0x3d,0x01,0xba,0xbf,0x0d,0xf5,0x2f,0x10,0x79,0xe5,0x6c,0x8a,0xbd,
+ 0x12,0x1b,0x37,0x6e,0x14,0xf1,0xe9,0x62,0xf6,0xe1,0xff,0x17,0xd9,0x9c,
+ 0x39,0x73,0x48,0x87,0x37,0x7c,0x49,0x98,0x3a,0x75,0x6a,0xbe,0x86,0xe7,
+ 0xd7,0x80,0x05,0xd0,0x84,0x7c,0x68,0xb8,0x7e,0xfd,0xba,0x0b,0xe6,0x7f,
+ 0xfc,0x12,0xa0,0x52,0xa9,0xdc,0x10,0x33,0x8d,0xe0,0x46,0xbd,0x6c,0x37,
+ 0xb3,0x0f,0xc3,0x93,0x78,0xe3,0xad,0xfb,0x04,0xfa,0xe3,0x08,0xbb,0xd5,
+ 0x9f,0x13,0x78,0xef,0x3b,0x43,0xab,0x5f,0x68,0xce,0x72,0x9d,0x99,0xee,
+ 0x88,0xd2,0xf4,0x65,0x4d,0x36,0x36,0x36,0xf1,0x67,0xcf,0x9e,0xdd,0x8e,
+ 0x35,0xf6,0x9f,0x12,0xe8,0xd9,0x5c,0xad,0xad,0xad,0x93,0x51,0x13,0x9a,
+ 0x35,0x1c,0x83,0xcc,0x3a,0x0e,0x3a,0x5b,0x67,0xe0,0xb5,0xc8,0x69,0xe8,
+ 0x63,0xdb,0xd0,0xa1,0x43,0x6f,0x0f,0x1b,0x36,0xac,0xac,0x2b,0x41,0x3e,
+ 0xc8,0x97,0x42,0x4f,0xe8,0x2c,0x37,0x75,0xc2,0x51,0x39,0x2c,0xcd,0x3e,
+ 0xfc,0x1d,0x87,0xb4,0x9a,0x7a,0x79,0x9d,0x9a,0xd8,0x45,0xa0,0xbf,0xcb,
+ 0x50,0xef,0x90,0x0a,0x78,0x01,0xe6,0x32,0xa9,0xff,0x00,0x99,0xf6,0xbe,
+ 0x01
+};
+
+// titlealpha.png
+static const unsigned char image_12_data[] = {
+ 0x00,0x00,0x00,0x78,0x78,0x9c,0xe3,0xe7,0xe7,0xaf,0x64,0x00,0x82,0xff,
+ 0xff,0xff,0x87,0x02,0x71,0x08,0x10,0x7b,0x01,0xb1,0x33,0x10,0x5b,0x01,
+ 0xb1,0x3e,0x10,0x6b,0x00,0xb1,0x02,0x10,0x4b,0x02,0x31,0x27,0x03,0x0e,
+ 0x00,0x94,0x63,0x05,0x62,0x09,0x34,0x0c,0xd2,0xa7,0x07,0xc4,0x36,0x50,
+ 0x73,0x23,0x3f,0x7c,0xf8,0x20,0xc3,0xcf,0xcf,0xcf,0x06,0x00,0x83,0xf5,
+ 0x43,0x25
+};
+
+// window_background.png
+static const unsigned char image_13_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x69,0x4c,0x54,0x57,0x14,0xc7,
+ 0x59,0x04,0xdc,0xe2,0xbe,0xf3,0xc1,0x15,0xfc,0x60,0x4c,0xda,0xc4,0x2f,
+ 0x96,0x2a,0xa6,0xf1,0x8b,0x24,0x84,0x0f,0xd6,0xa4,0x8d,0x34,0x01,0xa4,
+ 0x09,0x54,0x28,0x21,0x85,0x26,0x1a,0x36,0x6b,0xad,0x10,0x2c,0x8b,0x20,
+ 0x8b,0xac,0xb2,0x14,0x90,0x1d,0x0a,0x08,0x6d,0xa1,0x92,0x40,0x8a,0x24,
+ 0xb6,0x28,0x76,0x18,0x16,0x69,0x3b,0x5a,0x05,0x2d,0x1d,0xc5,0x51,0x96,
+ 0x19,0x5e,0xff,0xe7,0x39,0xb7,0xb9,0xdc,0x62,0x99,0xf7,0xa6,0xb4,0xbd,
+ 0xc9,0x2f,0x19,0xee,0x99,0x73,0xee,0x7f,0xde,0xbb,0xe7,0x9c,0x7b,0xb1,
+ 0xb1,0x99,0x73,0x78,0x81,0x18,0x50,0x06,0x7e,0x00,0xbd,0x0b,0x0c,0xad,
+ 0x51,0x02,0xa2,0x80,0xe7,0xdc,0x92,0x66,0x0d,0x77,0xd0,0x0d,0x24,0x86,
+ 0x93,0x93,0x93,0x69,0xc5,0x8a,0x15,0xd3,0x0b,0x89,0xa3,0xa3,0xa3,0x89,
+ 0x5f,0x13,0x74,0x80,0x37,0x5e,0xa1,0x31,0x88,0x7d,0xcf,0xc3,0xc3,0xe3,
+ 0x49,0x7e,0x7e,0xbe,0x4e,0xab,0xd5,0xf6,0xcf,0xcc,0xcc,0xdc,0x91,0x24,
+ 0x69,0x41,0xa1,0x35,0x34,0x1a,0xcd,0x40,0x5e,0x5e,0x9e,0xee,0xf0,0xe1,
+ 0xc3,0x4f,0x39,0xbd,0x27,0x04,0x8d,0x1e,0xc0,0xb8,0x6c,0xd9,0x32,0x63,
+ 0x5b,0x5b,0xdb,0xdd,0x85,0xd6,0x35,0x1f,0xcd,0xcd,0xcd,0xc3,0x8b,0x17,
+ 0x2f,0x36,0xd9,0xda,0xda,0x4e,0x43,0xd7,0x5b,0x66,0x8d,0xf8,0xd3,0x76,
+ 0x94,0x9e,0xbd,0xb5,0x1a,0x7b,0x7a,0x7a,0x06,0x83,0x83,0x83,0x1f,0x05,
+ 0x04,0x04,0x3c,0x56,0xc2,0xc5,0x8b,0x17,0xef,0x8f,0x8c,0x8c,0xf4,0xf1,
+ 0xb1,0x9a,0x9a,0x9a,0x86,0x17,0x2d,0x5a,0x34,0x03,0x6d,0x3a,0xb3,0xce,
+ 0xd7,0xe8,0x19,0x1f,0x3d,0x7a,0x54,0xaf,0x56,0x1f,0xed,0x8f,0x3d,0x7b,
+ 0xf6,0xbc,0x10,0xf6,0x98,0x22,0xec,0xed,0xed,0x25,0x6f,0x6f,0xef,0x31,
+ 0x3e,0xee,0x91,0x23,0x47,0x9e,0x98,0xed,0x2e,0xe0,0x43,0xfa,0x4c,0xbf,
+ 0x49,0x8d,0x46,0xa3,0xd1,0x78,0x67,0xe5,0xca,0x95,0xa6,0x55,0xab,0x56,
+ 0x49,0x35,0x35,0x35,0xd2,0xf8,0xf8,0xb8,0xf4,0xfc,0xf9,0x73,0x45,0x74,
+ 0x74,0x74,0x48,0x9e,0x9e,0x9e,0xb2,0xde,0xf0,0xf0,0xf0,0x51,0x16,0xfb,
+ 0xfc,0xf9,0xf3,0x0f,0xb8,0x7d,0x1a,0x43,0x9f,0xeb,0xea,0xea,0xe8,0x9d,
+ 0xdf,0x56,0x4a,0x76,0x76,0xf6,0x2f,0xe4,0x5f,0x5f,0x5f,0x2f,0x59,0x3b,
+ 0x0e,0x1c,0x38,0x20,0x21,0xff,0x4d,0x2c,0x76,0x49,0x49,0xc9,0x4f,0x66,
+ 0x9d,0x1f,0x33,0x9d,0xb5,0xb5,0xb5,0x03,0xc8,0xbb,0x9b,0x4a,0xf1,0xf5,
+ 0xf5,0x1d,0x25,0x7f,0x83,0xc1,0x60,0xb5,0xce,0xb8,0xb8,0x38,0x09,0x79,
+ 0x22,0xb1,0xd8,0xc5,0xc5,0xc5,0x43,0xa2,0xce,0xea,0xea,0xea,0x3e,0xd8,
+ 0x6e,0x28,0xc5,0xc7,0xc7,0xe7,0x21,0xf9,0x4f,0x4e,0x4e,0x5a,0xad,0xf3,
+ 0xc2,0x85,0x0b,0x4c,0xa7,0x1c,0xbb,0xa8,0xa8,0xa8,0x7f,0x0e,0x9d,0xb4,
+ 0x27,0x3a,0x95,0x02,0x9d,0xbf,0x92,0x7f,0x61,0x61,0xa1,0x54,0x5a,0x5a,
+ 0x6a,0x15,0xc7,0x8f,0x1f,0xa7,0xbe,0x22,0xb1,0xd8,0x88,0xa9,0x11,0x75,
+ 0x56,0x55,0x55,0xdd,0x82,0xad,0x5d,0x29,0x91,0x91,0x91,0x43,0x76,0x76,
+ 0x76,0xaa,0xf3,0x5c,0x04,0x35,0x7c,0x86,0xc5,0x2e,0x28,0x28,0xb8,0x23,
+ 0xea,0xac,0xac,0xac,0xfc,0x1e,0xb6,0x56,0xa5,0xa4,0xa6,0xa6,0xca,0xb1,
+ 0x28,0x6f,0xe9,0xdd,0x5b,0x03,0xbd,0x77,0xd4,0x8d,0x69,0x16,0xfb,0xca,
+ 0x95,0x2b,0xb7,0x44,0x9d,0xe5,0xe5,0xe5,0xdd,0xb0,0x35,0x2b,0x25,0x25,
+ 0x25,0xa5,0x87,0xfc,0xa7,0xa7,0xa7,0xad,0xde,0x9f,0x89,0x89,0x89,0x4c,
+ 0xa7,0x1c,0x1b,0x7d,0xf4,0xa6,0xa8,0xf3,0xea,0xd5,0xab,0xdf,0xc1,0xd6,
+ 0x20,0x32,0x31,0x31,0xd1,0x88,0xfa,0x70,0xe3,0xd0,0xa1,0x43,0x0f,0xdc,
+ 0xdc,0xdc,0x46,0x44,0x5c,0x5c,0x5c,0xe4,0x5a,0xdc,0xda,0xda,0x2a,0x5d,
+ 0xbf,0x7e,0x7d,0x16,0xc3,0xc3,0xc3,0x94,0x13,0x6a,0x74,0xca,0x6b,0xe7,
+ 0xe6,0xe6,0x76,0x8b,0x3a,0xcb,0xca,0xca,0x3a,0x60,0xab,0xe5,0x49,0x4f,
+ 0x4f,0xef,0xc6,0xde,0x9b,0x99,0x6f,0x4f,0xa1,0xb7,0xbd,0xd2,0xb6,0x61,
+ 0xc3,0x06,0x09,0xfd,0x5a,0x89,0xce,0x29,0xb6,0x7e,0x4e,0x4e,0x4e,0x97,
+ 0xa8,0x13,0xcf,0xac,0x1d,0xbf,0xbd,0x92,0xd1,0xd7,0xd7,0xd7,0xc8,0xd6,
+ 0xda,0xb1,0x63,0x87,0x3e,0x24,0x24,0xe4,0x76,0x58,0x58,0xd8,0xad,0xb9,
+ 0x40,0x8f,0xfe,0xd1,0xdf,0xdf,0x5f,0xc3,0xe3,0xe7,0xe7,0xa7,0xd9,0xb6,
+ 0x6d,0x9b,0x9e,0xfc,0x29,0xcf,0x3a,0x3b,0x3b,0x2d,0xd2,0x89,0xde,0x36,
+ 0xc5,0x34,0x5c,0xbe,0x7c,0xb9,0x53,0xd4,0x89,0x9a,0xda,0x86,0xaf,0x96,
+ 0x32,0xf0,0x9e,0xe5,0x3e,0xb3,0x7f,0xff,0xfe,0xfb,0xfc,0xbc,0x52,0x46,
+ 0x47,0x47,0x2b,0x48,0xa7,0x97,0x97,0x97,0xc5,0x3a,0x99,0x6f,0x66,0x66,
+ 0x66,0xbb,0xa8,0x13,0x35,0xf5,0x6b,0xd8,0x8a,0x18,0x5b,0xb6,0x6c,0x91,
+ 0xcf,0x81,0x2d,0x2d,0x2d,0x0d,0xfc,0xbc,0x1a,0x1c,0x1c,0x1c,0x8c,0xbb,
+ 0x76,0xed,0x52,0xa2,0x53,0xf6,0xcb,0xc8,0xc8,0xf8,0x56,0xd4,0x89,0x9a,
+ 0x4a,0x9b,0x28,0x9f,0xb1,0x79,0xf3,0x66,0x39,0x3f,0x70,0xd6,0xab,0xe1,
+ 0xe7,0xd5,0x80,0x1e,0x63,0xdc,0xb9,0x73,0xa7,0xa5,0x3a,0x27,0x99,0x5f,
+ 0x5a,0x5a,0xda,0x37,0xa2,0x4e,0xd4,0xaa,0x46,0xec,0x89,0x6c,0xc6,0xa6,
+ 0x4d,0x9b,0x64,0x9d,0xa8,0xe3,0x54,0x6f,0x1b,0xac,0x01,0xe7,0x48,0x93,
+ 0xa5,0x3a,0x71,0x0e,0x99,0x64,0x1a,0x50,0x9b,0x5b,0x44,0x9d,0xa8,0x55,
+ 0x75,0xf8,0x6a,0x3a,0x63,0xeb,0xd6,0xad,0x8f,0xfe,0xa9,0x1e,0x43,0x58,
+ 0xa2,0x33,0x3a,0x3a,0x5a,0x5a,0xbf,0x7e,0xbd,0x81,0x69,0x40,0x6d,0x6e,
+ 0x12,0x75,0xa2,0x56,0x55,0xc3,0x96,0xc2,0xd8,0xbd,0x7b,0xf7,0x7d,0x36,
+ 0xdf,0xdb,0xdb,0x9b,0x6b,0x0d,0x4b,0x97,0x2e,0x9d,0x98,0x4f,0x27,0xf2,
+ 0x4d,0xc2,0x5e,0x33,0x1d,0x3c,0x78,0x50,0xcb,0x34,0x24,0x27,0x27,0x7f,
+ 0x29,0xea,0xc4,0x39,0xb2,0x82,0x1e,0x3d,0x03,0x3a,0xef,0x99,0xf3,0xa8,
+ 0x80,0x9f,0x57,0x03,0x7a,0xf6,0x8b,0x35,0x6b,0xd6,0x48,0x67,0xcf,0x9e,
+ 0x9d,0x93,0x63,0xc7,0x8e,0x49,0xc8,0x35,0x69,0xf5,0xea,0xd5,0x86,0xc1,
+ 0xc1,0xc1,0x0c,0xe6,0x87,0x51,0x2b,0xea,0xcc,0xca,0xca,0x2a,0x83,0x2d,
+ 0x9e,0xe1,0xea,0xea,0x4a,0xf7,0x12,0xaa,0xd1,0x79,0xfc,0xbc,0x1a,0xa0,
+ 0xf1,0x09,0x9d,0xd7,0xd6,0xad,0x5b,0xf7,0x0c,0xef,0x55,0x64,0x1c,0x3d,
+ 0xed,0x1e,0xea,0x56,0xf7,0xd8,0xd8,0x58,0x22,0xef,0x97,0x90,0x90,0x50,
+ 0x25,0xea,0x44,0x0d,0xf8,0x02,0xb6,0xcf,0x18,0xf0,0x95,0xeb,0x27,0xee,
+ 0x53,0x59,0xfc,0xbc,0x1a,0xd0,0x93,0x1e,0x53,0xac,0xa1,0xa1,0xa1,0x44,
+ 0x25,0x7e,0xf1,0xf1,0xf1,0xe5,0xa2,0x4e,0xd4,0x80,0x42,0xd8,0x3e,0x61,
+ 0xa0,0xde,0xfd,0x4c,0xf3,0x0d,0x0d,0x0d,0xe9,0xfc,0xbc,0x1a,0x98,0x4e,
+ 0xbc,0xd3,0x78,0x25,0x7e,0x38,0xdf,0x97,0x8a,0x3a,0x2f,0x5d,0xba,0x44,
+ 0x35,0x2b,0x8a,0x81,0x7d,0x3f,0x6c,0xf3,0xf2,0xde,0x93,0xca,0xcf,0xab,
+ 0x01,0xef,0x56,0xae,0x1d,0x03,0x03,0x03,0xb1,0x4a,0xfc,0x70,0x8f,0x2b,
+ 0x16,0x75,0xe2,0xbe,0x99,0x03,0xdb,0x69,0x06,0x7a,0xba,0xac,0x13,0xf7,
+ 0xbb,0x64,0x7e,0x5e,0x0d,0xd8,0x97,0xb2,0xce,0xfe,0xfe,0xfe,0x4f,0x95,
+ 0xf8,0x9d,0x3b,0x77,0xae,0x40,0xd4,0x99,0x94,0x94,0x94,0x09,0x5b,0x38,
+ 0x63,0xfb,0xf6,0xed,0x77,0x69,0x1e,0x77,0xdd,0xcf,0xf9,0x79,0x35,0x40,
+ 0xa7,0x7c,0xd7,0xc3,0xd9,0x26,0x5a,0x89,0x1f,0x6a,0x41,0x9e,0xa8,0x13,
+ 0xb9,0x95,0x06,0x5b,0x28,0x03,0x75,0x5e,0xbe,0xeb,0xe1,0x3e,0x12,0xc7,
+ 0xcf,0xab,0x61,0xed,0xda,0xb5,0x23,0x14,0x4b,0xa3,0xd1,0x44,0x28,0xf1,
+ 0x8b,0x89,0x89,0xc9,0x16,0x75,0x22,0xb7,0xa8,0xb6,0x06,0x33,0xb0,0x3f,
+ 0xe5,0x3b,0x14,0x7a,0x57,0x12,0x3f,0xaf,0x06,0xf4,0xc2,0x31,0x8a,0xa5,
+ 0xd3,0xe9,0xc2,0x94,0xf8,0x45,0x45,0x45,0x65,0x8a,0x3a,0x91,0x5b,0xa4,
+ 0x27,0x90,0x81,0xda,0x5b,0x41,0xf3,0x1b,0x37,0x6e,0xd4,0x4d,0x4d,0x4d,
+ 0x7d,0xc0,0xdb,0x94,0x10,0x1b,0x1b,0x9b,0x4c,0x71,0x70,0x8f,0x34,0x28,
+ 0xf5,0x8d,0x88,0x88,0x48,0x17,0x75,0x22,0xb7,0x68,0x1f,0xbe,0xcf,0xd0,
+ 0xeb,0xf5,0x81,0xe8,0x77,0xf2,0x59,0x04,0xe7,0x88,0x29,0xf4,0xb4,0x21,
+ 0x67,0x67,0xe7,0x41,0x25,0x2c,0x59,0xb2,0xe4,0xcf,0xff,0x11,0x86,0x86,
+ 0x86,0x66,0xf0,0xf1,0x2d,0xe1,0xd4,0xa9,0x53,0xa9,0x9c,0x4e,0x42,0x0a,
+ 0x0a,0x0a,0xa2,0xfd,0xe9,0xc3,0xa3,0xd5,0x6a,0x03,0xa1,0x6f,0x00,0xf7,
+ 0x0a,0xf1,0xff,0xa8,0x16,0x83,0xe7,0xf8,0xec,0xcc,0x99,0x33,0xf1,0x62,
+ 0x6c,0x4b,0xf0,0xf5,0xf5,0xcd,0x31,0xc7,0x39,0x09,0xde,0xa4,0xcf,0xfb,
+ 0xf6,0xed,0xfb,0x0a,0x36,0xef,0x57,0x81,0xbc,0xff,0x08,0x77,0xbd,0x70,
+ 0x4b,0xa9,0xa8,0xa8,0x08,0xc3,0x1d,0xf4,0xbd,0xbf,0x8b,0x39,0x1f,0x7b,
+ 0xf7,0xee,0x65,0xe7,0xf9,0xd7,0x81,0x03,0x30,0xe0,0x77,0x3f,0x6d,0x6f,
+ 0x6f,0x0f,0x80,0xfd,0x9d,0xff,0x03,0xd7,0xae,0x5d,0x0b,0xc2,0xd9,0xc4,
+ 0x00,0x6d,0xbf,0x03,0x3b,0x9b,0x97,0x23,0x84,0x74,0x2f,0x5f,0xbe,0xfc,
+ 0x61,0x57,0x57,0x97,0x1f,0xbe,0xf7,0xf6,0x7f,0x09,0xee,0xd4,0xfe,0xc8,
+ 0x0d,0x76,0xfe,0x7d,0xd7,0x66,0xf6,0xc8,0x34,0xe7,0xcc,0x0b,0x77,0x77,
+ 0xf7,0x22,0x9c,0x9b,0x4f,0xc2,0xc7,0xeb,0xdf,0x04,0x67,0xdd,0x93,0x6e,
+ 0x6e,0x6e,0xa5,0xf6,0xf6,0xf6,0x13,0x66,0x8d,0x09,0x36,0x7f,0x1d,0xb6,
+ 0xc0,0x1f,0xe8,0x59,0x0e,0x20,0x7f,0x8c,0x38,0x43,0xdc,0x46,0x6d,0xea,
+ 0x59,0x48,0x68,0x0d,0x5a,0x8b,0xcb,0xbf,0xdf,0x80,0xcf,0x1c,0x1a,0xf9,
+ 0xe1,0x04,0x22,0x41,0x0d,0xd0,0x02,0xd5,0xb9,0xae,0x00,0x5a,0x83,0xfa,
+ 0x0a,0x9d,0x37,0x4f,0x03,0x47,0x51,0xd4,0x1f,0xb7,0x84,0x65,0x15
+};
+
+// window_foreground.png
+static const unsigned char image_14_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x7b,0x4c,0x14,0x57,0x14,0x87,
+ 0x57,0x79,0xfa,0x42,0xb0,0x44,0xaa,0x86,0x10,0x9b,0xe8,0x1f,0xbc,0x82,
+ 0x8a,0x1a,0x8d,0x12,0x89,0x8f,0xf8,0x88,0x02,0x11,0x48,0x37,0xa1,0x29,
+ 0x49,0x41,0x45,0x8b,0xb4,0x49,0x49,0x84,0x18,0x22,0xb4,0x68,0x68,0x8b,
+ 0x08,0x08,0x08,0x05,0x44,0xd0,0x96,0x05,0x5a,0xd2,0xa6,0x40,0x5a,0x1a,
+ 0x2a,0xe5,0x4d,0x8b,0xa5,0x82,0x40,0x8b,0x62,0xd1,0xb2,0x05,0x59,0x44,
+ 0x60,0xd9,0x45,0xf6,0x31,0xfd,0xdd,0x75,0xee,0xf6,0x76,0x45,0xca,0xce,
+ 0x2e,0xad,0x93,0x7c,0x31,0x9c,0xd9,0x39,0xf3,0x39,0x73,0xef,0xb9,0xe7,
+ 0x8e,0x48,0xf4,0xdc,0xf1,0x1a,0x08,0x07,0xd9,0xe0,0x47,0xd0,0x39,0xcf,
+ 0x74,0x80,0x2a,0x70,0x11,0xbc,0x01,0x2c,0x9f,0x57,0xd2,0x1f,0x4e,0x20,
+ 0x13,0xa8,0x00,0x47,0xb1,0xb3,0xb3,0x53,0xcd,0x37,0xec,0xfd,0x16,0x2c,
+ 0x58,0x30,0x8c,0x7f,0xa3,0x80,0xb5,0x81,0x9f,0x33,0xce,0xc9,0xc8,0x6f,
+ 0x1c,0x1d,0x1d,0x55,0x69,0x69,0x69,0x03,0xcd,0xcd,0xcd,0xf7,0x54,0x2a,
+ 0x55,0x17,0xc7,0x71,0x77,0xe6,0x1b,0xa5,0x52,0xd9,0x55,0x5d,0x5d,0x7d,
+ 0xff,0xdc,0xb9,0x73,0x83,0x36,0x36,0x36,0x1a,0xde,0xb7,0x01,0x58,0xf1,
+ 0x7e,0xf6,0xf0,0xeb,0x26,0xf1,0xd8,0xd8,0xd8,0x21,0xb5,0x5a,0x3d,0xef,
+ 0x4e,0xb3,0x31,0x31,0x31,0xd1,0xbd,0x6b,0xd7,0xae,0x09,0xde,0x33,0x8f,
+ 0x77,0x4c,0x22,0x7f,0x87,0x85,0x85,0x8d,0x98,0x92,0x5b,0x2a,0x95,0xf6,
+ 0x24,0x27,0x27,0x4b,0x8f,0x1d,0x3b,0x26,0x0b,0x0f,0x0f,0x9f,0x33,0xa7,
+ 0x4e,0x9d,0x92,0xb5,0xb7,0xb7,0xdf,0x65,0x73,0x8d,0x8d,0x8d,0x75,0xbb,
+ 0xba,0xba,0x2a,0x79,0x4f,0x5f,0x70,0xcb,0xca,0xca,0x4a,0x23,0x97,0xcb,
+ 0xbb,0x85,0xfa,0x89,0xc5,0xe2,0x51,0x0b,0x0b,0x0b,0xfd,0x98,0x12,0x82,
+ 0xbb,0xbb,0xbb,0xb2,0xb7,0xb7,0xf7,0x37,0x9a,0x53,0x22,0x91,0xf4,0xf3,
+ 0xe7,0xce,0x03,0xed,0xe6,0xcd,0x9b,0x27,0x85,0xfa,0x45,0x45,0x45,0x91,
+ 0x31,0xce,0x05,0x04,0x04,0x70,0x8d,0x8d,0x8d,0x9c,0x42,0xa1,0xe0,0x30,
+ 0xbe,0xe6,0x0c,0xde,0x2d,0x57,0x5e,0x5e,0x4e,0xe6,0x26,0xe7,0xe0,0xe0,
+ 0xa0,0xd6,0x68,0x34,0xba,0xbc,0x23,0x23,0x23,0xdd,0x0b,0x17,0x2e,0xd4,
+ 0x22,0x77,0x1d,0x9f,0x7f,0x14,0xf1,0x0e,0x21,0x2c,0x5b,0xb6,0x4c,0xb3,
+ 0x7b,0xf7,0x6e,0xce,0xd4,0xa3,0xac,0xac,0x4c,0xf7,0x3c,0x4b,0x4a,0x4a,
+ 0x7e,0xa7,0xb9,0x97,0x2f,0x5f,0x4e,0xe6,0x7c,0x17,0x89,0xfb,0xf9,0xf9,
+ 0x8d,0x68,0xb5,0xda,0x5b,0x42,0xc0,0x38,0xe1,0x2e,0x5d,0xba,0x64,0xb2,
+ 0xe3,0xe3,0xc7,0x8f,0x75,0x8e,0x27,0x4f,0x9e,0x1c,0xa4,0xb9,0x59,0xc7,
+ 0x23,0x47,0x8e,0xc8,0x10,0x6b,0x15,0x82,0xa5,0xa5,0x25,0x77,0xf9,0xf2,
+ 0x65,0x93,0x1d,0x31,0x4f,0x74,0x8e,0x11,0x11,0x11,0x52,0x9a,0x1b,0x8e,
+ 0xd3,0x8c,0xe3,0x23,0xfc,0xac,0x51,0x08,0xe4,0x39,0x86,0x86,0x86,0x72,
+ 0xc5,0xc5,0xc5,0x26,0x91,0x9f,0x9f,0x4f,0x1d,0xff,0xa0,0xb9,0x31,0x46,
+ 0xf5,0x8e,0x87,0x0f,0x1f,0x1e,0x42,0xec,0x07,0x21,0x2c,0x5a,0xb4,0x48,
+ 0x6b,0xca,0x7c,0x66,0xc1,0x1c,0xe1,0x12,0x13,0x13,0x7b,0x69,0x6e,0xd6,
+ 0xf1,0xd0,0xa1,0x43,0x83,0x88,0xd5,0x08,0x61,0xe9,0xd2,0xa5,0x6a,0xac,
+ 0x4b,0xdc,0xf4,0xf4,0xb4,0x49,0x3c,0x79,0xf2,0x44,0xe7,0x99,0x9b,0x9b,
+ 0xdb,0x41,0x73,0xb3,0x8e,0x07,0x0f,0x1e,0x94,0x22,0xf6,0x8d,0x10,0x96,
+ 0x2c,0x59,0xa2,0xce,0xc8,0xc8,0x30,0x79,0x3c,0x4e,0x4e,0x4e,0xea,0x1c,
+ 0x73,0x72,0x72,0x7e,0xa6,0xb9,0x51,0x33,0x9e,0x52,0xc7,0x03,0x07,0x0e,
+ 0x90,0x31,0x50,0x31,0x13,0x53,0x53,0x53,0x95,0x85,0x85,0x85,0xad,0x67,
+ 0xce,0x9c,0xb9,0x33,0x13,0xb6,0xb6,0xb6,0x1a,0x73,0x3a,0x66,0x67,0x67,
+ 0xb7,0xd1,0x7b,0xb3,0x8e,0xfb,0xf7,0xef,0x7f,0x88,0xd8,0x97,0x86,0x04,
+ 0x07,0x07,0xf7,0x61,0x2d,0x9f,0x75,0x0c,0x91,0x79,0x6d,0x4e,0xc7,0xac,
+ 0xac,0xac,0x56,0x7a,0x7f,0xd6,0x71,0xdf,0xbe,0x7d,0xfd,0x98,0xeb,0x9f,
+ 0xb3,0xf8,0xfb,0xfb,0xf7,0x91,0x73,0xf6,0xf6,0xf6,0xca,0xe3,0xc7,0x8f,
+ 0x77,0x55,0x56,0x56,0xd6,0x54,0x55,0x55,0x3d,0x07,0xe6,0x8c,0x59,0xdf,
+ 0x75,0x66,0x66,0x66,0x13,0x75,0x80,0xe3,0x14,0x75,0xdc,0xbb,0x77,0x2f,
+ 0xa9,0xed,0xc5,0x2c,0x78,0x3e,0x9a,0x55,0xab,0x56,0x4d,0x18,0xc6,0x0d,
+ 0xc1,0x78,0x54,0x99,0xd3,0x11,0xb5,0xb6,0x9e,0xe6,0xc6,0x7c,0xd4,0x3b,
+ 0xee,0xd9,0xb3,0xa7,0x0f,0xb1,0xeb,0x14,0xac,0x95,0xc5,0xfc,0x1a,0xf9,
+ 0x2b,0x1b,0x9f,0x09,0x73,0x3b,0xa6,0xa7,0xa7,0xd7,0xd2,0xdc,0xac,0x23,
+ 0xd6,0xdb,0x7b,0x88,0x15,0x50,0x86,0x86,0x86,0x6e,0x90,0x78,0x50,0x50,
+ 0xd0,0x1d,0x36,0x3e,0x13,0xe6,0x76,0x4c,0x4d,0x4d,0xfd,0x9e,0xe6,0x86,
+ 0xa3,0x92,0x3a,0xfa,0xfa,0xfa,0xf6,0xe2,0xfd,0xe7,0x52,0x86,0x87,0x87,
+ 0xaf,0x91,0xf8,0xf6,0xed,0xdb,0xef,0x63,0x4e,0x57,0xcc,0x86,0xb9,0xc7,
+ 0x63,0x4a,0x4a,0xca,0x77,0xd4,0x03,0xff,0x7f,0xbd,0x23,0xfa,0x5e,0xf2,
+ 0x4e,0xb3,0x28,0xa8,0xa7,0x9f,0xcc,0x75,0x6d,0x20,0x6b,0x21,0xd6,0x06,
+ 0x93,0x1d,0x07,0x06,0x06,0x68,0xed,0xa9,0xa0,0x1e,0xac,0xa3,0x8f,0x8f,
+ 0x4f,0x0f,0x62,0xe9,0x14,0xf4,0x74,0x64,0xef,0xc5,0x45,0x47,0x47,0xd7,
+ 0x74,0x76,0x76,0xe6,0xcf,0xc6,0xc6,0x8d,0x1b,0xef,0xaf,0x59,0xb3,0x46,
+ 0x2b,0x93,0xc9,0x4c,0x72,0x3c,0x7d,0xfa,0x34,0x87,0x3e,0x59,0xfb,0xe0,
+ 0xc1,0x83,0x1c,0xea,0x01,0x47,0x05,0x75,0xdc,0xb9,0x73,0x27,0xe9,0xc1,
+ 0x53,0x28,0x70,0x4c,0x23,0xf1,0x0b,0x17,0x2e,0x7c,0xcd,0xc6,0x67,0xa2,
+ 0xa7,0xa7,0x27,0x1b,0xf5,0x49,0x41,0x9e,0xe7,0xd1,0xa3,0x47,0xb9,0xf8,
+ 0xf8,0x78,0xa3,0x88,0x8b,0x8b,0xe3,0x3c,0x3c,0x3c,0xb4,0xa4,0x0e,0xc7,
+ 0xc4,0xc4,0x7c,0xcb,0xe6,0x66,0x1d,0x77,0xec,0xd8,0x41,0xe6,0xc6,0x47,
+ 0x94,0xf1,0xf1,0x71,0xb2,0xd7,0x25,0xef,0xf0,0x2b,0x36,0xfe,0x22,0xd0,
+ 0xfb,0xa5,0xa0,0x07,0x6d,0x5d,0xbf,0x7e,0xfd,0x43,0x27,0x27,0xa7,0xf1,
+ 0x95,0x2b,0x57,0xea,0xc1,0x3e,0x53,0x6e,0x6d,0x6d,0xcd,0xad,0x58,0xb1,
+ 0x62,0x92,0x8d,0x53,0x50,0xdf,0xc6,0x30,0xd6,0x3a,0xda,0xda,0xda,0xb2,
+ 0x0d,0xf3,0x2e,0x5e,0xbc,0x58,0xef,0x88,0xb9,0x41,0xd6,0xf1,0xf3,0x14,
+ 0x38,0xea,0xf6,0x61,0x09,0x09,0x09,0x5f,0xb0,0x71,0x21,0xb4,0xb4,0xb4,
+ 0x64,0x90,0x5c,0x05,0x05,0x05,0x45,0xc6,0x5e,0xcb,0x3a,0x6e,0xdb,0xb6,
+ 0xed,0x36,0x62,0x09,0x14,0xf4,0x9b,0x89,0x24,0x8e,0xfd,0x6e,0x19,0x1b,
+ 0x17,0x42,0x53,0x53,0x53,0x2a,0xc9,0x85,0xfe,0xb0,0xc0,0xd8,0x6b,0xe1,
+ 0x38,0x49,0x1d,0xb7,0x6e,0xdd,0xda,0x8e,0x58,0x1c,0x05,0x8e,0x09,0x24,
+ 0x8e,0xb1,0x22,0x61,0xe3,0x42,0xc0,0x3e,0xec,0x22,0xdf,0x73,0xe5,0x19,
+ 0x7b,0x2d,0xea,0x9a,0xde,0x71,0xcb,0x96,0x2d,0xa4,0x1f,0x8a,0xa5,0xa0,
+ 0xf6,0xc4,0x91,0xf8,0xd9,0xb3,0x67,0x3f,0x65,0xe3,0x42,0x68,0x68,0x68,
+ 0xf8,0x90,0xef,0xb9,0x72,0x8c,0xbd,0x96,0x75,0xf4,0xf6,0xf6,0x26,0xfd,
+ 0x50,0x34,0x05,0x8e,0x31,0xa2,0x67,0xdf,0x2d,0x8a,0xd8,0xb8,0x10,0xea,
+ 0xea,0xea,0xc8,0xfe,0x98,0xbb,0x72,0xe5,0x4a,0xa6,0xb1,0xd7,0xc2,0x51,
+ 0x4e,0x1d,0x37,0x6d,0xda,0xf4,0x13,0x62,0xef,0x52,0xe0,0x18,0x4d,0xe2,
+ 0xe8,0x0f,0x0b,0xd8,0xb8,0x10,0x6a,0x6b,0x6b,0xdf,0xe7,0xfb,0x99,0x74,
+ 0x63,0xaf,0x45,0x6f,0xaa,0x77,0xdc,0xb0,0x61,0x03,0xe9,0xd9,0x22,0x29,
+ 0xd8,0xc7,0x47,0xa1,0x5e,0x69,0x4f,0x9c,0x38,0x71,0x83,0x8d,0x0b,0xa1,
+ 0xb4,0xb4,0x54,0xf7,0x1c,0xf3,0xf2,0xf2,0x3e,0x36,0xf6,0x5a,0xd6,0xd1,
+ 0xcb,0xcb,0xab,0x05,0xb1,0x08,0x16,0xac,0x1d,0x7d,0xa8,0x75,0xfd,0xa8,
+ 0x43,0x6f,0x1b,0x9e,0x33,0x06,0xd4,0xb5,0x9b,0xe8,0xf3,0x9e,0x0a,0xc9,
+ 0x03,0xc7,0x09,0xea,0xe8,0xe9,0xe9,0xd9,0x84,0x58,0x38,0x4b,0x51,0x51,
+ 0x51,0x3c,0xc9,0x8d,0xfa,0xab,0xc0,0xbc,0xbf,0x19,0x12,0x12,0x72,0xdd,
+ 0x18,0xc4,0x62,0xf1,0x67,0xab,0x57,0xaf,0xbe,0x2b,0x7a,0xf6,0xbd,0xeb,
+ 0xaa,0x61,0xfe,0xb9,0xc0,0x3a,0xae,0x5d,0xbb,0x96,0xd4,0xc7,0x50,0x43,
+ 0xea,0xeb,0xeb,0xdf,0x71,0x73,0x73,0x6b,0xc2,0x5e,0x7c,0x10,0x6b,0x9d,
+ 0xd2,0x18,0x6c,0x6c,0x6c,0xe4,0xeb,0xd6,0xad,0xbb,0x25,0x91,0x48,0x62,
+ 0x67,0xca,0xfd,0x6f,0x8c,0x8e,0x8e,0x86,0x61,0x2f,0x4b,0xbe,0x53,0x90,
+ 0x6f,0xc9,0xbd,0xc8,0xa9,0x90,0xcb,0xe5,0x6f,0xe2,0x5c,0xc8,0xcb,0x02,
+ 0xd6,0xe1,0x0f,0xf8,0xde,0x8a,0xf4,0x0e,0xe4,0xbb,0x37,0x17,0x18,0x18,
+ 0x48,0x6a,0xec,0xeb,0x2f,0x03,0xd8,0x6f,0x8b,0x9d,0x9d,0x9d,0x6f,0xf3,
+ 0x8e,0xfe,0xc0,0x05,0x8c,0x62,0x1e,0xab,0xd1,0x77,0xc4,0xe3,0x37,0x81,
+ 0xff,0x27,0x1a,0x8d,0x26,0x08,0xb5,0xb0,0x82,0xf7,0x6b,0x11,0xfd,0xfd,
+ 0xbd,0xd9,0x07,0x90,0x7d,0x22,0xe7,0xe2,0xe2,0xd2,0x9c,0x94,0x94,0xf4,
+ 0x9e,0x5a,0xad,0xf6,0xc7,0x35,0x7e,0xff,0x15,0xd8,0xc7,0xfb,0x47,0x46,
+ 0x46,0x26,0x60,0x7f,0x20,0xe5,0xfd,0xc8,0x7c,0x7b,0x45,0xf4,0xcf,0xc3,
+ 0x1b,0xd0,0xe7,0x4b,0xd0,0xda,0xd9,0xd9,0xf5,0xa3,0xfe,0xfc,0x32,0xcf,
+ 0xdc,0x46,0xef,0xf0,0x88,0xb9,0x2f,0xf9,0x66,0x7f,0x15,0xbc,0x2a,0x7a,
+ 0xf1,0xf1,0x16,0xc8,0xe0,0x9f,0xf3,0xd3,0xb9,0xee,0x19,0x4c,0xe4,0x4f,
+ 0x50,0x03,0x92,0x81,0xa3,0xa1,0xd0,0x5f,0x5b,0xa8,0xfc,0xc8
+};
+
+static struct EmbedImage {
+ int width, height, depth;
+ const unsigned char *data;
+ ulong compressed;
+ int numColors;
+ const QRgb *colorTable;
+ bool alpha;
+ const char *name;
+} embed_image_vec[] = {
+ { 41, 41, 32, (const unsigned char*)image_0_data, 1781, 0, 0, TRUE, "circle.png" },
+ { 41, 41, 32, (const unsigned char*)image_1_data, 1724, 0, 0, TRUE, "close.png" },
+ { 41, 41, 32, (const unsigned char*)image_2_data, 1555, 0, 0, TRUE, "help.png" },
+ { 42, 41, 32, (const unsigned char*)image_3_data, 1879, 0, 0, TRUE, "keep_above_lit.png" },
+ { 41, 41, 32, (const unsigned char*)image_4_data, 1734, 0, 0, TRUE, "keep_above.png" },
+ { 41, 41, 32, (const unsigned char*)image_5_data, 1750, 0, 0, TRUE, "keep_below_lit.png" },
+ { 41, 41, 32, (const unsigned char*)image_6_data, 1848, 0, 0, TRUE, "keep_below.png" },
+ { 42, 41, 32, (const unsigned char*)image_7_data, 1343, 0, 0, TRUE, "maximize.png" },
+ { 42, 41, 32, (const unsigned char*)image_8_data, 1141, 0, 0, TRUE, "minimize.png" },
+ { 41, 41, 32, (const unsigned char*)image_9_data, 1529, 0, 0, TRUE, "restore.png" },
+ { 45, 45, 32, (const unsigned char*)image_10_data, 885, 0, 0, TRUE, "shade.png" },
+ { 42, 41, 32, (const unsigned char*)image_11_data, 2017, 0, 0, TRUE, "splat.png" },
+ { 1, 30, 32, (const unsigned char*)image_12_data, 72, 0, 0, TRUE, "titlealpha.png" },
+ { 42, 41, 32, (const unsigned char*)image_13_data, 1609, 0, 0, TRUE, "window_background.png" },
+ { 41, 41, 32, (const unsigned char*)image_14_data, 1566, 0, 0, TRUE, "window_foreground.png" },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static QImage uic_findImage( const QString& name )
+{
+ for ( int i=0; embed_image_vec[i].data; i++ ) {
+ if ( QString::fromUtf8(embed_image_vec[i].name) == name ) {
+ QByteArray baunzip;
+ baunzip = qUncompress( embed_image_vec[i].data,
+ embed_image_vec[i].compressed );
+ QImage img((uchar*)baunzip.data(),
+ embed_image_vec[i].width,
+ embed_image_vec[i].height,
+ embed_image_vec[i].depth,
+ (QRgb*)embed_image_vec[i].colorTable,
+ embed_image_vec[i].numColors,
+ QImage::BigEndian
+ );
+ img = img.copy();
+ if ( embed_image_vec[i].alpha )
+ img.setAlphaBuffer(TRUE);
+ return img;
+ }
+ }
+ return QImage();
+}
+
+class MimeSourceFactory_smoothblend : public QMimeSourceFactory
+{
+public:
+ MimeSourceFactory_smoothblend() {}
+ ~MimeSourceFactory_smoothblend() {}
+ const QMimeSource* data( const QString& abs_name ) const {
+ const QMimeSource* d = QMimeSourceFactory::data( abs_name );
+ if ( d || abs_name.isNull() ) return d;
+ QImage img = uic_findImage( abs_name );
+ if ( !img.isNull() )
+ ((QMimeSourceFactory*)this)->setImage( abs_name, img );
+ return QMimeSourceFactory::data( abs_name );
+ };
+};
+
+static QMimeSourceFactory* bfactory = 0;
+
+void qInitImages_smoothblend()
+{
+ if ( !bfactory ) {
+ bfactory = new MimeSourceFactory_smoothblend;
+ QMimeSourceFactory::defaultFactory()->addFactory( bfactory );
+ }
+}
+
+void qCleanupImages_smoothblend()
+{
+ if ( bfactory ) {
+ QMimeSourceFactory::defaultFactory()->removeFactory( bfactory );
+ delete bfactory;
+ bfactory = 0;
+ }
+}
+
+class StaticInitImages_smoothblend
+{
+public:
+ StaticInitImages_smoothblend() { qInitImages_smoothblend(); }
+#if defined(Q_OS_SCO) || defined(Q_OS_UNIXWARE)
+ ~StaticInitImages_smoothblend() { }
+#else
+ ~StaticInitImages_smoothblend() { qCleanupImages_smoothblend(); }
+#endif
+};
+
+static StaticInitImages_smoothblend staticImages;
diff --git a/kwin-styles/smooth-blend/client/config/Makefile.am b/kwin-styles/smooth-blend/client/config/Makefile.am
new file mode 100644
index 00000000..618dbca1
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/config/Makefile.am
@@ -0,0 +1,15 @@
+AUTOMAKE_OPTIONS = foreign
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes)
+
+noinst_HEADERS = smoothblendconfig.h
+
+kde_module_LTLIBRARIES = kwin_smoothblend_config.la
+kwin_smoothblend_config_la_SOURCES = configdialog.ui smoothblendconfig.cc
+kwin_smoothblend_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_smoothblend_config_la_LIBADD = $(LIB_KDEUI)
+kwin_smoothblend_config_la_METASOURCES = AUTO
+
+DISTCLEANFILES = $(kwin_smoothblend_config_la_METASOURCES)
diff --git a/kwin-styles/smooth-blend/client/config/configdialog.ui b/kwin-styles/smooth-blend/client/config/configdialog.ui
new file mode 100644
index 00000000..f84973dc
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/config/configdialog.ui
@@ -0,0 +1,421 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>ConfigDialog</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ConfigDialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>634</width>
+ <height>371</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="caption">
+ <string>Config Dialog</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>buttongroup</cstring>
+ </property>
+ <property name="title">
+ <string>Buttons</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSpinBox" row="0" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>buttonsize</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>UpDownArrows</enum>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>animatebuttons</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Animate buttons</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want to use button animations when hovering with the mouse.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Button size:</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>menuClose</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Close window when menu double clicked</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QComboBox" row="2" column="3">
+ <item>
+ <property name="text">
+ <string>Intensify</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Fade</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>btnComboBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Animation style:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="4" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>180</width>
+ <height>140</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>titlegroup</cstring>
+ </property>
+ <property name="title">
+ <string>Title Bar</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>Text alignment:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Frame width:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Title height:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>titlesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>framesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ </widget>
+ <widget class="QButtonGroup" row="0" column="1" rowspan="2" colspan="2">
+ <property name="name">
+ <cstring>titlealign</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>GroupBoxPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignTop</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use these buttons to set the alignment of the window title</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout14</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignLeft</cstring>
+ </property>
+ <property name="text">
+ <string>Left</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignHCenter</cstring>
+ </property>
+ <property name="text">
+ <string>Center</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignRight</cstring>
+ </property>
+ <property name="text">
+ <string>Right</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer row="0" column="3" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>231</width>
+ <height>71</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="4" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>roundCorners</cstring>
+ </property>
+ <property name="text">
+ <string>Round top corners</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>titleshadow</cstring>
+ </property>
+ <property name="text">
+ <string>Use shadowed text</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want the titlebar text to have a 3D look with a shadow behind it.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>btnComboBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>AlignLeft</tabstop>
+ <tabstop>AlignHCenter</tabstop>
+ <tabstop>AlignRight</tabstop>
+ <tabstop>titlesize</tabstop>
+ <tabstop>framesize</tabstop>
+ <tabstop>titleshadow</tabstop>
+ <tabstop>roundCorners</tabstop>
+ <tabstop>buttonsize</tabstop>
+ <tabstop>animatebuttons</tabstop>
+ <tabstop>btnComboBox</tabstop>
+ <tabstop>menuClose</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc b/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc
new file mode 100644
index 00000000..30472143
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc
@@ -0,0 +1,180 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendconfig.cc
+// -------------------
+// Config module for Smooth Blend window decoration
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kconfig.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <qbuttongroup.h>
+#include <qgroupbox.h>
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+#include <qspinbox.h>
+#include <qwhatsthis.h>
+#include <qcombobox.h>
+
+#include "smoothblendconfig.h"
+#include "configdialog.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendConfig()
+// -------------
+// Constructor
+
+smoothblendConfig::smoothblendConfig(KConfig* config, QWidget* parent)
+ : QObject(parent), config_(0), dialog_(0) {
+ // create the configuration object
+ config_ = new KConfig("kwinsmoothblendrc");
+ KGlobal::locale()->insertCatalogue("kwin_smoothblend_config");
+
+ // create and show the configuration dialog
+ dialog_ = new ConfigDialog(parent);
+ dialog_->show();
+
+ // load the configuration
+ load(config_);
+
+ // setup the connections for title align
+ connect(dialog_->titlealign, SIGNAL(clicked(int)),this, SLOT(selectionChanged(int)));
+ // setup the connections for corner rounding
+ connect(dialog_->roundCorners, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ // setup title shadow
+ connect(dialog_->titleshadow, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ // setup button actions
+ connect(dialog_->animatebuttons, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->btnComboBox, SIGNAL(activated(int)),this,SLOT(selectionChanged(int)));
+ // setup the connections for spin boxes
+ connect(dialog_->titlesize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->buttonsize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->framesize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ // double click the menu
+ connect(dialog_->menuClose, SIGNAL(stateChanged(int)),this, SLOT(selectionChanged(int)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~smoothblendConfig()
+// --------------
+// Destructor
+
+smoothblendConfig::~smoothblendConfig() {
+ if (dialog_)
+ {
+ delete dialog_;
+ }
+ if (config_)
+ {
+ delete config_;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// selectionChanged()
+// ------------------
+// Selection has changed
+
+void smoothblendConfig::selectionChanged(int) {
+
+ if(dialog_->buttonsize->value() + dialog_->framesize->value() > dialog_->titlesize->value())
+ {
+ dialog_->buttonsize->setValue(dialog_->titlesize->value()- dialog_->framesize->value());
+ }
+ // setting the framesize to less than 2 will lose the top gradient and look flat
+ if(dialog_->framesize->value() < 2)
+ {
+ dialog_->framesize->setValue(2);
+ }
+ emit changed();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// load()
+// ------
+// Load configuration data
+
+void smoothblendConfig::load(KConfig*) {
+ config_->setGroup("General");
+
+ QString value = config_->readEntry("TitleAlignment", "AlignHCenter");
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->child(value.latin1());
+ if (button)
+ {
+ button->setChecked(true);
+ }
+
+ dialog_->titlesize->setValue( config_->readNumEntry("TitleSize",30 ) );
+ dialog_->buttonsize->setValue( config_->readNumEntry("ButtonSize",26 ) );
+ dialog_->framesize->setValue( config_->readNumEntry("FrameSize",4 ) );
+
+ bool cornersFlag = config_->readBoolEntry("RoundCorners", true);
+ dialog_->roundCorners->setChecked( cornersFlag );
+ bool titleshadow = config_->readBoolEntry("TitleShadow", true);
+ dialog_->titleshadow->setChecked(titleshadow);
+ bool animatebuttons = config_->readBoolEntry("AnimateButtons", true);
+ dialog_->animatebuttons->setChecked(animatebuttons);
+ dialog_->btnComboBox->setCurrentItem(config_->readNumEntry("ButtonComboBox",0));
+ bool menuClose = config_->readBoolEntry("CloseOnMenuDoubleClick");
+ dialog_->menuClose->setChecked(menuClose);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// save()
+// ------
+// Save configuration data
+
+void smoothblendConfig::save(KConfig*) {
+ config_->setGroup("General");
+
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->selected();
+ if (button)
+ {
+ config_->writeEntry("TitleAlignment", QString(button->name()));
+ }
+ config_->writeEntry("RoundCorners", dialog_->roundCorners->isChecked() );
+ config_->writeEntry("TitleSize", dialog_->titlesize->value() );
+ config_->writeEntry("ButtonSize", dialog_->buttonsize->value() );
+ config_->writeEntry("FrameSize", dialog_->framesize->value() );
+ config_->writeEntry("TitleShadow", dialog_->titleshadow->isChecked() );
+ config_->writeEntry("AnimateButtons", dialog_->animatebuttons->isChecked() );
+ config_->writeEntry("ButtonComboBox", dialog_->btnComboBox->currentItem());
+ config_->writeEntry("CloseOnMenuDoubleClick", dialog_->menuClose->isChecked() );
+
+ config_->sync();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// defaults()
+// ----------
+// Set configuration defaults
+
+void smoothblendConfig::defaults() {
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->child("AlignHCenter");
+ if (button)
+ {
+ button->setChecked(true);
+ }
+ dialog_->roundCorners->setChecked( true );
+ dialog_->titlesize->setValue( 30 );
+ dialog_->buttonsize->setValue( 26 );
+ dialog_->framesize->setValue( 4 );
+ dialog_->titleshadow->setChecked( true );
+ dialog_->animatebuttons->setChecked( true );
+ dialog_->btnComboBox->setCurrentItem( 0 );
+ dialog_->menuClose->setChecked( false );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Plugin Stuff //
+//////////////////////////////////////////////////////////////////////////////
+
+extern "C" {
+ QObject* allocate_config(KConfig* config, QWidget* parent) {
+ return (new smoothblendConfig(config, parent));
+ }
+}
+
+#include "smoothblendconfig.moc"
diff --git a/kwin-styles/smooth-blend/client/config/smoothblendconfig.h b/kwin-styles/smooth-blend/client/config/smoothblendconfig.h
new file mode 100644
index 00000000..3c4d18f7
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/config/smoothblendconfig.h
@@ -0,0 +1,55 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendconfig.h
+// -------------------
+// Config module for Smooth Blend window decoration
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef SMOOTHBLENDCONFIG_H
+#define SMOOTHBLENDCONFIG_H
+
+#include <qobject.h>
+
+class KConfig;
+class ConfigDialog;
+
+class smoothblendConfig : public QObject {
+ Q_OBJECT
+public:
+ smoothblendConfig(KConfig* config, QWidget* parent);
+ ~smoothblendConfig();
+
+signals:
+ void changed();
+
+public slots:
+ void load(KConfig*);
+ void save(KConfig*);
+ void defaults();
+
+protected slots:
+ void selectionChanged(int);
+
+private:
+ KConfig *config_;
+ ConfigDialog *dialog_;
+};
+
+#endif // SMOOTHBLENDCONFIG_H
diff --git a/kwin-styles/smooth-blend/client/smoothblend.cc b/kwin-styles/smooth-blend/client/smoothblend.cc
new file mode 100644
index 00000000..9adb60ac
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/smoothblend.cc
@@ -0,0 +1,1396 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblend.cc
+// -------------------
+// Smooth Blend window decoration for KDE
+// -------------------
+// Copyright (c) 2005 Ryan Nickell
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kconfig.h>
+#include <kdeversion.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kpixmap.h>
+#include <kimageeffect.h>
+#include <kpixmapeffect.h>
+#include <kpixmap.h>
+
+#include <qbitmap.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qtooltip.h>
+#include <qtimer.h>
+#include <qapplication.h>
+
+#include "smoothblend.h"
+#include "buttons.h"
+
+using namespace smoothblend;
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendFactory Class
+//////////////////////////////////////////////////////////////////////////////
+smoothblendFactory* factory=NULL;
+
+bool smoothblendFactory::initialized_ = false;
+Qt::AlignmentFlags smoothblendFactory::titlealign_ = Qt::AlignHCenter;
+bool smoothblendFactory::cornerflags_ = true;
+int smoothblendFactory::titlesize_ = 30;
+int smoothblendFactory::buttonsize_ = 26;
+int smoothblendFactory::framesize_ = 4;
+int smoothblendFactory::roundsize_ = 50;
+bool smoothblendFactory::titleshadow_ = true;
+bool smoothblendFactory::animatebuttons = true;
+int smoothblendFactory::btnComboBox = 0;
+bool smoothblendFactory::menuClose = false;
+
+// global constants
+static const int TOPMARGIN = 4; // do not change
+static const int DECOHEIGHT = 4; // do not change
+static const int SIDETITLEMARGIN = 2;
+// Default button layout
+const char default_left[] = "M";
+const char default_right[] = "HIAX";
+
+static const uint TIMERINTERVAL = 50; // msec
+static const uint ANIMATIONSTEPS = 4;
+
+extern "C" KDecorationFactory* create_factory() {
+ return new smoothblend::smoothblendFactory();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendFactory()
+// ----------------
+// Constructor
+
+smoothblendFactory::smoothblendFactory() {
+ readConfig();
+ initialized_ = true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~smoothblendFactory()
+// -----------------
+// Destructor
+
+smoothblendFactory::~smoothblendFactory() {
+ initialized_ = false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// createDecoration()
+// -----------------
+// Create the decoration
+
+KDecoration* smoothblendFactory::createDecoration(KDecorationBridge* b) {
+ return new smoothblendClient(b, this);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// reset()
+// -------
+// Reset the handler. Returns true if decorations need to be remade, false if
+// only a repaint is necessary
+
+bool smoothblendFactory::reset(unsigned long changed) {
+ // read in the configuration
+ initialized_ = false;
+ bool confchange = readConfig();
+ initialized_ = true;
+
+ if (confchange ||
+ (changed & (SettingDecoration | SettingButtons | SettingBorder))) {
+ return true;
+ } else {
+ resetDecorations(changed);
+ return false;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readConfig()
+// ------------
+// Read in the configuration file
+
+bool smoothblendFactory::readConfig() {
+ // create a config object
+ KConfig config("kwinsmoothblendrc");
+ config.setGroup("General");
+
+ // grab settings
+ QString value = config.readEntry("TitleAlignment", "AlignHCenter");
+ if (value == "AlignLeft")
+ titlealign_ = Qt::AlignLeft;
+ else if (value == "AlignHCenter")
+ titlealign_ = Qt::AlignHCenter;
+ else if (value == "AlignRight")
+ titlealign_ = Qt::AlignRight;
+
+ cornerflags_ = config.readBoolEntry("RoundCorners", true);
+ titlesize_ = config.readNumEntry("TitleSize",30);
+ buttonsize_ = config.readNumEntry("ButtonSize",26);
+ framesize_ = config.readNumEntry("FrameSize",4);
+ roundsize_ = config.readNumEntry("RoundPercent",50);
+ titleshadow_ = config.readBoolEntry("TitleShadow", true);
+ animatebuttons = config.readBoolEntry("AnimateButtons", true);
+ btnComboBox = config.readNumEntry("ButtonComboBox", 0);
+ menuClose = config.readBoolEntry("CloseOnMenuDoubleClick");
+
+ if(buttonsize_ > titlesize_ - framesize_)
+ {
+ buttonsize_ = titlesize_-framesize_;
+ }
+
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendButton Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendButton()
+// ---------------
+// Constructor
+smoothblendButton::smoothblendButton(smoothblendClient *parent, const char *name, const QString& tip, ButtonType type, int button_size, bool toggle): QButton(parent->widget(), name),
+ client_(parent),
+ type_(type),
+ size_(button_size),
+ deco_(0),
+ lastmouse_(NoButton),
+ hover_(false)
+{
+ setBackgroundMode(NoBackground);
+ setFixedSize( ::factory->buttonSize(), ::factory->buttonSize());
+ setCursor(arrowCursor);
+ QToolTip::add(this, tip);
+ setToggleButton(toggle);
+ //button animation setup
+ animTmr = new QTimer(this);
+ connect(animTmr, SIGNAL(timeout() ), this, SLOT(animate() ) );
+ connect(this, SIGNAL(pressed() ), this, SLOT(buttonClicked() ) );
+ connect(this, SIGNAL(released() ), this, SLOT(buttonReleased() ) );
+ animProgress = 0;
+ m_clicked=false;
+}
+
+smoothblendButton::~smoothblendButton() {
+ if ( deco_ )
+ delete deco_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// sizeHint()
+// ----------
+// Return size hint
+
+QSize smoothblendButton::sizeHint() const {
+ return QSize(::factory->buttonSize(), ::factory->buttonSize());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// buttonClicked()
+// ----------
+// Button animation progress reset so we don't get any leave event animation
+// when the mouse is still pressed
+void smoothblendButton::buttonClicked() {
+ m_clicked=true;
+ animProgress=0;
+}
+void smoothblendButton::buttonReleased() {
+ //This doesn't work b/c a released() signal is thrown when a leaveEvent occurs
+ //m_clicked=false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// animate()
+// ----------
+// Button animation timing
+void smoothblendButton::animate() {
+ animTmr->stop();
+
+ if(hover_) {
+ if(animProgress < ANIMATIONSTEPS) {
+ if (::factory->animateButtons() ) {
+ animProgress++;
+ } else {
+ animProgress = ANIMATIONSTEPS;
+ }
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ } else {
+ if(animProgress > 0) {
+ if (::factory->animateButtons() ) {
+ animProgress--;
+ } else {
+ animProgress = 0;
+ }
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ }
+ repaint(false);
+}
+//////////////////////////////////////////////////////////////////////////////
+// enterEvent()
+// ------------
+// Mouse has entered the button
+
+void smoothblendButton::enterEvent(QEvent *e) {
+ // we wanted to pass on the event
+ QButton::enterEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=true;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// leaveEvent()
+// ------------
+// Mouse has left the button
+
+void smoothblendButton::leaveEvent(QEvent *e) {
+ // we wanted to pass on the event
+ QButton::leaveEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=false;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePressEvent()
+// -----------------
+// Button has been pressed
+
+void smoothblendButton::mousePressEvent(QMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != LeftButton)) {
+ button = NoButton; // middle & right buttons inappropriate
+ }
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(),
+ button, e->state());
+ QButton::mousePressEvent(&me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseReleaseEvent()
+// -----------------
+// Button has been released
+
+void smoothblendButton::mouseReleaseEvent(QMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != LeftButton)) {
+ button = NoButton; // middle & right buttons inappropriate
+ }
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(), button, e->state());
+ QButton::mouseReleaseEvent(&me);
+ if(m_clicked)
+ {
+ m_clicked=false;
+ }
+}
+
+void smoothblendButton::setOn(bool on)
+{
+ QButton::setOn(on);
+}
+
+void smoothblendButton::setDown(bool on)
+{
+ QButton::setDown(on);
+}
+
+//////////////////////////////////////////////////////////
+// getButtonImage()
+// ----------------
+// get the button QImage based on type and window mode
+QImage smoothblendButton::getButtonImage(ButtonType type)
+{
+ QImage finalImage;
+ switch(type) {
+ case ButtonClose:
+ finalImage = uic_findImage( "close.png" );
+ break;
+ case ButtonHelp:
+ finalImage = uic_findImage( "help.png" );
+ break;
+ case ButtonMin:
+ finalImage = uic_findImage( "minimize.png" );
+ break;
+ case ButtonMax:
+ if(client_->maximizeMode() == KDecorationDefines::MaximizeFull)
+ {
+ finalImage = uic_findImage( "restore.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "maximize.png" );
+ }
+ break;
+ case ButtonSticky:
+ if(client_->isOnAllDesktops())
+ {
+ finalImage = uic_findImage( "splat.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "circle.png" );
+ }
+ break;
+ case ButtonShade:
+ if(client_->isShade())
+ {
+ finalImage = uic_findImage( "shade.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "shade.png" );
+ }
+ break;
+ case ButtonAbove:
+ if(client_->keepAbove())
+ {
+ finalImage = uic_findImage( "keep_above_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_above.png" );
+ }
+ break;
+ case ButtonBelow:
+ if(client_->keepBelow())
+ {
+ finalImage = uic_findImage( "keep_below_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_below.png" );
+ }
+ break;
+ default:
+ finalImage = uic_findImage( "splat.png" );
+ break;
+ }
+ return finalImage;
+}
+
+//////////////////////////////////////////////////////////
+// drawButton()
+// -------------------------
+// draw the pixmap button
+
+void smoothblendButton::drawButton( QPainter *painter ) {
+ if ( !smoothblendFactory::initialized() )
+ return ;
+
+ int newWidth = width() - 2;
+ int newHeight = height() - 2;
+ int dx = (width() - newWidth) / 2;
+ int dy = (height() - newHeight) / 2;
+ QImage tmpResult;
+ QColorGroup group;
+ QColor redColor(red);
+ bool active = client_->isActive();
+ QPixmap backgroundTile = client_->getTitleBarTile(active);
+ group = KDecoration::options()->colorGroup(KDecoration::ColorTitleBar, active);
+
+ //draw the titlebar behind the buttons and app icons
+ if ((client_->maximizeMode()==client_->MaximizeFull) && !KDecoration::options()->moveResizeMaximizedWindows())
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile);
+ }
+ else
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile, 0, y()-::factory->frameSize());
+ }
+
+ QImage buttonImage = getButtonImage(type_).smoothScale( width(),height());
+ buttonImage = KImageEffect::blend( group.background(), buttonImage, .50);
+ if (type_ == ButtonMenu) {
+ //slight movement to show the menu button is depressed
+ if (isDown()) {
+ dx++;
+ dy++;
+ }
+ QPixmap menuButtonPixmap(client_->icon().pixmap(QIconSet::Large, QIconSet::Normal));
+ QImage menuButtonImage(menuButtonPixmap.convertToImage());
+ //draw the menu button the same size as the other buttons
+ //using QIconSet::Large gives us a 32x32 icon to resize, resizing larger than
+ //that may produce pixilation of the image
+ painter->drawImage( dx, dy, menuButtonImage.smoothScale(newWidth, newHeight) );
+ } else {
+ //highlight on a mouse over repaint
+ double factor = animProgress * 0.13;
+
+ if(!isDown())
+ {
+ switch(::factory->getBtnComboBox())
+ {
+ case 0:
+ tmpResult = KImageEffect::intensity( buttonImage, factor);
+ break;
+ case 1:
+ tmpResult = KImageEffect::fade( buttonImage, factor, group.background());
+ break;
+ }
+ }
+ else
+ {
+ tmpResult = buttonImage;
+ }
+ painter->drawPixmap( 0, 0, QPixmap( tmpResult ) );
+ }
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendClient Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendClient()
+// ---------------
+// Constructor
+
+smoothblendClient::smoothblendClient(KDecorationBridge *b, KDecorationFactory *f)
+ : KDecoration(b, f),
+ mainLayout_(0),
+ titleLayout_(0),
+ topSpacer_(0),
+ titleSpacer_(0),
+ leftTitleSpacer_(0), rightTitleSpacer_(0),
+ decoSpacer_(0),
+ leftSpacer_(0), rightSpacer_(0),
+ bottomSpacer_(0), windowSpacer_(0),
+ aCaptionBuffer(0), iCaptionBuffer(0),
+ aTitleBarTile(0), iTitleBarTile(0), aTitleBarTopTile(0), iTitleBarTopTile(0),
+ pixmaps_created(false),
+ //captionBufferDirty(true),
+ s_titleHeight(0),
+ s_titleFont(QFont()),
+ closing(false)
+ {
+ aCaptionBuffer = new QPixmap();
+ iCaptionBuffer = new QPixmap();
+ //s_titleFont = isTool()?smoothblendFactory::titleFontTool():smoothblendFactory::titleFont();
+ s_titleFont = options()->font();
+ s_titleHeight = smoothblendFactory::titleSize();
+ }
+//////////////////////////////////////////////////////////////////////////////////
+// ~smoothblendClient()
+// --------------------
+// Destructor
+smoothblendClient::~smoothblendClient() {
+ delete aCaptionBuffer;
+ delete iCaptionBuffer;
+}
+
+void smoothblendClient::create_pixmaps() {
+ if(pixmaps_created)
+ return;
+ KPixmap tempPixmap;
+ QPainter painter;
+ QColorGroup group,widgetGroup;
+ int FRAMESIZE = ::factory->frameSize();
+ // Get the color groups we need for the gradients
+ group = options()->colorGroup(KDecoration::ColorTitleBar, true);
+ widgetGroup = widget()->colorGroup();
+
+ // active top title bar tile
+ tempPixmap.resize(1, TOPMARGIN);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ -100);
+ aTitleBarTopTile = new QPixmap(1, TOPMARGIN);
+ painter.begin(aTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // inactive top title bar tile
+ group = options()->colorGroup(KDecoration::ColorTitleBar, false);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ -100);
+ iTitleBarTopTile = new QPixmap(1, TOPMARGIN);
+ painter.begin(iTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // active title bar tile
+ tempPixmap.resize(1, s_titleHeight+FRAMESIZE);
+ group = options()->colorGroup(KDecoration::ColorTitleBar, true);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ 200);
+ aTitleBarTile = new QPixmap(1, s_titleHeight+FRAMESIZE);
+ painter.begin(aTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // inactive title bar tile
+ group = options()->colorGroup(KDecoration::ColorTitleBar, false);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ 200);
+ iTitleBarTile = new QPixmap(1, s_titleHeight+FRAMESIZE);
+ painter.begin(iTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ pixmaps_created = true;
+}
+
+void smoothblendClient::delete_pixmaps() {
+ delete aTitleBarTopTile;
+ aTitleBarTopTile = 0;
+
+ delete iTitleBarTopTile;
+ iTitleBarTopTile = 0;
+
+ delete aTitleBarTile;
+ aTitleBarTile = 0;
+
+ delete iTitleBarTile;
+ iTitleBarTile = 0;
+
+ pixmaps_created = false;
+}
+//////////////////////////////////////////////////////////////////////////////
+// init()
+// ------
+// Actual initializer for class
+
+void smoothblendClient::init() {
+ createMainWidget(WResizeNoErase | WRepaintNoErase);
+ widget()->installEventFilter(this);
+ handlebar = ::factory->frameSize() < 4 ? 4 - ::factory->frameSize() : 0;
+ // for flicker-free redraws
+ widget()->setBackgroundMode(NoBackground);
+
+ _resetLayout();
+
+ create_pixmaps();
+}
+void smoothblendClient::_resetLayout()
+{
+ // basic layout:
+ // _______________________________________________________________
+ // | topSpacer |
+ // |_______________________________________________________________|
+ // | leftTitleSpacer | btns | titlebar | bts | rightTitleSpacer |
+ // |_________________|______|_____________|_____|__________________|
+ // | decoSpacer |
+ // |_______________________________________________________________|
+ // | | | |
+ // | | windowWrapper | |
+ // | | | |
+ // |leftSpacer rightSpacer|
+ // |_|___________________________________________________________|_|
+ // | bottomSpacer |
+ // |_______________________________________________________________|
+ //
+ if (!::factory->initialized()) return;
+
+ delete mainLayout_;
+ delete titleLayout_;
+ delete topSpacer_;
+ delete titleSpacer_;
+ delete leftTitleSpacer_;
+ delete rightTitleSpacer_;
+ delete decoSpacer_;
+ delete leftSpacer_;
+ delete rightSpacer_;
+ delete bottomSpacer_;
+ delete windowSpacer_;
+
+ mainLayout_ = new QVBoxLayout(widget());
+ // title
+ titleLayout_ = new QHBoxLayout();
+ QHBoxLayout *windowLayout_ = new QHBoxLayout();
+ int FRAMESIZE = ::factory->frameSize();
+
+ topSpacer_ = new QSpacerItem(1, FRAMESIZE, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ titlebar_ = new QSpacerItem(1, ::factory->buttonSize(),
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftTitleSpacer_ = new QSpacerItem(FRAMESIZE, s_titleHeight,
+ QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightTitleSpacer_ = new QSpacerItem(FRAMESIZE, s_titleHeight,
+ QSizePolicy::Fixed, QSizePolicy::Fixed);
+ decoSpacer_ = new QSpacerItem(1, FRAMESIZE, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_ = new QSpacerItem(::factory->frameSize(), 1,
+ QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightSpacer_ = new QSpacerItem(::factory->frameSize(), 1,
+ QSizePolicy::Fixed, QSizePolicy::Expanding);
+ bottomSpacer_ = new QSpacerItem(1, ::factory->frameSize(),
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+
+ // sizeof(...) is calculated at compile time
+ memset(button, 0, sizeof(smoothblendButton *) * ButtonTypeCount);
+
+ // message in preview widget
+ if (isPreview()) {
+ windowLayout_->addWidget(
+ new QLabel( i18n("<b><center>Smooth Blend</center></b>"), widget() ), 1 );
+ } else {
+ windowLayout_->addItem(new QSpacerItem(0, 0));
+ }
+
+ // setup titlebar buttons
+ for (int n=0; n<ButtonTypeCount; n++)
+ button[n] = 0;
+ //Deal with the title and buttons
+ titleLayout_->addItem(leftTitleSpacer_);
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsLeft() : QString(default_left),
+ ::factory->titleSize()-1);
+ titleLayout_->addItem(titlebar_);
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsRight() : QString(default_right),
+ ::factory->titleSize()-1);
+ titleLayout_->addItem(rightTitleSpacer_);
+
+ //Mid - left side, middle contents and right side
+ QHBoxLayout * midLayout_ = new QHBoxLayout();
+ midLayout_->addItem(leftSpacer_);
+ midLayout_->addLayout(windowLayout_);
+ midLayout_->addItem(rightSpacer_);
+
+ //Layout order
+ mainLayout_->addItem( topSpacer_ );
+ mainLayout_->addLayout( titleLayout_ );
+ mainLayout_->addItem( decoSpacer_ );
+ mainLayout_->addLayout( midLayout_ );
+ mainLayout_->addItem( bottomSpacer_ );
+
+ // connections
+ connect(this, SIGNAL(keepAboveChanged(bool)), SLOT(keepAboveChange(bool)));
+ connect(this, SIGNAL(keepBelowChanged(bool)), SLOT(keepBelowChange(bool)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// addButtons()
+// ------------
+// Add buttons to title layout
+
+void smoothblendClient::addButtons(QBoxLayout *layout, const QString& s, int button_size) {
+ QString tip;
+ if (s.length() > 0) {
+ for (unsigned n=0; n < s.length(); n++) {
+ switch (s[n]) {
+ case 'M': // Menu button
+ if (!button[ButtonMenu]) {
+ button[ButtonMenu] =
+ new smoothblendButton(this, "splat.png", i18n("Menu"),ButtonMenu,button_size);
+ connect(button[ButtonMenu], SIGNAL(pressed()), this, SLOT(menuButtonPressed()));
+ connect(button[ButtonMenu], SIGNAL(released()), this, SLOT(menuButtonReleased()));
+ layout->addWidget(button[ButtonMenu]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'S': // Sticky button
+ if (!button[ButtonSticky]) {
+ if (isOnAllDesktops()) {
+ tip = i18n("Un-Sticky");
+ } else {
+ tip = i18n("Sticky");
+ }
+ button[ButtonSticky] =
+ new smoothblendButton(this, "circle.png", tip, ButtonSticky, button_size, true);
+ connect(button[ButtonSticky], SIGNAL(clicked()),
+ this, SLOT(toggleOnAllDesktops()));
+ layout->addWidget(button[ButtonSticky]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'H': // Help button
+ if ((!button[ButtonHelp]) && providesContextHelp()) {
+ button[ButtonHelp] =
+ new smoothblendButton(this, "help.png", i18n("Help"), ButtonHelp, button_size);
+ connect(button[ButtonHelp], SIGNAL(clicked()),
+ this, SLOT(showContextHelp()));
+ layout->addWidget(button[ButtonHelp]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'I': // Minimize button
+ if ((!button[ButtonMin]) && isMinimizable()) {
+ button[ButtonMin] =
+ new smoothblendButton(this, "minimize.png", i18n("Minimize"), ButtonMin, button_size);
+ connect(button[ButtonMin], SIGNAL(clicked()),
+ this, SLOT(minimize()));
+ layout->addWidget(button[ButtonMin]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'A': // Maximize button
+ if ((!button[ButtonMax]) && isMaximizable()) {
+ if (maximizeMode() == MaximizeFull) {
+ tip = i18n("Restore");
+ } else {
+ tip = i18n("Maximize");
+ }
+ button[ButtonMax] =
+ new smoothblendButton(this, "maximize.png", tip, ButtonMax, button_size, true);
+ connect(button[ButtonMax], SIGNAL(clicked()),
+ this, SLOT(maxButtonPressed()));
+ layout->addWidget(button[ButtonMax]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'X': // Close button
+ if ((!button[ButtonClose]) && isCloseable()) {
+ button[ButtonClose] =
+ new smoothblendButton(this, "close.png", i18n("Close"), ButtonClose, button_size);
+ connect(button[ButtonClose], SIGNAL(clicked()),
+ this, SLOT(closeWindow()));
+ layout->addWidget(button[ButtonClose]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'F': // Above button
+ if ((!button[ButtonAbove])) {
+ button[ButtonAbove] =
+ new smoothblendButton(this, "keep_above.png",
+ i18n("Keep Above Others"), ButtonAbove, button_size, true);
+ connect(button[ButtonAbove], SIGNAL(clicked()),
+ this, SLOT(aboveButtonPressed()));
+ layout->addWidget(button[ButtonAbove]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'B': // Below button
+ if ((!button[ButtonBelow])) {
+ button[ButtonBelow] =
+ new smoothblendButton(this, "keep_below.png",
+ i18n("Keep Below Others"), ButtonBelow, button_size, true);
+ connect(button[ButtonBelow], SIGNAL(clicked()),
+ this, SLOT(belowButtonPressed()));
+ layout->addWidget(button[ButtonBelow]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'L': // Shade button
+ if ((!button[ButtonShade]) && isShadeable()) {
+ if ( isSetShade()) {
+ tip = i18n("Unshade");
+ } else {
+ tip = i18n("Shade");
+ }
+ button[ButtonShade] =
+ new smoothblendButton(this, "shade.png", tip, ButtonShade, button_size, true);
+ connect(button[ButtonShade], SIGNAL(clicked()),
+ this, SLOT(shadeButtonPressed()));
+ layout->addWidget(button[ButtonShade]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case '_': // Spacer item
+ layout->addSpacing(::factory->frameSize());
+ }
+ }
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// activeChange()
+// --------------
+// window active state has changed
+
+void smoothblendClient::activeChange() {
+ for (int n=0; n<ButtonTypeCount; n++)
+ if (button[n])
+ button[n]->reset();
+ widget()->repaint(false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// captionChange()
+// ---------------
+// The title has changed
+
+void smoothblendClient::captionChange() {
+ widget()->repaint(titlebar_->geometry(), false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// desktopChange()
+// ---------------
+// Called when desktop/sticky changes
+
+void smoothblendClient::desktopChange() {
+ bool d = isOnAllDesktops();
+ if (button[ButtonSticky]) {
+ QToolTip::remove(button[ButtonSticky]);
+ QToolTip::add(button[ButtonSticky], d ? i18n("Un-Sticky") : i18n("Sticky"));
+ button[ButtonSticky]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// iconChange()
+// ------------
+// The title has changed
+
+void smoothblendClient::iconChange() {
+ if (button[ButtonMenu]) {
+ button[ButtonMenu]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maximizeChange()
+// ----------------
+// Maximized state has changed
+
+void smoothblendClient::maximizeChange() {
+ bool m = (maximizeMode() == MaximizeFull);
+ if (button[ButtonMax]) {
+ QToolTip::remove(button[ButtonMax]);
+ QToolTip::add(button[ButtonMax], m ? i18n("Restore") : i18n("Maximize"));
+ button[ButtonMax]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeChange()
+// -------------
+// Called when window shading changes
+
+void smoothblendClient::shadeChange() {
+ bool s = isSetShade();
+ if (button[ButtonShade]) {
+ QToolTip::remove(button[ButtonShade]);
+ QToolTip::add(button[ButtonShade], s ? i18n("Unshade") : i18n("Shade"));
+ button[ButtonShade]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// keepAboveChange()
+// ------------
+// The above state has changed
+
+void smoothblendClient::keepAboveChange(bool a) {
+ if (button[ButtonAbove]) {
+ button[ButtonAbove]->setOn(a);
+ button[ButtonAbove]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// keepBelowChange()
+// ------------
+// The below state has changed
+
+void smoothblendClient::keepBelowChange(bool b) {
+ if (button[ButtonBelow]) {
+ button[ButtonBelow]->setOn(b);
+ button[ButtonBelow]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// borders()
+// ----------
+// Get the size of the borders
+
+void smoothblendClient::borders(int &left, int &right, int &top, int &bottom) const {
+ int FRAMESIZE = ::factory->frameSize();
+
+ if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
+ left = right = bottom = 0;
+ top = ::factory->buttonSize();
+
+ // update layout etc.
+ topSpacer_->changeSize(1, 0, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, 0, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, top, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right, top, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ } else {
+ left = right = bottom = ::factory->frameSize();
+ top = ::factory->titleSize() + (FRAMESIZE*2);
+
+ // update layout etc.
+ topSpacer_->changeSize(1, FRAMESIZE, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, FRAMESIZE, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, s_titleHeight, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right,s_titleHeight,QSizePolicy::Fixed, QSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ }
+ widget()->layout()->activate();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resize()
+// --------
+// Called to resize the window
+
+void smoothblendClient::resize(const QSize &size) {
+ widget()->resize(size);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// minimumSize()
+// -------------
+// Return the minimum allowable size for this window
+
+QSize smoothblendClient::minimumSize() const {
+ return widget()->minimumSize();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePosition()
+// ---------------
+// Return logical mouse position
+
+KDecoration::Position smoothblendClient::mousePosition(const QPoint &point) const {
+ const int corner = 24;
+ Position pos;
+ int fs = ::factory->frameSize() + handlebar;
+ //int fs = ::factory->frameSize();
+
+ if (point.y() <= fs) {
+ // inside top frame
+ if (point.x() <= corner)
+ pos = PositionTopLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionTopRight;
+ else
+ pos = PositionTop;
+ } else if (point.y() >= (height()-fs*2)) {
+ // inside handle
+ if (point.x() <= corner)
+ pos = PositionBottomLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionBottom;
+ } else if (point.x() <= fs ) {
+ // on left frame
+ if (point.y() <= corner)
+ pos = PositionTopLeft;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomLeft;
+ else
+ pos = PositionLeft;
+ } else if (point.x() >= width()-fs) {
+ // on right frame
+ if (point.y() <= corner)
+ pos = PositionTopRight;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionRight;
+ } else {
+ // inside the frame
+ pos = PositionCenter;
+ }
+ return pos;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eventFilter()
+// -------------
+// Event filter
+
+bool smoothblendClient::eventFilter(QObject *obj, QEvent *e) {
+ if (obj != widget())
+ return false;
+
+ switch (e->type()) {
+ case QEvent::MouseButtonDblClick: {
+ mouseDoubleClickEvent(static_cast<QMouseEvent *>(e));
+ return true;
+ }
+ case QEvent::MouseButtonPress: {
+ processMousePressEvent(static_cast<QMouseEvent *>(e));
+ return true;
+ }
+ case QEvent::Paint: {
+ paintEvent(static_cast<QPaintEvent *>(e));
+ return true;
+ }
+ case QEvent::Resize: {
+ resizeEvent(static_cast<QResizeEvent *>(e));
+ return true;
+ }
+ case QEvent::Show: {
+ showEvent(static_cast<QShowEvent *>(e));
+ return true;
+ }
+ case QEvent::Wheel: {
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ }
+ default: {
+ return false;
+ }
+ }
+
+ return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseDoubleClickEvent()
+// -----------------------
+// Doubleclick on title
+
+void smoothblendClient::mouseDoubleClickEvent(QMouseEvent *e) {
+ if (titlebar_->geometry().contains(e->pos()))
+ titlebarDblClickOperation();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// wheelEvent()
+// ------------
+// Mouse wheel on titlebar
+
+void smoothblendClient::wheelEvent(QWheelEvent *e)
+{
+ if (titleLayout_->geometry().contains(e->pos()) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// paintEvent()
+// ------------
+// Repaint the window
+
+void smoothblendClient::paintEvent(QPaintEvent*) {
+ if (!::factory->initialized())
+ {
+ return;
+ }
+
+ //int FRAMESIZE = ::factory->frameSize();
+ const uint maxCaptionLength = 300; // truncate captions longer than this!
+ QString captionText(caption());
+ if (captionText.length() > maxCaptionLength) {
+ captionText.truncate(maxCaptionLength);
+ captionText.append(" [...]");
+ }
+
+ QColor blackColor(black);
+ QColor redColor(red);
+ QColorGroup group,widgetGroup;
+ QPainter painter(widget());
+ bool active = isActive();
+ //get group information first
+ group = options()->colorGroup(KDecoration::ColorTitleBar, isActive());
+ widgetGroup = widget()->colorGroup();
+
+ QRect topRect( topSpacer_->geometry() );
+ QRect titleRect( titleLayout_->geometry() );
+ QRect textRect( titlebar_->geometry() );
+ QRect Rltitle( leftTitleSpacer_->geometry() );
+ QRect Rrtitle( rightTitleSpacer_->geometry() );
+ QRect Rdeco( decoSpacer_->geometry() );
+ QRect Rleft( leftSpacer_->geometry() );
+ QRect Rright( rightSpacer_->geometry() );
+ QRect Rbottom( bottomSpacer_->geometry() );
+ QRect tempRect;
+
+
+ /*
+ if(active)
+ {
+ qDebug("paintEvent() topRect.y() = %i\tbottom() = %i",topRect.top(),topRect.bottom());
+ qDebug("paintEvent() titleRect.y() = %i\tbottom() = %i",titleRect.top(),titleRect.bottom());
+ qDebug("paintEvent() textRect.y() = %i\tbottom() = %i",textRect.top(),textRect.bottom());
+ qDebug("paintEvent() Rltitle.y() = %i\tbottom() = %i",Rltitle.top(),Rltitle.bottom());
+ qDebug("paintEvent() Rrtitle.y() = %i\tbottom() = %i",Rrtitle.top(),Rrtitle.bottom());
+ qDebug("paintEvent() Rdeco.y() = %i\tbottom() = %i",Rdeco.top(),Rdeco.bottom());
+ qDebug("paintEvent() Rleft.y() = %i\tbottom() = %i",Rleft.top(),Rleft.bottom());
+ qDebug("paintEvent() Rright.y() = %i\tbottom() = %i",Rright.top(),Rright.bottom());
+ qDebug("paintEvent() Rbottom.y() = %i\tbottom() = %i",Rbottom.top(),Rbottom.bottom());
+ }
+ */
+
+ // top
+ painter.drawTiledPixmap(topRect, active ? *aTitleBarTopTile:*iTitleBarTopTile);
+ painter.drawTiledPixmap(titleRect.x(),
+ titleRect.y(),
+ titleRect.width(),
+ titleRect.height() + Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+
+ textRect.setRect(textRect.x()+SIDETITLEMARGIN,
+ textRect.y(),
+ textRect.width()-SIDETITLEMARGIN*2,
+ textRect.height());
+ QRect shadowRect(textRect.x()+1,textRect.y()+1,textRect.width(),textRect.height());
+ //if we are shadowing title bar text
+ if(::factory->titleShadow())
+ {
+ //shadow text
+ painter.setFont(options()->font(isActive(), false));
+ painter.setPen(blackColor);
+ painter.drawText(shadowRect,
+ ::factory->titleAlign() | AlignVCenter | Qt::SingleLine,
+ captionText);
+ }
+ // draw title text
+ painter.setFont(options()->font(isActive(), false));
+ painter.setPen(options()->color(KDecoration::ColorFont, isActive()));
+ painter.drawText(textRect,
+ ::factory->titleAlign() | AlignVCenter | Qt::SingleLine,
+ captionText);
+
+ //left of buttons and title
+ painter.drawTiledPixmap(Rltitle.x(),
+ Rltitle.y(),
+ Rltitle.width(),
+ Rltitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+ // left mid layout
+ painter.fillRect(Rleft,widgetGroup.background());
+
+ // right of buttons and title
+ painter.drawTiledPixmap(Rrtitle.x(),
+ Rrtitle.y(),
+ Rrtitle.width(),
+ Rrtitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+ // right mid layout
+ painter.fillRect(Rright,widgetGroup.background());
+
+ // bottom
+ /*
+ if(isShade())
+ {
+ frame.setRect(0,::factory->titleSize()+FRAMESIZE, width(), FRAMESIZE);
+ }
+ else
+ {
+ frame.setRect(0, height() - (FRAMESIZE*2), width(), (FRAMESIZE*2));
+ }
+ */
+ painter.fillRect(Rbottom, widgetGroup.background());
+
+ //draw a line between title bar and window contents
+ painter.setPen(group.background());
+
+ // outline outside the frame but not the corners if they are rounded
+ tempRect = widget()->rect();
+ painter.drawRect(tempRect);
+
+ bool cornersFlag = ::factory->roundedCorners();
+ if(cornersFlag) {
+ // local temp right and bottom
+ int r(width());
+ painter.setPen(group.background());
+ painter.drawPoint(4, 1);
+ painter.drawPoint(3, 1);
+ painter.drawPoint(2, 2);
+ painter.drawPoint(1, 3);
+ painter.drawPoint(1, 4);
+ painter.drawPoint(r - 5, 1);
+ painter.drawPoint(r - 4, 1);
+ painter.drawPoint(r - 3, 2);
+ painter.drawPoint(r - 2, 3);
+ painter.drawPoint(r - 2, 4);
+ }
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// updateMask()
+// ------------
+// update the frame mask
+void smoothblendClient::updateMask() {
+ bool cornersFlag = ::factory->roundedCorners();
+ if ( (!options()->moveResizeMaximizedWindows() && maximizeMode() == MaximizeFull ) )
+ {
+ setMask(QRegion(widget()->rect()));
+ return;
+ }
+
+ int r(width());
+ int b(height());
+ QRegion mask;
+
+ mask=QRegion(widget()->rect());
+
+ // Remove top-left corner.
+ if(cornersFlag) {
+ mask -= QRegion(0, 0, 5, 1);
+ mask -= QRegion(0, 1, 3, 1);
+ mask -= QRegion(0, 2, 2, 1);
+ mask -= QRegion(0, 3, 1, 2);
+ mask -= QRegion(r - 5, 0, 5, 1);
+ mask -= QRegion(r - 3, 1, 3, 1);
+ mask -= QRegion(r - 2, 2, 2, 1);
+ mask -= QRegion(r - 1, 3, 1, 2);
+ }
+ //always remove one corner pixel so it simulates a soft corner like plastik
+ mask -= QRegion(0,0,1,1);
+ mask -= QRegion(r-1,0,1,1);
+ mask -= QRegion(0, b-1, 1,1);
+ mask -= QRegion(r-1,b-1,1,1);
+
+ setMask(mask);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resizeEvent()
+// -------------
+// Window is being resized
+
+void smoothblendClient::resizeEvent(QResizeEvent *) {
+ if (widget()->isShown()) {
+ QRegion region = widget()->rect();
+ region = region.subtract(titlebar_->geometry());
+ widget()->erase(region);
+ updateMask();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// showEvent()
+// -----------
+// Window is being shown
+
+void smoothblendClient::showEvent(QShowEvent *) {
+ updateMask();
+ widget()->repaint();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maxButtonPressed()
+// -----------------
+// Max button was pressed
+
+void smoothblendClient::maxButtonPressed() {
+ if (button[ButtonMax]) {
+#if KDE_IS_VERSION(3, 3, 0)
+ maximize(button[ButtonMax]->lastMousePress());
+#else
+
+ switch (button[ButtonMax]->lastMousePress()) {
+ case MidButton:
+ maximize(maximizeMode() ^ MaximizeVertical);
+ break;
+ case RightButton:
+ maximize(maximizeMode() ^ MaximizeHorizontal);
+ break;
+ default:
+ (maximizeMode() == MaximizeFull) ? maximize(MaximizeRestore)
+ : maximize(MaximizeFull);
+ }
+#endif
+
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeButtonPressed()
+// -----------------
+// Shade button was pressed
+
+void smoothblendClient::shadeButtonPressed() {
+ if (button[ButtonShade]) {
+ setShade( !isSetShade());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// aboveButtonPressed()
+// -----------------
+// Above button was pressed
+
+void smoothblendClient::aboveButtonPressed() {
+ if (button[ButtonAbove]) {
+ setKeepAbove( !keepAbove());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// belowButtonPressed()
+// -----------------
+// Below button was pressed
+
+void smoothblendClient::belowButtonPressed() {
+ if (button[ButtonBelow]) {
+ setKeepBelow( !keepBelow());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// menuButtonPressed()
+// -------------------
+// Menu button was pressed (popup the menu)
+
+void smoothblendClient::menuButtonPressed() {
+ static QTime* t = NULL;
+ static smoothblendClient* lastClient = NULL;
+ if (t == NULL)
+ t = new QTime;
+ bool dbl = (lastClient==this && t->elapsed() <= QApplication::doubleClickInterval());
+ lastClient = this;
+ t->start();
+ //if (button[ButtonMenu] && !dbl && !::factory->menuClosed()) {
+ if ( !dbl || !::factory->menuClosed()) {
+ QPoint p(button[ButtonMenu]->rect().bottomLeft().x(),
+ button[ButtonMenu]->rect().bottomLeft().y());
+ KDecorationFactory* f = factory();
+ showWindowMenu(button[ButtonMenu]->mapToGlobal(p));
+ if (!f->exists(this))
+ return; // decoration was destroyed
+ button[ButtonMenu]->setDown(false);
+ }
+ else
+ {
+ closing = true;
+ }
+}
+
+void smoothblendClient::menuButtonReleased()
+{
+ if(closing)
+ {
+ closeWindow();
+ }
+}
+
+#include "smoothblend.moc"
diff --git a/kwin-styles/smooth-blend/client/smoothblend.desktop b/kwin-styles/smooth-blend/client/smoothblend.desktop
new file mode 100644
index 00000000..047f92a1
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/smoothblend.desktop
@@ -0,0 +1,40 @@
+# KDE Desktop Entry
+[Desktop Entry]
+Name=Smooth Blend
+Name[ca]=Barreja suau
+Name[cs]=Jemný přechod
+Name[cy]=Cymysgedd Llyfn
+Name[da]=Glat blanding
+Name[el]=Ομαλή μείξη
+Name[eo]=Glata Miksaĵo
+Name[es]=Mezcla suave
+Name[et]=Mahe ühtesulamine
+Name[fa]=ترکیب یکدست
+Name[fi]=Pehmeä sekoitus
+Name[fr]=Fusion douce
+Name[fy]=Sêfte ferminging
+Name[gl]=Mistura Suave
+Name[hu]=Sima színátmenet
+Name[is]=Mjúk blöndun
+Name[it]=Mistura scorrevole
+Name[ja]=綺麗なブレンド
+Name[ka]=გლუვი და რბილი
+Name[mk]=Рамномерно мешање
+Name[nb]=Jevn overgang
+Name[nds]=Week Mischen
+Name[ne]=महिन मिश्रण
+Name[nl]=Zachte vermenging
+Name[nn]=Jamn overgang
+Name[pl]=Gładkie łączenie kolorów
+Name[pt]=Mistura Suave
+Name[pt_BR]=Mistura Suave
+Name[ru]=Полутона
+Name[sl]=Enakomeren preliv
+Name[sr]=Глатко претапање
+Name[sr@Latn]=Glatko pretapanje
+Name[sv]=Jämn blandning
+Name[tr]=Düz Karışım
+Name[uk]=Гладке змішання
+Name[vi]=Trộn màu Mượt mà
+Name[zh_TW]=平順混合
+X-KDE-Library=kwin3_smoothblend
diff --git a/kwin-styles/smooth-blend/client/smoothblend.h b/kwin-styles/smooth-blend/client/smoothblend.h
new file mode 100644
index 00000000..d5f07576
--- /dev/null
+++ b/kwin-styles/smooth-blend/client/smoothblend.h
@@ -0,0 +1,254 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblend.h
+// -------------------
+// Smooth Blend window decoration for KDE
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef SMOOTHBLEND_H
+#define SMOOTHBLEND_H
+
+#include <qbutton.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QSpacerItem;
+class QPoint;
+
+namespace smoothblend {
+
+class smoothblendClient;
+
+enum ButtonType {
+ ButtonHelp=0,
+ ButtonMax,
+ ButtonMin,
+ ButtonClose,
+ ButtonMenu,
+ ButtonSticky,
+ ButtonAbove,
+ ButtonBelow,
+ ButtonShade,
+ ButtonTypeCount
+};
+
+// smoothblendFactory /////////////////////////////////////////////////////////
+//
+// add variables and flags for config like...
+//
+// public: type function()
+// private: type var_
+// inline type function(){ return var_ };
+//
+
+class smoothblendFactory: public KDecorationFactory {
+public:
+ smoothblendFactory();
+ virtual ~smoothblendFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *b);
+ virtual bool reset(unsigned long changed);
+ static bool initialized();
+ static Qt::AlignmentFlags titleAlign();
+ static bool roundedCorners();
+ static int titleSize();
+ static int buttonSize();
+ static int frameSize();
+ static int roundSize();
+ static QFont titleFontTool() { return m_titleFontTool; }
+ static bool titleShadow();
+ static bool animateButtons() { return animatebuttons; }
+ static int getBtnComboBox() { return btnComboBox; }
+ static bool menuClosed() { return menuClose; }
+
+private:
+ bool readConfig();
+
+private:
+ static bool initialized_;
+ static Qt::AlignmentFlags titlealign_;
+ static bool cornerflags_;
+ static int titlesize_;
+ static int buttonsize_;
+ static int framesize_;
+ static int roundsize_;
+ static QFont m_titleFontTool;
+ static bool titleshadow_;
+ static bool animatebuttons;
+ static int btnComboBox;
+ static bool menuClose;
+};
+
+inline bool smoothblendFactory::initialized() {
+ return initialized_;
+}
+inline Qt::AlignmentFlags smoothblendFactory::titleAlign() {
+ return titlealign_;
+}
+inline bool smoothblendFactory::roundedCorners() {
+ return cornerflags_;
+}
+inline int smoothblendFactory::titleSize() {
+ return titlesize_;
+}
+inline int smoothblendFactory::buttonSize() {
+ return buttonsize_;
+}
+inline int smoothblendFactory::frameSize() {
+ return framesize_;
+}
+inline int smoothblendFactory::roundSize() {
+ return roundsize_;
+}
+inline bool smoothblendFactory::titleShadow() {
+ return titleshadow_;
+}
+
+// smoothblendButton //////////////////////////////////////////////////////////
+
+class smoothblendButton : public QButton {
+ Q_OBJECT
+public:
+ smoothblendButton(smoothblendClient *parent=0, const char *name=0,
+ const QString &tip=NULL,
+ ButtonType type=ButtonHelp,
+ int button_size=18,
+ bool toggle=false);
+ //const unsigned char *bitmap=0);
+ ~smoothblendButton();
+
+ void setBitmap(const unsigned char *bitmap);
+ QSize sizeHint() const;
+ ButtonState lastMousePress() const;
+ void reset();
+ QImage getButtonImage(ButtonType type);
+ virtual void setOn(bool on);
+ virtual void setDown(bool on);
+
+protected slots:
+ void animate();
+ void buttonClicked();
+ void buttonReleased();
+
+private:
+ void enterEvent(QEvent *e);
+ void leaveEvent(QEvent *e);
+ void mousePressEvent(QMouseEvent *e);
+ void mouseReleaseEvent(QMouseEvent *e);
+ void drawButton(QPainter *painter);
+
+private:
+ smoothblendClient *client_;
+ ButtonType type_;
+ int size_;
+ QBitmap *deco_;
+ QPixmap *pixmap[2][4];
+ ButtonState lastmouse_;
+ bool hover_;
+ bool m_clicked;
+ QTimer *animTmr;
+ uint animProgress;
+};
+
+inline Qt::ButtonState smoothblendButton::lastMousePress() const {
+ return lastmouse_;
+}
+inline void smoothblendButton::reset() {
+ repaint(false);
+}
+
+// smoothblendClient //////////////////////////////////////////////////////////
+
+class smoothblendClient : public KDecoration {
+ Q_OBJECT
+public:
+ smoothblendClient(KDecorationBridge *b, KDecorationFactory *f);
+ virtual ~smoothblendClient();
+
+ virtual void init();
+
+ virtual void activeChange();
+ virtual void desktopChange();
+ virtual void captionChange();
+ virtual void iconChange();
+ virtual void maximizeChange();
+ virtual void shadeChange();
+
+
+ virtual void borders(int &l, int &r, int &t, int &b) const;
+ virtual void resize(const QSize &size);
+ virtual QSize minimumSize() const;
+ virtual Position mousePosition(const QPoint &point) const;
+
+ QPixmap getTitleBarTile(bool active) const
+ {
+ return active ? *aTitleBarTile : *iTitleBarTile;
+ }
+
+private:
+ void addButtons(QBoxLayout* layout, const QString& buttons, int buttonSize = 18);
+ bool eventFilter(QObject *obj, QEvent *e);
+ void mouseDoubleClickEvent(QMouseEvent *e);
+ void wheelEvent(QWheelEvent *e);
+ void paintEvent(QPaintEvent *e);
+ void resizeEvent(QResizeEvent *);
+ void showEvent(QShowEvent *);
+ void updateMask();
+ void _resetLayout();
+ QVBoxLayout *mainLayout_;
+ QHBoxLayout *titleLayout_;
+ QSpacerItem *topSpacer_,
+ *titleSpacer_,
+ *leftTitleSpacer_, *rightTitleSpacer_,
+ *decoSpacer_,
+ *leftSpacer_, *rightSpacer_,
+ *bottomSpacer_, *windowSpacer_;
+ QPixmap *aCaptionBuffer, *iCaptionBuffer;
+
+private slots:
+ void maxButtonPressed();
+ void menuButtonPressed();
+ void menuButtonReleased();
+ void aboveButtonPressed();
+ void belowButtonPressed();
+ void shadeButtonPressed();
+ void keepAboveChange(bool);
+ void keepBelowChange(bool);
+
+signals:
+ void keepAboveChanged(bool);
+ void keepBelowChanged(bool);
+
+private:
+ QPixmap *aTitleBarTile, *iTitleBarTile, *aTitleBarTopTile, *iTitleBarTopTile;
+ smoothblendButton *button[ButtonTypeCount];
+ QSpacerItem *titlebar_;
+ bool pixmaps_created;
+ int s_titleHeight;
+ QFont s_titleFont;
+ int handlebar;
+ bool closing;
+
+ void create_pixmaps();
+ void delete_pixmaps();
+};
+
+} // namespace smoothblend
+
+#endif // SMOOTHBLEND_H
diff --git a/kwin-styles/system/Makefile.am b/kwin-styles/system/Makefile.am
new file mode 100644
index 00000000..21a2119a
--- /dev/null
+++ b/kwin-styles/system/Makefile.am
@@ -0,0 +1,21 @@
+
+INCLUDES = $(all_includes)
+
+kde_module_LTLIBRARIES = kwin3_system.la
+
+kwin3_system_la_SOURCES = systemclient.cpp
+kwin3_system_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+#kwin_system_la_LDFLAGS = $(all_libraries) -avoid-version -module $(KDE_RPATH) $(KDE_MT_LDFLAGS)
+kwin3_system_la_LIBADD = $(LIB_KDEUI) -lkdecorations
+
+METASOURCES = AUTO
+noinst_HEADERS = systemclient.h
+
+lnkdir = $(kde_datadir)/kwin/
+lnk_DATA = system.desktop
+
+EXTRA_DIST = $(lnk_DATA)
+
+###KMAKE-start (don't edit or delete this block)
+
+###KMAKE-end
diff --git a/kwin-styles/system/system.desktop b/kwin-styles/system/system.desktop
new file mode 100644
index 00000000..acadcdda
--- /dev/null
+++ b/kwin-styles/system/system.desktop
@@ -0,0 +1,27 @@
+[Desktop Entry]
+Name=System++
+Name[br]=Reizhiad++
+Name[cs]=Systém++
+Name[cy]=Cysawd++
+Name[eo]=Sistem++
+Name[fa]=سیستم++
+Name[fi]=Järjestelmä++
+Name[fr]=Système++
+Name[fy]=Systeem++
+Name[hi]=सिस्टम++
+Name[it]=Sistem++
+Name[ja]=システム++
+Name[lt]=Sistema++
+Name[lv]=Sistēma++
+Name[nds]=Systeem++
+Name[nl]=Systeem++
+Name[pa]=ਸਿਸਟਮ++
+Name[sl]=Sistem++
+Name[ta]=தளம்++
+Name[tg]=Системаи++
+Name[th]=แบบ System++
+Name[tr]=Sistem++
+Name[ven]=Sisitemu++
+Name[xh]=Indlela esetyenziswayo++
+Name[zu]=Indlela esetshenziswayo++
+X-KDE-Library=kwin3_system
diff --git a/kwin-styles/system/systemclient.cpp b/kwin-styles/system/systemclient.cpp
new file mode 100644
index 00000000..e3d85e8e
--- /dev/null
+++ b/kwin-styles/system/systemclient.cpp
@@ -0,0 +1,737 @@
+#include "systemclient.h"
+
+#include <qlayout.h>
+#include <qdrawutil.h>
+#include <qbitmap.h>
+#include <qtooltip.h>
+#include <qlabel.h>
+#include <qcursor.h>
+
+#include <kpixmapeffect.h>
+#include <kdrawutil.h>
+#include <klocale.h>
+#include <kapplication.h>
+#include <kdebug.h>
+
+// Default button layout
+const char default_left[] = "X";
+const char default_right[] = "HSIA";
+
+namespace System {
+
+static unsigned char iconify_bits[] = {
+ 0x00, 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x00};
+
+static unsigned char maximize_bits[] = {
+ 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0x00};
+
+static unsigned char r_minmax_bits[] = {
+ 0x0c, 0x18, 0x33, 0x67, 0xcf, 0x9f, 0x3f, 0x3f};
+
+static unsigned char l_minmax_bits[] = {
+ 0x30, 0x18, 0xcc, 0xe6, 0xf3, 0xf9, 0xfc, 0xfc};
+
+static unsigned char unsticky_bits[] = {
+ 0x00, 0x18, 0x18, 0x7e, 0x7e, 0x18, 0x18, 0x00};
+
+static unsigned char sticky_bits[] = {
+ 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00};
+
+static unsigned char question_bits[] = {
+ 0x3c, 0x66, 0x60, 0x30, 0x18, 0x00, 0x18, 0x18};
+
+static KPixmap *aUpperGradient=0;
+static KPixmap *iUpperGradient=0;
+
+static KPixmap *btnPix=0;
+static KPixmap *btnPixDown=0;
+static KPixmap *iBtnPix=0;
+static KPixmap *iBtnPixDown=0;
+static QColor *btnForeground;
+
+static bool pixmaps_created = false;
+
+static void drawButtonFrame(KPixmap *pix, const QColorGroup &g)
+{
+ QPainter p;
+ p.begin(pix);
+ p.setPen(g.mid());
+ p.drawLine(0, 0, 13, 0);
+ p.drawLine(0, 0, 0, 13);
+ p.setPen(g.light());
+ p.drawLine(13, 0, 13, 13);
+ p.drawLine(0, 13, 13, 13);
+ p.setPen(g.dark());
+ p.drawRect(1, 1, 12, 12);
+ p.end();
+}
+
+static void create_pixmaps()
+{
+ if(pixmaps_created)
+ return;
+ pixmaps_created = true;
+
+ if(QPixmap::defaultDepth() > 8){
+ // titlebar
+ aUpperGradient = new KPixmap;
+ aUpperGradient->resize(32, 18);
+ iUpperGradient = new KPixmap;
+ iUpperGradient->resize(32, 18);
+ QColor bgColor = kapp->palette().active().background();
+ KPixmapEffect::gradient(*aUpperGradient,
+ KDecoration::options()->color(KDecorationOptions::ColorFrame, true).light(130),
+ bgColor,
+ KPixmapEffect::VerticalGradient);
+ KPixmapEffect::gradient(*iUpperGradient,
+ KDecoration::options()->color(KDecorationOptions::ColorFrame, false).light(130),
+ bgColor,
+ KPixmapEffect::VerticalGradient);
+
+ // buttons
+ KPixmap aPix;
+ aPix.resize(12, 12);
+ KPixmap iPix;
+ iPix.resize(12, 12);
+ KPixmap aInternal;
+ aInternal.resize(8, 8);
+ KPixmap iInternal;
+ iInternal.resize(8, 8);
+
+ QColor hColor(KDecoration::options()->color(KDecorationOptions::ColorButtonBg, false));
+ KPixmapEffect::gradient(iInternal,
+ hColor.dark(120),
+ hColor.light(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(iPix,
+ hColor.light(150),
+ hColor.dark(150),
+ KPixmapEffect::DiagonalGradient);
+
+ hColor =KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true);
+ KPixmapEffect::gradient(aInternal,
+ hColor.dark(120),
+ hColor.light(120),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(aPix,
+ hColor.light(150),
+ hColor.dark(150),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(&aPix, 1, 1, &aInternal, 0, 0, 8, 8, Qt::CopyROP, true);
+ bitBlt(&iPix, 1, 1, &iInternal, 0, 0, 8, 8, Qt::CopyROP, true);
+
+ // normal buttons
+ btnPix = new KPixmap;
+ btnPix->resize(14, 14);
+ bitBlt(btnPix, 2, 2, &aPix, 0, 0, 10, 10, Qt::CopyROP, true);
+ drawButtonFrame(btnPix, KDecoration::options()->colorGroup(KDecorationOptions::ColorFrame, true));
+
+ iBtnPix = new KPixmap;
+ iBtnPix->resize(14, 14);
+ bitBlt(iBtnPix, 2, 2, &iPix, 0, 0, 10, 10, Qt::CopyROP, true);
+ drawButtonFrame(iBtnPix, KDecoration::options()->colorGroup(KDecorationOptions::ColorFrame, false));
+
+
+ // pressed buttons
+ hColor = KDecoration::options()->color(KDecorationOptions::ColorButtonBg, false);
+ KPixmapEffect::gradient(iInternal,
+ hColor.light(130),
+ hColor.dark(130),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(iPix,
+ hColor.light(150),
+ hColor.dark(150),
+ KPixmapEffect::DiagonalGradient);
+
+ hColor =KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true);
+ KPixmapEffect::gradient(aInternal,
+ hColor.light(130),
+ hColor.dark(130),
+ KPixmapEffect::DiagonalGradient);
+ KPixmapEffect::gradient(aPix,
+ hColor.light(150),
+ hColor.dark(150),
+ KPixmapEffect::DiagonalGradient);
+ bitBlt(&aPix, 1, 1, &aInternal, 0, 0, 8, 8, Qt::CopyROP, true);
+ bitBlt(&iPix, 1, 1, &iInternal, 0, 0, 8, 8, Qt::CopyROP, true);
+
+ btnPixDown = new KPixmap;
+ btnPixDown->resize(14, 14);
+ bitBlt(btnPixDown, 2, 2, &aPix, 0, 0, 10, 10, Qt::CopyROP, true);
+ drawButtonFrame(btnPixDown, KDecoration::options()->colorGroup(KDecorationOptions::ColorFrame,
+ true));
+
+ iBtnPixDown = new KPixmap;
+ iBtnPixDown->resize(14, 14);
+ bitBlt(iBtnPixDown, 2, 2, &iPix, 0, 0, 10, 10, Qt::CopyROP, true);
+ drawButtonFrame(iBtnPixDown, KDecoration::options()->colorGroup(KDecorationOptions::ColorFrame,
+ false));
+ }
+ if(qGray(KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true).rgb()) > 128)
+ btnForeground = new QColor(Qt::black);
+ else
+ btnForeground = new QColor(Qt::white);
+}
+
+static void delete_pixmaps()
+{
+ if(aUpperGradient){
+ delete aUpperGradient;
+ delete iUpperGradient;
+ delete btnPix;
+ delete btnPixDown;
+ delete iBtnPix;
+ delete iBtnPixDown;
+ aUpperGradient = 0;
+ }
+ delete btnForeground;
+ pixmaps_created = false;
+}
+
+SystemButton::SystemButton(SystemClient *parent, const char *name,
+ const unsigned char *bitmap, const QString& tip)
+: QButton(parent->widget(), name)
+{
+ setTipText(tip);
+ setBackgroundMode( NoBackground );
+ setCursor(ArrowCursor);
+ resize(14, 14);
+ if(bitmap)
+ setBitmap(bitmap);
+ client = parent;
+}
+
+void SystemButton::setTipText(const QString &tip)
+{
+ if (KDecoration::options()->showTooltips())
+ {
+ QToolTip::remove(this );
+ QToolTip::add(this, tip );
+ }
+}
+
+
+QSize SystemButton::sizeHint() const
+{
+ return(QSize(14, 14));
+}
+
+void SystemButton::reset()
+{
+ repaint(false);
+}
+
+void SystemButton::setBitmap(const unsigned char *bitmap)
+{
+ deco = QBitmap(8, 8, bitmap, true);
+ deco.setMask(deco);
+ repaint();
+}
+
+void SystemButton::drawButton(QPainter *p)
+{
+ if(btnPixDown){
+ if(client->isActive())
+ p->drawPixmap(0, 0, isDown() ? *btnPixDown : *btnPix);
+ else
+ p->drawPixmap(0, 0, isDown() ? *iBtnPixDown : *iBtnPix);
+ }
+ else{
+ QColorGroup g = KDecoration::options()->colorGroup(KDecorationOptions::ColorFrame,
+ client->isActive());
+ int x2 = width()-1;
+ int y2 = height()-1;
+ // outer frame
+ p->setPen(g.mid());
+ p->drawLine(0, 0, x2, 0);
+ p->drawLine(0, 0, 0, y2);
+ p->setPen(g.light());
+ p->drawLine(x2, 0, x2, y2);
+ p->drawLine(0, x2, y2, x2);
+ p->setPen(g.dark());
+ p->drawRect(1, 1, width()-2, height()-2);
+ // inner frame
+ g = KDecoration::options()->colorGroup(KDecorationOptions::ColorButtonBg, client->isActive());
+ p->fillRect(3, 3, width()-6, height()-6, g.background());
+ p->setPen(isDown() ? g.mid() : g.light());
+ p->drawLine(2, 2, x2-2, 2);
+ p->drawLine(2, 2, 2, y2-2);
+ p->setPen(isDown() ? g.light() : g.mid());
+ p->drawLine(x2-2, 2, x2-2, y2-2);
+ p->drawLine(2, x2-2, y2-2, x2-2);
+
+ }
+
+ if(!deco.isNull()){
+ p->setPen(*btnForeground);
+ p->drawPixmap(isDown() ? 4 : 3, isDown() ? 4 : 3, deco);
+ }
+}
+
+void SystemButton::mousePressEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() );
+ QButton::mousePressEvent( &me );
+}
+
+void SystemButton::mouseReleaseEvent( QMouseEvent* e )
+{
+ last_button = e->button();
+ QMouseEvent me ( e->type(), e->pos(), e->globalPos(), LeftButton, e->state() );
+ QButton::mouseReleaseEvent( &me );
+}
+
+
+
+SystemClient::SystemClient(KDecorationBridge* bridge, KDecorationFactory* factory)
+ : KDecoration(bridge, factory)
+{}
+
+SystemClient::~SystemClient()
+{
+ for (int n=0; n<ButtonTypeCount; n++) {
+ if (button[n]) delete button[n];
+ }
+}
+
+void SystemClient::init()
+{
+ createMainWidget(0);
+ widget()->installEventFilter( this );
+
+ QGridLayout* g = new QGridLayout(widget(), 0, 0, 2);
+
+ if (isPreview())
+ {
+ g->addWidget(new QLabel(i18n("<center><b>System++ preview</b></center>"), widget()), 1, 1);
+ }
+ else
+ {
+ g->addItem(new QSpacerItem( 0, 0 ), 1, 1); // no widget in the middle
+ }
+// g->addItem( new QSpacerItem( 0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding ) );
+ g->setRowStretch(1, 10);
+
+ g->addColSpacing(0, 2);
+ g->addColSpacing(2, 2);
+ g->addRowSpacing(2, 6);
+
+ QBoxLayout* hb = new QBoxLayout(0, QBoxLayout::LeftToRight, 0, 0, 0);
+ hb->setResizeMode(QLayout::FreeResize);
+ g->addLayout( hb, 0, 1 );
+ hb->addSpacing(3);
+
+ titlebar = new QSpacerItem(10, 14, QSizePolicy::Expanding,
+ QSizePolicy::Minimum);
+
+ // setup titlebar buttons
+ for (int n=0; n<ButtonTypeCount; n++) button[n] = 0;
+ addButtons(hb, KDecoration::options()->customButtonPositions() ?
+ KDecoration::options()->titleButtonsLeft() : QString(default_left));
+ hb->addSpacing(2);
+ hb->addItem(titlebar);
+ hb->addSpacing(3);
+ addButtons(hb, KDecoration::options()->customButtonPositions() ?
+ KDecoration::options()->titleButtonsRight() : QString(default_right));
+ hb->addSpacing(2);
+
+ widget()->setBackgroundMode(QWidget::NoBackground);
+ recalcTitleBuffer();
+}
+
+void SystemClient::addButtons(QBoxLayout *hb, const QString& s)
+{
+ unsigned char *minmax_bits;
+ int l_max = KDecoration::options()->titleButtonsLeft().find('A');
+ if (s.length() > 0) {
+ for (unsigned n=0; n < s.length(); n++) {
+ switch (s[n]) {
+ case 'X': // Close button
+ if ((!button[ButtonClose]) && isCloseable()) {
+ button[ButtonClose] = new SystemButton(this, "close", NULL, i18n("Close"));
+ connect( button[ButtonClose], SIGNAL( clicked() ), this, ( SLOT( closeWindow() ) ) );
+ hb->addWidget(button[ButtonClose]);
+ hb->addSpacing(1);
+ }
+ break;
+
+ case 'S': // Sticky button
+ if (!button[ButtonSticky]) {
+ button[ButtonSticky] = new SystemButton(this, "sticky", NULL, i18n("On all desktops"));
+ if(isOnAllDesktops())
+ button[ButtonSticky]->setBitmap(unsticky_bits);
+ else
+ button[ButtonSticky]->setBitmap(sticky_bits);
+ connect( button[ButtonSticky], SIGNAL( clicked() ), this, ( SLOT( toggleOnAllDesktops() ) ) );
+ hb->addWidget(button[ButtonSticky]);
+ hb->addSpacing(1);
+ }
+ break;
+
+ case 'I': // Minimize button
+ if ((!button[ButtonMinimize]) && isMinimizable()) {
+ button[ButtonMinimize] = new SystemButton(this, "iconify", iconify_bits, i18n("Minimize"));
+ connect( button[ButtonMinimize], SIGNAL( clicked() ), this, ( SLOT( minimize() ) ) );
+ hb->addWidget(button[ButtonMinimize]);
+ hb->addSpacing(1);
+ }
+ break;
+
+ case 'A': // Maximize button
+ if ((!button[ButtonMaximize]) && isMaximizable()) {
+ if (maximizeMode()==MaximizeFull) {
+ if (KDecoration::options()->customButtonPositions() && (l_max>-1))
+ minmax_bits = l_minmax_bits;
+ else
+ minmax_bits = r_minmax_bits;
+ button[ButtonMaximize] = new SystemButton(this, "maximize", minmax_bits, i18n("Restore"));
+ }
+ else
+ button[ButtonMaximize] = new SystemButton(this, "maximize", maximize_bits, i18n("Maximize"));
+ connect( button[ButtonMaximize], SIGNAL( clicked() ), this, ( SLOT( maxButtonClicked() ) ) );
+ hb->addWidget(button[ButtonMaximize]);
+ hb->addSpacing(1);
+ }
+ break;
+
+ case 'H': // Help button
+ if ((!button[ButtonHelp]) && providesContextHelp()) {
+ button[ButtonHelp] = new SystemButton(this, "help", question_bits, i18n("Help"));
+ connect( button[ButtonHelp], SIGNAL( clicked() ), this, ( SLOT( showContextHelp() ) ) );
+ hb->addWidget(button[ButtonHelp]);
+ hb->addSpacing(1);
+ }
+ break;
+
+ }
+ }
+ }
+}
+
+bool SystemClient::eventFilter( QObject* o, QEvent* e )
+{
+ if( o != widget())
+ return false;
+ switch( e->type())
+ {
+ case QEvent::Resize:
+ resizeEvent(static_cast< QResizeEvent* >( e ) );
+ return true;
+ case QEvent::Paint:
+ paintEvent(static_cast< QPaintEvent* >( e ) );
+ return true;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast< QMouseEvent* >( e ) );
+ return true;
+ case QEvent::MouseButtonPress:
+ processMousePressEvent(static_cast< QMouseEvent* >( e ) );
+ return true;
+ case QEvent::Wheel:
+ wheelEvent( static_cast< QWheelEvent* >( e ));
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+void SystemClient::reset(unsigned long)
+{
+ titleBuffer.resize(0, 0);
+ recalcTitleBuffer();
+ widget()->repaint();
+ if (button[ButtonClose])
+ button[ButtonClose]->reset();
+ if (button[ButtonSticky])
+ button[ButtonSticky]->reset();
+ if (button[ButtonMinimize])
+ button[ButtonMinimize]->reset();
+ if (button[ButtonMaximize])
+ button[ButtonMaximize]->reset();
+ if (button[ButtonHelp])
+ button[ButtonHelp]->reset();
+}
+
+void SystemClient::maxButtonClicked()
+{
+ maximize( button[ButtonMaximize]->last_button );
+}
+
+void SystemClient::resizeEvent( QResizeEvent* )
+{
+ //Client::resizeEvent( e );
+ recalcTitleBuffer();
+ doShape();
+ /*
+ if ( isVisibleToTLW() && !testWFlags( WStaticContents )) {
+ QPainter p( this );
+ QRect t = titlebar->geometry();
+ t.setTop( 0 );
+ QRegion r = rect();
+ r = r.subtract( t );
+ p.setClipRegion( r );
+ p.eraseRect( rect() );
+ }*/
+}
+
+void SystemClient::resize( const QSize& s )
+{
+ widget()->resize( s );
+}
+
+
+QSize SystemClient::minimumSize() const
+{
+ return widget()->minimumSize();
+}
+
+
+void SystemClient::recalcTitleBuffer()
+{
+ if(oldTitle == caption() && width() == titleBuffer.width())
+ return;
+ QFontMetrics fm(options()->font(true));
+ titleBuffer.resize(width(), 18);
+ QPainter p;
+ p.begin(&titleBuffer);
+ if(aUpperGradient)
+ p.drawTiledPixmap(0, 0, width(), 18, *aUpperGradient);
+ else
+ p.fillRect(0, 0, width(), 18,
+ options()->colorGroup(KDecorationOptions::ColorFrame, true).
+ brush(QColorGroup::Button));
+
+ QRect t = titlebar->geometry();
+ t.setTop( 2 );
+ t.setLeft( t.left() + 4 );
+ t.setRight( t.right() - 2 );
+
+ QRegion r(t.x(), 0, t.width(), 18);
+ r -= QRect(t.x()+((t.width()-fm.width(caption()))/2)-4,
+ 0, fm.width(caption())+8, 18);
+ p.setClipRegion(r);
+ int i, ly;
+ for(i=0, ly=4; i < 4; ++i, ly+=3){
+ p.setPen(options()->color(KDecorationOptions::ColorTitleBar, true).light(150));
+ p.drawLine(0, ly, width()-1, ly);
+ p.setPen(options()->color(KDecorationOptions::ColorTitleBar, true).dark(120));
+ p.drawLine(0, ly+1, width()-1, ly+1);
+ }
+ p.setClipRect(t);
+ p.setPen(options()->color(KDecorationOptions::ColorFont, true));
+ p.setFont(options()->font(true));
+
+ p.drawText(t.x()+((t.width()-fm.width(caption()))/2)-4,
+ 0, fm.width(caption())+8, 18, AlignCenter, caption());
+ p.setClipping(false);
+ p.end();
+ oldTitle = caption();
+}
+
+void SystemClient::captionChange()
+{
+ recalcTitleBuffer();
+ widget()->repaint(titlebar->geometry(), false);
+}
+
+void SystemClient::drawRoundFrame(QPainter &p, int x, int y, int w, int h)
+{
+ kDrawRoundButton(&p, x, y, w, h,
+ options()->colorGroup(KDecorationOptions::ColorFrame, isActive()), false);
+
+}
+
+void SystemClient::paintEvent( QPaintEvent* )
+{
+ QPainter p(widget());
+ QRect t = titlebar->geometry();
+
+ QBrush fillBrush(widget()->colorGroup().brush(QColorGroup::Background).pixmap() ?
+ widget()->colorGroup().brush(QColorGroup::Background) :
+ options()->colorGroup(KDecorationOptions::ColorFrame, isActive()).
+ brush(QColorGroup::Button));
+
+ p.fillRect(1, 18, width()-2, height()-19, fillBrush);
+
+ t.setTop( 2 );
+ t.setLeft( t.left() + 4 );
+ t.setRight( t.right() - 2 );
+
+ if(isActive())
+ p.drawPixmap(0, 0, titleBuffer);
+ else{
+ if(iUpperGradient)
+ p.drawTiledPixmap(0, 0, width(), 18, *iUpperGradient);
+ else
+ p.fillRect(0, 0, width(), 18, fillBrush);
+ p.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
+ p.setFont(options()->font(isActive()));
+ p.drawText(t, AlignCenter, caption() );
+ }
+
+ p.setPen(options()->colorGroup(KDecorationOptions::ColorFrame, isActive()).light());
+ p.drawLine(width()-20, height()-7, width()-10, height()-7);
+ p.drawLine(width()-20, height()-5, width()-10, height()-5);
+ p.setPen(options()->colorGroup(KDecorationOptions::ColorFrame, isActive()).dark());
+ p.drawLine(width()-20, height()-6, width()-10, height()-6);
+ p.drawLine(width()-20, height()-4, width()-10, height()-4);
+
+ drawRoundFrame(p, 0, 0, width(), height());
+}
+
+#define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2)
+
+void SystemClient::doShape()
+{
+ // using a bunch of QRect lines seems much more efficent than bitmaps or
+ // point arrays
+
+ QRegion mask;
+ kRoundMaskRegion(mask, 0, 0, width(), height());
+ setMask(mask);
+}
+
+void SystemClient::showEvent(QShowEvent *)
+{
+// Client::showEvent(ev);
+ doShape();
+ widget()->show();
+// widget()->repaint();
+}
+
+/*void SystemClient::windowWrapperShowEvent( QShowEvent* )
+{
+ doShape();
+}*/
+
+void SystemClient::mouseDoubleClickEvent( QMouseEvent * e )
+{
+ if ( e->button() == LeftButton && titlebar->geometry().contains( e->pos() ) )
+ titlebarDblClickOperation();
+}
+
+void SystemClient::wheelEvent( QWheelEvent *e )
+{
+ if (isSetShade() || QRect( 0, 0, width(), titlebar->geometry().height() ).contains( e->pos() ) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+void SystemClient::maximizeChange()
+{
+ unsigned char *minmax_bits;
+ int l_max = KDecoration::options()->titleButtonsLeft().find('A');
+ if (KDecoration::options()->customButtonPositions() && (l_max>-1))
+ minmax_bits = l_minmax_bits;
+ else
+ minmax_bits = r_minmax_bits;
+ if (button[ButtonMaximize]) {
+ button[ButtonMaximize]->setBitmap((maximizeMode()==MaximizeFull) ? minmax_bits : maximize_bits);
+ button[ButtonMaximize]->setTipText((maximizeMode()==MaximizeFull) ? i18n("Restore") : i18n("Maximize"));
+ }
+}
+
+void SystemClient::activeChange()
+{
+ widget()->repaint(false);
+ if (button[ButtonClose])
+ button[ButtonClose]->reset();
+ if (button[ButtonSticky])
+ button[ButtonSticky]->reset();
+ if (button[ButtonMinimize])
+ button[ButtonMinimize]->reset();
+ if (button[ButtonMaximize])
+ button[ButtonMaximize]->reset();
+ if (button[ButtonHelp])
+ button[ButtonHelp]->reset();
+}
+
+void SystemClient::iconChange()
+{
+// if (button[BtnMenu] && button[BtnMenu]->isVisible())
+// button[BtnMenu]->repaint(false);
+}
+
+void SystemClient::desktopChange()
+{
+ if (button[ButtonSticky]) {
+ button[ButtonSticky]->setBitmap(isOnAllDesktops() ? unsticky_bits : sticky_bits);
+ button[ButtonSticky]->setTipText(isOnAllDesktops() ? i18n("Not on all desktops") : i18n("On all desktops"));
+ }
+}
+
+/*void SystemClient::stickyChange(bool on)
+{
+}*/
+
+KDecoration::Position SystemClient::mousePosition(const QPoint &p) const
+{
+ return KDecoration::mousePosition(p);
+}
+
+void SystemClient::borders(int& left, int& right, int& top, int& bottom) const
+{
+ left = 4;
+ right = 4;
+ top = 18;
+ bottom = 8;
+
+/* if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
+ left = right = bottom = 0;
+ top = 1 + titleHeight + (borderSize-1);
+ }*/
+}
+
+SystemDecoFactory::SystemDecoFactory()
+{
+ create_pixmaps();
+}
+
+SystemDecoFactory::~SystemDecoFactory()
+{
+ delete_pixmaps();
+}
+
+KDecoration *SystemDecoFactory::createDecoration( KDecorationBridge *b )
+{
+ return new SystemClient(b, this);
+}
+
+bool SystemDecoFactory::reset( unsigned long changed )
+{
+ System::delete_pixmaps();
+ System::create_pixmaps();
+ // Ensure changes in tooltip state get applied
+ resetDecorations(changed);
+ return true;
+}
+
+bool SystemDecoFactory::supports( Ability ability )
+{
+ switch( ability )
+ {
+ case AbilityAnnounceButtons:
+ case AbilityButtonOnAllDesktops:
+ case AbilityButtonHelp:
+ case AbilityButtonMinimize:
+ case AbilityButtonMaximize:
+ case AbilityButtonClose:
+ return true;
+ default:
+ return false;
+ };
+}
+
+QValueList<KDecorationFactory::BorderSize> SystemDecoFactory::borderSizes() const
+{ // the list must be sorted
+ return QValueList< BorderSize >() << BorderNormal;
+}
+
+}
+
+extern "C" KDE_EXPORT KDecorationFactory *create_factory()
+{
+ return new System::SystemDecoFactory();
+}
+
+#include "systemclient.moc"
diff --git a/kwin-styles/system/systemclient.h b/kwin-styles/system/systemclient.h
new file mode 100644
index 00000000..360f204d
--- /dev/null
+++ b/kwin-styles/system/systemclient.h
@@ -0,0 +1,111 @@
+#ifndef __SYSTEMCLIENT_H
+#define __SYSTEMCLIENT_H
+
+#include <qvariant.h>
+#include <qbitmap.h>
+#include <qbutton.h>
+
+#include <kpixmap.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+
+class QLabel;
+class QSpacerItem;
+class QBoxLayout;
+
+namespace System {
+
+class SystemButton;
+
+enum ButtonType {
+ ButtonClose=0,
+ ButtonSticky,
+ ButtonMinimize,
+ ButtonMaximize,
+ ButtonHelp,
+ ButtonTypeCount
+};
+
+class SystemClient : public KDecoration
+{
+ Q_OBJECT
+ public:
+ SystemClient(KDecorationBridge* bridge, KDecorationFactory* factory);
+ ~SystemClient();
+ virtual Position mousePosition(const QPoint& p) const;
+ virtual void resize(const QSize&);
+ virtual bool eventFilter(QObject* o, QEvent* e);
+ virtual void init();
+ protected:
+ virtual void maximizeChange();
+ virtual void captionChange();
+ virtual void shadeChange() {};
+ virtual void iconChange();
+ virtual void desktopChange();
+ virtual void activeChange();
+ virtual QSize minimumSize() const;
+ virtual void borders(int&, int&, int&, int&) const;
+ virtual void reset( unsigned long changed );
+ void drawRoundFrame(QPainter &p, int x, int y, int w, int h);
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+ void showEvent( QShowEvent* );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void wheelEvent(QWheelEvent *e);
+ void doShape();
+ void recalcTitleBuffer();
+ private:
+ void addButtons(QBoxLayout* hb, const QString& buttons);
+ private slots:
+ void maxButtonClicked();
+
+ private:
+ SystemButton* button[ButtonTypeCount];
+ QSpacerItem* titlebar;
+ QPixmap titleBuffer;
+ QString oldTitle;
+};
+
+class SystemButton : public QButton
+{
+ public:
+ SystemButton(SystemClient *parent=0, const char *name=0,
+ const unsigned char *bitmap=NULL, const QString& tip=NULL);
+ void setBitmap(const unsigned char *bitmap);
+ void reset();
+ QSize sizeHint() const;
+ void setTipText(const QString &tip);
+ ButtonState last_button;
+ protected:
+ virtual void drawButton(QPainter *p);
+ void drawButtonLabel(QPainter *){}
+ QBitmap deco;
+
+ void mousePressEvent( QMouseEvent* e );
+ void mouseReleaseEvent( QMouseEvent* e );
+
+ private:
+ SystemClient* client;
+};
+
+
+class SystemDecoFactory : public QObject, public KDecorationFactory
+{
+ Q_OBJECT
+ public:
+ SystemDecoFactory();
+ virtual ~SystemDecoFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *);
+ virtual bool reset(unsigned long);
+ virtual bool supports( Ability ability );
+ virtual QValueList< BorderSize > borderSizes() const;
+ private:
+ void readConfig();
+};
+
+
+
+}
+
+#endif
diff --git a/kworldclock/COPYRIGHT b/kworldclock/COPYRIGHT
new file mode 100644
index 00000000..30bb1b29
--- /dev/null
+++ b/kworldclock/COPYRIGHT
@@ -0,0 +1,34 @@
+Map Copyright Information
+
+
+Most maps are images available primarily from US Government agencies and web sites, with 2 excpetions. Images titled
+earth_xxx.jpg are copyrighted by Living Earth, Inc. Images titled photo_xxx.jpg are copyrighted by Tom van Sant, Inc. and have been
+removed from this site according the wishes of the copyright owner. None of the maps on this distrubution are copyrighted to my
+knowledge. This web page gives no permission to sell any maps and make no copyright claim on any map images found therein.
+Please make special note of Living Earth Images which are copyrighted by Living Earth, Inc.
+
+ alt_xxx.jpg
+ Taken from USGS National Mapping Division, EROS Data Center, GTOPO30 (Global 30 Arc Second
+ Elebation Data).
+ bio_xxx.jpg
+ Taken from http://seawifs.gsfc.nasa.gov/SEAWIFS/IMAGES/SEAWIFS_GALLERY.html with black ocean
+ replaced by auqa-blue.
+ caida_xxx.jpg
+ &
+ caida_bw_xxx.jpg
+ Cooperative Association for Internet Data Analysis (CAIDA) at http://www.caida.org. (Taken from
+ http://hum.amu.edu.pl/~zbzw/glob/glob7d.htm).
+ earth_xxx.jpg
+ These maps are Living Earth Images and are copyrighted by Living Earth, Inc.
+ Taken from the SSystem project at http://www1.las.es/~amil/ssystem/. That site also credits the following
+ sites: http://maps.jpl.nasa.gov, http://www.fourmilab.ch/earthview/vplanet.html, and
+ http://www.lancs.ac.uk/postgrad/thomasc1/render/maps.htm.
+ mggd_xxx.jpg
+ Taken from http://www.ngdc.noaa.gov/mgg/.
+ photo_xxx.jpg
+ These images are copyrighted by Tom van Sant, inc. The images and links related to these images have been
+ removed according to the wishes of the copyright owner.
+ rainfall_xxx.jpg
+ Taken from
+ simple_grid_xxx.jpg
+ Taken from Design Map at http://lorenz.mur.csu.edu.au/cgi-bin/gis/Map.
diff --git a/kworldclock/Makefile.am b/kworldclock/Makefile.am
new file mode 100644
index 00000000..95e345f7
--- /dev/null
+++ b/kworldclock/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = caida alt bio caida_bw rainfall mggd
diff --git a/kworldclock/README b/kworldclock/README
new file mode 100644
index 00000000..2237ef6a
--- /dev/null
+++ b/kworldclock/README
@@ -0,0 +1,7 @@
+These maps have been taken from:
+
+http://www.radcyberzine.com/xglobe/
+
+Please read COPYRIGHT for copyright information.
+
+
diff --git a/kworldclock/alt/1200.jpg b/kworldclock/alt/1200.jpg
new file mode 100644
index 00000000..9f127d32
--- /dev/null
+++ b/kworldclock/alt/1200.jpg
Binary files differ
diff --git a/kworldclock/alt/200.jpg b/kworldclock/alt/200.jpg
new file mode 100644
index 00000000..ae131aad
--- /dev/null
+++ b/kworldclock/alt/200.jpg
Binary files differ
diff --git a/kworldclock/alt/400.jpg b/kworldclock/alt/400.jpg
new file mode 100644
index 00000000..35ea713a
--- /dev/null
+++ b/kworldclock/alt/400.jpg
Binary files differ
diff --git a/kworldclock/alt/800.jpg b/kworldclock/alt/800.jpg
new file mode 100644
index 00000000..0d358910
--- /dev/null
+++ b/kworldclock/alt/800.jpg
Binary files differ
diff --git a/kworldclock/alt/Makefile.am b/kworldclock/alt/Makefile.am
new file mode 100644
index 00000000..122cbb50
--- /dev/null
+++ b/kworldclock/alt/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = alt.desktop 400.jpg 800.jpg 1200.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/alt
diff --git a/kworldclock/alt/alt.desktop b/kworldclock/alt/alt.desktop
new file mode 100644
index 00000000..9e8036a3
--- /dev/null
+++ b/kworldclock/alt/alt.desktop
@@ -0,0 +1,54 @@
+[Theme]
+Name=Altitude
+Name[af]=Hoogte
+Name[bg]=Надморска височина
+Name[ca]=Altitud
+Name[cs]=Nadmořská výška
+Name[cy]=Uchder
+Name[da]=Højde
+Name[de]=Höhe
+Name[el]=Ύψος
+Name[eo]=Alteco
+Name[es]=Altitud
+Name[et]=Kõrgus
+Name[eu]=Altitudea
+Name[fa]=ارتفاع
+Name[fi]=Korkeus
+Name[fy]=Hichte
+Name[he]=גבהים
+Name[hi]=ऊंचाई
+Name[hu]=T. f. magasság
+Name[is]=Hæð
+Name[it]=Altitudine
+Name[ja]=海抜
+Name[ka]=სიმაღლე
+Name[lt]=Aukštuma
+Name[lv]=Augstums
+Name[mk]=Висина
+Name[ms]=Altitud
+Name[mt]=Altitudni
+Name[nb]=Høyde
+Name[nds]=Hööchde
+Name[ne]=उन्नतांश
+Name[nl]=Hoogte
+Name[nn]=Høgd
+Name[pl]=Wysokość (n.p.m.)
+Name[ro]=Altitudini
+Name[ru]=Высота
+Name[sk]=Nadmorská výška
+Name[sl]=Višina
+Name[sr]=Висина
+Name[sr@Latn]=Visina
+Name[sv]=Altitud
+Name[ta]=உயரம்
+Name[tg]=Баландӣ
+Name[th]=ความสูง
+Name[tr]=Yükseklik
+Name[uk]=Висота
+Name[ven]=Vhulapfu
+Name[vi]=Độ cao
+Name[xh]=Ubude obuthe nkqo
+Name[zh_CN]=海拔高度
+Name[zh_TW]=高度
+Name[zu]=Ububanzi bomhlaba
+Theme=alt
diff --git a/kworldclock/bio/1600.jpg b/kworldclock/bio/1600.jpg
new file mode 100644
index 00000000..0b3d047d
--- /dev/null
+++ b/kworldclock/bio/1600.jpg
Binary files differ
diff --git a/kworldclock/bio/200.jpg b/kworldclock/bio/200.jpg
new file mode 100644
index 00000000..df839045
--- /dev/null
+++ b/kworldclock/bio/200.jpg
Binary files differ
diff --git a/kworldclock/bio/400.jpg b/kworldclock/bio/400.jpg
new file mode 100644
index 00000000..4e3036bb
--- /dev/null
+++ b/kworldclock/bio/400.jpg
Binary files differ
diff --git a/kworldclock/bio/800.jpg b/kworldclock/bio/800.jpg
new file mode 100644
index 00000000..03425b85
--- /dev/null
+++ b/kworldclock/bio/800.jpg
Binary files differ
diff --git a/kworldclock/bio/Makefile.am b/kworldclock/bio/Makefile.am
new file mode 100644
index 00000000..468d4a56
--- /dev/null
+++ b/kworldclock/bio/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = bio.desktop 400.jpg 800.jpg 1600.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/bio
diff --git a/kworldclock/bio/bio.desktop b/kworldclock/bio/bio.desktop
new file mode 100644
index 00000000..6956e24e
--- /dev/null
+++ b/kworldclock/bio/bio.desktop
@@ -0,0 +1,57 @@
+[Theme]
+Name=Biosphere
+Name[af]=Biosfeer
+Name[bg]=Биосфера
+Name[ca]=Biosfera
+Name[cs]=Biosféra
+Name[cy]=Bïosffer
+Name[da]=Biosfære
+Name[de]=Biosphäre
+Name[el]=Βιόσφαιρα
+Name[eo]=Biosfero
+Name[es]=Biosfera
+Name[et]=Biosfäär
+Name[eu]=Biosfera
+Name[fa]=زیست کره
+Name[fi]=Biosfääri
+Name[fr]=Biosphère
+Name[fy]=Biosfear
+Name[gl]=Biosfera
+Name[he]=ביוספרה
+Name[hi]=बायोस्फीयर
+Name[hu]=Bioszféra
+Name[is]=Lífhvelfing
+Name[it]=Biosfera
+Name[ja]=生物圏
+Name[ka]=ბიოსფერო
+Name[lt]=Biosfera
+Name[lv]=Biosfēra
+Name[mk]=Биосфера
+Name[ms]=Biosfera
+Name[mt]=Biosfera
+Name[nb]=Biosfære
+Name[nds]=Biospheer
+Name[ne]=जीवमण्डल
+Name[nl]=Biosfeer
+Name[nn]=Biosfære
+Name[pl]=Biosfera
+Name[pt]=Biosfera
+Name[pt_BR]=Biosfera
+Name[ro]=Biosferă
+Name[ru]=Биосфера
+Name[sk]=Biosféra
+Name[sl]=Biosfera
+Name[sr]=Биосфера
+Name[sr@Latn]=Biosfera
+Name[sv]=Biosfär
+Name[ta]=உயிர்வெளி
+Name[tg]=Биосфера
+Name[th]=ไบโอสเฟียร์
+Name[tr]=Biosfer
+Name[uk]=Біосфера
+Name[ven]=Bayotshikoupu
+Name[vi]=Sinh quyển
+Name[zh_CN]=生物圈
+Name[zh_TW]=生物圈
+Name[zu]=Ibhayosifiya
+Theme=bio
diff --git a/kworldclock/caida/1280.jpg b/kworldclock/caida/1280.jpg
new file mode 100644
index 00000000..dbc7fa2b
--- /dev/null
+++ b/kworldclock/caida/1280.jpg
Binary files differ
diff --git a/kworldclock/caida/200.jpg b/kworldclock/caida/200.jpg
new file mode 100644
index 00000000..1b89c026
--- /dev/null
+++ b/kworldclock/caida/200.jpg
Binary files differ
diff --git a/kworldclock/caida/400.jpg b/kworldclock/caida/400.jpg
new file mode 100644
index 00000000..e2bc837f
--- /dev/null
+++ b/kworldclock/caida/400.jpg
Binary files differ
diff --git a/kworldclock/caida/800.jpg b/kworldclock/caida/800.jpg
new file mode 100644
index 00000000..f9cda5bf
--- /dev/null
+++ b/kworldclock/caida/800.jpg
Binary files differ
diff --git a/kworldclock/caida/Makefile.am b/kworldclock/caida/Makefile.am
new file mode 100644
index 00000000..b47bca4f
--- /dev/null
+++ b/kworldclock/caida/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = caida.desktop 400.jpg 800.jpg 1280.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/caida
diff --git a/kworldclock/caida/caida.desktop b/kworldclock/caida/caida.desktop
new file mode 100644
index 00000000..d288a859
--- /dev/null
+++ b/kworldclock/caida/caida.desktop
@@ -0,0 +1,57 @@
+[Theme]
+Name=Relative Altitude
+Name[af]=Relatiewe Hoogte
+Name[bg]=Относителна надморска височина
+Name[ca]=Altitud relativa
+Name[cs]=Relativní nadmořská výška
+Name[cy]=Uchder Cymharol
+Name[da]=Relativ højde
+Name[de]=Relative Höhe
+Name[el]=Σχετικό Ύψος
+Name[eo]=Relativa Alteco
+Name[es]=Altitud relativa
+Name[et]=Suhteline kõrgus
+Name[eu]=Altitude erlatiboa
+Name[fa]=ارتفاع نسبی
+Name[fi]=Suhteellinen korkeus
+Name[fr]=Altitude relative
+Name[fy]=Relative hichte
+Name[gl]=Altitude Relativa
+Name[he]=גבהים יחסיים
+Name[hi]=रिलेटिव अल्टीट्यूड
+Name[hu]=Relatív t. f. magassg
+Name[is]=Afstæð hæð
+Name[it]=Altitudine relativa
+Name[ja]=相対高さ
+Name[ka]=ფარდობითი სიმაღლე
+Name[lt]=Sąlyginė aukštuma
+Name[lv]=Relatīvais Augstums
+Name[mk]=Релативна висина
+Name[ms]=Altitud Relatif
+Name[mt]=Altitudni relattiva
+Name[nb]=Relativ høyde
+Name[nds]=Relativ Hööchde
+Name[ne]=सापेक्षित उन्नतांश
+Name[nl]=Relatieve hoogte
+Name[nn]=Relativ høgd
+Name[pl]=Wysokość względna
+Name[pt]=Altitude Relativa
+Name[pt_BR]=Altitude Relativa
+Name[ro]=Altitudini relative
+Name[ru]=Относительная высота
+Name[sk]=Relatívna nadmorská výška
+Name[sl]=Relativna višina
+Name[sr]=Релативна висина
+Name[sr@Latn]=Relativna visina
+Name[sv]=Relativ höjd
+Name[tg]=Баландии нисбатан
+Name[th]=ความสูงสัมพัทธ์
+Name[tr]=Görece Yükseklik
+Name[uk]=Відносна висота
+Name[ven]=Vhulapfu Vhudivheaho
+Name[vi]=Độ cao Tương đối
+Name[xh]=Ubude Obuthe Nkqo Obuzalanayo
+Name[zh_CN]=相对海拔高度
+Name[zh_TW]=相對高度
+Name[zu]=Ububanzi obulingeneyo
+Theme=caida
diff --git a/kworldclock/caida_bw/1280.jpg b/kworldclock/caida_bw/1280.jpg
new file mode 100644
index 00000000..20564cb7
--- /dev/null
+++ b/kworldclock/caida_bw/1280.jpg
Binary files differ
diff --git a/kworldclock/caida_bw/200.jpg b/kworldclock/caida_bw/200.jpg
new file mode 100644
index 00000000..820279bd
--- /dev/null
+++ b/kworldclock/caida_bw/200.jpg
Binary files differ
diff --git a/kworldclock/caida_bw/400.jpg b/kworldclock/caida_bw/400.jpg
new file mode 100644
index 00000000..6a0805ee
--- /dev/null
+++ b/kworldclock/caida_bw/400.jpg
Binary files differ
diff --git a/kworldclock/caida_bw/800.jpg b/kworldclock/caida_bw/800.jpg
new file mode 100644
index 00000000..41a78e2d
--- /dev/null
+++ b/kworldclock/caida_bw/800.jpg
Binary files differ
diff --git a/kworldclock/caida_bw/Makefile.am b/kworldclock/caida_bw/Makefile.am
new file mode 100644
index 00000000..a87bb7d4
--- /dev/null
+++ b/kworldclock/caida_bw/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = caida_bw.desktop 400.jpg 800.jpg 1280.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/caida_bw
diff --git a/kworldclock/caida_bw/caida_bw.desktop b/kworldclock/caida_bw/caida_bw.desktop
new file mode 100644
index 00000000..f598d8bb
--- /dev/null
+++ b/kworldclock/caida_bw/caida_bw.desktop
@@ -0,0 +1,57 @@
+[Theme]
+Name=Relative Altitude (bw)
+Name[af]=Relatiewe Hoogte (swart-en-wit)
+Name[bg]=Относ. надморска височина (черно-бяло)
+Name[ca]=Altitud relativa (BiN)
+Name[cs]=Relativní nadmořská výška (čb)
+Name[cy]=Uchder Cymharol (dg)
+Name[da]=Relativ højde (bw)
+Name[de]=Relative Höhe (sw)
+Name[el]=Σχετικό Ύψος (bw)
+Name[eo]=Relativa Alteco (nb)
+Name[es]=Altitud relativa (ByN)
+Name[et]=Suhteline kõrgus (mv)
+Name[eu]=Altitude erlatiboa (bw)
+Name[fa]=ارتفاع نسبی (bw)
+Name[fi]=Suhteellinen korkeus (mv)
+Name[fr]=Altitude relative (noir et blanc)
+Name[fy]=Relative hichte (sw)
+Name[gl]=Altitude Relativa (Branco e Negro)
+Name[he]=גבהים יחסיים (שחור־לבן)
+Name[hi]=सापेक्ष ऊंचाई (सियाह सफ़ेद)
+Name[hu]=Relatív t. f. magasság (fekete-fehér)
+Name[is]=Afstæð hæð (bw)
+Name[it]=Altitudine relativa (bw)
+Name[ja]=相対高さ (bw)
+Name[ka]=ფარდობითი სიმაღლე (შ/თ)
+Name[lt]=Sąlyginė aukštuma (bw)
+Name[lv]=Relatīvais Augstums (bw)
+Name[mk]=Релативна висина (цб)
+Name[ms]=Altitud Relatif (bw)
+Name[mt]=Altitudni relattiva (ia)
+Name[nb]=Relativ høyde (sv/hv)
+Name[nds]=Relativ Hööchde (sw)
+Name[ne]=सापेक्षित उन्नतांश (bw)
+Name[nl]=Relatieve hoogte (zw)
+Name[nn]=Relativ høgd (bw)
+Name[pl]=Wysokość względna
+Name[pt]=Altitude Relativa (bw)
+Name[pt_BR]=Altitude Relativa (bw)
+Name[ro]=Altitudini relative (A/N)
+Name[ru]=Относительная высота (ч/б)
+Name[sk]=Relatívna nadmorská výška (čb)
+Name[sl]=Relativna višina (čb)
+Name[sr]=Релативна висина (цб)
+Name[sr@Latn]=Relativna visina (cb)
+Name[sv]=Relativ höjd (sv-vit)
+Name[tg]=Баландии нисбатан (ч/б)
+Name[th]=ความสูงสัมพัทธ์ (bw)
+Name[tr]=Görece Yükseklik (siyah beyaz)
+Name[uk]=Відносна висота (ч/б)
+Name[ven]=Vhulapfu Vhudivheaho (bw)
+Name[vi]=Độ cao Tương đối (đen trắng)
+Name[xh]=Ubude Obuthe Nkqo Obuzalanayo (bw)
+Name[zh_CN]=相对海拔高度(黑白)
+Name[zh_TW]=相對高度 (bw)
+Name[zu]= Ububanzi Obuhlobeneyo (bw)
+Theme=caida_bw
diff --git a/kworldclock/mggd/1440.jpg b/kworldclock/mggd/1440.jpg
new file mode 100644
index 00000000..91f79380
--- /dev/null
+++ b/kworldclock/mggd/1440.jpg
Binary files differ
diff --git a/kworldclock/mggd/200.jpg b/kworldclock/mggd/200.jpg
new file mode 100644
index 00000000..afeb03e7
--- /dev/null
+++ b/kworldclock/mggd/200.jpg
Binary files differ
diff --git a/kworldclock/mggd/400.jpg b/kworldclock/mggd/400.jpg
new file mode 100644
index 00000000..51e8d5cc
--- /dev/null
+++ b/kworldclock/mggd/400.jpg
Binary files differ
diff --git a/kworldclock/mggd/800.jpg b/kworldclock/mggd/800.jpg
new file mode 100644
index 00000000..2ed07150
--- /dev/null
+++ b/kworldclock/mggd/800.jpg
Binary files differ
diff --git a/kworldclock/mggd/Makefile.am b/kworldclock/mggd/Makefile.am
new file mode 100644
index 00000000..0ffc6967
--- /dev/null
+++ b/kworldclock/mggd/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = mggd.desktop 400.jpg 800.jpg 1440.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/mggd
diff --git a/kworldclock/mggd/mggd.desktop b/kworldclock/mggd/mggd.desktop
new file mode 100644
index 00000000..44fe3ce4
--- /dev/null
+++ b/kworldclock/mggd/mggd.desktop
@@ -0,0 +1,62 @@
+[Theme]
+Name=False Color
+Name[af]=Vals Kleur
+Name[bg]=Случайни цветове
+Name[br]=Liv faos
+Name[ca]=Color fals
+Name[cs]=Neplatná barva
+Name[cy]=Lliw Ffug
+Name[da]=Forkert farve
+Name[de]=Falschfarbigkeit
+Name[el]=Εσφαλμένο Χρώμα
+Name[en_GB]=False Colour
+Name[eo]=Falsa Koloro
+Name[es]=Color falso
+Name[et]=Vale värv
+Name[eu]=Kolore faltsua
+Name[fa]=رنگ نادرست
+Name[fi]=Vääräväri
+Name[fo]=Skeiv lit
+Name[fr]=Fausses couleurs
+Name[fy]=Unechte kleuren
+Name[gl]=Cor Falsa
+Name[he]=צבעים מלאכותיים
+Name[hi]=नकली रंग
+Name[hu]=Torzított színek
+Name[is]=Rangir litir
+Name[it]=Falsi colori
+Name[ja]=フォールスカラー
+Name[ka]=მცდარი ფერი
+Name[lt]=Netikra spalva
+Name[lv]=Viltus Krāsa
+Name[mk]=Погрешна боја
+Name[ms]=Warna Palsu
+Name[mt]=Kuluri foloz
+Name[nb]=Falsk farge
+Name[nds]=Falschklören
+Name[ne]=नक्कली रङ
+Name[nl]=Onechte kleuren
+Name[nn]=Falsk farge
+Name[pa]=ਫ਼ਰਜੀ ਰੰਗ
+Name[pl]=Fałszywe kolory
+Name[pt]=Cor Falsa
+Name[pt_BR]=Cor falsa
+Name[ro]=Culori false
+Name[ru]=Ложный цвет
+Name[sk]=Neplatná farba
+Name[sl]=Napačne barve
+Name[sr]=Лажна боја
+Name[sr@Latn]=Lažna boja
+Name[sv]=Falsk färg
+Name[ta]=தவறான வண்ணம்
+Name[tg]=Ранги дурӯғ
+Name[th]=สีเท็จ
+Name[tr]=Yanlış Renk
+Name[uk]=Фальшивий колір
+Name[ven]=Muvhala usi wone
+Name[vi]=Màu Giả
+Name[xh]=Umbala Obuxoki
+Name[zh_CN]=假彩色
+Name[zh_TW]=錯誤的顏色
+Name[zu]=Umbala ongewona owangempela
+Theme=mggd
diff --git a/kworldclock/rainfall/1600.jpg b/kworldclock/rainfall/1600.jpg
new file mode 100644
index 00000000..f3ed66a6
--- /dev/null
+++ b/kworldclock/rainfall/1600.jpg
Binary files differ
diff --git a/kworldclock/rainfall/200.jpg b/kworldclock/rainfall/200.jpg
new file mode 100644
index 00000000..25b30ce6
--- /dev/null
+++ b/kworldclock/rainfall/200.jpg
Binary files differ
diff --git a/kworldclock/rainfall/400.jpg b/kworldclock/rainfall/400.jpg
new file mode 100644
index 00000000..bf87cf8f
--- /dev/null
+++ b/kworldclock/rainfall/400.jpg
Binary files differ
diff --git a/kworldclock/rainfall/800.jpg b/kworldclock/rainfall/800.jpg
new file mode 100644
index 00000000..3a3f4f59
--- /dev/null
+++ b/kworldclock/rainfall/800.jpg
Binary files differ
diff --git a/kworldclock/rainfall/Makefile.am b/kworldclock/rainfall/Makefile.am
new file mode 100644
index 00000000..7bd2f9fd
--- /dev/null
+++ b/kworldclock/rainfall/Makefile.am
@@ -0,0 +1,2 @@
+map_DATA = rainfall.desktop 400.jpg 800.jpg 1600.jpg 200.jpg
+mapdir = $(kde_datadir)/kworldclock/maps/rainfall
diff --git a/kworldclock/rainfall/rainfall.desktop b/kworldclock/rainfall/rainfall.desktop
new file mode 100644
index 00000000..efb834dd
--- /dev/null
+++ b/kworldclock/rainfall/rainfall.desktop
@@ -0,0 +1,60 @@
+[Theme]
+Name=Rainfall
+Name[af]=Reënval
+Name[bg]=Карта на валежите
+Name[br]=Glav
+Name[ca]=Pluja
+Name[cs]=Déšť
+Name[cy]=Glawiad
+Name[da]=Regn
+Name[de]=Niederschläge
+Name[el]=Βροχόπτωση
+Name[eo]=Pluvofalo
+Name[es]=Lluvia
+Name[et]=Vihm
+Name[eu]=Euria
+Name[fa]=بارندگی
+Name[fi]=Sadekertymä
+Name[fo]=Avfall
+Name[fr]=Précipitations
+Name[fy]=Delslach
+Name[gl]=Choiva
+Name[he]=משקעים
+Name[hi]=बारिश
+Name[hu]=Csapadék
+Name[is]=Rigning
+Name[it]=Precipitazioni
+Name[ja]=降雨
+Name[ka]=თავსხმა
+Name[lt]=Krituliai
+Name[lv]=Lietusgāze
+Name[mk]=Врнежи
+Name[ms]=Hujan
+Name[mt]=Xita
+Name[nb]=Regn
+Name[nds]=Regen
+Name[ne]=रेनफल
+Name[nl]=Neerslag
+Name[nn]=Regn
+Name[pl]=Średnia opadów
+Name[pt]=Aguaceiro
+Name[pt_BR]=Chuva
+Name[ro]=Precipitaţii
+Name[ru]=Ливень
+Name[sk]=Zrážky
+Name[sl]=Dež
+Name[sr]=Киша
+Name[sr@Latn]=Kiša
+Name[sv]=Regn
+Name[ta]=மழை
+Name[tg]=Борони сель
+Name[th]=ฝนตก
+Name[tr]=Sağanak
+Name[uk]=Злива
+Name[ven]=Una ha mvula
+Name[vi]=Mưa
+Name[xh]=Ingxangxasi
+Name[zh_CN]=降雨量
+Name[zh_TW]=降雨量
+Name[zu]=Ukuwa kwemvula
+Theme=rainfall
diff --git a/sounds/KDE_Logout_new.wav b/sounds/KDE_Logout_new.wav
new file mode 100644
index 00000000..222fbf56
--- /dev/null
+++ b/sounds/KDE_Logout_new.wav
Binary files differ
diff --git a/sounds/KDE_Startup_new.wav b/sounds/KDE_Startup_new.wav
new file mode 100644
index 00000000..d6e8f5c6
--- /dev/null
+++ b/sounds/KDE_Startup_new.wav
Binary files differ
diff --git a/sounds/Makefile.am b/sounds/Makefile.am
new file mode 100644
index 00000000..8d5fa3d3
--- /dev/null
+++ b/sounds/Makefile.am
@@ -0,0 +1,3 @@
+sound_DATA = KDE_Logout_new.wav KDE_Startup_new.wav
+sounddir = $(kde_sounddir)
+
diff --git a/styles/Makefile.am b/styles/Makefile.am
new file mode 100644
index 00000000..8518ce8b
--- /dev/null
+++ b/styles/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = dotnet phase
diff --git a/styles/dotnet/Makefile.am b/styles/dotnet/Makefile.am
new file mode 100644
index 00000000..4c80bfaf
--- /dev/null
+++ b/styles/dotnet/Makefile.am
@@ -0,0 +1,32 @@
+
+# This file is part of the KDE libraries
+# Copyright (C) 1997 Matthias Kalle Dalheimer (kalle@kde.org)
+# (C) 1997 Stephan Kulow (coolo@kde.org)
+
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this library; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+AM_CPPFLAGS = -DQT_PLUGIN
+METASOURCES = AUTO
+
+INCLUDES = $(all_includes)
+noinst_HEADERS = dotnet.h
+kde_style_LTLIBRARIES = dotnet.la
+dotnet_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+dotnet_la_LIBADD = -lkdefx
+dotnet_la_SOURCES = dotnet.cpp
+
+themercdir = $(kde_datadir)/kstyle/themes
+themerc_DATA = dotnet.themerc
diff --git a/styles/dotnet/README b/styles/dotnet/README
new file mode 100644
index 00000000..18007ab6
--- /dev/null
+++ b/styles/dotnet/README
@@ -0,0 +1,9 @@
+To make this your default style without having to recompile kdelibs:
+
+Create a $KDEHOME/share/config/kstylerc with the following lines.
+[KDE]
+WidgetStyle=dotNET
+
+That's it. Easy, eh?
+
+-clee
diff --git a/styles/dotnet/dotnet.cpp b/styles/dotnet/dotnet.cpp
new file mode 100644
index 00000000..6eeb7c41
--- /dev/null
+++ b/styles/dotnet/dotnet.cpp
@@ -0,0 +1,2076 @@
+/*
+ * KDE3 dotNET Style (version 1.5)
+ * Copyright (C) 2001-2002, Chris Lee <clee@kde.org>
+ * Carsten Pfeiffer <pfeiffer@kde.org>
+ * Karol Szwed <gallium@kde.org>
+ *
+ * Drawing routines completely reimplemented from KDE3 HighColor, which was
+ * originally based on some stuff from the KDE2 HighColor.
+ * Includes portions of framework code from KDE3 HighColor,
+ * (C) 2001-2002 Karol Szwed <gallium@kde.org>,
+ * (C) 2001-2002 Fredrik H�lund <fredrik@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#include <qstyleplugin.h>
+#include <qstylefactory.h>
+#include <qpointarray.h>
+#include <qpainter.h>
+#include <qtabbar.h>
+#include <qtabwidget.h>
+#include <qprogressbar.h>
+#include <qcombobox.h>
+#include <qlistbox.h>
+#include <qscrollbar.h>
+#include <qpushbutton.h>
+#include <qtoolbutton.h>
+#include <qtoolbar.h>
+#include <qmenubar.h>
+#include <qpopupmenu.h>
+#include <qdrawutil.h>
+#include <qapplication.h>
+#include <qvariant.h>
+#include <qpixmapcache.h>
+#include <qslider.h>
+#include <qsettings.h>
+#include <kpixmap.h>
+
+#include "dotnet.h"
+#include "dotnet.moc"
+
+/* This code registers the style with QStyleFactory, which makes it possible
+ * for any code that uses QStyle to find out about it. */
+// -- Style Plugin Interface -------------------------
+class dotNETstylePlugin : public QStylePlugin
+{
+ public:
+ dotNETstylePlugin() {}
+ ~dotNETstylePlugin() {}
+
+ QStringList keys() const {
+ return QStringList() << "dotNET";
+ }
+
+ QStyle* create( const QString& key ) {
+ if (key == "dotnet")
+ return new dotNETstyle;
+ return 0;
+ }
+};
+
+KDE_Q_EXPORT_PLUGIN( dotNETstylePlugin )
+
+// ---------------------------------------------------
+
+dotNETstyle::dotNETstyle() : KStyle( AllowMenuTransparency ), kickerMode(false)
+{
+ winstyle = 0L;
+ winstyle = QStyleFactory::create("Windows");
+ if (winstyle == 0L) {
+ // We don't have the Windows style, neither builtin nor as a plugin.
+ // Use any style rather than crashing.
+ winstyle = QStyleFactory::create("B3");
+ }
+
+ if (qApp->inherits("KApplication")) {
+ connect( qApp, SIGNAL( kdisplayPaletteChanged() ), SLOT( paletteChanged() ));
+ }
+
+ QSettings settings;
+ pseudo3D = settings.readBoolEntry("/KStyle/Settings/Pseudo3D", true);
+ roundedCorners = settings.readBoolEntry("/KStyle/Settings/RoundedCorners", true);
+ useTextShadows = settings.readBoolEntry("/KStyle/Settings/UseTextShadows", false);
+ reverseLayout = QApplication::QApplication::reverseLayout();
+}
+
+
+dotNETstyle::~dotNETstyle()
+{
+}
+
+bool dotNETstyle::inheritsKHTML(const QWidget* w) const
+{
+ if (w->parentWidget(true) && w->parentWidget(true)->parentWidget(true) && w->parentWidget(true)->parentWidget(true)->parentWidget(true) && w->parentWidget(true)->parentWidget(true)->parentWidget(true)->inherits("KHTMLView")) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+void dotNETstyle::polish(QWidget* widget)
+{
+ if (!qstrcmp(qApp->argv()[0], "kicker") || widget->inherits("Kicker"))
+ kickerMode = true;
+
+ if (widget->isTopLevel())
+ return;
+
+// we can't simply set a palette -- upon color-theme changes, we have
+// to update the palette again.
+ bool extraPalette = false;
+
+ if (widget->inherits("QComboBox") && !inheritsKHTML(widget)) {
+ widget->installEventFilter (this);
+ updatePalette( (QComboBox*) widget );
+ extraPalette = true;
+ } else {
+ winstyle->polish(widget);
+ }
+
+// This code is disabled until Carsten explains to me why it's supposed to
+// be here. It breaks dynamically changing the color from KControl and does
+// other bad things (see bug #54569)
+/*
+ if (!widget->ownPalette()) {
+ if (widget->inherits("QToolBar")) {
+ updatePalette( (QToolBar*) widget );
+ extraPalette = true;
+ } else if (widget->inherits("QMenuBar")) {
+ updatePalette( (QMenuBar*) widget );
+ extraPalette = true;
+ }
+ }
+*/
+}
+
+void dotNETstyle::unPolish(QWidget* widget)
+{
+ winstyle->unPolish(widget);
+
+ if (widget->inherits("QComboBox") && !inheritsKHTML(widget)) {
+ widget->removeEventFilter (this);
+ }
+}
+
+void dotNETstyle::renderMenuBlendPixmap(KPixmap &pix,
+ const QColorGroup &cg,
+ const QPopupMenu *popup) const
+{
+ QPainter p( &pix );
+ if (QApplication::reverseLayout()) {
+ p.fillRect( popup->frameRect().width()-22, 0, 22, pix.height(), cg.mid() );
+ p.fillRect( 0, 0, popup->frameRect().width()-22, pix.height(), cg.background().light() );
+ } else {
+ p.fillRect( 0, 0, pix.width(), pix.height(), cg.background().light() );
+ p.fillRect( popup->frameRect().left() + 1, 0, 22, pix.height(), cg.mid() );
+ }
+}
+
+/* This is the code that renders 90+% of the buttons in dotNET.
+ * Changing the code here will most likely affect EVERYTHING.
+ * If you want to modify the style, this is a good place to start.
+ * Also, take a look at the sizeMetric function and play with the
+ * widths that things return for different Frame elements.
+ */
+void dotNETstyle::renderButton(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g,
+ bool sunken,
+ bool corners) const
+{
+ if (sunken) {
+ p->setPen(g.highlight().dark());
+ p->setBrush(g.highlight());
+ p->drawRect(r);
+ } else {
+ int x, y, w, h;
+ r.rect(&x, &y, &w, &h);
+
+ if (pseudo3D) {
+ if (roundedCorners) {
+ const QCOORD iCorners[] = { x, y + h - 2, x, y + 1, x + 1, y, x + w - 2, y, x + w - 1, y + 1, x + w - 1, y + h - 2, x + w - 2, y + h - 1, x + 1, y + h - 1 };
+ p->fillRect(x+1, y+1, w-2, h-2, g.button());
+ p->setPen(g.button().dark());
+ p->drawLineSegments(QPointArray(8, iCorners));
+ if (corners) {
+ const QCOORD cPixels[] = { x, y, x + w - 1, y, x + w - 1, y + h - 1, x, y + h - 1 };
+ p->setPen(g.button());
+ p->drawPoints(QPointArray(4, cPixels));
+ }
+ } else {
+ p->setPen(g.button().dark());
+ p->setBrush(g.button());
+ p->drawRect(r);
+ }
+
+ const QCOORD oCorners[] = { x + 1, y + h - 2, x + 1, y + 1, x + w - 2, y + 1, x + w - 2, y + h - 2 };
+ const QPointArray outline(4, oCorners);
+ p->setPen(g.button().dark(115));
+ p->setBrush(QBrush::NoBrush);
+ p->drawConvexPolygon(outline);
+ p->setPen(g.button().light());
+ p->drawPolyline(outline, 0, 3);
+ } else {
+ p->setPen(g.button().dark());
+ p->setBrush(g.button());
+ p->drawRect(r);
+ p->setPen(g.button().light());
+ p->drawLine(x, y + h - 1, x, y);
+ p->drawLine(x, y, x + w - 1, y);
+ }
+ }
+}
+
+/* This is the code that renders the slider handles on scrollbars. It draws
+ * them just like normal buttons, by calling renderButton, but it also adds
+ * very subtle grips to the slider handle.
+ */
+void dotNETstyle::renderSlider(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g) const
+{
+ int x, y, w, h;
+ int offset = 6;
+ int llx, lly, urx, ury;
+
+ r.rect(&x,&y,&w,&h);
+
+ llx = (x + (w/2) - 4);
+ lly = (y + (h/2) + 3);
+ urx = (x + (w/2) + 2);
+ ury = (y + (h/2) - 3);
+
+ renderButton(p, r, g, false, true);
+
+ p->save();
+
+ if (h > 15 && w > 15) {
+ p->setPen(g.background().dark(120));
+ p->drawLine(llx, lly, urx, ury);
+ if (h > 35) {
+ p->translate(0, offset);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(0, -(offset * 2));
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(0, offset);
+ }
+
+ if (w > 35) {
+ p->translate(offset, 0);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(-(offset * 2), 0);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(offset, 0);
+ }
+
+ p->setPen(g.background().light());
+ p->translate(0, 1);
+ p->drawLine(llx, lly, urx, ury);
+ if (h > 35) {
+ p->translate(0, offset);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(0, -(offset * 2));
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(0, offset);
+ }
+
+ if (w > 35) {
+ p->translate(offset, 0);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(-(offset * 2), 0);
+ p->drawLine(llx, lly, urx, ury);
+ p->translate(offset, 0);
+ }
+ }
+
+ p->restore();
+}
+
+/* This function does the rendering for most of the panels in dotNET.
+ * The QCOORD stuff is used to provide the slightly-rounded corners.
+ * Changing this function will have pretty widespread effects. Also a good
+ * place to start if you're looking to make your own style.
+ */
+void dotNETstyle::renderPanel(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g,
+ bool sunken,
+ bool thick) const
+{
+ int x, x2, y, y2, w, h;
+ r.rect(&x,&y,&w,&h);
+ r.coords(&x, &y, &x2, &y2);
+
+ p->save();
+
+ if (pseudo3D) {
+ const QCOORD oCorners[] = { x, y2, x, y, x2, y, x2, y2 };
+ const QCOORD iCorners[] = { x+1, y2-1, x+1, y+1, x2-1, y+1, x2-1, y2-1 };
+ p->setPen(g.background().dark());
+ p->drawConvexPolygon(QPointArray(4, oCorners));
+
+ if (thick) {
+ p->setPen(g.background().dark(115));
+ p->drawConvexPolygon(QPointArray(4, iCorners));
+ p->setPen(g.background().light());
+
+ if (sunken) {
+ p->drawLine(w-2, h-2, x+1, h-2);
+ p->drawLine(w-2, h-2, w-2, y+1);
+ } else {
+ p->drawLine(x+1, y+1, x+1, h-2);
+ p->drawLine(x+1, y+1, w-2, y+1);
+ }
+ }
+
+ if (roundedCorners) {
+ p->setPen(g.background());
+ p->drawPoints(QPointArray(4, oCorners));
+ }
+ } else {
+ if (sunken) {
+ const QCOORD corners[] = { x2, y, x2, y2, x, y2, x, y };
+ p->setPen(g.background().dark());
+ p->drawConvexPolygon(QPointArray(4, corners));
+ p->setPen(g.background().light());
+ p->drawPolyline(QPointArray(4, corners), 0, 3);
+ } else {
+ const QCOORD corners[] = { x, y2, x, y, x2, y, x2, y2 };
+ p->setPen(g.background().dark());
+ p->drawPolygon(QPointArray(4, corners));
+ p->setPen(g.background().light());
+ p->drawPolyline(QPointArray(4, corners), 0, 3);
+ }
+ }
+
+ if (kickerMode) {
+ // Stolen wholesale from Keramik. I don't like it, but oh well.
+ if (!thick) {
+ if (sunken) {
+ const QCOORD corners[] = { x2, y, x2, y2, x, y2, x, y };
+ p->setPen(g.background().dark());
+ p->drawConvexPolygon(QPointArray(4, corners));
+ p->setPen(g.background().light());
+ p->drawPolyline(QPointArray(4, corners), 0, 3);
+ } else {
+ const QCOORD corners[] = { x, y2, x, y, x2, y, x2, y2 };
+ p->setPen(g.background().dark());
+ p->drawPolygon(QPointArray(4, corners));
+ p->setPen(g.background().light());
+ p->drawPolyline(QPointArray(4, corners), 0, 3);
+ }
+ }
+ }
+
+ p->restore();
+}
+
+
+void dotNETstyle::drawKStylePrimitive(KStylePrimitive kpe,
+ QPainter *p,
+ const QWidget* widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags,
+ const QStyleOption& opt) const
+{
+// SLIDER
+// ------
+ switch( kpe ) {
+ case KPE_SliderGroove: {
+ const QSlider* slider = (const QSlider*)widget;
+ int x, y, w, h;
+ r.rect(&x, &y, &w, &h);
+ bool horizontal = slider->orientation() == Horizontal;
+ int gcenter = (horizontal ? h : w) / 2;
+
+ if (horizontal) {
+ gcenter += y;
+ p->setPen (cg.background().dark());
+ p->drawLine(x, gcenter, x+w, gcenter);
+ gcenter++;
+ p->setPen (cg.background().light());
+ p->drawLine(x, gcenter, x + w, gcenter);
+ } else {
+ gcenter += x;
+ p->setPen (cg.background().dark());
+ p->drawLine(gcenter, y, gcenter, y + h);
+ gcenter++;
+ p->setPen (cg.background().light());
+ p->drawLine(gcenter, y, gcenter, y + h);
+ }
+ break;
+ }
+
+ case KPE_SliderHandle: {
+ renderButton(p, r, cg);
+ break;
+ }
+
+ default:
+ KStyle::drawKStylePrimitive(kpe, p, widget, r, cg, flags, opt);
+ }
+}
+
+
+// This function draws primitive elements as well as their masks.
+void dotNETstyle::drawPrimitive(PrimitiveElement pe,
+ QPainter *p,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags,
+ const QStyleOption &opt ) const
+{
+ bool down = flags & Style_Down;
+ bool on = flags & Style_On;
+ bool sunken = flags & Style_Sunken;
+ bool horiz = flags & Style_Horizontal;
+
+ int x, x2, y, y2, w, h;
+ r.rect(&x, &y, &w, &h);
+ r.coords(&x, &y, &x2, &y2);
+
+ switch(pe) {
+ // BUTTONS
+ // -------
+ case PE_ButtonBevel:
+ case PE_ButtonTool:
+ case PE_ButtonDropDown:
+ case PE_HeaderSection:
+ case PE_ButtonCommand: {
+
+ if (on || down) {
+ renderButton(p, r, cg, true);
+ p->setPen( cg.highlightedText() );
+ } else {
+ renderButton(p, r, cg, false, true);
+ }
+
+ break;
+ }
+
+ case PE_ButtonDefault: {
+ QRect sr = r;
+ p->setPen(QPen::NoPen);
+ p->setBrush(cg.background().dark(105));
+ p->drawRoundRect(sr, 25, 25);
+ p->setBrush(cg.background().dark(110));
+ sr.setCoords(sr.x() + 1, sr.y() + 1, sr.width() - 2, sr.height() - 2);
+ p->drawRoundRect(sr, 25, 25);
+ p->setBrush(cg.background().dark(115));
+ sr.setCoords(sr.x() + 1, sr.y() + 1, sr.width() - 2, sr.height() - 2);
+ p->drawRoundRect(sr, 25, 25);
+ break;
+ }
+
+ case PE_ScrollBarSlider: {
+ renderSlider(p, r, cg);
+ break;
+ }
+
+ case PE_ScrollBarAddPage:
+ case PE_ScrollBarSubPage: {
+ // draw double buffered to avoid flicker...
+ QPixmap buffer(2,2);
+ QRect br(buffer.rect() );
+ QPainter bp(&buffer);
+
+ if (on || down) {
+ bp.fillRect(br, QBrush(cg.mid().dark()));
+ } else {
+ bp.fillRect(br, QBrush(cg.background()));
+ }
+ bp.fillRect(br, QBrush(cg.background().light(), Dense4Pattern));
+
+ bp.end();
+ p->drawTiledPixmap(r, buffer);
+
+ break;
+ }
+
+ // SCROLLBAR BUTTONS
+ // -----------------
+ case PE_ScrollBarSubLine: {
+ drawPrimitive(PE_ButtonBevel, p, r, cg, flags);
+ p->setPen(down ? cg.highlightedText() : cg.foreground());
+ drawPrimitive((horiz ? PE_ArrowLeft : PE_ArrowUp), p, r, cg, flags);
+ break;
+ }
+
+ case PE_ScrollBarAddLine: {
+ drawPrimitive(PE_ButtonBevel, p, r, cg, flags);
+ p->setPen(down ? cg.highlightedText() : cg.foreground());
+ drawPrimitive((horiz ? PE_ArrowRight : PE_ArrowDown), p, r, cg, flags);
+ break;
+ }
+
+ // CHECKBOXES
+ // ----------
+ case PE_Indicator: {
+ p->setPen(cg.background().dark());
+ p->setBrush(flags & Style_Enabled ? cg.light() : cg.background());
+ p->drawRect(r);
+ p->setPen(cg.background().dark(115));
+ p->drawLine(x + 1, y + 1, w - 2, y + 1);
+ p->drawLine(x + 1, y + 1, x + 1, h - 2);
+
+ if (pseudo3D && roundedCorners) {
+ const QCOORD corners[] = { x, y, x, y2, x2, y, x2, y2 };
+ p->setPen(cg.background());
+ p->drawPoints(QPointArray(4, corners));
+ }
+
+ break;
+ }
+
+ case PE_IndicatorMask: {
+ p->fillRect (r, color1);
+
+ if (roundedCorners) {
+ p->setPen (color0);
+ p->drawPoint(r.topLeft());
+ p->drawPoint(r.topRight());
+ p->drawPoint(r.bottomLeft());
+ p->drawPoint(r.bottomRight());
+ }
+ break;
+ }
+
+ // RADIOBUTTONS
+ // ------------
+ case PE_ExclusiveIndicator: {
+ const QCOORD outline[] = { 0, 7, 0, 5, 1, 4, 1, 3, 2, 2, 3, 1, 4, 1, 5, 0, 7, 0, 8, 1, 9, 1, 10, 2, 11, 3, 11, 4, 12, 5, 12, 7, 11, 8, 11, 9, 10, 10, 9, 11, 8, 11, 7, 12, 5, 12, 4, 11, 3, 11, 2, 10, 1, 9, 1, 8 };
+ const QCOORD indark[] = { 1, 7, 1, 6, 1, 5, 2, 4, 2, 3, 3, 2, 4, 2, 5, 1, 6, 1, 7, 1 };
+
+ p->fillRect(r, cg.background());
+ p->setPen(cg.background().dark());
+ p->setBrush(flags & Style_Enabled ? cg.light() : cg.background());
+ p->drawPolygon(QPointArray(28, outline));
+ p->setPen(cg.background().dark(115));
+ p->drawPoints(QPointArray(10, indark));
+ break;
+ }
+
+ case PE_ExclusiveIndicatorMask: {
+ const QCOORD outline[] = { 0, 7, 0, 5, 1, 4, 1, 3, 2, 2, 3, 1, 4, 1, 5, 0, 7, 0, 8, 1, 9, 1, 10, 2, 11, 3, 11, 4, 12, 5, 12, 7, 11, 8, 11, 9, 10, 10, 9, 11, 8, 11, 7, 12, 5, 12, 4, 11, 3, 11, 2, 10, 1, 9, 1, 8 };
+ p->fillRect(r, color0);
+ p->setPen(color1);
+ p->setBrush(color1);
+ p->translate(r.x(), r.y());
+ p->drawPolygon(QPointArray(28, outline));
+ p->translate(-r.x(), -r.y());
+ break;
+ }
+
+ // GENERAL PANELS
+ // --------------
+ case PE_Splitter: {
+ int k;
+ p->fillRect(r, cg.background());
+ p->setBrush(cg.background().dark());
+
+ if (horiz) {
+ for (k = r.center().y() - 9; k < r.center().y() + 9; k += 3) {
+ p->drawLine(x + 2, k, w - 2, k);
+ }
+ } else {
+ for (k = r.center().x() - 9; k < r.center().x() + 9; k += 3) {
+ p->drawLine(k, y + 2, k, h - 2);
+ }
+ }
+
+ break;
+ }
+
+ case PE_PanelGroupBox:
+ case PE_GroupBoxFrame: {
+ p->setPen(cg.background().dark());
+ p->setBrush(cg.background());
+ p->drawRect(r);
+
+ if (pseudo3D && roundedCorners) {
+ const QCOORD corners[] = { x, y, x, y2, x2, y, x2, y2 };
+ p->setPen(cg.background());
+ p->drawPoints(QPointArray(4, corners));
+ }
+ break;
+ }
+
+ case PE_WindowFrame:
+ case PE_Panel: {
+ renderPanel(p, r, cg, sunken, false);
+ break;
+ }
+
+ case PE_PanelLineEdit: {
+ renderPanel(p, r, cg, true, true);
+ break;
+ }
+
+ case PE_StatusBarSection: {
+ renderPanel(p, r, cg, true, false);
+ break;
+ }
+
+ case PE_TabBarBase: // Still not sure what this one does
+ case PE_PanelTabWidget: {
+ renderPanel(p, r, cg, sunken);
+ break;
+ }
+
+ case PE_PanelPopup: {
+ p->setPen(cg.shadow());
+ p->drawRect(r);
+ break;
+ }
+
+ // MENU / TOOLBAR PANEL
+ // --------------------
+ case PE_PanelMenuBar: // Menu
+ case PE_PanelDockWindow: { // Toolbar
+ p->setPen(cg.button());
+ p->drawRect(r);
+ break;
+ }
+
+ // TOOLBAR/DOCK WINDOW HANDLE
+ // --------------------------
+ case PE_DockWindowResizeHandle: {
+ renderButton(p, r, cg);
+ break;
+ }
+
+ case PE_DockWindowHandle: {
+ int k;
+
+ p->fillRect(r, cg.button());
+ p->setPen(cg.button().dark());
+
+ if (horiz) {
+ for (k = r.center().y() - 9; k < r.center().y() + 9; k += 3) {
+ p->drawLine(x + 2, k, w - 2, k);
+ }
+ } else {
+ for (k = r.center().x() - 9; k < r.center().x() + 9; k += 3) {
+ p->drawLine(k, y + 2, k, h - 2);
+ }
+ }
+
+ break;
+ }
+
+ // TOOLBAR SEPARATOR
+ // -----------------
+ case PE_DockWindowSeparator: {
+ break;
+ }
+
+ case PE_CheckMark: {
+ int x = r.center().x() - 3, y = r.center().y() - 3;
+ const QCOORD check[] = { x, y + 2, x, y + 4, x + 2, y + 6, x + 6, y + 2, x + 6, y, x + 2, y + 4 };
+ const QPointArray a(6, check);
+
+ p->setPen(flags & Style_Down ? cg.highlight() : p->pen());
+ p->setBrush(flags & Style_Down ? cg.highlight() : p->pen().color());
+ p->drawPolygon(a);
+
+ break;
+ }
+
+ case PE_SpinWidgetUp:
+ case PE_SpinWidgetDown:
+ case PE_HeaderArrow:
+ case PE_ArrowUp:
+ case PE_ArrowDown:
+ case PE_ArrowLeft:
+ case PE_ArrowRight: {
+ QPointArray a;
+
+ switch (pe) {
+ case PE_SpinWidgetUp:
+ case PE_ArrowUp: {
+ a.setPoints(7, u_arrow);
+ break;
+ }
+ case PE_SpinWidgetDown:
+ case PE_ArrowDown: {
+ a.setPoints(7, d_arrow);
+ break;
+ }
+ case PE_ArrowLeft: {
+ a.setPoints(7, l_arrow);
+ break;
+ }
+ case PE_ArrowRight: {
+ a.setPoints(7, r_arrow);
+ break;
+ }
+ default: {
+ if (flags & Style_Up) {
+ a.setPoints(7, u_arrow);
+ } else {
+ a.setPoints(7, d_arrow);
+ }
+ }
+ }
+
+ p->save();
+
+ if (flags & Style_Down) {
+ p->translate(pixelMetric(PM_ButtonShiftHorizontal),
+ pixelMetric(PM_ButtonShiftVertical));
+ }
+
+ if (flags & Style_Enabled) {
+ a.translate((r.x() + r.width()/2), (r.y() + r.height()/2));
+ if (p->pen() == QPen::NoPen) {
+ p->setPen(cg.buttonText());
+ }
+ p->drawLineSegments(a, 0, 3);
+ p->drawPoint(a[6]);
+ } else {
+ a.translate((r.x() + r.width()/2)+1, (r.y() + r.height()/2)+1);
+ if (p->pen() == QPen::NoPen) {
+ p->setPen(cg.highlightedText());
+ }
+ p->drawLineSegments(a, 0, 3);
+ p->drawPoint(a[6]);
+
+ a.translate(-1,-1);
+ if (p->pen() == QPen::NoPen) {
+ p->setPen(cg.mid());
+ }
+ p->drawLineSegments(a, 0, 3);
+ p->drawPoint(a[6]);
+ }
+
+ p->restore();
+ break;
+ }
+
+ default: {
+ return KStyle::drawPrimitive(pe, p, r, cg, flags, opt);
+ }
+ }
+}
+
+
+void dotNETstyle::drawControl(ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags,
+ const QStyleOption& opt) const
+{
+ switch (element) {
+ // CHECKBOXES
+ // ----------
+ case CE_CheckBox: {
+ drawPrimitive(PE_Indicator, p, r, cg, flags);
+ if (flags & Style_On || flags & Style_Down) {
+ p->setPen(cg.foreground());
+ drawPrimitive(PE_CheckMark, p, r, cg, flags);
+ }
+ break;
+ }
+
+ // PROGRESSBAR
+ // -----------
+ case CE_ProgressBarGroove: {
+ renderPanel(p, r, cg, true, false);
+ break;
+ }
+
+ case CE_ProgressBarContents: {
+ const QProgressBar *pb = (const QProgressBar *)widget;
+
+ if (pb->totalSteps()) {
+ int x, y, w, h;
+ double percent = (double)pb->progress() / (double)pb->totalSteps();
+
+ r.rect(&x, &y, &w, &h);
+
+ p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.background().light());
+
+ if (QApplication::reverseLayout()) {
+ x += w - ((int)(w * percent));
+ y += 1; h -= 2;
+ w = ((int)(w * percent)) - 2;
+ } else {
+ x += 1; y += 1; h -= 2;
+ w = (int)(w * percent) - 2;
+ }
+
+ p->fillRect(x, y, w, h, cg.highlight());
+
+ if (pb->progress() < pb->totalSteps()) {
+ p->setPen(cg.background().dark(115));
+ if (QApplication::reverseLayout()) {
+ p->drawLine(x - 1, y, x - 1, h);
+ } else {
+ p->drawLine(x + w, y, x + w, h);
+ }
+ }
+
+ if (pseudo3D) {
+ QPointArray corners;
+ if (QApplication::reverseLayout()) {
+ const QCOORD c[] = { x, h, x, y, x + w, y, x + w, h };
+ corners = QPointArray(4, c);
+ } else {
+ const QCOORD c[] = { x, h, x, y, w, y, w, h };
+ corners = QPointArray(4, c);
+ }
+ p->setPen(cg.highlight().dark(120));
+ p->drawConvexPolygon(corners);
+ p->setPen(cg.highlight().light(120));
+ p->drawPolyline(corners, 0, 3);
+ if (roundedCorners) {
+ p->setPen(cg.background().dark());
+ p->drawPoints(corners);
+ }
+ }
+ }
+ break;
+ }
+
+ // RADIOBUTTONS
+ // ------------
+ case CE_RadioButton: {
+ drawPrimitive(PE_ExclusiveIndicator, p, r, cg, flags);
+
+ if (flags & Style_On || flags & Style_Down) {
+ QCOORD center[] = { 4, 5, 4, 7, 5, 8, 7, 8, 8, 7, 8, 5, 7, 4, 5, 4 };
+ QPointArray c(8, center);
+ p->setPen(flags & Style_Down ? cg.highlight() : cg.text());
+ p->setBrush(flags & Style_Down ? cg.highlight() : cg.text());
+ p->drawPolygon(c);
+ }
+ break;
+ }
+
+ // TABS
+ // ----
+ case CE_TabBarTab: {
+ const QTabBar *tb = (const QTabBar *) widget;
+ bool cornerWidget = false;
+ QTabBar::Shape tbs = tb->shape();
+ bool selected = flags & Style_Selected;
+ int x, x2, y, y2, w, h;
+ r.rect(&x, &y, &w, &h);
+ r.coords(&x, &y, &x2, &y2);
+
+ if (tb->parent()->inherits("QTabWidget")) {
+ const QTabWidget *tw = (const QTabWidget *)tb->parent();
+ QWidget *cw = tw->cornerWidget(Qt::TopLeft);
+ if (cw) {
+ cornerWidget = true;
+ }
+ }
+
+ switch (tbs) {
+ case QTabBar::RoundedAbove: {
+ y2 -= 1;
+ if (pseudo3D) {
+ p->setPen(cg.background().dark());
+ if (selected) {
+ const QCOORD oCorners[] = { x, y2, x, y, x2, y, x2, y2 };
+ p->drawPolyline(QPointArray(4, oCorners));
+
+ if (roundedCorners) {
+ p->setPen(cg.background());
+ p->drawPoints(QPointArray(4, oCorners), 1, 2);
+ }
+
+ p->setPen(cg.background().dark(115));
+ /* Right inner border */
+ p->drawLine(x + w - 2, y + 1, x + w - 2, y + h - 2);
+ p->setPen(cg.background().light());
+ /* Top inner border */
+ p->drawLine(x + 1, y + 1, x + w - 2, y + 1);
+ /* Left inner border */
+ p->drawLine(x + 1, y + 1, x + 1, y + h - 1);
+ } else {
+ QRect r2(x+1, y+3, w-2, h-5);
+ p->fillRect(r2, cg.mid().light(105));
+
+ const QCOORD oCorners[] = { x, y2, x, y + 2, x2, y + 2, x2, y2 };
+ p->drawPolyline(QPointArray(4, oCorners));
+
+ p->setPen(cg.background());
+
+ /* hack where the rounded corners sometimes go away */
+ if (roundedCorners) {
+ p->drawPoint(x + w - 1, y + 2);
+ }
+
+ p->setPen(cg.background().light());
+ /* Top of underlying tabbar-widget */
+ p->drawLine(x, y + h - 1, x + w - 1, y + h - 1);
+ p->setPen(cg.background().dark());
+ /* Top of underlying tabbar-widget */
+ p->drawLine(x, y + h - 2, x + w - 1, y + h - 2);
+ /* Outer right border */
+ p->drawLine(x + w - 1, y + 3, x + w - 1, y + h - 2);
+ }
+
+ if (opt.tab()->identifier() == 0 && !cornerWidget) {
+ p->setPen(cg.background().dark());
+ p->drawPoint(x, y + h - 1);
+ }
+ } else {
+ p->setPen(cg.background().dark());
+ if (selected) {
+ p->drawLine(x + w - 1, y, x + w - 1, y + h - 2);
+ p->setPen(cg.background().light());
+ p->drawLine(x, y, x + w - 1, y);
+ p->drawLine(x, y, x, y + h - 1);
+ p->setPen(cg.background().dark(115));
+ p->drawLine(x + w - 2, y + 1, x + w - 2, y + h - 3);
+ } else {
+ QRect r2(x + 1, y + 3, w - 2, h - 4);
+ p->fillRect(r2, cg.mid());
+
+ p->setPen(cg.background().light());
+ p->drawLine(x, y + 2, x + w - 1, y + 2);
+ p->drawLine(x, y + 2, x, y + h - 1);
+ p->drawLine(x, y + h - 1, x + w - 1, y + h - 1);
+
+ p->setPen(cg.mid().dark(115));
+ p->drawLine(x + w - 2, y + 3, x + w - 2, y + h - 3);
+ }
+ }
+
+ break;
+ }
+
+ case QTabBar::RoundedBelow: {
+ if (pseudo3D) {
+ p->setPen(cg.background().dark());
+ if (selected) {
+ const QCOORD oCorners[] = { x, y + 1, x, y2, x2, y2, x2, y + 1 };
+ p->drawPolyline(QPointArray(4, oCorners));
+
+ p->setPen(cg.background().dark(115));
+ p->drawLine(x + 1, y + h - 2, x + w - 2, y + h - 2);
+ /* Right inner border */
+ p->drawLine(x + w - 2, y + 1, x + w - 2, y + h - 2);
+ p->setPen(cg.background().light());
+ /* Left inner border */
+ p->drawLine(x + 1, y, x + 1, y + h - 2);
+ } else {
+ y2 -= 2;
+ const QCOORD oCorners[] = { x, y, x, y2, x2, y2, x2, y };
+ QRect r2(x + 1, y + 2, w - 2, h - 5);
+ p->fillRect(r2, cg.mid().light(105));
+
+ p->drawPolyline(QPointArray(4, oCorners));
+
+ p->setPen(cg.mid().dark(115));
+ /* Inner right border */
+ p->drawLine(x + w - 2, y + 2, x + w - 2, y + h - 4);
+ p->drawLine(x + 1, y + h - 4, x + w - 2, y + h - 4);
+
+ p->setPen(cg.background().dark(115));
+ /* Top of underlying tabbar-widget */
+ p->drawLine(x, y, x + w - 1, y);
+ p->setPen(cg.background().dark());
+ /* Top of underlying tabbar-widget */
+ p->drawLine(x, y + 1, x + w - 1, y + 1);
+ /* Outer right border */
+ p->drawLine(x + w - 1, y + 3, x + w - 1, y + h - 2);
+
+ /* hack where the rounded corners sometimes go away */
+ if (roundedCorners) {
+ p->setPen(cg.background());
+ p->drawPoint(x + w - 1, y + h - 3);
+ p->drawPoint(x + w - 1, y + h - 2);
+ }
+ }
+
+ if (opt.tab()->identifier() == 0 && !cornerWidget) {
+ p->setPen(cg.background().dark());
+ p->drawPoint(x, y);
+ }
+ } else {
+ if (selected) {
+ p->setPen(cg.background().light());
+ p->drawLine(x, y, x, y + h - 1);
+
+ p->setPen(cg.background().dark());
+ p->drawLine(x + w - 1, y, x + w - 1, y + h - 1);
+ p->drawLine(x, y + h-1, x + w - 1, y + h - 1);
+ } else {
+ QRect r2(x, y + 1, w - 1, h - 4);
+ p->fillRect(r2, cg.mid());
+
+ p->setPen(cg.background().dark());
+ p->drawLine(x, y, x + w - 1, y);
+
+ p->setPen(cg.mid().dark(115));
+ p->drawLine(x + w - 2, y + 1, x + w - 2, y + h - 5);
+ p->drawLine(x, y + h - 4, x + w - 1, y + h - 4);
+ }
+ }
+ break;
+ }
+
+ default:
+ winstyle->drawControl(element, p, widget, r, cg, flags, opt);
+ }
+
+ break;
+ }
+
+ case CE_TabBarLabel: {
+ const int text_flags = AlignVCenter | AlignHCenter | ShowPrefix |
+ DontClip | SingleLine;
+
+ p->save();
+
+ if (useTextShadows) {
+ p->setPen(cg.background().dark(115));
+ p->drawText(r.x()+1, r.y()+1, r.width(), r.height(), text_flags, opt.tab()->text());
+ }
+
+ p->setPen(flags & Style_Enabled ? cg.foreground() : cg.mid().dark());
+
+ if (!flags & Style_Selected) {
+ p->translate(pixelMetric(PM_ButtonShiftHorizontal),
+ pixelMetric(PM_ButtonShiftVertical));
+ }
+
+ p->drawText(r, text_flags, opt.tab()->text());
+
+ if (flags & Style_HasFocus)
+ drawPrimitive(PE_FocusRect, p, r, cg);
+
+ p->restore();
+ break;
+ }
+
+ case CE_PushButton: {
+ QPushButton *button = (QPushButton *)widget;
+ QRect br = r;
+ bool btnDefault = button->isDefault();
+
+ static int di = pixelMetric(PM_ButtonDefaultIndicator);
+ br.addCoords(di, di, -di, -di);
+
+ if (btnDefault) {
+ drawPrimitive(PE_ButtonDefault, p, r, cg, flags);
+ }
+
+ drawPrimitive(PE_ButtonBevel, p, br, cg, flags);
+ break;
+ }
+
+ case CE_PushButtonLabel: {
+ const QPushButton *pb = (const QPushButton *)widget;
+ const bool enabled = flags & Style_Enabled;
+ const int text_flags = AlignVCenter | AlignHCenter | ShowPrefix |
+ DontClip | SingleLine;
+ QRect ur(r);
+
+ if (flags & Style_Down) {
+ p->translate(pixelMetric(PM_ButtonShiftHorizontal),
+ pixelMetric(PM_ButtonShiftVertical));
+ }
+
+ if (!pb->text().isEmpty() && (flags & Style_ButtonDefault)) {
+ p->setFont(QFont(p->font().family(), p->font().pointSize(), 75));
+ }
+
+ if (pb->iconSet() && !pb->iconSet()->isNull()) {
+ QIconSet::Mode mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
+ QPixmap pixmap = pb->iconSet()->pixmap(QIconSet::Small, mode);
+
+ if (!pb->text().isEmpty())
+ {
+ const int TextToIconMargin = 3;
+ int length = pixmap.width() + TextToIconMargin
+ + p->fontMetrics().size(ShowPrefix, pb->text()).width();
+ int offset = (r.width() - length)/2;
+
+ p->drawPixmap( r.x() + offset, r.y() + r.height() / 2 - pixmap.height() / 2, pixmap );
+ ur.addCoords(offset + pixmap.width() + TextToIconMargin, 0, -offset, 0);
+ }
+ else
+ {
+ if (!pb->pixmap())
+ p->drawPixmap(r.x() + r.width()/2 - pixmap.width()/2, r.y() + r.height() / 2 - pixmap.height() / 2,
+ pixmap);
+ else //icon + pixmap. Ugh.
+ p->drawPixmap(r.x() + pb->isDefault() ? 8 : 4 , r.y() + r.height() / 2 - pixmap.height() / 2, pixmap);
+ }
+ }
+
+ if (pb->pixmap() && !pb->text()) {
+ QRect pr(0, 0, pb->pixmap()->width(), pb->pixmap()->height());
+ pr.moveCenter(r.center());
+ p->drawPixmap(pr.topLeft(), *pb->pixmap());
+ }
+
+ if (useTextShadows && !pb->text().isEmpty() && enabled) {
+ p->setPen((flags & Style_Down ? cg.highlight().dark(135) : cg.background().dark(115)));
+ p->drawText(ur.x()+1, ur.y()+1, ur.width(), ur.height(), text_flags, pb->text());
+ }
+
+ if (!pb->text().isEmpty()) {
+ p->setPen(enabled ? cg.foreground() : pb->palette().disabled().buttonText());
+ p->drawText(ur, text_flags, pb->text());
+ }
+
+ if ( flags & Style_HasFocus )
+ drawPrimitive( PE_FocusRect, p,
+ visualRect( subRect( SR_PushButtonFocusRect, widget ), widget ),
+ cg, flags );
+
+ break;
+ }
+
+ // MENUBAR ITEM (sunken panel on mouse over)
+ // -----------------------------------------
+ case CE_MenuBarItem: {
+ QMenuItem *mi = opt.menuItem();
+ bool active = flags & Style_Active;
+ bool focused = flags & Style_HasFocus;
+ bool down = flags & Style_Down;
+ const int text_flags =
+ AlignVCenter | AlignHCenter | ShowPrefix | DontClip | SingleLine;
+ int x, x2, y, y2;
+ r.coords(&x, &y, &x2, &y2);
+
+ if (active && focused) {
+ p->setBrush(cg.highlight());
+ p->setPen(down ? cg.highlight().light() : cg.highlight().dark());
+ p->drawRect(r);
+ if (pseudo3D && roundedCorners && !down) {
+ const QCOORD corners[] = { x, y2, x, y, x2, y, x2, y2 };
+ p->setPen(cg.background());
+ p->drawPoints(QPointArray(4, corners));
+ }
+
+ if (down) {
+ p->setBrush(cg.background().light());
+ p->setPen(cg.background().dark());
+ p->drawRect(r);
+ p->setPen(cg.background().light());
+ p->drawLine(x+1, y2, x2-1, y2);
+ if (pseudo3D && roundedCorners) {
+ p->setPen(cg.background());
+ p->drawPoint(x, y);
+ p->drawPoint(x2, y);
+ }
+ }
+ }
+
+ if (useTextShadows) {
+ p->setPen((active && focused && !down ? cg.highlight().dark(135) : cg.background().dark(115)));
+ p->drawText(r.x() + 1, r.y() + 1, r.width(), r.height(), text_flags, mi->text());
+ }
+ p->setPen((active && focused && !down ? cg.highlightedText() : cg.foreground()));
+ p->drawText(r, text_flags, mi->text());
+ break;
+ }
+
+ // POPUPMENU ITEM (highlighted on mouseover)
+ // ------------------------------------------
+ case CE_PopupMenuItem: {
+ QMenuItem *mi = opt.menuItem();
+
+ if (!mi) {
+ return;
+ }
+
+ const QPopupMenu *pum = (const QPopupMenu *) widget;
+ static const int itemFrame = 2;
+ static const int itemHMargin = 3;
+ static const int itemVMargin = 3;
+ static const int arrowHMargin = 6;
+ static const int rightBorder = 20;
+ const int tab = opt.tabWidth();
+
+ int checkcol = QMAX(opt.maxIconWidth(), 26);
+ int x, x2, y, y2, w, h;
+ r.rect(&x, &y, &w, &h);
+ r.coords(&x, &y, &x2, &y2);
+
+ bool active = flags & Style_Active;
+ bool disabled = !mi->isEnabled();
+ bool checkable = pum->isCheckable();
+
+ int xpos = x;
+ int xm = itemFrame + checkcol + itemHMargin;
+
+ if (pum->erasePixmap() && !pum->erasePixmap()->isNull()) {
+ p->drawPixmap( x, y, *pum->erasePixmap(), x, y, w, h );
+ } else {
+ if (!QApplication::reverseLayout()) {
+ p->fillRect( x, y, 22, h, cg.mid() );
+ p->fillRect( x + 22, y, w - 22, h, cg.background().light() );
+ } else { // i wonder why exactly +1 (diego)
+ p->fillRect( w-22, y, 22+1, h, cg.mid() );
+ p->fillRect( x, y, w - 22, h, cg.background().light() );
+ }
+ }
+
+ if (mi->isSeparator()) {
+ p->setPen(cg.mid());
+ if (!QApplication::reverseLayout())
+ p->drawLine(x + opt.maxIconWidth() + 6, y, x + w, y);
+ else
+ p->drawLine(w - (x + opt.maxIconWidth() + 6), y,
+ x, y);
+ return;
+ }
+
+ if (active && !disabled) {
+ p->setBrush(cg.highlight());
+ p->fillRect(x + 2, y + 2, w - 4, h - 4, cg.highlight());
+ p->setPen(cg.highlight().dark());
+ if (pseudo3D && roundedCorners) {
+ const QCOORD segments[] = { x+2, y+1, x2-2, y+1, x2-1, y+2, x2-1, y2-2, x2-2, y2-1, x+2, y2-1, x+1, y2-2, x+1, y+2 };
+ const QCOORD icorners[] = { x+2, y+2, x2-2, y+2, x2-2,y2-2, x+2, y2-2 };
+ p->drawLineSegments(QPointArray(8, segments));
+ p->drawPoints(QPointArray(4, icorners));
+ } else {
+ const QCOORD corners[] = { x+1, y2-1, x+1, y+1, x2-1, y+1, x2-1, y2-1 };
+ p->drawConvexPolygon(QPointArray(4, corners));
+ }
+ p->setPen(cg.highlightedText());
+ }
+
+ if (mi->iconSet()) {
+ p->save();
+ QIconSet::Mode mode =
+ disabled ? QIconSet::Disabled : QIconSet::Normal;
+ QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode);
+ int pixw = pixmap.width();
+ int pixh = pixmap.height();
+
+ QRect cr(xpos, y, opt.maxIconWidth(), h);
+ QRect pmr(0, 0, pixw, pixh);
+ pmr.moveCenter(cr.center());
+
+ if (QApplication::reverseLayout())
+ pmr = visualRect( pmr, r );
+
+ p->setPen(cg.highlightedText());
+ p->drawPixmap(pmr.topLeft(), pixmap);
+ p->restore();
+ }
+
+ p->setPen(active ? cg.highlightedText() : cg.buttonText());
+
+ xpos += xm;
+
+ if (mi->custom()) {
+ int m = itemVMargin;
+ p->setPen(cg.foreground());
+ mi->custom()->paint(p, cg, active, !disabled, x+xm, y+m, w-xm-tab+1, h-2*m);
+ return;
+ } else {
+ QString s = mi->text();
+ if(!s.isNull()) {
+ int t = s.find('\t');
+ int m = itemVMargin;
+
+ int text_flags = AlignVCenter | ShowPrefix | DontClip | SingleLine;
+
+ if (active && !disabled) {
+ p->setPen(cg.highlightedText());
+ } else if (disabled) {
+ p->setPen(cg.mid().light(110));
+ } else {
+ p->setPen(cg.text());
+ }
+
+ if (t >= 0) {
+ int xp;
+ xp = x + w - tab - rightBorder - itemHMargin - itemFrame + 1;
+
+ QRect rr = QRect(xp, y+m, tab, h-(2*m));
+ if (QApplication::reverseLayout())
+ rr = visualRect(rr, r);
+
+ if (useTextShadows) {
+ QPen op = p->pen();
+ p->setPen(active && !disabled ? cg.highlight().dark(130) : cg.background().dark(115));
+ p->drawText(rr.x() + 1, rr.y() + 1, rr.width(), rr.height(), text_flags, s.mid(t+1));
+ p->setPen(op);
+ }
+
+ p->drawText(rr, text_flags, s.mid(t+1));
+ s = s.left(t);
+ }
+
+ QRect rr = QRect(xpos, y+m, w-xm-tab+1, h-(2*m));
+ if (QApplication::reverseLayout()) {
+ rr = visualRect(rr, r);
+ text_flags |= AlignRight;
+ }
+
+ if (useTextShadows) {
+ QPen op = p->pen();
+ p->setPen(active && !disabled ? cg.highlight().dark(130) : cg.background().dark(115));
+ p->drawText(rr.x() + 1, rr.y() + 1, rr.width(), rr.height(), text_flags, s);
+ p->setPen(op);
+ }
+
+ p->drawText(rr, text_flags, s);
+ } else if (mi->pixmap()) {
+ QPixmap *pixmap = mi->pixmap();
+ if (pixmap->depth() == 1) {
+ p->setBackgroundMode(OpaqueMode);
+ }
+ p->drawPixmap(xpos, y, *pixmap);
+ if (pixmap->depth() == 1) {
+ p->setBackgroundMode(TransparentMode);
+ }
+ }
+ }
+
+ if (mi->popup()) {
+ int dim = pixelMetric(PM_MenuButtonIndicator);
+
+ xpos = x+w - arrowHMargin - 2*itemFrame - dim;
+
+ if (active && !disabled)
+ p->setPen(cg.highlightedText());
+ else
+ p->setPen(cg.text());
+
+
+ QRect rr = QRect(xpos, y + h/2 - dim/2, dim, dim);
+ if (QApplication::reverseLayout())
+ rr = visualRect( rr, r );
+ drawPrimitive((QApplication::reverseLayout() ? PE_ArrowLeft : PE_ArrowRight), p, rr, cg, Style_Enabled);
+ }
+
+ if (checkable) {
+ if (mi->isChecked()) {
+ int xp = x;
+
+ SFlags cflags = Style_Default;
+
+ if (!disabled)
+ cflags |= Style_Enabled;
+ else
+ cflags |= Style_On;
+
+ QRect rr = QRect( xp + 6, y + 6, 16, h - 6 );
+ if (QApplication::reverseLayout())
+ rr = visualRect( rr, r );
+
+ drawPrimitive(PE_CheckMark, p, rr, cg, cflags);
+ }
+ }
+
+ break;
+ }
+
+ // Menu and dockwindow empty space
+ //
+ case CE_DockWindowEmptyArea:
+ case CE_MenuBarEmptyArea:
+ p->fillRect(r, cg.button());
+ break;
+ default:
+ winstyle->drawControl(element, p, widget, r, cg, flags, opt);
+ }
+}
+
+void dotNETstyle::drawControlMask(ControlElement element,
+ QPainter *p,
+ const QWidget *w,
+ const QRect &r,
+ const QStyleOption &opt) const
+{
+ switch (element) {
+ case CE_PushButton: {
+ if (pseudo3D && roundedCorners) {
+ int x1, y1, x2, y2;
+ r.coords (&x1, &y1, &x2, &y2);
+ QCOORD corners[] = { x1, y1, x2, y1, x1, y2, x2, y2 };
+ p->fillRect (r, color1);
+ p->setPen (color0);
+ p->drawPoints (QPointArray (4, corners));
+ } else {
+ // Just fill the entire thing
+ p->fillRect (r, color1);
+ }
+ break;
+ }
+
+ default: {
+ KStyle::drawControlMask (element, p, w, r, opt);
+ }
+ }
+}
+
+void dotNETstyle::drawComplexControlMask(ComplexControl c,
+ QPainter *p,
+ const QWidget *w,
+ const QRect &r,
+ const QStyleOption &o) const
+{
+ switch (c) {
+ case CC_ComboBox: {
+ if (pseudo3D && roundedCorners) {
+ int x1, y1, x2, y2;
+ r.coords (&x1, &y1, &x2, &y2);
+ QCOORD corners[] = { x1, y1, x2, y1, x1, y2, x2, y2 };
+ p->fillRect (r, color1);
+ p->setPen (color0);
+ p->drawPoints (QPointArray (4, corners));
+ } else {
+ // Just fill the entire thing
+ p->fillRect (r, color1);
+ }
+ break;
+ }
+ default: {
+ KStyle::drawComplexControlMask (c, p, w, r, o);
+ }
+ }
+}
+
+void dotNETstyle::drawComplexControl(ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags,
+ SCFlags controls,
+ SCFlags active,
+ const QStyleOption& opt) const
+{
+ switch(control) {
+ // COMBOBOX
+ // --------
+ case CC_ComboBox: {
+ int x, y, w, h;
+ const QComboBox *cb = (const QComboBox *)widget;
+ r.rect(&x, &y, &w, &h);
+
+ if (active & Style_Sunken)
+ flags |= Style_Sunken;
+
+ static const unsigned char downarrow_bits[] = {
+ 0x7f, 0xbe, 0x9c, 0x08, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xb8
+ };
+
+ static const unsigned int handle_width = 15;
+ static const unsigned int handle_offset = handle_width + 1;
+
+ QBitmap downArrow = QBitmap(7, 4, downarrow_bits, true);
+ downArrow.setMask(downArrow);
+
+ cb->editable() ? p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.base()) : p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.light());
+
+ renderPanel(p, r, cg, true, true);
+
+ p->save();
+ // Draw the box on the right.
+ if (cb->listBox() && cb->listBox()->isVisible()) {
+ p->setPen(cg.highlight());
+ p->setBrush(cg.highlight().light());
+ } else if (flags & Style_HasFocus) {
+ p->setPen(cg.highlight().dark());
+ p->setBrush(cg.highlight());
+ } else {
+ p->setPen(cg.dark());
+ p->setBrush(cg.midlight());
+ }
+
+ QRect hr = (pseudo3D ? QRect(w - handle_offset - 1, y, handle_width + 2, h) : QRect(w - handle_offset - 1, y + 1, handle_width + 2, h - 1));
+ if (QApplication::reverseLayout()) { hr = visualRect(hr, r); }
+
+ p->drawRect(hr);
+ p->setBrush(NoBrush);
+ QRect rr = (pseudo3D ? QRect(x + 1, y + 1, w - 2, h - 2) : QRect(x + 1, y + 1, w - 1, h - 1));
+
+ if (QApplication::reverseLayout()) { rr = visualRect( rr, r ); }
+
+ if (flags & Style_HasFocus || cg.highlight() == cg.midlight() ||
+ (cb->listBox() && cb->listBox()->isVisible())) {
+ p->drawRect(rr);
+ }
+
+ if (pseudo3D && !((active & Style_Sunken) ||
+ (cb->listBox() && cb->listBox()->isVisible()))) {
+ p->save();
+ p->setBrush(NoBrush);
+ QColor test = ((flags & Style_HasFocus) ? cg.highlight() : cg.midlight());
+ p->setPen(test.dark());
+ p->drawRect(hr);
+ hr.moveBy(1,1);
+ hr.setSize(QSize(hr.width() -2, hr.height() -2));
+ QPointArray ca(3);
+ ca.setPoint(0, hr.topRight());
+ ca.setPoint(1, hr.bottomRight());
+ ca.setPoint(2, hr.bottomLeft());
+ p->setPen(test.dark(120));
+ p->drawPolyline(ca);
+ p->setPen(test.light(120));
+ ca.setPoint(1, hr.topLeft());
+ p->drawPolyline(ca);
+ p->restore();
+ }
+
+ if (pseudo3D && roundedCorners) {
+ p->setPen(cg.background());
+ p->drawPoint(r.topRight());
+ p->drawPoint(r.bottomRight());
+ p->setPen(cg.background().dark());
+ hr.moveBy(-1,-1);
+ hr.setSize(QSize(hr.width() + 2, hr.height() + 2));
+ p->drawPoint(hr.topLeft());
+ p->drawPoint(hr.bottomLeft());
+ }
+
+ if ((active && cb->hasFocus()) || (cb->listBox() && cb->listBox()->isVisible())) {
+ p->setPen(cg.highlightedText());
+ } else {
+ p->setPen(cg.text());
+ }
+
+ QRect cr(w - handle_offset, y, handle_width, h - 2);
+ QRect pmr(0, 0, 7, 4);
+ pmr.moveCenter(cr.center());
+ if (QApplication::reverseLayout()) {
+ pmr = visualRect( pmr, r );
+ }
+
+ p->drawPixmap(pmr.topLeft(), downArrow);
+
+ p->restore();
+ break;
+ }
+
+ // TOOLBUTTON
+ // ----------
+ case CC_ToolButton: {
+ const QToolButton *tb = (const QToolButton *) widget;
+
+ QRect button, menuarea;
+ button = querySubControlMetrics(control, widget, SC_ToolButton, opt);
+ menuarea = querySubControlMetrics(control, widget, SC_ToolButtonMenu, opt);
+
+ SFlags bflags = flags,
+ mflags = flags;
+
+ if (active & SC_ToolButton)
+ bflags |= Style_Down;
+
+ if (active & SC_ToolButtonMenu)
+ mflags |= Style_Down;
+
+ if (controls & SC_ToolButton) {
+ // If we're pressed, on, or raised...
+ if (bflags & (Style_Down | Style_On | Style_Raised)) {
+ drawPrimitive(PE_ButtonTool, p, button, cg, bflags, opt);
+ } else if (tb->parentWidget() &&
+ tb->parentWidget()->backgroundPixmap() &&
+ !tb->parentWidget()->backgroundPixmap()->isNull()) {
+ QPixmap pixmap = *(tb->parentWidget()->backgroundPixmap());
+ p->drawTiledPixmap( r, pixmap, tb->pos() );
+ }
+ }
+
+ // Draw a toolbutton menu indicator if required
+ if (controls & SC_ToolButtonMenu) {
+ if (mflags & (Style_Down | Style_On | Style_Raised)) {
+ drawPrimitive(PE_ButtonDropDown, p, menuarea, cg, mflags, opt);
+ }
+ drawPrimitive(PE_ArrowDown, p, menuarea, cg, mflags, opt);
+ }
+
+ if (tb->hasFocus() && !tb->focusProxy()) {
+ QRect fr = tb->rect();
+ fr.addCoords(2, 2, -2, -2);
+ drawPrimitive(PE_FocusRect, p, fr, cg);
+ }
+
+ break;
+ }
+
+ // SPINWIDGETS
+ // -----------
+ case CC_SpinWidget: {
+ const QSpinWidget *sw = (const QSpinWidget *) widget;
+ SFlags flags;
+ PrimitiveElement pe;
+
+ QRect swf = querySubControlMetrics(control, sw, SC_SpinWidgetFrame);
+ swf = visualRect( swf, sw );
+
+ if (controls & SC_SpinWidgetFrame) {
+ // Don't draw the WindowsStyle thick frame.
+ renderPanel(p, swf, cg, true, false);
+ }
+
+ if (controls & SC_SpinWidgetUp) {
+ flags = Style_Default | Style_Enabled;
+ if (active == SC_SpinWidgetUp) {
+ flags |= Style_On;
+ flags |= Style_Sunken;
+ } else
+ flags |= Style_Raised;
+
+ if (sw->buttonSymbols() == QSpinWidget::PlusMinus)
+ pe = PE_SpinWidgetPlus;
+ else
+ pe = PE_SpinWidgetUp;
+
+ QRect re = sw->upRect();
+ QColorGroup ucg = sw->isUpEnabled() ? cg : sw->palette().disabled();
+ p->fillRect(re.x() + 1, re.y() + 1, re.width() - 2, re.height() - 1, flags & Style_Raised ? ucg.background() : ucg.highlight());
+ if (pseudo3D) {
+ const QCOORD corners[] = { re.x(), re.bottom(), re.x(), re.y() + 1, re.x() + 1, re.y(), re.right() - 1, re.y(), re.right(), re.y() + 1, re.right(), re.bottom() };
+ p->setPen(flags & Style_Raised ? ucg.background().dark() : ucg.highlight());
+ p->drawLineSegments(QPointArray(6, corners));
+ p->setPen(flags & Style_Raised ? ucg.background().light() : ucg.highlight());
+ p->drawLine(re.x() + 1, re.y() + 1, re.x() + 1, re.bottom());
+ p->drawLine(re.x() + 1, re.y() + 1, re.right()-1, re.y() + 1);
+ p->setPen(flags & Style_Raised ? ucg.background().dark(115) : ucg.highlight());
+ p->drawLine(re.right()-1, re.y() + 2, re.right()-1, re.bottom());
+ } else {
+ }
+ re.setX(re.x() + 1);
+ p->setPen(flags & Style_Raised ? ucg.foreground() : ucg.highlightedText());
+ drawPrimitive(pe, p, re, ucg, flags);
+ }
+
+ if (controls & SC_SpinWidgetDown) {
+ flags = Style_Default | Style_Enabled;
+ if (active == SC_SpinWidgetDown) {
+ flags |= Style_On;
+ flags |= Style_Sunken;
+ } else
+ flags |= Style_Raised;
+
+ if (sw->buttonSymbols() == QSpinWidget::PlusMinus)
+ pe = PE_SpinWidgetMinus;
+ else
+ pe = PE_SpinWidgetDown;
+
+ QRect re = sw->downRect();
+ QColorGroup dcg = sw->isDownEnabled() ? cg : sw->palette().disabled();
+ p->fillRect(re.x() + 1, re.y(), re.width() - 2, re.height() - 1, flags & Style_Raised ? dcg.background() : dcg.highlight());
+ if (pseudo3D) {
+ const QCOORD corners[] = {
+ re.x(), re.top(),
+ re.x(), re.bottom(),
+ re.x() + 1, re.y() + re.height(),
+ re.right() - 1, re.y() + re.height(),
+ re.right(), re.bottom(),
+ re.right(), re.y()
+ };
+ p->setPen(flags & Style_Raised ? dcg.background().dark() : dcg.highlight());
+ p->drawLineSegments(QPointArray(6, corners));
+ p->setPen(flags & Style_Raised ? dcg.background().light() : dcg.highlight());
+ p->drawLine(re.x() + 1, re.y(), re.x() + 1, re.bottom());
+ p->setPen(flags & Style_Raised ? dcg.background().dark(115) : dcg.highlight());
+ p->drawLine(re.x() + 2, re.bottom(), re.right()-1, re.bottom());
+ p->drawLine(re.right()-1, re.y(), re.right()-1, re.bottom());
+ } else {
+ }
+ p->setPen(flags & Style_Raised ? dcg.foreground() : dcg.highlightedText());
+ re.setX(re.x() + 1);
+ drawPrimitive(pe, p, re, dcg, flags);
+ }
+
+ break;
+ }
+
+ default:
+ KStyle::drawComplexControl(control, p, widget,
+ r, cg, flags, controls,
+ active, opt);
+ break;
+ }
+}
+
+
+QRect dotNETstyle::subRect(SubRect r, const QWidget *widget) const
+{
+// Don't use KStyles progressbar subrect
+ switch (r) {
+ case SR_ComboBoxFocusRect: {
+ return querySubControlMetrics( CC_ComboBox, widget, SC_ComboBoxEditField );
+ }
+
+ case SR_PushButtonFocusRect: {
+ QRect rect = widget->rect();
+ int margin = pixelMetric(PM_ButtonDefaultIndicator, widget) + pixelMetric(PM_DefaultFrameWidth, widget) + 2;
+
+ rect.addCoords(margin, margin, -margin, -margin);
+ return rect;
+ }
+
+ case SR_ProgressBarGroove:
+ case SR_ProgressBarContents:
+ case SR_ProgressBarLabel: {
+ return winstyle->subRect(r, widget);
+ }
+ default: {
+ return KStyle::subRect(r, widget);
+ }
+ }
+}
+
+QRect dotNETstyle::querySubControlMetrics(ComplexControl control,
+ const QWidget *widget,
+ SubControl subcontrol,
+ const QStyleOption &opt) const
+{
+ if (!widget) {
+ return QRect();
+ }
+
+ QRect r(widget->rect());
+ switch (control) {
+ case CC_ComboBox: {
+ switch (subcontrol) {
+ case SC_ComboBoxEditField: {
+ return QRect(r.x() + 2, r.y() + 2, r.width() - 19, r.height() - 4);
+ }
+ default: {
+ return KStyle::querySubControlMetrics(control, widget, subcontrol, opt);
+ }
+ }
+ break;
+ }
+
+ case CC_SpinWidget: {
+ int fw = pixelMetric(PM_SpinBoxFrameWidth, widget);
+ QSize bs;
+ bs.setHeight(QMAX(8, widget->height()/2));
+ bs.setWidth(QMIN(bs.height() * 8 / 5, widget->width() / 4));
+
+ int y = fw;
+ int x, lx, rx;
+ x = widget->width() - y - bs.width();
+ lx = fw;
+ rx = x - fw;
+
+ switch (subcontrol) {
+ case SC_SpinWidgetUp: {
+ return QRect(x, y-1, bs.width(), bs.height());
+ }
+ case SC_SpinWidgetDown: {
+ return QRect(x, y + bs.height()-1, bs.width(), bs.height());
+ }
+ case SC_SpinWidgetFrame: {
+ return QRect(0, 0, widget->width() - (bs.width() + 2), widget->height());
+ }
+ case SC_SpinWidgetEditField: {
+ return QRect(lx, fw, widget->width() - (bs.width() + 4), widget->height() - 2 * fw);
+ }
+ case SC_SpinWidgetButtonField: {
+ return QRect(x, y, bs.width(), widget->height() - 2 * fw);
+ }
+ default: {
+ }
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ return KStyle::querySubControlMetrics(control, widget, subcontrol, opt);
+}
+
+int dotNETstyle::pixelMetric(PixelMetric m, const QWidget *widget) const
+{
+ switch(m) {
+ // TABS
+ // ----
+ case PM_TabBarTabVSpace: {
+ const QTabBar * tb = (const QTabBar *) widget;
+ if (tb->shape() == QTabBar::RoundedAbove ||
+ tb->shape() == QTabBar::RoundedBelow)
+ return 12;
+ else
+ return 0;
+ }
+
+ case PM_TabBarTabOverlap: {
+ const QTabBar* tb = (const QTabBar*)widget;
+ if (tb->shape() != QTabBar::RoundedAbove &&
+ tb->shape() != QTabBar::RoundedBelow)
+ return 3; // Leave standard size alone
+ else
+ return 1; // Change size for our tabs only
+ }
+
+ // SPLITTERS
+ // ---------
+ case PM_SplitterWidth: {
+ return 6;
+ }
+
+ // PROGRESSBARS
+ // ------------
+ case PM_ProgressBarChunkWidth:
+ return 9;
+
+ // SLIDER
+ // ------
+ case PM_SliderLength:
+ return 11;
+
+ // MENU INDICATOR
+ // --------------
+ case PM_MenuButtonIndicator:
+ return 8;
+
+ // HEADER INDICATOR
+ // ----------------
+ case PM_HeaderMarkSize:
+ return 1;
+
+ // CHECKBOXES / RADIO BUTTONS
+ // --------------------------
+ case PM_ExclusiveIndicatorWidth: // Radiobutton size
+ case PM_ExclusiveIndicatorHeight: // 13x13
+ case PM_IndicatorWidth: // Checkbox size
+ case PM_IndicatorHeight: // 13x13
+ return 13;
+
+ // FRAMES
+ // ------
+ case PM_SpinBoxFrameWidth:
+ return 1;
+
+ case PM_MenuBarFrameWidth:
+ return 0;
+
+ case PM_DefaultFrameWidth: {
+ if (!pseudo3D) {
+ return 1;
+ } else {
+ if (widget &&
+ (widget->inherits("QPopupMenu") ||
+ widget->inherits("QMenuBar") ||
+ widget->inherits("QRangeControl") ||
+ widget->inherits("QScrollView"))) {
+ return 1;
+ } else {
+ return 2;
+ }
+ }
+ }
+
+ case PM_ButtonDefaultIndicator: {
+ return 3;
+ }
+
+ case PM_ButtonShiftVertical:
+ case PM_ButtonShiftHorizontal: {
+ return 1;
+ }
+
+ default:
+ return KStyle::pixelMetric(m, widget);
+ }
+}
+
+
+QSize dotNETstyle::sizeFromContents(ContentsType t,
+ const QWidget *widget,
+ const QSize &s,
+ const QStyleOption &opt) const
+{
+ switch (t) {
+
+ case CT_PopupMenuItem: {
+ if (!widget || opt.isDefault())
+ break;
+
+ const QPopupMenu *popup = (const QPopupMenu *)widget;
+ QMenuItem *mi = opt.menuItem();
+ int maxpmw = opt.maxIconWidth();
+ int w = s.width(), h = s.height();
+ bool checkable = popup->isCheckable();
+
+ if (mi->custom()) {
+ w = mi->custom()->sizeHint().width();
+ h = mi->custom()->sizeHint().height();
+ } else if (mi->widget()) {
+ // don't change the size in this case.
+ } else if (mi->isSeparator()) {
+ w = 10;
+ h = 1;
+ } else {
+ if (mi->pixmap()) {
+ h = QMAX(h, mi->pixmap()->height() + 8);
+ }
+
+ h = QMAX(h, widget->fontMetrics().height() + 10);
+
+ if (mi->iconSet()) {
+ h = QMAX(h, mi->iconSet()->pixmap(QIconSet::Small, QIconSet::Normal).height() + 8);
+ }
+ }
+
+ if (!mi->text().isNull()) {
+ if ((mi->text().find('\t') >= 0) || mi->popup()) {
+ w += 20;
+ }
+ }
+
+ if (maxpmw) {
+ w += maxpmw;
+ }
+ if (checkable && maxpmw < 20) {
+ w += 20 - maxpmw;
+ }
+ if (checkable || maxpmw > 0) {
+ w += 2;
+ }
+
+ w += 20;
+
+ return QSize(w, h);
+ }
+
+ case CT_PushButton: {
+ const QPushButton* button = (const QPushButton*) widget;
+ int w = s.width();
+ int h = s.height();
+ int bm = pixelMetric( PM_ButtonMargin, widget );
+ int fw = pixelMetric( PM_DefaultFrameWidth, widget ) * 2;
+
+ //We use bold font sometimes, so that make take more space than Qt allocated.
+ QFontMetrics origFM = button->fontMetrics();
+ QFontMetrics boldFM = QFontMetrics(QFont(button->font().family(), button->font().pointSize(), 75));
+ int origTextWidth = origFM.size(ShowPrefix, button->text()).width();
+ int boldTextWidth = boldFM.size(ShowPrefix, button->text()).width();
+
+ if (boldTextWidth > origTextWidth) //this might not happen in particular when text is empty
+ w += boldTextWidth - origTextWidth;
+
+ w += bm + fw;
+ h += bm + fw;
+
+ // Ensure we stick to standard width and heights.
+ if ( button->isDefault() || button->autoDefault() ) {
+ if ( w < 80 && !button->pixmap() )
+ w = 80;
+ }
+
+ // Compensate for default indicator. Doing it for all widgets lets us
+ // workaround changes in auto-default behavior in KDialogBase in 3.3
+ int di = pixelMetric( PM_ButtonDefaultIndicator );
+ w += di * 2;
+ h += di * 2;
+
+ if ( h < 22 )
+ h = 22;
+ return QSize( w, h );
+ }
+
+ case CT_ComboBox: {
+ int arrow = 21;
+ return QSize(s.width() + arrow, QMAX(s.height() + 4, 16));
+ }
+
+ default:
+ return KStyle::sizeFromContents (t, widget, s, opt);
+ }
+
+ return KStyle::sizeFromContents (t, widget, s, opt);
+// return winstyle->sizeFromContents(t, widget, s, opt);
+}
+
+void dotNETstyle::paletteChanged()
+{
+ QComboBox *combo = 0L;
+ QMenuBar *menuBar = 0L;
+ QToolBar *toolBar = 0L;
+ QWidget *widget = 0L;
+
+ QValueListIterator<QWidget*> it = m_widgets.begin();
+ for ( ; it != m_widgets.end(); ++it ) {
+ widget = *it;
+ if ((combo = dynamic_cast<QComboBox*>( widget )))
+ updatePalette( combo );
+ else if ((toolBar = dynamic_cast<QToolBar*>( widget )))
+ updatePalette( toolBar );
+ else if ((menuBar = dynamic_cast<QMenuBar*>( widget )))
+ updatePalette( menuBar );
+ }
+}
+
+void dotNETstyle::updatePalette( QComboBox *combo )
+{
+ QPalette pal = QApplication::palette();
+ pal.setColor(QColorGroup::Dark,
+ pal.active().color(QColorGroup::Base));
+ pal.setColor(QColorGroup::Midlight,
+ pal.active().color(QColorGroup::Background));
+ combo->setPalette(pal);
+}
+
+void dotNETstyle::updatePalette( QToolBar *bar )
+{
+ QPalette pal = QApplication::palette();
+ pal.setColor(QColorGroup::Button,
+ pal.active().color(QColorGroup::Background));
+ bar->setPalette(pal);
+}
+
+void dotNETstyle::updatePalette( QMenuBar *bar )
+{
+ QPalette pal = QApplication::palette();
+ pal.setColor(QColorGroup::Button,
+ pal.active().color(QColorGroup::Background));
+ bar->setPalette(pal);
+}
+
+void dotNETstyle::slotDestroyed()
+{
+ m_widgets.remove( (QWidget*) sender() );
+}
+
+bool dotNETstyle::eventFilter(QObject *obj, QEvent *ev)
+{
+ if (obj->inherits("QComboBox")) {
+ if (ev->type() == QEvent::Enter) {
+ QWidget *btn = (QWidget *)obj;
+ if (btn->isEnabled()) {
+ QPalette pal = btn->palette();
+ pal.setColor(QColorGroup::Dark,
+ pal.active().color(QColorGroup::Highlight).dark());
+ pal.setColor(QColorGroup::Midlight,
+ pal.active().color(QColorGroup::Highlight));
+ btn->setPalette(pal);
+ }
+ } else if (ev->type() == QEvent::Leave) {
+ QWidget *btn = (QWidget *)obj;
+ QPalette pal = btn->palette();
+ pal.setColor(QColorGroup::Dark,
+ pal.active().color(QColorGroup::Base));
+ pal.setColor(QColorGroup::Midlight,
+ pal.active().color(QColorGroup::Background));
+ btn->setPalette(pal);
+ }
+ } else if (obj->inherits("QButton")) {
+ QWidget *btn = (QWidget *)obj;
+ QPalette pal = btn->palette();
+ pal.setColor(QColorGroup::Button,
+ pal.active().color(QColorGroup::Background));
+ btn->setPalette(pal);
+ }
+
+ return false;
+}
+
+// vim: noet ts=4 sw=4
diff --git a/styles/dotnet/dotnet.h b/styles/dotnet/dotnet.h
new file mode 100644
index 00000000..dce41e97
--- /dev/null
+++ b/styles/dotnet/dotnet.h
@@ -0,0 +1,145 @@
+/*
+ * $Id$
+ *
+ * Copyright 2001, Chris Lee <lee@azsites.com>
+ * Originally copied from the KDE3 HighColor style, modified to fit mine.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __DOTNET_H
+#define __DOTNET_H
+
+#include <kstyle.h>
+#include <qbitmap.h>
+
+#define u_arrow -4,1, 2,1, -3,0, 1,0, -2,-1, 0,-1, -1,-2
+#define d_arrow -4,-2, 2,-2, -3,-1, 1,-1, -2,0, 0,0, -1,1
+#define l_arrow 0,-3, 0,3,-1,-2,-1,2,-2,-1,-2,1,-3,0
+#define r_arrow -2,-3,-2,3,-1,-2, -1,2,0,-1,0,1,1,0
+
+#define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2)
+
+class dotNETstyle : public KStyle
+{
+ Q_OBJECT
+
+public:
+ dotNETstyle();
+ virtual ~dotNETstyle();
+
+ bool inheritsKHTML( const QWidget* widget ) const;
+ void polish( QWidget* widget );
+ void unPolish( QWidget* widget );
+
+ void renderMenuBlendPixmap( KPixmap&, const QColorGroup&, const QPopupMenu * ) const;
+
+ void drawKStylePrimitive( KStylePrimitive kpe,
+ QPainter* p,
+ const QWidget* widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags = Style_Default,
+ const QStyleOption& = QStyleOption::Default ) const;
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags = Style_Default,
+ const QStyleOption &opt = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags = Style_Default,
+ const QStyleOption& = QStyleOption::Default ) const;
+
+ void drawControlMask( ControlElement, QPainter *, const QWidget *, const QRect &, const QStyleOption &) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &r,
+ const QColorGroup &cg,
+ SFlags flags = Style_Default,
+ SCFlags controls = SC_All,
+ SCFlags active = SC_None,
+ const QStyleOption& = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric m,
+ const QWidget *widget = 0 ) const;
+
+ QRect subRect( SubRect r,
+ const QWidget *widget ) const;
+
+ QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl subcontrol,
+ const QStyleOption &opt = QStyleOption::Default ) const;
+
+ void drawComplexControlMask(QStyle::ComplexControl c,
+ QPainter *p,
+ const QWidget *w,
+ const QRect &r,
+ const QStyleOption &o=QStyleOption::Default) const;
+
+ QSize sizeFromContents(QStyle::ContentsType t,
+ const QWidget *w,
+ const QSize &s,
+ const QStyleOption &o) const;
+
+protected:
+ void renderButton(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g,
+ bool sunken = false,
+ bool corners = false) const;
+
+ void renderPanel(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g,
+ bool sunken = true,
+ bool thick = true) const;
+
+ void renderSlider(QPainter *p,
+ const QRect &r,
+ const QColorGroup &g) const;
+ bool eventFilter(QObject *, QEvent *);
+
+ void updatePalette( QComboBox * );
+ void updatePalette( QToolBar * );
+ void updatePalette( QMenuBar * );
+
+protected slots:
+ void slotDestroyed();
+ void paletteChanged();
+
+private:
+// Disable copy constructor and = operator
+ dotNETstyle( const dotNETstyle & );
+ dotNETstyle& operator=( const dotNETstyle & );
+ QStyle *winstyle;
+
+ bool pseudo3D, useTextShadows, roundedCorners, reverseLayout, kickerMode;
+
+ QValueList<QWidget*> m_widgets;
+};
+
+#endif
+
+// vim: set noet ts=4 sw=4:
diff --git a/styles/dotnet/dotnet.themerc b/styles/dotnet/dotnet.themerc
new file mode 100644
index 00000000..b7e5fde8
--- /dev/null
+++ b/styles/dotnet/dotnet.themerc
@@ -0,0 +1,118 @@
+[Misc]
+Name=.NET style
+Name[af]=.Net styl
+Name[br]=Giz .NET
+Name[bs]=.NET stil
+Name[ca]=Estil .NET
+Name[cs]=Styl .NET
+Name[cy]=Arddull .NET
+Name[da]=.NET-stil
+Name[de]=.NET-Stil
+Name[el]=Στυλ .NET
+Name[eo]=.NET-stilo
+Name[es]=Estilo .NET
+Name[et]=.NET stiil
+Name[eu]=.NET estiloa
+Name[fa]=سبک .NET
+Name[fi]=.NET-tyyli
+Name[fo]=.NET-snið
+Name[fr]=Style .NET
+Name[fy]=.NET-styl
+Name[ga]=Stíl .NET
+Name[gl]=Estilo .NET
+Name[he]=סגנון .NET
+Name[hi]=.NET शैली
+Name[hu]=.NET-stílus
+Name[is]=.NET stíll
+Name[it]=Stile .NET
+Name[ja]=.NET スタイル
+Name[ka]=.NET სტილი
+Name[lt]=.NET stilius
+Name[lv]=.NET stils
+Name[mk]=Стил .NET
+Name[mt]=Stil .NET
+Name[nb]=.NET-stil
+Name[nds]=.NET-Stil
+Name[ne]=.NET शैली
+Name[nl]=.NET-stijl
+Name[nn]=.NET-stil
+Name[pa]=.NET ਸ਼ੈਲੀ
+Name[pl]=Styl .NET
+Name[pt]=Estilo .NET
+Name[pt_BR]=Estilos Web
+Name[ro]=Stil .NET
+Name[ru]=Стиль .NET
+Name[sk]=Štýl .NET
+Name[sl]=Slog .NET
+Name[sr]=.NET стил
+Name[sr@Latn]=.NET stil
+Name[sv]=.NET-stil
+Name[ta]=.NET வித
+Name[tg]=Намуди .NET
+Name[th]=รูปแบบ .NET
+Name[tr]=.NET stili
+Name[uk]=Стиль ".NET"
+Name[ven]=Tshitaela tsha .NET
+Name[vi]=Kiểu .NET
+Name[xh]=Uhlobo lo Mnatha
+Name[zh_CN]=.NET 风格
+Name[zh_TW]=.NET 風格
+Name[zu]=.NET uhlobo
+Comment=Fast, clean, and minimalistic.
+Comment[af]=Vinnige, maak skoon, en minimalisties.
+Comment[bg]=Семпъл и изчистен стил, изискващ малко ресурси
+Comment[bs]=Brz, čist i minimalističan.
+Comment[ca]=Ràpid, net i minimalista.
+Comment[cs]=Rychlé, úhledné a minimalistické
+Comment[cy]=Cyflym, glan a lleiafsymiol.
+Comment[da]=Hurtig, ren og minimalistisk.
+Comment[de]=Schnell, sauber, minimalistisch
+Comment[el]=Γρήγορο, καθαρό, και μινιμαλιστικό.
+Comment[es]=Rápido, limpio y minimalista.
+Comment[et]=Kiire, lihtne ja minimalistlik
+Comment[eu]=Azkarra, garbia, eta minimalista.
+Comment[fa]=سریع، تمییز، و حداقل.
+Comment[fi]=Pieni, puhdas ja minimalistinen
+Comment[fo]=Skjótt og smátt.
+Comment[fr]=Rapide et dépouillé
+Comment[fy]=Fluch,skjin en minimalistysk
+Comment[gl]=Rápido, limpo e minimalista.
+Comment[he]=מהיר, נקי, ומינימליסטי.
+Comment[hi]=तेज, साफ तथा कम-से-कम
+Comment[hu]=Gyors, jól átlátható, egyszerű stílus
+Comment[is]=Hratt, einfalt, og naumhyggja.
+Comment[it]=Veloce, semplice e minimalistico
+Comment[ja]=速い, クリーン, ミニマリズム
+Comment[ka]=სწრაფი, სუფთა და სადა
+Comment[lt]=Greitas, švarus ir minimalistinis
+Comment[lv]=Ātrs, tīrs un minimāls.
+Comment[mk]=Брз, чист и минималистички.
+Comment[ms]=Cepat, bersih, dan minimalistik.
+Comment[mt]=Jgħaġġel, nadif u minimalist
+Comment[nb]=Rask, ren og minimal.
+Comment[nds]=Gau, oprüümt, minimaal.
+Comment[ne]=छिटो, सफा,र गौण
+Comment[nl]=Snel,schoon en minimalistisch
+Comment[nn]=Rask, enkel og minimalistisk.
+Comment[pl]=Szybki, bez przepychu wręcz minimalistyczny
+Comment[pt]=Rápido, limpo e minimalista.
+Comment[pt_BR]=Rápido, limpo, e minimalista.
+Comment[ro]=Rapid, clar şi minimal.
+Comment[ru]=Быстрая, простая и лёгкая
+Comment[sk]=Rýchly, jednoduchý a minimalistický.
+Comment[sl]=Hiter, čist in minimalističen slog
+Comment[sr]=Брз, чисти и минималистички
+Comment[sr@Latn]=Brz, čisti i minimalistički
+Comment[sv]=Snabb, ren och minimal
+Comment[ta]= வேகமான, சுத்தமான, குறைச்சலாக
+Comment[tg]=Тез, тоза ва сабук.
+Comment[th]=เร็ว, สะอาด และดูเรียบง่าย
+Comment[tr]=Hızlı ve küçük.
+Comment[uk]=Швидка, акуратна і без надміру.
+Comment[ven]=U tavhanya, u kulumaga, nau fhungudzanyana
+Comment[vi]=Nhanh, sạch, và gọn nhẹ
+Comment[zh_CN]=快速、整洁而且极简化。
+Comment[zh_TW]=快速,清楚和極簡化
+Comment[zu]=Okusheshayo,okuhlanzekile kanye nokuyingcosana.
+[KDE]
+WidgetStyle=dotNET
diff --git a/styles/phase/Makefile.am b/styles/phase/Makefile.am
new file mode 100644
index 00000000..47d15577
--- /dev/null
+++ b/styles/phase/Makefile.am
@@ -0,0 +1,22 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = config
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes)
+
+styledir = $(kde_datadir)/kstyle/themes
+style_DATA = phase.themerc
+
+EXTRA_DIST = $(style_DATA)
+
+noinst_HEADERS = phasestyle.h bitmaps.h
+
+kde_style_LTLIBRARIES = phasestyle.la
+phasestyle_la_SOURCES = phasestyle.cpp
+phasestyle_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+phasestyle_la_LIBADD = -lkdefx -lkdecore
+phasestyle_la_METASOURCES = AUTO
+
+DISTCLEANFILES = $(phasestyle_la_METASOURCES)
diff --git a/styles/phase/bitmaps.h b/styles/phase/bitmaps.h
new file mode 100644
index 00000000..d1b8c712
--- /dev/null
+++ b/styles/phase/bitmaps.h
@@ -0,0 +1,67 @@
+//////////////////////////////////////////////////////////////////////////////
+// bitmaps.h
+// -------------------
+// Bitmaps for Phase style
+// -------------------
+// Copyright (c) 2004 David Johnson
+// Please see the phasestyle.h file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+// Note: the "light" bits are drawn with midlight color
+
+// Arrows (6x6)
+
+static QBitmap uarrow;
+static const unsigned char uarrow_bits[] = {
+ 0x00, 0x0c, 0x1e, 0x3f, 0x3f, 0x00};
+
+static QBitmap darrow;
+static const unsigned char darrow_bits[] = {
+ 0x00, 0x3f, 0x3f, 0x1e, 0x0c, 0x00};
+
+static QBitmap larrow;
+static const unsigned char larrow_bits[] = {
+ 0x18, 0x1c, 0x1e, 0x1e, 0x1c, 0x18};
+
+static QBitmap rarrow;
+static const unsigned char rarrow_bits[] = {
+ 0x06, 0x0e, 0x1e, 0x1e, 0x0e, 0x06};
+
+// plus/minus "arrows"
+
+static QBitmap bplus;
+static const unsigned char bplus_bits[] = {
+ 0x0c, 0x0c, 0x3f, 0x3f, 0x0c, 0x0c};
+
+static QBitmap bminus;
+static const unsigned char bminus_bits[] = {
+ 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00};
+
+// checkmark (9x9)
+
+static QBitmap bcheck;
+static const unsigned char bcheck_bits[] = {
+ 0x00, 0x00, 0x80, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x73, 0x00, 0x3f, 0x00,
+ 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00};
+
+// expander arrows (9x9)
+
+static QBitmap dexpand;
+static const unsigned char dexpand_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00,
+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+static QBitmap rexpand;
+static const unsigned char rexpand_bits[] = {
+ 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0x3c, 0x00,
+ 0x1c, 0x00, 0x0c, 0x00, 0x04, 0x00};
+
+// scrollbar doodads (4x4)
+
+static QBitmap doodad_mid;
+static const unsigned char doodad_mid_bits[] = {
+ 0x07, 0x01, 0x01, 0x00};
+
+static QBitmap doodad_light;
+static const unsigned char doodad_light_bits[] = {
+ 0x00, 0x08, 0x08, 0x0e};
diff --git a/styles/phase/config/Makefile.am b/styles/phase/config/Makefile.am
new file mode 100644
index 00000000..725d15a3
--- /dev/null
+++ b/styles/phase/config/Makefile.am
@@ -0,0 +1,12 @@
+INCLUDES = $(all_includes)
+
+noinst_HEADERS = phasestyleconfig.h
+
+kde_module_LTLIBRARIES = kstyle_phase_config.la
+kstyle_phase_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kstyle_phase_config_la_LIBADD = $(LIB_KDEUI)
+kstyle_phase_config_la_SOURCES = phasestyleconfig.cpp styledialog.ui
+kstyle_phase_config_la_METASOURCES = AUTO
+
+messages: rc.cpp
+ $(XGETTEXT) *.cpp *.h -o $(podir)/kstyle_phase_config.pot
diff --git a/styles/phase/config/phasestyleconfig.cpp b/styles/phase/config/phasestyleconfig.cpp
new file mode 100644
index 00000000..8543214c
--- /dev/null
+++ b/styles/phase/config/phasestyleconfig.cpp
@@ -0,0 +1,111 @@
+//////////////////////////////////////////////////////////////////////////////
+// phasestyleconfig.cpp
+// -------------------
+// Config dialog for Phase widget style
+// -------------------
+// Copyright (c) 2004 David Johnson <david@usermode.org>
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <qsettings.h>
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qwhatsthis.h>
+#include <klocale.h>
+#include <kglobal.h>
+
+#include "phasestyleconfig.h"
+#include "styledialog.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// PhaseStyleConfig Class //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// PhaseStyleConfig()
+// ----------------
+// Constructor
+
+PhaseStyleConfig::PhaseStyleConfig(QWidget* parent) : StyleDialog(parent)
+{
+ KGlobal::locale()->insertCatalogue("kstyle_phase_config");
+
+ QSettings settings;
+ oldgradients =
+ settings.readBoolEntry("/phasestyle/Settings/gradients", true);
+ gradients->setChecked(oldgradients);
+ oldhighlights =
+ settings.readBoolEntry("/phasestyle/Settings/highlights", true);
+ highlights->setChecked(oldhighlights);
+
+ // connections
+ connect(gradients, SIGNAL(toggled(bool)),
+ this, SLOT(updateChanged()));
+ connect(highlights, SIGNAL(toggled(bool)),
+ this, SLOT(updateChanged()));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~PhaseStyleConfig()
+// -----------------
+// Destructor
+
+PhaseStyleConfig::~PhaseStyleConfig()
+{
+ KGlobal::locale()->removeCatalogue("kstyle_phase_config");
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// selectionChanged()
+// ------------------
+// Selection has changed
+
+void PhaseStyleConfig::updateChanged()
+{
+ bool update = false;
+
+ if ((gradients->isChecked() != oldgradients) ||
+ (highlights->isChecked() != oldhighlights)) {
+ update = true;
+ }
+
+ emit changed(update);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// save()
+// ------
+// Save the settings
+
+void PhaseStyleConfig::save()
+{
+ QSettings settings;
+ settings.writeEntry("/phasestyle/Settings/gradients",
+ gradients->isChecked());
+ settings.writeEntry("/phasestyle/Settings/highlights",
+ highlights->isChecked());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// defaults()
+// ----------
+// Set to the defaults
+
+void PhaseStyleConfig::defaults()
+{
+ gradients->setChecked(true);
+ highlights->setChecked(true);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Plugin Stuff //
+//////////////////////////////////////////////////////////////////////////////
+
+extern "C"
+{
+ KDE_EXPORT QObject* allocate_kstyle_config(QWidget* parent) {
+ return(new PhaseStyleConfig(parent));
+ }
+}
+
+#include "phasestyleconfig.moc"
diff --git a/styles/phase/config/phasestyleconfig.h b/styles/phase/config/phasestyleconfig.h
new file mode 100644
index 00000000..8f15531c
--- /dev/null
+++ b/styles/phase/config/phasestyleconfig.h
@@ -0,0 +1,56 @@
+//////////////////////////////////////////////////////////////////////////////
+// phasestyleconfig.h
+// -------------------
+// Config dialog for Phase widget style
+// -------------------
+// Copyright (c) 2004 David Johnson <david@usermode.org>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef PHASESTYLECONFIG_H
+#define PHASESTYLECONFIG_H
+
+#include "styledialog.h"
+
+class KConfig;
+
+class PhaseStyleConfig : public StyleDialog
+{
+ Q_OBJECT
+public:
+ PhaseStyleConfig(QWidget* parent);
+ ~PhaseStyleConfig();
+
+signals:
+ void changed(bool);
+
+public slots:
+ void save();
+ void defaults();
+
+protected slots:
+ void updateChanged();
+
+private:
+ bool oldgradients;
+ bool oldhighlights;
+};
+
+#endif // PHASESTYLECONFIG_H
diff --git a/styles/phase/config/styledialog.ui b/styles/phase/config/styledialog.ui
new file mode 100644
index 00000000..2015003e
--- /dev/null
+++ b/styles/phase/config/styledialog.ui
@@ -0,0 +1,70 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>StyleDialog</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>StyleDialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>217</width>
+ <height>103</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Style Dialog</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>stylebox</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>GroupBoxPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="title">
+ <string>Style Settings</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>gradients</cstring>
+ </property>
+ <property name="text">
+ <string>Use &amp;gradients</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option will draw buttons and several other widgets using a gradient texture</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>highlights</cstring>
+ </property>
+ <property name="text">
+ <string>Highlight on &amp;mouse hover</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option will highlight buttons and several other widgets when the mouse cursor is over them</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+</widget>
+<tabstops>
+ <tabstop>gradients</tabstop>
+ <tabstop>highlights</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/styles/phase/phase.themerc b/styles/phase/phase.themerc
new file mode 100644
index 00000000..80856bc5
--- /dev/null
+++ b/styles/phase/phase.themerc
@@ -0,0 +1,86 @@
+[Misc]
+Name=Phase
+Name[br]=Prantadoù
+Name[ca]=Fase
+Name[el]=Φάση
+Name[eo]=Fazo
+Name[es]=Fase
+Name[et]=Faas
+Name[eu]=Fasea
+Name[fa]=گام
+Name[fi]=Vaihe
+Name[fy]=Faze
+Name[ga]=Pas
+Name[he]=קרני לייזר
+Name[hi]=फेज़
+Name[is]=Fasi
+Name[it]=Fase
+Name[ja]=位相
+Name[ka]=ფაზა
+Name[mk]=Фаза
+Name[ms]=Fasa
+Name[nb]=Fase
+Name[nds]=Phaas
+Name[ne]=चरण
+Name[nn]=Fase
+Name[pa]=ਪੜਾਅ
+Name[pl]=Faza
+Name[ru]=Фаза
+Name[sl]=Faza
+Name[sr]=Фаза
+Name[sr@Latn]=Faza
+Name[sv]=Fas
+Name[ta]=பகுதி
+Name[tr]=Faz
+Name[uk]=Фаза
+Name[vi]=Pha
+Name[zh_TW]=相
+ConfigPage=kstyle_phase_config
+Comment=Clean classical look
+Comment[bg]=Семпъл и изчистен стил
+Comment[bs]=Jednostavan klasični stil
+Comment[ca]=Un estil clàssic i net
+Comment[cs]=Klasický čistý vzhled
+Comment[da]=Rent klassisk udseende
+Comment[de]=Ein einfaches und klares Aussehen
+Comment[el]=Ένα απλό και κλασσικό στυλ
+Comment[es]=Un estilo clásico y claro
+Comment[et]=Lihtne klassikaline välimus
+Comment[eu]=Itxura garbi klasikoa
+Comment[fa]=ظاهر کلاسیک واضح
+Comment[fi]=Puhdas perinteinen tyyli
+Comment[fr]=Un style simple et propre
+Comment[fy]=In klassyk en moai uterlik
+Comment[gl]=Apariencia sinxela e clásica
+Comment[he]=סגנון פשוט ונקי
+Comment[hi]=साफ शास्त्रीय रूप
+Comment[hu]=Tiszta, egyszerű stílus
+Comment[is]=Einfaldur og hreinlegur stíll
+Comment[it]=Orologio classico
+Comment[ja]=単純で清潔なスタイル
+Comment[ka]=სადა და კლასიკური სტილი
+Comment[mk]=Чист класичен изглед
+Comment[ms]=Rupa klasik bersih
+Comment[nb]=Enkelt klassisk utseende
+Comment[nds]=Oprüümt klass'sch Utsehn
+Comment[ne]=सफा उत्कृष्ट ढाँचा
+Comment[nl]=Een klassiek en schoon uiterlijk
+Comment[nn]=Enkel og klassisk utsjånad
+Comment[pa]=ਸਾਫ਼ ਟਕਸਾਲੀ ਦਿੱਖ
+Comment[pl]=Czysty, klasyczny wygląd
+Comment[pt]=Um estilo clássico limpo
+Comment[pt_BR]=Uma aprência clássica limpa
+Comment[ru]=Простой классический стиль
+Comment[sk]=Jednoduchý klasický vzhľad
+Comment[sl]=Čist klasičen izgled
+Comment[sr]=Чист класичан изглед
+Comment[sr@Latn]=Čist klasičan izgled
+Comment[sv]=Ren och klassisk stil
+Comment[ta]=விசேஷ பார்வையைத் துடை
+Comment[tr]=Temiz ve klasik bir görünüm
+Comment[uk]=Акуратний, класичний стиль
+Comment[vi]=Sạch, kiểu dáng truyền thống
+Comment[zh_CN]=简洁经典的外观
+Comment[zh_TW]=乾淨的傳統外觀
+[KDE]
+WidgetStyle=Phase
diff --git a/styles/phase/phasestyle.cpp b/styles/phase/phasestyle.cpp
new file mode 100644
index 00000000..7ce112b2
--- /dev/null
+++ b/styles/phase/phasestyle.cpp
@@ -0,0 +1,2512 @@
+//////////////////////////////////////////////////////////////////////////////
+// phasestyle.cpp
+// -------------------
+// Qt/KDE widget style
+// -------------------
+// Copyright (c) 2004 David Johnson
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+//
+// Some miscellaneous notes
+//
+// Reimplemented scrollbar metric and drawing routines from KStyle to allow
+// better placement of subcontrols. This is because the subcontrols slightly
+// overlap to share part of their border.
+//
+// Menu and toolbars are painted with the background color by default. This
+// differs from the Qt default of giving them PaletteButton backgrounds.
+// Menubars have normal gradients, toolbars have reverse.
+//
+// Some toolbars are not part of a QMainWindows, such as in a KDE file dialog.
+// In these cases we treat the toolbar as "floating" and paint it flat.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kdrawutil.h>
+#include <kpixmap.h>
+#include <kpixmapeffect.h>
+
+#include <qapplication.h>
+#include <qintdict.h>
+#include <qpainter.h>
+#include <qpointarray.h>
+#include <qsettings.h>
+#include <qstyleplugin.h>
+
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qheader.h>
+#include <qmainwindow.h>
+#include <qmenubar.h>
+#include <qpopupmenu.h>
+#include <qprogressbar.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qscrollbar.h>
+#include <qslider.h>
+#include <qsplitter.h>
+#include <qtabbar.h>
+#include <qtabwidget.h>
+#include <qtoolbar.h>
+#include <qtoolbox.h>
+#include <qtoolbutton.h>
+
+#include "phasestyle.h"
+#include "bitmaps.h"
+
+static const char* QSPLITTERHANDLE = "QSplitterHandle";
+static const char* QTOOLBAREXTENSION = "QToolBarExtensionWidget";
+static const char* KTOOLBARWIDGET = "kde toolbar widget";
+
+// some convenient constants
+static const int ITEMFRAME = 1; // menu stuff
+static const int ITEMHMARGIN = 3;
+static const int ITEMVMARGIN = 0;
+static const int ARROWMARGIN = 6;
+static const int RIGHTBORDER = 6;
+static const int MINICONSIZE = 16;
+static const int CHECKSIZE = 9;
+static const int MAXGRADIENTSIZE = 64;
+
+static unsigned contrast = 110;
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Construction, Destruction, Initialization //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// PhaseStyle()
+// -----------
+// Constructor
+
+PhaseStyle::PhaseStyle()
+ : KStyle(FilledFrameWorkaround | AllowMenuTransparency,
+ ThreeButtonScrollBar), hover_(0), hovertab_(0),
+ gradients_(QPixmap::defaultDepth() > 8), kicker_(false)
+{
+ QSettings settings;
+ if (gradients_) { // don't bother setting if already false
+ gradients_ =
+ settings.readBoolEntry("/phasestyle/Settings/gradients", true);
+ contrast = 100 + settings.readNumEntry("/Qt/KDE/contrast", 5);
+ }
+ highlights_ =
+ settings.readBoolEntry("/phasestyle/Settings/highlights", true);
+
+ gradients = new QMap<unsigned int, QIntDict<GradientSet> >;
+
+ reverse_ = QApplication::reverseLayout();
+
+ // create bitmaps
+ uarrow = QBitmap(6, 6, uarrow_bits, true);
+ uarrow.setMask(uarrow);
+ darrow = QBitmap(6, 6, darrow_bits, true);
+ darrow.setMask(darrow);
+ larrow = QBitmap(6, 6, larrow_bits, true);
+ larrow.setMask(larrow);
+ rarrow = QBitmap(6, 6, rarrow_bits, true);
+ rarrow.setMask(rarrow);
+ bplus = QBitmap(6, 6, bplus_bits, true);
+ bplus.setMask(bplus);
+ bminus = QBitmap(6, 6, bminus_bits, true);
+ bminus.setMask(bminus);
+ bcheck = QBitmap(9, 9, bcheck_bits, true);
+ bcheck.setMask(bcheck);
+ dexpand = QBitmap(9, 9, dexpand_bits, true);
+ dexpand.setMask(dexpand);
+ rexpand = QBitmap(9, 9, rexpand_bits, true);
+ rexpand.setMask(rexpand);
+ doodad_mid = QBitmap(4, 4, doodad_mid_bits, true);
+ doodad_light = QBitmap(4, 4, doodad_light_bits, true);
+}
+
+PhaseStyle::~PhaseStyle()
+{
+ delete gradients;
+ gradients = 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Polishing //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// polish()
+// --------
+// Initialize application specific
+
+void PhaseStyle::polish(QApplication* app)
+{
+ if (!qstrcmp(app->argv()[0], "kicker")) kicker_ = true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// polish()
+// --------
+// Initialize the appearance of a widget
+
+void PhaseStyle::polish(QWidget *widget)
+{
+ if (::qt_cast<QMenuBar*>(widget) ||
+ ::qt_cast<QPopupMenu*>(widget)) {
+ // anti-flicker optimization
+ widget->setBackgroundMode(NoBackground);
+ } else if (::qt_cast<QFrame*>(widget) ||
+ widget->inherits(QTOOLBAREXTENSION) ||
+ (!qstrcmp(widget->name(), KTOOLBARWIDGET))) {
+ // needs special handling on paint events
+ widget->installEventFilter(this);
+ } else if (highlights_ &&
+ (::qt_cast<QPushButton*>(widget) ||
+ ::qt_cast<QComboBox*>(widget) ||
+ ::qt_cast<QSpinWidget*>(widget) ||
+ ::qt_cast<QCheckBox*>(widget) ||
+ ::qt_cast<QRadioButton*>(widget) ||
+ ::qt_cast<QSlider*>(widget) ||
+ widget->inherits(QSPLITTERHANDLE))) {
+ // mouseover highlighting
+ widget->installEventFilter(this);
+ } else if (highlights_ && ::qt_cast<QTabBar*>(widget)) {
+ // highlighting needing mouse tracking
+ widget->setMouseTracking(true);
+ widget->installEventFilter(this);
+ }
+
+ KStyle::polish(widget);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// polish()
+// --------
+// Initialize the palette
+
+void PhaseStyle::polish(QPalette &pal)
+{
+ // clear out gradients on a color change
+ gradients->clear();
+
+ // lighten up a bit, so the look is not so "crisp"
+ if (QPixmap::defaultDepth() > 8) { // but not on low color displays
+ pal.setColor(QPalette::Disabled, QColorGroup::Dark,
+ pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast));
+ pal.setColor(QPalette::Active, QColorGroup::Dark,
+ pal.color(QPalette::Active, QColorGroup::Dark).light(contrast));
+ pal.setColor(QPalette::Inactive, QColorGroup::Dark,
+ pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast));
+ }
+
+ QStyle::polish(pal);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// unPolish()
+// ----------
+// Undo the initialization of a widget's appearance
+
+void PhaseStyle::unPolish(QWidget *widget)
+{
+ if (::qt_cast<QMenuBar*>(widget) ||
+ ::qt_cast<QPopupMenu*>(widget)) {
+ widget->setBackgroundMode(PaletteBackground);
+ } else if (::qt_cast<QFrame*>(widget) ||
+ widget->inherits(QTOOLBAREXTENSION) ||
+ (!qstrcmp(widget->name(), KTOOLBARWIDGET))) {
+ widget->removeEventFilter(this);
+ } else if (highlights_ && // highlighting
+ (::qt_cast<QPushButton*>(widget) ||
+ ::qt_cast<QComboBox*>(widget) ||
+ ::qt_cast<QSpinWidget*>(widget) ||
+ ::qt_cast<QCheckBox*>(widget) ||
+ ::qt_cast<QRadioButton*>(widget) ||
+ ::qt_cast<QSlider*>(widget) ||
+ widget->inherits(QSPLITTERHANDLE))) {
+ widget->removeEventFilter(this);
+ } else if (highlights_ && ::qt_cast<QTabBar*>(widget)) {
+ widget->setMouseTracking(false);
+ widget->removeEventFilter(this);
+ }
+
+ KStyle::unPolish(widget);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Drawing //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPhaseGradient()
+// ------------------
+// Draw gradient
+
+void PhaseStyle::drawPhaseGradient(QPainter *painter,
+ const QRect &rect,
+ QColor color,
+ bool horizontal,
+ int px, int py,
+ int pw, int ph,
+ bool reverse) const
+{
+ if (!gradients_) {
+ painter->fillRect(rect, color);
+ return;
+ }
+
+ // px, py, pw, ph used for parent-relative pixmaps
+ int size;
+ if (horizontal)
+ size = (pw > 0) ? pw : rect.width();
+ else
+ size = (ph > 0) ? ph : rect.height();
+
+ if (size > MAXGRADIENTSIZE) { // keep it sensible
+ painter->fillRect(rect, color);
+ } else {
+ // lazy allocation
+ GradientSet *set = (*gradients)[color.rgb()][size];
+ if (!set) {
+ set = new GradientSet(color, size);
+ (*gradients)[color.rgb()].setAutoDelete(true);
+ (*gradients)[color.rgb()].insert(size, set);
+ }
+ painter->drawTiledPixmap(rect, *set->gradient(horizontal, reverse),
+ QPoint(px, py));
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPhaseBevel()
+// ----------------
+// Draw the basic Phase bevel
+
+void PhaseStyle::drawPhaseBevel(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QColor &fill,
+ bool sunken,
+ bool horizontal,
+ bool reverse) const
+{
+ int x2 = x + w - 1;
+ int y2 = y + h - 1;
+ painter->save();
+
+ painter->setPen(group.dark());
+ painter->drawRect(x, y, w, h);
+
+ painter->setPen(sunken ? group.mid() : group.midlight());
+ painter->drawLine(x+1, y+1, x2-2, y+1);
+ painter->drawLine(x+1, y+2, x+1, y2-2);
+
+ painter->setPen(sunken ? group.midlight() : group.mid());
+ painter->drawLine(x+2, y2-1, x2-1, y2-1);
+ painter->drawLine(x2-1, y+2, x2-1, y2-2);
+
+ painter->setPen(group.button());
+ painter->drawPoint(x+1, y2-1);
+ painter->drawPoint(x2-1, y+1);
+
+ if (sunken) {
+ // sunken bevels don't get gradients
+ painter->fillRect(x+2, y+2, w-4, h-4, fill);
+ } else {
+ drawPhaseGradient(painter, QRect(x+2, y+2, w-4, h-4), fill,
+ horizontal, 0, 0, w-4, h-4, reverse);
+ }
+ painter->restore();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPhaseButton()
+// ----------------
+// Draw the basic Phase button
+
+void PhaseStyle::drawPhaseButton(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QColor &fill,
+ bool sunken) const
+{
+ int x2 = x + w - 1;
+ int y2 = y + h - 1;
+
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y2, x2, y2);
+ painter->drawLine(x2, y+1, x2, y2-1);
+
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x2-1, y);
+ painter->drawLine(x, y+1, x, y2-1);
+
+ painter->setPen(group.button());
+ painter->drawPoint(x, y2);
+ painter->drawPoint(x2, y);
+
+ drawPhaseBevel(painter, x+1, y+1, w-2, h-2, group, fill,
+ sunken, false, false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPhasePanel()
+// ----------------
+// Draw the basic Phase panel
+
+void PhaseStyle::drawPhasePanel(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ bool sunken,
+ const QBrush *fill) const
+{
+ int x2 = x + w - 1;
+ int y2 = y + h - 1;
+ painter->save();
+
+ if (sunken) {
+ painter->setPen(group.dark());
+ painter->drawRect(x+1, y+1, w-2, h-2);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y2, x2, y2);
+ painter->drawLine(x2, y+1, x2, y2-1);
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x, y2-1);
+ painter->drawLine(x+1, y, x2-1, y);
+ painter->setPen(group.background());
+ painter->drawPoint(x, y2);
+ painter->drawPoint(x2, y);
+ } else {
+ painter->setPen(group.dark());
+ painter->drawRect(x, y, w, h);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y+1, x2-2, y+1);
+ painter->drawLine(x+1, y+2, x+1, y2-2);
+ painter->setPen(group.mid());
+ painter->drawLine(x+2, y2-1, x2-1, y2-1);
+ painter->drawLine(x2-1, y+2, x2-1, y2-2);
+ painter->setPen(group.background());
+ painter->drawPoint(x+1, y2-1);
+ painter->drawPoint(x2-1, y+1);
+ }
+
+ if (fill) {
+ painter->fillRect(x+2, y+2, w-4, h-4, fill->color());
+ }
+ painter->restore();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPhaseTab()
+// -------------
+// Draw a Phase style tab
+
+void PhaseStyle::drawPhaseTab(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QTabBar *bar,
+ const QStyleOption &option,
+ SFlags flags) const
+{
+ const QTabWidget *tabwidget;
+ bool selected = (flags & Style_Selected);
+ bool edge; // tab is at edge of bar
+ const int x2 = x + w - 1;
+ const int y2 = y + h - 1;
+
+ painter->save();
+
+ // what position is the tab?
+ if ((bar->count() == 1)
+ || (bar->indexOf(option.tab()->identifier()) == 0)) {
+ edge = true;
+ } else {
+ edge = false;
+ }
+
+ switch (QTabBar::Shape(bar->shape())) {
+ case QTabBar::RoundedAbove:
+ case QTabBar::TriangularAbove: {
+ // is there a corner widget?
+ tabwidget = ::qt_cast<QTabWidget*>(bar->parent());
+ if (edge && tabwidget
+ && tabwidget->cornerWidget(reverse_ ?
+ Qt::TopRight : Qt::TopLeft)) {
+ edge = false;
+ }
+
+ if (!selected) { // shorten
+ y += 2; h -= 2;
+ }
+ if (selected) {
+ painter->setPen(Qt::NoPen);
+ painter->fillRect(x+1, y+1, w-1, h-1,
+ group.brush(QColorGroup::Background));
+ } else {
+ drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2),
+ (flags & Style_MouseOver)
+ ? group.background()
+ : group.background().dark(contrast),
+ false, 0, 0, 0, h*2, false);
+ }
+
+ // draw tab
+ painter->setPen(group.dark());
+ painter->drawLine(x, y, x, y2-2);
+ painter->drawLine(x+1, y, x2, y);
+ painter->drawLine(x2, y+1, x2, y2-2);
+
+ painter->setPen(group.mid());
+ painter->drawLine(x2-1, y+2, x2-1, y2-2);
+
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y+1, x2-2, y+1);
+ if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2);
+
+ // finish off bottom
+ if (selected) {
+ painter->setPen(group.dark());
+ painter->drawPoint(x, y2-1);
+ painter->drawPoint(x2, y2-1);
+
+ painter->setPen(group.midlight());
+ painter->drawPoint(x, y2);
+ painter->drawLine(x+1, y2-1, x+1, y2);
+ painter->drawPoint(x2, y2);
+
+ painter->setPen(group.mid());
+ painter->drawPoint(x2-1, y2-1);
+
+ if (!reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y2-1, x, y2);
+ painter->setPen(group.midlight());
+ painter->drawPoint(x+1, y2);
+ }
+ } else {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y2-1, x2, y2-1);
+
+ painter->setPen(group.midlight());
+ painter->drawLine(x, y2, x2, y2);
+
+ if (!reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y2-1, x, y2);
+ }
+ }
+ if (reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawPoint(x2, y2);
+ painter->setPen(selected ? group.mid() : group.background());
+ painter->drawPoint(x2-1, y2);
+ }
+ break;
+ }
+
+ case QTabBar::RoundedBelow:
+ case QTabBar::TriangularBelow: {
+ // is there a corner widget?
+ tabwidget = ::qt_cast<QTabWidget*>(bar->parent());
+ if (edge && tabwidget
+ && tabwidget->cornerWidget(reverse_ ?
+ Qt::BottomRight : Qt::BottomLeft)) {
+ edge = false;
+ }
+
+ painter->setBrush((selected || (flags & Style_MouseOver))
+ ? group.background()
+ : group.background().dark(contrast));
+ painter->setPen(Qt::NoPen);
+ painter->fillRect(x+1, y+1, w-1, h-1, painter->brush());
+
+ // draw tab
+ painter->setPen(group.dark());
+ painter->drawLine(x, y+1, x, y2);
+ painter->drawLine(x+1, y2, x2, y2);
+ painter->drawLine(x2, y+1, x2, y2-1);
+
+ painter->setPen(group.mid());
+ painter->drawLine(x2-1, y+1, x2-1, y2-1);
+ painter->drawLine(x+2, y2-1, x2-1, y2-1);
+ painter->drawPoint(x, y);
+ painter->drawPoint(x2, y);
+
+ if ((selected) || edge) {
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y+1, x+1, y2-2);
+ }
+
+ // finish off top
+ if (selected) {
+ if (!reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawPoint(x, y);
+ painter->setPen(group.midlight());
+ painter->drawPoint(x+1, y);
+ }
+ } else {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y+1, x2, y+1);
+
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x2, y);
+
+ if (!reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawPoint(x, y);
+ }
+ }
+ if (reverse_ && edge) {
+ painter->setPen(group.dark());
+ painter->drawPoint(x2, y);
+ painter->setPen(group.mid());
+ painter->drawPoint(x2-1, y);
+ }
+ break;
+ }
+ }
+ painter->restore();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawPrimitive()
+// ---------------
+// Draw the primitive element
+
+void PhaseStyle::drawPrimitive(PrimitiveElement element,
+ QPainter *painter,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags,
+ const QStyleOption &option) const
+{
+ // common locals
+ bool down = flags & Style_Down;
+ bool on = flags & Style_On;
+ bool depress = (down || on);
+ bool enabled = flags & Style_Enabled;
+ bool horiz = flags & Style_Horizontal;
+ bool mouseover = highlights_ && (flags & Style_MouseOver);
+ int x, y, w, h, x2, y2, n, cx, cy;
+ QPointArray parray;
+ QWidget* widget;
+
+ rect.rect(&x, &y, &w, &h);
+ x2 = rect.right();
+ y2 = rect.bottom();
+
+ switch(element) {
+ case PE_ButtonBevel:
+ case PE_ButtonDefault:
+ case PE_ButtonDropDown:
+ case PE_ButtonTool:
+ drawPhaseBevel(painter, x,y,w,h, group, group.button(),
+ depress, false, false);
+ break;
+
+ case PE_ButtonCommand:
+ drawPhaseButton(painter, x, y, w, h, group,
+ mouseover ?
+ group.button().light(contrast) :
+ group.button(), depress);
+ break;
+
+ case PE_FocusRect: {
+ QPen old = painter->pen();
+ painter->setPen(group.highlight().dark(contrast));
+
+ painter->drawRect(rect);
+
+ painter->setPen(old);
+ break;
+ }
+
+ case PE_HeaderSection: {
+ // covers kicker taskbar buttons and menu titles
+ QHeader* header = dynamic_cast<QHeader*>(painter->device());
+ widget =dynamic_cast<QWidget*>(painter->device());
+
+ if (header) {
+ horiz = (header->orientation() == Horizontal);
+ } else {
+ horiz = true;
+ }
+
+ if ((widget) && ((widget->inherits("QPopupMenu")) ||
+ (widget->inherits("KPopupTitle")))) {
+ // kicker/kdesktop menu titles
+ drawPhaseBevel(painter, x,y,w,h,
+ group, group.background(), depress, !horiz);
+ } else if (kicker_) {
+ // taskbar buttons (assuming no normal headers used in kicker)
+ if (depress) {
+ painter->setPen(group.dark());
+ painter->setBrush(group.brush(QColorGroup::Mid));
+ painter->drawRect(x-1, y-1, w+1, h+1);
+ }
+ else {
+ drawPhaseBevel(painter, x-1, y-1, w+1, h+1,
+ group, group.button(), false, !horiz, true);
+ }
+ } else {
+ // other headers
+ if (depress) {
+ painter->setPen(group.dark());
+ painter->setBrush(group.brush(QColorGroup::Mid));
+ painter->drawRect(x-1, y-1, w+1, h+1);
+ }
+ else {
+ drawPhaseBevel(painter, x-1, y-1, w+1, h+1, group,
+ group.background(), false, !horiz, true);
+ }
+ }
+ break;
+ }
+
+ case PE_HeaderArrow:
+ if (flags & Style_Up)
+ drawPrimitive(PE_ArrowUp, painter, rect, group, Style_Enabled);
+ else
+ drawPrimitive(PE_ArrowDown, painter, rect, group, Style_Enabled);
+ break;
+
+ case PE_ScrollBarAddPage:
+ case PE_ScrollBarSubPage:
+ if (h) { // has a height, thus visible
+ painter->fillRect(rect, group.mid());
+ painter->setPen(group.dark());
+ if (horiz) { // vertical
+ painter->drawLine(x, y, x2, y);
+ painter->drawLine(x, y2, x2, y2);
+ } else { // horizontal
+ painter->drawLine(x, y, x, y2);
+ painter->drawLine(x2, y, x2, y2);
+ }
+ }
+ break;
+
+ case PE_ScrollBarAddLine:
+ case PE_ScrollBarSubLine: {
+ drawPhaseBevel(painter, x, y, w, h,
+ group, group.button(), down, !horiz, true);
+
+ PrimitiveElement arrow = ((horiz) ?
+ ((element == PE_ScrollBarAddLine) ?
+ PE_ArrowRight : PE_ArrowLeft) :
+ ((element == PE_ScrollBarAddLine) ?
+ PE_ArrowDown : PE_ArrowUp));
+ if (down) { // shift arrow
+ switch (arrow) {
+ case PE_ArrowRight: x++; break;
+ case PE_ArrowLeft: x--; break;
+ case PE_ArrowDown: y++; break;
+ case PE_ArrowUp: y--; break;
+ default: break;
+ }
+ }
+
+ drawPrimitive(arrow, painter, QRect(x,y,h,w), group, flags);
+ break;
+ }
+
+ case PE_ScrollBarSlider:
+ drawPhaseBevel(painter, x, y, w, h, group, group.button(),
+ false, !horiz, true);
+ // draw doodads
+ cx = x + w/2 - 2; cy = y + h/2 - 2;
+ if (horiz && (w >=20)) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx+n, cy,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ } else if (!horiz && (h >= 20)) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx, cy+n,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ }
+ break;
+
+ case PE_Indicator:
+ drawPhasePanel(painter, x+1, y+1, w-2, h-2, group, true, enabled ?
+ &group.brush(QColorGroup::Base) :
+ &group.brush(QColorGroup::Background));
+
+ if (on) {
+ painter->setPen(mouseover
+ ? group.highlight().dark(contrast)
+ : group.dark());
+ painter->drawRect(x+4, y+4, w-8, h-8);
+ painter->fillRect(x+5, y+5, w-10, h-10,
+ group.brush(QColorGroup::Highlight));
+ } else if (mouseover) {
+ painter->setPen(group.highlight().dark(contrast));
+ painter->drawRect(x+4, y+4, w-8, h-8);
+ }
+ break;
+
+ case PE_IndicatorMask:
+ painter->fillRect(x+1, y+1, w-2, h-2, Qt::color1);
+ painter->setPen(Qt::color0);
+ break;
+
+ case PE_ExclusiveIndicator: {
+ // note that this requires an even size from pixelMetric
+ cx = (x + x2) / 2;
+ cy = (y + y2) / 2;
+
+ painter->setBrush(enabled
+ ? group.brush(QColorGroup::Base)
+ : group.brush(QColorGroup::Background));
+
+ painter->setPen(group.dark());
+ parray.putPoints(0, 8,
+ x+1,cy+1, x+1,cy, cx,y+1, cx+1,y+1,
+ x2-1,cy, x2-1,cy+1, cx+1,y2-1, cx,y2-1);
+ painter->drawConvexPolygon(parray, 0, 8);
+
+ painter->setPen(group.mid());
+ parray.putPoints(0, 4, x,cy, cx,y, cx+1,y, x2,cy);
+ painter->drawPolyline(parray, 0, 4);
+ painter->setPen(group.midlight());
+ parray.putPoints(0, 4, x2,cy+1, cx+1,y2, cx,y2, x,cy+1);
+ painter->drawPolyline(parray, 0, 4);
+
+ if (on) {
+ painter->setBrush(group.brush(QColorGroup::Highlight));
+ painter->setPen(mouseover
+ ? group.highlight().dark(contrast)
+ : group.dark());
+ parray.putPoints(0, 8,
+ x+4,cy+1, x+4,cy, cx,y+4, cx+1,y+4,
+ x2-4,cy, x2-4,cy+1, cx+1,y2-4, cx,y2-4);
+ painter->drawConvexPolygon(parray, 0, 8);
+ } else if (mouseover) {
+ painter->setPen(group.highlight().dark(contrast));
+ parray.putPoints(0, 9,
+ x+4,cy+1, x+4,cy, cx,y+4, cx+1,y+4,
+ x2-4,cy, x2-4,cy+1, cx+1,y2-4, cx,y2-4,
+ x+4,cy+1);
+ painter->drawPolyline(parray, 0, 9);
+ }
+ break;
+ }
+
+ case PE_ExclusiveIndicatorMask:
+ cx = (x + x2) / 2;
+ cy = (y + y2) / 2;
+ painter->setBrush(Qt::color1);
+ painter->setPen(Qt::color1);
+ parray.putPoints(0, 8,
+ x,cy+1, x,cy, cx,y, cx+1,y,
+ x2,cy, x2,cy+1, cx+1,y2, cx,y2);
+ painter->drawConvexPolygon(parray, 0, 8);
+ painter->setPen(Qt::color0);
+ break;
+
+ case PE_DockWindowResizeHandle:
+ drawPhasePanel(painter, x, y, w, h, group, false,
+ &group.brush(QColorGroup::Background));
+ break;
+
+ case PE_Splitter:
+ cx = x + w/2 - 2; cy = y + h/2 - 2;
+ painter->fillRect(rect,
+ (hover_ == painter->device())
+ ? group.background().light(contrast)
+ : group.background());
+
+ if (!horiz && (w >=20)) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx+n, cy,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ } else if (horiz && (h >= 20)) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx, cy+n,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ }
+ break;
+
+ case PE_Panel:
+ case PE_PanelLineEdit:
+ case PE_PanelTabWidget:
+ case PE_TabBarBase:
+ drawPhasePanel(painter, x, y, w, h, group, flags & Style_Sunken);
+ break;
+
+ case PE_PanelPopup:
+ case PE_WindowFrame:
+ drawPhasePanel(painter, x, y, w, h, group, false);
+ break;
+
+ case PE_GroupBoxFrame:
+ case PE_PanelGroupBox:
+ painter->setPen(group.dark());
+ painter->drawRect(rect);
+ break;
+
+ case PE_Separator:
+ painter->setPen(group.dark());
+ if (w < h)
+ painter->drawLine(w/2, y, w/2, y2);
+ else
+ painter->drawLine(x, h/2, x2, h/2);
+ break;
+
+ case PE_StatusBarSection:
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x2-1, y);
+ painter->drawLine(x, y+1, x, y2-1);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y2, x2, y2);
+ painter->drawLine(x2, y+1, x2, y2-1);
+ break;
+
+ case PE_PanelMenuBar:
+ case PE_PanelDockWindow:
+ if (kicker_ && (w == 2)) { // kicker handle separator
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x, y2);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y, x+1, y2);
+ } else if (kicker_ && (h == 2)) { // kicker handle separator
+ painter->setPen(group.mid());
+ painter->drawLine(x, y, x2, y);
+ painter->setPen(group.midlight());
+ painter->drawLine(x, y+1, x2, y+1);
+ } else {
+ --x; --y; ++w; ++h; // adjust rect so we can use bevel
+ drawPhaseBevel(painter, x, y, w, h,
+ group, group.background(), false, (w < h),
+ (element==PE_PanelDockWindow) ? true : false);
+ }
+ break;
+
+ case PE_DockWindowSeparator: {
+ widget = dynamic_cast<QWidget*>(painter->device());
+ bool flat = true;
+
+ if (widget && widget->parent() &&
+ widget->parent()->inherits("QToolBar")) {
+ QToolBar *toolbar = ::qt_cast<QToolBar*>(widget->parent());
+ if (toolbar) {
+ // toolbar not floating or in a QMainWindow
+ flat = flatToolbar(toolbar);
+ }
+ }
+
+ if (flat)
+ painter->fillRect(rect, group.background());
+ else
+ drawPhaseGradient(painter, rect, group.background(),
+ !(horiz), 0, 0, -1, -1, true);
+
+ if (horiz) {
+ int cx = w/2 - 1;
+ painter->setPen(group.mid());
+ painter->drawLine(cx, 0, cx, h-2);
+ if (!flat) painter->drawLine(0, h-1, w-1, h-1);
+
+ painter->setPen(group.midlight());
+ painter->drawLine(cx+1, 0, cx+1, h-2);
+ } else {
+ int cy = h/2 - 1;
+ painter->setPen(group.mid());
+ painter->drawLine(0, cy, w-2, cy);
+ if (!flat) painter->drawLine(w-1, 0, w-1, h-1);
+
+ painter->setPen(group.midlight());
+ painter->drawLine(0, cy+1, w-2, cy+1);
+ }
+ break;
+ }
+
+ case PE_SizeGrip: {
+ int sw = QMIN(h, w) - 1;
+ y = y2 - sw;
+
+ if (reverse_) {
+ x2 = x + sw;
+ for (int n = 0; n < 4; ++n) {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y, x2, y2);
+ painter->setPen(group.midlight());
+ painter->drawLine(x, y+1, x2-1, y2);
+ y += 3;;
+ x2 -= 3;;
+ }
+ } else {
+ x = x2 - sw;
+ for (int n = 0; n < 4; ++n) {
+ painter->setPen(group.dark());
+ painter->drawLine(x, y2, x2, y);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+1, y2, x2, y+1);
+ x += 3;
+ y += 3;
+ }
+ }
+
+ break;
+ }
+
+ case PE_CheckMark:
+ painter->setPen(group.text());
+ painter->drawPixmap(x+w/2-4, y+h/2-4, bcheck);
+ break;
+
+ case PE_SpinWidgetPlus:
+ case PE_SpinWidgetMinus:
+ if (enabled)
+ painter->setPen((flags & Style_Sunken)
+ ? group.midlight() : group.dark());
+ else
+ painter->setPen(group.mid());
+ painter->drawPixmap(x+w/2-3, y+h/2-3,
+ (element==PE_SpinWidgetPlus) ? bplus : bminus);
+ break;
+
+ case PE_SpinWidgetUp:
+ case PE_ArrowUp:
+ if (flags & Style_Enabled)
+ painter->setPen((flags & Style_Sunken)
+ ? group.midlight() : group.dark());
+ else
+ painter->setPen(group.mid());
+ painter->drawPixmap(x+w/2-3, y+h/2-3, uarrow);
+ break;
+
+ case PE_SpinWidgetDown:
+ case PE_ArrowDown:
+ if (enabled) painter->setPen((flags & Style_Sunken)
+ ? group.midlight() : group.dark());
+ else painter->setPen(group.mid());
+ painter->drawPixmap(x+w/2-3, y+h/2-3, darrow);
+ break;
+
+ case PE_ArrowLeft:
+ if (enabled) painter->setPen((flags & Style_Sunken)
+ ? group.midlight() : group.dark());
+ else painter->setPen(group.mid());
+ painter->drawPixmap(x+w/2-3, y+h/2-3, larrow);
+ break;
+
+ case PE_ArrowRight:
+ if (enabled) painter->setPen((flags & Style_Sunken)
+ ? group.midlight() : group.dark());
+ else painter->setPen(group.mid());
+ painter->drawPixmap(x+w/2-3, y+h/2-3, rarrow);
+ break;
+
+ default:
+ KStyle::drawPrimitive(element, painter, rect, group, flags, option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawKStylePrimitive()
+// ---------------------
+// Draw the element
+
+void PhaseStyle::drawKStylePrimitive(KStylePrimitive element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags,
+ const QStyleOption &option) const
+{
+ bool horiz = flags & Style_Horizontal;
+ int x, y, w, h, x2, y2, n, cx, cy;
+
+ rect.rect(&x, &y, &w, &h);
+ x2 = rect.right();
+ y2 = rect.bottom();
+ cx = x + w/2;
+ cy = y + h/2;
+
+ switch (element) {
+ case KPE_ToolBarHandle:
+ cx-=2; cy-=2;
+ drawPhaseGradient(painter, rect, group.background(),
+ !horiz, 0, 0, w-1, h-1, true);
+ if (horiz) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx, cy+n,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ painter->setPen(group.mid());
+ painter->drawLine(x, y2, x2, y2);
+ } else {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx+n, cy,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ painter->setPen(group.mid());
+ painter->drawLine(x2, y, x2, y2);
+ }
+ break;
+
+ //case KPE_DockWindowHandle:
+ case KPE_GeneralHandle:
+ cx-=2; cy-=2;
+ painter->fillRect(rect, group.brush(QColorGroup::Background));
+
+ if (horiz) {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx, cy+n,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ } else {
+ for (n = -5; n <= 5; n += 5) {
+ kColorBitmaps(painter, group, cx+n, cy,
+ 0, &doodad_mid, &doodad_light, 0, 0, 0);
+ }
+ }
+ break;
+
+ case KPE_ListViewExpander:
+ painter->setPen(group.mid());
+ if (flags & Style_On) {
+ painter->drawPixmap(x+w/2-4, y+h/2-4, rexpand);
+ } else {
+ painter->drawPixmap(x+w/2-4, y+h/2-4, dexpand);
+ }
+ break;
+
+ case KPE_ListViewBranch:
+ painter->setPen(group.mid());
+ if (flags & Style_Horizontal) {
+ painter->drawLine(x, cy, x2, cy);
+ } else {
+ painter->drawLine(cx, y, cx, y2);
+ }
+ break;
+
+ case KPE_SliderGroove: {
+ const QSlider* slider = ::qt_cast<const QSlider*>(widget);
+ if (slider) {
+ if (slider->orientation() == Horizontal) {
+ y = cy - 3;
+ h = 7;
+ } else {
+ x = cx - 3;
+ w = 7;
+ }
+ }
+ drawPhasePanel(painter, x, y, w, h, group, true,
+ &group.brush(QColorGroup::Mid));
+ break;
+ }
+
+ case KPE_SliderHandle: {
+ const QSlider* slider = ::qt_cast<const QSlider*>(widget);
+ if (slider) {
+ QColor color = (widget==hover_)
+ ? group.button().light(contrast)
+ : group.button();
+ if (slider->orientation() == Horizontal) {
+ drawPhaseBevel(painter, cx-5, y, 6, h, group, color,
+ false, false, false);
+ drawPhaseBevel(painter, cx, y, 6, h, group, color,
+ false, false, false);
+ } else {
+ drawPhaseBevel(painter, x, cy-5, w, 6, group, color,
+ false, true, false);
+ drawPhaseBevel(painter, x, cy, w, 6, group, color,
+ false, true, false);
+ }
+ }
+ break;
+ }
+
+ default:
+ KStyle::drawKStylePrimitive(element, painter, widget, rect,
+ group, flags, option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawControl()
+// -------------
+// Draw the control
+
+void PhaseStyle::drawControl(ControlElement element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags,
+ const QStyleOption &option) const
+{
+ bool active, enabled, depress;
+ int x, y, w, h, x2, y2, dx;
+ QMenuItem *mi;
+ QIconSet::Mode mode;
+ QIconSet::State state;
+ QPixmap pixmap;
+
+ rect.rect(&x, &y, &w, &h);
+ x2 = rect.right();
+ y2 = rect.bottom();
+
+ switch (element) {
+ case CE_PushButton: {
+ depress = flags & (Style_Down | Style_On);
+ int bd = pixelMetric(PM_ButtonDefaultIndicator, widget) + 1;
+
+ if ((flags & Style_ButtonDefault) && !depress) {
+ drawPhasePanel(painter, x, y, w, h, group, true,
+ &group.brush(QColorGroup::Mid));
+ drawPhaseBevel(painter, x+bd, y+bd, w-bd*2, h-bd*2, group,
+ (widget==hover_)
+ ? group.button().light(contrast)
+ : group.button(),
+ false, false, false);
+ } else {
+ drawPhaseButton(painter, x, y, w, h, group,
+ (widget==hover_)
+ ? group.button().light(contrast)
+ : group.button(), depress);
+ }
+
+ if (flags & Style_HasFocus) { // draw focus
+ drawPrimitive(PE_FocusRect, painter,
+ subRect(SR_PushButtonFocusRect, widget),
+ group, flags);
+ }
+ break;
+ }
+
+ case CE_PushButtonLabel: {
+ const QPushButton* button = ::qt_cast<const QPushButton*>(widget);
+ if (!button) {
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+ active = button->isOn() || button->isDown();
+
+ if (active) { // shift contents
+ x++; y++;
+ flags |= Style_Sunken;
+ }
+
+ if (button->isMenuButton()) { // menu indicator
+ int dx = pixelMetric(PM_MenuButtonIndicator, widget);
+ drawPrimitive(PE_ArrowDown, painter,
+ QRect(x+w-dx-2, y+2, dx, h-4),
+ group, flags, option);
+ w -= dx;
+ }
+
+ if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon
+ if (button->isEnabled()) {
+ if (button->hasFocus()) {
+ mode = QIconSet::Active;
+ } else {
+ mode = QIconSet::Normal;
+ }
+ } else {
+ mode = QIconSet::Disabled;
+ }
+
+ if (button->isToggleButton() && button->isOn()) {
+ state = QIconSet::On;
+ } else {
+ state = QIconSet::Off;
+ }
+
+ pixmap = button->iconSet()->pixmap(QIconSet::Small, mode, state);
+ if (button->text().isEmpty() && !button->pixmap()) {
+ painter->drawPixmap(x+w/2 - pixmap.width()/2,
+ y+h/2 - pixmap.height()/2, pixmap);
+ } else {
+ painter->drawPixmap(x+4, y+h/2 - pixmap.height()/2, pixmap);
+ }
+ x += pixmap.width() + 4;
+ w -= pixmap.width() + 4;
+ }
+
+ if (active || button->isDefault()) { // default button
+ for(int n=0; n<2; n++) {
+ drawItem(painter, QRect(x+n, y, w, h),
+ AlignCenter | ShowPrefix,
+ button->colorGroup(),
+ button->isEnabled(),
+ button->pixmap(),
+ button->text(), -1,
+ (button->isEnabled()) ?
+ &button->colorGroup().buttonText() :
+ &button->colorGroup().mid());
+ }
+ } else { // normal button
+ drawItem(painter, QRect(x, y, w, h),
+ AlignCenter | ShowPrefix,
+ button->colorGroup(),
+ button->isEnabled(),
+ button->pixmap(),
+ button->text(), -1,
+ (button->isEnabled()) ?
+ &button->colorGroup().buttonText() :
+ &button->colorGroup().mid());
+ }
+ break;
+ }
+
+ case CE_CheckBoxLabel:
+ case CE_RadioButtonLabel: {
+ const QButton *b = ::qt_cast<const QButton*>(widget);
+ if (!b) return;
+
+ int alignment = reverse_ ? AlignRight : AlignLeft;
+ drawItem(painter, rect, alignment | AlignVCenter | ShowPrefix,
+ group, flags & Style_Enabled, b->pixmap(), b->text());
+
+ // only draw focus if content (forms on html won't)
+ if ((flags & Style_HasFocus) && ((!b->text().isNull()) || b->pixmap())) {
+ drawPrimitive(PE_FocusRect, painter,
+ visualRect(subRect(SR_RadioButtonFocusRect,
+ widget), widget),
+ group, flags);
+ }
+ break;
+ }
+
+ case CE_DockWindowEmptyArea: {
+ const QToolBar *tb = ::qt_cast<const QToolBar*>(widget);
+ if (tb) {
+ // toolbar not floating or in a QMainWindow
+ if (flatToolbar(tb)) {
+ if (tb->backgroundMode() == PaletteButton)
+ // force default button color to background color
+ painter->fillRect(rect, group.background());
+ else
+ painter->fillRect(rect, tb->paletteBackgroundColor());
+ }
+ }
+ break;
+ }
+
+ case CE_MenuBarEmptyArea:
+ drawPhaseGradient(painter, QRect(x, y, w, h), group.background(),
+ (w<h), 0, 0, 0, 0, false);
+ break;
+
+ case CE_MenuBarItem: {
+ const QMenuBar *mbar = ::qt_cast<const QMenuBar*>(widget);
+ if (!mbar) {
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+ mi = option.menuItem();
+ QRect prect = mbar->rect();
+
+ if ((flags & Style_Active) && (flags & Style_HasFocus)) {
+ if (flags & Style_Down) {
+ drawPhasePanel(painter, x, y, w, h, group, true,
+ &group.brush(QColorGroup::Background));
+ } else {
+ drawPhaseBevel(painter, x, y, w, h,
+ group, group.background(),
+ false, false, false);
+ }
+ } else {
+ drawPhaseGradient(painter, rect, group.background(), false, x, y,
+ prect.width()-2, prect.height()-2, false);
+ }
+ drawItem(painter, rect,
+ AlignCenter | AlignVCenter |
+ DontClip | ShowPrefix | SingleLine,
+ group, flags & Style_Enabled,
+ mi->pixmap(), mi->text());
+ break;
+ }
+
+ case CE_PopupMenuItem: {
+ const QPopupMenu *popup = ::qt_cast<const QPopupMenu*>(widget);
+ if (!popup) {
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+
+ mi = option.menuItem();
+ if (!mi) {
+ painter->fillRect(rect, group.button());
+ break;
+ }
+
+ int tabwidth = option.tabWidth();
+ int checkwidth = option.maxIconWidth();
+ bool checkable = popup->isCheckable();
+ bool etchtext = styleHint(SH_EtchDisabledText);
+ active = flags & Style_Active;
+ enabled = mi->isEnabled();
+ QRect vrect;
+
+ if (checkable) checkwidth = QMAX(checkwidth, 20);
+
+ // draw background
+ if (active && enabled) {
+ painter->fillRect(x, y, w, h, group.highlight());
+ } else if (widget->erasePixmap() &&
+ !widget->erasePixmap()->isNull()) {
+ painter->drawPixmap(x, y, *widget->erasePixmap(), x, y, w, h);
+ } else {
+ painter->fillRect(x, y, w, h, group.background());
+ }
+
+ // draw separator
+ if (mi->isSeparator()) {
+ painter->setPen(group.dark());
+ painter->drawLine(x+checkwidth+1, y+1, x2-checkwidth-1, y+1);
+ painter->setPen(group.mid());
+ painter->drawLine(x+checkwidth, y, x2-checkwidth-1, y);
+ painter->drawPoint(x+checkwidth, y+1);
+ painter->setPen(group.midlight());
+ painter->drawLine(x+checkwidth+1, y2, x2-checkwidth, y2);
+ painter->drawPoint(x2-checkwidth, y2-1);
+ break;
+ }
+
+ // draw icon
+ if (mi->iconSet() && !mi->isChecked()) {
+ if (active)
+ mode = enabled ? QIconSet::Active : QIconSet::Disabled;
+ else
+ mode = enabled ? QIconSet::Normal : QIconSet::Disabled;
+
+ pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode);
+ QRect pmrect(0, 0, pixmap.width(), pixmap.height());
+ vrect = visualRect(QRect(x, y, checkwidth, h), rect);
+ pmrect.moveCenter(vrect.center());
+ painter->drawPixmap(pmrect.topLeft(), pixmap);
+ }
+
+ // draw check
+ if (mi->isChecked()) {
+ int cx = reverse_ ? x+w - checkwidth : x;
+ drawPrimitive(PE_CheckMark, painter,
+ QRect(cx + ITEMFRAME, y + ITEMFRAME,
+ checkwidth - ITEMFRAME*2, h - ITEMFRAME*2),
+ group, Style_Default |
+ (active ? Style_Enabled : Style_On));
+ }
+
+ // draw text
+ int xm = ITEMFRAME + checkwidth + ITEMHMARGIN;
+ int xp = reverse_ ?
+ x + tabwidth + RIGHTBORDER + ITEMHMARGIN + ITEMFRAME - 1 :
+ x + xm;
+ int offset = reverse_ ? -1 : 1;
+ int tw = w - xm - tabwidth - ARROWMARGIN - ITEMHMARGIN * 3
+ - ITEMFRAME + 1;
+
+ painter->setPen(enabled ? (active ? group.highlightedText() :
+ group.buttonText()) : group.mid());
+
+ if (mi->custom()) { // draws own label
+ painter->save();
+ if (etchtext && !enabled && !active) {
+ painter->setPen(group.light());
+ mi->custom()->paint(painter, group, active, enabled,
+ xp+offset, y+ITEMVMARGIN+1,
+ tw, h-2*ITEMVMARGIN);
+ painter->setPen(group.mid());
+ }
+ mi->custom()->paint(painter, group, active, enabled,
+ xp, y+ITEMVMARGIN, tw, h-2*ITEMVMARGIN);
+ painter->restore();
+ }
+ else { // draw label
+ QString text = mi->text();
+
+ if (!text.isNull()) {
+ int t = text.find('\t');
+ int tflags = AlignVCenter | DontClip |
+ ShowPrefix | SingleLine |
+ (reverse_ ? AlignRight : AlignLeft);
+
+ if (t >= 0) {
+ int tabx = reverse_ ?
+ x + RIGHTBORDER + ITEMHMARGIN + ITEMFRAME :
+ x + w - tabwidth - RIGHTBORDER - ITEMHMARGIN
+ - ITEMFRAME;
+
+ // draw right label (accerator)
+ if (etchtext && !enabled) { // etched
+ painter->setPen(group.light());
+ painter->drawText(tabx+offset, y+ITEMVMARGIN+1,
+ tabwidth, h-2*ITEMVMARGIN,
+ tflags, text.mid(t+1));
+ painter->setPen(group.mid());
+ }
+ painter->drawText(tabx, y+ITEMVMARGIN,
+ tabwidth, h-2*ITEMVMARGIN,
+ tflags, text.mid(t+1));
+ text = text.left(t);
+ }
+
+ // draw left label
+ if (etchtext && !enabled) { // etched
+ painter->setPen(group.light());
+ painter->drawText(xp+offset, y+ITEMVMARGIN+1,
+ tw, h-2*ITEMVMARGIN,
+ tflags, text, t);
+ painter->setPen(group.mid());
+ }
+ painter->drawText(xp, y+ITEMVMARGIN,
+ tw, h-2*ITEMVMARGIN,
+ tflags, text, t);
+ }
+ else if (mi->pixmap()) { // pixmap as label
+ pixmap = *mi->pixmap();
+ if (pixmap.depth() == 1)
+ painter->setBackgroundMode(OpaqueMode);
+
+ dx = ((w - pixmap.width()) / 2) + ((w - pixmap.width()) % 2);
+ painter->drawPixmap(x+dx, y+ITEMFRAME, pixmap);
+
+ if (pixmap.depth() == 1)
+ painter->setBackgroundMode(TransparentMode);
+ }
+ }
+
+ if (mi->popup()) { // draw submenu arrow
+ PrimitiveElement arrow = reverse_ ? PE_ArrowLeft : PE_ArrowRight;
+ int dim = (h-2*ITEMFRAME) / 2;
+ vrect = visualRect(QRect(x + w - ARROWMARGIN - ITEMFRAME - dim,
+ y + h / 2 - dim / 2, dim, dim), rect);
+ drawPrimitive(arrow, painter, vrect, group,
+ enabled ? Style_Enabled : Style_Default);
+ }
+ break;
+ }
+
+ case CE_TabBarTab: {
+ const QTabBar* tab = ::qt_cast<const QTabBar*>(widget);
+ if (tab) {
+ if ((widget == hover_) && (option.tab() == hovertab_)) {
+ flags |= Style_MouseOver;
+ }
+ // this guy can get complicated, we we do it elsewhere
+ drawPhaseTab(painter, x, y, w, h, group, tab, option,
+ flags);
+ } else { // not a tabbar
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+ break;
+ }
+
+ case CE_ProgressBarGroove: {
+ drawPhasePanel(painter, x, y, w, h, group, true,
+ &group.brush(QColorGroup::Base));
+ break;
+ }
+
+ case CE_ProgressBarContents: {
+ const QProgressBar* pbar = ::qt_cast<const QProgressBar*>(widget);
+ if (!pbar) {
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+ subRect(SR_ProgressBarContents, widget).rect(&x, &y, &w, &h);
+
+ painter->setBrush(group.brush(QColorGroup::Highlight));
+ painter->setPen(group.dark());
+
+ if (!pbar->totalSteps()) {
+ // busy indicator
+ int bar = pixelMetric(PM_ProgressBarChunkWidth, widget) + 2;
+ int progress = pbar->progress() % ((w-bar) * 2);
+ if (progress > (w-bar)) progress = 2 * (w-bar) - progress;
+ painter->drawRect(x+progress+1, y+1, bar-2, h-2);
+ } else {
+ double progress = static_cast<double>(pbar->progress()) /
+ static_cast<double>(pbar->totalSteps());
+ dx = static_cast<int>(w * progress);
+ if (dx < 4) break;
+ if (reverse_) x += w - dx;
+ painter->drawRect(x+1, y+1, dx-2, h-2);
+ }
+ break;
+ }
+
+#if (QT_VERSION >= 0x030200)
+ case CE_ToolBoxTab: {
+ const QToolBox *box = ::qt_cast<const QToolBox*>(widget);
+ if (!box) {
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ return;
+ }
+
+ const int rx = x2 - 20;
+ const int cx = rx - h + 1;
+
+ QPointArray parray(6);
+ parray.putPoints(0, 6,
+ x-1,y, cx,y, rx-2,y2-2, x2+1,y2-2,
+ x2+1,y2+2, x-1,y2+2);
+
+ if (box->currentItem() && (flags & Style_Selected)) {
+ painter->setPen(group.dark());
+ painter->setBrush(box->currentItem()->paletteBackgroundColor());
+ painter->drawConvexPolygon(parray, 0, 6);
+ painter->setBrush(NoBrush);
+ } else {
+ painter->setClipRegion(parray, QPainter::CoordPainter);
+ drawPhaseGradient(painter, rect,
+ group.background(),
+ false, 0, 0, 0, h*2, false);
+ painter->setClipping(false);
+ painter->drawPolyline(parray, 0, 4);
+ }
+
+ parray.putPoints(0, 4, x,y+1, cx,y+1, rx-2,y2-1, x2,y2-1);
+ painter->setPen(group.midlight());
+ painter->drawPolyline(parray, 0, 4);
+
+ break;
+ }
+#endif
+
+ default:
+ KStyle::drawControl(element, painter, widget, rect, group,
+ flags, option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawControlMask()
+// -----------------
+// Draw a bitmask for the element
+
+void PhaseStyle::drawControlMask(ControlElement element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QStyleOption &option) const
+{
+ switch (element) {
+ case CE_PushButton:
+ painter->fillRect(rect, Qt::color1);
+ painter->setPen(Qt::color0);
+ break;
+
+ default:
+ KStyle::drawControlMask(element, painter, widget, rect, option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawComplexControl()
+// --------------------
+// Draw a complex control
+
+void PhaseStyle::drawComplexControl(ComplexControl control,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags,
+ SCFlags controls,
+ SCFlags active,
+ const QStyleOption &option) const
+{
+ bool down = flags & Style_Down;
+ bool on = flags & Style_On;
+ bool raised = flags & Style_Raised;
+ bool sunken = flags & Style_Sunken;
+ QRect subrect;
+ int x, y, w, h, x2, y2;
+ rect.rect(&x, &y, &w, &h);
+
+ switch (control) {
+ case CC_ComboBox: {
+ const QComboBox * combo = ::qt_cast<const QComboBox*>(widget);
+ if (!combo) {
+ KStyle::drawComplexControl(control, painter, widget, rect, group,
+ flags, controls, active, option);
+ return;
+ }
+
+ sunken = (active == SC_ComboBoxArrow);
+ drawPhaseButton(painter, x, y, w, h, group,
+ (widget==hover_)
+ ? group.button().light(contrast)
+ : group.button(), sunken);
+
+ if (controls & SC_ComboBoxArrow) { // draw arrow box
+ subrect = visualRect(querySubControlMetrics(CC_ComboBox, widget,
+ SC_ComboBoxArrow), widget);
+
+ subrect.rect(&x, &y, &w, &h);
+ int slot = QMAX(h/4, 6) + (h % 2);
+ drawPhasePanel(painter, x+3, y+(h/2)-(slot/2), w-6,
+ slot, group, true,
+ sunken ? &group.brush(QColorGroup::Midlight)
+ : &group.brush(QColorGroup::Mid));
+ }
+
+ if (controls & SC_ComboBoxEditField) { // draw edit box
+ if (combo->editable()) { // editable box
+ subrect = visualRect(querySubControlMetrics(CC_ComboBox,
+ widget, SC_ComboBoxEditField), widget);
+ x2 = subrect.right(); y2 = subrect.bottom();
+ painter->setPen(group.dark());
+ painter->drawLine(x2+1, y, x2+1, y2);
+ painter->setPen(group.midlight());
+ painter->drawLine(x2+2, y, x2+2, y2-1);
+ painter->setPen(group.button());
+ painter->drawPoint(x2+2, y2);
+ } else if (combo->hasFocus()) { // non editable box
+ subrect = visualRect(subRect(SR_ComboBoxFocusRect,
+ combo), widget);
+ drawPrimitive(PE_FocusRect, painter, subrect, group,
+ Style_FocusAtBorder,
+ QStyleOption(group.highlight()));
+ }
+ }
+
+ painter->setPen(group.buttonText()); // for subsequent text
+ break;
+ }
+
+ case CC_ScrollBar: {
+ // always a three button scrollbar
+ const QScrollBar *sb = ::qt_cast<const QScrollBar*>(widget);
+ if (!sb) {
+ KStyle::drawComplexControl(control, painter, widget, rect, group,
+ flags, controls, active, option);
+ return;
+ }
+
+ QRect srect;
+ bool horizontal = (sb->orientation() == Qt::Horizontal);
+ SFlags scrollflags = (horizontal ? Style_Horizontal : Style_Default);
+
+ if (sb->minValue() == sb->maxValue()) scrollflags |= Style_Default;
+ else scrollflags |= Style_Enabled;
+
+ // addline
+ if (controls & SC_ScrollBarAddLine) {
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarAddLine, option);
+ if (srect.isValid())
+ drawPrimitive(PE_ScrollBarAddLine, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarAddLine)
+ ? Style_Down : Style_Default));
+ }
+
+ // subline (two of them)
+ if (controls & SC_ScrollBarSubLine) {
+ // top/left subline
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarSubLine, option);
+ if (srect.isValid())
+ drawPrimitive(PE_ScrollBarSubLine, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarSubLine)
+ ? Style_Down : Style_Default));
+ // bottom/right subline
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarAddLine, option);
+ if (srect.isValid()) {
+ if (horizontal) srect.moveBy(-srect.width()+1, 0);
+ else srect.moveBy(0, -srect.height()+1);
+ drawPrimitive(PE_ScrollBarSubLine, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarSubLine)
+ ? Style_Down : Style_Default));
+ }
+ }
+
+ // addpage
+ if (controls & SC_ScrollBarAddPage) {
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarAddPage, option);
+ if (srect.isValid()) {
+ if (horizontal) srect.addCoords(1, 0, 1, 0);
+ else srect.addCoords(0, 1, 0, 1);
+ drawPrimitive(PE_ScrollBarAddPage, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarAddPage)
+ ? Style_Down : Style_Default));
+ }
+ }
+
+ // subpage
+ if (controls & SC_ScrollBarSubPage) {
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarSubPage, option);
+ if (srect.isValid()) {
+ drawPrimitive(PE_ScrollBarSubPage, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarSubPage)
+ ? Style_Down : Style_Default));
+ }
+ }
+
+ // slider
+ if (controls & SC_ScrollBarSlider) {
+ if (sb->minValue() == sb->maxValue()) {
+ // maxed out
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarGroove, option);
+ } else {
+ srect = querySubControlMetrics(control, widget,
+ SC_ScrollBarSlider, option);
+ }
+ if (srect.isValid()) {
+ if (horizontal) srect.addCoords(0, 0, 1, 0);
+ else srect.addCoords(0, 0, 0, 1);
+ drawPrimitive(PE_ScrollBarSlider, painter, srect, group,
+ scrollflags | ((active == SC_ScrollBarSlider)
+ ? Style_Down : Style_Default));
+ // focus
+ if (sb->hasFocus()) {
+ srect.addCoords(2, 2, -2, -2);
+ drawPrimitive(PE_FocusRect, painter, srect, group,
+ Style_Default);
+ }
+ }
+ }
+ break;
+ }
+
+ case CC_SpinWidget: {
+ const QSpinWidget *spin = ::qt_cast<const QSpinWidget*>(widget);
+ if (!spin) {
+ KStyle::drawComplexControl(control, painter, widget, rect, group,
+ flags, controls, active, option);
+ return;
+ }
+
+ PrimitiveElement element;
+
+ // draw frame
+ if (controls & SC_SpinWidgetFrame) {
+ drawPhasePanel(painter, x, y, w, h, group, true, NULL);
+ }
+
+ // draw button field
+ if (controls & SC_SpinWidgetButtonField) {
+ subrect = querySubControlMetrics(CC_SpinWidget, widget,
+ SC_SpinWidgetButtonField,
+ option);
+ if (reverse_) subrect.moveLeft(spin->upRect().left());
+ drawPhaseBevel(painter, subrect.x(), subrect.y(),
+ subrect.width(), subrect.height(), group,
+ (widget==hover_)
+ ? group.button().light(contrast)
+ : group.button(), false, false, false);
+ }
+
+ // draw up arrow
+ if (controls & SC_SpinWidgetUp) {
+ subrect = spin->upRect();
+
+ sunken = (active == SC_SpinWidgetUp);
+ if (spin->buttonSymbols() == QSpinWidget::PlusMinus)
+ element = PE_SpinWidgetPlus;
+ else
+ element = PE_SpinWidgetUp;
+
+ drawPrimitive(element, painter, subrect, group, flags
+ | ((active == SC_SpinWidgetUp)
+ ? Style_On | Style_Sunken : Style_Raised));
+ }
+
+ // draw down button
+ if (controls & SC_SpinWidgetDown) {
+ subrect = spin->downRect();
+
+ sunken = (active == SC_SpinWidgetDown);
+ if (spin->buttonSymbols() == QSpinWidget::PlusMinus)
+ element = PE_SpinWidgetMinus;
+ else
+ element = PE_SpinWidgetDown;
+
+ drawPrimitive(element, painter, subrect, group, flags
+ | ((active == SC_SpinWidgetDown)
+ ? Style_On | Style_Sunken : Style_Raised));
+ }
+ break;
+ }
+
+ case CC_ToolButton: {
+ const QToolButton *btn = ::qt_cast<const QToolButton*>(widget);
+ if (!btn) {
+ KStyle::drawComplexControl(control, painter, widget, rect, group,
+ flags, controls, active, option);
+ return;
+ }
+
+ QToolBar *toolbar;
+ bool horiz = true;
+ bool normal = !(down || on || raised); // normal button state
+
+ x2 = rect.right();
+ y2 = rect.bottom();
+
+ // check for QToolBar parent
+ if (btn->parent() && btn->parent()->inherits("QToolBar")) {
+ toolbar = ::qt_cast<QToolBar*>(btn->parent());
+ if (toolbar) {
+ horiz = (toolbar->orientation() == Qt::Horizontal);
+ if (normal) { // draw background
+ if (flatToolbar(toolbar)) {
+ // toolbar not floating or in a QMainWindow
+ painter->fillRect(rect, group.background());
+ } else {
+ drawPhaseGradient(painter, rect, group.background(),
+ !horiz, 0, 0,
+ toolbar->width()-3,
+ toolbar->height()-3, true);
+ painter->setPen(group.mid());
+ if (horiz) {
+ painter->drawLine(x, y2, x2, y2);
+ } else {
+ painter->drawLine(x2, y, x2, y2);
+ }
+ }
+ }
+ }
+ }
+ // check for QToolBarExtensionWidget parent
+ else if (btn->parent() &&
+ btn->parent()->inherits(QTOOLBAREXTENSION)) {
+ QWidget *extension;
+ if ((extension = ::qt_cast<QWidget*>(btn->parent()))) {
+ toolbar = ::qt_cast<QToolBar*>(extension->parent());
+ if (toolbar) {
+ horiz = (toolbar->orientation() == Qt::Horizontal);
+ if (normal) { // draw background
+ drawPhaseGradient(painter, rect, group.background(),
+ !horiz, 0, 0, toolbar->width()-3,
+ toolbar->height()-3, true);
+ }
+ }
+ }
+ }
+ // check for background pixmap
+ else if (normal && btn->parentWidget() &&
+ btn->parentWidget()->backgroundPixmap() &&
+ !btn->parentWidget()->backgroundPixmap()->isNull()) {
+ QPixmap pixmap = *(btn->parentWidget()->backgroundPixmap());
+ painter->drawTiledPixmap(rect, pixmap, btn->pos());
+ }
+ // everything else
+ else if (normal) {
+ // toolbutton not on a toolbar
+ painter->fillRect(rect, group.background());
+ }
+
+ // now draw active buttons
+ if (down || on) {
+ drawPhasePanel(painter, x, y, w, h, group, true,
+ &group.brush(QColorGroup::Button));
+ } else if (raised) {
+ drawPhaseBevel(painter, x, y, w, h, group, group.button(),
+ false, !horiz, true);
+ }
+ painter->setPen(group.text());
+ break;
+ }
+
+ default:
+ KStyle::drawComplexControl(control, painter, widget, rect, group,
+ flags, controls, active, option);
+ break;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// drawComplexControlMask()
+// ------------------------
+// Draw a bitmask for the control
+
+void PhaseStyle::drawComplexControlMask(ComplexControl control,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QStyleOption &option) const
+{
+ switch (control) {
+ case CC_ComboBox:
+ case CC_ToolButton: {
+ painter->fillRect(rect, Qt::color1);
+ painter->setPen(Qt::color0);
+ break;
+ }
+
+ default:
+ KStyle::drawComplexControlMask(control,painter,widget,rect,option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// pixelMetric()
+// -------------
+// Get the pixel metric for metric
+
+int PhaseStyle::pixelMetric(PixelMetric metric, const QWidget *widget) const
+{
+ // not using widget's font, so that all metrics are uniform
+ int em = QMAX(QApplication::fontMetrics().strikeOutPos() * 3, 17);
+
+ switch (metric) {
+ case PM_DefaultFrameWidth:
+ return 2;
+
+ case PM_ButtonDefaultIndicator: // size of default indicator
+ return 2;
+
+ case PM_ButtonMargin: // Space betweeen frame and label
+ return 3;
+
+ case PM_TabBarTabOverlap: // Amount of tab overlap
+ return 1;
+
+ case PM_TabBarTabHSpace: // extra tab spacing
+ return 24;
+
+ case PM_TabBarTabVSpace:
+ if (const QTabBar *tb = ::qt_cast<const QTabBar*>(widget)) {
+ if (tb->shape() == QTabBar::RoundedAbove) {
+ return 10;
+ } else {
+ return 6;
+ }
+ }
+ return 0;
+
+ case PM_ExclusiveIndicatorWidth: // radiobutton size
+ case PM_ExclusiveIndicatorHeight:
+ case PM_IndicatorWidth: // checkbox size
+ case PM_IndicatorHeight:
+ case PM_CheckListButtonSize: // checkbox size in qlistview items
+ case PM_ScrollBarExtent: // base width of a vertical scrollbar
+ return em & 0xfffe;
+
+ case PM_SplitterWidth: // width of spitter
+ return (em / 3) & 0xfffe;
+
+ case PM_ScrollBarSliderMin: // minimum length of slider
+ return em * 2;
+
+ case PM_SliderThickness: // slider thickness
+ case PM_SliderControlThickness:
+ return em;
+
+ default:
+ return KStyle::pixelMetric(metric, widget);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// subRect()
+// ---------
+// Return subrect for the widget in logical coordinates
+
+QRect PhaseStyle::subRect(SubRect rect, const QWidget *widget) const
+{
+ switch (rect) {
+ case SR_ComboBoxFocusRect: {
+ QRect r = querySubControlMetrics(CC_ComboBox, widget,
+ SC_ComboBoxEditField);
+ r.addCoords(1, 1,-1,-1);
+ return r;
+ }
+
+ default:
+ return KStyle::subRect(rect, widget);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// querySubControlMetrics()
+// ------------------------
+// Get metrics for subcontrols of complex controls
+
+QRect PhaseStyle::querySubControlMetrics(ComplexControl control,
+ const QWidget *widget,
+ SubControl subcontrol,
+ const QStyleOption &option) const
+{
+ QRect rect;
+
+ const int fw = pixelMetric(PM_DefaultFrameWidth, widget);
+ int w = widget->width(), h = widget->height();
+ int xc;
+
+ switch (control) {
+
+ case CC_ComboBox: {
+ xc = h; // position between edit and arrow
+
+ switch (subcontrol) {
+ case SC_ComboBoxFrame: // total combobox area
+ rect = widget->rect();
+ break;
+
+ case SC_ComboBoxArrow: // the right side
+ rect.setRect(w-xc, fw, xc-fw, h-(fw*2));
+ break;
+
+ case SC_ComboBoxEditField: // the left side
+ rect.setRect(fw, fw, w-xc-fw-1, h-(fw*2));
+ break;
+
+ case SC_ComboBoxListBoxPopup: // the list popup box
+ rect = option.rect();
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ case CC_ScrollBar: {
+ const QScrollBar *sb = ::qt_cast<const QScrollBar*>(widget);
+ if (!sb) break;
+
+ bool horizontal = (sb->orientation() == Qt::Horizontal);
+ rect = KStyle::querySubControlMetrics(control, widget,
+ subcontrol, option);
+
+ // adjust the standard metrics so controls can "overlap"
+ if (subcontrol == SC_ScrollBarGroove) {
+ if (horizontal) rect.addCoords(-1, 0, 1, 0);
+ else rect.addCoords(0, -1, 0, 1);
+ }
+ break;
+ }
+
+ case CC_SpinWidget: {
+ bool odd = widget->height() % 2;
+ xc = (h * 3 / 4) + odd; // position between edit and arrows
+
+ switch (subcontrol) {
+ case SC_SpinWidgetButtonField:
+ rect.setRect(w-xc, 1, xc-1, h-2);
+ break;
+
+ case SC_SpinWidgetEditField:
+ rect.setRect(fw, fw, w-xc-fw, h-(fw*2));
+ break;
+
+ case SC_SpinWidgetFrame:
+ rect = widget->rect();
+ break;
+
+ case SC_SpinWidgetUp:
+ rect.setRect(w-xc, (h/2)-(odd ? 6 : 7), xc-1, 6);
+ break;
+
+ case SC_SpinWidgetDown:
+ rect.setRect(w-xc, (h/2)+1, xc-1, odd ? 7 : 6);
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ default:
+ rect = KStyle::querySubControlMetrics(control, widget, subcontrol,
+ option);
+ }
+
+ return rect;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// sizeFromContents()
+// ------------------
+// Returns the size of widget based on the contentsize
+
+QSize PhaseStyle::sizeFromContents(ContentsType contents,
+ const QWidget* widget,
+ const QSize &contentsize,
+ const QStyleOption &option ) const
+{
+ int w = contentsize.width();
+ int h = contentsize.height();
+
+ switch (contents) {
+ case CT_PushButton: {
+ const QPushButton* button = ::qt_cast<const QPushButton*>(widget);
+ if (!button) {
+ return KStyle::sizeFromContents(contents, widget, contentsize,
+ option);
+ }
+ int margin = pixelMetric(PM_ButtonMargin, widget)
+ + pixelMetric(PM_DefaultFrameWidth, widget) + 4;
+
+ w += margin + 6; // add room for bold font
+ h += margin;
+
+ // standard width and heights
+ if (button->isDefault() || button->autoDefault()) {
+ if (w < 80 && !button->pixmap()) w = 80;
+ }
+ if (h < 22) h = 22;
+ return QSize(w, h);
+ }
+
+ case CT_PopupMenuItem: {
+ if (!widget || option.isDefault()) return contentsize;
+ const QPopupMenu *popup = ::qt_cast<const QPopupMenu*>(widget);
+ if (!popup) {
+ return KStyle::sizeFromContents(contents, widget, contentsize,
+ option);
+ }
+ QMenuItem *item = option.menuItem();
+
+ if (item->custom()) {
+ w = item->custom()->sizeHint().width();
+ h = item->custom()->sizeHint().height();
+ if (!item->custom()->fullSpan())
+ h += ITEMVMARGIN*2 + ITEMFRAME*2;
+ } else if (item->widget()) { // a menu item that is a widget
+ w = contentsize.width();
+ h = contentsize.height();
+ } else if (item->isSeparator()) {
+ w = h = 3;
+ } else {
+ if (item->pixmap()) {
+ h = QMAX(h, item->pixmap()->height() + ITEMFRAME*2);
+ } else {
+ h = QMAX(h, MINICONSIZE + ITEMFRAME*2);
+ h = QMAX(h, popup->fontMetrics().height()
+ + ITEMVMARGIN*2 + ITEMFRAME*2);
+ }
+ if (item->iconSet())
+ h = QMAX(h, item->iconSet()->
+ pixmap(QIconSet::Small, QIconSet::Normal).height()
+ + ITEMFRAME*2);
+ }
+
+ if (!item->text().isNull() && item->text().find('\t') >= 0)
+ w += 12;
+ else if (item->popup())
+ w += 2 * ARROWMARGIN;
+
+ if (option.maxIconWidth() || popup->isCheckable()) {
+ w += QMAX(option.maxIconWidth(),
+ QIconSet::iconSize(QIconSet::Small).width())
+ + ITEMHMARGIN*2;
+ }
+ w += RIGHTBORDER;
+ return QSize(w, h);
+ }
+
+ default:
+ return KStyle::sizeFromContents(contents, widget, contentsize,
+ option);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Miscellaneous //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// flatToolbar()
+// -------------
+// Is the toolbar "flat"
+
+bool PhaseStyle::flatToolbar(const QToolBar *toolbar) const
+{
+ if (!toolbar) return true; // not on a toolbar
+ if (!toolbar->isMovingEnabled()) return true; // immobile toolbars are flat
+ if (!toolbar->area()) return true; // not docked
+ if (toolbar->place() == QDockWindow::OutsideDock) return true; // ditto
+ if (!toolbar->mainWindow()) return true; // not in a main window
+ return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eventFilter()
+// -------------
+// Grab events we are interested in. Most of this routine is to handle the
+// exceptions to the normal styling rules.
+
+bool PhaseStyle::eventFilter(QObject *object, QEvent *event)
+{
+ if (KStyle::eventFilter(object, event)) return true;
+ if (!object->isWidgetType()) return false;
+
+ bool horiz;
+ int x, y, w, h;
+ QFrame *frame;
+ QToolBar *toolbar;
+ QWidget *widget;
+
+ // painting events
+ if (event->type() == QEvent::Paint) {
+ // make sure we do the most specific stuff first
+
+ // KDE Toolbar Widget
+ // patch by Daniel Brownlees <dbrownlees@paradise.net.nz>
+ if (object->parent() && !qstrcmp(object->name(), KTOOLBARWIDGET)) {
+ if (0 == (widget = ::qt_cast<QWidget*>(object))) return false;
+ QWidget *parent = ::qt_cast<QWidget*>(object->parent());
+ int px = widget->x(), py = widget->y();
+ // find the toolbar
+ while (parent && parent->parent()
+ && !::qt_cast<QToolBar*>(parent)) {
+ px += parent->x();
+ py += parent->y();
+ parent = ::qt_cast<QWidget*>(parent->parent());
+ }
+ if (!parent) return false;
+ widget->rect().rect(&x, &y, &w, &h);
+ QRect prect = parent->rect();
+
+ toolbar = ::qt_cast<QToolBar*>(parent);
+ horiz = (toolbar) ? (toolbar->orientation() == Qt::Horizontal)
+ : (prect.height() < prect.width());
+ QPainter painter(widget);
+ if (flatToolbar(toolbar)) {
+ painter.fillRect(widget->rect(),
+ parent->colorGroup().background());
+ } else {
+ drawPhaseGradient(&painter, widget->rect(),
+ parent->colorGroup().background(),
+ !horiz, px, py,
+ prect.width(), prect.height(), true);
+ if (horiz && (h==prect.height()-2)) {
+ painter.setPen(parent->colorGroup().mid());
+ painter.drawLine(x, h-1, w-1, h-1);
+ } else if (!horiz && (w==prect.width()-2)) {
+ painter.setPen(parent->colorGroup().mid());
+ painter.drawLine(w-1, y, w-1, h-1);
+ }
+ }
+ }
+
+ // QToolBarExtensionWidget
+ else if (object && object->isWidgetType() && object->parent() &&
+ (toolbar = ::qt_cast<QToolBar*>(object->parent()))) {
+ if (0 == (widget = ::qt_cast<QWidget*>(object))) return false;
+ horiz = (toolbar->orientation() == Qt::Horizontal);
+ QPainter painter(widget);
+ widget->rect().rect(&x, &y, &w, &h);
+ // draw the extension
+ drawPhaseGradient(&painter, widget->rect(),
+ toolbar->colorGroup().background(),
+ !horiz, x, y, w-1, h-1, true);
+ if (horiz) {
+ painter.setPen(toolbar->colorGroup().dark());
+ painter.drawLine(w-1, 0, w-1, h-1);
+ painter.setPen(toolbar->colorGroup().mid());
+ painter.drawLine(w-2, 0, w-2, h-2);
+ painter.drawLine(x, h-1, w-2, h-1);
+ painter.drawLine(x, y, x, h-2);
+ painter.setPen(toolbar->colorGroup().midlight());
+ painter.drawLine(x+1, y, x+1, h-2);
+ } else {
+ painter.setPen(toolbar->colorGroup().dark());
+ painter.drawLine(0, h-1, w-1, h-1);
+ painter.setPen(toolbar->colorGroup().mid());
+ painter.drawLine(0, h-2, w-2, h-2);
+ painter.drawLine(w-1, y, w-1, h-2);
+ painter.drawLine(x, y, w-2, y);
+ painter.setPen(toolbar->colorGroup().midlight());
+ painter.drawLine(x, y+1, w-2, y+1);
+ }
+ }
+
+ // QFrame lines (do this guy last)
+ else if (0 != (frame = ::qt_cast<QFrame*>(object))) {
+ QFrame::Shape shape = frame->frameShape();
+ switch (shape) {
+ case QFrame::HLine:
+ case QFrame::VLine: {
+ // NOTE: assuming lines have no content
+ QPainter painter(frame);
+ frame->rect().rect(&x, &y, &w, &h);
+ painter.setPen(frame->colorGroup().dark());
+ if (shape == QFrame::HLine) {
+ painter.drawLine(0, h/2, w, h/2);
+ } else if (shape == QFrame::VLine) {
+ painter.drawLine(w/2, 0, w/2, h);
+ }
+ return true;
+ }
+ default:
+ break;
+ }
+ }
+
+ } else if (highlights_) { // "mouseover" events
+ if (::qt_cast<QPushButton*>(object) ||
+ ::qt_cast<QComboBox*>(object) ||
+ ::qt_cast<QSpinWidget*>(object) ||
+ ::qt_cast<QCheckBox*>(object) ||
+ ::qt_cast<QRadioButton*>(object) ||
+ ::qt_cast<QSlider*>(object) ||
+ object->inherits(QSPLITTERHANDLE)) {
+ if (event->type() == QEvent::Enter) {
+ if (0 != (widget = ::qt_cast<QWidget*>(object)) &&
+ widget->isEnabled()) {
+ hover_ = widget;
+ widget->repaint(false);
+ }
+ } else if (event->type() == QEvent::Leave) {
+ if (0 != (widget = ::qt_cast<QWidget*>(object))) {
+ hover_ = 0;
+ widget->repaint(false);
+ }
+ }
+ } else if (::qt_cast<QTabBar*>(object)) { // special case for qtabbar
+ if (event->type() == QEvent::Enter) {
+ if (0 != (widget = ::qt_cast<QWidget*>(object)) &&
+ widget->isEnabled()) {
+ hover_ = widget;
+ hovertab_ = 0;;
+ widget->repaint(false);
+ }
+ } else if (event->type() == QEvent::Leave) {
+ if (0 != (widget = ::qt_cast<QWidget*>(object))) {
+ hover_ = 0;
+ hovertab_ = 0;;
+ widget->repaint(false);
+ }
+ } else if (event->type() == QEvent::MouseMove) {
+ QTabBar *tabbar;
+ if (0 != (tabbar = ::qt_cast<QTabBar*>(object))) {
+ QMouseEvent *me;
+ if (0 != (me = dynamic_cast<QMouseEvent*>(event))) {
+ QTab *tab = tabbar->selectTab(me->pos());
+ if (hovertab_ != tab) {
+ hovertab_ = tab;
+ tabbar->repaint(false);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// GradientSet //
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// GradientSet()
+// -------------
+// Constructor
+
+GradientSet::GradientSet(const QColor &color, int size)
+ : color_(color), size_(size)
+{
+ for (int n=0; n<GradientTypeCount; ++n) set[n] = 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~GradientSet()
+// --------------
+// Destructor
+
+GradientSet::~GradientSet()
+{
+ for (int n=0; n<GradientTypeCount; ++n) if (set[n]) delete set[n];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// gradient()
+// ----------
+// Return the appropriate gradient pixmap
+
+KPixmap* GradientSet::gradient(bool horizontal, bool reverse)
+{
+ GradientType type;
+
+ if (horizontal) {
+ type = (reverse) ? HorizontalReverse : Horizontal;
+ } else {
+ type = (reverse) ? VerticalReverse : Vertical;
+ }
+
+ // lazy allocate
+ if (!set[type]) {
+ set[type] = new KPixmap();
+ switch (type) {
+ case Horizontal:
+ set[type]->resize(size_, 16);
+ KPixmapEffect::gradient(*set[type],
+ color_.light(contrast),
+ color_.dark(contrast),
+ KPixmapEffect::HorizontalGradient);
+ break;
+
+ case HorizontalReverse:
+ set[type]->resize(size_, 16);
+ KPixmapEffect::gradient(*set[type],
+ color_.dark(contrast),
+ color_.light(contrast),
+ KPixmapEffect::HorizontalGradient);
+ break;
+
+ case Vertical:
+ set[type]->resize(16, size_);
+ KPixmapEffect::gradient(*set[type],
+ color_.light(contrast),
+ color_.dark(contrast),
+ KPixmapEffect::VerticalGradient);
+ break;
+
+ case VerticalReverse:
+ set[type]->resize(16, size_);
+ KPixmapEffect::gradient(*set[type],
+ color_.dark(contrast),
+ color_.light(contrast),
+ KPixmapEffect::VerticalGradient);
+ break;
+
+ default:
+ break;
+ }
+ }
+ return (set[type]);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Plugin Stuff //
+//////////////////////////////////////////////////////////////////////////////
+
+class PhaseStylePlugin : public QStylePlugin
+{
+ public:
+ PhaseStylePlugin();
+ QStringList keys() const;
+ QStyle *create(const QString &key);
+};
+
+PhaseStylePlugin::PhaseStylePlugin() : QStylePlugin() { ; }
+
+QStringList PhaseStylePlugin::keys() const
+{
+ return QStringList() << "Phase";
+}
+
+QStyle* PhaseStylePlugin::create(const QString& key)
+{
+ if (key.lower() == "phase")
+ return new PhaseStyle();
+ return 0;
+}
+
+KDE_Q_EXPORT_PLUGIN(PhaseStylePlugin)
+
+#include "phasestyle.moc"
diff --git a/styles/phase/phasestyle.h b/styles/phase/phasestyle.h
new file mode 100644
index 00000000..f8d4b7e0
--- /dev/null
+++ b/styles/phase/phasestyle.h
@@ -0,0 +1,182 @@
+//////////////////////////////////////////////////////////////////////////////
+// phasestyle.h
+// -------------------
+// Qt/KDE widget style
+// -------------------
+// Copyright (c) 2004 David Johnson <david@usermode.org>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef PHASESTYLE_H
+#define PHASESTYLE_H
+
+#include <kstyle.h>
+#include <qcolor.h>
+
+class KPixmap;
+
+class GradientSet
+{
+public:
+ enum GradientType {
+ Horizontal,
+ Vertical,
+ HorizontalReverse,
+ VerticalReverse,
+ GradientTypeCount
+ };
+
+ GradientSet(const QColor &color, int size);
+ ~GradientSet();
+
+ KPixmap* gradient(bool horizontal, bool reverse);
+
+private:
+ KPixmap *set[GradientTypeCount];
+ QColor color_;
+ int size_;
+};
+
+class PhaseStyle : public KStyle
+{
+ Q_OBJECT
+public:
+ PhaseStyle();
+ virtual ~PhaseStyle();
+
+ void polish(QApplication* app);
+ void polish(QWidget *widget);
+ void polish(QPalette &pal);
+ void unPolish(QWidget *widget);
+
+ void drawPrimitive(PrimitiveElement element,
+ QPainter *painter,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags = Style_Default,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ void drawKStylePrimitive(KStylePrimitive element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags = Style_Default,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ void drawControl(ControlElement element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags = Style_Default,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ void drawControlMask(ControlElement element,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ void drawComplexControl(ComplexControl control,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QColorGroup &group,
+ SFlags flags = Style_Default,
+ SCFlags controls = SC_All,
+ SCFlags active = SC_None,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ void drawComplexControlMask(ComplexControl control,
+ QPainter *painter,
+ const QWidget *widget,
+ const QRect &rect,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ int pixelMetric(PixelMetric metric,
+ const QWidget *widget = 0) const;
+
+ QRect subRect(SubRect rect, const QWidget *widget) const;
+
+ QRect querySubControlMetrics(ComplexControl control,
+ const QWidget *widget,
+ SubControl subcontrol,
+ const QStyleOption &option = QStyleOption::Default) const;
+
+ QSize sizeFromContents(ContentsType contents,
+ const QWidget *widget,
+ const QSize &contentsize,
+ const QStyleOption& option = QStyleOption::Default) const;
+
+private:
+ PhaseStyle(const PhaseStyle &);
+ PhaseStyle& operator=(const PhaseStyle &);
+
+ void drawPhaseBevel(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QColor &fill,
+ bool sunken=false,
+ bool horizontal=true,
+ bool reverse=false) const;
+
+ void drawPhaseButton(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QColor &fill,
+ bool sunken=false) const;
+
+ void drawPhasePanel(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ bool sunken=false,
+ const QBrush *fill=NULL) const;
+
+ void drawPhaseTab(QPainter *painter,
+ int x, int y, int w, int h,
+ const QColorGroup &group,
+ const QTabBar *bar,
+ const QStyleOption &option,
+ const SFlags flags) const;
+
+ void drawPhaseGradient(QPainter *painter,
+ const QRect &rect,
+ QColor color,
+ bool horizontal,
+ int px=0, int py=0,
+ int pw=-1, int ph=-1,
+ bool reverse=false) const;
+
+ bool flatToolbar(const QToolBar *toolbar) const;
+
+ bool eventFilter(QObject *object, QEvent *event);
+
+private:
+ QWidget *hover_;
+ QTab *hovertab_;
+ QMap<unsigned int, QIntDict<GradientSet> > * gradients;
+ bool gradients_;
+ bool highlights_;
+ bool reverse_;
+ bool kicker_;
+};
+
+#endif // PHASESTYLE_H
diff --git a/wallpapers/Appropriately-Left-Handed-2.jpg b/wallpapers/Appropriately-Left-Handed-2.jpg
new file mode 100644
index 00000000..78e182e8
--- /dev/null
+++ b/wallpapers/Appropriately-Left-Handed-2.jpg
Binary files differ
diff --git a/wallpapers/CREDITS b/wallpapers/CREDITS
new file mode 100644
index 00000000..13d81235
--- /dev/null
+++ b/wallpapers/CREDITS
@@ -0,0 +1,14 @@
+alien-night.jpg - Rob Cosgrove <abug@ozemail.com.au>
+kraftwurm.jpg - Qwertz <kraftw@gmx.de>
+fulmine.jpg - Andrea Rizzi <rizzi@kde.org>
+mystical_rightturn.jpg - Christian Mller <cmue81@gmx.de>
+
+License: free for commercial and noncommercial usage, distribution and
+modification
+
+The following tiles are courteously provided by Bowie J. Poag / PROPAGANDA:
+
+Superfluous-Organ-1.jpg, The-Good-Times-1.jpg, Whirling_Spirit.jpg,
+Appropriately-Left-Handed-2.jpg
+
+License: Copyleft \ No newline at end of file
diff --git a/wallpapers/Makefile.am b/wallpapers/Makefile.am
new file mode 100644
index 00000000..a0810f41
--- /dev/null
+++ b/wallpapers/Makefile.am
@@ -0,0 +1,22 @@
+
+papers_DATA = \
+ alien-night.jpg \
+ kraftwurm.jpg \
+ kubical.png \
+ mystical_rightturn.jpg \
+ Appropriately-Left-Handed-2.jpg \
+ Superfluous-Organ-1.jpg \
+ The-Good-Times-1.jpg \
+ Water01.jpg \
+ blue_angle_swirl.jpg \
+ bluegreencrisscross.jpg \
+ gold_crinkle.jpg \
+ vegetative_fog.jpg \
+ fulmine.jpg \
+ fulmine.jpg.desktop \
+ gear-flowers.svgz \
+ gear-flowers.svgz.desktop
+
+papersdir = $(kde_wallpaperdir)
+
+EXTRA_DIST = $(papers_DATA)
diff --git a/wallpapers/Superfluous-Organ-1.jpg b/wallpapers/Superfluous-Organ-1.jpg
new file mode 100644
index 00000000..83fb26c6
--- /dev/null
+++ b/wallpapers/Superfluous-Organ-1.jpg
Binary files differ
diff --git a/wallpapers/The-Good-Times-1.jpg b/wallpapers/The-Good-Times-1.jpg
new file mode 100644
index 00000000..e5ab958a
--- /dev/null
+++ b/wallpapers/The-Good-Times-1.jpg
Binary files differ
diff --git a/wallpapers/Water01.jpg b/wallpapers/Water01.jpg
new file mode 100644
index 00000000..7821bb63
--- /dev/null
+++ b/wallpapers/Water01.jpg
Binary files differ
diff --git a/wallpapers/alien-night.jpg b/wallpapers/alien-night.jpg
new file mode 100644
index 00000000..6fbad64c
--- /dev/null
+++ b/wallpapers/alien-night.jpg
Binary files differ
diff --git a/wallpapers/alien-night.jpg.desktop b/wallpapers/alien-night.jpg.desktop
new file mode 100644
index 00000000..90503faf
--- /dev/null
+++ b/wallpapers/alien-night.jpg.desktop
@@ -0,0 +1,40 @@
+[Wallpaper]
+File=alien-night.jpg
+Name=Alien Night
+Name[br]=Nozvezh an estrañjour
+Name[ca]=Nit d'extraterrestres
+Name[cs]=Noc vetřelců
+Name[da]=Fremmed nat
+Name[de]=Nacht der Außerirdischen
+Name[eo]=Aliplaneda Nokto
+Name[et]=Tulnukate öö
+Name[fa]=شب غریب
+Name[fi]=Muukalaisten yö
+Name[fr]=Nuit extraterrestre
+Name[fy]=Bûtenierdske nacht
+Name[he]=לילות חוצניות
+Name[hu]=Idegen éj
+Name[is]=Geimnótt
+Name[it]=Notte Aliena
+Name[ja]=エイリアンの夜
+Name[ka]=უცხოპლანეტელის ღამე
+Name[nb]=Romvesen-natt
+Name[nds]=De Buteneerdschen ehr Nacht
+Name[ne]=एलियन नाइट
+Name[nl]=Buitenaardse nacht
+Name[nn]=Romvesen-natt
+Name[pl]=Noc w obcym mieście
+Name[pt]=Noite Extraterrestre
+Name[pt_BR]=Noite Alien
+Name[ru]=Чужая ночь
+Name[sl]=Tuja noč
+Name[sr]=Ванземаљска ноћ
+Name[sr@Latn]=Vanzemaljska noć
+Name[sv]=Främmande natt
+Name[tr]=Yabancı Gece
+Name[uk]=Інопланетна ніч
+Name[vi]=Đêm tối Người ngoài hành tinh
+Name[zh_CN]=都市之夜
+Name[zh_TW]=異形夜
+ImageType=pixmap
+Author=Rob Cosgrove
diff --git a/wallpapers/blue_angle_swirl.jpg b/wallpapers/blue_angle_swirl.jpg
new file mode 100644
index 00000000..5bf0debd
--- /dev/null
+++ b/wallpapers/blue_angle_swirl.jpg
Binary files differ
diff --git a/wallpapers/bluegreencrisscross.jpg b/wallpapers/bluegreencrisscross.jpg
new file mode 100644
index 00000000..9012f3fc
--- /dev/null
+++ b/wallpapers/bluegreencrisscross.jpg
Binary files differ
diff --git a/wallpapers/fulmine.jpg b/wallpapers/fulmine.jpg
new file mode 100644
index 00000000..e14f5f44
--- /dev/null
+++ b/wallpapers/fulmine.jpg
Binary files differ
diff --git a/wallpapers/fulmine.jpg.desktop b/wallpapers/fulmine.jpg.desktop
new file mode 100644
index 00000000..e1df9249
--- /dev/null
+++ b/wallpapers/fulmine.jpg.desktop
@@ -0,0 +1,29 @@
+[Wallpaper]
+File=fulmine.jpg
+Name=Fulmine
+Name[ca]=Explosió
+Name[de]=Gewitter
+Name[eo]=Fulmo
+Name[es]=Rayo
+Name[eu]=Tximista
+Name[fi]=Salamointi
+Name[fr]=Foudre
+Name[fy]=Wjerljocht
+Name[he]=מכרה מלא
+Name[ja]=爆発
+Name[ka]=ნაღმები
+Name[mk]=Молњи
+Name[nds]=Blixenwedder
+Name[ne]=फुलमाइन
+Name[nl]=Bliksemschicht
+Name[pl]=Niebo z błyskawicami
+Name[pt_BR]=Fulminar
+Name[ru]=Фульмине
+Name[rw]=Isandara
+Name[sl]=Blisk
+Name[sr]=Муње
+Name[sr@Latn]=Munje
+Name[sv]=Dundra
+Name[zh_CN]=雷电
+ImageType=pixmap
+Author=Andrea Rizzi
diff --git a/wallpapers/gear-flowers.svgz b/wallpapers/gear-flowers.svgz
new file mode 100644
index 00000000..f993fe2d
--- /dev/null
+++ b/wallpapers/gear-flowers.svgz
Binary files differ
diff --git a/wallpapers/gear-flowers.svgz.desktop b/wallpapers/gear-flowers.svgz.desktop
new file mode 100644
index 00000000..dc136ec4
--- /dev/null
+++ b/wallpapers/gear-flowers.svgz.desktop
@@ -0,0 +1,42 @@
+[Wallpaper]
+File=gear-flowers.svgz
+Name=Gear Flowers
+Name[ca]=Flors engranades
+Name[cs]=Ozubené květiny
+Name[da]=Gearblomster
+Name[de]=Zahnradblumen
+Name[eo]=Dentradaj Floroj
+Name[es]=Flores dentadas
+Name[et]=Hammasrattaõied
+Name[eu]=Makineria loreduna
+Name[fi]=Hammasrattaiden kukat
+Name[fr]=Engrenages fleuris
+Name[fy]=Kamrêdblommen
+Name[he]=פרחי גלגליות
+Name[hu]=Fogaskerék-virágok
+Name[is]=Gírablóm
+Name[it]=Ingranaggi a fiori
+Name[ja]=ギアの花
+Name[ka]=ყვავილები კბილანები
+Name[mk]=Цветови-запчаници
+Name[nb]=Hjulblomster
+Name[nds]=Tahnradblööm
+Name[ne]=गियर फ्लावर
+Name[nl]=Tandwielbloemen
+Name[nn]=Hjulblomar
+Name[pa]=ਗੇਅਰ ਫੁੱਲ
+Name[pl]=Kwiaty z kołami zębatymi
+Name[pt]=Flores e Roldanas
+Name[pt_BR]=Flores
+Name[ru]=Цветы-шестерёнки
+Name[rw]=Guhuza Indabo
+Name[sl]=Zobniške rože
+Name[sr]=Цветови од зупчаника
+Name[sr@Latn]=Cvetovi od zupčanika
+Name[sv]=Kugghjulsblommor
+Name[tr]=Dişli Çiçekleri
+Name[uk]=Квіти-шестерні
+Name[vi]=Hoa Bánh răng
+Name[zh_CN]=齿轮蜜
+Author=Alex Rostovtsev
+ImageType=scalable
diff --git a/wallpapers/gold_crinkle.jpg b/wallpapers/gold_crinkle.jpg
new file mode 100644
index 00000000..65c2e1d1
--- /dev/null
+++ b/wallpapers/gold_crinkle.jpg
Binary files differ
diff --git a/wallpapers/kraftwurm.jpg b/wallpapers/kraftwurm.jpg
new file mode 100644
index 00000000..ba1e34f4
--- /dev/null
+++ b/wallpapers/kraftwurm.jpg
Binary files differ
diff --git a/wallpapers/kraftwurm.jpg.desktop b/wallpapers/kraftwurm.jpg.desktop
new file mode 100644
index 00000000..4f79931c
--- /dev/null
+++ b/wallpapers/kraftwurm.jpg.desktop
@@ -0,0 +1,16 @@
+[Wallpaper]
+File=kraftwurm.jpg
+Name=Kraftwurm
+Name[eo]=Kraftverm'
+Name[fy]=Krêftwjirm
+Name[mk]=Робо-црв
+Name[nb]=Kraftorm
+Name[nds]=Kraftworm
+Name[ne]=क्राफ्टवर्म
+Name[nn]=Kraftorm
+Name[ru]=Крафтвурм
+Name[sr]=Крафтвурм
+Name[sr@Latn]=Kraftvurm
+Name[zh_CN]=冷世界
+ImageType=pixmap
+Author=Qwertz
diff --git a/wallpapers/kubical.png b/wallpapers/kubical.png
new file mode 100644
index 00000000..f0acf130
--- /dev/null
+++ b/wallpapers/kubical.png
Binary files differ
diff --git a/wallpapers/kubical.png.desktop b/wallpapers/kubical.png.desktop
new file mode 100644
index 00000000..addb566d
--- /dev/null
+++ b/wallpapers/kubical.png.desktop
@@ -0,0 +1,31 @@
+[Wallpaper]
+File=kubical.png
+Name=Kubical
+Name[ca]=Kubic
+Name[da]=Kubisk
+Name[de]=Würfelig
+Name[eo]=Kubeca
+Name[et]=Kuubikas
+Name[eu]=Kubikoa
+Name[fi]=Kuutiot
+Name[fr]=Kubique
+Name[fy]=Kubysk
+Name[hu]=Kockák
+Name[it]=Kubico
+Name[ka]=კუბიკური
+Name[mk]=Коцка
+Name[nds]=Wörpelig
+Name[ne]=घनाकार
+Name[nl]=Kubisch
+Name[nn]=Kubisk
+Name[pa]=ਘਣ
+Name[ru]=Кубикс
+Name[sl]=Kocka KDE
+Name[sr]=Кубистичко
+Name[sr@Latn]=Kubističko
+Name[sv]=Kubisk
+Name[tr]=Kübik
+Name[uk]=Кубічні
+Name[zh_CN]=魔 K 方
+ImageType=pixmap
+Author=Luciash D' Being
diff --git a/wallpapers/mystical_rightturn.jpg b/wallpapers/mystical_rightturn.jpg
new file mode 100644
index 00000000..6f2a06f5
--- /dev/null
+++ b/wallpapers/mystical_rightturn.jpg
Binary files differ
diff --git a/wallpapers/mystical_rightturn.jpg.desktop b/wallpapers/mystical_rightturn.jpg.desktop
new file mode 100644
index 00000000..396e25fb
--- /dev/null
+++ b/wallpapers/mystical_rightturn.jpg.desktop
@@ -0,0 +1,37 @@
+[Wallpaper]
+File=mystical_rightturn.jpg
+Name=Mystical Right Turn
+Name[ca]=Gir místic a la dreta
+Name[cs]=Mystická spirála
+Name[da]=Mystisk højredrejning
+Name[de]=Mystische Rechtsdrehung
+Name[eo]=Mistera dekstrenturniĝo
+Name[et]=Müstiline parempööre
+Name[fa]=چرخش به راست به طور رمزی
+Name[fi]=Mystinen oikea käännös
+Name[fr]=Tour mystique
+Name[fy]=Mystyk lânskip
+Name[hu]=Titokzatos forduló
+Name[is]=Dularfull hægri beygja
+Name[it]=Curva a destra mistica
+Name[ka]=მისტიკური მარჯვენა მოსახვევი
+Name[mk]=Мистично вртење надесно
+Name[nb]=Mystisk høyresving
+Name[nds]=Mystsche Rechtsdreihen
+Name[ne]=रहस्यमय दायाँ फेरो
+Name[nl]=Mystiek landschap
+Name[nn]=Mystisk høgresving
+Name[pl]=Mistyczna fala
+Name[pt]=Mística Curva à Direita
+Name[pt_BR]=Virada à Direita
+Name[ru]=Тайный поворот
+Name[sl]=Mističen desni zavoj
+Name[sr]=Мистични десни окрет
+Name[sr@Latn]=Mistični desni okret
+Name[sv]=Mystisk högersväng
+Name[tr]=Mistik Sağa Dönüş
+Name[uk]=Містичний поворот праворуч
+Name[vi]=Quay Phải Kỳ ảo
+Name[zh_CN]=炫 K
+ImageType=pixmap
+Author=Christian Müller
diff --git a/wallpapers/vegetative_fog.jpg b/wallpapers/vegetative_fog.jpg
new file mode 100644
index 00000000..2a9e3463
--- /dev/null
+++ b/wallpapers/vegetative_fog.jpg
Binary files differ