Commit c047688c authored by Joseph Arceneaux's avatar Joseph Arceneaux

*** empty log message ***

parent 3c254570
......@@ -171,8 +171,8 @@ extern Atom Xatom_wm_save_yourself;
extern Atom Xatom_wm_delete_window;
/* Other WM communication */
Atom Xatom_wm_configure_denied; /* When our config request is denied */
Atom Xatom_wm_window_moved; /* When the WM moves us. */
extern Atom Xatom_wm_configure_denied; /* When our config request is denied */
extern Atom Xatom_wm_window_moved; /* When the WM moves us. */
#else /* X10 */
......@@ -3922,7 +3922,8 @@ also be depressed for NEWSTRING to appear.")
register Lisp_Object newstring;
{
char *rawstring;
register KeySym keysym, modifier_list[16];
register KeySym keysym;
KeySym modifier_list[16];
CHECK_STRING (x_keysym, 1);
CHECK_STRING (newstring, 3);
......
......@@ -1691,6 +1691,18 @@ static char *events[] =
sometimes don't work. */
static Time enter_timestamp;
/* Communication with window managers. */
Atom Xatom_wm_protocols;
/* Kinds of protocol things we may receive. */
Atom Xatom_wm_take_focus;
Atom Xatom_wm_save_yourself;
Atom Xatom_wm_delete_window;
/* Other WM communication */
Atom Xatom_wm_configure_denied; /* When our config request is denied */
Atom Xatom_wm_window_moved; /* When the WM moves us. */
/* Read events coming from the X server.
This routine is called by the SIGIO handler.
We return as soon as there are no more events to be read.
......@@ -1761,6 +1773,51 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
switch (event.type)
{
#ifdef HAVE_X11
case ClientMessage:
{
if (event.xclient.message_type == Xatom_wm_protocols
&& event.xclient.format == 32)
{
if (event.xclient.data.l[0] == Xatom_wm_take_focus)
{
s = x_window_to_screen (event.xclient.window);
if (s)
x_focus_on_screen (s);
/* Not certain about handling scrollbars here */
}
else if (event.xclient.data.l[0] == Xatom_wm_save_yourself)
{
/* Save state modify the WM_COMMAND property to
something which can reinstate us. This notifies
the session manager, who's looking for such a
PropertyNotify. Can restart processing when
a keyboard or mouse event arrives. */
if (numchars > 0)
{
}
}
else if (event.xclient.data.l[0] == Xatom_wm_delete_window)
{
struct screen *s = x_window_to_screen (event.xclient.window);
if (s)
if (numchars > 0)
{
}
}
}
else if (event.xclient.message_type == Xatom_wm_configure_denied)
{
}
else if (event.xclient.message_type == Xatom_wm_window_moved)
{
int new_x, new_y;
new_x = event.xclient.data.s[0];
new_y = event.xclient.data.s[1];
}
}
break;
case SelectionClear: /* Someone has grabbed ownership. */
x_disown_selection (event.xselectionclear.window,
......
......@@ -33,8 +33,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define EVENT_BUFFER_SIZE 64
#define RES_CLASS "emacs"
/* Max and Min sizes in character columns. */
#define MINWIDTH 10
#define MINHEIGHT 10
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment