GNU bug report logs - #4523
23.1.50; Cannot set Motif Hints (Reopen of bug#4363)

Previous Next

Package: emacs;

Reported by: Ulrich Neumerkel <ulrich <at> complang.tuwien.ac.at>

Date: Tue, 22 Sep 2009 18:20:04 UTC

Severity: normal

Done: Jan Djärv <jan.h.d <at> swipnet.se>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Jan Djärv <jan.h.d <at> swipnet.se>
Subject: bug#4523: marked as done (23.1.50; Cannot set Motif Hints (Reopen
 of bug#4363))
Date: Sat, 14 Nov 2009 19:05:12 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 14 Nov 2009 19:57:26 +0100
with message-id <4AFEFD96.4010207 <at> swipnet.se>
and subject line Re: bug#4523: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
has caused the Emacs bug report #4523,
regarding 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
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 help-debbugs <at> gnu.org
immediately.)


-- 
4523: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4523
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ulrich Neumerkel <ulrich <at> complang.tuwien.ac.at>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
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.

[Message part 3 (message/rfc822, inline)]
From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Ulrich Neumerkel <ulrich <at> complang.tuwien.ac.at>,
        4523 <at> debbugs.gnu.org
Cc: emacs-pretest-bug <at> gnu.org, 4523-done <at> debbugs.gnu.org
Subject: Re: bug#4523: 23.1.50; Cannot set Motif Hints (Reopen of bug#4363)
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.






This bug report was last modified 15 years and 195 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.