~brandontschaefer/nux/remove-gconf-ibus-1.5

« back to all changes in this revision

Viewing changes to NuxGraphics/XInputWindow.cpp

  • Committer: Tarmac
  • Author(s): Marco Trevisan (Treviño)
  • Date: 2013-06-17 18:09:48 UTC
  • mfrom: (794.1.7 nux)
  • Revision ID: tarmac-20130617180948-o42lomdmx4o3b6la
XInputWindow: define _NET_WM_PID and WM_CLIENT_MACHINE for nux windows

This makes them to be matched properly.

Approved by PS Jenkins bot, Andrea Azzarone.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    Atom WM_WINDOW_TYPE = 0;
34
34
    Atom WM_WINDOW_TYPE_DOCK = 0;
35
35
    Atom WM_STATE = 0;
 
36
    Atom WM_PID;
 
37
    Atom WM_CLIENT_MACHINE;
36
38
    Atom WM_TAKE_FOCUS = 0;
37
39
    Atom WM_STRUT_PARTIAL = 0;
38
40
    Atom X_DND_AWARE = 0;
51
53
      WM_WINDOW_TYPE = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
52
54
      WM_WINDOW_TYPE_DOCK = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False);
53
55
      WM_STATE = XInternAtom(dpy, "_NET_WM_STATE", False);
 
56
      WM_PID = XInternAtom(dpy, "_NET_WM_PID", False);
 
57
      WM_CLIENT_MACHINE = XInternAtom(dpy, "WM_CLIENT_MACHINE", False);
54
58
      WM_TAKE_FOCUS = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
55
59
      X_DND_AWARE = XInternAtom(dpy, "XdndAware", False);
56
60
 
71
75
    , mapped_(false)
72
76
  {
73
77
    XSetWindowAttributes attrib;
 
78
    char hostname[256];
74
79
 
75
80
    attrib.override_redirect = override_redirect;
76
81
    attrib.event_mask = KeyPressMask        |
101
106
    XChangeProperty(display_, window_, atom::WM_WINDOW_TYPE, XA_ATOM, 32, PropModeReplace,
102
107
                    (unsigned char *) &atom::WM_WINDOW_TYPE_DOCK, 1);
103
108
 
 
109
    if (gethostname(hostname, sizeof(hostname)) > -1)
 
110
    {
 
111
      hostname[sizeof(hostname)-1] = '\0';
 
112
      XChangeProperty(display_, window_, atom::WM_CLIENT_MACHINE, XA_STRING, 8,
 
113
                      PropModeReplace, (unsigned char *) hostname, strlen(hostname));
 
114
 
 
115
      pid_t pid = getpid();
 
116
      XChangeProperty(display_, window_, atom::WM_PID, XA_CARDINAL, 32,
 
117
                      PropModeReplace, (unsigned char *) &pid, 1);
 
118
    }
 
119
 
104
120
    XStoreName(display_, window_, title);
105
121
    EnsureInputs();
106
122