Adding my new Gallium-IceWM kwin client, which can directly read IceWM themes.

Go and download some themes from icewm.themes.org! The client has customisable
button positions, and uses my newly added kwindecoration module to configure
its settings. Enjoy!!!

svn path=/trunk/kdebase/kwin/; revision=92316
This commit is contained in:
Karol Szwed 2001-04-16 14:55:07 +00:00
parent 2baf96acfd
commit a7d491a8b4
42 changed files with 3499 additions and 1 deletions

View file

@ -1 +1 @@
SUBDIRS = kde1 kstep system b2 laptop riscos modernsystem win2k kwmtheme quartz SUBDIRS = kde1 kstep system b2 laptop riscos modernsystem win2k kwmtheme quartz icewm

22
clients/icewm/Makefile.am Normal file
View file

@ -0,0 +1,22 @@
INCLUDES = $(all_includes)
SUBDIRS = . config icewm-themes
kde_module_LTLIBRARIES = libkwinicewm.la
libkwinicewm_la_SOURCES = icewm.cpp
libkwinicewm_la_LIBADD = ../../kwin.la
libkwinicewm_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN)
METASOURCES = AUTO
noinst_HEADERS = icewm.h
lnkdir = $(kde_datadir)/kwin/
lnk_DATA = icewm.desktop
EXTRA_DIST = $(lnk_DATA)
###KMAKE-start (don't edit or delete this block)
###KMAKE-end

View file

@ -0,0 +1,16 @@
INCLUDES = $(all_includes)
kde_module_LTLIBRARIES = libkwinicewm_config.la
libkwinicewm_config_la_SOURCES = config.cpp
libkwinicewm_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN)
libkwinicewm_config_la_LIBADD = $(LIB_KDEUI)
METASOURCES = AUTO
noinst_HEADERS = config.h
lnkdir = $(kde_datadir)/kwin/
###KMAKE-start (don't edit or delete this block)
###KMAKE-end

View file

