Mon May 14 12:48:14 2018 UTC ()
Update to 1.20.1:

Marco now supports DRI3 and XPresent, if available.
Frame rates in games are significantly increased when using Marco.
Marco now supports drag to quadrant window tiling, cursor keys can be used to navigate the Alt + Tab switcher and keyboard shortcuts to move windows to another monitor were added.

Full changelog:

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窶冲 try to paint window that is not viewable
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
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
XFIXES regions are leaked during paint_windows
Add stricter logic for running without XPresent support
Make XPresent optional
Add in some changes from xfwm4
Cancel present_pending flag when erroring out
XPresent extension support
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窶冲 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 窶彡urrent workspace窶�
Added hotkey to rename current workspace
fix code deprecations
Translations update


(youri)
diff -r1.9 -r1.10 pkgsrc/wm/marco/Makefile
diff -r1.3 -r1.4 pkgsrc/wm/marco/PLIST
diff -r1.5 -r1.6 pkgsrc/wm/marco/distinfo

cvs diff -r1.9 -r1.10 pkgsrc/wm/marco/Makefile (expand / switch to unified diff)

--- pkgsrc/wm/marco/Makefile 2018/04/16 14:33:57 1.9
+++ pkgsrc/wm/marco/Makefile 2018/05/14 12:48:14 1.10
@@ -1,22 +1,21 @@ @@ -1,22 +1,21 @@
1# $NetBSD: Makefile,v 1.9 2018/04/16 14:33:57 wiz Exp $ 1# $NetBSD: Makefile,v 1.10 2018/05/14 12:48:14 youri Exp $
2 2
3PKGREVISION= 3 
4.include "../../meta-pkgs/mate/Makefile.common" 3.include "../../meta-pkgs/mate/Makefile.common"
5 4
6DISTNAME= marco-${VERSION:R}.1 5DISTNAME= marco-${VERSION:R}.1
7CATEGORIES= wm 6CATEGORIES= wm
8 7
9COMMENT= MATE Marco is a fork of GNOME Metacity 8COMMENT= Fork of GNOME Metacity
10 9
11USE_LANGUAGES= c99 10USE_LANGUAGES= c99
12 11
13BUILD_DEPENDS+= gdk-pixbuf2-[0-9]*:../../graphics/gdk-pixbuf2 12BUILD_DEPENDS+= gdk-pixbuf2-[0-9]*:../../graphics/gdk-pixbuf2
14TOOL_DEPENDS+= itstool-[0-9]*:../../textproc/itstool 13TOOL_DEPENDS+= itstool-[0-9]*:../../textproc/itstool
15TOOL_DEPENDS+= libxml2-[0-9]*:../../textproc/libxml2 # for xmllint 14TOOL_DEPENDS+= libxml2-[0-9]*:../../textproc/libxml2 # for xmllint
16DEPENDS+= zenity-[0-9]*:../../x11/zenity 15DEPENDS+= zenity-[0-9]*:../../x11/zenity
17 16
18PKGCONFIG_OVERRIDE+= src/libmarco-private.pc.in 17PKGCONFIG_OVERRIDE+= src/libmarco-private.pc.in
19 18
20.include "../../sysutils/desktop-file-utils/desktopdb.mk" 19.include "../../sysutils/desktop-file-utils/desktopdb.mk"
21.include "../../audio/libcanberra/buildlink3.mk" 20.include "../../audio/libcanberra/buildlink3.mk"
22.include "../../sysutils/libgtop/buildlink3.mk" 21.include "../../sysutils/libgtop/buildlink3.mk"

cvs diff -r1.3 -r1.4 pkgsrc/wm/marco/PLIST (expand / switch to unified diff)

