Hello community, here is the log from the commit of package compiz-emerald for openSUSE:Factory checked in at 2020-04-05 20:56:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/compiz-emerald (Old) and /work/SRC/openSUSE:Factory/.compiz-emerald.new.3248 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "compiz-emerald" Sun Apr 5 20:56:18 2020 rev:2 rq:791512 version:0.8.18 Changes: -------- --- /work/SRC/openSUSE:Factory/compiz-emerald/compiz-emerald.changes 2020-02-28 15:20:36.405803397 +0100 +++ /work/SRC/openSUSE:Factory/.compiz-emerald.new.3248/compiz-emerald.changes 2020-04-05 20:56:20.397365117 +0200 @@ -1,0 +2,7 @@ +Sat Apr 4 22:34:57 UTC 2020 - Alexei Sorokin <[email protected]> + +- Update to version 0.8.18: + * Add ability to configure window grab areas independently from + borders. + +------------------------------------------------------------------- Old: ---- emerald-0.8.16.tar.xz New: ---- emerald-0.8.18.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz-emerald.spec ++++++ --- /var/tmp/diff_new_pack.JycHAr/_old 2020-04-05 20:56:21.357366147 +0200 +++ /var/tmp/diff_new_pack.JycHAr/_new 2020-04-05 20:56:21.361366152 +0200 @@ -16,14 +16,13 @@ # -%define _rev 9d10945a7a32a110e652dba5a73cb6ad +%define _rev 64c02befbf3a2fee2e1a7ab266938f9a %define _name emerald Name: compiz-emerald -Version: 0.8.16 +Version: 0.8.18 Release: 0 Summary: Themeable window decorator for Compiz License: GPL-2.0-or-later -Group: System/GUI/Other URL: https://gitlab.com/compiz/emerald Source: https://gitlab.com/compiz/emerald/uploads/%{_rev}/%{_name}-%{version}.tar.xz BuildRequires: autoconf @@ -41,7 +40,6 @@ BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(xrender) >= 0.8.4 Requires: compiz < 0.9 -Recommends: %{name}-lang Recommends: %{name}-theme-manager >= %{version} Recommends: %{name}-themes Provides: compiz-decorator = 0.8 @@ -53,7 +51,6 @@ %package theme-manager Summary: Graphical theme manager for Emerald -Group: System/GUI/Other Requires: %{name} >= %{version} %description theme-manager @@ -63,7 +60,6 @@ %package devel Summary: Development files for compiz-emerald -Group: Development/Languages/C and C++ Requires: %{name} = %{version} Requires: gcc-c++ Requires: pkgconfig(gtk+-3.0) ++++++ emerald-0.8.16.tar.xz -> emerald-0.8.18.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/ChangeLog new/emerald-0.8.18/ChangeLog --- old/emerald-0.8.16/ChangeLog 2018-11-11 18:28:02.000000000 +0100 +++ new/emerald-0.8.18/ChangeLog 2020-04-04 21:43:12.000000000 +0200 @@ -1,3 +1,37 @@ +commit 6722c6ca062c55b8d70e0fadb2f687f2df19948e +Author: Alex ARNAUD <[email protected]> +Date: Sat Apr 4 13:36:54 2020 -0600 + + Release version 0.8.18 + + NEWS | 6 ++++++ + configure.ac | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 1dd9f9d551820889ecd2cc9c7c3f497ad832c768 +Author: alekseyt <[email protected]> +Date: Fri Jan 4 22:32:58 2019 +0200 + + Extra grabs for borderless windows (#34) + + * Added ability to configure window grab areas independently from borders. For #19. + + * Rearranged lines for better readability. More informative title for extra grabs. + + include/emerald.h | 3 ++ + src/main.c | 90 +++++++++++++++++++++++++++++++++++++++++++------------ + themer/main.c | 22 ++++++++++++++ + 3 files changed, 96 insertions(+), 19 deletions(-) + +commit d00f9d101455edf097b68b7391475bba7bcbb07d +Author: Scott Moreau <[email protected]> +Date: Sun Nov 11 10:59:39 2018 -0700 + + Post-release version increment + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit 18815485ab39a326d0715403a51bc61477a978c3 Author: Scott Moreau <[email protected]> Date: Sun Nov 11 10:27:40 2018 -0700 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/NEWS new/emerald-0.8.18/NEWS --- old/emerald-0.8.16/NEWS 2018-11-11 18:27:40.000000000 +0100 +++ new/emerald-0.8.18/NEWS 2020-04-04 21:29:17.000000000 +0200 @@ -1,3 +1,9 @@ +Release 0.8.18 (2020-04-04 The Compiz Reloaded Team) +================================================================== +COMPIZ-RELOADED + +Added ability to configure window grab areas independently from borders. For #19. + Release 0.8.16 (2018-11-11 Scott Moreau <[email protected]>) ================================================================== COMPIZ-RELOADED diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/configure new/emerald-0.8.18/configure --- old/emerald-0.8.16/configure 2018-11-11 18:27:53.000000000 +0100 +++ new/emerald-0.8.18/configure 2020-04-04 21:43:08.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for emerald 0.8.16. +# Generated by GNU Autoconf 2.69 for emerald 0.8.18. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='emerald' PACKAGE_TARNAME='emerald' -PACKAGE_VERSION='0.8.16' -PACKAGE_STRING='emerald 0.8.16' +PACKAGE_VERSION='0.8.18' +PACKAGE_STRING='emerald 0.8.18' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1396,7 +1396,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures emerald 0.8.16 to adapt to many kinds of systems. +\`configure' configures emerald 0.8.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1467,7 +1467,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of emerald 0.8.16:";; + short | recursive ) echo "Configuration of emerald 0.8.18:";; esac cat <<\_ACEOF @@ -1595,7 +1595,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -emerald configure 0.8.16 +emerald configure 0.8.18 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1964,7 +1964,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by emerald $as_me 0.8.16, which was +It was created by emerald $as_me 0.8.18, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2829,7 +2829,7 @@ # Define the identity of the package. PACKAGE='emerald' - VERSION='0.8.16' + VERSION='0.8.18' cat >>confdefs.h <<_ACEOF @@ -16887,7 +16887,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by emerald $as_me 0.8.16, which was +This file was extended by emerald $as_me 0.8.18, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16953,7 +16953,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -emerald config.status 0.8.16 +emerald config.status 0.8.18 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/configure.ac new/emerald-0.8.18/configure.ac --- old/emerald-0.8.16/configure.ac 2018-11-11 18:27:40.000000000 +0100 +++ new/emerald-0.8.18/configure.ac 2020-04-04 21:29:18.000000000 +0200 @@ -1,6 +1,6 @@ AC_PREREQ(2.57) -AC_INIT([emerald],[0.8.16], [[email protected]]) +AC_INIT([emerald],[0.8.18], [[email protected]]) AM_INIT_AUTOMAKE([1.9 foreign tar-ustar dist-xz no-dist-gzip check-news]) AC_CONFIG_HEADER([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/include/emerald.h new/emerald-0.8.18/include/emerald.h --- old/emerald-0.8.16/include/emerald.h 2018-11-11 18:27:39.000000000 +0100 +++ new/emerald-0.8.18/include/emerald.h 2020-02-11 12:26:33.000000000 +0100 @@ -199,7 +199,10 @@ gint shadow_offset_x; gint shadow_offset_y; decor_extents_t shadow_extents; /* = { 0, 0, 0, 0 }; */ + /* actually win_extents == border extents */ decor_extents_t win_extents; /* = { 6, 6, 4, 6 }; */ + /* extra extents (besides usual border) */ + decor_extents_t extra_extents; /* = { 0, 0, 0, 0 }; */ pos_t pos[3][3]; gint left_space; /* = 6; */ gint right_space; /* = 6; */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/src/main.c new/emerald-0.8.18/src/main.c --- old/emerald-0.8.16/src/main.c 2018-11-11 18:27:39.000000000 +0100 +++ new/emerald-0.8.18/src/main.c 2020-02-11 12:26:33.000000000 +0100 @@ -318,11 +318,12 @@ 0, TT_H, L_EXT+4, B_EXT+4, 0,1,0,0 L_EXT+4, TT_H+4, -8, B_EXT, 0,1,1,0 L_EXT-4, TT_H, R_EXT+4, B_EXT+4, 1,1,0,0 */ - gint l_ext = ws->win_extents.left; - gint r_ext = ws->win_extents.right; - gint t_ext = ws->win_extents.top; - gint b_ext = ws->win_extents.bottom; gint tt_h = ws->titlebar_height; + gint l_ext = ws->win_extents.left + ws->extra_extents.left; + gint r_ext = ws->win_extents.right + ws->extra_extents.right; + gint t_ext_nott = ws->win_extents.top + ws->extra_extents.top; /* used to skip resize action on actual titlebar */ + gint t_ext = t_ext_nott + tt_h; + gint b_ext = ws->win_extents.bottom + ws->extra_extents.bottom; /*pos_t newpos[3][3] = { { @@ -339,6 +340,8 @@ { 2, 17, 10, 10, 1, 1, 0, 0 } } }; */ + + /* pos_t newpos[3][3] = { { {0, 0, l_ext + 4, tt_h + 4, 0, 0, 0, 0}, {l_ext + 4, 0, -8, t_ext + 2, 0, 0, 1, 0}, @@ -355,7 +358,41 @@ {l_ext - 4, tt_h, r_ext + 4, b_ext + 4, 1, 1, 0, 0} } + };*/ + + /* + 1 2 3 RESIZE RESIZE RESIZE + 4 5 6 RESIZE MOVE RESIZE + 7 8 9 RESIZE RESIZE RESIZE + + region_x = x + xw * window_width; + region_y = y + yh * window_height; + region_w = w + ww * window_width; + region_h = h + hh * window_height; + + essentially left part is offset + right part is sort of translation of that offset normalized on window width/height + but only translation is normalized, original value is not, it's still offset + negative values in offsets are fine too + + @see update_event_windows */ + pos_t newpos[3][3] = { + { + /* x, y, w, h, xw, yh, ww, hh */ + { 0, 0, l_ext, t_ext, 0, 0, 0, 0 }, /* 1 - top left corner */ + { l_ext, 0, 0, t_ext_nott, 0, 0, 1, 0 }, /* 2 - top side */ + { l_ext, 0, r_ext, t_ext, 1, 0, 0, 0 }, /* 3 - top right corner */ + }, { + { 0, t_ext, l_ext, 0, 0, 0, 0, 1 }, /* 4 - left side */ + { l_ext, t_ext_nott, 0, tt_h, 0, 0, 1, 0 }, /* 5 - titlebar */ + { l_ext, t_ext, r_ext, 0, 1, 0, 0, 1 }, /* 6 - right side */ + }, { + { 0, t_ext, l_ext, b_ext, 0, 1, 0, 0 }, /* 7 - bottom left corner */ + { l_ext, t_ext, 0, b_ext, 0, 1, 1, 0 }, /* 8 - bottom side */ + { l_ext, t_ext, r_ext, b_ext, 1, 1, 0, 0 }, /* 9 - bottom right corner */ + } }; + memcpy(ws->pos, newpos, sizeof(pos_t) * 9); } @@ -615,6 +652,10 @@ d->state & WNCK_WINDOW_STATE_MAXIMIZED_VERTICALLY); extents.top += ws->titlebar_height; + extents.top += ws->extra_extents.top; + extents.left += ws->extra_extents.left; + extents.right += ws->extra_extents.right; + extents.bottom += ws->extra_extents.bottom; if (ws->use_decoration_cropping) { @@ -2861,7 +2902,7 @@ Display *xdisplay; gint w = ws->use_pixmap_buttons ? ws->c_icon_size[i].w : 16; gint h = ws->use_pixmap_buttons ? ws->c_icon_size[i].h : 16; - gint y = ws->button_offset; + gint y = ws->button_offset + ws->extra_extents.top; xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default()); gdk_error_trap_push(); @@ -2950,7 +2991,7 @@ d->tobj_item_width[state] = owidth; } state = 0; - d->tobj_pos[0] = ws->win_extents.left; /* always true */ + d->tobj_pos[0] = ws->win_extents.left + ws->extra_extents.left; d->tobj_pos[2] = width - d->tobj_size[2] + d->tobj_pos[0]; d->tobj_pos[1] = MAX((d->tobj_pos[2] + d->tobj_size[0] - d->tobj_size[1]) / 2, @@ -3014,21 +3055,24 @@ gdk_error_trap_push(); + static guint event_window_actions[3][3] = { + { + WNCK_WINDOW_ACTION_RESIZE, + WNCK_WINDOW_ACTION_RESIZE, + WNCK_WINDOW_ACTION_RESIZE + }, { + WNCK_WINDOW_ACTION_RESIZE, + WNCK_WINDOW_ACTION_MOVE, + WNCK_WINDOW_ACTION_RESIZE + }, { + WNCK_WINDOW_ACTION_RESIZE, + WNCK_WINDOW_ACTION_RESIZE, + WNCK_WINDOW_ACTION_RESIZE + } + }; + for (i = 0; i < 3; i++) { - static guint event_window_actions[3][3] = { - { - WNCK_WINDOW_ACTION_RESIZE, - WNCK_WINDOW_ACTION_RESIZE, - WNCK_WINDOW_ACTION_RESIZE}, { - WNCK_WINDOW_ACTION_RESIZE, - WNCK_WINDOW_ACTION_MOVE, - WNCK_WINDOW_ACTION_RESIZE}, { - WNCK_WINDOW_ACTION_RESIZE, - WNCK_WINDOW_ACTION_RESIZE, - WNCK_WINDOW_ACTION_RESIZE} - }; - for (j = 0; j < 3; j++) { w = 0; @@ -5785,6 +5829,10 @@ load_int_setting(f, &ws->win_extents.left, "left", "borders"); load_int_setting(f, &ws->win_extents.right, "right", "borders"); load_int_setting(f, &ws->win_extents.bottom, "bottom", "borders"); + load_int_setting(f, &ws->extra_extents.top, "top", "extra_grab"); + load_int_setting(f, &ws->extra_extents.left, "left", "extra_grab"); + load_int_setting(f, &ws->extra_extents.right, "right", "extra_grab"); + load_int_setting(f, &ws->extra_extents.bottom, "bottom", "extra_grab"); load_int_setting(f, &ws->min_titlebar_height, "min_titlebar_height", "titlebar"); g_key_file_free(f); @@ -5892,6 +5940,10 @@ ws->win_extents.top = 4; ws->win_extents.right = 6; ws->win_extents.bottom = 6; + ws->extra_extents.left = 0; + ws->extra_extents.top = 0; + ws->extra_extents.right = 0; + ws->extra_extents.bottom = 0; ws->shadow_radius = 15; ws->shadow_opacity = .8; ws->min_titlebar_height = 17; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/emerald-0.8.16/themer/main.c new/emerald-0.8.18/themer/main.c --- old/emerald-0.8.16/themer/main.c 2018-11-11 18:27:39.000000000 +0100 +++ new/emerald-0.8.18/themer/main.c 2020-02-11 12:26:33.000000000 +0100 @@ -864,6 +864,27 @@ add_int_range_row(vbox,_("X Offset"),"shadow_offset_x",-16,16,"shadow"); add_int_range_row(vbox,_("Y Offset"),"shadow_offset_y",-16,16,"shadow"); } +void add_extra_grab_slider(gchar * text,gchar * key,gint value) +{ + GtkWidget * w; + table_append(gtk_label_new(text),FALSE); + + w = scaler_new(0,20,1); + table_append(w,TRUE); + gtk_range_set_value(GTK_RANGE(w),value); + register_setting(w,ST_INT,"extra_grab",key); +} +void layout_extra_grab_frame(GtkWidget * vbox) +{ + table_new(2,FALSE,FALSE); + gtk_box_pack_startC(vbox,get_current_table(),FALSE,FALSE,0); + table_append(gtk_label_new(_("Grab")),FALSE); + table_append(gtk_label_new(_("Size")),FALSE); + add_extra_grab_slider(_("Top"),"top",0); + add_extra_grab_slider(_("Bottom"),"bottom",0); + add_extra_grab_slider(_("Left"),"left",0); + add_extra_grab_slider(_("Right"),"right",0); +} void layout_title_frame(GtkWidget * vbox) { GtkWidget * hbox; @@ -1067,6 +1088,7 @@ gtk_box_pack_startC(hbox,vbox,TRUE,TRUE,0); layout_shadows_frame(build_frame(vbox,_("Shadows"),FALSE)); + layout_extra_grab_frame(build_frame(vbox,_("Extra Mouse Grabs"),FALSE)); } void layout_right_frame_pane(GtkWidget * hbox) {