@ -0,0 +1,212 @@
/*
This file contains the icewm configuration widget...
Copyright (c) 2001
Karol Szwed (gallium) <karlmail@usa.net>
http://gallium.n3.net/
*/
#include "config.h"
#include <qdir.h>
#include <qregexp.h>
#include <klocale.h>
#include <kstddirs.h>
#include <kapp.h>
// KWin client config plugin interface
extern "C"
{
QObject* allocate_config( KConfig* conf, QWidget* parent )
{
return(new IceWMConfig(conf, parent));
}
}
// NOTE:
// ==========================================================================
// 'conf' is a pointer to the kwindecoration modules open kwin config,
// and is by default set to the "Style" group.
//
// 'parent' is the parent of the QObject, which is a VBox inside the
// Configure tab in kwindecoration
// ==========================================================================
IceWMConfig::IceWMConfig( KConfig* conf, QWidget* parent )
: QObject( parent )
{
gb1 = new QGroupBox( 1, Qt::Horizontal, i18n("IceWM Theme Selector"), parent );
themeListBox = new QListBox( gb1 );
themeLabel = new QLabel( i18n("To manage your IceWM themes, simply click on the link below to open a Konqueror window. "
"Once shown, you will be able to add or remove natice IceWM themes, by uncompressing <b>http://icewm.themes.org/</b> "
"theme files into this directory, or creating directory symlinks to existing IceWM themes on your system."), parent );
urlLabel = new KURLLabel( parent );
urlLabel->setText( i18n("Open Konqueror Window at KDE's IceWM theme directory") );
gb2 = new QGroupBox( 1, Qt::Horizontal, i18n("IceWM Decoration Settings"), parent );
cbThemeButtonPositions = new QCheckBox( i18n("Use theme &button positions"), gb2 );
cbThemeTitleTextColors = new QCheckBox( i18n("Use theme &title text colors"), gb2 );
cbTitleBarOnTop = new QCheckBox( i18n("&Show title bar on top of windows"), gb2 );
cbShowMenuButtonIcon = new QCheckBox( i18n("&Menu button always shows application mini icon"), gb2 );
// Load configuration options
load( conf );
// Ensure we track user changes properly
connect( themeListBox, SIGNAL(selectionChanged()), this, SLOT(slotSelectionChanged()) );
connect( urlLabel, SIGNAL(leftClickedURL(const QString&)), this, SLOT(callURL(const QString&)));
connect( cbThemeButtonPositions, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
connect( cbThemeTitleTextColors, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
connect( cbTitleBarOnTop, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
connect( cbShowMenuButtonIcon, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
// Make sure the local user's theme directory actually exists...
QStringList dirList = KGlobal::dirs()->findDirs("data", "kwin");
QString localThemeString = *(dirList.begin());
// Create the directory if not found...
if (localThemeString.isEmpty())
localThemeString = KGlobal::dirs()->saveLocation("data", "kwin");
localThemeString += "/icewm-themes";
if (!QFile::exists(localThemeString))
QDir().mkdir(localThemeString);
// Set the konqui link url
localThemeString = QString("file://") + localThemeString;
localThemeString.replace( QRegExp("~"), "$HOME" );
urlLabel->setURL( localThemeString );
// Make the widgets visible in kwindecoration
gb1->show();
themeLabel->show();
urlLabel->show();
gb2->show();
}
IceWMConfig::~IceWMConfig()
{
delete gb2;
delete urlLabel;
delete themeLabel;
delete gb1;
}
// Searches for all installed IceWM themes, and adds them to the listBox.
void IceWMConfig::findIceWMThemes()
{
QStringList dirList = KGlobal::dirs()->findDirs("data", "kwin/icewm-themes");
QStringList::ConstIterator it;
// Remove any old themes in the list (if any)
themeListBox->clear();
themeListBox->insertItem( i18n("Infadel #2 (default)") );
// Step through all kwin/icewm-themes directories...
for( it = dirList.begin(); it != dirList.end(); it++)
{
// List all directory names only...
QDir d(*it, QString("*"), QDir::Unsorted, QDir::Dirs | QDir::Readable );
if (d.exists())
{
QFileInfoListIterator it2( *d.entryInfoList() );
QFileInfo* finfo;
// Step through all directories within the kwin/icewm-themes directory
while( (finfo = it2.current()) )
{
// Ignore . and .. directories
if ( (finfo->fileName() == ".") || (finfo->fileName() == "..") )
{
++it2;
continue;
}
if ( !themeListBox->findItem( finfo->fileName()) )
themeListBox->insertItem( finfo->fileName() );
++it2;
}
}
}
// Sort the items
themeListBox->sort();
}
void IceWMConfig::callURL( const QString& s )
{
kapp->invokeBrowser( s );
}
void IceWMConfig::slotSelectionChanged()
{
emit changed();
}
// Loads the configurable options from the kwinrc config file
// It is passed the open config from kwindecoration to improve efficiency
void IceWMConfig::load( KConfig* conf )
{
conf->setGroup("IceWM");
bool override = conf->readBoolEntry( "ThemeButtonPositions", true );
cbThemeButtonPositions->setChecked( override );
override = conf->readBoolEntry( "ThemeTitleTextColors", true );
cbThemeTitleTextColors->setChecked( override );
override = conf->readBoolEntry( "TitleBarOnTop", true );
cbTitleBarOnTop->setChecked( override );
override = conf->readBoolEntry( "ShowMenuButtonIcon", false );
cbShowMenuButtonIcon->setChecked( override );
findIceWMThemes();
QString themeName = conf->readEntry("CurrentTheme", "");
// Provide a theme alias
if (themeName == "default")
themeName = "";
// Select the currently used IceWM theme
if (themeName == "")
themeListBox->setCurrentItem(
themeListBox->findItem( i18n("Infadel #2 (default)") ) );
else
themeListBox->setCurrentItem( themeListBox->findItem(themeName) );
}
// Saves the configurable options to the kwinrc config file
void IceWMConfig::save( KConfig* conf )
{
conf->setGroup("IceWM");
conf->writeEntry( "ThemeTitleTextColors", cbThemeTitleTextColors->isChecked() );
conf->writeEntry( "ThemeButtonPositions", cbThemeButtonPositions->isChecked() );
conf->writeEntry( "TitleBarOnTop", cbTitleBarOnTop->isChecked() );
conf->writeEntry( "ShowMenuButtonIcon", cbShowMenuButtonIcon->isChecked() );
if (themeListBox->currentText() == i18n("Infadel #2 (default)"))
conf->writeEntry("CurrentTheme", "default");
else
conf->writeEntry("CurrentTheme", themeListBox->currentText() );
}
// Sets UI widget defaults which must correspond to config defaults
void IceWMConfig::defaults()
{
cbThemeTitleTextColors->setChecked( true );
cbThemeButtonPositions->setChecked( true );
cbTitleBarOnTop->setChecked( true );
cbShowMenuButtonIcon->setChecked( false );
themeListBox->setCurrentItem( themeListBox->findItem(i18n("Infadel #2 (default)")) );
}
#include "config.moc"

View file

@ -0,0 +1,56 @@
/*
This file contains the icewm configuration widget...
Copyright (c) 2001
Karol Szwed (gallium) <karlmail@usa.net>
http://gallium.n3.net/
*/
#ifndef __KDEGALLIUM_ICEWMCONFIG_H
#define __KDEGALLIUM_ICEWMCONFIG_H
#include <qwidget.h>
#include <qcheckbox.h>
#include <qgroupbox.h>
#include <qlistbox.h>
#include <qlabel.h>
#include <kurllabel.h>
#include <kconfig.h>
class IceWMConfig: public QObject
{
Q_OBJECT
public:
IceWMConfig( KConfig* conf, QWidget* parent );
~IceWMConfig();
// These public signals/slots work similar to KCM modules
signals:
void changed();
public slots:
void load( KConfig* conf );
void save( KConfig* conf );
void defaults();
protected slots:
void slotSelectionChanged(); // Internal use
void callURL( const QString& s );
private:
void findIceWMThemes();
QCheckBox* cbThemeButtonPositions;
QCheckBox* cbThemeTitleTextColors;
QCheckBox* cbTitleBarOnTop;
QCheckBox* cbShowMenuButtonIcon;
QGroupBox* gb1;
QGroupBox* gb2;
QListBox* themeListBox;
QLabel* themeLabel;
KURLLabel* urlLabel;
};
#endif

View file

@ -0,0 +1,13 @@
data_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
datadir = $(kde_datadir)/kwin/icewm-themes
EXTRA_DIST = $(data_DATA)

View file

@ -0,0 +1,69 @@
/* XPM */
static char * closeA_xpm[] = {
"15 34 32 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #798EAA",
"( c #7E96B6",
"_ c #C7CDD4",
": c #FEFEFE",
"< c #8CA3C5",
"[ c #435165",
"} c #3C4553",
"| c #323F4F",
"1 c #0D0E13",
"2 c #363636",
"3 c #677B98",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/_>^]{~",
":*)^>!(<'!_^[*:",
"~%}^>!/*/_>^}%~",
",%}[->*!,>;^}%,",
"&%|[^$>_>;^}=%&",
"@$]|1[&^^^}|]$@",
"+)$]|&}[)||=$)+",
"..**']=|=]]**..",
"{{{$1*'''*1${{{",
"####=%%%%1=####",
")))))))))))))))",
"2222222=2222222",
"...............",
"+++++++++++++++",
"@@@@)1%%%$)@@@@",
"&&&*'})[)}]*&&&",
",,*=)[^-^^}2*,,",
"~{'}[^;>;-[}'{~",
":$=}[^>31+[|=*:",
"~%=}[^;$;^+|=%~",
",%]|}^1-^+}|]%,",
"&%'2|1[[/)|2'%&",
"@1']%|}.}|2]'1@",
"+)1']=.==]]'1)+",
"..$$*.]]''*$1..",
"{{{11$***$1${{{",
"####]%%%%%]####",
")))))))))))))))",
"222222222222222"};

View file

@ -0,0 +1,69 @@
/* XPM */
static char * closeI_xpm[] = {
"15 34 32 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #8A8A8A",
"( g #929292",
"_ g #CBCBCB",
": g #FEFEFE",
"< g #9F9F9F",
"[ g #4F4F4F",
"} g #434343",
"| g #3C3C3C",
"1 g #0E0E0E",
"2 g #363636",
"3 g #787878",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/_>^]{~",
":*)^>!(<'!_^[*:",
"~%}^>!/*/_>^}%~",
",%}[->*!,>;^}%,",
"&%|[^$>_>;^}=%&",
"@$]|1[&^^^}|]$@",
"+)$]|&}[)||=$)+",
"..**']=|=]]**..",
"{{{$1*'''*1${{{",
"####=%%%%1=####",
")))))))))))))))",
"2222222=2222222",
"...............",
"+++++++++++++++",
"@@@@)1%%%$)@@@@",
"&&&*'})[)}]*&&&",
",,*=)[^-^^}2*,,",
"~{'}[^;>;-[}'{~",
":$=}[^>31+[|=*:",
"~%=}[^;$;^+|=%~",
",%]|}^1-^+}|]%,",
"&%'2|1[[/)|2'%&",
"@1']%|}.}|2]'1@",
"+)1']=.==]]'1)+",
"..$$*.]]''*$1..",
"{{{11$***$1${{{",
"####]%%%%%]####",
")))))))))))))))",
"222222222222222"};

View file

@ -0,0 +1,48 @@
# Xerithane:
#
# Well, Artwiz inspired me (dirty lil blackbox user <g>)
# So, I ripped his font (snap.pcf), and then got the chrome style idea and
# adapted the theme as a rip of the e.t.o page (get it, Infadel..)
# Some of the borrowed style is from Area 51 (by RudeSka, herald of #icewm)
# Also borrowed are some icons from Area 51.
#
# tbf:
#
# Extended Artwiz's snap font, added cursors, polished the applets.
# Invented depth, hide, rollup and rolldown buttons. Redraw the others.
# Reduced number of colors.
# closeI.xpm depthI.xpm maximizeI.xpm minimizeI.xpm restoreI.xpm hideI.xpm
# rollupI.xpm rolldownI.xpm menuButtonI.xpm
# closeA.xpm depthA.xpm maximizeA.xpm minimizeA.xpm restoreA.xpm hideA.xpm
# rollupA.xpm rolldownA.xpm menuButtonA.xpm
# PLEASE NOTE:
# ============
# Heavily modified by gallium for the purposes of kwin-icewm.
# Please do not use this for icewm. Use the original icewm Infadel #2 instead.
# The full Infadel #2 theme will still work with kwin-icewm as well, but
# this trimmed version is included here for space reasons.
ThemeDescription="Infadel/1.0.7(kwin)"
ThemeAuthor="xerithane@nerdfarm.org"
Look=pixmap
TitleButtonsLeft="s"
TitleButtonsRight="xmi"
TitleButtonsSupported="sxmihrd"
TitleBarCentered=1
TitleBarHeight=17
# Modified border sizes so they're more user "grip" friendly
BorderSizeX=3
BorderSizeY=3
CornerSizeX=28
CornerSizeY=28
ColorNormalTitleBarText="#c0c0c0"
ColorActiveTitleBarText="#ffffff"
ColorActiveBorder="#868687"
ColorNormalBorder="#575757"
ShowMenuButtonIcon=0

View file

@ -0,0 +1,69 @@
/* XPM */
static char * depthA_xpm[] = {
"15 34 32 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #363636",
"$ c #0D0E13",
"% c #040404",
"& c #C2C2C2",
"* c #4A4A4A",
"= c #2D333D",
"- c #56657A",
"; c #5D6E86",
"> c #D6D6D6",
", c #4D5868",
"' c #677B98",
") c #6E809C",
"! c #58667E",
"~ c #EAEAEA",
"{ c #232D3A",
"] c #798EAA",
"^ c #7E96B6",
"/ c #FEFEFE",
"( c #3C4553",
"_ c #8CA3C5",
": c #111214",
"< c #323F4F",
"[ c #435165",
"} c #C7CDD4",
"| c #717273",
"1 c #181C22",
"2 c #1D2632",
"3 c #5D5D5E",
"...............",
"+++++++++++++++",
"@@@@.#$%$#.@@@@",
"&&&*=-;;;-=*&&&",
">>,*-;')';!*,>>",
"~@{,;)]^]);,{@~",
"/*(-;)^_^);,(,/",
"~:(,;)<(<);,*:~",
">%([!=)))}![(%>",
"&:=*[-}}&-,[=$&",
"@#=<*[,-,[(<{#@",
"+|:{<(((*(<=:|+",
"..#1{=<==={1#..",
"|||{$12221$=|||",
"3333(1%%%1(3333",
"***************",
"###############",
"...............",
"+++++++++++++++",
"@@@@|{$%%=|@@@@",
"&&&(2**[[(2(&&&",
">>*=([,3,,*#*>>",
"~+1([3!;!,[(2+~",
"/(#([,;'!-[(#(/",
"~:=([,{={,[<=:~",
">%{<(2,-,+(<=%>",
"&$2#((^+.[<=2$&",
"@=2{=#<<(<#{1=@",
"+3$2{===={{2$!+",
"..=:122{221:=..",
"|||{%1111:$2|||",
"3333#1%%%:*3333",
"***************",
"###############"};

View file

@ -0,0 +1,69 @@
/* XPM */
static char * depthI_xpm[] = {
"15 34 32 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #363636",
"$ g #0E0E0E",
"% g #040404",
"& g #C2C2C2",
"* g #4A4A4A",
"= g #323232",
"- g #626262",
"; g #6B6B6B",
"> g #D6D6D6",
", g #565656",
"' g #787878",
") g #7D7D7D",
"! g #646464",
"~ g #EAEAEA",
"{ g #2B2B2B",
"] g #8A8A8A",
"^ g #929292",
"/ g #FEFEFE",
"( g #434343",
"_ g #9F9F9F",
": g #111111",
"< g #3C3C3C",
"[ g #4F4F4F",
"} g #CBCBCB",
"| g #717171",
"1 g #1B1B1B",
"2 g #242424",
"3 g #5D5D5D",
"...............",
"+++++++++++++++",
"@@@@.#$%$#.@@@@",
"&&&*=-;;;-=*&&&",
">>,*-;')';!*,>>",
"~@{,;)]^]);,{@~",
"/*(-;)^_^);,(,/",
"~:(,;)<(<);,*:~",
">%([!=)))}![(%>",
"&:=*[-}}&-,[=$&",
"@#=<*[,-,[(<{#@",
"+|:{<(((*(<=:|+",
"..#1{=<==={1#..",
"|||{$12221$=|||",
"3333(1%%%1(3333",
"***************",
"###############",
"...............",
"+++++++++++++++",
"@@@@|{$%%=|@@@@",
"&&&(2**[[(2(&&&",
">>*=([,3,,*#*>>",
"~+1([3!;!,[(2+~",
"/(#([,;'!-[(#(/",
"~:=([,{={,[<=:~",
">%{<(2,-,+(<=%>",
"&$2#((^+.[<=2$&",
"@=2{=#<<(<#{1=@",
"+3$2{===={{2$!+",
"..=:122{221:=..",
"|||{%1111:$2|||",
"3333#1%%%:*3333",
"***************",
"###############"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * maximizeA_xpm[] = {
"15 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #798EAA",
"( c #7E96B6",
"_ c #FEFEFE",
": c #7A91B1",
"< c #3C4553",
"[ c #435165",
"} c #C7CDD4",
"| c #323F4F",
"1 c #0D0E13",
"2 c #363636",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>!(~:!>-)*_",
"~%<^>!,@,!>^<%~",
",%<[-}@@@};^|%,",
"&%|[^%%%%%^<|%&",
"@$]|<^^^^^<|]$@",
"+)$]|<<[<<|]$)+",
"..**'==|=]]**..",
"{{{$1*'''*1${{{",
"####=%%%%1=####",
")))))))))))))))",
"222222222222222",
"...............",
"+++++++++++++++",
"@@@@)1%%%$)@@@@",
"&&&*'<)[)['*}&&",
",,*2<^^^^[<2*,,",
"~{'<[^>>;-)<*{~",
"_$=|[->+;-[<2*_",
"~%=<[^+.+^[|=%~",
",%]|<+.!!+<|]%,",
"&%'=|%%%%%|2'%&",
"@1']=||<||2]'1@",
"+)1']==2=]]'1)+",
"..$1*'''''*$1..",
"{{{11$***$1${{{",
"####]%%%%%]####",
")))))))))))))))",
"222222222222222"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * maximizeI_xpm[] = {
"15 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #8A8A8A",
"( g #929292",
"_ g #FEFEFE",
": g #8D8D8D",
"< g #434343",
"[ g #4F4F4F",
"} g #CBCBCB",
"| g #3C3C3C",
"1 g #0E0E0E",
"2 g #363636",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>!(~:!>-)*_",
"~%<^>!,@,!>^<%~",
",%<[-}@@@};^|%,",
"&%|[^%%%%%^<|%&",
"@$]|<^^^^^<|]$@",
"+)$]|<<[<<|]$)+",
"..**'==|=]]**..",
"{{{$1*'''*1${{{",
"####=%%%%1=####",
")))))))))))))))",
"222222222222222",
"...............",
"+++++++++++++++",
"@@@@)1%%%$)@@@@",
"&&&*'<)[)['*}&&",
",,*2<^^^^[<2*,,",
"~{'<[^>>;-)<*{~",
"_$=|[->+;-[<2*_",
"~%=<[^+.+^[|=%~",
",%]|<+.!!+<|]%,",
"&%'=|%%%%%|2'%&",
"@1']=||<||2]'1@",
"+)1']==2=]]'1)+",
"..$1*'''''*$1..",
"{{{11$***$1${{{",
"####]%%%%%]####",
")))))))))))))))",
"222222222222222"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * menuButtonA_xpm[] = {
"17 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #363636",
"$ c #0D0E13",
"% c #040404",
"& c #C2C2C2",
"* c #4A4A4A",
"= c #2D333D",
"- c #56657A",
"; c #5D6E86",
"> c #D6D6D6",
", c #4D5868",
"' c #677B98",
") c #6E809C",
"! c #58667E",
"~ c #EAEAEA",
"{ c #232D3A",
"] c #798EAA",
"^ c #7E96B6",
"/ c #FEFEFE",
"( c #3C4553",
"_ c #8CA3C5",
": c #111214",
"< c #435165",
"[ c #323F4F",
"} c #717273",
"| c #181C22",
"1 c #1D2632",
"2 c #5D5D5E",
".................",
"+++++++++++++++++",
"@@@@@.#$%$#.@@@@@",
"&&&&*=-;;;-=*&&&&",
">>>,*-;')';!*,>>>",
"~~@{,;)]^]);,{@~~",
"//*(-;)^_^);,(,//",
"~~:(,;)]^]);,*:~~",
">>%(<%%%%%%%<(%>>",
"&&$=<@&&&&&@<=$&&",
"@@#{[*<,,,,([=#@@",
"++}|{[((<(([=:}++",
"...#|{{=[={{|#...",
"}}}}{$|111|$=}}}}",
"22222(|%%$|(22222",
"*****************",
"#################",
".................",
"+++++++++++++++++",
"@@@@@}{$%%=}@@@@@",
"&&&&(1**<<(1(&&&&",
">>>*=(<,-2<*#*>>>",
"~~+|(<,-;-,<(1+~~",
"//(#(<-;'!-<(#(//",
"~~$=[*,!;-,<[=:~~",
">>%{[%%%%%%%[{%>>",
"&&$1#.]..]..#1$&&",
"@@=1{=[((([#{1=@@",
"++2$1{====={|$2++",
"...{:|11{11|:=...",
"}}}}{%:|||:$1}}}}",
"22222(|%%%|(22222",
"*****************",
"#################"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * menuButtonI_xpm[] = {
"17 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #363636",
"$ g #0E0E0E",
"% g #040404",
"& g #C2C2C2",
"* g #4A4A4A",
"= g #323232",
"- g #626262",
"; g #6B6B6B",
"> g #D6D6D6",
", g #565656",
"' g #787878",
") g #7D7D7D",
"! g #646464",
"~ g #EAEAEA",
"{ g #2B2B2B",
"] g #8A8A8A",
"^ g #929292",
"/ g #FEFEFE",
"( g #434343",
"_ g #9F9F9F",
": g #111111",
"< g #4F4F4F",
"[ g #3C3C3C",
"} g #717171",
"| g #1B1B1B",
"1 g #242424",
"2 g #5D5D5D",
".................",
"+++++++++++++++++",
"@@@@@.#$%$#.@@@@@",
"&&&&*=-;;;-=*&&&&",
">>>,*-;')';!*,>>>",
"~~@{,;)]^]);,{@~~",
"//*(-;)^_^);,(,//",
"~~:(,;)]^]);,*:~~",
">>%(<%%%%%%%<(%>>",
"&&$=<@&&&&&@<=$&&",
"@@#{[*<,,,,([=#@@",
"++}|{[((<(([=:}++",
"...#|{{=[={{|#...",
"}}}}{$|111|$=}}}}",
"22222(|%%$|(22222",
"*****************",
"#################",
".................",
"+++++++++++++++++",
"@@@@@}{$%%=}@@@@@",
"&&&&(1**<<(1(&&&&",
">>>*=(<,-2<*#*>>>",
"~~+|(<,-;-,<(1+~~",
"//(#(<-;'!-<(#(//",
"~~$=[*,!;-,<[=:~~",
">>%{[%%%%%%%[{%>>",
"&&$1#.]..]..#1$&&",
"@@=1{=[((([#{1=@@",
"++2$1{====={|$2++",
"...{:|11{11|:=...",
"}}}}{%:|||:$1}}}}",
"22222(|%%%|(22222",
"*****************",
"#################"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * minimizeA_xpm[] = {
"15 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #798EAA",
"( c #7E96B6",
"_ c #FEFEFE",
": c #8CA3C5",
"< c #3C4553",
"[ c #323F4F",
"} c #0D0E13",
"| c #435165",
"1 c #363636",
"2 c #677B98",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>!(:(!>-)*_",
"~%<^>,,,,,>^<%~",
",%<^-%@@@%-^[%,",
"&%[<^-}@%-^<[%&",
"@}][<|^%^|<[]$@",
"+|$][<<|<<[=$)+",
"..**]==[=]]**..",
"{{{$}*'''*}${{{",
"####=%%%%}]####",
")))))))))))))))",
"111111111111111",
"...............",
"+++++++++++++++",
"@@@@)}%%%}^@@@@",
"&&&*'<)|)<'*&&&",
",,*1||^-^|)1*,,",
"~{*[|^;>;^|<'{~",
"_*1<|->2>-|<=*_",
"~%=[|+++++|[=%~",
",%=[<%!.!%<[]%,",
"&%'1[<%.%)[1'%&",
"@}']11[%[[1]'}@",
"+)}']==1==]'})+",
"..}$*'''''*$}..",
"{{{$}$**$$}}{{{",
"####]%%%%}]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * minimizeI_xpm[] = {
"15 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #8A8A8A",
"( g #929292",
"_ g #FEFEFE",
": g #9F9F9F",
"< g #434343",
"[ g #3C3C3C",
"} g #0E0E0E",
"| g #4F4F4F",
"1 g #363636",
"2 g #787878",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>!(:(!>-)*_",
"~%<^>,,,,,>^<%~",
",%<^-%@@@%-^[%,",
"&%[<^-}@%-^<[%&",
"@}][<|^%^|<[]$@",
"+|$][<<|<<[=$)+",
"..**]==[=]]**..",
"{{{$}*'''*}${{{",
"####=%%%%}]####",
")))))))))))))))",
"111111111111111",
"...............",
"+++++++++++++++",
"@@@@)}%%%}^@@@@",
"&&&*'<)|)<'*&&&",
",,*1||^-^|)1*,,",
"~{*[|^;>;^|<'{~",
"_*1<|->2>-|<=*_",
"~%=[|+++++|[=%~",
",%=[<%!.!%<[]%,",
"&%'1[<%.%)[1'%&",
"@}']11[%[[1]'}@",
"+)}']==1==]'})+",
"..}$*'''''*$}..",
"{{{$}$**$$}}{{{",
"####]%%%%}]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * restoreA_xpm[] = {
"15 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #798EAA",
"( c #FEFEFE",
"_ c #3C4553",
": c #0D0E13",
"< c #323F4F",
"[ c #C7CDD4",
"} c #435165",
"| c #363636",
"1 c #8CA3C5",
"2 c #7E96B6",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/,/!>^]{~",
"(*)^>!,@,!>-)*(",
"~%_^>,@@@,>^_%~",
",%_^;%:%%%-^<%,",
"&%<_^[[[[[^_<%&",
"@:]<_:@@@%_<]$@",
"+}$]<<%@%_<]$)+",
"..**]]=%=]]**..",
"{{{$:*'''*:${{{",
"####=%%%%:=####",
")))))))))))))))",
"|||||||||||||||",
"...............",
"+++++++++++++++",
"@@@@):%%%$)@@@@",
"&&&*'_)})}'*[&&",
",,*|_^^^^}_|*,,",
"~{'_}^>1;#}<'{~",
"($=<}-+.+^}_=*(",
"~%=_)+!..+}<=%~",
",%=<_%%%%%)|]%,",
"&%'<<++2+/_=]%&",
"@:*]=%.{.%|]*:@",
"+):'']%{%]]':)+",
"..$$*''%''*$$..",
"{{{$:$***$::{{{",
"####]%%%%:]####",
")))))))))))))))",
"|||||||||||||||"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * restoreI_xpm[] = {
"15 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #8A8A8A",
"( g #FEFEFE",
"_ g #434343",
": g #0E0E0E",
"< g #3C3C3C",
"[ g #CBCBCB",
"} g #4F4F4F",
"| g #363636",
"1 g #9F9F9F",
"2 g #929292",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/,/!>^]{~",
"(*)^>!,@,!>-)*(",
"~%_^>,@@@,>^_%~",
",%_^;%:%%%-^<%,",
"&%<_^[[[[[^_<%&",
"@:]<_:@@@%_<]$@",
"+}$]<<%@%_<]$)+",
"..**]]=%=]]**..",
"{{{$:*'''*:${{{",
"####=%%%%:=####",
")))))))))))))))",
"|||||||||||||||",
"...............",
"+++++++++++++++",
"@@@@):%%%$)@@@@",
"&&&*'_)})}'*[&&",
",,*|_^^^^}_|*,,",
"~{'_}^>1;#}<'{~",
"($=<}-+.+^}_=*(",
"~%=_)+!..+}<=%~",
",%=<_%%%%%)|]%,",
"&%'<<++2+/_=]%&",
"@:*]=%.{.%|]*:@",
"+):'']%{%]]':)+",
"..$$*''%''*$$..",
"{{{$:$***$::{{{",
"####]%%%%:]####",
")))))))))))))))",
"|||||||||||||||"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * rolldownA_xpm[] = {
"15 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #798EAA",
"( c #7E96B6",
"_ c #FEFEFE",
": c #3C4553",
"< c #323F4F",
"[ c #0D0E13",
"} c #C7CDD4",
"| c #435165",
"1 c #363636",
"2 c #8CA3C5",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>,,~,,>-)*_",
"~%:^>%@@@%>^:%~",
",%:^->%@%>;^<%,",
"&%<:^;>%>-^:<%&",
"@[]<&&}}}&&<][@",
"+|$]%%%%%%%=$)+",
"..**]]====]**..",
"{{{$[*']'*[${{{",
"####=%%%%%=####",
")))))))))))))))",
"111111=11111111",
"...............",
"+++++++++++++++",
"@@@@)[%%%[^@@@@",
"&&&*':)|):'*&&&",
",,*=)|^-^|)1*,,",
"~{':|^;>;^|:'{~",
"_$=:|+2+2+|:=*_",
"~%=:|%...%)<=%~",
",%]<:|%.%|)<]%,",
"&%'1<:)%):<<'%&",
"@[''+/+/+(.]*[@",
"+)['%%%%%%%'[)+",
"..$$*'''''*$$..",
"{{{[[$***$[[{{{",
"####]%%%%%]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * rolldownI_xpm[] = {
"15 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #8A8A8A",
"( g #929292",
"_ g #FEFEFE",
": g #434343",
"< g #3C3C3C",
"[ g #0E0E0E",
"} g #CBCBCB",
"| g #4F4F4F",
"1 g #363636",
"2 g #9F9F9F",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^>!/(/!>^]{~",
"_*)^>,,~,,>-)*_",
"~%:^>%@@@%>^:%~",
",%:^->%@%>;^<%,",
"&%<:^;>%>-^:<%&",
"@[]<&&}}}&&<][@",
"+|$]%%%%%%%=$)+",
"..**]]====]**..",
"{{{$[*']'*[${{{",
"####=%%%%%=####",
")))))))))))))))",
"111111=11111111",
"...............",
"+++++++++++++++",
"@@@@)[%%%[^@@@@",
"&&&*':)|):'*&&&",
",,*=)|^-^|)1*,,",
"~{':|^;>;^|:'{~",
"_$=:|+2+2+|:=*_",
"~%=:|%...%)<=%~",
",%]<:|%.%|)<]%,",
"&%'1<:)%):<<'%&",
"@[''+/+/+(.]*[@",
"+)['%%%%%%%'[)+",
"..$$*'''''*$$..",
"{{{[[$***$[[{{{",
"####]%%%%%]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * rollupA_xpm[] = {
"15 34 31 1",
" c None",
". c #858686",
"+ c #9A9A9A",
"@ c #AEAEAE",
"# c #5D5D5E",
"$ c #111214",
"% c #040404",
"& c #C2C2C2",
"* c #181C22",
"= c #2D333D",
"- c #56657A",
"; c #58667E",
"> c #5D6E86",
", c #D6D6D6",
"' c #1D2632",
") c #4A4A4A",
"! c #6E809C",
"~ c #EAEAEA",
"{ c #717273",
"] c #232D3A",
"^ c #4D5868",
"/ c #C7CDD4",
"( c #FEFEFE",
"_ c #0D0E13",
": c #435165",
"< c #3C4553",
"[ c #677B98",
"} c #798EAA",
"| c #323F4F",
"1 c #363636",
"2 c #8CA3C5",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^/,,,,,/^]{~",
"(*)^_%__%_%^:*(",
"~%<^;[},}!>^<%~",
",%<^;>,@/[-^<%,",
"&%|<^/@@@/^<=%&",
"@_]|<_%%%%<|]$@",
"+)*]|<<<<||=$)+",
"..$*'=||==]**..",
"{{{$_**''*_${{{",
"##-#=_%%%%=####",
")))))))))))))))",
"111111=11111111",
"...............",
"+++++++++++++++",
"@@@@)_%%%_^@@@@",
"&&&*'<):)<'*&&&",
",,*=):^-^^)1*,,",
"~{'|+2+2+++<'{~",
"($=<%%%%%%%<=*(",
"~%=|:^;+;^:|=%~",
",%=|<:+.+:<|]%,",
"&%'1<+!!.+|1'%&",
"@_']=%%%%%1]'_@",
"+)_*]====]]'_)+",
"..$$*'']''*$_..",
"{{{__$$*$$_${{{",
"####]%%%%_]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * rollupI_xpm[] = {
"15 34 31 1",
" g None",
". g #858585",
"+ g #9A9A9A",
"@ g #AEAEAE",
"# g #5D5D5D",
"$ g #111111",
"% g #040404",
"& g #C2C2C2",
"* g #1B1B1B",
"= g #323232",
"- g #626262",
"; g #646464",
"> g #6B6B6B",
", g #D6D6D6",
"' g #242424",
") g #4A4A4A",
"! g #7D7D7D",
"~ g #EAEAEA",
"{ g #717171",
"] g #2B2B2B",
"^ g #565656",
"/ g #CBCBCB",
"( g #FEFEFE",
"_ g #0E0E0E",
": g #4F4F4F",
"< g #434343",
"[ g #787878",
"} g #8A8A8A",
"| g #3C3C3C",
"1 g #363636",
"2 g #9F9F9F",
"...............",
"+++++++++++++++",
"@@@@#$%%%$#@@@@",
"&&&*=-;>;-=*&&&",
",,')->!!!>;)',,",
"~{]^/,,,,,/^]{~",
"(*)^_%__%_%^:*(",
"~%<^;[},}!>^<%~",
",%<^;>,@/[-^<%,",
"&%|<^/@@@/^<=%&",
"@_]|<_%%%%<|]$@",
"+)*]|<<<<||=$)+",
"..$*'=||==]**..",
"{{{$_**''*_${{{",
"##-#=_%%%%=####",
")))))))))))))))",
"111111=11111111",
"...............",
"+++++++++++++++",
"@@@@)_%%%_^@@@@",
"&&&*'<):)<'*&&&",
",,*=):^-^^)1*,,",
"~{'|+2+2+++<'{~",
"($=<%%%%%%%<=*(",
"~%=|:^;+;^:|=%~",
",%=|<:+.+:<|]%,",
"&%'1<+!!.+|1'%&",
"@_']=%%%%%1]'_@",
"+)_*]====]]'_)+",
"..$$*'']''*$_..",
"{{{__$$*$$_${{{",
"####]%%%%_]####",
")))))))))))))))",
"111111111111111"};

View file

@ -0,0 +1,32 @@
/* XPM */
static char * titleAS_xpm[] = {
"1 17 12 1",
" c None",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
"# c #C2C2C3",
"$ c #D6D6D7",
"% c #EAEAEB",
"& c #FFFFFF",
"* c #727273",
"= c #5E5E5F",
"- c #4A4A4B",
"; c #363637",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"%",
"$",
"#",
"@",
"+",
".",
"*",
"=",
"-",
";"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAJ_xpm[] = {
"3 17 17 1",
" c None",
". c #858687",
"+ c #4F4F51",
"@ c #999A9A",
"# c #AEAEAE",
"$ c #5E5E5E",
"% c #C2C2C2",
"& c #717172",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #FEFEFE",
"; c #909090",
"> c #717374",
", c #5C5F64",
"' c #373739",
") c #494B4D",
"! c #343638",
"..+",
"@@+",
"##$",
"%%&",
"**&",
"==&",
"--;",
"==&",
"**&",
"%%&",
"##$",
"@@+",
"..+",
">>+",
",,'",
"))'",
"!!'"};

View file

@ -0,0 +1,73 @@
/* XPM */
static char * titleAM_xpm[] = {
"18 17 53 1",
" c None",
". c #868687",
"+ c #4E4E4F",
"@ c #484848",
"# c #9A9A9B",
"$ c #575758",
"% c #344066",
"& c #515151",
"* c #AEAEAF",
"= c #606061",
"- c #425076",
"; c #606060",
"> c #C2C2C3",
", c #68686A",
"' c #526185",
") c #707070",
"! c #D6D6D7",
"~ c #717173",
"{ c #607194",
"] c #808080",
"^ c #EAEAEB",
"/ c #7A7A7C",
"( c #7081A3",
"_ c #8E8E8E",
": c #FFFFFF",
"< c #838385",
"[ c #7284A6",
"} c #9B9B9B",
"| c #7587A9",
"1 c #A9A9A9",
"2 c #66779A",
"3 c #B7B7B7",
"4 c #57668A",
"5 c #C5C5C5",
"6 c #4A597D",
"7 c #D2D2D2",
"8 c #3D4A70",
"9 c #303C63",
"0 c #A7A7A7",
"a c #727273",
"b c #454547",
"c c #273259",
"d c #7F7F7F",
"e c #5E5E5F",
"f c #3C3C3E",
"g c #969696",
"h c #848484",
"i c #6B6B6B",
"j c #575757",
"k c #4A4A4B",
"l c #333335",
"m c #363637",
"n c #2A2A2C",
"..............+...",
"@@@@@@@@@@@@@#$###",
"%%%%%%%%%%%%&*=***",
"------------;>,>>>",
"'''''''''''')!~!!!",
"{{{{{{{{{{{{]^/^^^",
"((((((((((((_:<:::",
"[[[[[[[[[[[[}^/^^^",
"||||||||||||1!~!!!",
"2222222222223>,>>>",
"4444444444445*=***",
"6666666666667#$###",
"8888888888885.+...",
"9999999999990abaaa",
"ccccccccccccdefeee",
"}}}}}}}}}ghijklkkk",
"mmmmmmmmmmmmmmnmmm"};

View file

@ -0,0 +1,73 @@
/* XPM */
static char * titleAP_xpm[] = {
"18 17 53 1",
" c None",
". c #868687",
"+ c #4E4E4F",
"@ c #9A9A9B",
"# c #575758",
"$ c #484848",
"% c #AEAEAF",
"& c #606061",
"* c #515151",
"= c #344066",
"- c #C2C2C3",
"; c #68686A",
"> c #606060",
", c #425076",
"' c #D6D6D7",
") c #717173",
"! c #707070",
"~ c #526185",
"{ c #EAEAEB",
"] c #7A7A7C",
"^ c #808080",
"/ c #607194",
"( c #FFFFFF",
"_ c #838385",
": c #8E8E8E",
"< c #7081A3",
"[ c #9B9B9B",
"} c #7284A6",
"| c #A9A9A9",
"1 c #7587A9",
"2 c #B7B7B7",
"3 c #66779A",
"4 c #C5C5C5",
"5 c #57668A",
"6 c #D2D2D2",
"7 c #4A597D",
"8 c #3D4A70",
"9 c #727273",
"0 c #454547",
"a c #A7A7A7",
"b c #303C63",
"c c #5E5E5F",
"d c #3C3C3E",
"e c #7F7F7F",
"f c #273259",
"g c #4A4A4B",
"h c #333335",
"i c #575757",
"j c #6B6B6B",
"k c #848484",
"l c #969696",
"m c #363637",
"n c #2A2A2C",
"...+..............",
"@@@#@$$$$$$$$$$$$$",
"%%%&%*============",
"---;->,,,,,,,,,,,,",
"''')'!~~~~~~~~~~~~",
"{{{]{^////////////",
"(((_(:<<<<<<<<<<<<",
"{{{]{[}}}}}}}}}}}}",
"''')'|111111111111",
"---;-2333333333333",
"%%%&%4555555555555",
"@@@#@6777777777777",
"...+.4888888888888",
"99909abbbbbbbbbbbb",
"cccdceffffffffffff",
"ggghgijkl[[[[[[[[[",
"mmmnmmmmmmmmmmmmmm"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAQ_xpm[] = {
"2 17 17 1",
" c None",
". c #4F4F51",
"+ c #858687",
"@ c #999A9A",
"# c #5E5E5E",
"$ c #AEAEAE",
"% c #717172",
"& c #C2C2C2",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #909090",
"; c #FEFEFE",
"> c #717374",
", c #373739",
"' c #5C5F64",
") c #494B4D",
"! c #343638",
".+",
".@",
"#$",
"%&",
"%*",
"%=",
"-;",
"%=",
"%*",
"%&",
"#$",
".@",
".+",
".>",
",'",
",)",
",!"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAQ_xpm[] = {
"2 17 17 1",
" c None",
". c #4F4F51",
"+ c #858687",
"@ c #999A9A",
"# c #5E5E5E",
"$ c #AEAEAE",
"% c #717172",
"& c #C2C2C2",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #909090",
"; c #FEFEFE",
"> c #717374",
", c #373739",
"' c #5C5F64",
") c #494B4D",
"! c #343638",
".+",
".@",
"#$",
"%&",
"%*",
"%=",
"-;",
"%=",
"%*",
"%&",
"#$",
".@",
".+",
".>",
",'",
",)",
",!"};

View file

@ -0,0 +1,32 @@
/* XPM */
static char * titleAS_xpm[] = {
"1 17 12 1",
" c None",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
"# c #C2C2C3",
"$ c #D6D6D7",
"% c #EAEAEB",
"& c #FFFFFF",
"* c #727273",
"= c #5E5E5F",
"- c #4A4A4B",
"; c #363637",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"%",
"$",
"#",
"@",
"+",
".",
"*",
"=",
"-",
";"};

View file

@ -0,0 +1,38 @@
/* XPM */
static char * titleAT_xpm[] = {
"1 17 18 1",
" c None",
". c #868687",
"+ c #484848",
"@ c #344066",
"# c #425076",
"$ c #526185",
"% c #607194",
"& c #7081A3",
"* c #7284A6",
"= c #7587A9",
"- c #66779A",
"; c #57668A",
"> c #4A597D",
", c #3D4A70",
"' c #303C63",
") c #273259",
"! c #9B9B9B",
"~ c #363637",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"*",
"=",
"-",
";",
">",
",",
"'",
")",
"!",
"~"};

View file

@ -0,0 +1,32 @@
/* XPM */
static char * titleAS_xpm[] = {
"1 17 12 1",
" c None",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
"# c #C2C2C3",
"$ c #D6D6D7",
"% c #EAEAEB",
"& c #FFFFFF",
"* c #727273",
"= c #5E5E5F",
"- c #4A4A4B",
"; c #363637",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"%",
"$",
"#",
"@",
"+",
".",
"*",
"=",
"-",
";"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAJ_xpm[] = {
"3 17 17 1",
" c None",
". c #858687",
"+ c #4F4F51",
"@ c #999A9A",
"# c #AEAEAE",
"$ c #5E5E5E",
"% c #C2C2C2",
"& c #717172",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #FEFEFE",
"; c #909090",
"> c #717374",
", c #5C5F64",
"' c #373739",
") c #494B4D",
"! c #343638",
"..+",
"@@+",
"##$",
"%%&",
"**&",
"==&",
"--;",
"==&",
"**&",
"%%&",
"##$",
"@@+",
"..+",
">>+",
",,'",
"))'",
"!!'"};

View file

@ -0,0 +1,66 @@
/* XPM */
static char * titleIM_xpm[] = {
"18 17 46 1",
" c None",
". c #868686",
"+ c #4E4E4E",
"@ c #484848",
"# c #9A9A9A",
"$ c #575757",
"% c #4D4D4D",
"& c #515151",
"* c #AEAEAE",
"= c #606060",
"- c #5C5C5C",
"; c #C2C2C2",
"> c #696969",
", c #6B6B6B",
"' c #707070",
") c #D6D6D6",
"! c #727272",
"~ c #7A7A7A",
"{ c #808080",
"] c #EAEAEA",
"^ c #7B7B7B",
"/ c #898989",
"( c #8E8E8E",
"_ c #FFFFFF",
": c #848484",
"< c #8C8C8C",
"[ c #9B9B9B",
"} c #8F8F8F",
"| c #A9A9A9",
"1 c #B7B7B7",
"2 c #C5C5C5",
"3 c #636363",
"4 c #D2D2D2",
"5 c #565656",
"6 c #494949",
"7 c #A7A7A7",
"8 c #464646",
"9 c #404040",
"0 c #7F7F7F",
"a c #5E5E5E",
"b c #3D3D3D",
"c c #969696",
"d c #4A4A4A",
"e c #343434",
"f c #363636",
"g c #2B2B2B",
"..............+...",
"@@@@@@@@@@@@@#$###",
"%%%%%%%%%%%%&*=***",
"------------=;>;;;",
",,,,,,,,,,,,')!)))",
"~~~~~~~~~~~~{]^]]]",
"////////////(_:___",
"<<<<<<<<<<<<[]^]]]",
"}}}}}}}}}}}}|)!)))",
"{{{{{{{{{{{{1;>;;;",
"''''''''''''2*=***",
"3333333333334#$###",
"5555555555552.+...",
"6666666666667!8!!!",
"9999999999990abaaa",
"[[[[[[[[[c:,$deddd",
"ffffffffffffffgfff"};

View file

@ -0,0 +1,66 @@
/* XPM */
static char * titleIP_xpm[] = {
"18 17 46 1",
" c None",
". c #868686",
"+ c #4E4E4E",
"@ c #9A9A9A",
"# c #575757",
"$ c #484848",
"% c #AEAEAE",
"& c #606060",
"* c #515151",
"= c #4D4D4D",
"- c #C2C2C2",
"; c #696969",
"> c #5C5C5C",
", c #D6D6D6",
"' c #727272",
") c #707070",
"! c #6B6B6B",
"~ c #EAEAEA",
"{ c #7B7B7B",
"] c #808080",
"^ c #7A7A7A",
"/ c #FFFFFF",
"( c #848484",
"_ c #8E8E8E",
": c #898989",
"< c #9B9B9B",
"[ c #8C8C8C",
"} c #A9A9A9",
"| c #8F8F8F",
"1 c #B7B7B7",
"2 c #C5C5C5",
"3 c #D2D2D2",
"4 c #636363",
"5 c #565656",
"6 c #464646",
"7 c #A7A7A7",
"8 c #494949",
"9 c #5E5E5E",
"0 c #3D3D3D",
"a c #7F7F7F",
"b c #404040",
"c c #4A4A4A",
"d c #343434",
"e c #969696",
"f c #363636",
"g c #2B2B2B",
"...+..............",
"@@@#@$$$$$$$$$$$$$",
"%%%&%*============",
"---;-&>>>>>>>>>>>>",
",,,',)!!!!!!!!!!!!",
"~~~{~]^^^^^^^^^^^^",
"///(/_::::::::::::",
"~~~{~<[[[[[[[[[[[[",
",,,',}||||||||||||",
"---;-1]]]]]]]]]]]]",
"%%%&%2))))))))))))",
"@@@#@3444444444444",
"...+.2555555555555",
"'''6'7888888888888",
"99909abbbbbbbbbbbb",
"cccdc#!(e<<<<<<<<<",
"fffgffffffffffffff"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAQ_xpm[] = {
"2 17 17 1",
" c None",
". c #4F4F51",
"+ c #858687",
"@ c #999A9A",
"# c #5E5E5E",
"$ c #AEAEAE",
"% c #717172",
"& c #C2C2C2",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #909090",
"; c #FEFEFE",
"> c #717374",
", c #373739",
"' c #5C5F64",
") c #494B4D",
"! c #343638",
".+",
".@",
"#$",
"%&",
"%*",
"%=",
"-;",
"%=",
"%*",
"%&",
"#$",
".@",
".+",
".>",
",'",
",)",
",!"};

View file

@ -0,0 +1,37 @@
/* XPM */
static char * titleAQ_xpm[] = {
"2 17 17 1",
" c None",
". c #4F4F51",
"+ c #858687",
"@ c #999A9A",
"# c #5E5E5E",
"$ c #AEAEAE",
"% c #717172",
"& c #C2C2C2",
"* c #D6D6D6",
"= c #E9EAEA",
"- c #909090",
"; c #FEFEFE",
"> c #717374",
", c #373739",
"' c #5C5F64",
") c #494B4D",
"! c #343638",
".+",
".@",
"#$",
"%&",
"%*",
"%=",
"-;",
"%=",
"%*",
"%&",
"#$",
".@",
".+",
".>",
",'",
",)",
",!"};

View file

@ -0,0 +1,32 @@
/* XPM */
static char * titleAS_xpm[] = {
"1 17 12 1",
" c None",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
"# c #C2C2C3",
"$ c #D6D6D7",
"% c #EAEAEB",
"& c #FFFFFF",
"* c #727273",
"= c #5E5E5F",
"- c #4A4A4B",
"; c #363637",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"%",
"$",
"#",
"@",
"+",
".",
"*",
"=",
"-",
";"};

View file

@ -0,0 +1,38 @@
/* XPM */
static char * titleIT_xpm[] = {
"1 17 18 1",
" c None",
". c #868686",
"+ c #484848",
"@ c #4D4D4D",
"# c #5C5C5C",
"$ c #6B6B6B",
"% c #7A7A7A",
"& c #898989",
"* c #8C8C8C",
"= c #8F8F8F",
"- c #808080",
"; c #707070",
"> c #636363",
", c #565656",
"' c #494949",
") c #404040",
"! c #9B9B9B",
"~ c #363636",
".",
"+",
"@",
"#",
"$",
"%",
"&",
"*",
"=",
"-",
";",
">",
",",
"'",
")",
"!",
"~"};

1189
clients/icewm/icewm.cpp Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,3 @@
[Desktop Entry]
Name=IceWM
X-KDE-Library=libkwinicewm

143
clients/icewm/icewm.h Normal file
View file

@ -0,0 +1,143 @@
/*
Gallium-IceWM themeable KWin client
Copyright 2001
Karol Szwed (gallium) <karlmail@usa.net>
http://gallium.n3.net/
This client loads most icewm 1.0.X pixmap themes, without taking into account
specific font settings for clients, or coloured mouse cursors. Titlebar
fonts can be changed via the kde control center. Bi-colour mouse cursors
may be added in future if requested by users, as well as theme font support.
Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g.
Warp4, win95 etc.) are not fully supported, and may cause drawing errors,
as these themes use in-built icewm drawing mechanisms.
When a pixmap theme is not present (or a corrupt one is present) then very
plain title decorations are painted instead, so that users don't see
non-painted window areas where possible ;)
At a later date, frame shaping may be added if really requested, and an
update to support the latest icewm 1.1.X theme format may be made.
*/
#ifndef __KDEGALLIUM_ICEWM_H
#define __KDEGALLIUM_ICEWM_H
#include <qbutton.h>
#include <qlayout.h>
#include <kpixmap.h>
#include "../../client.h"
class QLabel;
class QSpacerItem;
class QHBoxLayout;
class QGridLayout;
namespace KWinInternal {
// 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 QObject
{
Q_OBJECT
public:
ThemeHandler();
~ThemeHandler();
public slots:
void slotReset();
private:
void readConfig();
QColor decodeColor( QString& s );
bool isFrameValid();
void initTheme();
void freePixmaps();
void freePixmapGroup( QPixmap* p[] );
void setPixmap( QPixmap* p[], QString s1, QString s2, bool stretch=false, bool stretchHoriz=true );
QPixmap* stretchPixmap( QPixmap* src, bool stretchHoriz=true, int stretchSize=-1);
void convertButtons( QString& s );
QString reverseString( QString s );
};
class IceWMButton : public QButton
{
public:
IceWMButton( Client *parent=0, const char *name=0,
QPixmap* (*p)[2]=0L, bool isToggle=false );
void usePixmap( QPixmap* (*p)[2] );
QSize sizeHint() const;
void turnOn( bool isOn );
int last_button;
protected:
void mousePressEvent( QMouseEvent* e );
void mouseReleaseEvent( QMouseEvent* e );
void drawButton( QPainter *p );
void drawButtonLabel( QPainter * ) {;}
private:
QPixmap* (*pix)[2]; // Points to active/inactive pixmap array
Client* client;
};
class IceWMClient : public KWinInternal::Client
{
Q_OBJECT
public:
// These are all the icewm button types :)
enum Buttons{ BtnSysMenu=0, BtnClose, BtnMaximize, BtnMinimize, BtnHide, BtnRollup, BtnDepth, BtnCount };
IceWMClient( Workspace *ws, WId w, QWidget *parent=0, const char *name=0 );
~IceWMClient();
protected:
void resizeEvent( QResizeEvent* );
void paintEvent( QPaintEvent* );
void showEvent( QShowEvent* );
void mouseDoubleClickEvent( QMouseEvent * );
void captionChange( const QString& name );
void maximizeChange(bool m);
void activeChange(bool);
// void shadeChange(bool); /* KWin Client class doesn't provide this yet */
MousePosition mousePosition( const QPoint& ) const;
void renderMenuIcons();
void iconChange();
protected slots:
void slotMaximize();
void menuButtonPressed();
int titleTextWidth( const QString& s );
void addClientButtons( const QString& s );
private:
QSpacerItem* addPixmapSpacer( QPixmap* p[], QSizePolicy::SizeType = QSizePolicy::Maximum,
int hsize = -1 );
IceWMButton* button[ IceWMClient::BtnCount ];
QPixmap* menuButtonWithIconPix[2];
QSpacerItem* titleSpacerJ;
QSpacerItem* titleSpacerL;
QSpacerItem* titleSpacerS;
QSpacerItem* titleSpacerP;
QSpacerItem* titlebar;
QSpacerItem* titleSpacerM;
QSpacerItem* titleSpacerB;
QSpacerItem* titleSpacerR;
QSpacerItem* titleSpacerQ;
QHBoxLayout* hb;
QGridLayout* grid;
};
};
#endif