Advertisement
Guest User

Superswitcher 0.6 Arch linux patch

a guest
May 25th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 10.54 KB | None | 0 0
  1. diff -rupN src/superswitcher-0.6/configure.in src/superswitcher-0.6/configure.in
  2. --- src/superswitcher-0.6/configure.in  2007-09-01 02:36:04.000000000 +0200
  3. +++ src/superswitcher-0.6/configure.in  2013-05-25 15:10:45.235527947 +0200
  4. @@ -17,7 +17,6 @@ AM_MAINTAINER_MODE
  5.  
  6.  AC_ISC_POSIX
  7.  AC_PROG_CC
  8. -AM_PROG_CC_STDC
  9.  AC_HEADER_STDC
  10.  GNOME_COMPILE_WARNINGS(yes)
  11.  
  12. diff -rupN src/superswitcher-0.6/src/dbus-object.h src/superswitcher-0.6/src/dbus-object.h
  13. --- src/superswitcher-0.6/src/dbus-object.h 2007-09-01 02:36:04.000000000 +0200
  14. +++ src/superswitcher-0.6/src/dbus-object.h 2013-05-25 15:08:56.886986671 +0200
  15. @@ -4,7 +4,7 @@
  16.  #ifndef SUPERSWITCHER_DBUS_OBJECT_H
  17.  #define SUPERSWITCHER_DBUS_OBJECT_H
  18.  
  19. -#include <glib/gtypes.h>
  20. +#include <glib.h>
  21.  
  22.  #include "forward_declarations.h"
  23.  
  24. diff -rupN src/superswitcher-0.6/src/forward_declarations.h src/superswitcher-0.6/src/forward_declarations.h
  25. --- src/superswitcher-0.6/src/forward_declarations.h    2007-09-01 02:36:04.000000000 +0200
  26. +++ src/superswitcher-0.6/src/forward_declarations.h    2013-05-25 15:08:56.886986671 +0200
  27. @@ -18,8 +18,7 @@ typedef struct _SSXineramaScreen SSXiner
  28.  #define ABNORMAL_EXIT_CODE_ANOTHER_INSTANCE_IS_RUNNING  1
  29.  #define ABNORMAL_EXIT_CODE_UNKNOWN_COMMAND_LINE_OPTION  2
  30.  
  31. -#include <glib/gerror.h>
  32. -#include <glib/gtypes.h>
  33. +#include <glib.h>
  34.  gboolean   superswitcher_hide_popup     (void *, GError **);
  35.  gboolean   superswitcher_show_popup     (void *, GError **);
  36.  gboolean   superswitcher_toggle_popup   (void *, GError **);
  37. diff -rupN src/superswitcher-0.6/src/screen.c src/superswitcher-0.6/src/screen.c
  38. --- src/superswitcher-0.6/src/screen.c  2007-09-01 02:36:04.000000000 +0200
  39. +++ src/superswitcher-0.6/src/screen.c  2013-05-25 15:09:36.237667503 +0200
  40. @@ -505,6 +505,7 @@ add_workspace_to_screen (SSScreen *scree
  41.  static SSWindow *
  42.  add_window_to_screen (SSScreen *screen, WnckWindow *wnck_window)
  43.  {
  44. +  WnckWorkspace *wnck_workspace;
  45.    SSWindow *window;
  46.    SSWorkspace *workspace;
  47.    int n;
  48. @@ -513,7 +514,13 @@ add_window_to_screen (SSScreen *screen,
  49.      return NULL;
  50.    }
  51.  
  52. -  n = wnck_workspace_get_number (wnck_window_get_workspace (wnck_window));
  53. +  wnck_workspace = wnck_window_get_workspace (wnck_window);
  54. +
  55. +  if (wnck_workspace == NULL) {
  56. +    return NULL;
  57. +  }
  58. +
  59. +  n = wnck_workspace_get_number (wnck_workspace);
  60.    workspace = ss_screen_get_nth_workspace (screen, n);
  61.  
  62.    window = ss_window_new (workspace, wnck_window);
  63. diff -rupN src/superswitcher-0.6/src/superswitcher.c src/superswitcher-0.6/src/superswitcher.c
  64. --- src/superswitcher-0.6/src/superswitcher.c   2007-09-01 02:36:04.000000000 +0200
  65. +++ src/superswitcher-0.6/src/superswitcher.c   2013-05-25 15:10:01.661440710 +0200
  66. @@ -45,7 +45,7 @@ filter_func (GdkXEvent *gdk_xevent, GdkE
  67.        popup_keycode_to_free = x_event->xkey.keycode;
  68.        popup = popup_create (screen);
  69.      } else {
  70. -      popup_on_key_press (popup, gdk_display, &x_event->xkey);
  71. +      popup_on_key_press (popup, GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), &x_event->xkey);
  72.      }
  73.      break;
  74.    case KeyRelease:
  75. @@ -68,8 +68,8 @@ filter_func (GdkXEvent *gdk_xevent, GdkE
  76.  static void
  77.  grab (int keyval)
  78.  {
  79. -  XGrabKey (gdk_display,
  80. -            XKeysymToKeycode (gdk_display, keyval),
  81. +  XGrabKey (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
  82. +            XKeysymToKeycode (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), keyval),
  83.              AnyModifier,
  84.              x_root_window,
  85.              False,
  86. @@ -86,13 +86,13 @@ disable_caps_lock_default_behavior ()
  87.    XModifierKeymap *map;
  88.     char *error_msg;
  89.  
  90. -  keycode = XKeysymToKeycode (gdk_display, XK_Caps_Lock);
  91. +  keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), XK_Caps_Lock);
  92.  
  93. -  map = XGetModifierMapping (gdk_display);
  94. +  map = XGetModifierMapping (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()));
  95.    map = XDeleteModifiermapEntry (map, keycode, LockMapIndex);
  96.  
  97.    error_msg = NULL;
  98. -  switch (XSetModifierMapping (gdk_display, map)) {
  99. +  switch (XSetModifierMapping (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), map)) {
  100.      case MappingSuccess:
  101.        break;
  102.      case MappingBusy:
  103. @@ -215,7 +215,7 @@ main (int argc, char **argv)
  104.      grab (XK_Caps_Lock);
  105.    }
  106.  
  107. -  screen = ss_screen_new (wnck_screen_get_default (), gdk_display, x_root_window);
  108. +  screen = ss_screen_new (wnck_screen_get_default (), GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), x_root_window);
  109.  
  110.    gtk_main ();
  111.  
  112. diff -rupN src/superswitcher-0.6/src/thumbnailer.c src/superswitcher-0.6/src/thumbnailer.c
  113. --- src/superswitcher-0.6/src/thumbnailer.c 2007-09-01 02:36:04.000000000 +0200
  114. +++ src/superswitcher-0.6/src/thumbnailer.c 2013-05-25 15:10:01.664774101 +0200
  115. @@ -34,27 +34,27 @@ init_composite (void)
  116.    int version_major;
  117.    int version_minor;
  118.  
  119. -  if (!XCompositeQueryExtension (gdk_display, &event_base, &error_base)) {
  120. +  if (!XCompositeQueryExtension (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), &event_base, &error_base)) {
  121.      return FALSE;
  122.    }
  123.  
  124.    // We need at least version 0.2, for XCompositeNameWindowPixmap.
  125. -  XCompositeQueryVersion (gdk_display, &version_major, &version_minor);
  126. +  XCompositeQueryVersion (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), &version_major, &version_minor);
  127.    if (version_major <= 0 && version_minor < 2) {
  128.      return FALSE;
  129.    }
  130.  
  131. -  if (!XRenderQueryExtension (gdk_display, &event_base, &error_base)) {
  132. +  if (!XRenderQueryExtension (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), &event_base, &error_base)) {
  133.      return FALSE;
  134.    }
  135.  
  136.    // We need at least version 0.6, for XRenderSetPictureTransform.
  137. -  XRenderQueryVersion (gdk_display, &version_major, &version_minor);
  138. +  XRenderQueryVersion (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), &version_major, &version_minor);
  139.    if (version_major <= 0 && version_minor < 6) {
  140.      return FALSE;
  141.    }
  142.  
  143. -  XCompositeRedirectSubwindows (gdk_display,
  144. +  XCompositeRedirectSubwindows (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
  145.        GDK_WINDOW_XWINDOW (gdk_get_default_root_window ()),
  146.        CompositeRedirectAutomatic);
  147.    return TRUE;
  148. @@ -65,7 +65,7 @@ init_composite (void)
  149.  gboolean
  150.  uninit_composite (void)
  151.  {
  152. -  XCompositeUnredirectSubwindows (gdk_display,
  153. +  XCompositeUnredirectSubwindows (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
  154.        GDK_WINDOW_XWINDOW (gdk_get_default_root_window ()),
  155.        CompositeRedirectAutomatic);
  156.    return TRUE;
  157. @@ -83,20 +83,20 @@ initialize_thumbnailer_pictures (SSThumb
  158.    XRenderPictureAttributes pa;
  159.  
  160.    screen = gtk_widget_get_screen (thumbnailer->drawing_area);
  161. -  format = XRenderFindVisualFormat (gdk_display, DefaultVisual (
  162. -      gdk_display, gdk_screen_get_number (screen)));
  163. +  format = XRenderFindVisualFormat (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), DefaultVisual (
  164. +      GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), gdk_screen_get_number (screen)));
  165.  
  166.    thumbnailer->thumbnail_pixmap = gdk_pixmap_new (
  167.        thumbnailer->drawing_area->window, THUMBNAIL_SIZE, THUMBNAIL_SIZE, -1);
  168.  
  169. -  thumbnailer->thumbnail_picture = XRenderCreatePicture (gdk_display,
  170. +  thumbnailer->thumbnail_picture = XRenderCreatePicture (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
  171.        GDK_DRAWABLE_XID (thumbnailer->thumbnail_pixmap), format, 0, NULL);
  172.  
  173.    pa.subwindow_mode = IncludeInferiors;
  174. -  thumbnailer->window_picture = XRenderCreatePicture (gdk_display,
  175. +  thumbnailer->window_picture = XRenderCreatePicture (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
  176.        wnck_window_get_xid (thumbnailer->wnck_window),
  177.        format, CPSubwindowMode, &pa);
  178. -  XRenderSetPictureFilter (gdk_display, thumbnailer->window_picture,
  179. +  XRenderSetPictureFilter (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), thumbnailer->window_picture,
  180.        "good", NULL, 0);
  181.  }
  182.  
  183. @@ -146,10 +146,10 @@ on_expose_event (GtkWidget *widget, GdkE
  184.    transform.matrix[2][0] = XDoubleToFixed (0.0);
  185.    transform.matrix[2][1] = XDoubleToFixed (0.0);
  186.    transform.matrix[2][2] = XDoubleToFixed (1.0);
  187. -  XRenderSetPictureTransform (gdk_display, thumbnailer->window_picture,
  188. +  XRenderSetPictureTransform (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), thumbnailer->window_picture,
  189.        &transform);
  190.  
  191. -  XRenderComposite (gdk_display, PictOpSrc,
  192. +  XRenderComposite (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), PictOpSrc,
  193.      thumbnailer->window_picture, None, thumbnailer->thumbnail_picture,
  194.      0, 0, 0, 0, 0, 0, THUMBNAIL_SIZE, THUMBNAIL_SIZE);
  195.  
  196. @@ -206,11 +206,11 @@ ss_thumbnailer_free (SSThumbnailer *thum
  197.      thumbnailer->thumbnail_pixmap = NULL;
  198.    }
  199.    if (thumbnailer->thumbnail_picture != None) {
  200. -    XRenderFreePicture (gdk_display, thumbnailer->thumbnail_picture);
  201. +    XRenderFreePicture (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), thumbnailer->thumbnail_picture);
  202.      thumbnailer->thumbnail_picture = None;
  203.    }
  204.    if (thumbnailer->window_picture != None) {
  205. -    XRenderFreePicture (gdk_display, thumbnailer->window_picture);
  206. +    XRenderFreePicture (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), thumbnailer->window_picture);
  207.      thumbnailer->window_picture = None;
  208.    }
  209.  
  210. diff -rupN src/superswitcher-0.6/src/window.c src/superswitcher-0.6/src/window.c
  211. --- src/superswitcher-0.6/src/window.c  2007-09-01 02:36:04.000000000 +0200
  212. +++ src/superswitcher-0.6/src/window.c  2013-05-25 15:09:36.241000894 +0200
  213. @@ -254,6 +254,7 @@ on_state_changed (WnckWindow *wnck_windo
  214.  static void
  215.  on_workspace_changed (WnckWindow *wnck_window, gpointer data)
  216.  {
  217. +  WnckWorkspace *wnck_workspace;
  218.    SSWindow *window;
  219.    SSWorkspace *old_workspace;
  220.    SSWorkspace *new_workspace;
  221. @@ -261,12 +262,19 @@ on_workspace_changed (WnckWindow *wnck_w
  222.  
  223.    window = (SSWindow *) data;
  224.    old_workspace = window->workspace;
  225. -  new_workspace_id = wnck_workspace_get_number (wnck_window_get_workspace (wnck_window));
  226. -  new_workspace = ss_screen_get_nth_workspace (old_workspace->screen, new_workspace_id);
  227. -
  228.    ss_workspace_remove_window (old_workspace, window);
  229. -  window->workspace = new_workspace;
  230. -  ss_workspace_add_window (new_workspace, window);
  231. +
  232. +  wnck_workspace = wnck_window_get_workspace (wnck_window);
  233. +  if (wnck_workspace) {
  234. +    new_workspace_id = wnck_workspace_get_number (wnck_workspace);
  235. +    new_workspace = ss_screen_get_nth_workspace (old_workspace->screen, new_workspace_id);
  236. +
  237. +    ss_workspace_add_window (new_workspace, window);
  238. +    window->workspace = new_workspace;
  239. +  } else {
  240. +    window->workspace = NULL;
  241. +  }
  242. +
  243.    window->new_window_index = -1;
  244.    gtk_widget_queue_draw (gtk_widget_get_toplevel (window->widget));
  245.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement