summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Bos2020-10-23 13:45:41 +0100
committerCharles Bos2020-10-23 13:45:41 +0100
commit661babaa531a2c17c659795bfb0827ffd1ba44de (patch)
tree52779835bbf1a86dde4468523ef6264d4a2c7c49
parent7d1cbfcfbb2e78376fb9a06adc51cb64b54223ae (diff)
downloadaur-661babaa531a2c17c659795bfb0827ffd1ba44de.tar.gz
Apply muktupavels' fix for building against metacity 3.38
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD11
-rw-r--r--remove-unused-or-broken-buttons.patch321
3 files changed, 333 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e30bf924ec61..3f387460da5a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = compiz
pkgdesc = Composite manager for Aiglx and Xgl, with plugins and CCSM
pkgver = 0.9.14.1
- pkgrel = 3
+ pkgrel = 4
url = https://launchpad.net/compiz
arch = i686
arch = x86_64
@@ -47,13 +47,15 @@ pkgbase = compiz
source = screenshot-launch-fix.patch
source = no-compile-gschemas.patch
source = gcc10_common_fix.patch
+ source = remove-unused-or-broken-buttons.patch
sha256sums = 2505602b6c93d6565e681473df4157634268533c6874c3cdc9493b73b301ac52
sha256sums = f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b
sha256sums = 16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9
sha256sums = 6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b
sha256sums = 89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61
sha256sums = 4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a
- sha256sums = eca2918214e81f742b7617ede20b81b8690ac723d756f690286e73ab3cbb6068
+ sha256sums = 6268dfaaf72957388b6324f8cfac1daaa32a453e8f3b377dd522a38e6bf55469
+ sha256sums = 24e0c35cccd524b9ab40162d929beb85c304fa1c6c334d464e6d7c3de31d20cf
pkgname = compiz
diff --git a/PKGBUILD b/PKGBUILD
index 00a43e7309d1..7029366270da 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=compiz
pkgver=0.9.14.1
-pkgrel=3
+pkgrel=4
pkgdesc="Composite manager for Aiglx and Xgl, with plugins and CCSM"
arch=('i686' 'x86_64')
url="https://launchpad.net/compiz"
@@ -24,14 +24,16 @@ source=("https://launchpad.net/${pkgname}/${pkgver:0:6}/${pkgver}/+download/${pk
"reverse-unity-config.patch"
"screenshot-launch-fix.patch"
"no-compile-gschemas.patch"
- "gcc10_common_fix.patch")
+ "gcc10_common_fix.patch"
+ "remove-unused-or-broken-buttons.patch")
sha256sums=('2505602b6c93d6565e681473df4157634268533c6874c3cdc9493b73b301ac52'
'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b'
'16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9'
'6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b'
'89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61'
'4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a'
- '6268dfaaf72957388b6324f8cfac1daaa32a453e8f3b377dd522a38e6bf55469')
+ '6268dfaaf72957388b6324f8cfac1daaa32a453e8f3b377dd522a38e6bf55469'
+ '24e0c35cccd524b9ab40162d929beb85c304fa1c6c334d464e6d7c3de31d20cf')
prepare() {
cd "${pkgname}-${pkgver}"
@@ -53,6 +55,9 @@ prepare() {
# Fix linker error that gets raised with gcc 10 due to multiple definitions
patch -p1 -i "${srcdir}/gcc10_common_fix.patch"
+
+ # Remove buttons no longer supported in metacity
+ patch -p1 -i "${srcdir}/remove-unused-or-broken-buttons.patch"
}
build() {
diff --git a/remove-unused-or-broken-buttons.patch b/remove-unused-or-broken-buttons.patch
new file mode 100644
index 000000000000..e6ca5e934825
--- /dev/null
+++ b/remove-unused-or-broken-buttons.patch
@@ -0,0 +1,321 @@
+diff --git a/gtk/window-decorator/decorator.c b/gtk/window-decorator/decorator.c
+index a119795..3c56880 100644
+--- a/gtk/window-decorator/decorator.c
++++ b/gtk/window-decorator/decorator.c
+@@ -216,13 +216,7 @@ update_event_windows (WnckWindow *win)
+ WNCK_WINDOW_ACTION_CLOSE,
+ WNCK_WINDOW_ACTION_MAXIMIZE,
+ WNCK_WINDOW_ACTION_MINIMIZE,
+- 0,
+- WNCK_WINDOW_ACTION_SHADE,
+- WNCK_WINDOW_ACTION_ABOVE,
+- WNCK_WINDOW_ACTION_STICK,
+- WNCK_WINDOW_ACTION_UNSHADE,
+- WNCK_WINDOW_ACTION_ABOVE,
+- WNCK_WINDOW_ACTION_UNSTICK
++ 0
+ };
+
+ /* Pixmap mode - if a box was set and we no longer need it unmap its window */
+@@ -1061,7 +1055,7 @@ populate_frame_actions (decor_t *d)
+ return frame_actions;
+
+ WnckWindowActions win_actions = wnck_window_get_actions (d->win);
+- const unsigned int n_action_bits = 16;
++ const unsigned int n_action_bits = 10;
+ unsigned int i;
+ struct typestrings {
+ unsigned int decor_flag;
+@@ -1077,13 +1071,7 @@ populate_frame_actions (decor_t *d)
+ { DECOR_WINDOW_ACTION_MAXIMIZE_VERT, WNCK_WINDOW_ACTION_MAXIMIZE_VERTICALLY },
+ { DECOR_WINDOW_ACTION_UNMAXIMIZE_HORZ, WNCK_WINDOW_ACTION_UNMAXIMIZE_HORIZONTALLY },
+ { DECOR_WINDOW_ACTION_UNMAXIMIZE_VERT, WNCK_WINDOW_ACTION_UNMAXIMIZE_VERTICALLY },
+- { DECOR_WINDOW_ACTION_SHADE, WNCK_WINDOW_ACTION_SHADE },
+- { DECOR_WINDOW_ACTION_UNSHADE, WNCK_WINDOW_ACTION_UNSHADE },
+- { DECOR_WINDOW_ACTION_STICK, WNCK_WINDOW_ACTION_STICK },
+- { DECOR_WINDOW_ACTION_UNSTICK, WNCK_WINDOW_ACTION_UNSTICK },
+- { DECOR_WINDOW_ACTION_FULLSCREEN, WNCK_WINDOW_ACTION_FULLSCREEN },
+- { DECOR_WINDOW_ACTION_ABOVE, WNCK_WINDOW_ACTION_ABOVE },
+- { DECOR_WINDOW_ACTION_BELOW, WNCK_WINDOW_ACTION_BELOW },
++ { DECOR_WINDOW_ACTION_FULLSCREEN, WNCK_WINDOW_ACTION_FULLSCREEN }
+ };
+
+ for (i = 0; i < n_action_bits; ++i)
+diff --git a/gtk/window-decorator/events.c b/gtk/window-decorator/events.c
+index 5752176..be7d545 100644
+--- a/gtk/window-decorator/events.c
++++ b/gtk/window-decorator/events.c
+@@ -276,140 +276,6 @@ menu_button_event (WnckWindow *win,
+ }
+ }
+
+-void
+-shade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_SHADE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_SHADE, 1, _("Shade"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- {
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_shade (win);
+- }
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-above_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_ABOVE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_ABOVE, 1, _("Make Above"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_make_above (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-stick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_STICK];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_STICK, 1, _("Stick"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_stick (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unshade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNSHADE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNSHADE, 1, _("Unshade"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unshade (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unabove_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNABOVE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNABOVE, 1, _("Unmake Above"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unmake_above (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unstick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNSTICK];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNSTICK, 1, _("Unstick"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unstick (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+ static void
+ handle_title_button_event (WnckWindow *win,
+ int action,
+diff --git a/gtk/window-decorator/gtk-window-decorator.h b/gtk/window-decorator/gtk-window-decorator.h
+index b7d579b..6bf5d31 100644
+--- a/gtk/window-decorator/gtk-window-decorator.h
++++ b/gtk/window-decorator/gtk-window-decorator.h
+@@ -130,13 +130,7 @@ extern struct _cursor cursor[3][3];
+ #define BUTTON_MAX 1
+ #define BUTTON_MIN 2
+ #define BUTTON_MENU 3
+-#define BUTTON_SHADE 4
+-#define BUTTON_ABOVE 5
+-#define BUTTON_STICK 6
+-#define BUTTON_UNSHADE 7
+-#define BUTTON_UNABOVE 8
+-#define BUTTON_UNSTICK 9
+-#define BUTTON_NUM 10
++#define BUTTON_NUM 4
+
+ struct _pos {
+ int x, y, w, h;
+@@ -540,35 +534,6 @@ menu_button_event (WnckWindow *win,
+ decor_event_type gtkwd_type);
+
+ void
+-shade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-above_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-stick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-void
+-unshade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-unabove_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-unstick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+ title_event (WnckWindow *win,
+ decor_event *gtkwd_event,
+ decor_event_type gtkwd_type);
+diff --git a/gtk/window-decorator/gwd-theme-cairo.c b/gtk/window-decorator/gwd-theme-cairo.c
+index e6da481..85f4202 100644
+--- a/gtk/window-decorator/gwd-theme-cairo.c
++++ b/gtk/window-decorator/gwd-theme-cairo.c
+@@ -495,12 +495,6 @@ button_present (decor_t *decor,
+ break;
+
+ case BUTTON_MENU:
+- case BUTTON_SHADE:
+- case BUTTON_ABOVE:
+- case BUTTON_STICK:
+- case BUTTON_UNSHADE:
+- case BUTTON_UNABOVE:
+- case BUTTON_UNSTICK:
+ break;
+
+ default:
+diff --git a/gtk/window-decorator/gwd-theme-metacity.c b/gtk/window-decorator/gwd-theme-metacity.c
+index 4ec5277..a0bc39c 100644
+--- a/gtk/window-decorator/gwd-theme-metacity.c
++++ b/gtk/window-decorator/gwd-theme-metacity.c
+@@ -95,18 +95,6 @@ meta_button_state_for_button_type (decor_t *decor,
+ return meta_button_state (decor->button_states[BUTTON_MIN]);
+ case META_BUTTON_TYPE_MENU:
+ return meta_button_state (decor->button_states[BUTTON_MENU]);
+- case META_BUTTON_TYPE_SHADE:
+- return meta_button_state (decor->button_states[BUTTON_SHADE]);
+- case META_BUTTON_TYPE_ABOVE:
+- return meta_button_state (decor->button_states[BUTTON_ABOVE]);
+- case META_BUTTON_TYPE_STICK:
+- return meta_button_state (decor->button_states[BUTTON_STICK]);
+- case META_BUTTON_TYPE_UNSHADE:
+- return meta_button_state (decor->button_states[BUTTON_UNSHADE]);
+- case META_BUTTON_TYPE_UNABOVE:
+- return meta_button_state (decor->button_states[BUTTON_UNABOVE]);
+- case META_BUTTON_TYPE_UNSTICK:
+- return meta_button_state (decor->button_states[BUTTON_UNSTICK]);
+ default:
+ break;
+ }
+@@ -553,18 +541,6 @@ button_type_to_meta_button_type (gint button_type)
+ return META_BUTTON_TYPE_MAXIMIZE;
+ case BUTTON_CLOSE:
+ return META_BUTTON_TYPE_CLOSE;
+- case BUTTON_SHADE:
+- return META_BUTTON_TYPE_SHADE;
+- case BUTTON_ABOVE:
+- return META_BUTTON_TYPE_ABOVE;
+- case BUTTON_STICK:
+- return META_BUTTON_TYPE_STICK;
+- case BUTTON_UNSHADE:
+- return META_BUTTON_TYPE_UNSHADE;
+- case BUTTON_UNABOVE:
+- return META_BUTTON_TYPE_UNABOVE;
+- case BUTTON_UNSTICK:
+- return META_BUTTON_TYPE_UNSTICK;
+ default:
+ break;
+ }
+diff --git a/gtk/window-decorator/wnck.c b/gtk/window-decorator/wnck.c
+index cc43f65..4ac1483 100644
+--- a/gtk/window-decorator/wnck.c
++++ b/gtk/window-decorator/wnck.c
+@@ -667,13 +667,7 @@ window_opened (WnckScreen *screen,
+ close_button_event,
+ max_button_event,
+ min_button_event,
+- menu_button_event,
+- shade_button_event,
+- above_button_event,
+- stick_button_event,
+- unshade_button_event,
+- unabove_button_event,
+- unstick_button_event
++ menu_button_event
+ };
+
+ d = calloc (1, sizeof (decor_t));