Skip to content

Releases: emersion/mako


01 Jun 08:37
Choose a tag to compare
mako v1.8.0

New features:

- A new `makoctl history` command to display history
- An action name can be passed to `makoctl invoke`
- `makoctl list` now includes desktop-entry and urgency

Full commit history below.

Access (1):
      Check icon name before pass it to glob()

Consolatis (1):
      Add invoke-action <action>

Dixon Sean Low Yan Feng (2):
      Fix positioning of icon
      Fix positioning of text being offset by border size

Grzegorz Szymaszek (1):
      man: do not merge all makoctl mode invocations

Jadarma (1):
      Add urgency indicator in makoctl list.

Jeff Zhao (1):
      fix segfault when surface->surface_output is NULL

Markus Vieth (1):
      makoctl: add command to list history

Simon Ser (2):
      Add desktop-entry to `makoctl list`
      build: bump version to 1.8.0


06 Jul 18:51
Choose a tag to compare
mako v1.7.1

Simon Ser (2):
      Fix inverted has_mode condition
      build: bump version to 1.7.1


06 Jul 15:24
Choose a tag to compare
mako v1.7

This new release includes:

- Support for multiple modes active at the same time.
- A new command to list currently active modes.
- Improved HiDPI support.
- A new outer-margin option.

Full commit history below.

Alexander Orzechowski (2):
      wayland: Support HiDPI for cursor
      wayland: Don't render a frame on same-size configure

Birger Schacht (1):
      Fix typos

Hugo Osvaldo Barrera (2):
      Fix bad conditional in systemd service file
      Allow rendering notification_id in notifications

Oğuz Ersen (1):
      contrib/completions: add bash completions

Quantum (1):
      Include <errno.h> to use errno in wayland.c

Rouven Czerwinski (2):
      wayland: don't render if we don't have outputs
      wayland: set_dirty if we have outputs again

Simon Ser (21):
      ci: drop -Dsystemd from freebsd build options
      ci: drop removed "systemd" option
      build: use list for sdbus dep, drop sh for scdoc
      build: use get_variable instead of get_pkgconfig_variable
      contrib/apparmor: drop AppArmor profile
      build: switch from join_paths() to /
      build: fix indentation
      build: turn on -Wundef
      build: remove unnecessary intermediate variable
      build: print summary
      Fix -Wundef on libelogind/basu
      Fix a few memory leaks in destroy_notification
      build: fix missing datadir variable for completions
      Use an array to store current modes
      makoctl: fix whitespace
      Add D-Bus method to list modes
      Ensure there are no duplicate modes
      Add D-Bus method to set modes
      makoctl: add commands to set, add and remove modes
      Deprecate the "default" mode
      build: bump version to 1.7

ThinkChaos (1):
      Add outer-margin to allow extra margin for first/last notifications

kraftwerk28 (1):
      Load cursor theme from XCURSOR_THEME

Đoàn Trần Công Danh (1):
      build: find build tools in build system instead of target


11 Jul 08:57
Choose a tag to compare
mako v1.6

This release adds the following new features:

- Modes allow to conditonally change options at runtime, and allow to
  setup things like a "do not disturb" mode.
- Add support for synchronous hints, to easily replace an existing
  notification from a script.
- Add an "exec" binding to execute a command
- Add "on-notify" bindings to trigger an action when a notification
  is opened.

The release also includes a few other improvements and some bug fixes.

Full changelot below.

Bill Doyle (1):
      Update IRC channel

Davester47 (1):
      Set the cursor to left_ptr when the mouse moves over a notification

FollieHiyuki (3):
      Fix a small typo in mako --help
      contrib/completion: add missing fish completions
      contrib/completions: keep verbs consistent in zsh completions

Kirens (1):
      contrib/completions: add missing declaration of fish_comp

Matej Novota (1):
      Add anchor to center-right and center-left

Nicolas Cornu (1):
      Fix out-of-bounds write in apply_superset_style

Ragnar Groot Koerkamp (1):
      Print notification category in `makoctl list`

Ricardo Biehl Pasquali (1):
      Fix memory leak by freeing image before returning in error path

