summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBlack_Codec2021-07-04 18:08:42 +0200
committerBlack_Codec2021-07-04 18:08:42 +0200
commit16fcc1cb997572ff33afa9f5511c89352574cca7 (patch)
treeb8f1d8b51562e94ffc977b8eb7f299c6512ab896
parent83eea40799ab8f65de3eb83abc31c061e95b1102 (diff)
downloadaur-fluxbox-wm.tar.gz
minimal wm build
-rw-r--r--.SRCINFO17
-rw-r--r--0001-do-not-leave-stale-oplock-behind.patch29
-rw-r--r--0002-send-ConfigureNotify-using-root-coordinates.patch57
-rw-r--r--0003-c-plus-plus-17.patch28
-rw-r--r--0004-window-menu.patch44
-rw-r--r--PKGBUILD32
6 files changed, 193 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9a31eed4205..c4f848af842 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = fluxbox-wm
- pkgdesc = A lightweight and highly-configurable window manager compiled without slit toolbar and systemtray
+ pkgdesc = Fluxbox window manager only: compiled without slit, toolbar and systemtray
pkgver = 1.3.7
- pkgrel = 2
+ pkgrel = 3
url = http://www.fluxbox.org
arch = i686
arch = x86_64
@@ -18,9 +18,14 @@ pkgbase = fluxbox-wm
conflicts = fluxbox-noslit
options = !makeflags
source = http://downloads.sourceforge.net/sourceforge/fluxbox/fluxbox-1.3.7.tar.xz
- source = fluxbox.desktop
- sha1sums = c53940f5b70dfad39f4a3fa6b0e95072c2b3e9db
- sha1sums = f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8
+ source = 0001-do-not-leave-stale-oplock-behind.patch
+ source = 0002-send-ConfigureNotify-using-root-coordinates.patch
+ source = 0003-c-plus-plus-17.patch
+ source = 0004-window-menu.patch
+ sha256sums = fc8c75fe94c54ed5a5dd3fd4a752109f8949d6df67a48e5b11a261403c382ec0
+ sha256sums = 9c486f454f46a51cb1b7cb65de812faa12e2a1cce13785c349b488f051a01470
+ sha256sums = 66f64c67e5c99b2c6bf139ba2f7a3ff9fcb613c5b49b0038c42cc55cc00153dc
+ sha256sums = a743324fb0c684be44fbcb3ff626f604057fce42fe1dda774515c1b24efbf418
+ sha256sums = b9a4cdc5637eb5c275a9de2f43dd13987233a2c2fa843deb9958127e04960ac2
pkgname = fluxbox-wm
-
diff --git a/0001-do-not-leave-stale-oplock-behind.patch b/0001-do-not-leave-stale-oplock-behind.patch
new file mode 100644
index 00000000000..81397564919
--- /dev/null
+++ b/0001-do-not-leave-stale-oplock-behind.patch
@@ -0,0 +1,29 @@
+From a5f3eb0d9987d4c0120da3431b73fb523ac0ecba Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <thomas.luebking@gmail.com>
+Date: Thu, 30 Jun 2016 15:20:51 +0200
+Subject: [PATCH] do not leave stale oplock behind
+
+deiconify'ing a client on a different workspace left an oplock by a
+shortcut return, turning the client semi- to inaccessible
+
+BUG: 1010
+---
+ src/Window.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/Window.cc b/src/Window.cc
+index 51f5d441..0aa4ec62 100644
+--- a/src/Window.cc
++++ b/src/Window.cc
+@@ -1430,8 +1430,10 @@ void FluxboxWindow::deiconify(bool do_raise) {
+ }
+ }
+
+- if (m_workspace_number != screen().currentWorkspaceID())
++ if (m_workspace_number != screen().currentWorkspaceID()) {
++ oplock = false;
+ return;
++ }
+
+ show();
+
diff --git a/0002-send-ConfigureNotify-using-root-coordinates.patch b/0002-send-ConfigureNotify-using-root-coordinates.patch
new file mode 100644
index 00000000000..4e1e4eede6f
--- /dev/null
+++ b/0002-send-ConfigureNotify-using-root-coordinates.patch
@@ -0,0 +1,57 @@
+From 6346368b58e054174075f615a836ff3bd9c9f823 Mon Sep 17 00:00:00 2001
+From: foobar0815 <atalanta.bergamo@gmail.com>
+Date: Sun, 1 Mar 2015 20:04:10 +0100
+Subject: [PATCH] send ConfigureNotify using root coordinates
+
+---
+ src/SystemTray.cc | 28 +++++++++++++++++++++++++++-
+ 1 file changed, 27 insertions(+), 1 deletion(-)
+
+diff --git a/src/SystemTray.cc b/src/SystemTray.cc
+index 98115087..c908f3e7 100644
+--- a/src/SystemTray.cc
++++ b/src/SystemTray.cc
+@@ -45,6 +45,30 @@ using std::endl;
+ using std::hex;
+ using std::dec;
+
++void getScreenCoordinates(Window win, int x, int y, int &screen_x, int &screen_y) {
++ XWindowAttributes attr;
++ if (XGetWindowAttributes(FbTk::App::instance()->display(), win, &attr) == 0) {
++ return;
++ }
++
++ Window child_win; // not used
++ Window parent_win; // not used
++ Window root_win = 0;
++ Window* child_windows; // not used
++ unsigned int num_child_windows; // not used
++ XQueryTree(FbTk::App::instance()->display(), win,
++ &root_win,
++ &parent_win,
++ &child_windows, &num_child_windows);
++ if (child_windows != 0) {
++ XFree(child_windows);
++ }
++ XTranslateCoordinates(FbTk::App::instance()->display(),
++ parent_win, root_win,
++ x, y,
++ &screen_x, &screen_y, &child_win);
++}
++
+ /// helper class for tray windows, so we dont call XDestroyWindow
+ class TrayWindow: public FbTk::FbWindow {
+ public:
+@@ -470,9 +494,11 @@ void SystemTray::rearrangeClients() {
+ next_x += h_rot0+bw;
+ translateCoords(orientation(), x, y, w_rot0, h_rot0);
+ translatePosition(orientation(), x, y, h_rot0, h_rot0, 0);
++ int screen_x = 0, screen_y = 0;
++ getScreenCoordinates((*client_it)->window(), (*client_it)->x(), (*client_it)->y(), screen_x, screen_y);
+
+ (*client_it)->moveResize(x, y, h_rot0, h_rot0);
+- (*client_it)->sendConfigureNotify(x, y, h_rot0, h_rot0);
++ (*client_it)->sendConfigureNotify(screen_x, screen_y, h_rot0, h_rot0);
+ }
+ }
+
diff --git a/0003-c-plus-plus-17.patch b/0003-c-plus-plus-17.patch
new file mode 100644
index 00000000000..37e450b08f1
--- /dev/null
+++ b/0003-c-plus-plus-17.patch
@@ -0,0 +1,28 @@
+http://git.fluxbox.org/fluxbox.git/patch/?id=22866c4d30f5b289c429c5ca88d800200db4fc4f
+https://bugs.gentoo.org/732782
+
+From 22866c4d30f5b289c429c5ca88d800200db4fc4f Mon Sep 17 00:00:00 2001
+From: John Sennesael <john@aminking.com>
+Date: Mon, 2 Nov 2015 15:14:32 -0600
+Subject: fixes bug #1138
+
+---
+ util/fluxbox-remote.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/fluxbox-remote.cc b/util/fluxbox-remote.cc
+index 59852e6..504015b 100644
+--- a/util/fluxbox-remote.cc
++++ b/util/fluxbox-remote.cc
+@@ -73,7 +73,7 @@ int main(int argc, char **argv) {
+ if (strcmp(cmd, "result") == 0) {
+ XTextProperty text_prop;
+ if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0
+- && text_prop.value > 0
++ && text_prop.value != 0
+ && text_prop.nitems > 0) {
+
+ printf("%s", text_prop.value);
+--
+cgit v0.11.2
+
diff --git a/0004-window-menu.patch b/0004-window-menu.patch
new file mode 100644
index 00000000000..3e5020d1395
--- /dev/null
+++ b/0004-window-menu.patch
@@ -0,0 +1,44 @@
+diff --git a/data/windowmenu b/data/windowmenu
+index d867b64..972e8e7 100644
+--- a/data/windowmenu
++++ b/data/windowmenu
+@@ -1,15 +1,33 @@
+ [begin]
+- [shade]
+- [stick]
+ [maximize]
+ [iconify]
+- [raise]
+- [lower]
+ [settitledialog]
+ [sendto]
+ [layer]
+- [alpha]
+- [extramenus]
+ [separator]
+ [close]
++ [separator]
++ [submenu] (Opzioni avanzate)
++ [shade]
++ [stick]
++ [raise]
++ [lower]
++ [alpha]
++ [extramenus]
++ [end]
++ [separator]
++ [submenu] (Fluxbox menu)
++ [config] (Configure)
++ [submenu] (System Styles) {Choose a style...}
++ [stylesdir] (/usr/share/fluxbox/styles)
++ [end]
++ [submenu] (User Styles) {Choose a style...}
++ [stylesdir] (~/.fluxbox/styles)
++ [end]
++ [workspaces] (Workspace List)
++ [commanddialog] (Fluxbox Command)
++ [reconfig] (Reload config)
++ [restart] (Restart)
++ [end]
+ [end]
++
diff --git a/PKGBUILD b/PKGBUILD
index 91de7a56f90..76a1d53d9c2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,8 +5,8 @@
pkgname=fluxbox-wm
_pkgname=fluxbox
pkgver=1.3.7
-pkgrel=2
-pkgdesc="A lightweight and highly-configurable window manager compiled without slit toolbar and systemtray"
+pkgrel=3
+pkgdesc="Fluxbox window manager only: compiled without slit, toolbar and systemtray"
arch=('i686' 'x86_64')
url="http://www.fluxbox.org"
license=('MIT')
@@ -15,23 +15,39 @@ conflicts=('fluxbox' 'fluxbox-noslit')
depends=('libxft' 'libxpm' 'libxinerama' 'libxrandr' 'imlib2' 'fribidi')
optdepends=('xorg-xmessage: for using the fbsetbg and fluxbox-generate_menu utilities')
options=('!makeflags')
-source=(http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.xz
- fluxbox.desktop)
-sha1sums=('c53940f5b70dfad39f4a3fa6b0e95072c2b3e9db'
- 'f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8')
+source=("http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.xz"
+ '0001-do-not-leave-stale-oplock-behind.patch'
+ '0002-send-ConfigureNotify-using-root-coordinates.patch'
+ '0003-c-plus-plus-17.patch'
+ '0004-window-menu.patch')
+sha256sums=('fc8c75fe94c54ed5a5dd3fd4a752109f8949d6df67a48e5b11a261403c382ec0'
+ '9c486f454f46a51cb1b7cb65de812faa12e2a1cce13785c349b488f051a01470'
+ '66f64c67e5c99b2c6bf139ba2f7a3ff9fcb613c5b49b0038c42cc55cc00153dc'
+ 'a743324fb0c684be44fbcb3ff626f604057fce42fe1dda774515c1b24efbf418'
+ 'b9a4cdc5637eb5c275a9de2f43dd13987233a2c2fa843deb9958127e04960ac2')
+
+prepare() {
+ cd ${_pkgname}-${pkgver}
+
+ patch -Np1 < ../0001-do-not-leave-stale-oplock-behind.patch
+ patch -Np1 < ../0002-send-ConfigureNotify-using-root-coordinates.patch
+ patch -Np1 < ../0003-c-plus-plus-17.patch
+ patch -Np1 < ../0004-window-menu.patch
+}
build() {
cd ${_pkgname}-${pkgver}
./configure --prefix=/usr \
--enable-xft --enable-xinerama \
--enable-imlib2 --enable-nls \
- --disable-slit --disable-toolbar --disable-systray
+ --disable-slit \
+ --disable-systray \
+ --disable-toolbar
make
}
package() {
cd ${_pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
- install -D -m644 "${srcdir}/fluxbox.desktop" "${pkgdir}/usr/share/xsessions/fluxbox.desktop"
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
}