summaryrefslogtreecommitdiff
path: root/mate-panel/panel-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/panel-util.c')
-rw-r--r--mate-panel/panel-util.c92
1 files changed, 0 insertions, 92 deletions
diff --git a/mate-panel/panel-util.c b/mate-panel/panel-util.c
index 6183cca8..1106f034 100644
--- a/mate-panel/panel-util.c
+++ b/mate-panel/panel-util.c
@@ -23,15 +23,11 @@
#include <unistd.h>
#include <sys/types.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gdk/gdkx.h>
#define MATE_DESKTOP_USE_UNSTABLE_API
#include <libmate-desktop/mate-desktop-utils.h>
@@ -51,8 +47,6 @@
#include "panel-icon-names.h"
#include "panel-lockdown.h"
-static Atom _net_active_window = None;
-
char *
panel_util_make_exec_uri_for_desktop (const char *exec)
{
@@ -1247,89 +1241,3 @@ panel_util_get_file_optional_homedir (const char *location)
return file;
}
-
-static void panel_menu_bar_get_net_active_window(Display *xdisplay)
-{
- if (_net_active_window == None)
- _net_active_window = XInternAtom (xdisplay,
- "_NET_ACTIVE_WINDOW",
- False);
-}
-
-Window panel_util_get_current_active_window (GtkWidget *toplevel)
-{
- GdkScreen *screen;
- GdkDisplay *display;
- GdkWindow *root;
- Display *xdisplay;
- Window xroot;
-
- Window res = None;
-
- Atom return_type;
- int return_format;
- unsigned long n;
- unsigned long bytes;
- unsigned char *prop = NULL;
-
- screen = gtk_window_get_screen (GTK_WINDOW(toplevel));
- display = gdk_screen_get_display (screen);
- root = gdk_screen_get_root_window (screen);
-
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
- xroot = GDK_WINDOW_XID (root);
-
- panel_menu_bar_get_net_active_window (xdisplay);
- if (_net_active_window != None
- && XGetWindowProperty (xdisplay, xroot, _net_active_window, 0, 1,
- False, XA_WINDOW, &return_type, &return_format,
- &n, &bytes, &prop) == Success)
- {
- if ((return_type == XA_WINDOW) && (return_format == 32) &&
- (n == 1) && (prop)) {
- res = *(Window *)prop;
- }
-
- if (prop)
- XFree (prop);
-
- }
- return res;
-}
-
-void panel_util_set_current_active_window (GtkWidget *toplevel, Window window)
-{
- GdkScreen *screen;
- GdkDisplay *display;
- GdkWindow *root;
- Display *xdisplay;
- Window xroot;
- XEvent xev;
-
- screen = gtk_window_get_screen (GTK_WINDOW(toplevel));
- display = gdk_screen_get_display (screen);
- root = gdk_screen_get_root_window (screen);
-
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
- xroot = GDK_WINDOW_XID (root);
-
- panel_menu_bar_get_net_active_window (xdisplay);
- if (_net_active_window == None)
- return;
-
- xev.xclient.type = ClientMessage;
- xev.xclient.serial = 0;
- xev.xclient.send_event = True;
- xev.xclient.window = window;
- xev.xclient.message_type = _net_active_window;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = 2; /* requestor type; we're not an app */
- xev.xclient.data.l[1] = CurrentTime;
- xev.xclient.data.l[2] = None; /* our currently active window */
- xev.xclient.data.l[3] = 0;
- xev.xclient.data.l[4] = 0;
-
- XSendEvent (xdisplay, xroot, False,
- SubstructureRedirectMask | SubstructureNotifyMask,
- &xev);
-}