Simon Ser (16):
      build: bump version to 1.5
      Rename get_binding to get_button_binding
      readme: use upstream spec link
      Introduce modes
      ci: switch to Alpine edge
      Keep track of surface focus for pointer and touch
      Implement xdg-activation-v1
      man: fix trailing comma
      Make bindings style options
      man: makoctl menu has a mandatory arg
      Add has_prefix helper
      Add an exec binding
      Add id variable to exec binding
      Add on-notify bindings
      build: group add_project_arguments() calls together
      build: bump to v1.6

williamvds (2):
      Use synchronous hints for replacing notifications
      Fix notification replacement tag comparison


03 May 18:24
Choose a tag to compare
mako v1.5

This long overdue release contains a lot of new features and bug
fixes. New features include:

- Allow multiple notifications to be anchored to different outputs, edges and
  layers at the same time
- Add an history buffer for expired notifications
- Add customizable button and touch bindings
- Add regex criteria for summary and body
- Make icon position configurable
- Add support for basu, for non-systemd installations
- Allow specifying notification IDs with makoctl
- Allow dismissing a whole group at once with makoctl
- Make text alignment customizable

Thanks to all contributors!

Alexey Yerin (1):
      Add text-alignment option

Arkadij Chistyj (1):
      max-visible = 0 now works

Bill Doyle (25):
      Rework border drawing
      Scale border-radius
      Inset progress completely within border
      Keep minimum height large enough for border-radius
      Disable subpixel antialiasing when requested
      Improve icon-path documentation
      Remove misleading spaces from mako.5
      Add parse_int_ge to improve integer parsing
      Add missing flags to makoctl manpage
      Add validate_criteria
      Document group match rules
      Add anchor and output criteria fields + validation
      Finish adding anchor and output criteria
      Move max_visible back to notification style
      Rematch criteria immediately before rendering
      Note that we don't match criteria while grouping
      Don't accidentally validate failed criteria again
      Limit use of max_visible to output/anchor criteria
      Move new body validation into validate_criteria
      Move mako_criteria_spec_any to correct header
      Simplify counting hidden notifications
      Allow create_notification outside handle_notify
      Replace hidden_style with real criteria
      Improve message handling in validate_criteria
      Add to man page

David Ross (1):
      Add support for body criteria

Faustin Lammler (1):
      Change urgency level name

Graham Christensen (3):
      criteria: always init its list
      Support dismissing notifications by group
      config: allow configuring button and touch bindings

Hugo Osvaldo Barrera (2):
      Include a systemd.service file
      readme: improve documentation regarding delayed startup

J. Konrad Tegtmeier-Rottach (1):
      Add a history buffer for expired notifications

James Mills (1):
      Add missing newline to error

Jan Beich (6):
      eventloop: bump POSIX for monotonic clock and close-on-exec
      build: require epoll-shim on BSDs
      ci: add FreeBSD job
      ci: switch Alpine to elogind after 17b029680585
      notification: simplify evdev include like swaywm/wlroots@f80d174e8b17
      ci: add evdev-proto on FreeBSD for <linux/input-event-codes.h>

Jason Nader (1):
      completions: add fish

Keith Bowes (1):
      Make sure an adequate version of scdoc is available

Kenny Levinsen (3):
      eventloop: Process events before entering loop
      Replace frame callback when surface is closed
      Reschedule frame if configuration is pending

Kirill Chibisov (1):
      makoctl: properly silence checking with 'type'

Mark Stosberg (1):
      systemd: modernize wayland check.

Markus Ongyerth (3):
      Improve center alignment
      Add icon location style option
      Add capabilities to use multiple surfaces

Max Mazurov (1):
      Update AppArmor profile

Maxim Baz (1):
      Do not use state->last_id to retrieve last notification

Riley Sutton (1):
      Add progress functionality info to manpage

Robin Opletal (1):
      readme: add reference to man pages

Roosemberth Palacios (1):
      Add link to FAQ section in the wiki

