added extra/icewm

This commit is contained in:
Kevin Mihelich 2018-06-05 23:50:43 +00:00
parent e543d0594a
commit 5e61fdbf2e
6 changed files with 219 additions and 0 deletions

46
extra/icewm/PKGBUILD Normal file
View file

@ -0,0 +1,46 @@
# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch from Fedora to fix narrowing error on ARM
pkgname=icewm
pkgver=1.3.8
pkgrel=5
pkgdesc="A Window Manager designed for speed, usability, and consistency"
arch=('x86_64')
url="http://www.icewm.org/"
license=('LGPL')
depends=('libxrandr' 'libxft' 'libsm' 'libxinerama' 'gdk-pixbuf2')
makedepends=('xorg-mkfontdir')
source=(http://downloads.sourceforge.net/sourceforge/icewm/${pkgname}-${pkgver}.tar.gz
ignore_workarea_hints.patch icewm-cpustatus.patch icewm-1.3.8-shutdown-reboot-command.patch
icewm-1.3.8-remain_power.patch
icewm-1.3.8-narrowingfix.patch)
sha1sums=('dc9155227129be14aced00c24c572356e0fa5cd8'
'88b4b198827d6590901c2c8bdba8826d928f6f1a'
'0f4a02153496dadd26742f6bd3bdc166d7eafaed'
'd85d35b756ca2d5283f10de9d9bca23d39c68f6f'
'1c5e7361bec5f4775da86f663ecb397e711b8486'
'1fae67c99c8a9316f570e00ee2c2b28d6003504e')
prepare() {
cd ${pkgname}-${pkgver}
patch -p1 -i "${srcdir}/ignore_workarea_hints.patch"
patch -p2 -i "${srcdir}/icewm-cpustatus.patch"
patch -p1 -i "${srcdir}/icewm-1.3.8-shutdown-reboot-command.patch"
patch -p1 -i "${srcdir}/icewm-1.3.8-remain_power.patch"
patch -p1 -i "${srcdir}/icewm-1.3.8-narrowingfix.patch"
}
build() {
cd ${pkgname}-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc \
--enable-shaped-decorations --enable-gradients
make
}
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install install-man install-docs install-desktop
}

View file

