mirror of
https://github.com/gryf/wmaker.git
synced 2026-06-18 00:15:25 +02:00
6c107e0ce5
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>
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