Subject: bug#4523 closed by Jan Djärv <[email-masked]> (Re: bug#4523: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363))

From: [email-masked] (Emacs bug Tracking System)
Date: Sat, 14 Nov 2009 19:05:12 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4523: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)

It has been closed by Jan Djärv <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Jan Djärv <[email-masked]> by
replying to this email.

-- 
4523: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4523
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4523: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
From: Jan Djärv <[email-masked]>
To: Ulrich Neumerkel <[email-masked]>, [email-masked]
Cc: [email-masked], [email-masked]
Date: Sat, 14 Nov 2009 19:57:26 +0100

Ulrich Neumerkel skrev:
> --text follows this line--
> 
> There is no way to set Motif Hints like the nodecoration hint which is
> needed to go fullscreen with the qvwm windowmanager.  I need this for
> older IGEL-X-Terminals were qvwm is preinstalled.
> 
> Unfortunatly Emacs still needs "manual" customization going into
> C-sources and guessing where those hints should be put.  That is not
> everybody's turf.  I try to avoid that myself delaying upgrades by
> years.  Last time I upgraded was 2002/2003.  Everytime the relevant
> files change a bit so it takes time to adjust.  I wonder how other
> people do that.
> 
> At least some "better defined" way as simply patching sources manually
> would be nice.  Maybe there is no need to put Motif hints by default.
> But it would be very helpful to avoid any customization that goes
> beyond .emacs.el editing.
>

Motif wm hits is just a property with 5 values. Just use x-change-window-property.

(defun make-special-frame (data)
   (let ((ff (make-frame '((visibility . nil)))))
     (progn
       (x-change-window-property "_MOTIF_WM_HINTS" data ff
                                 "_MOTIF_WM_HINTS" 32 t)
        (make-frame-visible ff))))

To make a frame without decoration:

(make-special-frame '(2 0 0 0 0))

The first value tells what to change (from /usr/include/Xm/MwmUtils.h):
#define MWM_HINTS_FUNCTIONS     (1L << 0)
#define MWM_HINTS_DECORATIONS   (1L << 1)
#define MWM_HINTS_INPUT_MODE    (1L << 2)
#define MWM_HINTS_STATUS        (1L << 3)

The third is the decorations:
#define MWM_DECOR_ALL           (1L << 0)
#define MWM_DECOR_BORDER        (1L << 1)
#define MWM_DECOR_RESIZEH       (1L << 2)
#define MWM_DECOR_TITLE         (1L << 3)
#define MWM_DECOR_MENU          (1L << 4)
#define MWM_DECOR_MINIMIZE      (1L << 5)
#define MWM_DECOR_MAXIMIZE      (1L << 6)

Note that most wm:s just check MWM_HINTS when the window is mapped, thats why 
the function creates it invisible at first.
If a frame is visible, you must (make-frame-invisble), 
(x-change-window-properties...) (make-frame-visible).

We are not putting in code for old deprecated stuff.  There are new and better 
ways than MOTIF WM HINTS nowdays.

	Jan D.

Subject: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
From: Ulrich Neumerkel <[email-masked]>
To: [email-masked]
Date: Tue, 22 Sep 2009 20:10:30 +0200

--text follows this line--

There is no way to set Motif Hints like the nodecoration hint which is
needed to go fullscreen with the qvwm windowmanager.  I need this for
older IGEL-X-Terminals were qvwm is preinstalled.

Unfortunatly Emacs still needs "manual" customization going into
C-sources and guessing where those hints should be put.  That is not
everybody's turf.  I try to avoid that myself delaying upgrades by
years.  Last time I upgraded was 2002/2003.  Everytime the relevant
files change a bit so it takes time to adjust.  I wonder how other
people do that.

At least some "better defined" way as simply patching sources manually
would be nice.  Maybe there is no need to put Motif hints by default.
But it would be very helpful to avoid any customization that goes
beyond .emacs.el editing.