--- pkgsrc/wm/marco/PLIST 2017/06/23 17:13:31 1.3
+++ pkgsrc/wm/marco/PLIST 2018/05/14 12:48:14 1.4
@@ -1,34 +1,35 @@ @@ -1,34 +1,35 @@
1@comment $NetBSD: PLIST,v 1.3 2017/06/23 17:13:31 youri Exp $ 1@comment $NetBSD: PLIST,v 1.4 2018/05/14 12:48:14 youri Exp $
2bin/marco 2bin/marco
3bin/marco-message 3bin/marco-message
4bin/marco-theme-viewer 4bin/marco-theme-viewer
5bin/marco-window-demo 5bin/marco-window-demo
6include/marco-1/marco-private/boxes.h 6include/marco-1/marco-private/boxes.h
7include/marco-1/marco-private/common.h 7include/marco-1/marco-private/common.h
8include/marco-1/marco-private/gradient.h 8include/marco-1/marco-private/gradient.h
9include/marco-1/marco-private/preview-widget.h 9include/marco-1/marco-private/preview-widget.h
10include/marco-1/marco-private/theme-parser.h 10include/marco-1/marco-private/theme-parser.h
11include/marco-1/marco-private/theme.h 11include/marco-1/marco-private/theme.h
12include/marco-1/marco-private/util.h 12include/marco-1/marco-private/util.h
13lib/libmarco-private.la 13lib/libmarco-private.la
14lib/pkgconfig/libmarco-private.pc 14lib/pkgconfig/libmarco-private.pc
15man/man1/marco-message.1 15man/man1/marco-message.1
16man/man1/marco-theme-viewer.1 16man/man1/marco-theme-viewer.1
17man/man1/marco-window-demo.1 17man/man1/marco-window-demo.1
18man/man1/marco.1 18man/man1/marco.1
19share/applications/marco.desktop 19share/applications/marco.desktop
20share/glib-2.0/schemas/org.mate.marco.gschema.xml 20share/glib-2.0/schemas/org.mate.marco.gschema.xml
21share/help/C/creating-marco-themes/index.docbook 21share/help/C/creating-marco-themes/index.docbook
 22share/locale/af/LC_MESSAGES/marco.mo
22share/locale/am/LC_MESSAGES/marco.mo 23share/locale/am/LC_MESSAGES/marco.mo
23share/locale/ar/LC_MESSAGES/marco.mo 24share/locale/ar/LC_MESSAGES/marco.mo
24share/locale/as/LC_MESSAGES/marco.mo 25share/locale/as/LC_MESSAGES/marco.mo
25share/locale/ast/LC_MESSAGES/marco.mo 26share/locale/ast/LC_MESSAGES/marco.mo
26share/locale/az/LC_MESSAGES/marco.mo 27share/locale/az/LC_MESSAGES/marco.mo
27share/locale/be/LC_MESSAGES/marco.mo 28share/locale/be/LC_MESSAGES/marco.mo
28share/locale/bg/LC_MESSAGES/marco.mo 29share/locale/bg/LC_MESSAGES/marco.mo
29share/locale/bn/LC_MESSAGES/marco.mo 30share/locale/bn/LC_MESSAGES/marco.mo
30share/locale/bn_IN/LC_MESSAGES/marco.mo 31share/locale/bn_IN/LC_MESSAGES/marco.mo
31share/locale/br/LC_MESSAGES/marco.mo 32share/locale/br/LC_MESSAGES/marco.mo
32share/locale/bs/LC_MESSAGES/marco.mo 33share/locale/bs/LC_MESSAGES/marco.mo
33share/locale/ca/LC_MESSAGES/marco.mo 34share/locale/ca/LC_MESSAGES/marco.mo
34share/locale/ca@valencia/LC_MESSAGES/marco.mo 35share/locale/ca@valencia/LC_MESSAGES/marco.mo
@@ -37,98 +38,107 @@ share/locale/crh/LC_MESSAGES/marco.mo @@ -37,98 +38,107 @@ share/locale/crh/LC_MESSAGES/marco.mo
37share/locale/cs/LC_MESSAGES/marco.mo 38share/locale/cs/LC_MESSAGES/marco.mo
38share/locale/cy/LC_MESSAGES/marco.mo 39share/locale/cy/LC_MESSAGES/marco.mo
39share/locale/da/LC_MESSAGES/marco.mo 40share/locale/da/LC_MESSAGES/marco.mo
40share/locale/de/LC_MESSAGES/marco.mo 41share/locale/de/LC_MESSAGES/marco.mo
41share/locale/dz/LC_MESSAGES/marco.mo 42share/locale/dz/LC_MESSAGES/marco.mo
42share/locale/el/LC_MESSAGES/marco.mo 43share/locale/el/LC_MESSAGES/marco.mo
43share/locale/en_AU/LC_MESSAGES/marco.mo 44share/locale/en_AU/LC_MESSAGES/marco.mo
44share/locale/en_CA/LC_MESSAGES/marco.mo 45share/locale/en_CA/LC_MESSAGES/marco.mo
45share/locale/en_GB/LC_MESSAGES/marco.mo 46share/locale/en_GB/LC_MESSAGES/marco.mo
46share/locale/eo/LC_MESSAGES/marco.mo 47share/locale/eo/LC_MESSAGES/marco.mo
47share/locale/es/LC_MESSAGES/marco.mo 48share/locale/es/LC_MESSAGES/marco.mo
48share/locale/es_CO/LC_MESSAGES/marco.mo 49share/locale/es_CO/LC_MESSAGES/marco.mo
49share/locale/es_MX/LC_MESSAGES/marco.mo 50share/locale/es_MX/LC_MESSAGES/marco.mo
 51share/locale/es_PR/LC_MESSAGES/marco.mo
