forked from pool/libwnck
This commit is contained in:
parent
4ab5f6760f
commit
5887327565
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dd7dbecb452b174585aa04527fb561368974b74523c47437af20d7a2c2ed852a
|
||||
size 538685
|
3
libwnck-2.19.6.tar.bz2
Normal file
3
libwnck-2.19.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2b0ff3510196522babd8be00702ce17d88673e18f0a17060257aab8543e829b1
|
||||
size 571502
|
@ -1,6 +1,8 @@
|
||||
--- libwnck/window.c 28 Mar 2006 21:49:20 -0000 1.64
|
||||
+++ libwnck/window.c 11 May 2006 00:01:07 -0000
|
||||
@@ -1761,8 +1806,10 @@
|
||||
Index: libwnck/window.c
|
||||
===================================================================
|
||||
--- libwnck/window.c.orig
|
||||
+++ libwnck/window.c
|
||||
@@ -2629,8 +2629,10 @@ _wnck_window_process_configure_notify (W
|
||||
&window->priv->y);
|
||||
}
|
||||
|
||||
@ -13,9 +15,11 @@
|
||||
|
||||
emit_geometry_changed (window);
|
||||
}
|
||||
--- libwnck/xutils.c 25 Mar 2006 08:59:28 -0000 1.55
|
||||
+++ libwnck/xutils.c 11 May 2006 00:01:08 -0000
|
||||
@@ -2227,9 +2267,9 @@
|
||||
Index: libwnck/xutils.c
|
||||
===================================================================
|
||||
--- libwnck/xutils.c.orig
|
||||
+++ libwnck/xutils.c
|
||||
@@ -2384,9 +2384,9 @@ _wnck_get_window_geometry (Screen *scree
|
||||
_wnck_get_window_position (screen, xwindow, xp, yp);
|
||||
|
||||
if (widthp)
|
||||
@ -26,4 +30,4 @@
|
||||
+ *heightp = height + bw * 2;
|
||||
}
|
||||
|
||||
void
|
||||
void _wnck_set_window_geometry (Screen *screen,
|
||||
|
@ -2,7 +2,7 @@ Index: libwnck/window-action-menu.c
|
||||
===================================================================
|
||||
--- libwnck/window-action-menu.c.orig
|
||||
+++ libwnck/window-action-menu.c
|
||||
@@ -48,6 +48,7 @@ typedef enum
|
||||
@@ -49,6 +49,7 @@ typedef enum
|
||||
ABOVE,
|
||||
MOVE,
|
||||
RESIZE,
|
||||
@ -10,7 +10,7 @@ Index: libwnck/window-action-menu.c
|
||||
PIN,
|
||||
UNPIN,
|
||||
LEFT,
|
||||
@@ -68,6 +69,7 @@ struct _ActionMenuData
|
||||
@@ -69,6 +70,7 @@ struct _ActionMenuData
|
||||
GtkWidget *above_item;
|
||||
GtkWidget *move_item;
|
||||
GtkWidget *resize_item;
|
||||
@ -18,16 +18,7 @@ Index: libwnck/window-action-menu.c
|
||||
GtkWidget *close_item;
|
||||
GtkWidget *workspace_separator;
|
||||
GtkWidget *pin_item;
|
||||
@@ -134,7 +136,7 @@ item_activated_callback (GtkWidget *menu
|
||||
{
|
||||
ActionMenuData *amd = get_data (menu_item);
|
||||
WindowAction action = GPOINTER_TO_INT (data);
|
||||
-
|
||||
+
|
||||
if (amd == NULL)
|
||||
return;
|
||||
|
||||
@@ -170,6 +172,15 @@ item_activated_callback (GtkWidget *menu
|
||||
@@ -181,6 +183,15 @@ item_activated_callback (GtkWidget *menu
|
||||
case RESIZE:
|
||||
wnck_window_keyboard_size (amd->window);
|
||||
break;
|
||||
@ -41,11 +32,11 @@ Index: libwnck/window-action-menu.c
|
||||
+ wnck_window_set_opacity (amd->window, opacity_value);
|
||||
+ } break;
|
||||
case PIN:
|
||||
wnck_window_unpin (amd->window);
|
||||
break;
|
||||
@@ -741,6 +752,47 @@ wnck_create_window_action_menu (WnckWind
|
||||
g_free (label);
|
||||
}
|
||||
if (!viewport_mode)
|
||||
wnck_window_pin (amd->window);
|
||||
@@ -1059,6 +1070,47 @@ wnck_create_window_action_menu (WnckWind
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu),
|
||||
amd->workspace_item);
|
||||
|
||||
+ if (wnck_screen_net_wm_supports (wnck_window_get_screen (amd->window),
|
||||
+ "_NET_WM_WINDOW_OPACITY"))
|
||||
@ -95,7 +86,7 @@ Index: libwnck/window.c
|
||||
===================================================================
|
||||
--- libwnck/window.c.orig
|
||||
+++ libwnck/window.c
|
||||
@@ -106,6 +106,8 @@ struct _WnckWindowPrivate
|
||||
@@ -110,6 +110,8 @@ struct _WnckWindowPrivate
|
||||
|
||||
char *res_class;
|
||||
char *res_name;
|
||||
@ -104,7 +95,7 @@ Index: libwnck/window.c
|
||||
|
||||
/* true if transient_for points to root window,
|
||||
* not another app window
|
||||
@@ -150,6 +152,7 @@ struct _WnckWindowPrivate
|
||||
@@ -157,6 +159,7 @@ struct _WnckWindowPrivate
|
||||
guint need_update_startup_id : 1;
|
||||
guint need_update_wmclass : 1;
|
||||
guint need_update_wmhints : 1;
|
||||
@ -112,7 +103,7 @@ Index: libwnck/window.c
|
||||
guint need_update_frame_extents : 1;
|
||||
|
||||
guint need_emit_name_changed : 1;
|
||||
@@ -165,6 +168,7 @@ enum {
|
||||
@@ -173,6 +176,7 @@ enum {
|
||||
ICON_CHANGED,
|
||||
ACTIONS_CHANGED,
|
||||
GEOMETRY_CHANGED,
|
||||
@ -120,7 +111,7 @@ Index: libwnck/window.c
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
@@ -193,6 +197,7 @@ static void update_wintype (WnckWindow
|
||||
@@ -201,6 +205,7 @@ static void update_wintype (WnckWindow
|
||||
static void update_transient_for (WnckWindow *window);
|
||||
static void update_startup_id (WnckWindow *window);
|
||||
static void update_wmclass (WnckWindow *window);
|
||||
@ -128,7 +119,7 @@ Index: libwnck/window.c
|
||||
static void update_frame_extents (WnckWindow *window);
|
||||
static void unqueue_update (WnckWindow *window);
|
||||
static void queue_update (WnckWindow *window);
|
||||
@@ -325,6 +330,15 @@ wnck_window_class_init (WnckWindowClass
|
||||
@@ -407,6 +412,15 @@ wnck_window_class_init (WnckWindowClass
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
@ -144,7 +135,7 @@ Index: libwnck/window.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -459,6 +473,7 @@ _wnck_window_create (Window xwindow
|
||||
@@ -556,6 +570,7 @@ _wnck_window_create (Window xwindow
|
||||
window->priv->need_update_startup_id = TRUE;
|
||||
window->priv->need_update_wmclass = TRUE;
|
||||
window->priv->need_update_wmhints = TRUE;
|
||||
@ -152,7 +143,7 @@ Index: libwnck/window.c
|
||||
window->priv->need_update_frame_extents = TRUE;
|
||||
window->priv->need_emit_name_changed = FALSE;
|
||||
window->priv->need_emit_icon_changed = FALSE;
|
||||
@@ -2097,6 +2112,29 @@ wnck_window_set_geometry (WnckWindow
|
||||
@@ -2320,6 +2335,29 @@ wnck_window_set_geometry (WnckWindow
|
||||
gravity_and_flags, x, y, width, height);
|
||||
}
|
||||
|
||||
@ -182,7 +173,7 @@ Index: libwnck/window.c
|
||||
/**
|
||||
* wnck_window_is_visible_on_workspace:
|
||||
* @window: a #WnckWindow.
|
||||
@@ -2342,6 +2380,13 @@ _wnck_window_process_property_notify (Wn
|
||||
@@ -2565,6 +2603,13 @@ _wnck_window_process_property_notify (Wn
|
||||
window->priv->need_update_frame_extents = TRUE;
|
||||
queue_update (window);
|
||||
}
|
||||
@ -196,7 +187,7 @@ Index: libwnck/window.c
|
||||
}
|
||||
|
||||
void
|
||||
@@ -2893,6 +2938,17 @@ update_frame_extents (WnckWindow *window
|
||||
@@ -3138,6 +3183,17 @@ update_frame_extents (WnckWindow *window
|
||||
}
|
||||
|
||||
static void
|
||||
@ -214,7 +205,7 @@ Index: libwnck/window.c
|
||||
force_update_now (WnckWindow *window)
|
||||
{
|
||||
WnckWindowState old_state;
|
||||
@@ -2927,6 +2983,7 @@ force_update_now (WnckWindow *window)
|
||||
@@ -3172,6 +3228,7 @@ force_update_now (WnckWindow *window)
|
||||
*/
|
||||
update_workspace (window); /* emits signals */
|
||||
update_actions (window);
|
||||
@ -226,7 +217,7 @@ Index: libwnck/window.h
|
||||
===================================================================
|
||||
--- libwnck/window.h.orig
|
||||
+++ libwnck/window.h
|
||||
@@ -268,6 +268,9 @@ struct _WnckWindowClass
|
||||
@@ -272,6 +272,9 @@ struct _WnckWindowClass
|
||||
/* Changed size/position */
|
||||
void (* geometry_changed) (WnckWindow *window);
|
||||
|
||||
@ -236,7 +227,7 @@ Index: libwnck/window.h
|
||||
/* Padding for future expansion */
|
||||
void (* pad1) (void);
|
||||
void (* pad2) (void);
|
||||
@@ -394,6 +397,9 @@ void wnck_window_set_geometry (WnckWindo
|
||||
@@ -401,6 +404,9 @@ void wnck_window_set_geometry (WnckWindo
|
||||
int width,
|
||||
int height);
|
||||
|
||||
@ -250,8 +241,8 @@ Index: libwnck/xutils.c
|
||||
===================================================================
|
||||
--- libwnck/xutils.c.orig
|
||||
+++ libwnck/xutils.c
|
||||
@@ -1124,6 +1124,33 @@ _wnck_toggle_showing_desktop (Screen *s
|
||||
&xev);
|
||||
@@ -1143,6 +1143,33 @@ _wnck_toggle_showing_desktop (Screen *s
|
||||
_wnck_error_trap_pop ();
|
||||
}
|
||||
|
||||
+void
|
||||
@ -284,7 +275,7 @@ Index: libwnck/xutils.c
|
||||
char*
|
||||
_wnck_get_session_id (Window xwindow)
|
||||
{
|
||||
@@ -1298,6 +1325,19 @@ _wnck_get_frame_extents (Window xwindow
|
||||
@@ -1317,6 +1344,19 @@ _wnck_get_frame_extents (Window xwindow
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -308,7 +299,7 @@ Index: libwnck/xutils.h
|
||||
===================================================================
|
||||
--- libwnck/xutils.h.orig
|
||||
+++ libwnck/xutils.h
|
||||
@@ -109,6 +109,9 @@ void _wnck_activate_workspace (Screen *s
|
||||
@@ -110,6 +110,9 @@ void _wnck_activate_workspace (Screen *s
|
||||
void _wnck_change_viewport (Screen *screen,
|
||||
int x,
|
||||
int y);
|
||||
@ -318,7 +309,7 @@ Index: libwnck/xutils.h
|
||||
|
||||
char* _wnck_get_session_id (Window xwindow);
|
||||
int _wnck_get_pid (Window xwindow);
|
||||
@@ -124,6 +127,9 @@ gboolean _wnck_get_frame_extents (Windo
|
||||
@@ -125,6 +128,9 @@ gboolean _wnck_get_frame_extents (Windo
|
||||
int *top_frame,
|
||||
int *bottom_frame);
|
||||
|
||||
|
@ -4,14 +4,11 @@ details and a screenshot.
|
||||
|
||||
Index: libwnck/tasklist.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/libwnck/libwnck/tasklist.c,v
|
||||
retrieving revision 1.87
|
||||
diff -u -p -u -r1.87 tasklist.c
|
||||
--- libwnck/tasklist.c 3 Oct 2005 19:42:46 -0000 1.87
|
||||
+++ libwnck/tasklist.c 26 Apr 2006 21:45:51 -0000
|
||||
@@ -185,6 +185,9 @@ struct _WnckTasklistPrivate
|
||||
gint minimum_width;
|
||||
gint minimum_height;
|
||||
--- libwnck/tasklist.c.orig
|
||||
+++ libwnck/tasklist.c
|
||||
@@ -216,6 +216,9 @@ struct _WnckTasklistPrivate
|
||||
int *size_hints;
|
||||
int size_hints_len;
|
||||
|
||||
+ gint last_width;
|
||||
+ gint last_height;
|
||||
@ -19,41 +16,42 @@ diff -u -p -u -r1.87 tasklist.c
|
||||
WnckLoadIconFunction icon_loader;
|
||||
void *icon_loader_data;
|
||||
GDestroyNotify free_icon_loader_data;
|
||||
@@ -694,6 +697,9 @@ wnck_tasklist_init (WnckTasklist *taskli
|
||||
tasklist->priv->minimum_width = DEFAULT_WIDTH;
|
||||
tasklist->priv->minimum_height = DEFAULT_HEIGHT;
|
||||
@@ -692,6 +695,9 @@ wnck_tasklist_init (WnckTasklist *taskli
|
||||
for (i = 0; i < N_SCREEN_CONNECTIONS; i++)
|
||||
tasklist->priv->screen_connections[i] = 0;
|
||||
|
||||
+ tasklist->priv->last_width = -1;
|
||||
+ tasklist->priv->last_height = -1;
|
||||
+
|
||||
tasklist->priv->idle_callback_tag = 0;
|
||||
|
||||
tasklist->priv->monitor_num = -1;
|
||||
@@ -1170,8 +1176,15 @@ wnck_tasklist_size_request (GtkWidget
|
||||
requisition->width = tasklist->priv->minimum_width;
|
||||
requisition->height = tasklist->priv->minimum_height;
|
||||
|
||||
- fake_allocation.width = requisition->width;
|
||||
- fake_allocation.height = requisition->height;
|
||||
tasklist->priv->size_hints = NULL;
|
||||
@@ -1324,8 +1330,16 @@ wnck_tasklist_size_request (GtkWidget
|
||||
tasklist->priv->max_button_width = wnck_tasklist_get_button_size (widget);
|
||||
tasklist->priv->max_button_height = max_height;
|
||||
|
||||
- fake_allocation.width = GTK_WIDGET (tasklist)->allocation.width;
|
||||
- fake_allocation.height = GTK_WIDGET (tasklist)->allocation.height;
|
||||
+ /* fake_allocation.width = GTK_WIDGET (tasklist)->allocation.width;
|
||||
+ fake_allocation.height = GTK_WIDGET (tasklist)->allocation.height; */
|
||||
+ if (tasklist->priv->last_width != -1)
|
||||
+ fake_allocation.width = tasklist->priv->last_width;
|
||||
+ fake_allocation.width = tasklist->priv->last_width;
|
||||
+ else
|
||||
+ fake_allocation.width = requisition->width;
|
||||
+
|
||||
+ fake_allocation.width = GTK_WIDGET (tasklist)->allocation.width;
|
||||
+ if (tasklist->priv->last_height != -1)
|
||||
+ fake_allocation.height = tasklist->priv->last_height;
|
||||
+ fake_allocation.height = tasklist->priv->last_height;
|
||||
+ else
|
||||
+ fake_allocation.height = requisition->height;
|
||||
+ fake_allocation.height = GTK_WIDGET (tasklist)->allocation.height;
|
||||
|
||||
array = g_array_new (FALSE, FALSE, sizeof (int));
|
||||
|
||||
@@ -1298,6 +1311,9 @@ wnck_tasklist_size_allocate (GtkWidget
|
||||
int grouping_limit;
|
||||
@@ -1501,6 +1515,9 @@ wnck_tasklist_size_allocate (GtkWidget
|
||||
|
||||
tasklist = WNCK_TASKLIST (widget);
|
||||
+
|
||||
|
||||
+ tasklist->priv->last_width = allocation->width;
|
||||
+ tasklist->priv->last_height = allocation->height;
|
||||
|
||||
+
|
||||
n_windows = g_list_length (tasklist->priv->windows);
|
||||
n_startup_sequences = g_list_length (tasklist->priv->startup_sequences);
|
||||
n_grouped_buttons = 0;
|
||||
|
@ -42,7 +42,7 @@ Index: libwnck/window-action-menu.c
|
||||
===================================================================
|
||||
--- libwnck/window-action-menu.c.orig
|
||||
+++ libwnck/window-action-menu.c
|
||||
@@ -55,7 +55,13 @@ typedef enum
|
||||
@@ -56,7 +56,13 @@ typedef enum
|
||||
RIGHT,
|
||||
UP,
|
||||
DOWN,
|
||||
@ -57,7 +57,7 @@ Index: libwnck/window-action-menu.c
|
||||
} WindowAction;
|
||||
|
||||
typedef struct _ActionMenuData ActionMenuData;
|
||||
@@ -79,6 +85,13 @@ struct _ActionMenuData
|
||||
@@ -80,6 +86,13 @@ struct _ActionMenuData
|
||||
GtkWidget *up_item;
|
||||
GtkWidget *down_item;
|
||||
GtkWidget *workspace_item;
|
||||
@ -71,150 +71,157 @@ Index: libwnck/window-action-menu.c
|
||||
guint idle_handler;
|
||||
};
|
||||
|
||||
@@ -234,7 +247,73 @@ item_activated_callback (GtkWidget *menu
|
||||
workspace_index));
|
||||
break;
|
||||
}
|
||||
@@ -331,8 +344,74 @@ item_activated_callback (GtkWidget *menu
|
||||
ww, hw);
|
||||
}
|
||||
break;
|
||||
+ case STICK:
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ wnck_window_unstick (amd->window);
|
||||
+ else
|
||||
+ wnck_window_stick (amd->window);
|
||||
+ break;
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ wnck_window_unstick (amd->window);
|
||||
+ else
|
||||
+ wnck_window_stick (amd->window);
|
||||
+ break;
|
||||
+ case VIEWPORT_LEFT:
|
||||
+ {
|
||||
+ int width, xw, yw;
|
||||
+
|
||||
+ width = wnck_screen_get_width (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw - width, yw);
|
||||
+ break;
|
||||
+ int width, xw, yw;
|
||||
+
|
||||
+ width = wnck_screen_get_width (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw - width, yw);
|
||||
+ break;
|
||||
+ }
|
||||
+ case VIEWPORT_RIGHT:
|
||||
+ {
|
||||
+ int width, xw, yw;
|
||||
+
|
||||
+ width = wnck_screen_get_width (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw + width, yw);
|
||||
+ break;
|
||||
+ }
|
||||
+ int width, xw, yw;
|
||||
+
|
||||
+ width = wnck_screen_get_width (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw + width, yw);
|
||||
+ break;
|
||||
+ }
|
||||
+ case VIEWPORT_UP:
|
||||
+ {
|
||||
+ int height, xw, yw;
|
||||
+
|
||||
+ height = wnck_screen_get_height (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw, yw - height);
|
||||
+ break;
|
||||
+ int height, xw, yw;
|
||||
+
|
||||
+ height = wnck_screen_get_height (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw, yw - height);
|
||||
+ break;
|
||||
+ }
|
||||
+ case VIEWPORT_DOWN:
|
||||
+ {
|
||||
+ int height, xw, yw;
|
||||
+
|
||||
+ height = wnck_screen_get_height (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw, yw + height);
|
||||
+ break;
|
||||
}
|
||||
+ int height, xw, yw;
|
||||
+
|
||||
+ height = wnck_screen_get_height (wnck_window_get_screen (amd->window));
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+ wnck_window_move (amd->window, xw, yw + height);
|
||||
+ break;
|
||||
+ }
|
||||
+ case MOVE_TO_VIEWPORT:
|
||||
+ {
|
||||
+ WnckWorkspace *workspace;
|
||||
+ int viewport_x, viewport_y, xw, yw, x, y;
|
||||
+
|
||||
+ WnckWorkspace *workspace;
|
||||
+ int viewport_x, viewport_y, xw, yw, x, y;
|
||||
+
|
||||
+ workspace = wnck_window_get_workspace (amd->window);
|
||||
+ if (!workspace)
|
||||
+ workspace = wnck_screen_get_workspace (wnck_window_get_screen (amd->window), 0);
|
||||
+ viewport_x = wnck_workspace_get_viewport_x (workspace);
|
||||
+ viewport_y = wnck_workspace_get_viewport_y (workspace);
|
||||
+
|
||||
+ x = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu_item), "x"));
|
||||
+ y = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu_item), "y"));
|
||||
+
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ wnck_window_unstick (amd->window);
|
||||
+
|
||||
+ wnck_window_move (amd->window,
|
||||
+ xw + x - viewport_x,
|
||||
+ yw + y - viewport_y);
|
||||
+ break;
|
||||
+ viewport_x = wnck_workspace_get_viewport_x (workspace);
|
||||
+ viewport_y = wnck_workspace_get_viewport_y (workspace);
|
||||
+
|
||||
+ x = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu_item), "x"));
|
||||
+ y = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu_item), "y"));
|
||||
+
|
||||
+ wnck_window_get_geometry (amd->window, &xw, &yw, NULL, NULL);
|
||||
+
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ wnck_window_unstick (amd->window);
|
||||
+
|
||||
+ wnck_window_move (amd->window,
|
||||
+ xw + x - viewport_x,
|
||||
+ yw + y - viewport_y);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
default:
|
||||
- g_assert_not_reached ();
|
||||
+ g_assert_not_reached ();
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -397,6 +476,56 @@ update_menu_state (ActionMenuData *amd)
|
||||
gtk_widget_show (amd->unpin_item);
|
||||
gtk_widget_hide (amd->workspace_item);
|
||||
@@ -601,6 +680,58 @@ update_menu_state (ActionMenuData *amd)
|
||||
gtk_menu_popdown (GTK_MENU (gtk_menu_item_get_submenu (GTK_MENU_ITEM (amd->workspace_item))));
|
||||
}
|
||||
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ {
|
||||
+ set_item_text (amd->stick_item, _("_Only in This Viewport"));
|
||||
+ set_item_stock (amd->stick_item, NULL);
|
||||
+ gtk_widget_set_sensitive (amd->stick_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_STICK) != 0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ set_item_text (amd->stick_item, _("_Always in Visible Viewport"));
|
||||
+ set_item_stock (amd->stick_item, NULL);
|
||||
+ gtk_widget_set_sensitive (amd->stick_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_STICK) != 0);
|
||||
+ }
|
||||
+
|
||||
+ if (!wnck_window_is_sticky (amd->window))
|
||||
+ {
|
||||
+ if (amd->viewport_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_left_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_left_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_right_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_right_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_up_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_up_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_down_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_down_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+ }
|
||||
+ if (wnck_workspace_is_virtual (wnck_screen_get_active_workspace (screen)))
|
||||
+ {
|
||||
+ gtk_widget_show (amd->viewport_separator);
|
||||
+ gtk_widget_show (amd->stick_item);
|
||||
+ gtk_widget_show (amd->viewport_item);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ gtk_widget_hide (amd->viewport_separator);
|
||||
+ gtk_widget_hide (amd->stick_item);
|
||||
+ gtk_widget_hide (amd->viewport_item);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ if (wnck_window_is_sticky (amd->window))
|
||||
+ {
|
||||
+ set_item_text (amd->stick_item, _("_Only in This Viewport"));
|
||||
+ set_item_stock (amd->stick_item, NULL);
|
||||
+ gtk_widget_set_sensitive (amd->stick_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_STICK) != 0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ set_item_text (amd->stick_item, _("_Always in Visible Viewport"));
|
||||
+ set_item_stock (amd->stick_item, NULL);
|
||||
+ gtk_widget_set_sensitive (amd->stick_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_STICK) != 0);
|
||||
+ }
|
||||
+
|
||||
+ if (!wnck_window_is_sticky (amd->window))
|
||||
+ {
|
||||
+ if (amd->viewport_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_left_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_left_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_right_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_right_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_up_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_up_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+
|
||||
+ if (amd->viewport_down_item)
|
||||
+ gtk_widget_set_sensitive (amd->viewport_down_item,
|
||||
+ (actions & WNCK_WINDOW_ACTION_MOVE) != 0);
|
||||
+ }
|
||||
+ if (wnck_workspace_is_virtual (wnck_screen_get_active_workspace (screen)))
|
||||
+ {
|
||||
+ gtk_widget_show (amd->viewport_separator);
|
||||
+ gtk_widget_show (amd->stick_item);
|
||||
+ gtk_widget_show (amd->viewport_item);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ gtk_widget_hide (amd->viewport_separator);
|
||||
+ gtk_widget_hide (amd->stick_item);
|
||||
+ gtk_widget_hide (amd->viewport_item);
|
||||
+ }
|
||||
|
||||
gtk_menu_reposition (GTK_MENU (amd->menu));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -590,6 +719,9 @@ wnck_create_window_action_menu (WnckWind
|
||||
int num_workspaces, window_space, i;
|
||||
WnckWorkspace *workspace;
|
||||
WnckWorkspaceLayout layout;
|
||||
@@ -970,6 +1101,12 @@ wnck_create_window_action_menu (WnckWind
|
||||
GtkWidget *separator;
|
||||
GSList *pin_group;
|
||||
WnckScreen *screen;
|
||||
+ WnckWorkspace *workspace;
|
||||
+ int i;
|
||||
+
|
||||
+ int viewport_x, viewport_y, viewport_width, viewport_height;
|
||||
+ int screen_width, screen_height;
|
||||
+ int x, y;
|
||||
GSList *pin_group;
|
||||
|
||||
g_return_val_if_fail (WNCK_IS_WINDOW (window), NULL);
|
||||
@@ -752,9 +884,113 @@ wnck_create_window_action_menu (WnckWind
|
||||
g_free (label);
|
||||
}
|
||||
|
||||
@@ -1070,9 +1207,113 @@ wnck_create_window_action_menu (WnckWind
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu),
|
||||
amd->workspace_item);
|
||||
|
||||
- if (wnck_screen_net_wm_supports (wnck_window_get_screen (amd->window),
|
||||
- "_NET_WM_WINDOW_OPACITY"))
|
||||
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 1 23:50:22 CEST 2007 - maw@suse.de
|
||||
|
||||
- Update to version 2.19.6:
|
||||
|
||||
Fixes
|
||||
|
||||
- Make the window action menu work with viewport (Vincent) [#352383]
|
||||
- Correctly draw workspaces with viewport in the pager (Vincent)
|
||||
- Fix typo in a string of wnckprop (Theppitak Karoonboonyanan)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 27 10:25:30 CEST 2007 - sbrabec@suse.cz
|
||||
|
||||
|
15
libwnck.spec
15
libwnck.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package libwnck (Version 2.19.4)
|
||||
# spec file for package libwnck (Version 2.19.6)
|
||||
#
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -14,8 +14,8 @@ Name: libwnck
|
||||
BuildRequires: gnome-common gtk-doc gtk2-devel intltool licenses perl-XML-Parser update-desktop-files
|
||||
License: LGPL v2 or later
|
||||
Group: Development/Libraries/GNOME
|
||||
Version: 2.19.4
|
||||
Release: 2
|
||||
Version: 2.19.6
|
||||
Release: 1
|
||||
# WARNING: After changing versions please call Re or rpmbuild to auto-update spec file:
|
||||
#%(sh %{_sourcedir}/%{name}_spec-update.sh %{_sourcedir} %{name} libwnck-1)
|
||||
%define libwnck-1_name 22
|
||||
@ -25,7 +25,7 @@ Source1: %{name}_spec-update.sh
|
||||
Patch4: libwnck-2.12.2-window-move-1.patch
|
||||
Patch8: libwnck-realistic-layout.patch
|
||||
Patch9: libwnck-opacity-2.patch
|
||||
# someone should re-review this patch
|
||||
# FIXME: someone should re-review this patch
|
||||
Patch10: libwnck-viewport-2.patch
|
||||
Patch11: libwnck-border_width-fix-2.patch
|
||||
Requires: libwnck-1-22 = %{version} licenses
|
||||
@ -128,6 +128,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files -f %files -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/wnckprop
|
||||
%doc AUTHORS COPYING README NEWS ChangeLog
|
||||
|
||||
%files -n libwnck-1-22
|
||||
@ -146,6 +147,12 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Wed Aug 01 2007 - maw@suse.de
|
||||
- Update to version 2.19.6:
|
||||
Fixes
|
||||
- Make the window action menu work with viewport (Vincent) [#352383]
|
||||
- Correctly draw workspaces with viewport in the pager (Vincent)
|
||||
- Fix typo in a string of wnckprop (Theppitak Karoonboonyanan)
|
||||
* Fri Jul 27 2007 - sbrabec@suse.cz
|
||||
- Fixed typo in shared library name.
|
||||
* Tue Jul 17 2007 - sbrabec@suse.cz
|
||||
|
Loading…
x
Reference in New Issue
Block a user