1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-06-18 00:15:25 +02:00
Files
wmaker/util
Haroldo Santos 6c107e0ce5 wmsetbg: fix "X connection broken" crash when setting background
setPixmapProperty() called XKillClient(dpy, old_pixmap) to free the
previous background pixmap stored in _XROOTPMAP_ID.  The pixmap was
created by duplicatePixmap() via a short-lived second X connection
that used XSetCloseDownMode(RetainPermanent).  After that connection
closed, the X server eventually recycled its client ID for a new
connection.  If wmsetbg's own 'dpy' connection received that recycled
ID, XKillClient() would kill wmsetbg itself, causing the fatal error:

  X connection to :0 broken (explicit kill or server shutdown).

Fix by switching from RetainPermanent to RetainTemporary in
duplicatePixmap().  With RetainTemporary, background pixmaps are kept
alive for the lifetime of the X session and freed automatically at
logout — no explicit XKillClient() is needed.

Remove the now-dead XKillClient() block from setPixmapProperty():
- dummyErrorHandler() was only used to suppress its X errors; remove.
- The mode variable toggled PropModeReplace/PropModeAppend based on
  whether an old pixmap was present; since we always want to replace,
  use PropModeReplace unconditionally.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-15 17:29:07 +01:00
..
2025-10-27 20:47:25 +00:00
2001-07-23 20:31:32 +00:00
2020-04-09 14:28:09 +01:00
2020-04-09 14:28:09 +01:00
2020-04-09 14:28:09 +01:00
2019-01-22 22:25:06 +00:00
2026-02-09 09:23:07 +00:00
2014-05-17 15:59:47 +01:00

wm-oldmenu2new - converts between the plain text file menu format to the
 	 property list menu format.

bughint- gathers some information for bug reporting

geticonset- outputs the current set of icon assignments. Good for making
	themes.

setstyle- load style settings from a style file and setup WindowMaker

getstyle - gets current style settings and save into a file or create
	a theme pack.

seticons- merges icon definitions into WMWindowAttributes file


wmaker.inst- quick and dirty script to install necessary files from
	global configuration to user's directory. Look in the script to
	adapt it to your site.

wxcopy- copy input file or stdin into X cutbuffer

wxpaste- copy content of X cutbuffer into stdout

wmsetbg- set the workspace background into a image and make it persist between
	sessions.

wdwrite- write data into the defaults database (configuration files).

wdread- read Simple data from defaults database (for use in scripts for example)

wmagnify- a program to magnify the area near the mouse pointer,
	with real-time update

wkdemenu.pl- convert a KDE menu into a wmaker menu (for pipe)

wmiv- quick image viewer using wrlib