50share/locale/et/LC_MESSAGES/marco.mo 52share/locale/et/LC_MESSAGES/marco.mo
51share/locale/eu/LC_MESSAGES/marco.mo 53share/locale/eu/LC_MESSAGES/marco.mo
52share/locale/fa/LC_MESSAGES/marco.mo 54share/locale/fa/LC_MESSAGES/marco.mo
53share/locale/fi/LC_MESSAGES/marco.mo 55share/locale/fi/LC_MESSAGES/marco.mo
54share/locale/fr/LC_MESSAGES/marco.mo 56share/locale/fr/LC_MESSAGES/marco.mo
 57share/locale/frp/LC_MESSAGES/marco.mo
 58share/locale/fur/LC_MESSAGES/marco.mo
55share/locale/ga/LC_MESSAGES/marco.mo 59share/locale/ga/LC_MESSAGES/marco.mo
56share/locale/gl/LC_MESSAGES/marco.mo 60share/locale/gl/LC_MESSAGES/marco.mo
57share/locale/gu/LC_MESSAGES/marco.mo 61share/locale/gu/LC_MESSAGES/marco.mo
58share/locale/ha/LC_MESSAGES/marco.mo 62share/locale/ha/LC_MESSAGES/marco.mo
59share/locale/he/LC_MESSAGES/marco.mo 63share/locale/he/LC_MESSAGES/marco.mo
60share/locale/hi/LC_MESSAGES/marco.mo 64share/locale/hi/LC_MESSAGES/marco.mo
61share/locale/hr/LC_MESSAGES/marco.mo 65share/locale/hr/LC_MESSAGES/marco.mo
62share/locale/hu/LC_MESSAGES/marco.mo 66share/locale/hu/LC_MESSAGES/marco.mo
63share/locale/hy/LC_MESSAGES/marco.mo 67share/locale/hy/LC_MESSAGES/marco.mo
64share/locale/id/LC_MESSAGES/marco.mo 68share/locale/id/LC_MESSAGES/marco.mo
65share/locale/ig/LC_MESSAGES/marco.mo 69share/locale/ig/LC_MESSAGES/marco.mo
66share/locale/is/LC_MESSAGES/marco.mo 70share/locale/is/LC_MESSAGES/marco.mo
67share/locale/it/LC_MESSAGES/marco.mo 71share/locale/it/LC_MESSAGES/marco.mo
68share/locale/ja/LC_MESSAGES/marco.mo 72share/locale/ja/LC_MESSAGES/marco.mo
69share/locale/jv/LC_MESSAGES/marco.mo 73share/locale/jv/LC_MESSAGES/marco.mo
70share/locale/ka/LC_MESSAGES/marco.mo 74share/locale/ka/LC_MESSAGES/marco.mo
71share/locale/kk/LC_MESSAGES/marco.mo 75share/locale/kk/LC_MESSAGES/marco.mo
72share/locale/kn/LC_MESSAGES/marco.mo 76share/locale/kn/LC_MESSAGES/marco.mo
73share/locale/ko/LC_MESSAGES/marco.mo 77share/locale/ko/LC_MESSAGES/marco.mo
74share/locale/ku/LC_MESSAGES/marco.mo 78share/locale/ku/LC_MESSAGES/marco.mo
75share/locale/ku_IQ/LC_MESSAGES/marco.mo 79share/locale/ku_IQ/LC_MESSAGES/marco.mo
76share/locale/ky/LC_MESSAGES/marco.mo 80share/locale/ky/LC_MESSAGES/marco.mo
77share/locale/la/LC_MESSAGES/marco.mo 81share/locale/la/LC_MESSAGES/marco.mo
 82share/locale/li/LC_MESSAGES/marco.mo
