github.com/david-imola/snapd@v0.0.0-20210611180407-2de8ddeece6d/desktop/notification/caps.go (about)

     1  // -*- Mode: Go; indent-tabs-mode: t -*-
     2  
     3  /*
     4   * Copyright (C) 2020 Canonical Ltd
     5   *
     6   * This program is free software: you can redistribute it and/or modify
     7   * it under the terms of the GNU General Public License version 3 as
     8   * published by the Free Software Foundation.
     9   *
    10   * This program is distributed in the hope that it will be useful,
    11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13   * GNU General Public License for more details.
    14   *
    15   * You should have received a copy of the GNU General Public License
    16   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17   *
    18   */
    19  
    20  package notification
    21  
    22  const (
    23  	// ActionIconsCapability indicates that the server supports using icons
    24  	// instead of text for displaying actions. Using icons for actions must be
    25  	// enabled on a per-notification basis using the "action-icons" hint.
    26  	ActionIconsCapability ServerCapability = "action-icons"
    27  	// ActionsCapability indicates that the server will provide the specified
    28  	// actions to the user. Even if this cap is missing, actions may still be
    29  	// specified by the client, however the server is free to ignore them.
    30  	ActionsCapability ServerCapability = "actions"
    31  	// BodyCapability indicates that the server supports body text. Some
    32  	// implementations may only show the summary (for instance, onscreen
    33  	// displays, marquee/scrollers).
    34  	BodyCapability ServerCapability = "body"
    35  	// BodyHyperlinksCapability indicates that the server supports hyperlinks in
    36  	// the notifications.
    37  	BodyHyperlinksCapability ServerCapability = "body-hyperlinks"
    38  	// BodyImagesCapability indicates that the server supports images in the
    39  	// notifications.
    40  	BodyImagesCapability ServerCapability = "body-images"
    41  	// BodyMarkupCapability indicates that the server supports markup in the
    42  	// body text. If marked up text is sent to a server that does not give this
    43  	// cap, the markup will show through as regular text so must be stripped
    44  	// clientside.
    45  	BodyMarkupCapability ServerCapability = "body-markup"
    46  	// IconMultiCapability indicates that the server will render an animation of
    47  	// all the frames in a given image array. The client may still specify
    48  	// multiple frames even if this cap and/or "icon-static" is missing, however
    49  	// the server is free to ignore them and use only the primary frame.
    50  	IconMultiCapability ServerCapability = "icon-multi"
    51  	// IconStaticCapability indicates that the server supports display of
    52  	// exactly one frame of any given image array. This value is mutually
    53  	// exclusive with "icon-multi", it is a protocol error for the server to
    54  	// specify both.
    55  	IconStaticCapability ServerCapability = "icon-static"
    56  	// PersistenceCapability indicates that the server supports persistence of
    57  	// notifications. Notifications will be retained until they are acknowledged
    58  	// or removed by the user or recalled by the sender. The presence of this
    59  	// capability allows clients to depend on the server to ensure a
    60  	// notification is seen and eliminate the need for the client to display a
    61  	// reminding function (such as a status icon) of its own.
    62  	PersistenceCapability ServerCapability = "persistence"
    63  	// SoundCapability indicates that the server supports sounds on
    64  	// notifications. If returned, the server must support the "sound-file" and
    65  	// "suppress-sound" hints.
    66  	SoundCapability ServerCapability = "sound"
    67  )