Your message dated Thu, 10 Oct 2024 07:39:50 +0000
with message-id <[email protected]>
and subject line Bug#465109: fixed in wmctrl 1.07+git20240228.1105759-1
has caused the Debian Bug report #465109,
regarding wmctrl: add ability to change application icon
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
465109: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=465109
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: wmctrl
Version: 1.07-6
Severity: wishlist
Tags: patch
I needed the ability to change the icon for applications (I use xfce,
which provides no native way of doing this), so I modified wmctrl to
include this capability. The patch is attached to this email if you are
interested.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-3-vserver-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=en_CA.iso8859-1 (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages wmctrl depends on:
ii libc6 2.7-6 GNU C Library: Shared libraries
ii libglib2.0-0 2.14.5-2 The GLib library of C routines
ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library
ii libsm6 2:1.0.3-1+b1 X11 Session Management library
ii libx11-6 2:1.0.3-7 X11 client-side library
ii libxmu6 2:1.0.4-1 X11 miscellaneous utility library
wmctrl recommends no packages.
-- no debconf information
diff -urbBw wmctrl-1.07/Makefile.am wmctrl-1.07.mine/Makefile.am
--- wmctrl-1.07/Makefile.am 2005-01-03 11:48:35.000000000 -0700
+++ wmctrl-1.07.mine/Makefile.am 2008-02-10 10:43:28.000000000 -0700
@@ -1,7 +1,7 @@
AM_CFLAGS = -Wall
AM_CPPFLAGS = @X_CFLAGS@ @GLIB_CFLAGS@
-LDADD = @X_LIBS@ @X_PRE_LIBS@ -lX11 -lXmu @X_EXTRA_LIBS@ @GLIB_LIBS@
+LDADD = @X_LIBS@ @X_PRE_LIBS@ -lX11 -lXmu -lXpm @X_EXTRA_LIBS@ @GLIB_LIBS@
bin_PROGRAMS = wmctrl
wmctrl_SOURCES = main.c
diff -urbBw wmctrl-1.07/Makefile.in wmctrl-1.07.mine/Makefile.in
--- wmctrl-1.07/Makefile.in 2005-01-28 20:33:05.000000000 -0700
+++ wmctrl-1.07.mine/Makefile.in 2008-02-10 10:43:29.000000000 -0700
@@ -115,7 +115,7 @@
AM_CFLAGS = -Wall
AM_CPPFLAGS = @X_CFLAGS@ @GLIB_CFLAGS@
-LDADD = @X_LIBS@ @X_PRE_LIBS@ -lX11 -lXmu @X_EXTRA_LIBS@ @GLIB_LIBS@
+LDADD = @X_LIBS@ @X_PRE_LIBS@ -lX11 -lXmu -lXpm @X_EXTRA_LIBS@ @GLIB_LIBS@
bin_PROGRAMS = wmctrl
wmctrl_SOURCES = main.c
diff -urbBw wmctrl-1.07/debian/control wmctrl-1.07.mine/debian/control
--- wmctrl-1.07/debian/control 2008-02-10 11:09:53.000000000 -0700
+++ wmctrl-1.07.mine/debian/control 2008-02-10 10:54:15.000000000 -0700
@@ -2,7 +2,7 @@
Section: x11
Priority: optional
Maintainer: Decklin Foster <[email protected]>
-Build-Depends: debhelper (>= 4.0.0), x11proto-core-dev, libx11-dev, libxmu-dev, libglib2.0-dev (>= 2.4.0)
+Build-Depends: debhelper (>= 4.0.0), x11proto-core-dev, libx11-dev, libxmu-dev, libxpm-dev libglib2.0-dev (>= 2.4.0)
Standards-Version: 3.6.2
Package: wmctrl
diff -urbBw wmctrl-1.07/main.c wmctrl-1.07.mine/main.c
--- wmctrl-1.07/main.c 2008-02-10 11:09:53.000000000 -0700
+++ wmctrl-1.07.mine/main.c 2008-02-10 11:08:05.000000000 -0700
@@ -34,6 +34,8 @@
#include <X11/Xatom.h>
#include <X11/cursorfont.h>
#include <X11/Xmu/WinUtil.h>
+#include <X11/xpm.h>
+#include <X11/Xmd.h>
#include <glib.h>
#define _NET_WM_STATE_REMOVE 0 /* remove/unset property */
@@ -64,6 +66,7 @@
" argument and list of possible states is given below.\n" \
" -r <WIN> -N <STR> Set the name (long title) of the window.\n" \
" -r <WIN> -I <STR> Set the icon name (short title) of the window.\n" \
+" -r <WIN> -M <PATH> Set the mini-icon of the window to the xpm bitmap in <PATH>.\n" \
" -r <WIN> -T <STR> Set both the name and the icon name of the window.\n" \
" -k (on|off) Activate or deactivate window manager's\n" \
" \"showing the desktop\" mode. Many window managers\n" \
@@ -264,7 +267,7 @@
}
}
- while ((opt = getopt(argc, argv, "FGVvhlupidmxa:r:s:c:t:w:k:o:n:g:e:b:N:I:T:R:")) != -1) {
+ while ((opt = getopt(argc, argv, "FGVvhlupidmxa:r:s:c:t:w:k:o:n:g:e:b:N:I:T:R:M:")) != -1) {
missing_option = 0;
switch (opt) {
case 'F':
@@ -296,7 +299,7 @@
case 'r':
options.param_window = optarg;
break;
- case 't': case 'e': case 'b': case 'N': case 'I': case 'T':
+ case 't': case 'e': case 'b': case 'N': case 'I': case 'T': case 'M':
options.param = optarg;
action = opt;
break;
@@ -356,7 +359,7 @@
ret = wm_info(disp);
break;
case 'a': case 'c': case 'R':
- case 't': case 'e': case 'b': case 'N': case 'I': case 'T':
+ case 't': case 'e': case 'b': case 'N': case 'I': case 'T': case 'M':
if (! options.param_window) {
fputs("No window was specified.\n", stderr);
return EXIT_FAILURE;
@@ -677,6 +680,64 @@
}/*}}}*/
+static int window_set_mini_icon (Display *disp, Window win, /* {{{ */
+ char *path, char mode) {
+ XpmImage xpmImage;
+ XpmInfo xpmInfo;
+ Colormap colormap;
+ CARD32 *xpmColors;
+ XColor xc;
+ char *c;
+ CARD32 *iconBuffer;
+ int iconBufferSize;
+ int i;
+
+ if (XpmReadFileToXpmImage(path, &xpmImage, &xpmInfo) != 0) {
+ fputs("Invalid icon path.\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ colormap = DefaultColormap(disp, DefaultScreen(disp));
+ xpmColors = (CARD32 *)g_malloc0(xpmImage.ncolors * sizeof(CARD32));
+ for( i = 0; i < xpmImage.ncolors; i++ ) {
+ c = xpmImage.colorTable[i].c_color;
+ if (c == NULL) c = xpmImage.colorTable[i].g_color;
+ // else if (c == NULL) c = xpmImage.colorTable[i].g4_color;
+ // else if (c == NULL) c = xpmImage.colorTable[i].m_color;
+ // else if (c == NULL) c = xpmImage.colorTable[i].symbolic;
+ if (c == NULL) {
+ // Unknown color
+ xpmColors[i] = 0;
+ } else if (strcmp(c, "None") == 0) {
+ // No color - see thru
+ xpmColors[i] = 0;
+ } else if (XParseColor(disp, colormap, c, &xc)) {
+ // Color parsed successfully
+ ((char *)(xpmColors + i))[0] = xc.blue >> 8;
+ ((char *)(xpmColors + i))[1] = xc.green >> 8;
+ ((char *)(xpmColors + i))[2] = xc.red >> 8;
+ ((char *)(xpmColors + i))[3] = 0xff;
+ } else {
+ // Color parsing failed
+ xpmColors[i] = 0;
+ }
+ }
+
+ iconBufferSize = 2 + xpmImage.width * xpmImage.height;
+ iconBuffer = (CARD32 *)g_malloc0( iconBufferSize * sizeof( CARD32 ) );
+
+ iconBuffer[0] = xpmImage.width;
+ iconBuffer[1] = xpmImage.height;
+ for (i = 0; i < xpmImage.width * xpmImage.height; i++) {
+ iconBuffer[i+2] = xpmColors[xpmImage.data[i]];
+ }
+
+ XChangeProperty(disp, win, XInternAtom(disp, "_NET_WM_ICON", False), XInternAtom(disp, "CARDINAL", False), 32, PropModeReplace, (const unsigned char*)iconBuffer, iconBufferSize);
+
+ g_free(xpmColors);
+ g_free(iconBuffer);
+}/*}}}*/
+
static int window_to_desktop (Display *disp, Window win, int desktop) {/*{{{*/
unsigned long *cur_desktop = NULL;
Window root = DefaultRootWindow(disp);
@@ -910,6 +971,10 @@
window_set_title(disp, win, options.param, mode);
return EXIT_SUCCESS;
+ case 'M':
+ window_set_mini_icon(disp, win, options.param, mode);
+ return EXIT_SUCCESS;
+
default:
fprintf(stderr, "Unknown action: '%c'\n", mode);
return EXIT_FAILURE;
diff -urbBw wmctrl-1.07/wmctrl.1 wmctrl-1.07.mine/wmctrl.1
--- wmctrl-1.07/wmctrl.1 2005-01-03 11:42:52.000000000 -0700
+++ wmctrl-1.07.mine/wmctrl.1 2008-02-10 10:55:42.000000000 -0700
@@ -121,6 +121,13 @@
.IR name .
.TP
+.BI \-M " path"
+Set the mini-icon of the window specified by a
+.B \-r
+action to the xpm bitmap in
+.IR path .
+
+.TP
.B \-k " (" on " | " off " )"
Turn on or off the window manager's "show the desktop" mode (if the
window manager implements this feature).
--- End Message ---
--- Begin Message ---
Source: wmctrl
Source-Version: 1.07+git20240228.1105759-1
Done: Andreas Tille <[email protected]>
We believe that the bug you reported is fixed in the latest version of
wmctrl, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Andreas Tille <[email protected]> (supplier of updated wmctrl package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Mon, 30 Sep 2024 08:31:27 +0200
Source: wmctrl
Architecture: source
Version: 1.07+git20240228.1105759-1
Distribution: unstable
Urgency: medium
Maintainer: Package Salvaging Team <[email protected]>
Changed-By: Andreas Tille <[email protected]>
Closes: 465109 516345 683968 683970 743262 764501 1011233 1079861
Changes:
wmctrl (1.07+git20240228.1105759-1) unstable; urgency=medium
.
* Team upload.
Closes: #1079861
.
[ Helmut Grohne ]
* Fix FTCBFS: (Closes: ##846827)
+ 03_cross.patch: Consider ac_tool_prefix for pkg-config
+ autoreconf
.
[ Andreas Tille ]
* New upstream commit
Closes: #764501
* Move package to Package Salvage team space
* Fix Homepage
Closes: #1011233
* Standards-Version: 4.7.0 (routine-update)
* debhelper-compat 13 (routine-update)
* Secure URI in copyright format (routine-update)
* Remove trailing whitespace in debian/changelog (routine-update)
* Remove trailing whitespace in debian/copyright (routine-update)
* Rules-Requires-Root: no (routine-update)
* Trim trailing whitespace.
* Drop unnecessary dependency on dh-autoreconf.
* Fix day-of-week for changelog entry 1.05-1.
* Avoid explicitly specifying -Wl,--as-needed linker flag.
* Remove constraints unnecessary since bullseye (oldstable):
+ Build-Depends: Replace dependency on transitional package
x11proto-core-dev with replacement x11proto-dev.
* watch file standard 4 (routine-update)
* Fix manpage
Closes: #683968, #683970, #743262
* Enable hardening options
.
[ Scott Barker ]
* Add ability to change application icons
Closes: #465109
.
[ Zach Dwiel ]
* Add ability to list information about :ACTIVE: and :SELECT: windows
Closes: #516345
Checksums-Sha1:
8620a15ac9c223bda33773f8fbdbce9f2fc730c2 2106
wmctrl_1.07+git20240228.1105759-1.dsc
632e7b43b0487553e933ce26bb4a2c99582ac6c7 70308
wmctrl_1.07+git20240228.1105759.orig.tar.xz
408e3460a01fda15eeeb79c00cde2a13a4f4960b 8524
wmctrl_1.07+git20240228.1105759-1.debian.tar.xz
c318e0d4469518a23fe4eefb95bd57a7969269b3 8640
wmctrl_1.07+git20240228.1105759-1_amd64.buildinfo
Checksums-Sha256:
f6e1444672efceebff55dd290bada5b8f922ab805a3c5f5102af6492c0ac6b7d 2106
wmctrl_1.07+git20240228.1105759-1.dsc
f92ba2547a3f1919ce441249867d8a695d859f4e104972800f974d7031a5be0a 70308
wmctrl_1.07+git20240228.1105759.orig.tar.xz
26aba6a6a5f67614d67f371276f43ae5800730ec548f98ff5dfcb4f310cf9dd1 8524
wmctrl_1.07+git20240228.1105759-1.debian.tar.xz
fed55481999e93d52184ef688f732a93785322bb497c1cb217ee0b3836294e36 8640
wmctrl_1.07+git20240228.1105759-1_amd64.buildinfo
Files:
a4893c4266d42d06c41973ff7ac4186c 2106 x11 optional
wmctrl_1.07+git20240228.1105759-1.dsc
3a5997794fa357af0a3e79c44c961bed 70308 x11 optional
wmctrl_1.07+git20240228.1105759.orig.tar.xz
883cc239be945eb9784f8599b603051c 8524 x11 optional
wmctrl_1.07+git20240228.1105759-1.debian.tar.xz
186f3014ccb3811bcbc446f8cb730dfb 8640 x11 optional
wmctrl_1.07+git20240228.1105759-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQJFBAEBCAAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmb6RsURHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtEM4g/9HWVfsTWoT2JDZHkobagSGale8nuYQBNv
fbKu5u/zgNQdrZjlTbYurXGTIDWm7ZHdtr5HPcLJkr09ikl2or4EjDD+a59w0C9o
7+wDyXQHv9vqqdiLYv85C1FXm3K05DgubMU+rl3e47w36f75hoUP+AyaBfsIDsL5
rnooPPJf9hyyglADAEAHyCwTiMFI3inPviBTxM/RBI7/7XzHZnxvZrwpxfrDuVlB
7Kd2DEwtU5y2aYsqkMt8fT/iEuRPTGr+bgVXgUW11yGhaFEW4RkmP1ORcX7rx+MO
q8N2KCGTfKK3fZ9bsRKCYN51wA6uk+blYh2Qk392lCBTJfhecMvyO7GIiyqbHNti
tZiUDy11Mwt3n1cr6nQ0KomXV2x1LYRZNd8K6rF+C1QPaDHGL+Ze/6Cwrw6fK45H
CAl/6auM7Ntue3VnN7RDEpDB7zO20aBORrMLRK8blWCkwLMWVoKBQtI1uQtDrkFH
ZrtJZl8XTPIuusg7+2T/EOkDqzSCSKLtg5aj7gNILlx/fo0oB/5SGONNnEIQOevA
J4yi85V4s29FWyC87Cvujihsq8i4kVkcbn1etsfN0wKOlZNgrD4sMSj4p3Sdn+N4
T+/M7ypFviOi6MaPPF7t36PvuutrOP5IlZylJQKLCMHI93bneBsHwfw+2I719pIX
CWgGs3cicSg=
=bJda
-----END PGP SIGNATURE-----
pgpyu2gGve2zm.pgp
Description: PGP signature
--- End Message ---