78share/locale/lt/LC_MESSAGES/marco.mo 83share/locale/lt/LC_MESSAGES/marco.mo
79share/locale/lv/LC_MESSAGES/marco.mo 84share/locale/lv/LC_MESSAGES/marco.mo
80share/locale/mai/LC_MESSAGES/marco.mo 85share/locale/mai/LC_MESSAGES/marco.mo
81share/locale/mg/LC_MESSAGES/marco.mo 86share/locale/mg/LC_MESSAGES/marco.mo
82share/locale/mk/LC_MESSAGES/marco.mo 87share/locale/mk/LC_MESSAGES/marco.mo
83share/locale/ml/LC_MESSAGES/marco.mo 88share/locale/ml/LC_MESSAGES/marco.mo
84share/locale/mn/LC_MESSAGES/marco.mo 89share/locale/mn/LC_MESSAGES/marco.mo
85share/locale/mr/LC_MESSAGES/marco.mo 90share/locale/mr/LC_MESSAGES/marco.mo
86share/locale/ms/LC_MESSAGES/marco.mo 91share/locale/ms/LC_MESSAGES/marco.mo
87share/locale/nb/LC_MESSAGES/marco.mo 92share/locale/nb/LC_MESSAGES/marco.mo
88share/locale/nds/LC_MESSAGES/marco.mo 93share/locale/nds/LC_MESSAGES/marco.mo
89share/locale/ne/LC_MESSAGES/marco.mo 94share/locale/ne/LC_MESSAGES/marco.mo
90share/locale/nl/LC_MESSAGES/marco.mo 95share/locale/nl/LC_MESSAGES/marco.mo
91share/locale/nn/LC_MESSAGES/marco.mo 96share/locale/nn/LC_MESSAGES/marco.mo
 97share/locale/nso/LC_MESSAGES/marco.mo
92share/locale/oc/LC_MESSAGES/marco.mo 98share/locale/oc/LC_MESSAGES/marco.mo
93share/locale/or/LC_MESSAGES/marco.mo 99share/locale/or/LC_MESSAGES/marco.mo
94share/locale/pa/LC_MESSAGES/marco.mo 100share/locale/pa/LC_MESSAGES/marco.mo
95share/locale/pl/LC_MESSAGES/marco.mo 101share/locale/pl/LC_MESSAGES/marco.mo
 102share/locale/ps/LC_MESSAGES/marco.mo
