### marco 1.26.1 * update translations * replace _NET_WM_PID with XResGetClientPid * Always bring into foreground the previous window after closing one * window: do not disable fullscreen for dialogs * theme: fix memory leak * compositor-xrender: fix memory leak * build: fix meson build * prefs: fix memory leak * fix code-formatting issue of previous commit * Safeguard against calling gdk_x11_window_get_xid with a NULL GdkWindow ### marco 1.26.0 * update translations * tabpopup: fix cairo surface leak * window: add support for _GNOME_WM_STRUT_AREA * screen: add support for _GTK_WORKAREAS_Dn ### marco 1.25.1 * update translations * window: Do not render shadows on left/right tiled windows * iconcache: Use GDesktopAppInfo to find correct application icons * window: Track window rectangle before corner tiling * window: Track window rectangle before tiling * window: Only unmaximize when the window is already maximized. * window-props: g_memdup is dreprecated from glib 2.68 * warning: declaration of a variable shadows a previous local * testasyncgetprop: Mismatching the argument type 'unsigned long' * bell: Unused static function 'bell_flash_screen' * frames: Unused static functions 'get_client_region', 'get_frame_region' * compositor-xrender.c: Make sure tooltips are visible when the source * bell: missing include guard * i18n: Use glib's gettext support macros * window: turn into a GObject * build: autoconf/meson use the same value for PACKAGE_STRING * Remove the copyright information when printing the version from the command line * build: show verbose logging and debug status in configuration summary * build: by default disable also the verbose mode for autoconf * Remove USE_MATE2_MACROS from autogen.sh (legacy) * Added VI keys (hjkl) for moving and resizing windows * window: do not unfocus on new window. * Do not call cairo paint on generate_pixmaps. * compositor-xrender: Use USHRT_MAX macro from limits.h * compositor-xrender: Remove float-conversion warning * theme: macro "ALPHA_TO_UCHAR" is not used * window: expand tile size cycling support * Remove multiple empty lines * Remove trailing spaces/tabs * common: window icon (META_DEFAULT_ICON_NAME) is no longer available ### marco 1.25.0 * update translations * Remove enum conversion warnings * workspace: Don't try to use per-workspace MRU lists as a hint for focusing * stack: make meta_window_raise() and meta_window_lower() smarter * compositor: fix possible crash closing/destroying window . Fixes to previous commit. * window: fix crash if workspace is null * In the pop-up workspace switcher, show the selected workspace * Use rounded values instead of truncate them * build: silent build warnings for distcheck * build: do not override the default value for MATE_COMPILE_WARNINGS * Remove unnecessary warnings about visible region * meson: improvements * Guard against null changes introduced by previous commit * Introduce nullpointer checks and return null if validation fails * util: meta_bug raises SIGABRT so it shouldn't return * add meson build files to EXTRA_DIST * remove warning: 'GTimeVal' is deprecated * theme: avoid deprecated g_memmove * frames: don't bother painting the background ### marco 1.24.0 * update translations * frame: remove unused variable 'status' * Xprops fix memory leak. ### marco 1.23.2 * update translations * Revert "compositor: fix possible crash closing/destroying window" * theme.c: Fix window control hidpi rendering for all themes. * tabpopup: Increase max number of columns * window: Add optional tile size cycling * DustBlue: strip image of all profiles and comments * tabpopup: Fix deprecation warnings * tabpopup: Change schema value ranges * tabpopup: Make workspaces compatible with OSD popup * tabpopup: Render window thumbnail as cairo surface * tabpopup: Draw transparent OSD-style popups * Fix MARCO_LOCALEDIR displaying the translated messages * WinMe theme: strip png images of all profiles and comments * eOS theme: Add single button backgrounds * eOS theme: strip png images of all profiles and comments * eOS theme: make transparent the button-box outer region * theme: Render window control buttons and icons as surfaces * Set compiler debug flags using MATE_DEBUG_CHECK * window decoration themes: Add Atlanta, Esco, Gorilla, Motif, Raleigh * Print CFLAGS and WARN_CFLAGS in configure summary * Set --enable-compile-warnings=yes by default * Use WARN_CFLAGS which are only set with --enable-compiler-warnings * testboxes: Fix find_closest_point_to_line() test * remove warnings: function declaration isn’t a prototype * Remove warning: format not a string literal, argument types not checked * build: add --enable-more-warnings configure flag * build: Remove rationales.txt from EXTRA_DIST target * Fix use of RBGA visual in frame.c when compositing is not in use * Use the window's visual in all cases * window.c: remove unused variable * display.c: add missing "break" * Fix build warning about xgettext * async-getprop: Fix cast from non-struct type to struct type * xprops: Fix cast from non-struct type to struct type * frames: bump priority of style providers * window: add _GTK_THEME_VARIANT to initial window properties * frames: apply modified hack from Mutter/Metacity * frames: avoid infinite loop on the variants GList * frames: use style_updated instead of style_set * Fixed moving windows to edges to work with CSD clients. * meson: use install_data to replace install_dir * switch to use meson build system * window: Update allowed action hints * remove line for debug * fix make dist to remove .gmo files * bump LT_VERSION_INFO * libmarco-private: add version information ### marco 1.23.1 * update translations * Make alt+tab max columns configurable and consider window label width * add invisible-border * theme: Fix window state when tiling from maximized * compositor: fix possible crash closing/destroying window * update window->has_resize_func at the right time when unfullscreening * frames: include invisible area in cache * frames: Rename layout to text_layout * frames: again change meta_frames_applet_shapes * Fix scaling overcorrection when caching frame borders * compositor: fix border_size * frame: make frame window transparent * frames: apply shapes in different way * frames: add dest_kind to apply_cairo_region_to_window * frames: Fall back to title bar if nothing else matched * theme-viewer: Fix invisible borders * window: Correct coordinates for the configure event * frame: Make sure to offset by invisible borders when unmanaging windows * window: Fix _NET_FRAME_EXTENTS to work properly * theme: don't add invisible borders for windows that can't be resized * window: Fix window placement to exclude invisible borders * theme: Don't add any bottom border to shaded windows * Account for invisible borders when constraining modal dialogs * compositor: fix shadow size and placement * MetaWindow: Repurpose get_outer_rect and add get_input_rect * MetaWindow: Compensate for invisible border changes * ui: Replace inline borders in MetaFrameGeometry with MetaFrameBorder * MetaFrameBorders: add invisible borders * theme: add invisible_border to metacity theme * compositor: don't draw shadow under decorations * compositor: add function to convert cairo region to xserver region * constraints: fix mem leak in meta_window_constrain() * MetaFrames: factor out MetaUIFrame accessors for borders, corner radiuses * frame: Add "get_corner_radiuses" chain * frame: destroy window->frame_bounds when destroying the frame * Only shadow ARGB windows with a frame outside the frame * Fix XShape * compositor: don't draw shadow under windows * constraints: initialize window->user_rect in initial placement * theme: Make meta_frame_draw_theme take a GtkStyleContext instead of a widget * build everything as library * Allow raise_on_click to be set independent of focus_mode * window: initialize few variables * frames: Explicitly initialize style contexts * fix a crash-on-exit * ui-frame: Add support for style variants * ui-frames: Delay attaching the style to new frames * core: Update frame style when _GTK_THEME_VARIANT changes * ui: Add meta_ui_update_frame_style() * core: Allow retrieving the theme variant via core_get() * window: Parse _GTK_THEME_VARIANT property * MetaFrameBorders: Add meta_frame_borders_clear * Replace public MetaFrameGeometry with MetaFrameBorders * alt+tab popup: bugfix mouse click handling for scale factor > 1 * alt+tab popup: follow mouse while mouse button is pressed * Handle mouse clicks in Alt+Tab Popup * Allow use of up/down arrow keys in alt+tab popup * libmetacity: use cairo to render gradient * gradient: sync code with mutter before it was removed * fix window type for splash * Fix Could not parse desktop file marco.desktop * travis: use fedora-30 and ubuntu-19.10 for building * Migrate from intltool to gettext ### marco 1.23.0 * update translations * ui: always set the frame background to None * theme-viewer: avoid deprecated gtk_widget_override_background_color * window: set atom__NET_WM_STATE_FOCUSED for meta_window_appears_focused * window: make docks and spashscreens appear focused * Limit icon size to 480 * scale icon down if icon is larger than alt+tab preview thumbnail * description for icon size preference corrected * reload icons if icon size preference changed * make icon size configurable * Remove unnecessary GClosureNotify methods * Replace meta_free_gslist_and_elements with g_slist_free_full * Replace meta_rectangle_free_list_and_elements with g_list_free_full * Remove GDestroyNotify function cast for g_object_unref * delete: remove old code * Fix -Werror=cast-function-type * Improve performance by removing unused assignments * window: avoid clang warning: garbage value * frames: avoid deprecated 'gtk_widget_set_double_buffered' * [ci] Enable Clang Static Analyzer for marco * boxes: avoid false positive warning in Clang static analyzer * Do not judge whether the window is decorated or not * screen: Fix use of memory after it is freed * boxes: Actually check for rectangle containment * [Security] Use 'g_strlcpy' instead of 'strcpy' * compositor-xrender: Fix memory leak ### marco 1.22.0 * update translations * Initialize travis support * screen: Remove get_current_monitor in favor of get_current_xinerama * Increase icon size on tab and workspace popups * screen: avoid 'NULL' in 'meta_error_trap...' functions * prefs: avoid deprecated 'g_settings_list_keys' * add git.mk to autogenerate .gitignore files * enable silent output when building * 'meta_error_trap_push' instead 'meta_error_trap_push_with_return' * errors.c: avoid deprecated 'gdk_error_trap...' functions: * frames.c: drop unused variables * compositor-xrender: avoid deprecated 'gdk_error_trap_push/pop' ### marco 1.21.1 * update translations * theme: revert theme format version 3.6 * doc: add info for 3.5 and 3.6 theme format versions * Convert frame region handling to cairo regions * theme: add invisible_border to metacity theme * add support for app-menu button in theme * remove option to attach modal dialogs * theme: replace mutter/metacity with marco * theme: Replace char array element comparisons with strncmp * tabpopup.c: always show 5px outline border * tabpopup.c: improve * Don't show the ws switcher if we only have one * theme: Allow disabling fallback colors in gtk:custom() * theme: Allow using custom colors from the GTK+ theme * theme: Add tiled_left/tiled_right frame states * theme: Add background functions for single buttons * theme-parser: Use peek_required_version() for validation * Add frame type for attached modal dialogs * Optionally attach modal dialogs * Add meta_window_get_transient_for() method * Allow a theme to specify ellipsize width for a title * Add frame_x_center/frame_y_center variables for themes * metacity-theme-3.xml: Add a flexible version mechanism * theme-parser: Remove unused define ### marco 1.21.0 * update translations * Correct resize popup position on HiDPI displays * Fix frame geometry to avoid stuck resize cursor * Scale cursor size for HiDPI * tx: update config with branch specific resoures * Use frame window to determine scale * Support HiDPI window decorations * Fix mismatched enums in keybinding detection for switch-panels and switch-panels-backward * window: add _NET_WM_STATE_FOCUSED hint to _NET_WM_STATE * avoid deprecated GtkButton:use-stock * avoid deprecated GtkStock * Fixes move_to_center moving window between monitors ### marco 1.20.0 * Translations update * require GTK+ 3.22 and GLib 2.50 * build: drop unneeded pangoxft requirement * Small bugfix for the move_to_X keybinds * Bugfix for monitors of different sizes * Restructured monitor keybinds and adjust save_rect * Implemented simple shourtcuts to move window to another monitor * schema: fix typos * compositor: don't try to paint window that is not viewable, fix #324 * Fix wrong result in meta_window_titlebar_is_onscreen() for windows without a frame * Add support for gtk3 _GTK_SHOW_WINDOW_MENU event * More elegant solution for handling new move-to-workspace keybinds * Implemented a setting to disable top tiling * Implemented tabpopup when moving window to different workspace * keybindings.c: Fix build warning: * Reset tile_resized to false when fullscreening ### marco 1.19.2 * Translations update * building: add back README * Fixes windows not going to save_rect when unmaximimizing * Allow horizontal and vertical resizing when corner tiled * Fixes window getting reset to saved_rect when untiling from corner * Added keybindings for corner tiling * Implemented simple corner tiling by mouse drag * WidthOfScreen and HeightOfScreen implementation * Use Markdown for formatting the README * XFIXES regions are leaked during paint_windows * Add stricter logic for running without XPresent support * Make XPresent optional * Remove debug output * Add in some changes from xfwm4 * Cancel present_pending flag when erroring out * XPresent extension support - first pass ### marco 1.19.1 * Translations update * Store a window flag when user resizes from tiled * Allow tiled windows to be resized horizontally * gtk 3.22: avoid deprecated gdk_screen_get_monitor... functions: * avoid deprecated gdk_screen_width/height * avoid deprecated gdk_screen_get_width * display: don't use deprecated GDK_DEVICE_MANAGER * tools: remove marco-mag and marco-grayscaletools * Fix synthetic keybinding/button-grab window * Forces a window scale of 1 for the window manager, instead of using the default or user configured scale. * avoid deprecated gdk_display_get_screen * avoid deprecated gdk_screen_get_number * Alt/tab - define arrow keycode + numpad arrows * Allow use of arrows while in alt+tab popup * ui: Fix invalid object construction in frames * README: fix names of GSettings keys * keybindings: remove uppercase from "current workspace" * Added hotkey to rename current workspace * Restore Polish translation credits from GNOME ### marco 1.19.0 * fix strange window switching foreground/background behavior * Translations update * fis come deprecations ### marco 1.18.0 * NEWS: use consistent, project wide, markdown-like formatting to make generating release announcements easier * Move to GTK+3 (require GTK+ >= 3.14), drop GTK+2 code and --with-gtk build option * Theme viewer: fix build for GTK+3 and fix some GTK+ deprecations * Add ability to disable showing preselected window border on alt-tab * Add ability to ignore applications when show-desktop is triggered * Schema: make compositing on by default * Workspaces: switch wrapping behavior for 'classic' and 'toroidal' modes (it was reversed somehow) * Translations update ### marco 1.16.0 * Translations update * Make distcheck use currently selected GTK+ version ### marco 1.14.2 * Translations update * GTK+3: fix a typo with deprecated GtkMisc * GTK+3 fixedtip: add style class tooltip ### marco 1.14.1 * Fix crash on showing alt-tab thumbnails with compositor on * Translations update ### marco 1.14.0 * Drop MateConf migration script * Fix visual glitches appearing after unmaximizing Chromium window * Correct description of compositing-fast-alt-tab GSettings key (mention that it disables thumbnails) * Bump libmarco-private's sover for GTK+3 build * GTK+3: re-add ability to show alt-tab thumbnails when compositor is on * GTK+3: fix several deprecations * Translations update * Add Changelog generation ### marco 1.12.1 * Fix animation issues that led to crashes and visual glitches * GTK+3 fixes * Translations update ### marco 1.12.0 * Add manual and by-pointer window placement * Use Alt-` for switching between windows of the same application * GTK+3 fixes * Some more fixes and cleanups ### marco 1.10.3 * Fix crash with minimize animation * Fix crash with moving a window in some distros ### marco 1.10.2 * Remove outdated assertion. * Make minimize item insensitive when window should not be minimized. * Fix crash when struts change during grab operation. * Fix switching of fullscreen Direct3D applications running in Wine. * Update translations. ### marco 1.10.1 * Assorted bugfixes ### marco 1.10.0 * Use zenity instead of mate-dialogs * Bugfixes ### marco 1.8.0 * Implement side-by-side tiling * Use yelp-tools instead of mate-doc-utils * Cut with fading the bar title when it's longer than the decoration bar ### marco 1.6.0 * Migration to GSettings and dropped MateConf * Fix key handling while drag and drop is active * Add option to open new windows on the center of the screen