Show Badge on Application Icon in Dock
(macOS only)
Overview
Badges are used to notify a user of something new in an application. The badge is a counter that appears on the application's dock tile (icon) as a white number on a red circular or oval, depending on the number of digits, background. What the number represents depends on the application - it might be the number of new emails in an email application, new iMessages, unfinished Reminders, missed FaceTime calls, the number of outstanding application updates, etc.
Example code
This example shows you how to implement notification badges in an application.
unit Unit1;
{$mode objfpc}{$H+}
{$modeswitch objectivec2}
interface
uses
Classes, SysUtils, Forms, Dialogs, StdCtrls,
CocoaAll;
type
{ TForm1 }
TForm1 = Class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
// Display badge text on the dock tile (icon)
NSApp.dockTile.setBadgeLabel(NSStr('1'));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// Remove badge text from the dock tile (icon)
NSApp.dockTile.setBadgeLabel(Nil);
end;
end.See also
- Application disable resize over Dock
- Bounce Application Icon in Dock
- Hiding a macOS app from the Dock
- macOS Application Dock Menu
External links
From the Free Pascal wiki, page "Show Badge on Application Icon in Dock", as it stood on 2022-05-15 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