96share/locale/pt/LC_MESSAGES/marco.mo 103share/locale/pt/LC_MESSAGES/marco.mo
97share/locale/pt_BR/LC_MESSAGES/marco.mo 104share/locale/pt_BR/LC_MESSAGES/marco.mo
98share/locale/ro/LC_MESSAGES/marco.mo 105share/locale/ro/LC_MESSAGES/marco.mo
99share/locale/ru/LC_MESSAGES/marco.mo 106share/locale/ru/LC_MESSAGES/marco.mo
100share/locale/rw/LC_MESSAGES/marco.mo 107share/locale/rw/LC_MESSAGES/marco.mo
101share/locale/si/LC_MESSAGES/marco.mo 108share/locale/si/LC_MESSAGES/marco.mo
102share/locale/sk/LC_MESSAGES/marco.mo 109share/locale/sk/LC_MESSAGES/marco.mo
103share/locale/sl/LC_MESSAGES/marco.mo 110share/locale/sl/LC_MESSAGES/marco.mo
104share/locale/sq/LC_MESSAGES/marco.mo 111share/locale/sq/LC_MESSAGES/marco.mo
105share/locale/sr/LC_MESSAGES/marco.mo 112share/locale/sr/LC_MESSAGES/marco.mo
106share/locale/sr@latin/LC_MESSAGES/marco.mo 113share/locale/sr@latin/LC_MESSAGES/marco.mo
107share/locale/sv/LC_MESSAGES/marco.mo 114share/locale/sv/LC_MESSAGES/marco.mo
108share/locale/ta/LC_MESSAGES/marco.mo 115share/locale/ta/LC_MESSAGES/marco.mo
109share/locale/te/LC_MESSAGES/marco.mo 116share/locale/te/LC_MESSAGES/marco.mo
110share/locale/th/LC_MESSAGES/marco.mo 117share/locale/th/LC_MESSAGES/marco.mo
111share/locale/tk/LC_MESSAGES/marco.mo 118share/locale/tk/LC_MESSAGES/marco.mo
112share/locale/tr/LC_MESSAGES/marco.mo 119share/locale/tr/LC_MESSAGES/marco.mo
 120share/locale/ug/LC_MESSAGES/marco.mo
113share/locale/uk/LC_MESSAGES/marco.mo 121share/locale/uk/LC_MESSAGES/marco.mo
 122share/locale/ur/LC_MESSAGES/marco.mo
114share/locale/uz/LC_MESSAGES/marco.mo 123share/locale/uz/LC_MESSAGES/marco.mo
115share/locale/vi/LC_MESSAGES/marco.mo 124share/locale/vi/LC_MESSAGES/marco.mo
116share/locale/wa/LC_MESSAGES/marco.mo 125share/locale/wa/LC_MESSAGES/marco.mo
117share/locale/xh/LC_MESSAGES/marco.mo 126share/locale/xh/LC_MESSAGES/marco.mo
118share/locale/yo/LC_MESSAGES/marco.mo 127share/locale/yo/LC_MESSAGES/marco.mo
119share/locale/zh_CN/LC_MESSAGES/marco.mo 128share/locale/zh_CN/LC_MESSAGES/marco.mo
120share/locale/zh_HK/LC_MESSAGES/marco.mo 129share/locale/zh_HK/LC_MESSAGES/marco.mo
121share/locale/zh_TW/LC_MESSAGES/marco.mo 130share/locale/zh_TW/LC_MESSAGES/marco.mo
 131share/locale/zu/LC_MESSAGES/marco.mo
122share/marco/icons/marco-window-demo.png 132share/marco/icons/marco-window-demo.png
123share/mate-control-center/keybindings/50-marco-desktop-key.xml 133share/mate-control-center/keybindings/50-marco-desktop-key.xml
124share/mate-control-center/keybindings/50-marco-global-key.xml 134share/mate-control-center/keybindings/50-marco-global-key.xml
125share/mate-control-center/keybindings/50-marco-window-key.xml 135share/mate-control-center/keybindings/50-marco-window-key.xml
126share/mate/wm-properties/marco-wm.desktop 136share/mate/wm-properties/marco-wm.desktop
127share/themes/ClearlooksRe/metacity-1/metacity-theme-1.xml 137share/themes/ClearlooksRe/metacity-1/metacity-theme-1.xml
128share/themes/Dopple-Left/metacity-1/metacity-theme-1.xml 138share/themes/Dopple-Left/metacity-1/metacity-theme-1.xml
129share/themes/Dopple/metacity-1/metacity-theme-1.xml 139share/themes/Dopple/metacity-1/metacity-theme-1.xml
130share/themes/DustBlue/metacity-1/button_close_normal.png 140share/themes/DustBlue/metacity-1/button_close_normal.png
131share/themes/DustBlue/metacity-1/button_close_prelight.png 141share/themes/DustBlue/metacity-1/button_close_prelight.png
132share/themes/DustBlue/metacity-1/button_close_pressed.png 142share/themes/DustBlue/metacity-1/button_close_pressed.png
133share/themes/DustBlue/metacity-1/button_max_normal.png 143share/themes/DustBlue/metacity-1/button_max_normal.png
134share/themes/DustBlue/metacity-1/button_max_prelight.png 144share/themes/DustBlue/metacity-1/button_max_prelight.png

