summaryrefslogtreecommitdiffstats
path: root/kwin-styles/icewm
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
commite35f3fe53cd8df85d4fd04e49dfffbaeac971cdf (patch)
tree95836fc22de909b3b20dbf3fc3dea230e5e58e3b /kwin-styles/icewm
parenta5355f151396be579eba5838c7d8d93a43362cd7 (diff)
downloadtdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.tar.gz
tdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.zip
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'kwin-styles/icewm')
-rw-r--r--kwin-styles/icewm/CMakeLists.txt35
-rw-r--r--kwin-styles/icewm/Makefile.am21
-rw-r--r--kwin-styles/icewm/config/CMakeLists.txt28
-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.h77
-rw-r--r--kwin-styles/icewm/icewm-themes/CMakeLists.txt21
-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.h193
44 files changed, 0 insertions, 4232 deletions
diff --git a/kwin-styles/icewm/CMakeLists.txt b/kwin-styles/icewm/CMakeLists.txt
deleted file mode 100644
index d59f42c9..00000000
--- a/kwin-styles/icewm/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( config )
-add_subdirectory( icewm-themes )
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES icewm.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_icewm ###############################
-
-tde_add_kpart( twin3_icewm AUTOMOC
- SOURCES icewm.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/icewm/Makefile.am b/kwin-styles/icewm/Makefile.am
deleted file mode 100644
index e067c531..00000000
--- a/kwin-styles/icewm/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-INCLUDES = $(all_includes)
-
-SUBDIRS = . config icewm-themes
-
-kde_module_LTLIBRARIES = twin3_icewm.la
-
-twin3_icewm_la_SOURCES = icewm.cpp
-twin3_icewm_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_icewm_la_LIBADD = $(LIB_TDEUI) -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = icewm.h
-
-lnkdir = $(kde_datadir)/twin/
-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/CMakeLists.txt b/kwin-styles/icewm/config/CMakeLists.txt
deleted file mode 100644
index 9e2e118d..00000000
--- a/kwin-styles/icewm/config/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### twin_icewm_config (module) ################
-
-tde_add_kpart( twin_icewm_config AUTOMOC
- SOURCES config.cpp
- LINK tdeui-shared kio-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/icewm/config/Makefile.am b/kwin-styles/icewm/config/Makefile.am
deleted file mode 100644
index ca2d2552..00000000
--- a/kwin-styles/icewm/config/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin_icewm_config.la
-
-twin_icewm_config_la_SOURCES = config.cpp
-twin_icewm_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin_icewm_config_la_LIBADD = $(LIB_TDEUI) $(LIB_KIO)
-
-METASOURCES = AUTO
-noinst_HEADERS = config.h
-
-lnkdir = $(kde_datadir)/twin/
-
-###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
deleted file mode 100644
index a0a2a8db..00000000
--- a/kwin-styles/icewm/config/config.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * $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 <tqdir.h>
-#include <tqregexp.h>
-#include <tqvbox.h>
-#include <tqwhatsthis.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kstandarddirs.h>
-#include <kdialog.h>
-#include <kdirwatch.h>
-#include <kapplication.h>
-
-
-extern "C"
-{
- KDE_EXPORT TQObject* allocate_config( KConfig* conf, TQWidget* parent )
- {
- return(new IceWMConfig(conf, parent));
- }
-}
-
-
-// NOTE:
-// ==========================================================================
-// 'conf' is a pointer to the twindecoration modules open twin config,
-// and is by default set to the "Style" group.
-//
-// 'parent' is the parent of the TQObject, which is a VBox inside the
-// Configure tab in twindecoration
-// ==========================================================================
-
-IceWMConfig::IceWMConfig( KConfig* conf, TQWidget* parent )
- : TQObject( parent )
-{
- icewmConfig = new KConfig("twinicewmrc");
- KGlobal::locale()->insertCatalogue("twin_art_clients");
-
- mainWidget = new TQVBox( parent );
- mainWidget->setSpacing( KDialog::spacingHint() );
-
- themeListBox = new TQListBox( mainWidget );
- TQWhatsThis::add( themeListBox,
- i18n("Make your IceWM selection by clicking on a theme here. ") );
-
- cbThemeTitleTextColors = new TQCheckBox(
- i18n("Use theme &title text colors"), mainWidget );
-
- TQWhatsThis::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 TQCheckBox(
- i18n("&Show title bar on top of windows"), mainWidget );
-
- TQWhatsThis::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 TQCheckBox(
- i18n("&Menu button always shows application mini icon"), mainWidget );
-
- TQWhatsThis::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 TQLabel(
- 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, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( urlLabel, TQT_SIGNAL(leftClickedURL(const TQString&)),
- this, TQT_SLOT(callURL(const TQString&)));
-
- connect( cbThemeTitleTextColors, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( cbTitleBarOnTop, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( cbShowMenuButtonIcon, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- // Create the theme directory (if not found) ... and obtain the path as we do so.
- localThemeString = KGlobal::dirs()->saveLocation("data", "twin");
- localThemeString += "/icewm-themes";
- if (!TQFile::exists(localThemeString))
- TQDir().mkdir(localThemeString);
-
- // Watch the icewm theme directory for theme additions/removals
- KDirWatch::self()->addDir(localThemeString);
- connect( KDirWatch::self(), TQT_SIGNAL(dirty(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
- connect( KDirWatch::self(), TQT_SIGNAL(created(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
- connect( KDirWatch::self(), TQT_SIGNAL(deleted(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
-
- // Set the konqui link url
- TQString urlThemeString = TQString("file://") + localThemeString;
- urlThemeString.replace( TQRegExp("~"), "$HOME" );
- urlLabel->setURL( urlThemeString );
-
- // Make the widgets visible in twindecoration
- 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()
-{
- TQStringList dirList = KGlobal::dirs()->findDirs("data", "twin/icewm-themes");
- TQStringList::ConstIterator it;
-
- // Remove any old themes in the list (if any)
- themeListBox->clear();
- themeListBox->insertItem( i18n("Infadel #2 (default)") );
-
- // Step through all twin/icewm-themes directories...
- for( it = dirList.begin(); it != dirList.end(); it++)
- {
- // List all directory names only...
- TQDir d(*it, TQString("*"), TQDir::Unsorted, TQDir::Dirs | TQDir::Readable );
- if (d.exists())
- {
- TQFileInfoListIterator it2( *d.entryInfoList() );
- TQFileInfo* finfo;
-
- // Step through all directories within the twin/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
- TQString 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 TQString& s )
-{
- kapp->invokeBrowser( s );
-}
-
-
-void IceWMConfig::slotSelectionChanged()
-{
- emit changed();
-}
-
-
-// Loads the configurable options from the twinicewmrc 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 twinicewmrc 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
deleted file mode 100644
index c9c5b2d0..00000000
--- a/kwin-styles/icewm/config/config.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $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 <tqwidget.h>
-#include <tqcheckbox.h>
-#include <tqgroupbox.h>
-#include <tqlistbox.h>
-#include <tqlabel.h>
-#include <kurllabel.h>
-#include <kconfig.h>
-
-class TQVBox;
-
-class IceWMConfig: public TQObject
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
- IceWMConfig( KConfig* conf, TQWidget* 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 TQString& s );
- void findIceWMThemes();
-
- private:
- KConfig* icewmConfig;
- TQCheckBox* cbThemeTitleTextColors;
- TQCheckBox* cbTitleBarOnTop;
- TQCheckBox* cbShowMenuButtonIcon;
- TQListBox* themeListBox;
- TQLabel* themeLabel;
- KURLLabel* urlLabel;
- TQString localThemeString;
- TQVBox* mainWidget;
-};
-
-
-#endif
-// vim: ts=4
diff --git a/kwin-styles/icewm/icewm-themes/CMakeLists.txt b/kwin-styles/icewm/icewm-themes/CMakeLists.txt
deleted file mode 100644
index 367553ab..00000000
--- a/kwin-styles/icewm/icewm-themes/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- 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
- DESTINATION ${DATA_INSTALL_DIR}/twin/icewm-themes )
diff --git a/kwin-styles/icewm/icewm-themes/Makefile.am b/kwin-styles/icewm/icewm-themes/Makefile.am
deleted file mode 100644
index dcd5463a..00000000
--- a/kwin-styles/icewm/icewm-themes/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-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)/twin/icewm-themes
-
-
diff --git a/kwin-styles/icewm/icewm-themes/closeA.xpm b/kwin-styles/icewm/icewm-themes/closeA.xpm
deleted file mode 100644
index cc202bcd..00000000
--- a/kwin-styles/icewm/icewm-themes/closeA.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* 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
deleted file mode 100644
index 4529b06f..00000000
--- a/kwin-styles/icewm/icewm-themes/closeI.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* 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
deleted file mode 100644
index 945a3824..00000000
--- a/kwin-styles/icewm/icewm-themes/default.theme
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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 twin-icewm.
-# Please do not use this for icewm. Use the original icewm Infadel #2 instead.
-# The full Infadel #2 theme will still work with twin-icewm as well, but
-# this trimmed version is included here for space reasons.
-
-ThemeDescription="Infadel/1.0.7(twin)"
-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
deleted file mode 100644
index 67a2e1e6..00000000
--- a/kwin-styles/icewm/icewm-themes/depthA.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* 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
deleted file mode 100644
index e4fe17a9..00000000
--- a/kwin-styles/icewm/icewm-themes/depthI.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* 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
deleted file mode 100644
index c34304dc..00000000
--- a/kwin-styles/icewm/icewm-themes/maximizeA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index d857672b..00000000
--- a/kwin-styles/icewm/icewm-themes/maximizeI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index e4b5e0ed..00000000
--- a/kwin-styles/icewm/icewm-themes/menuButtonA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index 854ea273..00000000
--- a/kwin-styles/icewm/icewm-themes/menuButtonI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index bcbfa3a7..00000000
--- a/kwin-styles/icewm/icewm-themes/minimizeA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index e2e954a2..00000000
--- a/kwin-styles/icewm/icewm-themes/minimizeI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index 93481afe..00000000
--- a/kwin-styles/icewm/icewm-themes/restoreA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index b1408657..00000000
--- a/kwin-styles/icewm/icewm-themes/restoreI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index e7b70845..00000000
--- a/kwin-styles/icewm/icewm-themes/rolldownA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index 993e561b..00000000
--- a/kwin-styles/icewm/icewm-themes/rolldownI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index 32311d6a..00000000
--- a/kwin-styles/icewm/icewm-themes/rollupA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index 31b81973..00000000
--- a/kwin-styles/icewm/icewm-themes/rollupI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAB.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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
deleted file mode 100644
index 0ef284c1..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAJ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index 808458a4..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAM.xpm
+++ /dev/null
@@ -1,73 +0,0 @@
-/* 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
deleted file mode 100644
index a4ae203a..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAP.xpm
+++ /dev/null
@@ -1,73 +0,0 @@
-/* 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
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAQ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAR.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAS.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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
deleted file mode 100644
index 84f06879..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAT.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* 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
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIB.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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
deleted file mode 100644
index 0ef284c1..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIJ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index 575b63c4..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIM.xpm
+++ /dev/null
@@ -1,66 +0,0 @@
-/* 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
deleted file mode 100644
index 170d1b2a..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIP.xpm
+++ /dev/null
@@ -1,66 +0,0 @@
-/* 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
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIQ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIR.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIS.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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
deleted file mode 100644
index ddcab757..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIT.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* 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
deleted file mode 100644
index 4b9a064b..00000000
--- a/kwin-styles/icewm/icewm.cpp
+++ /dev/null
@@ -1,1703 +0,0 @@
-/*
- $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 <tqapplication.h>
-#include <tqlabel.h>
-#include <tqdrawutil.h>
-#include <tqdatetime.h>
-#include <tqbitmap.h>
-#include <tqcursor.h>
-#include <tqstring.h>
-#include <tqtooltip.h>
-#include <tqregexp.h>
-#include "icewm.h"
-
-namespace IceWM {
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// Here's the global pixmap stuff - as memory efficient as it can be :)
-////////////////////////////////////////////////////////////////////////////////////////////
-
-// IceWM frame pixmaps
-TQPixmap* frameTL[] = {NULL, NULL};
-TQPixmap* frameT [] = {NULL, NULL};
-TQPixmap* frameTR[] = {NULL, NULL};
-TQPixmap* frameL [] = {NULL, NULL};
-TQPixmap* frameR [] = {NULL, NULL};
-TQPixmap* frameBL[] = {NULL, NULL};
-TQPixmap* frameB [] = {NULL, NULL};
-TQPixmap* frameBR[] = {NULL, NULL};
-
-// Button pixmaps
-TQPixmap* closePix[] = {NULL, NULL};
-TQPixmap* depthPix[] = {NULL, NULL};
-TQPixmap* maximizePix[] = {NULL, NULL};
-TQPixmap* minimizePix[] = {NULL, NULL};
-TQPixmap* restorePix[] = {NULL, NULL};
-TQPixmap* hidePix[] = {NULL, NULL};
-TQPixmap* rollupPix[] = {NULL, NULL};
-TQPixmap* rolldownPix[] = {NULL, NULL};
-TQPixmap* menuButtonPix[] = {NULL, NULL};
-
-// Titlebar pixmaps
-TQPixmap* titleJ[] = {NULL, NULL};
-TQPixmap* titleL[] = {NULL, NULL};
-TQPixmap* titleS[] = {NULL, NULL};
-TQPixmap* titleP[] = {NULL, NULL};
-TQPixmap* titleT[] = {NULL, NULL};
-TQPixmap* titleM[] = {NULL, NULL};
-TQPixmap* titleB[] = {NULL, NULL};
-TQPixmap* titleR[] = {NULL, NULL};
-TQPixmap* titleQ[] = {NULL, NULL};
-
-ThemeHandler* clientHandler;
-
-TQString* titleButtonsLeft;
-TQString* titleButtonsRight;
-
-TQColor* colorActiveBorder;
-TQColor* colorInActiveBorder;
-TQColor* colorActiveButton;
-TQColor* colorInActiveButton;
-TQColor* colorActiveTitleBarText;
-TQColor* colorInActiveTitleBarText;
-TQColor* colorActiveTitleBar;
-TQColor* colorInActiveTitleBar;
-TQColor* colorActiveTitleTextShadow;
-TQColor* colorInActiveTitleTextShadow;
-
-int cornerSizeX;
-int cornerSizeY;
-int titleBarHeight;
-int borderSizeX;
-int borderSizeY;
-
-bool validframe = false;
-bool useActiveShadow = false;
-bool useInActiveShadow = false;
-
-// KControl Settings - Read from twinicewmrc 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( TQPixmap* 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 twin, 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 TQString();
- titleButtonsRight = new TQString();
-
- colorActiveBorder = new TQColor();
- colorInActiveBorder = new TQColor();
- colorActiveButton = new TQColor();
- colorInActiveButton = new TQColor();
- colorActiveTitleBarText = new TQColor();
- colorInActiveTitleBarText = new TQColor();
- colorActiveTitleBar = new TQColor();
- colorInActiveTitleBar = new TQColor();
- colorActiveTitleTextShadow = new TQColor();
- colorInActiveTitleTextShadow = new TQColor();
-
- // 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( TQString& s )
-{
- s.replace( TQRegExp("_"), ""); // Spacer (ignored)
- s.replace( TQRegExp("H"), ""); // Help (ignored)
- s.replace( TQRegExp("M"), "s"); // Sysmenu
- s.replace( TQRegExp("S"), "d"); // Sticky/OnAllDesktops
- s.replace( TQRegExp("I"), "i"); // Minimize
- s.replace( TQRegExp("A"), "m"); // Maximize
- s.replace( TQRegExp("X"), "x"); // Close
-}
-
-
-// Reverses all characters in a TQString
-TQString ThemeHandler::reverseString( TQString s )
-{
- if (s.length() <= 1)
- return s;
-
- TQString tmpStr;
- for(int i = s.length()-1; i >= 0; i--)
- {
- tmpStr += s[(unsigned int)i];
- }
-
- return tmpStr;
-}
-
-
-// This function reads the twinicewmrc config file
-void ThemeHandler::readConfig()
-{
- KConfig conf("twinicewmrc");
- 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", TQString("twin/icewm-themes/") +
- themeName + TQString("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( TQRegExp(TQString("\"")), "");
- *titleButtonsRight = config.readEntry("TitleButtonsRight", "xmir");
- *titleButtonsRight = titleButtonsRight->replace( TQRegExp(TQString("\"")), "");
-
- // 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
- TQString 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,Qt::Vertical );
- setPixmap( frameR, "frame", "R.xpm", true,Qt::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() );
-}
-
-
-TQPixmap* ThemeHandler::duplicateValidPixmap( bool act, int size )
-{
- TQPixmap* p1 = NULL;
- // Use the stretch or title pixmaps instead
- if ( titleS[act] )
- p1 = new TQPixmap( *titleS[act] );
- else if ( titleB[act] )
- p1 = new TQPixmap( *titleB[act] );
- else if ( titleT[act] )
- p1 = new TQPixmap( *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( TQPixmap* p[] )
-{
- if (p)
- {
- if (p[Active]) delete p[Active];
- if (p[InActive]) delete p[InActive];
- p[Active] = NULL;
- p[InActive] = NULL;
- } else
- qWarning("twin-icewm: freePixmapGroup - invalid TQPixmap** 'p'\n");
-}
-
-
-// Converts icewm colors #C0C0C0 or rgb:C0/C0/C0 to TQColors
-TQColor ThemeHandler::decodeColor( TQString& s )
-{
- // Make rgb:C0/C0/C0, or #C0/C0/C0 -> C0C0C0
- s.replace( TQRegExp("r"), "");
- s.replace( TQRegExp("g"), "");
- s.replace( TQRegExp("b"), "");
- s.replace( TQRegExp("#"), "");
- s.replace( TQRegExp("/"), "");
- s.replace( TQRegExp(":"), "");
- s.replace( TQRegExp("\\"), "");
- s.replace( TQRegExp("\""), "");
-
- // Wierd error - return grey
- if (s.length() != 6)
- return TQColor( 0xC0, 0xC0, 0xC0 );
-
- // TQt makes this conversion very easy
- return TQColor( TQString("#") + s );
-}
-
-
-// Stretches tiny pixmaps vertically or horizontally, taking into account
-// repetition in patterns, so as not to make them mismatched
-TQPixmap* ThemeHandler::stretchPixmap( TQPixmap* 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;
-
- TQPixmap* p = new TQPixmap();
- if ( stretchHoriz )
- p->resize( size, src->height() );
- else
- p->resize( src->width(), size );
-
- TQPainter 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(TQPainter &pnt, TQColor &col, int x, int y, int w, int h, bool up) {
- TQColor light = col.light(135);
- TQColor 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( TQPixmap* p[], TQString s1, TQString s2)
-{
- if ( p[Active] )
- qWarning("twin-icewm: setPixmap - should be null (1)\n");
- if ( p[InActive] )
- qWarning("twin-icewm: setPixmap - should be null (2)\n");
-
- TQString str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + "A" + s2);
- if (str.isEmpty())
- str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + s2);
-
- TQPixmap *qp = new TQPixmap(str);
- TQColor cActive = themeLook == WIN95 ? *colorActiveTitleBar : *colorActiveButton;
- TQColor cInActive = themeLook == WIN95 ? *colorInActiveTitleBar : *colorInActiveButton;
-
- if (!qp->isNull() && themeLook > 0) {
- int w = qp->width();
- if (themeLook > 0 && titleBarHeight > w) w = titleBarHeight;
- p[Active] = new TQPixmap(w, 2*titleBarHeight );
- p[Active] -> fill(cActive);
-
- TQPainter 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", TQString("icewm-themes/")
- + themeName + s1 + "I" + s2);
- if (str.isEmpty())
- str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + s2);
-
- qp = new TQPixmap(str);
- if (!qp->isNull() && themeLook > 0) {
- int w = qp->width();
- if (titleBarHeight > w) w = titleBarHeight;
- p[InActive] = new TQPixmap(w, 2*titleBarHeight );
- p[InActive] -> fill(cInActive);
-
- TQPainter 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( TQPixmap* p[], TQString s1, TQString s2,
- bool stretch, bool stretchHoriz )
-{
- if ( p[Active] )
- qWarning("twin-icewm: setPixmap - should be null (1)\n");
- if ( p[InActive] )
- qWarning("twin-icewm: setPixmap - should be null (2)\n");
-
- p[Active] = new TQPixmap( locate("data", TQString("twin/icewm-themes/")
- + themeName + s1 + "A" + s2) );
- p[InActive] = new TQPixmap( locate("data", TQString("twin/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 twin'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, TQPixmap* (*p)[2],
- bool isToggle, const TQString& tip, const int realizeBtns )
- : TQButton(parent->widget(), name)
-{
- m_realizeButtons = realizeBtns;
- setTipText(tip);
- setCursor(ArrowCursor);
- // Eliminate any possible background flicker
- setBackgroundMode( TQWidget::NoBackground );
- client = parent;
- usePixmap( p );
- setFixedSize( tqsizeHint() );
- setToggleButton( isToggle );
-}
-
-
-void IceWMButton::setTipText(const TQString &tip) {
- if(KDecoration::options()->showTooltips()) {
- TQToolTip::remove(this );
- TQToolTip::add(this, tip );
- }
-}
-
-
-TQSize IceWMButton::tqsizeHint() const
-{
- // Check for invalid data
- if ( validPixmaps( (TQPixmap**) (*pix) ) ) // Cast to avoid dumb warning
- {
- TQPixmap* p = (*pix)[ client->isActive() ? Active : InActive ];
- return( TQSize(p->width(), titleBarHeight) );
- } else
- return( TQSize(0, 0) );
-}
-
-
-void IceWMButton::usePixmap( TQPixmap* (*p)[2] )
-{
- if (validPixmaps( *p )) {
- pix = p;
- setFixedSize( (*pix)[Active]->width(), titleBarHeight );
- tqrepaint( false );
- } else
- pix = NULL;
-}
-
-
-void IceWMButton::drawButton(TQPainter *pnt)
-{
- if ( pix && validPixmaps(*pix) )
- {
- TQPixmap* 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("twin-icewm: Can't paint a null pixmap button");
-}
-
-
-void IceWMButton::turnOn( bool isOn )
-{
- if ( isToggleButton() )
- setOn( isOn );
-}
-
-
-void IceWMButton::mousePressEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::mousePressEvent( &me );
-}
-
-
-void IceWMButton::mouseReleaseEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::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 tqlayout
- grid = new TQGridLayout(widget(), 0, 0, 0);
- grid->setResizeMode(TQLayout::FreeResize);
- grid->addRowSpacing(0, borderSizeY); // Top grab bar
-
- // Do something IceWM can't do :)
- if (titleBarOnTop) {
- if( isPreview())
- grid->addWidget( new TQLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 2, 1);
- else
- grid->addItem( new TQSpacerItem( 0, 0 ), 2, 1);
- // no shade flicker
- grid->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- }
- else {
- // no shade flicker
- grid->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- if( isPreview())
- grid->addWidget( new TQLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 1, 1);
- else
- grid->addItem( new TQSpacerItem( 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 TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- hb->setResizeMode( TQLayout::FreeResize );
-
- titleSpacerJ = addPixmapSpacer( titleJ );
-
- addClientButtons( *titleButtonsLeft );
- titleSpacerL = addPixmapSpacer( titleL );
-
- // Centre titlebar if required.
- TQSizePolicy::SizeType spTitleBar;
- spTitleBar = titleBarCentered ? TQSizePolicy::Expanding : TQSizePolicy::Maximum;
- titleSpacerS = addPixmapSpacer( titleS, spTitleBar, 1 );
- titleSpacerP = addPixmapSpacer( titleP );
-
- titlebar = new TQSpacerItem( titleTextWidth(caption()), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- hb->addItem(titlebar);
-
- titleSpacerM = addPixmapSpacer( titleM );
- titleSpacerB = addPixmapSpacer( titleB, TQSizePolicy::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 tqlayout as per the buttons specified
-// in the button string 's'
-void IceWMClient::addClientButtons( const TQString& 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"), Qt::LeftButton|Qt::RightButton);
- }
- else
- button[BtnSysMenu] = new IceWMButton(this, "menu",
- &menuButtonPix, false, i18n("Menu"));
-
- connect( button[BtnSysMenu], TQT_SIGNAL(pressed()),
- this, TQT_SLOT(menuButtonPressed()));
- connect( button[BtnSysMenu], TQT_SIGNAL(released()),
- this, TQT_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], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(closeWindow()));
- }
- break;
-
- case 'm':
- if ( validPixmaps(maximizePix) && !button[BtnMaximize] && isMaximizable() )
- {
- button[BtnMaximize] = new IceWMButton(this, "maximize",
- &maximizePix, false, i18n("Maximize"), Qt::LeftButton|Qt::MidButton|Qt::RightButton);
- hb->addWidget( button[BtnMaximize] );
- connect( button[BtnMaximize], TQT_SIGNAL(clicked()),
- this, TQT_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], TQT_SIGNAL(clicked()),
- this, TQT_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: twin 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], TQT_SIGNAL(clicked()),
- this, TQT_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], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleOnAllDesktops()));
- }
- break;
- }
- }
-}
-
-
-// Adds a pixmap to the titlebar tqlayout via the use of a nice TQSpacerItem
-TQSpacerItem* IceWMClient::addPixmapSpacer( TQPixmap* p[], TQSizePolicy::SizeType s, int hsize )
-{
- TQSpacerItem* sp;
-
- // Add a null spacer for zero image
- if ( p && p[Active] )
- {
- int w = (hsize == -1) ? p[Active]->width(): hsize;
- sp = new TQSpacerItem( w, titleBarHeight, s, TQSizePolicy::Fixed );
- }
- else
- sp = new TQSpacerItem(0, 0, TQSizePolicy::Maximum, TQSizePolicy::Fixed );
-
- hb->addItem( sp );
- return sp;
-}
-
-
-void IceWMClient::renderMenuIcons()
-{
- TQPixmap miniIcon( icon().pixmap( TQIconSet::Small, TQIconSet::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 TQPixmap(w, 2*titleBarHeight );
- if (themeLook != WIN95)
- menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveButton : *colorActiveButton);
- else
- menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveTitleBar : *colorActiveTitleBar);
- TQPainter 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 TQString& s )
-{
- // Obtains the actual width of the text, using the titlebar font
- TQSize size;
- TQFontMetrics 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 TQSize& s )
-{
- widget()->resize( s );
-}
-
-
-TQSize IceWMClient::tqminimumSize() const
-{
- return widget()->tqminimumSize();
-}
-
-
-// Repaint nicely upon resize to minimise flicker.
-void IceWMClient::resizeEvent( TQResizeEvent* e )
-{
- calcHiddenButtons();
-
- if (widget()->isVisibleToTLW())
- {
- widget()->update(widget()->rect());
- int dx = 0;
- int dy = 0;
-
- if ( e->oldSize().width() != widget()->width() )
- dx = 32 + TQABS( e->oldSize().width() - width() );
-
- if ( e->oldSize().height() != height() )
- dy = 8 + TQABS( 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( TQRect( TQPoint(4,4), titlebar->tqgeometry().bottomLeft() - TQPoint(1,0) ) );
- widget()->update( TQRect( titlebar->tqgeometry().topRight(), TQPoint( width() - 4, titlebar->tqgeometry().bottom() ) ) );
- widget()->tqrepaint(titlebar->tqgeometry(), false);
- }
- }
-}
-
-
-// IceWM Paint magic goes here.
-void IceWMClient::paintEvent( TQPaintEvent* )
-{
- TQColor colorTitleShadow;
- TQColor colorTitle;
- TQColor c1;
- int rx, rw;
-
- TQPainter 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.
- TQRect 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( TQt::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)
- {
- // FillQt::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)
- {
- TQPixmap* titleBuffer = new TQPixmap( width()-(2*borderSizeX), titleBarHeight );
- TQPainter p2( titleBuffer, this );
- titleBuffer->fill( act ? *colorActiveTitleBar : *colorInActiveTitleBar );
-
- r = titleSpacerJ->tqgeometry();
- if (!r.isEmpty() && titleJ[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleJ[ act ]);
-
- r = titleSpacerL->tqgeometry();
- if (!r.isEmpty() && titleL[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleL[ act ]);
-
- r = titleSpacerS->tqgeometry();
- if (!r.isEmpty() && titleS[ act ])
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleS[ act ]);
-
- r = titleSpacerP->tqgeometry();
- if (!r.isEmpty() && titleP[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleP[ act ]);
-
- r = titlebar->tqgeometry();
- if (!r.isEmpty() && titleT[ act ] )
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleT[ act ]);
-
- r = titleSpacerM->tqgeometry();
- if (!r.isEmpty() && titleM[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleM[ act ], 0, 0, r.width(), r.height());
-
- r = titleSpacerB->tqgeometry();
- if (!r.isEmpty() && titleB[ act ])
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleB[ act ]);
-
- r = titleSpacerR->tqgeometry();
- if (!r.isEmpty() && titleR[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleR[ act ], 0, 0, r.width(), r.height());
-
- r = titleSpacerQ->tqgeometry();
- 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->tqgeometry();
- 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->tqgeometry().y(), titleBuffer );
-
- delete titleBuffer;
- }
-}
-
-
-void IceWMClient::showEvent(TQShowEvent *ev)
-{
- calcHiddenButtons();
-
- titlebar->changeSize( titleTextWidth(caption()), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- grid->activate();
- widget()->show();
- IceWMClient::showEvent(ev);
-}
-
-
-void IceWMClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if( e->button() != Qt::LeftButton )
- return;
-
- TQRect 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(TQWheelEvent *e)
-{
- if (isSetShade() || TQRect( 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]->tqrepaint(false);
- }
- }
-}
-
-
-void IceWMClient::desktopChange()
-{
- if (button[BtnDepth])
- {
- button[BtnDepth]->turnOn( isOnAllDesktops() );
- button[BtnDepth]->tqrepaint(false);
- button[BtnDepth]->setTipText(isOnAllDesktops() ? i18n("Not on all desktops") : i18n("On all desktops"));
- }
-}
-
-
-// Please don't modify the following unless you want tqlayout problems
-void IceWMClient::captionChange()
-{
- TQRect r( 0, borderSizeY, geometry().width(), titleBarHeight);
-
- titlebar->changeSize( titleTextWidth( caption() ), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- titlebar->invalidate();
- grid->activate();
- widget()->tqrepaint( 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()->tqrepaint(false);
-
- // Reset the button pixmaps.
- for(int i= IceWMClient::BtnSysMenu; i < IceWMClient::BtnCount; i++)
- if(button[i])
- button[i]->tqrepaint( 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 TQPoint& 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 TQTime t;
- static IceWMClient* lastClient = NULL;
- bool dbl = ( lastClient == this && t.elapsed() <= TQApplication::doubleClickInterval());
- lastClient = this;
- t.start();
-
- if (dbl)
- {
- m_closing = true;
- return;
- }
-
- TQPoint 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( TQObject* o, TQEvent* e )
-{
- if( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch( e->type())
- {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT( e ) );
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT( e ) );
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( 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
deleted file mode 100644
index eeffdcc0..00000000
--- a/kwin-styles/icewm/icewm.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[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=twin3_icewm
diff --git a/kwin-styles/icewm/icewm.h b/kwin-styles/icewm/icewm.h
deleted file mode 100644
index f343912c..00000000
--- a/kwin-styles/icewm/icewm.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- $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 <tqbutton.h>
-#include <tqlayout.h>
-#include <kpixmap.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-#include <tqbutton.h>
-class TQLabel;
-class TQSpacerItem;
-class TQBoxLayout;
-class TQGridLayout;
-
-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;
- TQString themeName;
-
- void readConfig();
- TQColor decodeColor( TQString& s );
- bool isFrameValid();
- void initTheme();
- void freePixmaps();
- void freePixmapGroup( TQPixmap* p[] );
- void setPixmap( TQPixmap* p[], TQString s1, TQString s2, bool
- stretch=false, bool stretchHoriz=true );
- void setPixmapButton( TQPixmap* p[], TQString s1, TQString s2);
- TQPixmap* stretchPixmap( TQPixmap* src, bool stretchHoriz=true,
- int stretchSize=-1);
- TQPixmap* duplicateValidPixmap( bool act, int size = -1 );
- void convertButtons( TQString& s );
- TQString reverseString( TQString s );
-};
-
-
-class IceWMButton : public TQButton
-{
- public:
- IceWMButton( IceWMClient *parent=0, const char *name=0,
- TQPixmap* (*p)[2]=0L, bool isToggle=false,
- const TQString& tip=NULL, const int realizeBtns = Qt::LeftButton );
- void setTipText(const TQString &tip);
- void usePixmap( TQPixmap* (*p)[2] );
- TQSize tqsizeHint() const;
- void turnOn( bool isOn );
- ButtonState last_button;
-
- protected:
- void mousePressEvent( TQMouseEvent* e );
- void mouseReleaseEvent( TQMouseEvent* e );
-
- void drawButton( TQPainter *p );
- void drawButtonLabel( TQPainter * ) {;}
-
- private:
- int m_realizeButtons;
- IceWMClient* client;
- TQPixmap* (*pix)[2]; // Points to active/inactive pixmap array
-};
-
-
-class IceWMClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory );
- ~IceWMClient();
-
- virtual void init();
- virtual void resize(const TQSize&);
- virtual bool eventFilter( TQObject* o, TQEvent* e );
-
- protected:
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
- void showEvent( TQShowEvent* );
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent( TQWheelEvent * );
- 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 TQPoint& ) const;
- void renderMenuIcons();
- void iconChange();
- virtual void desktopChange( );
- virtual void borders(int&, int&, int&, int&) const;
- virtual TQSize tqminimumSize() 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 };
-
- TQString shortenCaption( const TQString* s );
- void calcHiddenButtons();
- int titleTextWidth( const TQString& s );
- void addClientButtons( const TQString& s );
- TQSpacerItem* addPixmapSpacer( TQPixmap* p[],
- TQSizePolicy::SizeType = TQSizePolicy::Maximum, int hsize = -1 );
-
- IceWMButton* button[ IceWMClient::BtnCount ];
- TQPixmap* menuButtonWithIconPix[2];
- TQSpacerItem* titleSpacerJ;
- TQSpacerItem* titleSpacerL;
- TQSpacerItem* titleSpacerS;
- TQSpacerItem* titleSpacerP;
- TQSpacerItem* titlebar;
- TQSpacerItem* titleSpacerM;
- TQSpacerItem* titleSpacerB;
- TQSpacerItem* titleSpacerR;
- TQSpacerItem* titleSpacerQ;
- TQBoxLayout* hb;
- TQGridLayout* grid;
- bool m_closing;
-};
-
-}
-
-#endif
-
-// vim: ts=4