[packages/awesome] Up to 4.3

arekm arekm at pld-linux.org
Wed May 20 09:24:54 CEST 2026


commit 95aeaada8803b834a924187df4985ce19138c8d3
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed May 20 09:24:06 2026 +0200

    Up to 4.3

 awesome-3.0-lua-files.patch     |  11 -
 awesome-fno-common.patch        | 181 +++++++++++++
 awesome-gcc15.patch             | 188 -------------
 awesome-lua51-docgen.patch      |  42 +++
 awesome-magnifier.patch         |  36 ---
 awesome.spec                    | 183 ++++++-------
 normalize-icon-path-names.patch |  28 --
 xcb-util.patch                  | 586 ----------------------------------------
 8 files changed, 311 insertions(+), 944 deletions(-)
---
diff --git a/awesome.spec b/awesome.spec
index 6350126..d2ef99f 100644
--- a/awesome.spec
+++ b/awesome.spec
@@ -3,53 +3,54 @@ Summary:	awesome window manager
 Summary(hu.UTF-8):	awesome ablakkezelő
 Summary(pl.UTF-8):	Zarządca okien X - Awesome
 Name:		awesome
-Version:	3.4.12
-Release:	6
+Version:	4.3
+Release:	1
 License:	GPL v2
 Group:		X11/Window Managers
-Source0:	http://awesome.naquadah.org/download/%{name}-%{version}.tar.xz
-# Source0-md5:	2c3490b820a19c044290027e6f2eb6c8
+Source0:	https://github.com/awesomeWM/awesome/releases/download/v%{version}/%{name}-%{version}.tar.xz
+# Source0-md5:	4d75cce54a86b6bbaa6e88a926cab5a7
 Source1:	%{name}-xsession.desktop
-Patch0:		%{name}-3.0-lua-files.patch
-Patch1:		%{name}-magnifier.patch
-Patch2:		normalize-icon-path-names.patch
-Patch3:		xcb-util.patch
-Patch4:		%{name}-gcc15.patch
-URL:		http://awesome.naquadah.org/
-BuildRequires:	ImageMagick-coder-png
-BuildRequires:	asciidoc
+Patch0:		%{name}-lua51-docgen.patch
+Patch1:		%{name}-fno-common.patch
+URL:		https://awesomewm.org/
+BuildRequires:	ImageMagick
 BuildRequires:	cairo-devel
-BuildRequires:	cmake >= 2.8.0
+BuildRequires:	cmake >= 3.0.0
 BuildRequires:	dbus-devel
-BuildRequires:	docbook-dtd45-xml
-BuildRequires:	glib2-devel
-BuildRequires:	gperf
-BuildRequires:	imlib2-devel
-BuildRequires:	libev-devel >= 4.0
-BuildRequires:	libxdg-basedir-devel >= 1.0.1
-BuildRequires:	lua-doc
-BuildRequires:	lua51-devel
-BuildRequires:	pango-devel >= 1:1.19.3
+BuildRequires:	gdk-pixbuf2-devel
+BuildRequires:	glib2-devel >= 2.40
+BuildRequires:	gobject-introspection-devel
+BuildRequires:	ldoc
+BuildRequires:	libxdg-basedir-devel >= 1.0.0
+BuildRequires:	lua-lgi >= 0.8.0
+BuildRequires:	lua51-devel >= 5.1
+BuildRequires:	pango-devel
 BuildRequires:	pkgconfig >= 0.9.0
 BuildRequires:	rpmbuild(macros) >= 1.293
-BuildRequires:	sed >= 4.0
+BuildRequires:	ruby-asciidoctor
 BuildRequires:	startup-notification-devel >= 0.10
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	which
-BuildRequires:	xcb-util-image-devel >= 0.3.8
-BuildRequires:	xcb-util-keysyms-devel >= 0.3.8
+BuildRequires:	xcb-util-cursor-devel
+BuildRequires:	xcb-util-devel >= 0.3.8
+BuildRequires:	xcb-util-keysyms-devel >= 0.3.4
 BuildRequires:	xcb-util-wm-devel >= 0.3.8
-BuildRequires:	xmlto
-BuildRequires:	xorg-lib-libXext-devel
+BuildRequires:	xcb-util-xrm-devel >= 1.0
+BuildRequires:	xorg-lib-libxkbcommon-devel
+BuildRequires:	xorg-lib-libxkbcommon-x11-devel
 BuildRequires:	xorg-proto-xproto-devel >= 7.0.15
-Requires:	pango >= 1:1.19.3
+Requires:	dbus
+Requires:	lua-lgi >= 0.8.0
+Requires:	pango
 Requires:	startup-notification >= 0.10
-Requires:	xcb-util >= 0.3.6
 Provides:	awesome-plugin-awful
 Provides:	awesome-plugin-beautiful
+Provides:	awesome-plugin-naughty
+Obsoletes:	awesome-doc < 4
 Obsoletes:	awesome-plugin-awful
 Obsoletes:	awesome-plugin-beautiful
 Obsoletes:	awesome-plugin-invaders
+Obsoletes:	awesome-plugin-naughty < 4
 Obsoletes:	awesome-plugin-revelation
 Obsoletes:	awesome-plugin-tabulous
 Obsoletes:	awesome-plugin-telak
@@ -84,7 +85,6 @@ Summary(hu.UTF-8):	Parancssoros kliens az awesome ablakkezelőhöz
 Summary(pl.UTF-8):	Klient zarządcy okien awesome
 Group:		X11/Window Managers/Tools
 Requires:	dbus
-Requires:	rlwrap
 
 %description client
 awesome-client is command line utility (in fact shell script) for
@@ -102,7 +102,7 @@ działającej instancji zarządcy okien awesome.
 %package doc
 Summary:	awesome window manager API documentation
 Summary(hu.UTF-8):	awesome ablakkezelő API dokumentációja
-Summary(pl.UTF-8):	Dokumentacja API awesome
+Summary(pl.UTF-8):	Dokumentacja API zarządcy okien awesome
 Group:		Documentation
 
 %description doc
@@ -136,33 +136,15 @@ Przykładowy plik konfiguracyjny dla zarządcy okien awesome. Ten plik
 jest dobrym punktem wyjścia dla osób nie używających wcześniej awesome
 3.x.
 
-%package plugin-naughty
-Summary:	Naughty is a lua library that implements popup notifications for awesome 3
-Summary(hu.UTF-8):	Naughty egy lua-könyvtár, amely felugró értesítéseket tesz lehetővé awesome3-ban
-Summary(pl.UTF-8):	Powiadomienia w postaci wyskakujących okienek dla awesome 3
-Group:		X11/Window Managers/Tools
-Requires:	%{name} = %{version}-%{release}
-Provides:	dbus(org.freedesktop.Notifications)
-
-%description plugin-naughty
-Naughty is a lua library that implements popup notifications for
-awesome3.
-
-%description plugin-naughty -l hu.UTF-8
-Naughty egy lua-könyvtár, amely felugró értesítéseket tesz lehetővé
-awesome3-ban.
-
-%description plugin-naughty -l pl.UTF-8
-Biblioteka lua dla zarządcy okien awesome 3 implementująca
-powiadomienia w formie wyskakujących okienek.
-
 %package themes
 Summary:	Themes for awesome window manager (metapackage)
 Summary(hu.UTF-8):	Témák az awesome ablakkezelőhöz (metacsomag)
 Summary(pl.UTF-8):	Motywy dla zarządcy okien awesome
 Group:		X11/Window Managers/Tools
 Requires:	%{name}-themes-default = %{version}-%{release}
+Requires:	%{name}-themes-gtk = %{version}-%{release}
 Requires:	%{name}-themes-sky = %{version}-%{release}
+Requires:	%{name}-themes-xresources = %{version}-%{release}
 Requires:	%{name}-themes-zenburn = %{version}-%{release}
 
 %description themes
