This patch adds new titlebar button style.
Original-patch-by: Carlos Torres <[email protected]>
Signed-off-by: Alexey I. Froloff <[email protected]>
---
WPrefs.app/Configurations.c | 40 ++++++-
WPrefs.app/tiff/Makefile.am | 1 +
WPrefs.app/tiff/nextstyle.tiff | Bin 0 -> 4004 bytes
WPrefs.app/tiff/oldstyle.tiff | Bin 1044 -> 4004 bytes
WPrefs.app/xpm/Makefile.am | 1 +
WPrefs.app/xpm/nextstyle.xpm | 120 ++++++++++++++++++
WPrefs.app/xpm/oldstyle.xpm | 94 ++++++++-------
src/WindowMaker.h | 4 +
src/def_pixmaps.h | 266 ++++++++++++++++++++++++++++++++++++++++
src/defaults.c | 9 +-
src/extend_pixmaps.h | 74 +++++++++++
src/framewin.c | 100 ++++++++++-----
src/menu.c | 2 +-
src/screen.c | 48 ++++++--
src/texture.c | 18 +++-
15 files changed, 682 insertions(+), 95 deletions(-)
create mode 100644 WPrefs.app/tiff/nextstyle.tiff
create mode 100644 WPrefs.app/xpm/nextstyle.xpm
diff --git a/WPrefs.app/Configurations.c b/WPrefs.app/Configurations.c
index 2baa5fb..12b303c 100644
--- a/WPrefs.app/Configurations.c
+++ b/WPrefs.app/Configurations.c
@@ -41,6 +41,7 @@ typedef struct _Panel {
WMFrame *titlF;
WMButton *oldsB;
WMButton *newsB;
+ WMButton *nextB;
WMFrame *animF;
WMButton *animB;
@@ -63,6 +64,7 @@ typedef struct _Panel {
#define ICON_FILE "configs"
#define OLDS_IMAGE "oldstyle"
#define NEWS_IMAGE "newstyle"
+#define NEXT_IMAGE "nextstyle"
#define ANIM_IMAGE "animations"
#define SUPERF_IMAGE "moreanim"
#define SMOOTH_IMAGE "smooth"
@@ -74,13 +76,19 @@ static void updateLabel(WMWidget *self, void *data);
static void showData(_Panel *panel)
{
+ char *str;
+
WMPerformButtonClick(panel->icoB[GetSpeedForKey("IconSlideSpeed")]);
WMPerformButtonClick(panel->shaB[GetSpeedForKey("ShadeSpeed")]);
- if (GetBoolForKey("NewStyle"))
- WMPerformButtonClick(panel->newsB);
- else
+ str = GetStringForKey("Newstyle");
+ if (str && strcasecmp(str, "next") == 0) {
+ WMPerformButtonClick(panel->nextB);
+ } else if(str && strcasecmp(str, "old") == 0) {
WMPerformButtonClick(panel->oldsB);
+ } else {
+ WMPerformButtonClick(panel->newsB);
+ }
WMSetButtonSelected(panel->animB, !GetBoolForKey("DisableAnimations"));
WMSetButtonSelected(panel->supB, GetBoolForKey("Superfluous"));
@@ -287,10 +295,11 @@ static void createPanel(Panel *p)
WMSetButtonImage(panel->newsB, icon);
WMReleasePixmap(icon);
}
+ wfree(path);
}
panel->oldsB = WMCreateButton(panel->titlF, WBTOnOff);
- WMResizeWidget(panel->oldsB, 74, 40);
+ WMResizeWidget(panel->oldsB, 37, 40);
WMMoveWidget(panel->oldsB, 15, 60);
WMSetButtonImagePosition(panel->oldsB, WIPImageOnly);
path = LocateImage(OLDS_IMAGE);
@@ -303,7 +312,22 @@ static void createPanel(Panel *p)
wfree(path);
}
+ panel->nextB = WMCreateButton(panel->titlF, WBTOnOff);
+ WMResizeWidget(panel->nextB, 37, 40);
+ WMMoveWidget(panel->nextB, 52, 60);
+ WMSetButtonImagePosition(panel->nextB, WIPImageOnly);
+ path = LocateImage(NEXT_IMAGE);
+ if (path) {
+ icon = WMCreatePixmapFromFile(scr, path);
+ if (icon) {
+ WMSetButtonImage(panel->nextB, icon);
+ WMReleasePixmap(icon);
+ }
+ wfree(path);
+ }
+
WMGroupButtons(panel->newsB, panel->oldsB);
+ WMGroupButtons(panel->newsB, panel->nextB);
WMMapSubwidgets(panel->titlF);
@@ -425,7 +449,13 @@ static void storeData(_Panel *panel)
}
SetSpeedForKey(i, "ShadeSpeed");
- SetBoolForKey(WMGetButtonSelected(panel->newsB), "NewStyle");
+ if (WMGetButtonSelected(panel->newsB)) {
+ SetStringForKey("new", "NewStyle");
+ } else if (WMGetButtonSelected(panel->oldsB)) {
+ SetStringForKey("old", "NewStyle");
+ } else {
+ SetStringForKey("next", "NewStyle");
+ }
SetBoolForKey(!WMGetButtonSelected(panel->animB), "DisableAnimations");
SetBoolForKey(WMGetButtonSelected(panel->supB), "Superfluous");
SetBoolForKey(WMGetButtonSelected(panel->smoB), "SmoothWorkspaceBack");
diff --git a/WPrefs.app/tiff/Makefile.am b/WPrefs.app/tiff/Makefile.am
index f4bbbd1..8736e97 100644
--- a/WPrefs.app/tiff/Makefile.am
+++ b/WPrefs.app/tiff/Makefile.am
@@ -28,6 +28,7 @@ EXTRA_DIST = \
msty2.tiff \
msty3.tiff \
newstyle.tiff \
+ nextstyle.tiff \
nonopaque.tiff \
oldstyle.tiff \
opaque.tiff \
diff --git a/WPrefs.app/tiff/nextstyle.tiff b/WPrefs.app/tiff/nextstyle.tiff
new file mode 100644
index
0000000000000000000000000000000000000000..421060e1df6dda0550527868c92d59c5f26788ab
GIT binary patch
literal 4004
zcmeH~KWGzS7{<ROTC-SF!Fp(iQ?w+-<`QtQ;l...@rggoozsji1lh3_b(xeKing>X28
zBZF`q3Rw!*#deazA&^CggAj*692_#<;E<ui4Gx~q<xUASCN}*NL3~1T&;5...@b4n=
zeMcgZ8S-eH5OE;ox...@ldfntg~g>pzaNL~-)`rp>Edh_aKF>QxTChjPGH11uh)Cj
zJniezHyC8wSEgzH>h1Ay<~PLalws+>Xti3}I}OR;98H{Q%0;EA>)?W;>#bV7rtYZW
z>t...@!jpcgrfarks^<xc1>AJ4&?k~*GDMeW>4h4sHffcwGXnbyHWi1>EG`}>}T~#g&
z1!tg*rrB&Z8HPcb`d7XBp^8q*1&Mky!D?9(!$4_1pO0l2uuz(mm!x6f3<Gs3TMB!H
zt$nih$`zjngp`ox2~vkoesu?i_euvtr...@wmujevje%dx0$1l!}b$fbd>smH0q7g
zj*2oXWler1VH}gGB=zd>EGyfJ`et9*E-72GQm|%-l$V8EQhGsusv!T~qPVJbE?zx6
zl|`)U3$*tu?>I~JVH~RHiyIqAr~XVRr&At}r}scpKf5<VA^8!~_WpU?{oxBMfIVc?
zC*I+J0CnPeEIw3D{l`&hqaeb$hj...@8kq={hu)SPupL`zRU5K;n...@n`z{xl5ry@*
z...@xmszurwkh@Smt2-l3mPr|>1pK#gnz1Tn7aql_DTX82HKM#N2x&AKx?Ot%5Z0DmO
z&PB(U;HNs`_#JQMV9DG5aQsFlofQQxo=)-HIxmXpXpCD-#}aE#xs|2aq1c...@eyq
z#V2t-#;q)8`Bfnp&15(+va...@f)HbK7YmstzEL1<)b1WW7iX6oP7}I*;|pNWeav2
JU#k)A?GH9jqdNcq
literal 0
HcmV?d00001
diff --git a/WPrefs.app/tiff/oldstyle.tiff b/WPrefs.app/tiff/oldstyle.tiff
index
487a05f9c1fb902a0642659fba2cba0ca1ba282b..f8d83c7fc1c2b26688340810a0fdefc534ccd1e6
100644
GIT binary patch
literal 4004
zcmeH~K~KUk7=}BhxQiG}#6&$HiG+~AcJye%K{*gfFv08MijbgNpa#A8D?EDj#D7%Z
zt+Q#ygk{v37+=Enw(Gv9-`BB?cDqil3xu##dWh4?NQ96|DpliDtJToWw{gd-YH^$e
z+;>uo17$gJ9o$D^iDV7KNVRkoWC7Y+0`+=5g*em)0T;38#3A&n#qqEaqTHz#$LBBS
zD6^Dj$IB=X!tnkd!tt=kQBG6LMB$|(XOS6B)KD0C8fvqPAQqbnagpF+y~HA7fI^%I
zE2<|G;nm_Il*Oh(96}|Ll48a_K$ky&)_Ec<;*iBkTt1byk_qX^(siBR3NqWyGZd1_
zkT(DGxFo;RHOJs3iZ59P7bHM3F7ex9%7Op5l!c2s?RSewisYSa5bf(C)%3uhpsj`e
z7(n...@-(TxHgy><ve@;I1IrwcYM>^PB7*l{R!9T+nH6GtUdsjMlFZ6!gQs~d%_rvj*
z__uqYZ3gpsL7c<Tzrr6$acZIW=iti-J|=zi+zFeSL-&rFGs>82J7&vuM)$X7ztgaq
zr&iNycs9EkQpfCfCv-4v+MZ{!(o...@v`s{q#<c0T2x(2I&8SnJjo7e!HKgV9cBkvZ
LF7WjW5$rz!OX<Mo
literal 1044
zcmebD)MC(MW?*34!SYGI!+XL3$7XhJNi~-p7alsha!D&@sjM^nbNqpncG{aAg^!N+
z3t1*jdLqcU<Ws*!?yQnb!KLS?7#43^V`=o{)FkWbdvj(^5d9R-5jpXYYqz*|q>$^*
zpns<qt_WD>vh~tc?ilb...@kl;^i_qbAL(QwN<83VJjoI)hz9LYZaDve`#?0sjbrH
z*|%2bFaB2<y(Q0dMeXf#cX#zk+^x+y&$w6p+iT;6`JVrc)6u...@func-<?wPy9(Q
zplhm``$f...@j{?`chnqufs{j)<$o8e`{O%^SJ+0`1M|g6f...@#?toc(UY~eVfOw
z`F_Wq>ib)n+pf^ss5%z...@u?zbnjjva45vzk_|v>EpRp=kxlydG-G<Zg01rx5j$=
z|GVDuf4(}&u4npk(&k6e*uoi=*nyyqe...@jfdbt3r=rs-!(P!Sbm68O{2Go+cx0e
z*DrP^zxS3Mf3BeO+4jzhLz}}4UoY;k2>P#FZtK;)d9rmwgm...@qxlxtj4drcq%pq
z*wd^2;m0Cg`=u|My9~BjH1V5GGI_*zMj}4QM|CmFTtD594VSt!T6CCB+UzxW?62|E
zC&}pc&k`YTW1j7k&f...@q+!vif^aae?elb6pfvz#8=ycybz1r3=*gs5t(8...@`bj
z^W;+hv5ie#=Wj0P+PX4iW5wY$O3k0R*KA8*);8Xuc35Pc)=#a|kL5S)dcA6S-ho%S
z3;wZ5XYSbeYgWdJlWw!~_AnlZez2eQKy=o|r(w~Vd)hpom...@na;*dfb...@jn(p
zIZXZAx+U*+oqo6b^~T%tcE8-(9#{2#?ecxUUhF>qZ};l...@5deswond%hqgay?n;h
zv9Mh}Ye}NJMClVjcgfl<hQ}q7_iSXpR(yw3O)`...@doodbm9i%2vh(o1O7%=JJ`T
zuWqK#NZw|-d`9NApU<Nb=Is=Z%(!?`NqhH~rPHIft$BJnB5~%_Y0-sSr-u8VUSs$>
zdi(vazi$>a...@s5gr*n8gyvgobg*dvfr-<IDfTt2t_W~R3B^@&y2_ko=wzw?uc...@3
zx7j|}aJb(hq1^ae$nz7A{VgswEuMbk^^(iyEj~?2{wXfN56mdc42%p63~E5k2xTh*
z*-St-3y^*R%uCEraaJIo4a#N$vbm7hyo^i?d_b`eK=ph;wiuB856Bi|WC5Gc0ptro
z)r0I4g|b0*h(Xz=K(;tky&6!j43hdFBsNeP0|yl5=cE*uROY1Wm1L%+F(enICYGe8
UD3oWGWGIAWq$;?3`UWrn0DJ1eNdN!<
diff --git a/WPrefs.app/xpm/Makefile.am b/WPrefs.app/xpm/Makefile.am
index 5245e94..96c44f5 100644
--- a/WPrefs.app/xpm/Makefile.am
+++ b/WPrefs.app/xpm/Makefile.am
@@ -28,6 +28,7 @@ EXTRA_DIST = \
msty2.xpm \
msty3.xpm \
newstyle.xpm \
+ nextstyle.xpm \
nonopaque.xpm \
oldstyle.xpm \
opaque.xpm \
diff --git a/WPrefs.app/xpm/nextstyle.xpm b/WPrefs.app/xpm/nextstyle.xpm
new file mode 100644
index 0000000..2cacfc3
--- /dev/null
+++ b/WPrefs.app/xpm/nextstyle.xpm
@@ -0,0 +1,120 @@
+/* XPM */
+static char * nextstyle_xpm[] = {
+"37 33 84 1",
+" c None",
+". c #747474",
+"+ c #757575",
+"@ c #000000",
+"# c #222222",
+"$ c #262626",
+"% c #282828",
+"& c #080808",
+"* c #FFFFFF",
+"= c #FFFAFF",
+"- c #FFFFF6",
+"; c #F6F6F6",
+"> c #F6F2F6",
+", c #EEEEEE",
+"' c #B4B6B4",
+") c #8B8D94",
+"! c #DEE6E6",
+"~ c #E6E6EE",
+"{ c #CDD2CD",
+"] c #A4A1A4",
+"^ c #313431",
+"/ c #94918B",
+"( c #EEF6F6",
+"_ c #292829",
+": c #C5CACD",
+"< c #E6E6E6",
+"[ c #A4A5AC",
+"} c #414039",
+"| c #948D8B",
+"1 c #8B8D8B",
+"2 c #292C29",
+"3 c #D5D6D5",
+"4 c #B4BAB4",
+"5 c #313029",
+"6 c #DEDADE",
+"7 c #A4A5A4",
+"8 c #8B898B",
+"9 c #F6FAFF",
+"0 c #F6FFFF",
+"a c #DEDEDE",
+"b c #181818",
+"c c #E6EAE6",
+"d c #C5C6C5",
+"e c #8B8983",
+"f c #EEF2F6",
+"g c #EEEEF6",
+"h c #101010",
+"i c #201818",
+"j c #838183",
+"k c #838983",
+"l c #949594",
+"m c #202420",
+"n c #CDCECD",
+"o c #BDBABD",
+"p c #202018",
+"q c #736D73",
+"r c #6A7573",
+"s c #83817B",
+"t c #B4B2B4",
+"u c #202829",
+"v c #C5C2C5",
+"w c #201C18",
+"x c #5A5552",
+"y c #7B757B",
+"z c #393C41",
+"A c #CDD2D5",
+"B c #D5D2D5",
+"C c #9CA1A4",
+"D c #BDBAB4",
+"E c #8B8583",
+"F c #6A6D6A",
+"G c #949994",
+"H c #A4AAAC",
+"I c #94999C",
+"J c #94958B",
+"K c #94898B",
+"L c #83818B",
+"M c #73756A",
+"N c #837D83",
+"O c #060606",
+"P c #070707",
+"Q c #030303",
+"R c #ABABAB",
+"S c #535353",
+"..................+++++++...........@",
+"##################$$$$$$$%$%$$$$$$$$@",
+"##################$$$$$$$$%%%%%%%%%%@",
+"###################################%@",
+"###################################%&",
+"####################@@@@@@@@@@@@*%%%&",
+"#################...@=****-;>,'@*%%%&",
+"#################...@*)!=;~{]^/@*%%%&",
+"#################...@*(_:><[}|1...@*%%%&",
+"#################...@**:2345...@*%%%&",
+"#################...@*90ab_cd/e...@*%%%&",
+"#################...@9fg3hid7jk@*%%%&",
+"####################@;almnop...@*%%%&",
+"####################@>tuva67...@*%%%&",
+"####################@,zabcld...@*%%%&",
+"####################@'ghijke...@*%%%&",
+"####################@@@@@@@@@@@@*%%%&",
+"####################*************%%%&",
+"##################$$$$$$$$$%%%%%%%%%&",
+"##################$$$$$$$%$%%%%%%%%%&",
+"OOOOOOOOOOOOOOOOOOPPPPPPPPPPPPP&&&&&Q",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
+"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
+"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
+"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
+"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS*RR@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@R*RR@",
+"********************************R*RR@",
+"********************************R*RR@",
+"********************************R*RR@",
+"********************************R*RR@",
+"********************************R*RR@"};
diff --git a/WPrefs.app/xpm/oldstyle.xpm b/WPrefs.app/xpm/oldstyle.xpm
index da82711..caa2372 100644
--- a/WPrefs.app/xpm/oldstyle.xpm
+++ b/WPrefs.app/xpm/oldstyle.xpm
@@ -1,45 +1,51 @@
/* XPM */
-static char * image_name[] = {
-"38 33 9 1",
-" c #739C739C739C",
-". c #000000000000",
-"X c #210821082108",
-"o c #294A294A294A",
-"O c #FFFFFFFFFFFF",
-"+ c #084208420842",
-"@ c #A528A528A528",
-"# c #529452945294",
-"$ c #AD6AAD6AAD6A",
-" .",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoOOOOOOOOOOOOOOooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@@@@@@@@@#ooo+",
-"xxxxxxxxxxxxxxxxxx...@.#@@@@@@#...@#ooo+",
-"xxxxxxxxxxxxxxxxxx...@#.#@@@@#...@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@#.#@@#.#@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@#.##.#@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@#..#@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@#..#@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@#.##.#@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@#.#@@#.#@@#ooo+",
-"xxxxxxxxxxxxxxxxxx...@#.#@@@@#...@#ooo+",
-"xxxxxxxxxxxxxxxxxx...@.#@@@@@@#...@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@@@@@@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO#############ooo+",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo+",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo+",
-"+++++++++++++++++++++++++++++++++++++.",
-"......................................",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"##################################O$$.",
-".................................$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$."};
+static char * oldstyle_xpm[] = {
+"37 33 15 1",
+" c None",
+". c #747474",
+"+ c #757575",
+"@ c #000000",
+"# c #222222",
+"$ c #262626",
+"% c #282828",
+"& c #FFFFFF",
+"* c #080808",
+"= c #A5A5A5",
+"- c #535353",
+"; c #060606",
+"> c #070707",
+", c #030303",
+"' c #ABABAB",
+"..................+++++++...........@",
+"##################$$$$$$$%$%$$$$$$$$@",
+"##################$$$$$$$$%%%%%%%%%%@",
+"##################$$$$$$$%$%%%%%%%%%@",
+"##################$&&&&&&&&&&&&&&%%%*",
+"##################$&============-%%%*",
+"##################$&=...@-======-@=-%%%*",
+"##################$&=...@-====-@-=-%%%*",
+"##################$&=...@-==-@-==-%%%*",
+"##################$&=...@--@-===-%%%*",
+"##################$&====-@@-====-%%%*",
+"##################$&====-@@-====-%%%*",
+"##################$&=...@--@-===-%%%*",
+"##################$&=...@-==-@-==-%%%*",
+"##################$&=...@-====-@-=-%%%*",
+"##################$&=...@-======-@=-%%%*",
+"##################$&============-%%%*",
+"##################$&-------------%%%*",
+"##################$$$$$$$$$%%%%%%%%%*",
+"##################$$$$$$$%$%%%%%%%%%*",
+";;;;;;;;;;;;;;;;;;>>>>>>>>>>>>>*****,",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"---------------------------------&''@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@"};
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index e8e3fd6..fa47008 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -228,6 +228,10 @@ typedef enum {
#define WD_BOTTOMLEFT 6
#define WD_BOTTOMRIGHT 7
+/* titlebar style */
+#define TS_NEW 0
+#define TS_OLD 1
+#define TS_NEXT 2
/* workspace border position */
#define WB_NONE 0
diff --git a/src/def_pixmaps.h b/src/def_pixmaps.h
index 07c8b6b..56a8615 100644
--- a/src/def_pixmaps.h
+++ b/src/def_pixmaps.h
@@ -97,6 +97,272 @@ static char *PRED_ICONIFY_XPM[] = {
".........."
};
+static char *NEXT_CLOSE_XPM[] = {
+"10 10 69 1",
+" c None",
+". c #FBFBFB",
+"+ c #F9F9F9",
+"@ c #F7F7F7",
+"# c #F4F4F4",
+"$ c #F0F0F0",
+"% c #EDEDED",
+"& c #E8E8E8",
+"* c #AFAFAF",
+"= c #FCFCFC",
+"- c #8B8B8B",
+"; c #DEDEDE",
+"> c #E0E0E0",
+", c #C7C7C7",
+"' c #999999",
+") c #2B2B2B",
+"! c #878787",
+"~ c #F1F1F1",
+"{ c #222222",
+"] c #C2C2C2",
+"^ c #EBEBEB",
+"/ c #DCDCDC",
+"( c #9F9F9F",
+"_ c #363636",
+": c #FEFEFE",
+"< c #C1C1C1",
+"[ c #232323",
+"} c #CFCFCF",
+"| c #282828",
+"1 c #D5D5D5",
+"2 c #FAFAFA",
+"3 c #F6F6F6",
+"4 c #D3D3D3",
+"5 c #121212",
+"6 c #BEBEBE",
+"7 c #898989",
+"8 c #838383",
+"9 c #EEEEEE",
+"0 c #E9E9E9",
+"a c #CDCDCD",
+"b c #080808",
+"c c #131313",
+"d c #A1A1A1",
+"e c #7F7F7F",
+"f c #808080",
+"g c #D9D9D9",
+"h c #8D8D8D",
+"i c #1D1D1D",
+"j c #C9C9C9",
+"k c #B4B4B4",
+"l c #191919",
+"m c #6A6A6A",
+"n c #6C6C6C",
+"o c #7A7A7A",
+"p c #B1B1B1",
+"q c #202020",
+"r c #BBBBBB",
+"s c #D4D4D4",
+"t c #151515",
+"u c #515151",
+"v c #747474",
+"w c #3A3A3A",
+"x c #CCCCCC",
+"y c #B3B3B3",
+"z c #939393",
+"A c #A3A3A3",
+"B c #919191",
+"C c #858585",
+"D c #7C7C7C",
+"....@#$%&*",
+"=-;#%>,')!",
+"=~{]^/(_!!",
+"=:<[}*|1(!",
+"2...@345[>678",
+"@90abc6def",
+"#ghijklmno",
+"~pqrgs(tuv",
+"%wxx'-p8tn",
+"yzAB7C8enD"};
+
+
+static char * NEXT_BROKEN_CLOSE_XPM[] = {
+"10 10 8 1",
+" c None",
+". c #E0E0E0",
+"+ c #7D7D7D",
+"@ c #DBDBDB",
+"# c #BDBDBD",
+"$ c #080808",
+"% c #363636",
+"& c #D4D4D4",
+".........+",
+"....@...#+$+",
+".....@+%++",
+"..###++&++",
+"...&...#++",
+"...&..#+++",
+"....@+##+%%%+",
+".+$#@&+$%%",
+".%##++++$%",
+"++++++++%+"};
+
+static char *NEXT_KILL_XPM[] = {
+"10 10 64 1",
+" c None",
+". c #FBFBFB",
+"+ c #FAFAFA",
+"@ c #F7F7F7",
+"# c #F5F5F5",
+"$ c #F6F6F6",
+"% c #EEEEEE",
+"& c #B3B3B3",
+"* c #FCFCFC",
+"= c #8B8B8B",
+"- c #E3E3E3",
+"; c #F4F4F4",
+"> c #ECECEC",
+", c #EAEAEA",
+"' c #BFBFBF",
+") c #474747",
+"! c #A5A5A5",
+"~ c #EFEFEF",
+"{ c #262626",
+"] c #B6B6B6",
+"^ c #B4B4B4",
+"/ c #282828",
+"( c #A3A3A3",
+"_ c #FEFEFE",
+": c #E0E0E0",
+"< c #B8B8B8",
+"[ c #C5C5C5",
+"} c #DCDCDC",
+"| c #D3D3D3",
+"1 c #E4E4E4",
+"2 c #B1B1B1",
+"3 c #878787",
+"4 c #D5D5D5",
+"5 c #202020",
+"6 c #222222",
+"7 c #F1F1F1",
+"8 c #959595",
+"9 c #838383",
+"0 c #DBDBDB",
+"a c #252525",
+"b c #E9E9E9",
+"c c #F0F0F0",
+"d c #999999",
+"e c #808080",
+"f c #9B9B9B",
+"g c #C2C2C2",
+"h c #7C7C7C",
+"i c #7A7A7A",
+"j c #232323",
+"k c #CCCCCC",
+"l c #C1C1C1",
+"m c #181818",
+"n c #404040",
+"o c #747474",
+"p c #E7E7E7",
+"q c #303030",
+"r c #C9C9C9",
+"s c #ACACAC",
+"t c #787878",
+"u c #141414",
+"v c #6C6C6C",
+"w c #8F8F8F",
+"x c #858585",
+"y c #7F7F7F",
+"....@#$$%&",
+"*=-+;>,')!",
+"*~{];#^/((",
+"*_:<[}|123",
+"+...@+456;789",
+"@~706abcde",
+"#0fg#$3ehi",
+"c=jk>%lmno",
+"pqr}s(^tuv",
+"2w!d=x9yvh"};
+
+static char *NEXT_ICONIFY_XPM[] = {
+"10 10 72 1",
+" c None",
+". c #FCFCFC",
+"+ c #FAFAFA",
+"@ c #F8F8F8",
+"# c #F6F6F6",
+"$ c #F2F2F2",
+"% c #EFEFEF",
+"& c #EAEAEA",
+"* c #A6A6A6",
+"= c #FEFEFE",
+"- c #FDFDFD",
+"; c #F9F9F9",
+"> c #E2E2E2",
+", c #CBCBCB",
+"' c #AFAFAF",
+") c #808080",
+"! c #717171",
+"~ c #FFFFFF",
+"{ c #FBFBFB",
+"] c #F1F1F1",
+"^ c #E5E5E5",
+"/ c #CCCCCC",
+"( c #838383",
+"_ c #A0A0A0",
+": c #989898",
+"< c #8B8B8B",
+"[ c #7F7F7F",
+"} c #E8E8E8",
+"| c #ADADAD",
+"1 c #181818",
+"2 c #171717",
+"3 c #161616",
+"4 c #141414",
+"5 c #0A0A0A",
+"6 c #000000",
+"7 c #A2A2A2",
+"8 c #747474",
+"9 c #6C6C6C",
+"0 c #F0F0F0",
+"a c #B9B9B9",
+"b c #B7B7B7",
+"c c #B1B1B1",
+"d c #868686",
+"e c #020202",
+"f c #EDEDED",
+"g c #939393",
+"h c #676767",
+"i c #696969",
+"j c #8E8E8E",
+"k c #787878",
+"l c #757575",
+"m c #777777",
+"n c #767676",
+"o c #EBEBEB",
+"p c #525252",
+"q c #626262",
+"r c #F3F3F3",
+"s c #E1E1E1",
+"t c #B5B5B5",
+"u c #5F5F5F",
+"v c #424242",
+"w c #5B5B5B",
+"x c #9D9D9D",
+"y c #969696",
+"z c #E4E4E4",
+"A c #444444",
+"B c #2E2E2E",
+"C c #A9A9A9",
+"D c #7C7C7C",
+"E c #797979",
+"F c #5D5D5D",
+"G c #646464",
+"....@#$%&*",
+".=-;%>,')!",
+"-~={]^/'(!",
+"_'*:<[}|)!",
+"123456%789",
+"0abcdefghi",
+"jklmneonpq",
+"rs^>te}uvw",
+"f_xy9ezABp",
+"CDDEue7FpG"};
+
#ifdef XKB_BUTTON_HINT
#include "extend_pixmaps.h"
#endif /* XKB_BUTTON_HINT */
diff --git a/src/defaults.c b/src/defaults.c
index 2735ef1..953c015 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -185,6 +185,11 @@ static WOptionEnumeration seFocusModes[] = {
{NULL, 0, 0}
};
+static WOptionEnumeration seTitlebarModes[] = {
+ {"new", TS_NEW, 0}, {"old", TS_OLD, 0},
+ {"next", TS_NEXT, 0}, {NULL, 0, 0}
+};
+
static WOptionEnumeration seColormapModes[] = {
{"Manual", WCM_CLICK, 0}, {"ClickToFocus", WCM_CLICK, 1},
{"Auto", WCM_POINTER, 0}, {"FocusFollowMouse", WCM_POINTER, 1},
@@ -311,8 +316,8 @@ WDefaultEntry staticOptionList[] = {
&wPreferences.disable_root_mouse, getBool, NULL, NULL, NULL},
{"FocusMode", "manual", seFocusModes, /* have
a problem when switching from */
&wPreferences.focus_mode, getEnum, NULL, NULL, NULL}, /*
manual to sloppy without restart */
- {"NewStyle", "NO", NULL,
- &wPreferences.new_style, getBool, NULL, NULL, NULL},
+ {"NewStyle", "new", seTitlebarModes,
+ &wPreferences.new_style, getEnum, NULL, NULL, NULL},
{"DisableDock", "NO", (void *)WM_DOCK,
NULL, getBool, setIfDockPresent, NULL, NULL},
{"DisableClip", "NO", (void *)WM_CLIP,
diff --git a/src/extend_pixmaps.h b/src/extend_pixmaps.h
index 8b735e5..649b671 100644
--- a/src/extend_pixmaps.h
+++ b/src/extend_pixmaps.h
@@ -113,5 +113,79 @@ static char *PRED_XKBGROUP4_XPM[] = {
};
+static char *NEXT_XKBGROUP1_XPM[] = {
+"10 10 6 1",
+" c None",
+". c #E0E0E0",
+"+ c #7D7D7D",
+"@ c #363636",
+"# c #080808",
+"$ c #BDBDBD",
+".........+",
+"..@@@@@@++",
+"....@####+++",
+"..#+$$$$++",
+"..###+.$++",
+"..#++..$++",
+"..#$.$$$++",
+"..#@@@@+++",
+".$+#####@@",
+"+++++++@@@"};
+static char *NEXT_XKBGROUP2_XPM[] = {
+"10 10 6 1",
+" c None",
+". c #E0E0E0",
+"+ c #7D7D7D",
+"@ c #BDBDBD",
+"# c #080808",
+"$ c #363636",
+".........+",
+"....@##@@$#++",
+".#.+#+###+",
+".#+######+",
+".########+",
+"..######++",
+"....@####+++",
+".@@@#$++++",
+"....@++#$++$$",
+"+++++++$$$"};
+
+static char *NEXT_XKBGROUP3_XPM[] = {
+"10 10 6 1",
+" c None",
+". c #E0E0E0",
+"+ c #7D7D7D",
+"@ c #BDBDBD",
+"# c #080808",
+"$ c #363636",
+".........+",
+"....@####.++",
+"....@######.+",
+".#.+##.+#+",
+".#++##++#+",
+".########+",
+"....@##@##+",
+".+##@@##$+",
+"....@+####$$$",
+"+++++++$$$"};
+
+static char *NEXT_XKBGROUP4_XPM[] = {
+"10 10 6 1",
+" c None",
+". c #E0E0E0",
+"+ c #7D7D7D",
+"@ c #BDBDBD",
+"# c #080808",
+"$ c #363636",
+".........+",
+"....@####.++",
+"....@#@@@@#.+",
+".##$@@#$#+",
+".#$$@@$$#+",
+".#@@@@++#+",
+".#+#++#.#+",
+".+#+##$#$+",
+"....@+####$$$",
+"+++++++$$$"};
diff --git a/src/framewin.c b/src/framewin.c
index b81cb99..514ad6c 100644
--- a/src/framewin.c
+++ b/src/framewin.c
@@ -132,10 +132,12 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
} else
theight = 0;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
bsize = theight;
- } else {
+ } else if (wPreferences.new_style == TS_OLD) {
bsize = theight - 7;
+ } else {
+ bsize = theight - 8;
}
if (fwin->titlebar) {
@@ -146,7 +148,7 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
fwin->flags.need_texture_remake = 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (fwin->left_button) {
wCoreConfigure(fwin->left_button, 0, 0,
bsize, bsize);
}
@@ -185,7 +187,7 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
/* we had a titlebar, but now we don't need it anymore
*/
for (i = 0; i < (fwin->flags.single_texture ? 1 : 3);
i++) {
FREE_PIXMAP(fwin->title_back[i]);
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
FREE_PIXMAP(fwin->lbutton_back[i]);
FREE_PIXMAP(fwin->rbutton_back[i]);
#ifdef XKB_BUTTON_HINT
@@ -223,14 +225,14 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
if (flags & WFF_LEFT_BUTTON) {
fwin->flags.left_button = 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
fwin->left_button =
wCoreCreate(fwin->core, 0, 0, bsize, bsize);
if (width < theight * 4) {
fwin->flags.lbutton_dont_fit =
1;
} else {
XMapRaised(dpy,
fwin->left_button->window);
}
- } else {
+ } else if (wPreferences.new_style == TS_OLD) {
fwin->left_button =
wCoreCreate(fwin->titlebar, 3,
(theight - bsize) / 2, bsize, bsize);
@@ -242,12 +244,25 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
} else {
XMapRaised(dpy,
fwin->left_button->window);
}
+ } else {
+ fwin->left_button =
+ wCoreCreate(fwin->titlebar, 3,
(theight-bsize)/2,
+ bsize,
bsize);
+
+ XSetWindowBackground(dpy,
fwin->left_button->window,
+
scr->widget_texture->dark.pixel);
+
+ if (width < theight*3) {
+ fwin->flags.lbutton_dont_fit =
1;
+ } else {
+ XMapRaised(dpy,
fwin->left_button->window);
+ }
}
}
#ifdef XKB_BUTTON_HINT
if (flags & WFF_LANGUAGE_BUTTON) {
fwin->flags.language_button = 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
fwin->language_button =
wCoreCreate(fwin->core, bsize, 0, bsize, bsize);
if (width < theight * 4) {
@@ -274,15 +289,21 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
if (flags & WFF_RIGHT_BUTTON) {
fwin->flags.right_button = 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
fwin->right_button =
wCoreCreate(fwin->core, width -
bsize + 1, 0, bsize, bsize);
- } else {
+ } else if (wPreferences.new_style == TS_OLD) {
fwin->right_button =
wCoreCreate(fwin->titlebar, width -
bsize - 3,
(theight - bsize) / 2,
bsize, bsize);
XSetWindowBackground(dpy,
fwin->right_button->window,
scr->widget_texture->normal.pixel);
+ } else {
+ fwin->right_button =
+ wCoreCreate(fwin->titlebar,
width-bsize-3,
+ (theight-bsize)/2,
bsize, bsize);
+ XSetWindowBackground(dpy,
fwin->right_button->window,
+
scr->widget_texture->dark.pixel);
}
if (width < theight * 2) {
@@ -292,7 +313,7 @@ void wFrameWindowUpdateBorders(WFrameWindow * fwin, int
flags)
}
}
- if (wPreferences.new_style)
+ if (wPreferences.new_style == TS_NEW)
updateTitlebar(fwin);
XMapRaised(dpy, fwin->titlebar->window);
@@ -417,7 +438,7 @@ void wFrameWindowDestroy(WFrameWindow * fwin)
for (i = 0; i < (fwin->flags.single_texture ? 1 : 3); i++) {
FREE_PIXMAP(fwin->title_back[i]);
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
FREE_PIXMAP(fwin->lbutton_back[i]);
#ifdef XKB_BUTTON_HINT
FREE_PIXMAP(fwin->languagebutton_back[i]);
@@ -452,7 +473,7 @@ static void updateTitlebar(WFrameWindow * fwin)
x = 0;
w = fwin->core->width + 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (fwin->flags.hide_left_button || !fwin->left_button ||
fwin->flags.lbutton_dont_fit) {
x = 0;
#ifdef XKB_BUTTON_HINT
@@ -494,13 +515,13 @@ static void updateTitlebar(WFrameWindow * fwin)
}
#endif
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (!fwin->flags.hide_right_button && fwin->right_button &&
!fwin->flags.rbutton_dont_fit) {
w -= fwin->right_button->width;
}
}
- if (wPreferences.new_style || fwin->titlebar->width != w)
+ if (wPreferences.new_style == TS_NEW || fwin->titlebar->width != w)
fwin->flags.need_texture_remake = 1;
wCoreConfigure(fwin->titlebar, x, 0, w, theight);
@@ -525,7 +546,7 @@ void wFrameWindowHideButton(WFrameWindow * fwin, int flags)
#endif
if (fwin->titlebar) {
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
updateTitlebar(fwin);
} else {
#ifdef XKB_BUTTON_HINT
@@ -567,7 +588,7 @@ void wFrameWindowShowButton(WFrameWindow * fwin, int flags)
}
if (fwin->titlebar) {
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
updateTitlebar(fwin);
} else {
XClearWindow(dpy, fwin->titlebar->window);
@@ -607,7 +628,7 @@ renderTexture(WScreen * scr, WTexture * texture, int width,
int height,
return;
}
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (left) {
limg = RGetSubImage(img, 0, 0, bwidth, bheight);
} else
@@ -738,7 +759,7 @@ static void updateTexture(WFrameWindow * fwin)
if (fwin->titlebar) {
if (fwin->title_texture[i]->any.type != WTEX_SOLID) {
XSetWindowBackgroundPixmap(dpy, fwin->titlebar->window,
fwin->title_back[i]);
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (fwin->left_button && fwin->lbutton_back[i])
XSetWindowBackgroundPixmap(dpy,
fwin->left_button->window,
fwin->lbutton_back[i]);
@@ -757,7 +778,7 @@ static void updateTexture(WFrameWindow * fwin)
} else {
pixel = fwin->title_texture[i]->solid.normal.pixel;
XSetWindowBackground(dpy, fwin->titlebar->window,
pixel);
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (fwin->left_button)
XSetWindowBackground(dpy,
fwin->left_button->window, pixel);
#ifdef XKB_BUTTON_HINT
@@ -796,7 +817,7 @@ static void remakeTexture(WFrameWindow * fwin, int state)
if (fwin->title_texture[state] && fwin->titlebar) {
FREE_PIXMAP(fwin->title_back[state]);
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
FREE_PIXMAP(fwin->lbutton_back[state]);
FREE_PIXMAP(fwin->rbutton_back[state]);
#ifdef XKB_BUTTON_HINT
@@ -835,7 +856,7 @@ static void remakeTexture(WFrameWindow * fwin, int state)
#endif
fwin->title_back[state] = pmap;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
fwin->lbutton_back[state] = lpmap;
fwin->rbutton_back[state] = rpmap;
#ifdef XKB_BUTTON_HINT
@@ -954,7 +975,7 @@ void wFrameWindowPaint(WFrameWindow * fwin)
int titlelen;
int allButtons = 1;
- if (!wPreferences.new_style) {
+ if (!wPreferences.new_style == TS_NEW) {
if (fwin->left_button && !fwin->flags.hide_left_button
&& !fwin->flags.lbutton_dont_fit)
lofs += fwin->left_button->width + 3;
else
@@ -1050,7 +1071,7 @@ void wFrameWindowPaint(WFrameWindow * fwin)
static void reconfigure(WFrameWindow * fwin, int x, int y, int width, int
height, Bool dontMove)
{
- int k = (wPreferences.new_style ? 4 : 3);
+ int k = (wPreferences.new_style == TS_NEW ? 4 : 3);
int resizedHorizontally = 0;
if (dontMove)
@@ -1124,7 +1145,7 @@ static void reconfigure(WFrameWindow * fwin, int x, int
y, int width, int height
}
}
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (fwin->right_button)
XMoveWindow(dpy, fwin->right_button->window,
width - fwin->right_button->width +
1, 0);
@@ -1226,7 +1247,7 @@ static void checkTitleSize(WFrameWindow * fwin)
width = fwin->titlebar->width - 6 - 6;
}
- if (!wPreferences.new_style) {
+ if (!wPreferences.new_style == TS_NEW) {
if (fwin->left_button && !fwin->flags.hide_left_button &&
!fwin->flags.lbutton_dont_fit)
width -= fwin->left_button->width + 3;
@@ -1266,16 +1287,24 @@ static void paintButton(WCoreWindow * button, WTexture
* texture, unsigned long
}
}
XSetClipMask(dpy, copy_gc, None);
- XSetForeground(dpy, copy_gc, scr->white_pixel);
+ if (wPreferences.new_style == TS_NEXT) {
+ XSetForeground(dpy, copy_gc, scr->black_pixel);
+ } else {
+ XSetForeground(dpy, copy_gc, scr->white_pixel);
+ }
d = 1;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
XFillRectangle(dpy, button->window, copy_gc, 0, 0,
button->width - 1, button->height - 1);
XSetForeground(dpy, copy_gc, scr->black_pixel);
XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
button->width - 1, button->height - 1);
- } else {
+ } else if (wPreferences.new_style == TS_OLD) {
XFillRectangle(dpy, button->window, copy_gc, 0, 0,
button->width, button->height);
XSetForeground(dpy, copy_gc, scr->black_pixel);
XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
button->width, button->height);
+ } else {
+ XFillRectangle(dpy, button->window, copy_gc, 0, 0,
button->width-3, button->height-3);
+ XSetForeground(dpy, copy_gc, scr->black_pixel);
+ XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
button->width-3, button->height-3);
}
} else {
XClearWindow(dpy, button->window);
@@ -1288,7 +1317,7 @@ static void paintButton(WCoreWindow * button, WTexture *
texture, unsigned long
}
d = 0;
- if (wPreferences.new_style) {
+ if (wPreferences.new_style == TS_NEW) {
if (texture->any.type == WTEX_SOLID || pushed) {
wDrawBevel(button->window, button->width,
button->height,
(WTexSolid *) texture, WREL_RAISED);
@@ -1305,7 +1334,7 @@ static void paintButton(WCoreWindow * button, WTexture *
texture, unsigned long
x = (button->width - width) / 2 + d;
y = (button->height - image->height) / 2 + d;
XSetClipOrigin(dpy, copy_gc, x - left, y);
- if (!wPreferences.new_style) {
+ if (!wPreferences.new_style == TS_NEW) {
XSetForeground(dpy, copy_gc, scr->black_pixel);
if (!pushed) {
if (image->depth == 1)
@@ -1315,8 +1344,15 @@ static void paintButton(WCoreWindow * button, WTexture *
texture, unsigned long
XCopyArea(dpy, image->image,
button->window, copy_gc,
left, 0, width,
image->height, x, y);
} else {
- XSetForeground(dpy, copy_gc, scr->dark_pixel);
- XFillRectangle(dpy, button->window, copy_gc, 0,
0, button->width, button->height);
+ if (wPreferences.new_style == TS_OLD) {
+ XSetForeground(dpy, copy_gc,
scr->dark_pixel);
+ XFillRectangle(dpy, button->window,
copy_gc, 0, 0,
+ button->width,
button->height);
+ } else {
+ XSetForeground(dpy, copy_gc,
scr->black_pixel);
+ XCopyArea(dpy, image->image,
button->window, copy_gc,
+ left, 0, width,
image->height, x, y);
+ }
}
} else {
if (pushed) {
diff --git a/src/menu.c b/src/menu.c
index c8e668f..b83aac3 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -494,7 +494,7 @@ void wMenuRealize(WMenu * menu)
if (menu->flags.titled) {
twidth = WMWidthOfString(scr->menu_title_font,
menu->frame->title, strlen(menu->frame->title));
theight = menu->frame->top_width;
- twidth += theight + (wPreferences.new_style ? 16 : 8);
+ twidth += theight + (wPreferences.new_style == TS_NEW ? 16 : 8);
} else {
twidth = 0;
theight = 0;
diff --git a/src/screen.c b/src/screen.c
index a9e52e6..2190bf0 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -148,40 +148,72 @@ static void allocButtonPixmaps(WScreen * scr)
WPixmap *pix;
/* create predefined pixmaps */
- pix = wPixmapCreateFromXPMData(scr, PRED_CLOSE_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_CLOSE_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_CLOSE_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_CLOSE] = pix;
- pix = wPixmapCreateFromXPMData(scr, PRED_BROKEN_CLOSE_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_BROKEN_CLOSE_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_BROKEN_CLOSE_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_BROKENCLOSE] = pix;
- pix = wPixmapCreateFromXPMData(scr, PRED_ICONIFY_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_ICONIFY_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_ICONIFY_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_ICONIFY] = pix;
#ifdef XKB_BUTTON_HINT
- pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP1_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP1_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP1_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_XKBGROUP1] = pix;
- pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP2_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP2_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP2_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_XKBGROUP2] = pix;
- pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP3_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP3_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP3_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_XKBGROUP3] = pix;
- pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP4_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP4_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP4_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_XKBGROUP4] = pix;
#endif
- pix = wPixmapCreateFromXPMData(scr, PRED_KILL_XPM);
+ if (wPreferences.new_style == TS_NEXT) {
+ pix = wPixmapCreateFromXPMData(scr, NEXT_KILL_XPM);
+ } else {
+ pix = wPixmapCreateFromXPMData(scr, PRED_KILL_XPM);
+ }
if (pix)
pix->shared = 1;
scr->b_pixmaps[WBUT_KILL] = pix;
diff --git a/src/texture.c b/src/texture.c
index 0215741..1fbf0c9 100644
--- a/src/texture.c
+++ b/src/texture.c
@@ -553,20 +553,32 @@ void wDrawBevel(Drawable d, unsigned width, unsigned
height, WTexSolid * texture
segs[1].y1 = 1;
segs[1].x2 = width - 2;
segs[1].y2 = height - 2;
- XDrawSegments(dpy, d, dim, segs, 2);
+ if (wPreferences.new_style == TS_NEXT) {
+ XDrawSegments(dpy, d, dark, segs, 2);
+ } else {
+ XDrawSegments(dpy, d, dim, segs, 2);
+ }
segs[0].x1 = 0;
segs[0].x2 = width - 1;
segs[0].y2 = segs[0].y1 = height - 1;
segs[1].x1 = segs[1].x2 = width - 1;
segs[1].y1 = 0;
segs[1].y2 = height - 1;
- XDrawSegments(dpy, d, dark, segs, 2);
+ if (wPreferences.new_style == TS_NEXT) {
+ XDrawSegments(dpy, d, light, segs, 2);
+ } else {
+ XDrawSegments(dpy, d, dark, segs, 2);
+ }
segs[0].x1 = segs[0].y1 = segs[0].y2 = 0;
segs[0].x2 = width - 2;
segs[1].x1 = segs[1].y1 = 0;
segs[1].x2 = 0;
segs[1].y2 = height - 2;
- XDrawSegments(dpy, d, light, segs, 2);
+ if (wPreferences.new_style == TS_NEXT) {
+ XDrawSegments(dpy, d, dark, segs, 2);
+ } else {
+ XDrawSegments(dpy, d, light, segs, 2);
+ }
if (relief == WREL_ICON) {
segs[0].x1 = segs[0].y1 = segs[0].y2 = 1;
segs[0].x2 = width - 2;
--
1.7.2.3
--
To unsubscribe, send mail to [email protected].