@ -0,0 +1,21 @@
diff -up icewm-1.3.8/src/icesh.cc.narrowingfix icewm-1.3.8/src/icesh.cc
--- icewm-1.3.8/src/icesh.cc.narrowingfix 2017-01-03 15:53:33.537699919 -0500
+++ icewm-1.3.8/src/icesh.cc 2017-01-03 15:53:52.717596858 -0500
@@ -245,7 +245,7 @@ Symbol trayOptionIdentifiers[] = {
};
SymbolTable layers = {
- layerIdentifiers, 0, WinLayerCount - 1, WinLayerInvalid
+ layerIdentifiers, 0, WinLayerCount - 1, (long)WinLayerInvalid
};
SymbolTable states = {
@@ -257,7 +257,7 @@ SymbolTable hints = {
};
SymbolTable trayOptions = {
- trayOptionIdentifiers, 0, WinTrayOptionCount - 1, WinTrayInvalid
+ trayOptionIdentifiers, 0, WinTrayOptionCount - 1, (long)WinTrayInvalid
};
/******************************************************************************/

View file

@ -0,0 +1,32 @@
--- icewm-1.3.8-orig/src/aapm.cc 2013-11-17 17:54:39.000000000 +0100
+++ icewm-1.3.8/src/aapm.cc 2014-05-30 21:50:54.131868164 +0200
@@ -614,6 +614,11 @@
}
strcat3(buf, "/sys/class/power_supply/", BATname, "/current_now", sizeof(buf));
fd = fopen(buf, "r");
+ if (fd == NULL) {
+ strcat3(buf, "/sys/class/power_supply/", BATname, "/power_now", sizeof(buf));
+ fd = fopen(buf, "r");
+ }
+
if (fd != NULL && fgets(buf, sizeof(buf), fd)) {
//In case it contains non-numeric value
if (sscanf(buf,"%d", &BATrate) <= 0) {
@@ -697,7 +703,7 @@
batCount++;
}
- if (!Tool &&
+ if (Tool &&
taskBarShowApmTime &&
BATpresent == BAT_PRESENT &&
//bios calculates remaining time, only while discharging
@@ -706,7 +711,7 @@
//did we parse the needed values successfully?
BATcapacity_full >= 0 && BATcapacity_remain >= 0 && BATrate > 0) {
BATtime_remain = (int) (60 * (double)(BATcapacity_remain) / BATrate);
- sprintf(bat_info, "%d:%02d", BATtime_remain / 60, BATtime_remain % 60);
+ sprintf(bat_info, "%d:%02d (%3.0f%%)", BATtime_remain / 60, BATtime_remain % 60,100 * (double)BATcapacity_remain / BATcapacity_full);
}
else if (BATpresent == BAT_PRESENT &&
//did we parse the needed values successfully?

View file

@ -0,0 +1,13 @@
diff --git a/src/wmmgr.cc b/src/wmmgr.cc
index 4252bf6..dc1e703 100644
--- a/src/wmmgr.cc
+++ b/src/wmmgr.cc
@@ -697,7 +697,7 @@ void YWindowManager::handleClientMessage(const XClientMessageEvent &message) {
case ICEWM_ACTION_RESTARTWM:
case ICEWM_ACTION_WINDOWLIST:
case ICEWM_ACTION_ABOUT:
- break;
+ //break;
default:
smActionListener->handleSMAction(message.data.l[1]);
break;

View file

@ -0,0 +1,45 @@
icewm/src/acpustatus.cc | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/icewm/src/acpustatus.cc b/icewm/src/acpustatus.cc
index 5e959d6..b9e5450 100644
--- a/icewm/src/acpustatus.cc
+++ b/icewm/src/acpustatus.cc
@@ -315,6 +315,37 @@ int CPUStatus::getAcpiTemp(char *tempbuf, int buflen) {
}
closedir(dir);
}
+ else if ((dir = opendir("/sys/class/thermal")) != NULL) {
+ struct dirent *de;
+
+ while ((de = readdir(dir)) != NULL) {
+
+ int fd, seglen;
+
+ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
+ continue;
+
+ sprintf(namebuf, "/sys/class/thermal/%s/temp", de->d_name);
+ fd = open(namebuf, O_RDONLY);
+ if (fd != -1) {
+ int len = read(fd, buf, sizeof(buf) - 1);
+ buf[len - 4] = '\0';
+ seglen = strlen(buf) + 4;
+ if (retbuflen + seglen >= buflen) {
+ retbuflen = -retbuflen;
+ close(fd);
+ closedir(dir);
+ break;
+ }
+ retbuflen += seglen;
+ strcat(tempbuf, " ");
+ strncat(tempbuf, buf, seglen);
+ strcat(tempbuf, " C");
+ close(fd);
+ }
+ }
+ closedir(dir);
+ }
return retbuflen;
}

View file

@ -0,0 +1,62 @@
Index: icewm-1.3.7/src/wmapp.cc
===================================================================
--- icewm-1.3.7.orig/src/wmapp.cc 2010-10-31 15:09:36.000000000 +0100
+++ icewm-1.3.7/src/wmapp.cc 2012-01-15 17:01:47.284927292 +0100
@@ -187,7 +187,6 @@
_XA_NET_CLOSE_WINDOW,
_XA_NET_WM_STRUT,
_XA_NET_WM_STRUT_PARTIAL,
- _XA_NET_WORKAREA,
_XA_NET_WM_STATE,
_XA_NET_WM_STATE_MAXIMIZED_VERT,
_XA_NET_WM_STATE_MAXIMIZED_HORZ,
Index: icewm-1.3.7/src/wmmgr.cc
===================================================================
--- icewm-1.3.7.orig/src/wmmgr.cc 2010-10-31 15:09:36.000000000 +0100
+++ icewm-1.3.7/src/wmmgr.cc 2012-01-15 16:59:18.000000000 +0100
@@ -2114,11 +2114,6 @@
area[ws * 4 + 3] = fWorkArea[ws][0].fMaxY - fWorkArea[ws][0].fMinY;
}
- XChangeProperty(xapp->display(), handle(),
- _XA_NET_WORKAREA,
- XA_CARDINAL,
- 32, PropModeReplace,
- (unsigned char *)area, nw * 4);
delete [] area;
#endif
#ifdef GNOME1_HINTS
Index: icewm-1.3.7/src/wmmgr.h
===================================================================
--- icewm-1.3.7.orig/src/wmmgr.h 2010-10-31 15:09:36.000000000 +0100
+++ icewm-1.3.7/src/wmmgr.h 2012-01-15 16:59:18.000000000 +0100
@@ -297,7 +297,6 @@
extern Atom _XA_NET_CURRENT_DESKTOP; // OK
///extern Atom _XA_NET_DESKTOP_NAMES; // N/A
extern Atom _XA_NET_ACTIVE_WINDOW; // OK
-extern Atom _XA_NET_WORKAREA; // OK
extern Atom _XA_NET_SUPPORTING_WM_CHECK; // OK
///extern Atom _XA_NET_SUPPORTING_WM_CHECK; // N/A
extern Atom _XA_NET_CLOSE_WINDOW; // OK
Index: icewm-1.3.7/src/yxapp.cc
===================================================================
--- icewm-1.3.7.orig/src/yxapp.cc 2010-10-31 15:09:36.000000000 +0100
+++ icewm-1.3.7/src/yxapp.cc 2012-01-15 17:03:59.556423213 +0100
@@ -67,7 +67,7 @@
Atom _XA_NET_CLIENT_LIST_STACKING;
Atom _XA_NET_NUMBER_OF_DESKTOPS;
Atom _XA_NET_CURRENT_DESKTOP;
-Atom _XA_NET_WORKAREA;
+//Atom _XA_NET_WORKAREA;
Atom _XA_NET_WM_MOVERESIZE;
Atom _XA_NET_WM_STRUT;
@@ -286,7 +286,7 @@
{ &_XA_NET_CLIENT_LIST_STACKING, "_NET_CLIENT_LIST_STACKING" },
{ &_XA_NET_NUMBER_OF_DESKTOPS, "_NET_NUMBER_OF_DESKTOPS" },
{ &_XA_NET_CURRENT_DESKTOP, "_NET_CURRENT_DESKTOP" },
- { &_XA_NET_WORKAREA, "_NET_WORKAREA" },
+// { &_XA_NET_WORKAREA, "_NET_WORKAREA" },
{ &_XA_NET_WM_MOVERESIZE, "_NET_WM_MOVERESIZE" },
{ &_XA_NET_WM_STRUT, "_NET_WM_STRUT" },