@@ -190,6 +172,18 @@ Alapértelmezett téma az awesome ablakkezelőhöz.
 %description themes-default -l pl.UTF-8
 Domyślny motyw dla zarządcy okien awesome.
 
+%package themes-gtk
+Summary:	GTK theme for awesome window manager
+Summary(pl.UTF-8):	Motyw GTK dla zarządcy okien awesome
+Group:		X11/Window Managers/Tools
+Requires:	%{name} = %{version}-%{release}
+
+%description themes-gtk
+GTK theme for awesome window manager.
+
+%description themes-gtk -l pl.UTF-8
+Motyw GTK dla zarządcy okien awesome.
+
 %package themes-sky
 Summary:	Sky theme for awesome window manager
 Summary(hu.UTF-8):	Sky téma az awesome ablakkezelőhöz
@@ -206,6 +200,18 @@ Sky téma az awesome ablakkezelőhöz.
 %description themes-sky -l pl.UTF-8
 Motyw Sky dla zarządcy okien awesome.
 
+%package themes-xresources
+Summary:	Xresources theme for awesome window manager
+Summary(pl.UTF-8):	Motyw Xresources dla zarządcy okien awesome
+Group:		X11/Window Managers/Tools
+Requires:	%{name} = %{version}-%{release}
+
+%description themes-xresources
+Xresources theme for awesome window manager.
+
+%description themes-xresources -l pl.UTF-8
+Motyw Xresources dla zarządcy okien awesome.
+
 %package themes-zenburn
 Summary:	Zenburn theme for awesome window manager
 Summary(hu.UTF-8):	Zenburn téma az awesome ablakkezelőhöz
@@ -226,31 +232,26 @@ Motyw Zenburn dla zarządcy okien awesome.
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
-# %%patch2 -p1
-# %%patch3 -p1
-%patch -P4 -p1
 
 %build
-%cmake \
-	-DLUA_INC_DIR=%{_includedir}/lua51 \
-	-DPREFIX=%{_prefix} \
+%cmake -B build \
+	-DLUA_INCLUDE_DIR=%{_includedir}/lua5.1 \
+	-DLUA_LIBRARY=%{_libdir}/liblua51.so \
 	-DAWESOME_DOC_PATH=%{_docdir}/%{name}-%{version} \
 	-DAWESOME_DATA_PATH=%{_datadir}/%{name} \
 	-DSYSCONFDIR=%{_sysconfdir}
-%{__make}
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_datadir}/xsessions,%{_docdir}/%{name}-%{version}}
-install AUTHORS BUGS README STYLE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+cp -p LICENSE docs/01-readme.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/
 