cvs diff -r1.5 -r1.6 pkgsrc/wm/marco/distinfo (expand / switch to unified diff)

--- pkgsrc/wm/marco/distinfo 2018/02/08 16:50:22 1.5
+++ pkgsrc/wm/marco/distinfo 2018/05/14 12:48:14 1.6
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1$NetBSD: distinfo,v 1.5 2018/02/08 16:50:22 jperkin Exp $ 1$NetBSD: distinfo,v 1.6 2018/05/14 12:48:14 youri Exp $
2 2
3SHA1 (marco-1.18.1.tar.xz) = 6c09e95749bd01c46937b99894298f67918f720a 3SHA1 (marco-1.20.1.tar.xz) = 0d6a4b6820553b901e23c6da7626fcc2a51027f6
4RMD160 (marco-1.18.1.tar.xz) = 2b2d80a7148963ea8910606e9fa25cb4838e4742 4RMD160 (marco-1.20.1.tar.xz) = 18a2f3dfd703bd4d4c279d3584c559da600c1870
5SHA512 (marco-1.18.1.tar.xz) = d6851c8c1c5bc25993dc72de7e5090736d236942ad37124ef52d0c23cc66faa1e4288273160bb9c1d1c303c99e3e096dcf031b2ea70bde93858627f31034708c 5SHA512 (marco-1.20.1.tar.xz) = 3179b9b8c41788c0cdff4e20d1a315bbe7447a6d6622f5dafff0d1251671b4e4f6de84c865460ef26bdc7340d45ee1af09fdf06933050a81c061719c0f11257f
6Size (marco-1.18.1.tar.xz) = 1251108 bytes 6Size (marco-1.20.1.tar.xz) = 1423400 bytes
7SHA1 (patch-configure) = fa46453a5d25f154b60970e921f3802cd91ca786 7SHA1 (patch-configure) = fa46453a5d25f154b60970e921f3802cd91ca786
8SHA1 (patch-src_compositor_compositor-xrender.c) = 5cb7e98d8e2b1dda2842f422ad2268bb258c35ee 8SHA1 (patch-src_compositor_compositor-xrender.c) = 5cb7e98d8e2b1dda2842f422ad2268bb258c35ee
9SHA1 (patch-src_core_delete.c) = ace180e80d63bbf0a35abc18bf6501061e09d158 9SHA1 (patch-src_core_delete.c) = ace180e80d63bbf0a35abc18bf6501061e09d158
10SHA1 (patch-src_core_keybindings.c) = 98235897926d017994e1fa01c754419d14432b08 10SHA1 (patch-src_core_keybindings.c) = 98235897926d017994e1fa01c754419d14432b08
11SHA1 (patch-src_core_main.c) = 2ca845168633a2856a86453407b3a165f66e8863 11SHA1 (patch-src_core_main.c) = 2ca845168633a2856a86453407b3a165f66e8863
12SHA1 (patch-src_core_window-props.c) = 23d7c68e3e2c89004c610046378bd855d1d6358a 12SHA1 (patch-src_core_window-props.c) = 23d7c68e3e2c89004c610046378bd855d1d6358a