Simon Ser (11):
      Add `makoctl set`
      contrib/completions: fix path to fish completions
      man: add dismiss -g to makoctl docs
      Remove unnecessary goto
      build: introduce sd-bus-provider option
      build: add basu as sd-bus provider
      ci: add alpine build
      readme: mention basu
      Revert "Add `makoctl set`" (#334)
      contrib: drop apparmor and systemd build-system integration (#338)
      Drop systemd service reference from D-Bus service

TheAvidDev (1):
      Add regex support for summary criteria

Torstein Husebø (1):
      treewide: fix typos

V (1):
      Fix manpage formatting

Vyacheslav Konovalov (1):
      Fix makoctl -gt 5 arguments limit #221

gammafn (1):
      Fix: 'type' does not always have '-p'

pschervakov (1):
      mako.5.scd: fix typo

shroff (1):
      Accept id args in makoctl for menu and dismiss

williamvds (4):
      Fix some memory leaks
      Fix memory leaks caused by -c option
      Fix memory leak when token == NULL
      Ensure config is freed when exiting early

Érico Rolim (1):
      render,criteria: replace assert(0) with abort().


12 Jan 02:57
Choose a tag to compare
mako v1.4.1

This release contains a few new features and bug fixes. New features

* `makoctl menu` to choose a notification action
* A CLI flag to use a custom config file path
* Improved touch support (multiple touches)

Thanks to all contributors!

Ashkan Kiani (1):
      Add variant for int32_t and fallback error message

Bill Doyle (1):
      Support image-path and more deprecated hints

Dasith Gunawardhana (1):
      Add --config option

Martin Michlmayr (2):
      Allow access to icons in AppArmor profile
      Fix typo in man page

Ryan Adolf (2):
      Add support for tracking multiple touches
      wayland.c style: break if statements into blocks

Simon Ser (4):
      readme: link to the spec
      readme: add jq to list of deps
      Split out configuration docs
      Bump to v1.4.1

rpigott (1):
      Include list command in makoctl zsh completions

xPMo (2):
      makoctl: fix test command in "invoke"
      Support choosing a notification action with 'makoctl menu' (#195)


19 Jul 15:49
Choose a tag to compare
mako v1.4

This release polishes icon support introduced in v1.3 and adds a few other
cool features. Highlights:

* Icon support is now complete
* Touchscreens are now supported
* makoctl can now list current notifications
* makoctl can now list and invoke notification actions
* A D-Bus service file has been added
* Various bug fixes

Thanks to all contributors!

AN3223 (1):
      Fixed typo, critiera -> criteria

Bill Doyle (1):
      Allow listing and invoking actions with makoctl (#158)

Daniel Eklöf (1):
      makoctl: unbreak 'dismiss' and 'invoke' called without argument

Joe Lanford (1):
      Add icon_data hint support

Meiyo Peng (1):
      Add a D-Bus service file for mako

Michael Aquilina (1):
      Fix typo in man s/backslack/backslash

Sauyon Lee (2):
      Properly URL decode file:// URIs
      notification.c: use correct format arguments

Simon Ser (4):
      meson: bump version to v1.3
      readme: add gdk-pixbuf dependency
      Add ListNotifications to D-Bus API
      readme: add IRC channel

Stephen Brown II (1):
      Add exact-string matching to criteria

bschacht (1):
      fix typo

qvm1Wak (1):
      Error for when users run Mako and it's already running. (#160)

sheenobu (1):
      Initial touch support

vilhalmer (1):
      Add hint about removing quotes in the config file

xdavidwu (2):
      Add image-data hint support
      Fix memory leak if there are multiple icon data


19 Apr 13:49
Choose a tag to compare
mako v1.3

Many changes in this release! The biggest new features are:

* Grouping (#98 and #111)
* Icons (#115 and #128)
* Progress bar indicator (#109)
* Rounded corners (#134)

Big thanks to all contributors!

Packager maintainers: this release contains an optional AppArmor policy and ZSH
completions. See Meson options to enable them. Please read the AppArmor policy
if you plan to use it.

Below is the detailed shortlog.

Anton Älgmyr (18):
      Fix rounding errors because of double->int conversion
      Add icon support
      Add --max-icon-size to documentation
      Add dep to CI config
      Add meson flag, redo code to use `gdk_cairo_set_source_pixbuf`
      Move guards
      Add --show-icons (and add missing help text for --max-icon-size)
      get_icon -> create_icon
      Remove duplicate prototype
      --show-icons -> --icons
      Fix style issues
      icon now pointer and part of notification, ifdef only in icon.c
      Explicit build option for no icons, don't fallback on missing deps
      Icon should be NULL for hidden notification
      Go back to storing full scale image
      Small fixes
      Move style check to `handle_notify`
      Advertise icon capability iff icons are used

Cameron Nemo (1):
      AppArmor profile

Clément Martinez (2):
      Add progress indicator
      Add color operator for progress indicator

DarkDefender (1):
      Update with dbus dependency and elogind tip

Denis Zheleztsov (1):
      Add missing border-radius option

Eyal Sawady (1):
      Add support for rounded notifications

Quentin Bourgeois (3):
      Print usage message when not enough or too many argument are given on CLI
      Add a basic makoctl and mako completion function for ZSH
      Add some options into helper output

Simon Ser (11):
      ci: also build without icons
      build: depend on gobject for g_error_free
      build: depend on glib too
      man: fix mixed up headings
      Move shell completions to contrib/, disable by default
      Move AppArmor to contrib/
      meson: split completions logic
      meson: add a man-pages option
      ci: build man pages
      ci: enable all features by default
      Drop GDK dependency

Stephen Brown II (1):
      Add 'center' anchor option, and re-organize order of options

emersion (4):
      Bump to v1.2
      Use frame scheduling when drawing frames
      Use wl_surface.damage_buffer
      readme: add instructions for sway

vilhalmer (36):
      Add create_criteria_from_notification
      Add summary and body to criteria
      Add parse_criteria_spec
      Add group_criteria_spec to style
      Group notifications when adding or removing them
      Fix up circular dependencies
      Make sure all notification string fields are valid
      Fix minor identity crisis
      Fix typo in ci manifest
      Return the same id when replacing a notification
      Nullify things in reset_notification
      Record group_index and group_count
      Start group_index at 0, -1 for ungrouped
      Add group_index and grouped criteria
      apply_criteria_field should always return early
      group_index -> group-index in criteria
      Notifications are ungrouped when created
      Explain grouping and group_index better
      Fix pointer clobbering in group_notifications
      Fix reversed groups
      Fix group-index error message
      Add group_count format specifier
      Add `none` criteria spec and use for grouping
      Regroup notifications on config reload
      Add hidden style to skip grouped notifs in render
      Insert default grouped styles into criteria list
      Store raw criteria strings for debugging
      Rename group option to group-by and expose on cli
      Rename hidden style to invisible
      Update manpage
      Check if wl_pointer exists before releasing it
      Always print help when asked
      Add resolve_icon to support icon names
      Don't render icon if they're disabled in the style
      Add to manpage

xdavidwu (3):
      icon.c: fix build without icons support
      parse_config_arguments: add missing icon-path option
      resolve_icon: also try second level relative dir name for icon size and scale


24 Nov 14:11
Choose a tag to compare

mako 1.2 contains 77 changes from 10 contributors.

New features and improvements

  • Add elogind support (#77, #78)
  • Allow size, margins and actions overrides in criteria (#71, #74, #75)
  • Add support for directional padding (#85)
  • Improve notification body parsing, when clients don't support markup (#76)
  • Allow notifications to be centered on screen (#87)
  • Allow \n in format strings (#62)
  • Allow notification layer to be customized (#90)
  • Refactor and remove global_criteria (#68)
  • Use output sub-pixel information for rendering text (365549b)

Bug fixes

  • Fixes a few memory leaks (#59)
  • Apply bottom margin to last notification (#83)
  • Fix SIGINT handling (#79)


23 Jul 09:53
Choose a tag to compare

mako 1.1 contains 64 changes from 3 contributors.

New features

  • Criteria support (#43, #56) 🎉
  • Add an anchor option (#57)


  • Gracefully handle and report failure to reload config (#49)

Bug fixes

  • Fix a segfault when terminating mako while notifications are still visible (#51)
  • Fix buffer management issues (#52)