-%{__make} install \
+%{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/xsessions/%{name}.desktop
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/xsessions/%{name}.desktop
 
-for file in $(%{__find} $RPM_BUILD_ROOT%{_datadir}/%{name} -iname "*.in"); do
-	%{__rm} ${file}
-done
+%{__sed} -i -e '1s,^#!.*env bash$,#!/bin/bash,' $RPM_BUILD_ROOT%{_bindir}/awesome-client
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -258,52 +259,36 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc %{_docdir}/%{name}-%{version}
-%exclude %{_docdir}/%{name}-%{version}/luadoc
+%exclude %{_docdir}/%{name}-%{version}/doc
 %attr(755,root,root) %{_bindir}/%{name}
-%attr(755,root,root) %{_bindir}/awsetbg
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/lib
 %{_datadir}/%{name}/icons
 %{_datadir}/xsessions/%{name}.desktop
 
 %{_mandir}/man1/%{name}.1*
-%{_mandir}/man1/awsetbg.1*
 %{_mandir}/man5/awesomerc.5*
-# de
 %lang(de) %{_mandir}/de/man1/awesome.1*
-%lang(de) %{_mandir}/de/man1/awsetbg.1*
 %lang(de) %{_mandir}/de/man5/awesomerc.5*
-# es
 %lang(es) %{_mandir}/es/man1/awesome.1*
-%lang(es) %{_mandir}/es/man1/awsetbg.1*
 %lang(es) %{_mandir}/es/man5/awesomerc.5*
-# fr
 %lang(fr) %{_mandir}/fr/man1/awesome.1*
-%lang(fr) %{_mandir}/fr/man1/awsetbg.1*
 %lang(fr) %{_mandir}/fr/man5/awesomerc.5*
-# it
 %lang(it) %{_mandir}/it/man1/awesome.1*
-%lang(it) %{_mandir}/it/man1/awsetbg.1*
 %lang(it) %{_mandir}/it/man5/awesomerc.5*
-# ru
 %lang(ru) %{_mandir}/ru/man1/awesome.1*
-%lang(ru) %{_mandir}/ru/man1/awsetbg.1*
 %lang(ru) %{_mandir}/ru/man5/awesomerc.5*
 
-# plugin-awful
-%dir %{_datadir}/awesome/lib/awful
-%{_datadir}/awesome/lib/awful/*.lua
-%{_datadir}/awesome/lib/awful/layout
-%{_datadir}/awesome/lib/awful/mouse
-%{_datadir}/awesome/lib/awful/widget
-
-# plugin-beautiful
-%dir %{_datadir}/awesome/themes
-%{_datadir}/awesome/lib/beautiful.lua
-
-%files doc
-%defattr(644,root,root,755)
-%doc %{_docdir}/%{name}-%{version}/luadoc
+# library modules
+%dir %{_datadir}/%{name}/themes
+%{_datadir}/%{name}/lib/awful
+%{_datadir}/%{name}/lib/beautiful
+%{_datadir}/%{name}/lib/beautiful.lua
+%{_datadir}/%{name}/lib/gears
+%{_datadir}/%{name}/lib/menubar
+%{_datadir}/%{name}/lib/naughty
+%{_datadir}/%{name}/lib/naughty.lua
+%{_datadir}/%{name}/lib/wibox
 
 %files client
 %defattr(644,root,root,755)
@@ -315,6 +300,10 @@ rm -rf $RPM_BUILD_ROOT
 %lang(it) %{_mandir}/it/man1/awesome-client.1*
 %lang(ru) %{_mandir}/ru/man1/awesome-client.1*
 
+%files doc
+%defattr(644,root,root,755)
+%doc %{_docdir}/%{name}-%{version}/doc
+
 %files example-config
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xdg/awesome
@@ -326,14 +315,18 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_datadir}/awesome/themes/default
 
+%files themes-gtk
+%defattr(644,root,root,755)
+%{_datadir}/awesome/themes/gtk
+
 %files themes-sky
 %defattr(644,root,root,755)
 %{_datadir}/awesome/themes/sky
 
-%files themes-zenburn
+%files themes-xresources
 %defattr(644,root,root,755)
-%{_datadir}/awesome/themes/zenburn
+%{_datadir}/awesome/themes/xresources
 
-%files plugin-naughty
+%files themes-zenburn
 %defattr(644,root,root,755)
-%{_datadir}/awesome/lib/naughty.lua
+%{_datadir}/awesome/themes/zenburn
diff --git a/awesome-3.0-lua-files.patch b/awesome-3.0-lua-files.patch
deleted file mode 100644
index 6003e9b..0000000
--- a/awesome-3.0-lua-files.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- awesome-3.4.9-orig/awesomeConfig.cmake	2011-01-18 15:13:13.827853477 +0100
-+++ awesome-3.4.9/awesomeConfig.cmake	2011-01-18 15:13:52.071052305 +0100
-@@ -54,7 +54,7 @@
- a_find_program(XMLTO_EXECUTABLE xmlto FALSE)
- a_find_program(GZIP_EXECUTABLE gzip FALSE)
- # lua documentation
--a_find_program(LUA_EXECUTABLE lua FALSE)
-+a_find_program(LUA_EXECUTABLE lua51 FALSE)
- a_find_program(LUADOC_EXECUTABLE luadoc FALSE)
- # theme graphics
- a_find_program(CONVERT_EXECUTABLE convert TRUE)
diff --git a/awesome-fno-common.patch b/awesome-fno-common.patch
new file mode 100644
index 0000000..60e9561
--- /dev/null
+++ b/awesome-fno-common.patch
@@ -0,0 +1,181 @@
+diff -urN awesome-4.3/common/lualib.h awesome-4.3-patched/common/lualib.h
+--- awesome-4.3/common/lualib.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/common/lualib.h	2026-05-20 00:21:02.751010813 +0200
+@@ -28,7 +28,7 @@
+ #include "common/util.h"
+ 
+ /** Lua function to call on dofunction() error */
+-lua_CFunction lualib_dofunction_on_error;
++extern lua_CFunction lualib_dofunction_on_error;
+ 
+ void luaA_checkfunction(lua_State *, int);
+ void luaA_checktable(lua_State *, int);
+diff -urN awesome-4.3/luaa.c awesome-4.3-patched/luaa.c
+--- awesome-4.3/luaa.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/luaa.c	2026-05-20 00:21:02.763350916 +0200
+@@ -77,6 +77,9 @@
+ extern const struct luaL_Reg awesome_mouse_methods[];
+ extern const struct luaL_Reg awesome_mouse_meta[];
+ 
++lua_CFunction lualib_dofunction_on_error;
++signal_array_t global_signals;
++
+ /** A call into the Lua code aborted with an error.
+  *
+  * This signal is used in the example configuration, @{05-awesomerc.md},
+diff -urN awesome-4.3/luaa.h awesome-4.3-patched/luaa.h
+--- awesome-4.3/luaa.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/luaa.h	2026-05-20 00:21:02.753955526 +0200
+@@ -311,7 +311,7 @@
+ bool luaA_parserc(xdgHandle *, const char *);
+ 
+ /** Global signals */
+-signal_array_t global_signals;
++extern signal_array_t global_signals;
+ 
+ int luaA_class_index_miss_property(lua_State *, lua_object_t *);
+ int luaA_class_newindex_miss_property(lua_State *, lua_object_t *);
+diff -urN awesome-4.3/objects/button.c awesome-4.3-patched/objects/button.c
+--- awesome-4.3/objects/button.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/button.c	2026-05-20 00:21:02.826381464 +0200
+@@ -35,6 +35,8 @@
+ 
+ #include "button.h"
+ 
++lua_class_t button_class;
++
+ /** Button object.
+  *
+  * @tfield int button The mouse button number, or 0 for any button.
+diff -urN awesome-4.3/objects/button.h awesome-4.3-patched/objects/button.h
+--- awesome-4.3/objects/button.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/button.h	2026-05-20 00:21:39.846725616 +0200
+@@ -39,7 +39,7 @@
+     xcb_button_t button;
+ } button_t;
+ 
+-lua_class_t button_class;
++extern lua_class_t button_class;
+ LUA_OBJECT_FUNCS(button_class, button_t, button)
+ ARRAY_FUNCS(button_t *, button, DO_NOTHING)
+ 
+diff -urN awesome-4.3/objects/client.c awesome-4.3-patched/objects/client.c
+--- awesome-4.3/objects/client.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/client.c	2026-05-20 00:21:02.829791758 +0200
+@@ -88,6 +88,8 @@
+  */
+ 
+ #include "objects/client.h"
++
++lua_class_t client_class;
+ #include "common/atoms.h"
+ #include "common/xutil.h"
+ #include "event.h"
+diff -urN awesome-4.3/objects/client.h awesome-4.3-patched/objects/client.h
+--- awesome-4.3/objects/client.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/client.h	2026-05-20 00:21:39.849026916 +0200
+@@ -192,7 +192,7 @@
+ ARRAY_FUNCS(client_t *, client, DO_NOTHING)
+ 
+ /** Client class */
+-lua_class_t client_class;
++extern lua_class_t client_class;
+ 
+ LUA_OBJECT_FUNCS(client_class, client_t, client)
+ 
+diff -urN awesome-4.3/objects/drawin.c awesome-4.3-patched/objects/drawin.c
+--- awesome-4.3/objects/drawin.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/drawin.c	2026-05-20 00:21:02.846869816 +0200
+@@ -46,6 +46,8 @@
+ #include <cairo-xcb.h>
+ #include <xcb/shape.h>
+ 
++lua_class_t drawin_class;
++
+ /** Drawin object.
+  *
+  * @field border_width Border width.
+diff -urN awesome-4.3/objects/drawin.h awesome-4.3-patched/objects/drawin.h
+--- awesome-4.3/objects/drawin.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/drawin.h	2026-05-20 00:21:02.795948619 +0200
+@@ -52,7 +52,7 @@
+ 
+ void drawin_class_setup(lua_State *);
+ 
+-lua_class_t drawin_class;
++extern lua_class_t drawin_class;
+ 
+ #endif
+ // vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
+diff -urN awesome-4.3/objects/key.c awesome-4.3-patched/objects/key.c
+--- awesome-4.3/objects/key.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/key.c	2026-05-20 00:21:02.852173056 +0200
+@@ -35,6 +35,8 @@
+  */
+ 
+ #include "objects/key.h"
++
++lua_class_t key_class;
+ #include "common/xutil.h"
+ #include "xkb.h"
+ 
+diff -urN awesome-4.3/objects/key.h awesome-4.3-patched/objects/key.h
+--- awesome-4.3/objects/key.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/key.h	2026-05-20 00:21:39.851771215 +0200
+@@ -36,7 +36,7 @@
+     xcb_keycode_t keycode;
+ } keyb_t;
+ 
+-lua_class_t key_class;
++extern lua_class_t key_class;
+ LUA_OBJECT_FUNCS(key_class, keyb_t, key)
+ DO_ARRAY(keyb_t *, key, DO_NOTHING)
+ 
+diff -urN awesome-4.3/objects/tag.c awesome-4.3-patched/objects/tag.c
+--- awesome-4.3/objects/tag.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/tag.c	2026-05-20 00:21:02.855573505 +0200
+@@ -184,6 +184,8 @@
+  */
+ 
+ #include "tag.h"
++
++lua_class_t tag_class;
+ #include "screen.h"
+ #include "banning.h"
+ #include "client.h"
+diff -urN awesome-4.3/objects/tag.h awesome-4.3-patched/objects/tag.h
+--- awesome-4.3/objects/tag.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/tag.h	2026-05-20 00:21:39.855122472 +0200
+@@ -46,7 +46,7 @@
+     client_array_t clients;
+ };
+ 
+-lua_class_t tag_class;
++extern lua_class_t tag_class;
+ LUA_OBJECT_FUNCS(tag_class, tag_t, tag)
+ 
+ void tag_class_setup(lua_State *);
+diff -urN awesome-4.3/objects/window.c awesome-4.3-patched/objects/window.c
+--- awesome-4.3/objects/window.c	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/window.c	2026-05-20 00:21:02.858790019 +0200
+@@ -52,6 +52,8 @@
+  */
+ 
+ #include "objects/window.h"
++
++lua_class_t window_class;
+ #include "common/atoms.h"
+ #include "common/xutil.h"
+ #include "ewmh.h"
+diff -urN awesome-4.3/objects/window.h awesome-4.3-patched/objects/window.h
+--- awesome-4.3/objects/window.h	2019-01-28 07:53:24.000000000 +0100
++++ awesome-4.3-patched/objects/window.h	2026-05-20 00:21:39.858524452 +0200
+@@ -80,7 +80,7 @@
+     WINDOW_OBJECT_HEADER
+ } window_t;
+ 
+-lua_class_t window_class;
++extern lua_class_t window_class;
+ 
+ void window_class_setup(lua_State *);
+ 
diff --git a/awesome-gcc15.patch b/awesome-gcc15.patch
deleted file mode 100644
index 7599dc9..0000000
--- a/awesome-gcc15.patch
+++ /dev/null
@@ -1,188 +0,0 @@
---- awesome-3.4.12.orig/luaa.h	2026-05-17 14:14:33.979635062 +0200
-+++ awesome-3.4.12/luaa.h	2026-05-17 14:14:44.382968379 +0200
-@@ -204,7 +204,7 @@
-     } while(0);
- 
- /** Global signals */
--signal_array_t global_signals;
-+extern signal_array_t global_signals;
- 
- int luaA_class_index_miss_property(lua_State *, lua_object_t *);
- int luaA_class_newindex_miss_property(lua_State *, lua_object_t *);
---- awesome-3.4.12.orig/image.h	2026-05-17 14:14:33.982968395 +0200
-+++ awesome-3.4.12/image.h	2026-05-17 14:15:11.959635008 +0200
-@@ -35,7 +35,7 @@
- 
- xcb_pixmap_t image_to_1bit_pixmap(image_t *, xcb_drawable_t);
- 
--lua_class_t image_class;
-+extern lua_class_t image_class;
- 
- #endif
- // vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
---- awesome-3.4.12.orig/button.h	2026-05-17 14:14:33.986301729 +0200
-+++ awesome-3.4.12/button.h	2026-05-17 14:15:25.802968324 +0200
-@@ -34,7 +34,7 @@
-     xcb_button_t button;
- };
- 
--lua_class_t button_class;
-+extern lua_class_t button_class;
- LUA_OBJECT_FUNCS(button_class, button_t, button)
- ARRAY_FUNCS(button_t *, button, DO_NOTHING)
- 
---- awesome-3.4.12.orig/key.h	2026-05-17 14:14:33.986301729 +0200
-+++ awesome-3.4.12/key.h	2026-05-17 14:15:43.839634974 +0200
-@@ -35,7 +35,7 @@
-     xcb_keycode_t keycode;
- } keyb_t;
- 
--lua_class_t key_class;
-+extern lua_class_t key_class;
- LUA_OBJECT_FUNCS(key_class, keyb_t, key)
- DO_ARRAY(keyb_t *, key, DO_NOTHING)
- 
---- awesome-3.4.12.orig/widget.h	2026-05-17 14:14:33.989635062 +0200
-+++ awesome-3.4.12/widget.h	2026-05-17 14:16:07.482968276 +0200
-@@ -69,7 +69,7 @@
- void widget_invalidate_bywidget(widget_t *);
- void widget_invalidate_bytype(widget_constructor_t *);
- 
--lua_class_t widget_class;
-+extern lua_class_t widget_class;
- void widget_class_setup(lua_State *);
- 
- widget_constructor_t widget_textbox;
---- awesome-3.4.12.orig/wibox.h	2026-05-17 14:14:33.989635062 +0200
-+++ awesome-3.4.12/wibox.h	2026-05-17 14:16:28.409634911 +0200
-@@ -118,7 +118,7 @@
- 
- void wibox_class_setup(lua_State *);
- 
--lua_class_t wibox_class;
-+extern lua_class_t wibox_class;
- 
- void wibox_clear_mouse_over(wibox_t *);
- 
---- awesome-3.4.12.orig/client.h	2026-05-17 14:14:33.992968396 +0200
-+++ awesome-3.4.12/client.h	2026-05-17 14:16:46.082968223 +0200
-@@ -156,7 +156,7 @@
- ARRAY_FUNCS(client_t *, client, DO_NOTHING)
- 
- /** Client class */
--lua_class_t client_class;
-+extern lua_class_t client_class;
- 
- LUA_OBJECT_FUNCS(client_class, client_t, client)
- 
---- awesome-3.4.12.orig/common/lualib.h	2026-05-17 14:14:33.992968396 +0200
-+++ awesome-3.4.12/common/lualib.h	2026-05-17 14:15:04.829635015 +0200
-@@ -26,7 +26,7 @@
- #include "common/util.h"
- 
- /** Lua function to call on dofuction() error */
--lua_CFunction lualib_dofunction_on_error;
-+extern lua_CFunction lualib_dofunction_on_error;
- 
- #define luaA_checkfunction(L, n) \
-     do { \
---- awesome-3.4.12.orig/luaa.c	2026-05-17 14:14:33.996301729 +0200
-+++ awesome-3.4.12/luaa.c	2026-05-17 14:14:56.542968360 +0200
-@@ -57,6 +57,9 @@
- extern const struct luaL_reg awesome_screen_methods[];
- extern const struct luaL_reg awesome_screen_meta[];
- 
-+signal_array_t global_signals;
-+lua_CFunction lualib_dofunction_on_error;
-+
- /** Quit awesome.
-  * \param L The Lua VM state.
-  * \return The number of elements pushed on stack.
---- awesome-3.4.12.orig/image.c	2026-05-17 14:14:33.996301729 +0200
-+++ awesome-3.4.12/image.c	2026-05-17 14:15:18.866301667 +0200
-@@ -40,6 +40,7 @@
-     bool isupdated;
- };
- 
-+lua_class_t image_class;
- LUA_OBJECT_FUNCS(image_class, image_t, image)
- 
- static int
---- awesome-3.4.12.orig/button.c	2026-05-17 14:14:33.999635062 +0200
-+++ awesome-3.4.12/button.c	2026-05-17 14:15:36.929634979 +0200
-@@ -24,6 +24,8 @@
- #include "key.h"
- #include "common/luaobject.h"
- 
-+lua_class_t button_class;
-+
- /** Create a new mouse button bindings.
-  * \param L The Lua VM state.
-  * \return The number of elements pushed on stack.
---- awesome-3.4.12.orig/key.c	2026-05-17 14:14:33.999635062 +0200
-+++ awesome-3.4.12/key.c	2026-05-17 14:15:50.969634964 +0200
-@@ -32,6 +32,8 @@
- #include "common/xutil.h"
- #include "common/luaobject.h"
- 
-+lua_class_t key_class;
-+
- /** XCB equivalent of XLookupString which translate the keycode given
-  * by PressEvent to a KeySym and a string
-  * \todo use XKB!
---- awesome-3.4.12.orig/widget.c	2026-05-17 14:14:34.002968395 +0200
-+++ awesome-3.4.12/widget.c	2026-05-17 14:16:14.459634936 +0200
-@@ -33,6 +33,7 @@
- #include "common/atoms.h"
- #include "common/xutil.h"
- 
-+lua_class_t widget_class;
- LUA_OBJECT_FUNCS(widget_class, widget_t, widget);
- 
- /** Collect a widget structure.
---- awesome-3.4.12.orig/wibox.c	2026-05-17 14:14:34.002968395 +0200
-+++ awesome-3.4.12/wibox.c	2026-05-17 14:16:39.042968234 +0200
-@@ -32,6 +32,7 @@
- #include "common/xcursor.h"
- #include "common/xutil.h"
- 
-+lua_class_t wibox_class;
- LUA_OBJECT_FUNCS(wibox_class, wibox_t, wibox)
- 
- /** Take care of garbage collecting a wibox.
---- awesome-3.4.12.orig/client.c	2026-05-17 14:14:34.006301729 +0200
-+++ awesome-3.4.12/client.c	2026-05-17 14:16:53.119634884 +0200
-@@ -33,6 +33,8 @@
- #include "common/atoms.h"
- #include "common/xutil.h"
- 
-+lua_class_t client_class;
-+
- client_t *
- luaA_client_checkudata(lua_State *L, int ud)
- {
---- awesome-3.4.12.orig/common/util.h
-+++ awesome-3.4.12/common/util.h
-@@ -123,6 +123,11 @@
- 
- #endif
- 
-+/* X11/Xthreads.h defines xmalloc/xfree as aliases for malloc/free, which
-+ * collides with awesome's own xmalloc/xfree helpers. */
-+#undef xmalloc
-+#undef xfree
-+
- static inline void * __attribute__ ((malloc)) xmalloc(ssize_t size)
- {
-     void *ptr;
---- awesome-3.4.12.orig/build-utils/gperf.sh
-+++ awesome-3.4.12/build-utils/gperf.sh
-@@ -85,7 +85,7 @@
- #include <string.h>
- #include "common/tokenize.h"
- 
--static const struct tok *a_tokenize_aux(const char *str, unsigned int len);
-+static const struct tok *a_tokenize_aux(const char *str, size_t len);
- 
- %}
- struct tok { const char *name; int val; };
diff --git a/awesome-lua51-docgen.patch b/awesome-lua51-docgen.patch
new file mode 100644
index 0000000..7641a4e
--- /dev/null
+++ b/awesome-lua51-docgen.patch
@@ -0,0 +1,42 @@
+Multi-version Lua systems (PLD) ship /usr/bin/lua as lua54, but awesome's
+docs generation needs lgi which is built only for lua5.1.  Use lua5.1
+explicitly for those build-time scripts.
+
+--- awesome-4.3/awesomeConfig.cmake
++++ awesome-4.3/awesomeConfig.cmake
+@@ -365,7 +365,7 @@ add_custom_command(TARGET setup_directories
+
+ add_custom_command(
+         OUTPUT ${BUILD_DIR}/docs/06-appearance.md
+-        COMMAND lua ${SOURCE_DIR}/docs/06-appearance.md.lua
++        COMMAND lua5.1 ${SOURCE_DIR}/docs/06-appearance.md.lua
+         ${BUILD_DIR}/docs/06-appearance.md
+         DEPENDS
+             lgi-check-run
+@@ -375,7 +375,7 @@ add_custom_command(
+
+ add_custom_command(
+         OUTPUT ${BUILD_DIR}/docs/common/rules_index.ldoc
+-        COMMAND lua ${SOURCE_DIR}/docs/build_rules_index.lua
++        COMMAND lua5.1 ${SOURCE_DIR}/docs/build_rules_index.lua
+             ${BUILD_DIR}/docs/common/rules_index.ldoc
+
+         # Cheap trick until the ldoc `configure_file` is ported to be a build
+@@ -394,7 +394,7 @@ add_custom_command(
+ add_custom_command(
+         OUTPUT ${BUILD_DIR}/awesomerc.lua ${BUILD_DIR}/docs/05-awesomerc.md
+             ${BUILD_DIR}/script_files/rc.lua
+-        COMMAND lua ${SOURCE_DIR}/docs/05-awesomerc.md.lua
++        COMMAND lua5.1 ${SOURCE_DIR}/docs/05-awesomerc.md.lua
+         ${BUILD_DIR}/docs/05-awesomerc.md ${SOURCE_DIR}/awesomerc.lua
+         ${BUILD_DIR}/awesomerc.lua
+         ${BUILD_DIR}/script_files/rc.lua
+@@ -402,7 +402,7 @@ add_custom_command(
+
+ add_custom_command(
+         OUTPUT ${BUILD_DIR}/script_files/theme.lua
+-        COMMAND lua ${SOURCE_DIR}/docs/sample_theme.lua ${BUILD_DIR}/script_files/
++        COMMAND lua5.1 ${SOURCE_DIR}/docs/sample_theme.lua ${BUILD_DIR}/script_files/
+ )
+
+ # Create a target for the auto-generated awesomerc.lua and other files
diff --git a/awesome-magnifier.patch b/awesome-magnifier.patch
deleted file mode 100644
index 9ada12a..0000000
--- a/awesome-magnifier.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/lib/awful/layout/suit/magnifier.lua.in b/lib/awful/layout/suit/magnifier.lua.in
-index 2d4a526..74a2398 100644
---- a/lib/awful/layout/suit/magnifier.lua.in
-+++ b/lib/awful/layout/suit/magnifier.lua.in
-@@ -34,6 +34,11 @@ function arrange(p)
-         fidx = 1
-     end
- 
-+    -- If focused window is floating, value of focus will change. We want to
-+    -- save original value of focus and raise() it after seting geometry of
-+    -- other clients.
-+    local originalfocus = focus
-+
-     -- If focused window is not tiled, take the first one which is tiled.
-     if client.floating.get(focus) then
-         focus = cls[1]
-@@ -56,7 +61,6 @@ function arrange(p)
-         geometry.height = area.height
-     end
-     focus:geometry(geometry)
--    focus:raise()
- 
-     if #cls > 1 then
-         geometry.x = area.x
-@@ -87,6 +91,11 @@ function arrange(p)
-             geometry.y = geometry.y + geometry.height
-         end
-     end
-+
-+    -- Raise primary tiled window and then the originally focused window. If
-+    -- there was no floating window it is the same window.
-+    focus:raise()
-+    originalfocus:raise()
- end
- 
- name = "magnifier"
diff --git a/normalize-icon-path-names.patch b/normalize-icon-path-names.patch
deleted file mode 100644
index a47f19c..0000000
--- a/normalize-icon-path-names.patch
+++ /dev/null
@@ -1,28 +0,0 @@
----
- CMakeLists.txt |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 64be9b9..472bec2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -244,14 +244,15 @@ endif()
- 
- # {{{ Theme icons
- file(GLOB icon_sources RELATIVE ${SOURCE_DIR} ${SOURCE_DIR}/themes/*/titlebar/*.png)
--set(ALL_ICONS ${icon_sources})
- 
- foreach(icon ${icon_sources})
-     # Copy all icons to the build dir to simplify the following code.
-     # Source paths are interpreted relative to ${SOURCE_DIR}, target paths
-     # relative to ${BUILD_DIR}.
-     get_filename_component(icon_path ${icon} PATH)
-+    get_filename_component(icon_name ${icon} NAME)
-     file(COPY ${icon} DESTINATION ${icon_path})
-+    set(ALL_ICONS ${ALL_ICONS} "${icon_path}/${icon_name}")
- endforeach()
- 
- macro(a_icon_convert match replacement input)
--- 
-1.7.3.4
-
diff --git a/xcb-util.patch b/xcb-util.patch
deleted file mode 100644
index 8f6eded..0000000
--- a/xcb-util.patch
+++ /dev/null
@@ -1,586 +0,0 @@
-From 33e140552786f20a34c15852e88aaa27f3bed029 Mon Sep 17 00:00:00 2001
-From: Arnaud Fontaine <ar... at debian.org>
-Date: Wed, 27 Apr 2011 15:44:35 +0900
-Subject: [PATCH] Update the code following release of xcb-util 0.3.8.
-
-xcb-util is now split into several repositories since 0.3.8. This
-release also cleaned up the API a lot, thus update the code
-accordingly.
-
-Signed-off-by: Arnaud Fontaine <ar... at debian.org>
----
- awesome.c           |    2 +-
- awesomeConfig.cmake |    7 ++---
- client.c            |   56 +++++++++++++++++++++---------------------
- client.h            |    6 ++--
- common/xutil.c      |    1 -
- event.c             |   10 +++---
- ewmh.c              |    4 +-
- property.c          |   68 +++++++++++++++++++++++++-------------------------
- selection.c         |   14 +++++-----
- systray.c           |    2 +-
- window.c            |    4 +-
- 11 files changed, 86 insertions(+), 88 deletions(-)
-
-diff --git a/awesome.c b/awesome.c
-index f89080c..1258b4c 100644
---- a/awesome.c
-+++ b/awesome.c
-@@ -154,7 +154,7 @@ scan(void)
- 
-             if(!attr_r || attr_r->override_redirect
-                || attr_r->map_state == XCB_MAP_STATE_UNMAPPED
--               || state == XCB_WM_STATE_WITHDRAWN)
-+               || state == XCB_ICCCM_WM_STATE_WITHDRAWN)
-             {
-                 geom_wins[i] = NULL;
-                 p_delete(&attr_r);
-diff --git a/awesomeConfig.cmake b/awesomeConfig.cmake
-index 68b5ee3..5672afc 100644
---- a/awesomeConfig.cmake
-+++ b/awesomeConfig.cmake
-@@ -127,7 +127,7 @@ execute_process(
- 
- # Use pkgconfig to get most of the libraries
- pkg_check_modules(AWESOME_COMMON_REQUIRED REQUIRED
--    xcb>=1.4)
-+    xcb>=1.6)
- 
- pkg_check_modules(AWESOME_REQUIRED REQUIRED
-     glib-2.0
-@@ -139,10 +139,9 @@ pkg_check_modules(AWESOME_REQUIRED REQUIRED
-     xcb-xtest
-     xcb-xinerama
-     xcb-shape
--    xcb-aux>=0.3.0
--    xcb-atom>=0.3.0
-+    xcb-util>=0.3.8
-     xcb-keysyms>=0.3.4
--    xcb-icccm>=0.3.6
-+    xcb-icccm>=0.3.8
-     xcb-image>=0.3.0
-     cairo-xcb
-     libstartup-notification-1.0>=0.10
-diff --git a/client.c b/client.c
-index 049e3d5..baae69f 100644
---- a/client.c
-+++ b/client.c
-@@ -52,7 +52,7 @@ luaA_client_gc(lua_State *L)
-     client_t *c = luaA_checkudata(L, 1, &client_class);
-     button_array_wipe(&c->buttons);
-     key_array_wipe(&c->keys);
--    xcb_get_wm_protocols_reply_wipe(&c->protocols);
-+    xcb_icccm_get_wm_protocols_reply_wipe(&c->protocols);
-     p_delete(&c->machine);
-     p_delete(&c->class);
-     p_delete(&c->instance);
-@@ -94,21 +94,21 @@ client_set_urgent(lua_State *L, int cidx, bool urgent)
-     if(c->urgent != urgent)
-     {
-         xcb_get_property_cookie_t hints =
--            xcb_get_wm_hints_unchecked(globalconf.connection, c->window);
-+            xcb_icccm_get_wm_hints_unchecked(globalconf.connection, c->window);
- 
-         c->urgent = urgent;
-         ewmh_client_update_hints(c);
- 
-         /* update ICCCM hints */
--        xcb_wm_hints_t wmh;
--        xcb_get_wm_hints_reply(globalconf.connection, hints, &wmh, NULL);
-+        xcb_icccm_wm_hints_t wmh;
-+        xcb_icccm_get_wm_hints_reply(globalconf.connection, hints, &wmh, NULL);
- 
-         if(urgent)
--            wmh.flags |= XCB_WM_HINT_X_URGENCY;
-+            wmh.flags |= XCB_ICCCM_WM_HINT_X_URGENCY;
-         else
--            wmh.flags &= ~XCB_WM_HINT_X_URGENCY;
-+            wmh.flags &= ~XCB_ICCCM_WM_HINT_X_URGENCY;
- 
--        xcb_set_wm_hints(globalconf.connection, c->window, &wmh);
-+        xcb_icccm_set_wm_hints(globalconf.connection, c->window, &wmh);
- 
-         hook_property(c, "urgent");
-         luaA_object_emit_signal(L, cidx, "property::urgent", 0);
-@@ -721,7 +721,7 @@ HANDLE_GEOM(height)
-      *
-      * At this stage it's just safer to keep it in normal state and avoid confusion.
-      */
--    window_state_set(c->window, XCB_WM_STATE_NORMAL);
-+    window_state_set(c->window, XCB_ICCCM_WM_STATE_NORMAL);
- 
-     if(!startup)
-     {
-@@ -767,14 +767,14 @@ client_geometry_hints(client_t *c, area_t geometry)
-     int32_t real_basew = 0, real_baseh = 0;
- 
-     /* base size is substituted with min size if not specified */
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
-     {
-         basew = c->size_hints.base_width;
-         baseh = c->size_hints.base_height;
-         real_basew = basew;
-         real_baseh = baseh;
-     }
--    else if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
-+    else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
-     {
-         basew = c->size_hints.min_width;
-         baseh = c->size_hints.min_height;
-@@ -783,12 +783,12 @@ client_geometry_hints(client_t *c, area_t geometry)
-         basew = baseh = 0;
- 
-     /* min size is substituted with base size if not specified */
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
-     {
-         minw = c->size_hints.min_width;
-         minh = c->size_hints.min_height;
-     }
--    else if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
-+    else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
-     {
-         minw = c->size_hints.base_width;
-         minh = c->size_hints.base_height;
-@@ -796,7 +796,7 @@ client_geometry_hints(client_t *c, area_t geometry)
-     else
-         minw = minh = 0;
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_ASPECT
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_ASPECT
-        && c->size_hints.min_aspect_den > 0
-        && c->size_hints.max_aspect_den > 0
-        && geometry.height - real_baseh > 0
-@@ -838,7 +838,7 @@ client_geometry_hints(client_t *c, area_t geometry)
-     if(minh)
-         geometry.height = MAX(geometry.height, minh);
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
-     {
-         if(c->size_hints.max_width)
-             geometry.width = MIN(geometry.width, c->size_hints.max_width);
-@@ -846,7 +846,7 @@ client_geometry_hints(client_t *c, area_t geometry)
-             geometry.height = MIN(geometry.height, c->size_hints.max_height);
-     }
- 
--    if(c->size_hints.flags & (XCB_SIZE_HINT_P_RESIZE_INC | XCB_SIZE_HINT_BASE_SIZE)
-+    if(c->size_hints.flags & (XCB_ICCCM_SIZE_HINT_P_RESIZE_INC | XCB_ICCCM_SIZE_HINT_BASE_SIZE)
-        && c->size_hints.width_inc && c->size_hints.height_inc)
-     {
-         uint16_t t1 = geometry.width, t2 = geometry.height;
-@@ -969,9 +969,9 @@ client_set_minimized(lua_State *L, int cidx, bool s)
-         c->minimized = s;
-         banning_need_update((c)->screen);
-         if(s)
--            window_state_set(c->window, XCB_WM_STATE_ICONIC);
-+            window_state_set(c->window, XCB_ICCCM_WM_STATE_ICONIC);
-         else
--            window_state_set(c->window, XCB_WM_STATE_NORMAL);
-+            window_state_set(c->window, XCB_ICCCM_WM_STATE_NORMAL);
-         ewmh_client_update_hints(c);
-         if(strut_has_value(&c->strut))
-             screen_emit_signal(globalconf.L, c->screen, "property::workarea", 0);
-@@ -1333,7 +1333,7 @@ client_unmanage(client_t *c)
- 
-     /* Do this last to avoid races with clients. According to ICCCM, clients
-      * arent allowed to re-use the window until after this. */
--    window_state_set(c->window, XCB_WM_STATE_WITHDRAWN);
-+    window_state_set(c->window, XCB_ICCCM_WM_STATE_WITHDRAWN);
- 
-     /* set client as invalid */
-     c->invalid = true;
-@@ -2052,9 +2052,9 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
- 
-     lua_createtable(L, 0, 1);
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_US_POSITION)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION)
-         u_or_p = "user_position";
--    else if(c->size_hints.flags & XCB_SIZE_HINT_P_POSITION)
-+    else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_POSITION)
-         u_or_p = "program_position";
- 
-     if(u_or_p)
-@@ -2068,9 +2068,9 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         u_or_p = NULL;
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_US_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_US_SIZE)
-         u_or_p = "user_size";
--    else if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
-+    else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
-         u_or_p = "program_size";
- 
-     if(u_or_p)
-@@ -2083,7 +2083,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, u_or_p);
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
-     {
-         lua_pushnumber(L, c->size_hints.min_width);
-         lua_setfield(L, -2, "min_width");
-@@ -2091,7 +2091,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, "min_height");
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
-     {
-         lua_pushnumber(L, c->size_hints.max_width);
-         lua_setfield(L, -2, "max_width");
-@@ -2099,7 +2099,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, "max_height");
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_RESIZE_INC)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_RESIZE_INC)
-     {
-         lua_pushnumber(L, c->size_hints.width_inc);
-         lua_setfield(L, -2, "width_inc");
-@@ -2107,7 +2107,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, "height_inc");
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_ASPECT)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_ASPECT)
-     {
-         lua_pushnumber(L, c->size_hints.min_aspect_num);
-         lua_setfield(L, -2, "min_aspect_num");
-@@ -2119,7 +2119,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, "max_aspect_den");
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_BASE_SIZE)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_BASE_SIZE)
-     {
-         lua_pushnumber(L, c->size_hints.base_width);
-         lua_setfield(L, -2, "base_width");
-@@ -2127,7 +2127,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
-         lua_setfield(L, -2, "base_height");
-     }
- 
--    if(c->size_hints.flags & XCB_SIZE_HINT_P_WIN_GRAVITY)
-+    if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY)
-     {
-         switch(c->size_hints.win_gravity)
-         {
-diff --git a/client.h b/client.h
-index d4ef52f..9674fac 100644
---- a/client.h
-+++ b/client.h
-@@ -123,7 +123,7 @@ struct client_t
-     /** Window holding command needed to start it (session management related) */
-     xcb_window_t leader_window;
-     /** Client's WM_PROTOCOLS property */
--    xcb_get_wm_protocols_reply_t protocols;
-+    xcb_icccm_get_wm_protocols_reply_t protocols;
-     /** Client logical screen */
-     screen_t *screen;
-     /** Client physical screen */
-@@ -248,8 +248,8 @@ client_raise(client_t *c)
- static inline bool
- client_isfixed(client_t *c)
- {
--    return (c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE
--            && c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE
-+    return (c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE
-+            && c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE
-             && c->size_hints.max_width == c->size_hints.min_width
-             && c->size_hints.max_height == c->size_hints.min_height
-             && c->size_hints.max_width
-diff --git a/common/xutil.c b/common/xutil.c
-index 3d80e8d..c5a2127 100644
---- a/common/xutil.c
-+++ b/common/xutil.c
-@@ -25,7 +25,6 @@
- #include "common/util.h"
- 
- #include <xcb/xcb.h>
--#include <xcb/xcb_atom.h>
- #include <xcb/xcb_icccm.h>
- 
- #include "common/xutil.h"
-diff --git a/event.c b/event.c
-index 8527ec5..a35918b 100644
---- a/event.c
-+++ b/event.c
-@@ -721,7 +721,7 @@ event_handle_clientmessage(xcb_client_message_event_t *ev)
-         client_t *c;
-         if((c = client_getbywin(ev->window))
-            && ev->format == 32
--           && ev->data.data32[0] == XCB_WM_STATE_ICONIC)
-+           && ev->data.data32[0] == XCB_ICCCM_WM_STATE_ICONIC)
-         {
-             luaA_object_push(globalconf.L, c);
-             client_set_minimized(globalconf.L, -1, true);
-@@ -795,13 +795,13 @@ static void
- xerror(xcb_generic_error_t *e)
- {
-     /* ignore this */
--    if(e->error_code == XCB_EVENT_ERROR_BAD_WINDOW
--       || (e->error_code == XCB_EVENT_ERROR_BAD_MATCH
-+    if(e->error_code == XCB_WINDOW
-+       || (e->error_code == XCB_MATCH
-            && e->major_code == XCB_SET_INPUT_FOCUS)
--       || (e->error_code == XCB_EVENT_ERROR_BAD_VALUE
-+       || (e->error_code == XCB_VALUE
-            && e->major_code == XCB_KILL_CLIENT)
-        || (e->major_code == XCB_CONFIGURE_WINDOW
--           && e->error_code == XCB_EVENT_ERROR_BAD_MATCH))
-+           && e->error_code == XCB_MATCH))
-         return;
- 
-     warn("X error: request=%s, error=%s",
-diff --git a/ewmh.c b/ewmh.c
-index 0aa5de7..ba4776c 100644
---- a/ewmh.c
-+++ b/ewmh.c
-@@ -226,7 +226,7 @@ ewmh_update_net_active_window(int phys_screen)
- 
-     xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
- 			xutil_screen_get(globalconf.connection, phys_screen)->root,
--			_NET_ACTIVE_WINDOW, WINDOW, 32, 1, &win);
-+			_NET_ACTIVE_WINDOW, XCB_ATOM_WINDOW, 32, 1, &win);
- }
- 
- static void
-@@ -425,7 +425,7 @@ ewmh_client_update_hints(client_t *c)
-         state[i++] = _NET_WM_STATE_DEMANDS_ATTENTION;
- 
-     xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
--                        c->window, _NET_WM_STATE, ATOM, 32, i, state);
-+                        c->window, _NET_WM_STATE, XCB_ATOM_ATOM, 32, i, state);
- }
- 
- /** Update the client active desktop.
-diff --git a/property.c b/property.c
-index d5090c6..d2223ef 100644
---- a/property.c
-+++ b/property.c
-@@ -105,14 +105,14 @@ property_update_wm_transient_for(client_t *c, xcb_get_property_reply_t *reply)
- 
-     if(reply)
-     {
--        if(!xcb_get_wm_transient_for_from_reply(&trans, reply))
-+        if(!xcb_icccm_get_wm_transient_for_from_reply(&trans, reply))
-             return;
-     }
-     else
-     {
--        if(!xcb_get_wm_transient_for_reply(globalconf.connection,
--                                            xcb_get_wm_transient_for_unchecked(globalconf.connection,
--                                                                               c->window),
-+        if(!xcb_icccm_get_wm_transient_for_reply(globalconf.connection,
-+                                            xcb_icccm_get_wm_transient_for_unchecked(globalconf.connection,
-+                                                                                     c->window),
-                                             &trans, NULL))
-             return;
-     }
-@@ -160,15 +160,15 @@ property_update_wm_normal_hints(client_t *c, xcb_get_property_reply_t *reply)
- {
-     if(reply)
-     {
--        if(!xcb_get_wm_size_hints_from_reply(&c->size_hints, reply))
-+        if(!xcb_icccm_get_wm_size_hints_from_reply(&c->size_hints, reply))
-             return;
-     }
-     else
-     {
--        if(!xcb_get_wm_normal_hints_reply(globalconf.connection,
--                                          xcb_get_wm_normal_hints_unchecked(globalconf.connection,
--                                                                            c->window),
--                                          &c->size_hints, NULL))
-+        if(!xcb_icccm_get_wm_normal_hints_reply(globalconf.connection,
-+                                                xcb_icccm_get_wm_normal_hints_unchecked(globalconf.connection,
-+                                                                                        c->window),
-+                                                &c->size_hints, NULL))
-             return;
-     }
- }
-@@ -180,31 +180,31 @@ property_update_wm_normal_hints(client_t *c, xcb_get_property_reply_t *reply)
- void
- property_update_wm_hints(client_t *c, xcb_get_property_reply_t *reply)
- {
--    xcb_wm_hints_t wmh;
-+    xcb_icccm_wm_hints_t wmh;
- 
-     if(reply)
-     {
--        if(!xcb_get_wm_hints_from_reply(&wmh, reply))
-+        if(!xcb_icccm_get_wm_hints_from_reply(&wmh, reply))
-             return;
-     }
-     else
-     {
--        if(!xcb_get_wm_hints_reply(globalconf.connection,
--                                  xcb_get_wm_hints_unchecked(globalconf.connection, c->window),
--                                  &wmh, NULL))
-+        if(!xcb_icccm_get_wm_hints_reply(globalconf.connection,
-+                                         xcb_icccm_get_wm_hints_unchecked(globalconf.connection, c->window),
-+                                         &wmh, NULL))
-             return;
-     }
- 
-     luaA_object_push(globalconf.L, c);
--    client_set_urgent(globalconf.L, -1, xcb_wm_hints_get_urgency(&wmh));
--    if(wmh.flags & XCB_WM_HINT_STATE &&
--       wmh.initial_state == XCB_WM_STATE_WITHDRAWN)
-+    client_set_urgent(globalconf.L, -1, xcb_icccm_wm_hints_get_urgency(&wmh));
-+    if(wmh.flags & XCB_ICCCM_WM_HINT_STATE &&
-+       wmh.initial_state == XCB_ICCCM_WM_STATE_WITHDRAWN)
-         client_set_border_width(globalconf.L, -1, 0);
- 
--    if(wmh.flags & XCB_WM_HINT_INPUT)
-+    if(wmh.flags & XCB_ICCCM_WM_HINT_INPUT)
-         c->nofocus = !wmh.input;
- 
--    if(wmh.flags & XCB_WM_HINT_WINDOW_GROUP)
-+    if(wmh.flags & XCB_ICCCM_WM_HINT_WINDOW_GROUP)
-         client_set_group_window(globalconf.L, -1, wmh.window_group);
- 
-     lua_pop(globalconf.L, 1);
-@@ -217,18 +217,18 @@ property_update_wm_hints(client_t *c, xcb_get_property_reply_t *reply)
- void
- property_update_wm_class(client_t *c, xcb_get_property_reply_t *reply)
- {
--    xcb_get_wm_class_reply_t hint;
-+    xcb_icccm_get_wm_class_reply_t hint;
- 
-     if(reply)
-     {
--        if(!xcb_get_wm_class_from_reply(&hint, reply))
-+        if(!xcb_icccm_get_wm_class_from_reply(&hint, reply))
-             return;
-     }
-     else
-     {
--        if(!xcb_get_wm_class_reply(globalconf.connection,
--                                   xcb_get_wm_class_unchecked(globalconf.connection, c->window),
--                                   &hint, NULL))
-+        if(!xcb_icccm_get_wm_class_reply(globalconf.connection,
-+                                         xcb_icccm_get_wm_class_unchecked(globalconf.connection, c->window),
-+                                         &hint, NULL))
-             return;
-     }
- 
-@@ -238,7 +238,7 @@ property_update_wm_class(client_t *c, xcb_get_property_reply_t *reply)
- 
-     /* only delete reply if we get it ourselves */
-     if(!reply)
--        xcb_get_wm_class_reply_wipe(&hint);
-+        xcb_icccm_get_wm_class_reply_wipe(&hint);
- }
- 
- static int
-@@ -308,30 +308,30 @@ property_update_net_wm_pid(client_t *c,
- void
- property_update_wm_protocols(client_t *c, xcb_get_property_reply_t *reply)
- {
--    xcb_get_wm_protocols_reply_t protocols;
-+    xcb_icccm_get_wm_protocols_reply_t protocols;
-     xcb_get_property_reply_t *reply_copy;
- 
-     if(reply)
-     {
-         reply_copy = p_dup(reply, 1);
- 
--        if(!xcb_get_wm_protocols_from_reply(reply_copy, &protocols))
--	{
-+        if(!xcb_icccm_get_wm_protocols_from_reply(reply_copy, &protocols))
-+        {
-             p_delete(&reply_copy);
-             return;
--	}
-+        }
-     }
-     else
-     {
-         /* If this fails for any reason, we still got the old value */
--        if(!xcb_get_wm_protocols_reply(globalconf.connection,
--                                      xcb_get_wm_protocols_unchecked(globalconf.connection,
--                                                                     c->window, WM_PROTOCOLS),
--                                      &protocols, NULL))
-+        if(!xcb_icccm_get_wm_protocols_reply(globalconf.connection,
-+                                             xcb_icccm_get_wm_protocols_unchecked(globalconf.connection,
-+                                                                                  c->window, WM_PROTOCOLS),
-+                                             &protocols, NULL))
-             return;
-     }
- 
--    xcb_get_wm_protocols_reply_wipe(&c->protocols);
-+    xcb_icccm_get_wm_protocols_reply_wipe(&c->protocols);
-     memcpy(&c->protocols, &protocols, sizeof(protocols));
- }
- 
-diff --git a/selection.c b/selection.c
-index 527ec40..44b57c5 100644
---- a/selection.c
-+++ b/selection.c
-@@ -86,18 +86,18 @@ luaA_selection_get(lua_State *L)
-         if(event_notify->selection == XCB_ATOM_PRIMARY
-            && event_notify->property != XCB_NONE)
-         {
--            xcb_get_text_property_reply_t prop;
-+            xcb_icccm_get_text_property_reply_t prop;
-             xcb_get_property_cookie_t cookie =
--                xcb_get_text_property(globalconf.connection,
--                                      event_notify->requestor,
--                                      event_notify->property);
-+                xcb_icccm_get_text_property(globalconf.connection,
-+                                            event_notify->requestor,
-+                                            event_notify->property);
- 
--            if(xcb_get_text_property_reply(globalconf.connection,
--                                           cookie, &prop, NULL))
-+            if(xcb_icccm_get_text_property_reply(globalconf.connection,
-+                                                 cookie, &prop, NULL))
-             {
-                 lua_pushlstring(L, prop.name, prop.name_len);
- 
--                xcb_get_text_property_reply_wipe(&prop);
-+                xcb_icccm_get_text_property_reply_wipe(&prop);
- 
-                 xcb_delete_property(globalconf.connection,
-                                     event_notify->requestor,
-diff --git a/systray.c b/systray.c
-index 6ea3dd5..92b7d39 100644
---- a/systray.c
-+++ b/systray.c
-@@ -197,7 +197,7 @@ systray_request_handle(xcb_window_t embed_win, int phys_screen, xembed_info_t *i
- 
-     xcb_change_window_attributes(globalconf.connection, embed_win, XCB_CW_EVENT_MASK,
-                                  select_input_val);
--    window_state_set(embed_win, XCB_WM_STATE_WITHDRAWN);
-+    window_state_set(embed_win, XCB_ICCCM_WM_STATE_WITHDRAWN);
- 
-     /* we grab the window, but also make sure it's automatically reparented back
-      * to the root window if we should die.
-diff --git a/window.c b/window.c
-index b86fa38..6a1909f 100644
---- a/window.c
-+++ b/window.c
-@@ -60,7 +60,7 @@ uint32_t
- window_state_get_reply(xcb_get_property_cookie_t cookie)
- {
-     /* If no property is set, we just assume a sane default. */
--    uint32_t result = XCB_WM_STATE_NORMAL;
-+    uint32_t result = XCB_ICCCM_WM_STATE_NORMAL;
-     xcb_get_property_reply_t *prop_r;
- 
-     if((prop_r = xcb_get_property_reply(globalconf.connection, cookie, NULL)))
-@@ -187,7 +187,7 @@ window_opacity_set(xcb_window_t win, double opacity)
-     {
-         uint32_t real_opacity = opacity * 0xffffffff;
-         xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE, win,
--                            _NET_WM_WINDOW_OPACITY, CARDINAL, 32, 1L, &real_opacity);
-+                            _NET_WM_WINDOW_OPACITY, XCB_ATOM_CARDINAL, 32, 1L, &real_opacity);
-     }
-     else
-         xcb_delete_property(globalconf.connection, win, _NET_WM_WINDOW_OPACITY);
--- 
-1.7.4.4
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/awesome.git/commitdiff/95aeaada8803b834a924187df4985ce19138c8d3



More information about the pld-cvs-commit mailing list