From 8c9402ec752b7c860d64d139e9c7386afa25b5e9 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 11 Feb 2008 11:32:50 +0200 Subject: copy icon-theme-spec to sound-theme-spec --- sound-theme/icon-naming-spec.xml | 2413 ++++++++++++++++++++++++++++++++++++++ sound-theme/icon-theme-spec.xml | 986 ++++++++++++++++ sound-theme/sound-theme-spec.xml | 986 ++++++++++++++++ 3 files changed, 4385 insertions(+) create mode 100644 sound-theme/icon-naming-spec.xml create mode 100644 sound-theme/icon-theme-spec.xml create mode 100644 sound-theme/sound-theme-spec.xml diff --git a/sound-theme/icon-naming-spec.xml b/sound-theme/icon-naming-spec.xml new file mode 100644 index 0000000..e653acc --- /dev/null +++ b/sound-theme/icon-naming-spec.xml @@ -0,0 +1,2413 @@ + + +
+ + Icon Naming Specification + Version 0.8.90 + August 9 2007 + + + Rodney + Dawes + +
+ dobey.pwns@gmail.com +
+
+
+
+
+ + + Overview + +The Icon Theme Specification has been in use now for a while, in several +desktops, including KDE and Gnome. However, there has never been any +centralized direction on how to name the icons that are available for use +by applications, when creating a theme. This has meant that artists have +historically had to duplicate many icons, in order for their themes to +work across desktop environments. + + +This specification aims to solve this problem, by laying out a standard +naming scheme for icon creation, as well as providing a minimal list of +must have icons, and a larger list with many more examples to help with +the creation of extended icons for third party applications, devices, +and new MIME types. + + + + + Context + + + The list of default Contexts for the icon theme are: + + + + Standard Contexts + + + + + Name + Description + Directory + + + + + Actions + +Icons which are generally used in menus and dialogs for +interacting with the user. + + actions + + + Animations + +Animated images used to represent loading web sites, or other +background processing which may be less suited to more verbose +progress reporting in the user itnerface. + + animations + + + Applications + +Icons that describe what an application is, for use in the +Programs menu, window decorations, and the task list. These may +or may not be generic depending on the application and its +purpose. Applications which are to be considered part of the base desktop, +such as the calculator or terminal, should use the generic icons specified in +this specification, while more advanced applications such as web browsers and +office applications should use branded icons which still give the user an idea +of what function the application provides. + + apps + + + Categories + +Icons that are used for categories in the Programs menu, or +the Control Center, for separating applications, preferences, and +settings for display to the user. + + categories + + + Devices + +Icons for hardware that is contained within or connected to the +computing device. Naming for extended devices in this group, is of the form +<primary function>-<manufacturer>-<model>. This allows ease +of fallback to the primary function device name, or ones more targeted for +a specific series of models from a manufacturer. For example, a theme author +may want to provide icons for different phones. The specific model icons could +be named phone-samsung-t809, phone-motorola-rokr, +and phone-motorola-pebl. However, the theme must provide a phone +icon in the theme's style, so that devices not matching these models, will +still have an appropriate icon. An exception to this rule is that the +media icons do not need to include manufacturer names, as they +are generic items, and may be available from many manufacturers. As a result, +for media, the specific icons are to differentiate between different specific +types of media. For exmaple, an artist may wish to provide icons for BluRay, +DVD, HD-DVD, CD-ROM, and variations thereof. The specific media type icons +should be named in the form, <primary function>-<specific format>. +Some examples are media-optical, media-optical-bd +and media-optical-dvd. + + devices + + + Emblems + +Icons for tags and properties of files, that are displayed in the +file manager. This context contains emblems for such things as +read-only or photos. + + emblems + + + Emotes + +Icons for emotions that are expressed through text chat +applications such as :-) or :-P in IRC or instant messengers. + + emotes + + + International + +Icons for international denominations such as flags. + + intl + + + MimeTypes + +Icons for different types of data, such as audio or image files. + + mimetypes + + + Places + +Icons used to represent locations, either on the local +filesystem, or through remote connections. Folders, trash, and +workgroups are some examples. + + places + + + Status + +Icons for presenting status to the user. This context contains +icons for warning and error dialogs, as well as for the current +weather, appointment alarms, and battery status. + + status + + + +
+
+ + + Icon Naming Guidelines + + +Here we define some guidelines for when creating new icons that extend +the standardized list of icon names defined here, in order to provide +icons for more specific MIME types, devices, or international flags. + + + +Icon names are in the en_US.US_ASCII locale. This means that the +allowable characters in the icon names, must fall withing the +US-ASCII character set. As a further restriction, all icon names +may only contain lowercase letters, numbers, underscore, dash, or +period characters. Spaces, colons, slashes, and backslashes are +not allowed. Also, icon names must be spelled as they are in the +en_US dictionary. + + + + +The dash - character is used to separate levels of +specificity in icon names, for all contexts other than MimeTypes. +For instance, we use input-mouse as the generic +item for all mouse devices, and we use input-mouse-usb +for a USB mouse device. However, if the more specific item does not exist +in the current theme, and does exist in a parent theme, the generic icon +from the current theme is preferred, in order to keep consistent style. + + + + +Icons for branded applications should be named the same as the binary +executable for the application. + + + + + + + + Standard Icon Names + + +This section describes the standard icon names that should be used by +artists when creating themes, and by developers when writing applications +which will use the Icon Theme Specification. + + + + Standard Action Icons + + + + Name + Description + + + + + address-book-new + +The icon used for the action to create a new address book. + + + + application-exit + +The icon used for exiting an application. Typically this is seen +in the application's menus as File->Quit. + + + + appointment-new + +The icon used for the action to create a new appointment +in a calendaring application. + + + + contact-new + +The icon used for the action to create a new contact +in an address book application. + + + + document-new + +The icon used for the action to create a new document. + + + + document-open + +The icon used for the action to open a document. + + + + document-open-recent + +The icon used for the action to open a document that +was recently opened. + + + + document-page-setup + +The icon for the page setup action of a document editor. + + + + document-print + +The icon for the print action of an application. + + + + document-print-preview + +The icon for the print preview action of an application. + + + + document-properties + +The icon for the action to view the properties of a +document in an application. + + + + document-revert + +The icon for the action of reverting to a previous +version of a document. + + + + document-save + +The icon for the save action. + + + + document-save-as + +The icon for the save as action. + + + + edit-clear + +The icon for the clear action. + + + + edit-copy + +The icon for the copy action. + + + + edit-cut + +The icon for the cut action. + + + + edit-delete + +The icon for the delete action. + + + + edit-find + +The icon for the find action. + + + + edit-find-replace + +The icon for the find and replace action. + + + + edit-paste + +The icon for the paste action. + + + + edit-redo + +The icon for the redo action. + + + + edit-select-all + +The icon for the select all action. + + + + edit-undo + +The icon for the undo action. + + + + folder-new + +The icon for creating a new folder. + + + + format-indent-less + +The icon for the decrease indent formatting action. + + + + format-indent-more + +The icon for the increase indent formatting action. + + + + format-justify-center + +The icon for the center justification formatting action. + + + + format-justify-fill + +The icon for the fill justification formatting action. + + + + format-justify-left + +The icon for the left justification formatting action. + + + + format-justify-right + +The icon for the right justification action. + + + + format-text-direction-ltr + +The icon for the left-to-right text formatting action. + + + + format-text-direction-rtl + +The icon for the right-to-left formatting action. + + + + format-text-bold + +The icon for the bold text formatting action. + + + + format-text-italic + +The icon for the italic text formatting action. + + + + format-text-underline + +The icon for the underlined text formatting action. + + + + format-text-strikethrough + +The icon for the strikethrough text formatting action. + + + + go-bottom + +The icon for the go to bottom of a list action. + + + + go-down + +The icon for the go down in a list action. + + + + go-first + +The icon for the go to the first item in a list action. + + + + go-home + +The icon for the go to home location action. + + + + go-jump + +The icon for the jump to action. + + + + go-last + +The icon for the go to the last item in a list action. + + + + go-next + +The icon for the go to the next item in a list action. + + + + go-previous + +The icon for the go to the previous item in a list action. + + + + go-top + +The icon for the go to the top of a list action. + + + + go-up + +The icon for the go up in a list action. + + + + help-about + +The icon for the About item in the Help menu. + + + + help-contents + +The icon for Contents item in the Help menu. + + + + help-faq + +The icon for the FAQ item in the Help menu. + + + + insert-image + +The icon for the insert image action of an application. + + + + insert-link + +The icon for the insert link action of an application. + + + + insert-object + +The icon for the insert object action of an application. + + + + insert-text + +The icon for the insert text action of an application. + + + + list-add + +The icon for the add to list action. + + + + list-remove + +The icon for the remove from list action. + + + + mail-forward + +The icon for the forward action of an electronic mail application. + + + + mail-mark-important + +The icon for the mark as important action of an electronic mail application. + + + + mail-mark-junk + +The icon for the mark as junk action of an electronic mail application. + + + + mail-mark-notjunk + +The icon for the mark as not junk action of an electronic mail application. + + + + mail-mark-read + +The icon for the mark as read action of an electronic mail application. + + + + mail-mark-unread + +The icon for the mark as unread action of an electronic mail application. + + + + mail-message-new + +The icon for the compose new mail action of an electronic mail application. + + + + mail-reply-all + +The icon for the reply to all action of an electronic mail application. + + + + mail-reply-sender + +The icon for the reply to sender action of an electronic mail application. + + + + mail-send + +The icon for the send action of an electronic mail application. + + + + mail-send-receive + +The icon for the send and receive action of an electronic mail application. + + + + media-eject + +The icon for the eject action of a media player or file manager. + + + + media-playback-pause + +The icon for the pause action of a media player. + + + + media-playback-start + +The icon for the start playback action of a media player. + + + + media-playback-stop + +The icon for the stop action of a media player. + + + + media-record + +The icon for the record action of a media application. + + + + media-seek-backward + +The icon for the seek backward action of a media player. + + + + media-seek-forward + +The icon for the seek forward action of a media player. + + + + media-skip-backward + +The icon for the skip backward action of a media player. + + + + media-skip-forward + +The icon for the skip forward action of a media player. + + + + object-flip-horizontal + +The icon for the action to flip an object horizontally. + + + + object-flip-vertical + +The icon for the action to flip an object vertically. + + + + object-rotate-left + +The icon for the rotate left action performed on an object. + + + + object-rotate-right + +The icon for the rotate rigt action performed on an object. + + + + process-stop + +The icon used for the Stop action in applications with actions +that may take a while to process, such as web page loading in a browser. + + + + system-lock-screen + +The icon used for the Lock Screen item in the desktop's +panel application. + + + + system-log-out + +The icon used for the Log Out item in +the desktop's panel application. + + + + system-run + +The icon used for the Run Application... item in +the desktop's panel application. + + + + system-search + +The icon used for the Search item in +the desktop's panel application. + + + + tools-check-spelling + +The icon used for the Check Spelling item in the +application's Tools menu. + + + + view-fullscreen + +The icon used for the Fullscreen item in the +application's View menu. + + + + view-refresh + +The icon used for the Refresh item in the +application's View menu. + + + + view-restore + +The icon used by an application for leaving the fullscreen view, and returning +to a normal windowed view. + + + + view-sort-ascending + +The icon used for the Sort Ascending item in the +application's View menu, or in a button for +changing the sort method for a list. + + + + view-sort-descending + +The icon used for the Sort Descending item in the +application's View menu, or in a button for +changing the sort method for a list. + + + + window-close + +The icon used for the Close Window item in the +application's Windows menu. + + + + window-new + +The icon used for the New Window item in the +application's Windows menu. + + + + zoom-fit-best + +The icon used for the Best Fit item in the +application's View menu. + + + + zoom-in + +The icon used for the Zoom in item in the +application's View menu. + + + + zoom-original + +The icon used for the Original Size item in the +application's View menu. + + + + zoom-out + +The icon used for the Zoom Out item in the +application's View menu. + + + + +
+ + + Standard Animation Icons + + + + Name + Description + + + + + process-working + +This is the standard spinner animation for web browsers and +file managers to show that the location is loading. This image +should be a multi-frame PNG with the frames as the size that +the directory containing the image, is specified to be in. The +first frame of the animation should be used for the resting +state of the animation. + + + + +
+ + + Standard Application Icons + + + + Name + Description + + + + + accessories-calculator + +The icon used for the desktop's calculator accessory program. + + + + accessories-character-map + +The icon used for the desktop's international and extended text +character accessory program. + + + + accessories-dictionary + +The icon used for the desktop's dictionary accessory program. + + + + accessories-text-editor + +The icon used for the desktop's text editing accessory program. + + + + help-browser + +The icon used for the desktop's help browsing application. + + + + multimedia-volume-control + +The icon used for the desktop's hardware volume control application. + + + + preferences-desktop-accessibility + +The icon used for the desktop's accessibility preferences. + + + + preferences-desktop-font + +The icon used for the desktop's font preferences. + + + + preferences-desktop-keyboard + +The icon used for the desktop's keyboard preferences. + + + + preferences-desktop-locale + +The icon used for the desktop's locale preferences. + + + + preferences-desktop-multimedia + +The icon used for the desktop's multimedia preferences. + + + + preferences-desktop-screensaver + +The icon used for the desktop's screen saving preferences. + + + + preferences-desktop-theme + +The icon used for the desktop's theme preferences. + + + + preferences-desktop-wallpaper + +The icon used for the desktop's wallpaper preferences. + + + + system-file-manager + +The icon used for the desktop's file management application. + + + + system-software-update + +The icon used for the desktop's software updating application. + + + + utilities-system-monitor + +The icon used for the desktop's system resource monitor application. + + + + utilities-terminal + +The icon used for the desktop's terminal emulation application. + + + + +
+ + + Standard Category Icons + + + + Name + Description + + + + + applications-accessories + +The icon for the Accessories sub-menu of the Programs menu. + + + + applications-development + +The icon for the Programming sub-menu of the Programs menu. + + + + applications-engineering + +The icon for the Engineering sub-menu of the Programs menu. + + + + applications-games + +The icon for the Games sub-menu of the Programs menu. + + + + applications-graphics + +The icon for the Graphics sub-menu of the Programs menu. + + + + applications-internet + +The icon for the Internet sub-menu of the Programs menu. + + + + applications-multimedia + +The icon for the Multimedia sub-menu of the Programs menu. + + + + applications-office + +The icon for the Office sub-menu of the Programs menu. + + + + applications-other + +The icon for the Other sub-menu of the Programs menu. + + + + applications-science + +The icon for the Science sub-menu of the Programs menu. + + + + applications-system + +The icon for the System Tools sub-menu of the Programs menu. + + + + applications-utilities + +The icon for the Utilities sub-menu of the Programs menu. + + + + preferences-desktop + +The icon for the Desktop Preferences category. + + + + preferences-desktop-peripherals + +The icon for the Peripherals sub-category of +the Desktop Preferences category. + + + + preferences-desktop-personal + +The icon for the Personal sub-category of +the Desktop Preferences category. + + + + preferences-other + +The icon for the Other preferences category. + + + + preferences-system + +The icon for the System Preferences category. + + + + preferences-system-network + +The icon for the Network sub-category of +the System Preferences category. + + + + system-help + +The icon for the Help system category. + + + + +
+ + + Standard Device Icons + + + + Name + Description + + + + + audio-card + +The icon used for the audio rendering device. + + + + audio-input-microphone + +The icon used for the microphone audio input device. + + + + battery + +The icon used for the system battery device. + + + + camera-photo + +The icon used for a digital still camera devices. + + + + camera-video + +The fallback icon for video cameras. + + + + camera-web + +The fallback icon for web cameras. + + + + computer + +The icon used for the computing device as a whole. + + + + drive-harddisk + +The icon used for hard disk drives. + + + + drive-optical + +The icon used for optical media drives such as CD and DVD. + + + + drive-removable-media + +The icon used for removable media drives. + + + + input-gaming + +The icon used for the gaming input device. + + + + input-keyboard + +The icon used for the keyboard input device. + + + + input-mouse + +The icon used for the mousing input device. + + + + input-tablet + +The icon used for graphics tablet input devices. + + + + media-flash + +The fallback icon used for flash media, such as memory stick and SD. + + + + media-floppy + +The icon used for physical floppy disk media. + + + + media-optical + +The icon used for physical optical media such as CD and DVD. + + + + media-tape + +The icon used for generic physical tape media. + + + + modem + +The icon used for modem devices. + + + + multimedia-player + +The icon used for generic multimedia playing devices. + + + + network-wired + +The icon used for wired network connections. + + + + network-wireless + +The icon used for wireless network connections. + + + + pda + +This is the fallback icon for Personal Digial Assistant devices. Primary use +of this icon is for PDA devices connected to the PC. Connection medium is not +an important aspect of the icon. The metaphor for this fallback icon should be +a generic PDA device icon. + + + + phone + +This is the default fallback for phone devices. Primary use of this icon group +is for phone devices which support connectivity to the PC. These may be VoIP, +cellular, or possibly landline phones. The metaphor for this fallback should be +a generic mobile phone device. + + + + printer + +The icon used for a printer device. + + + + scanner + +The icon used for a scanner device. + + + + video-display + +The icon used for the monitor that video gets displayed to. + + + + +
+ + + Standard Emblem Icons + + + + Name + Description + + + + + emblem-default + +The icon used as an emblem to specify the default selection of a printer for +example. + + + + emblem-documents + +The icon used as an emblem for the directory where a user's documents are stored. + + + + emblem-downloads + +The icon used as an emblem for the directory where a user's +downloads from the internet are stored. + + + + emblem-favorite + +The icon used as an emblem for files and directories that the +user marks as favorites. + + + + emblem-important + +The icon used as an emblem for files and directories that are +marked as important by the user. + + + + emblem-mail + +The icon used as an emblem to specify the directory where the +user's electronic mail is stored. + + + + emblem-photos + +The icon used as an emblem to specify the directory where the +user stores photographs. + + + + emblem-readonly + +The icon used as an emblem for files and directories which can +not be written to by the user. + + + + emblem-shared + +The icon used as an emblem for files and directories that are +shared to other users. + + + + emblem-symbolic-link + +The icon used as an emblem for files and direcotires that are +links to other files or directories on the filesystem. + + + + emblem-synchronized + +The icon used as an emblem for files or directories that are +configured to be synchronized to another device. + + + + emblem-system + +The icon used as an emblem for directories that contain system +libraries, settings, and data. + + + + emblem-unreadable + +The icon used as an emblem for files and directories that are inaccessible. + + + + +
+ + + Standard Emotion Icons + + + + Name + Description + + + + + face-angel + +The icon used for the 0:-) emote. + + + + face-angry + +The icon used for the X-( emote. + + + + face-cool + +The icon used for the B-) emote. + + + + face-crying + +The icon used for the :'( emote. + + + + face-devilish + +The icon used for the >:-) emote. + + + + face-embarrassed + +The icon used for the :-[ emote. + + + + face-kiss + +The icon used for the :-* emote. + + + + face-laugh + +The icon used for the :-)) emote. + + + + face-monkey + +The icon used for the :-(|) emote. + + + + face-plain + +The icon used for the :-| emote. + + + + face-raspberry + +The icon used for the :-P emote. + + + + face-sad + +The icon used for the :-( emote. + + + + face-sick + +The icon used for the :-& emote. + + + + face-smile + +The icon used for the :-) emote. + + + + face-smile-big + +The icon used for the :-D emote. + + + + face-smirk + +The icon used for the :-! emote. + + + + face-surprise + +The icon used for the :-0 emote. + + + + face-tired + +The icon used for the |-) emote. + + + + face-uncertain + +The icon used for the :-/ emote. + + + + face-wink + +The icon used for the ;-) emote. + + + + face-worried + +The icon used for the :-S emote. + + + + +
+ + + Standard International Icons + + + + Name + Description + + + + + flag-aa + +The flag for the country with the ISO 3166 country code AA. All +flags should use ISO 3166 two-letter country codes, in lowercase +form, as the specifier for the country. + + + + +
+ + + Standard MIME Type Icons + + + + Name + Description + + + + + application-x-executable + +The icon used for executable file types. + + + + audio-x-generic + +The icon used for generic audio file types. + + + + font-x-generic + +The icon used for generic font file types. + + + + image-x-generic + +The icon used for generic image file types. + + + + package-x-generic + +The icon used for generic package file types. + + + + text-html + +The icon used for HTML text file types. + + + + text-x-generic + +The icon used for generic text file types. + + + + text-x-generic-template + +The icon used for generic text templates. + + + + text-x-script + +The icon used for script file types, such as shell scripts. + + + + video-x-generic + +The icon used for generic video file types. + + + + x-office-address-book + +The icon used for generic address book file types. + + + + x-office-calendar + +The icon used for generic calendar file types. + + + + x-office-document + +The icon used for generic document and letter file types. + + + + x-office-presentation + +The icon used for generic presentation file types. + + + + x-office-spreadsheet + +The icon used for generic spreadsheet file types. + + + + +
+ + + Standard Place Icons + + + + Name + Description + + + + + folder + +The standard folder icon used to represent directories on local +filesystems, mail folders, and other hierarchical groups. + + + + folder-remote + +The icon used for normal directories on a remote filesystem. + + + + network-server + +The icon used for individual host machines under the +Network Servers place in the file manager. + + + + network-workgroup + +The icon for the Network Servers place in the +desktop's file manager, and workgroups within the network. + + + + start-here + +The icon used by the desktop's main menu for accessing places, +applications, and other features. + + + + user-desktop + +The icon for the special Desktop directory of the user. + + + + user-home + +The icon for the special Home directory of the user. + + + + user-trash + +The icon for the user's Trash place in the +desktop's file manager. + + + + +
+ + + Standard Status Icons + + + + Name + Description + + + + + appointment-missed + +The icon used when an appointment was missed. + + + + appointment-soon + +The icon used when an appointment will occur soon. + + + + audio-volume-high + +The icon used to indicate high audio volume. + + + + audio-volume-low + +The icon used to indicate low audio volume. + + + + audio-volume-medium + +The icon used to indicate medium audio volume. + + + + audio-volume-muted + +The icon used to indicate the muted state for audio playback. + + + + battery-caution + +The icon used when the battery is below 40%. + + + + battery-low + +The icon used when the battery is below 20%. + + + + dialog-error + +The icon used when a dialog is opened to explain an error +condition to the user. + + + + dialog-information + +The icon used when a dialog is opened to give information +to the user that may be pertinent to the requested action. + + + + dialog-password + +The icon used when a dialog requesting the authentication +credentials for a user is opened. + + + + dialog-question + +The icon used when a dialog is opened to ask a simple + question of the user. + + + + dialog-warning + +The icon used when a dialog is opened to warn the user of +impending issues with the requested action. + + + + folder-drag-accept + +The icon used for a folder while an object is being +dragged onto it, that is of a type that the directory can contain. + + + + folder-open + +The icon used for folders, while their contents are being +displayed within the same window. This icon would normally be +shown in a tree or list view, next to the main view of a folder's contents. + + + + folder-visiting + +The icon used for folders, while their contents are being +displayed in another window. This icon would typically be used +when using multiple windows to navigate the hierarchy, such as +in Nautilus's spatial mode. + + + + image-loading + +The icon used when another image is being loaded, such as +thumnails for larger images in the file manager. + + + + image-missing + +The icon used when another image could not be loaded. + + + + mail-attachment + +The icon used for an electronic mail that contains attachments. + + + + mail-unread + +The icon used for an electronic mail that is unread. + + + + mail-read + +The icon used for an electronic mail that is read. + + + + mail-replied + +The icon used for an electronic mail that has been replied to. + + + + mail-signed + +The icon used for an electronic mail that contains a signature. + + + + mail-signed-verified + +The icon used for an electronic mail that contains a signature +which has also been verified by the security system. + + + + media-playlist-repeat + +The icon for the repeat mode of a media player. + + + + media-playlist-shuffle + +The icon for the shuffle mode of a media player. + + + + network-error + +The icon used when an error occurs trying to intialize the network connection +of the computing device. This icon should be two computers, one in the +background, with the screens of both computers, colored black, and with the +theme's style element for errors, overlayed on top of the icon. + + + + network-idle + +The icon used when no data is being transmitted or received, while the +computing device is connected to a network. This icon should be two computers, +one in the background, with the screens of both computers, colored black. + + + + network-offline + +The icon used when the computing device is disconnected from the network. This +icon should be a computer in the background, with a screen colored black, and +the theme's icon element to show that a device is not accessible, in the +foreground. + + + + network-receive + +The icon used when data is being received, while the computing device is +connected to a network. This icon should be two computers, one in the +background, with its screen colored green, and the screen of the computer in +the foreground, colored black. + + + + network-transmit + +The icon used when data is being transmitted, while the computing device is +connected to a network. This icon should be two computers, one in the +background, with its screen colored black, and the screen of the computer in +the foreground, colored green. + + + + + network-transmit-receive + +The icon used data is being both transmitted and received simultaneously, +while the computing device is connected to a network. This icon should be two +computers, one in the background, with the screens of both computers, colored +green. + + + + printer-error + +The icon used when an error occurs while attempting to print. This icon should +be the theme's printer device icon, with the theme's style element for errors, +overlayed on top of the icon. + + + + printer-printing + +The icon used while a print job is successfully being spooled to a printing +device. This icon should be the theme's printer device icon, with a document +emerging from the printing device. + + + + security-high + +The icon used to indicate that the security level of a connection is known +to be secure, using strong encryption and a valid certificate. + + + + security-medium + +The icon used to indicate that the security level of a connection is presumed +to be secure, using strong encryption, and a certificate that could not be +automatically verified, but which the user has chosen to trust. + + + + security-low + +The icon used to indicate that the security level of a connection is presumed +to be insecure, either by using weak encryption, or by using a certificate that +the could not be automatically verified, and which the user has not chosent to +trust. + + + + software-update-available + +The icon used when an update is available for software installed +on the computing device, through the system software update program. + + + + software-update-urgent + +The icon used when an urgent update is available through the +system software update program. + + + + sync-error + +The icon used when an error occurs while attempting to +synchronize data from the computing device, to another device. + + + + sync-synchronizing + +The icon used while data is successfully synchronizing to another device. + + + + task-due + +The icon used when a task is due soon. + + + + task-past-due + +The icon used when a task that was due, has been left incomplete. + + + + user-away + +The icon used when a user on a chat network is away from their +keyboard and the chat program. + + + + user-idle + +The icon used when a user on a chat network has not been an +active participant in any chats on the network, for an extended period of time. + + + + user-offline + +The icon used when a user on a chat network is not available. + + + + user-online + +The icon used when a user on a chat network is available to +initiate a conversation with. + + + + user-trash-full + +The icon for the user's Trash in the desktop's +file manager, when there are items in the Trash +waiting for disposal or recovery. + + + + weather-clear + +The icon used while the weather for a region is clear skies. + + + + weather-clear-night + +The icon used while the weather for a region is clear skies +during the night. + + + + weather-few-clouds + +The icon used while the weather for a region is partly cloudy. + + + + weather-few-clouds-night + +The icon used while the weather for a region is partly cloudy +during the night. + + + + weather-fog + +The icon used while the weather for a region is foggy. + + + + weather-overcast + +The icon used while the weather for a region is overcast. + + + + weather-severe-alert + +The icon used while a sever weather alert is in effect for a region. + + + + weather-showers + +The icon used while rain showers are occurring in a region. + + + + weather-showers-scattered + +The icon used while scattered rain showers are occurring in a region. + + + + weather-snow + +The icon used while snow showers are occurring in a region. + + + + weather-storm + +The icon used while storms are occurring in a region. + + + + +
+ +
+ + + Change History + + Version 0.8, 1 August 2006, Rodney Dawes + + + + Add "view-restore" and "utilities-system-monitor" + + + Add "folder-new" and "mail-send" + + + Add "object-flip-horizontal" and "object-flip-vertical" + + + Add "object-rotate-left" and "object-rotate-right" + + + Add "applications-engineering" and "applications-science" + + + Remove duplicate "preferences-desktop-accessibility" + + + Rename "drive-cdrom" to "drive-optical" + + + Rename "media-cdrom" to "media-optical" + + + Add "media-flash", "media-tape", and "modem" + + + Add "security-high", "security-medium", and "security-low" + + + + + + Version 0.7, 15 February 2006, Rodney Dawes + + + + Remove the wallpaper-* icon names + + + Align text blocks to the left + + + Add "weather-few-clouds-night" and "weather-clear-night" to +the status context + + + Remove "network-online" from the status context + + + Add "network-idle", "network-receive", "network-transmit", +and "network-transmit-receive" to the status context + + + Update the printer status icon definitions + + + + + + Version 0.6, 07 December 2005, Rodney Dawes + + + + + Add the "Animations" and "Places" contexts + + + + + Add "media-eject" to the actions context + + + + + Move "media-playlist-shuffle" to the status context + + + + + Add the "process-working" animation to the animations context + + + + + Add "battery", "camera-photo", "media-floppy", "multimedia-player", + "network-wired", and "network-wireless" to the devices context + + + + + Remove the printer-remote and video-card icons from devices + + + + + Rename "emblem-favorites" to "emblem-favorite" + + + + + Add "application-x-executable", "package-x-generic", + "text-x-generic-template", and "text-x-script" to the + mimetypes context + + + + + Rename "x-directory-normal" to "folder" and move it to the + places context + + + + + Rename "x-directory-remote" to "folder-remote" and move it to the + places context + + + + + Rename "x-directory-normal-remote-server" to "network-server" + and move it to the places context + + + + + Rename "x-directory-normal-remote-workgroup" to + "network-workgroup" and move it to the places context + + + + + Rename "x-directory-trash" to "user-trash" + and move it to the places context + + + + + Rename "x-directory-trash-full" to "user-trash-full" and move + it to the status context + + + + + Add "start-here", "user-desktop", and "user-home" to the places + context + + + + + Add "folder-drag-accept", "folder-open", "folder-visiting", and + "media-playlist-repeat" to the status context + + + + + + + Version 0.4, 10 October 2005, Rodney Dawes + + + + + Use "The icon" instead of "This icon" for "contact-new" and + "battery-low" + + + + + Add icons for "preferences-desktop-accessibility" and + "preferences-desktop-font" in the apps context + + + + + Fix typo in "drive-cdrom" name + + + + + Rename "x-font-generic" to "font-x-generic" to match other MIME + type icons such as for audio, images, and video + + + + + Add icons for "image-loading" and "image-missing" to status + + + + + + + Version 0.3, 28 June 2005, Rodney Dawes + + + + + Replace "printer-local" with "printer" to be more generic. + + + + + Import into freedesktop.org cvs alongside icon-theme-spec.xml + + + + + Add missing icon descriptions. + + + + + + + Version 0.2, 01 April 2005, Jakub Steiner + + + + + Fixed two small typographical errors. + + + + + + + Version 0.1, 29 March 2005, Rodney Dawes + + + + + Created initial draft. + + + + + + +
diff --git a/sound-theme/icon-theme-spec.xml b/sound-theme/icon-theme-spec.xml new file mode 100644 index 0000000..7554b0f --- /dev/null +++ b/sound-theme/icon-theme-spec.xml @@ -0,0 +1,986 @@ + + +
+ + Icon Theme Specification + Version 0.11 + February 7 2006 + + + Alexander + Larsson + +
+ alexl@redhat.com +
+
+
+ + Frans + Englich + +
+ frans.englich@telia.com +
+
+
+
+
+ + + Overview + + An icon theme is a set of icons that share a common look and + feel. The user can then select the icon theme that they want to + use, and all apps use icons from the theme. The initial user of + icon themes is the icon field of the desktop file specification, + but in the future it can have other uses (such as mimetype + icons). + + + From a programmer perspective an icon theme is just a + mapping. Given a set of directories to look for icons in and a theme + name it maps from icon name and nominal icon size to an icon filename. + + + + + Definitions + + + Icon Theme + + + An icon theme is a named set of icons. It is used to map + from an iconname and size to a file. Themes may inherit + from other themes as a way to extend them. + + + + + Icon file + + + An icon file is an image that can be loaded and used as an + icon. The supported image file formats are PNG, XPM and SVG. + PNG is the recommended bitmap format, and SVG is for + vectorized icons. XPM is supported due to backwards + compability reasons, and it is not recommended that new + themes use XPM files. Support for SVGs is optional. + + + + + Base Directory + + + Icons and themes are searched for in a set of directories, + called base directories. The themes are stored in + subdirectories of the base directories. + + + + + + + + Directory Layout + + Icons and themes are looked for in a set of directories. By + default, apps should look in $HOME/.icons (for backwards compatibility), + in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order). + Applications may further add + their own icon directories to this list, and users may extend or + change the list (in application/desktop specific ways).In each of + these directories themes are stored as subdirectories. A theme can + be spread across several base directories by having subdirectories of + the same name. This way users can extend and override system + themes. + + + In order to have a place for third party applications to install + their icons there should always exist a theme called "hicolor" + This name is chosen for backwards compatibility with the old + KDE default theme. + The data for the hicolor theme is available for download at: + http://www.freedesktop.org/software/icon-theme/. + Implementations are required to look in the "hicolor" theme if + an icon was not found in the current theme. + + + Each theme is stored as subdirectories of the base + directories. The internal name of the theme is the name of the + subdirectory, although the user-visible name as specified by the + theme may be different. Hence, theme names are case sensitive, and + are limited to ASCII characters. Theme names may also not contain + comma or space. + + + In at least one of the theme directories there must be a file + called index.theme that describes the theme. The first index.theme + found while searching the base directories in order is used. This + file describes the general attributes of the theme. + + + In the theme directory are also a set of subdirectories containing + image files. Each directory contains icons designed for a certain + nominal icon size, as described by the index.theme file. The + subdirectories are allowed to be several levels deep, e.g. the + subdirectory "48x48/apps" in the theme "hicolor" would end up at + $basedir/hicolor/48x48/apps. + + + The image files must be one of the types: PNG, XPM, or SVG, and + the extension must be ".png", ".xpm", or ".svg" (lower case). The + support for SVG files is optional. Implementations that do not + support SVGs should just ignore any ".svg" files. In + addition to this there may be an additional file with extra + icon-data for each file. It should have the same basename as the + image file, with the extension ".icon". e.g. if the icon file is + called "mime_source_c.png" the corresponding file would be named + "mime_source_c.icon". + + + + + File Formats + + Both the icon theme description file and the icon data files are + ini-style text files, as described in the desktop file + specification. They don't have any encoding field. Instead, they + must always be stored in UTF-8 encoding. + + + The index.theme file must start with a section called Icon + Theme, with contents according to table 1 below. All lists are + comma-separated. + + Standard Keys + + + + Key + Description + Value Type + Required + + + + + Name + + short name of the icon theme, used in e.g. lists when + selecting themes. + + localestring + YES + + + Comment + + longer string describing the theme + + localestring + YES + + + Inherits + + + The name of the theme that this theme inherits from. If an icon + name is not found in the current theme, it is searched for in the + inherited theme (and recursively in all the inherited themes). + + + If no theme is specified implementations are required to add + the "hicolor" theme to the inheritance tree. An implementation + may optionally add other default themes in between the last + specified theme and the hicolor theme. + + + strings + NO + + + Directories + + list of subdirectories for this theme. For every + subdirectory there must be a section in the index.theme + file describing that directory. + + strings + YES + + + Hidden + + Whether to hide the theme in a theme selection user interface. + This is used for things such as fallback-themes that are not supposed + to be visible to the user. + + boolean + NO + + + Example + + The name of an icon that should be used as an example of + how this theme looks. + + string + NO + + + +
+
+ + Each directory specified in the Directory key has a corresponding section + with the same name as the directory. The contents of this section is + listed in table 2 below. + + Per-Directory Keys + + + + Key + Description + Value Type + Required + Type + + + + + Size + + Nominal size of the icons in this directory. + + integer + YES + + + Context + + The context the icon is normally used in. This + is in detail discussed in . + + string + NO + + + Type + + The type of icon sizes for the icons in this + directory. Valid types are Fixed, Scalable and + Threshold. The type decides what other keys in the + section are used. If not specified, the default is + Threshold. + + string + NO + + + MaxSize + + Specifies the maximum size that the icons in this + directory can be scaled to. Defaults to the value + of Size if not present. + + integer + NO + Scalable + + + MinSize + + Specifies the minimum size that the icons in this + directory can be scaled to. Defaults to the value + of Size if not present. + + integer + NO + Scalable + + + Threshold + + The icons in this directory can be used if the size differ + at most this much from the desired size. Defaults to 2 if not + present. + + integer + NO + Threshold + + + +
+
+ + In addition to these groups you may add extra groups to the + index.theme file in order to extend it. These extensions must + begin with "X-", and can be used to add desktop specific + information to the theme file. Example group names would be "X-KDE + Icon Theme" or "X-Gnome Icon Theme". + + + The optional filename.icon file contains a group called "Icon + Data", with the content listed in table 3. + + Icon Data Keys + + + + Key + Description + Value Type + Required + + + + + DisplayName + + A translated UTF8 string that can be used instead of the + icon name when the icon is listen in e.g. a user interface. + + localestring + NO + + + EmbeddedTextRectangle + + If this exists, it specifies the four corners of a + rectangle where the program displaying the icon can + embed text. This is normally used by e.g. file managers + that want to display a preview of text file contents in + the icon. The corners are specified by a list of four + values: x0,y0,x1,y1. The values are pixel coordinates + from the top left corner of the icon, except for SVG + files, where they are specified in a 1000x1000 + coordinate space that is scaled to the final rendered + size of the icon. + + integers + NO + + + AttachPoints + + A list of points, separated by "|" that may be used as + anchor points for emblems/overlays. The points are pixel + coordinates from the top left corner of the icon, except + for SVG files, where they are specified in a 1000x1000 + coordinate space that is scaled to the final rendered + size of the icon. + + points + NO + + + +
+
+ + Extensions to the filename.icon file are allowed, but the + keys must be begin with "X-" to avoid collisions with future + standardized extensions to this format. + + + + Context + + The Context allows + the designer to group icons on a conceptual level. + It doesn't act as a namespace in the file system, such + that icons can have identical names, but allows + implementations to categorize and sort by it, for example. + + + These are the available contexts: + + + + + Actions + Icons representing actions which the user initiates, such as Save As. + + + + + + Devices + Icons representing real world devices, + such as printers and mice. It's not for + file system nodes such as character or block devices. + + + + + + FileSystems + Icons for objects which are represented as + part of the file system. This is for example, + the local network, Home, + and Desktop folders. + + + + + + MimeTypes + Icons representing MIME types. + + + + + + +
+ + + Icon Lookup + + The icon lookup mechanism has two global settings, the list of + base directories and the internal name of the current theme. Given + these we need to specify how to look up an icon file from the icon + name and the nominal size. + + + The lookup is done first in the current theme, and then + recursively in each of the current theme's parents, and + finally in the default theme called "hicolor" (implementations may + add more default themes before "hicolor", but "hicolor" must be + last). As soon as there is an icon of any size that matches in a + theme, the search is stopped. Even if there may be an icon with a + size closer to the correct one in an inherited theme, we don't want + to use it. Doing so may generate an inconsistant change in an icon + when you change icon sizes (e.g. zoom in). + + + The lookup inside a theme is done in three phases. First all the + directories are scanned for an exact match, e.g. one where the + allowed size of the icon files match what was looked up. Then all + the directories are scanned for any icon that matches the name. If + that fails we finally fall back on unthemed icons. If we fail to + find any icon at all it is up to the application to pick a good + fallback, as the correct choice depends on the context. + + + The exact algorithm (in pseudocode) for looking up an icon in a theme + (if the implementation supports SVG) is: + +FindIcon(icon, size) { + filename = FindIconHelper(icon, size, user selected theme); + if filename != none + return filename + + filename = FindIconHelper(icon, size, "hicolor"); + if filename != none + return filename + + return LookupFallbackIcon (icon) +} +FindIconHelper(icon, size, theme) { + filename = LookupIcon (icon, size, theme) + if filename != none + return filename + + if theme has parents + parents = theme.parents + + for parent in parents { + filename = FindIconHelper (icon, size, parent) + if filename != none + return filename + } + return none +} + + With the following helper functions: + +LookupIcon (iconname, size, theme) { + for each subdir in $(theme subdir list) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + if DirectoryMatchesSize(subdir, size) { + filename = directory/$(themename)/subdir/iconname.extension + if exist filename + return filename + } + } + } + } + minimal_size = MAXINT + for each subdir in $(theme subdir list) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + filename = directory/$(themename)/subdir/iconname.extension + if exist filename and DirectorySizeDistance(subdir, size) < minimal_size { + closest_filename = filename + minimal_size = DirectorySizeDistance(subdir, size) + } + } + } + } + if closest_filename set + return closest_filename + return none +} + +LookupFallbackIcon (iconname) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + if exists directory/iconname.extension + return directory/iconname.extension + } + } + return none +} + +DirectoryMatchesSize(subdir, iconsize) { + read Type and size data from subdir + if Type is Fixed + return Size == iconsize + if Type is Scaled + return MinSize <= iconsize <= MaxSize + if Type is Threshold + return Size - Threshold <= iconsize <= Size + Threshold +} + +DirectorySizeDistance(subdir, size) { + read Type and size data from subdir + if Type is Fixed + return abs(Size - iconsize) + if Type is Scaled + if iconsize < MinSize + return MinSize - iconsize + if iconsize > MaxSize + return iconsize - MaxSize + return 0 + if Type is Threshold + if iconsize < Size - Threshold + return MinSize - iconsize + if iconsize > Size + Threshold + return iconsize - MaxSize + return 0 +} + + + + In some cases you don't always want to fall back to an icon in an + inherited theme. For instance, sometimes you look for a set of + icons, prefering any of them before using an icon from an inherited + theme. To support such operations implementations can contain a + function that finds the first of a list of icon names in the inheritance + hierarchy. I.E. It would look something like this: + +FindBestIcon(iconList, size) { + filename = FindBestIconHelper(iconList, size, user selected theme); + if filename != none + return filename + + filename = FindBestIconHelper(iconList, size, "hicolor"); + if filename != none + return filename + + for icon in iconList { + filename = LookupFallbackIcon (icon) + if filename != none + return filename + } + return none; +} +FindBestIconHelper(iconList, size, theme) { + for icon in iconList { + filename = LookupIcon (icon, size, theme) + if filename != none + return filename + } + + if theme has parents + parents = theme.parents + + for parent in parents { + filename = FindBestIconHelper (iconList, size, parent) + if filename != none + return filename + } + return none +} + + This can be very useful for example when handling mimetype icons, where there + are more and less "specific" versions of icons. + + + + + Example + + Here is an example index.theme file: + [Icon Theme] +Name=Birch +Name[sv]=Björk +Comment=Icon theme with a wooden look +Comment[sv]=Träinspirerat ikontema +Inherits=wood,default +Directories=48x48/apps,48x48/mimetypes,32x32/apps,scalable/apps,scalable/mimetypes + +[scalable/apps] +Size=48 +Type=Scalable +MinSize=1 +MaxSize=256 +Context=Applications + +[scalable/mimetypes] +Size=48 +Type=Scalable +MinSize=1 +MaxSize=256 +Context=MimeTypes + +[32x32/apps] +Size=32 +Type=Fixed +Context=Applications + +[48x48/apps] +Size=48 +Type=Fixed +Context=Applications + +[48x48/mimetypes] +Size=48 +Type=Fixed +Context=MimeTypes + The corresponding directory tree in the /usr/share/icons + directory could look like this: + birch/index.theme +birch/scalable/apps/mozilla.svg +birch/scalable/mimetypes/mime_text_plain.svg +birch/scalable/mimetypes/mime_text_plain.icon +birch/48x48/apps/mozilla.png +birch/32x32/apps/mozilla.png +birch/48x48/mimetypes/mime_text_plain.png +birch/48x48/mimetypes/mime_text_plain.icon +Where birch/scalable/mimetypes/mime_text_plain.icon contains: + [Icon Data] +DisplayName=Mime text/plain +EmbeddedTextRectangle=100,100,900,900 +AttachPoints=200,200|800,200|500,500|200,800|800,800 +And birch/48x48/mimetypes/mime_text_plain.icon contains: + [Icon Data] +DisplayName=Mime text/plain +EmbeddedTextRectangle=8,8,40,40 +AttachPoints=20,20|40,40|50,10|10,50 + + + In this example a lookup of "mozilla" would get the prerendered + 48x48 and 32x32 icons before the SVG icons due to the order of + Directories. + + + + + + Installing Application Icons + + So, you're an application author, and want to install application icons + so that they work in the KDE and Gnome menus. Minimally you should install + a 48x48 icon in the hicolor theme. This means installing a PNG file in + $prefix/share/icons/hicolor/48x48/apps. Optionally you can install icons in different + sizes. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps + means most desktops will have one icon that works for all sizes. You might even want to + install icons with a look that matches other well known themes so your application + will fit in with some specific desktop environment. + + + It is recommended that the icons installed in the hicolor theme look neutral, + since it is a fallback theme that will be used in combination with some very + different looking themes. But if you don't have any neutral icon, please install + whatever icon you have in the hicolor theme so that all applications get at + least some icon in all themes. + + + + + Implementation Notes + + The algorithm as described in this document works by always + looking up filenames in directories (a stat in unix + terminology). A good implementation is expected to read the + directories once, and do all lookups in memory using that + information. + + + This caching can make it impossible for users to add icons without + having to restart applications. In order to handle this, any + implementation that does caching is required to look at the mtime + of the toplevel icon directories when doing a cache lookup, unless + it already did so less than 5 seconds ago. This means that any + icon editor or theme installation program need only to change the + mtime of the the toplevel directory where it changed the theme to + make sure that the new icons will eventually get used. + + + + + Background + + The icon theme specification is based on the original + KDE icon theme system designed by Antonio Larossa, + Geert Janssen and Torsten Rahn. The common specification + mostly adds support for .icon files, renames the icon theme + description files and removes a few references to kde in them. + + + + + Change history + + Version 0.12, 24 December 2006, Octavio Alvarez + + + + + Fixed "hicolor" lookup in the pseudocode, so it works with multiple + parents. + + + + + + + Version 0.11, 7 February 2006, Alexander Larsson + + + + + Fixed icon lookup clarification to work with multiple inheritance. + + + + + + + Version 0.10, 7 February 2006, Alexander Larsson + + + + + Clarify that icon lookup looks in all parent themes before + falling back to nonthemed icons. + + + + + Added lookup function that takes a list of icon names (FindBestIcon) + + + + + + + Version 0.9, 4 April 2005, Alexander Larsson + + + + + Cleanups and fixes to language from Rodney Dawes and + Frans Englich. + + + + + Added section describing Contexts in more details (by + Frans Englich). + + + + + + + Version 0.8, 5 February 2004, Alexander Larsson + + + + + Fix language problems as pointed out by Rodney Dawes and + Michael Terry. + + + + + Added background section. + + + + + + + Version 0.7, 13 September 2003, Heinrich Wendel + + + + + Converted to basedir spec. + + + + + Changed type of MaxSize, MinSize and Threshold to integer. + + + + + Removed typo in code example. + + + + + Corrected path to default-icon-theme. + + + + + + + Version 0.6, 2 December 2002, Alexander Larsson + + + + + Added Hidden key. + + + + + Removed multiple inheritance. + + + + + Renamed the default theme hicolor. + + + + + Added the application icon install section. + + + + + Fixed some xml issues. + + + + + + + Version 0.5, 18 September 2002, Alexander Larsson + + + + + Added DisplayName to icon data. + + + + + Fixed up example svg icon data. + + + + + Fixed some spelling and grammar errors. + + + + + + + Version 0.4, 16 May 2002, Alexander Larsson + + + + + Fixed some spelling and grammar errors. + + + + + + + Version 0.3, 14 May 2002, Alexander Larsson + + + + + Made support for SVGs optional. + + + + + Added a default fallback theme. + + + + + Changed the example directory layout a bit to + match the default theme. + + + + + + + Version 0.2, 29 April 2002, Alexander Larsson + + + + + Changed search order to png, svg, xpm. + + + + + Added comment to say that xpm is supported for backwards + compat and not recommended in new themes. + + + + + Default Type for a directory is now Threshold + + + + + Added implementation notes section. + + + + + Added Example key. + + + + + + + Version 0.1, 22 April 2002, Alexander Larsson + + + + + Created initial draft. + + + + + + +
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml new file mode 100644 index 0000000..7554b0f --- /dev/null +++ b/sound-theme/sound-theme-spec.xml @@ -0,0 +1,986 @@ + + +
+ + Icon Theme Specification + Version 0.11 + February 7 2006 + + + Alexander + Larsson + +
+ alexl@redhat.com +
+
+
+ + Frans + Englich + +
+ frans.englich@telia.com +
+
+
+
+
+ + + Overview + + An icon theme is a set of icons that share a common look and + feel. The user can then select the icon theme that they want to + use, and all apps use icons from the theme. The initial user of + icon themes is the icon field of the desktop file specification, + but in the future it can have other uses (such as mimetype + icons). + + + From a programmer perspective an icon theme is just a + mapping. Given a set of directories to look for icons in and a theme + name it maps from icon name and nominal icon size to an icon filename. + + + + + Definitions + + + Icon Theme + + + An icon theme is a named set of icons. It is used to map + from an iconname and size to a file. Themes may inherit + from other themes as a way to extend them. + + + + + Icon file + + + An icon file is an image that can be loaded and used as an + icon. The supported image file formats are PNG, XPM and SVG. + PNG is the recommended bitmap format, and SVG is for + vectorized icons. XPM is supported due to backwards + compability reasons, and it is not recommended that new + themes use XPM files. Support for SVGs is optional. + + + + + Base Directory + + + Icons and themes are searched for in a set of directories, + called base directories. The themes are stored in + subdirectories of the base directories. + + + + + + + + Directory Layout + + Icons and themes are looked for in a set of directories. By + default, apps should look in $HOME/.icons (for backwards compatibility), + in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order). + Applications may further add + their own icon directories to this list, and users may extend or + change the list (in application/desktop specific ways).In each of + these directories themes are stored as subdirectories. A theme can + be spread across several base directories by having subdirectories of + the same name. This way users can extend and override system + themes. + + + In order to have a place for third party applications to install + their icons there should always exist a theme called "hicolor" + This name is chosen for backwards compatibility with the old + KDE default theme. + The data for the hicolor theme is available for download at: + http://www.freedesktop.org/software/icon-theme/. + Implementations are required to look in the "hicolor" theme if + an icon was not found in the current theme. + + + Each theme is stored as subdirectories of the base + directories. The internal name of the theme is the name of the + subdirectory, although the user-visible name as specified by the + theme may be different. Hence, theme names are case sensitive, and + are limited to ASCII characters. Theme names may also not contain + comma or space. + + + In at least one of the theme directories there must be a file + called index.theme that describes the theme. The first index.theme + found while searching the base directories in order is used. This + file describes the general attributes of the theme. + + + In the theme directory are also a set of subdirectories containing + image files. Each directory contains icons designed for a certain + nominal icon size, as described by the index.theme file. The + subdirectories are allowed to be several levels deep, e.g. the + subdirectory "48x48/apps" in the theme "hicolor" would end up at + $basedir/hicolor/48x48/apps. + + + The image files must be one of the types: PNG, XPM, or SVG, and + the extension must be ".png", ".xpm", or ".svg" (lower case). The + support for SVG files is optional. Implementations that do not + support SVGs should just ignore any ".svg" files. In + addition to this there may be an additional file with extra + icon-data for each file. It should have the same basename as the + image file, with the extension ".icon". e.g. if the icon file is + called "mime_source_c.png" the corresponding file would be named + "mime_source_c.icon". + + + + + File Formats + + Both the icon theme description file and the icon data files are + ini-style text files, as described in the desktop file + specification. They don't have any encoding field. Instead, they + must always be stored in UTF-8 encoding. + + + The index.theme file must start with a section called Icon + Theme, with contents according to table 1 below. All lists are + comma-separated. + + Standard Keys + + + + Key + Description + Value Type + Required + + + + + Name + + short name of the icon theme, used in e.g. lists when + selecting themes. + + localestring + YES + + + Comment + + longer string describing the theme + + localestring + YES + + + Inherits + + + The name of the theme that this theme inherits from. If an icon + name is not found in the current theme, it is searched for in the + inherited theme (and recursively in all the inherited themes). + + + If no theme is specified implementations are required to add + the "hicolor" theme to the inheritance tree. An implementation + may optionally add other default themes in between the last + specified theme and the hicolor theme. + + + strings + NO + + + Directories + + list of subdirectories for this theme. For every + subdirectory there must be a section in the index.theme + file describing that directory. + + strings + YES + + + Hidden + + Whether to hide the theme in a theme selection user interface. + This is used for things such as fallback-themes that are not supposed + to be visible to the user. + + boolean + NO + + + Example + + The name of an icon that should be used as an example of + how this theme looks. + + string + NO + + + +
+
+ + Each directory specified in the Directory key has a corresponding section + with the same name as the directory. The contents of this section is + listed in table 2 below. + + Per-Directory Keys + + + + Key + Description + Value Type + Required + Type + + + + + Size + + Nominal size of the icons in this directory. + + integer + YES + + + Context + + The context the icon is normally used in. This + is in detail discussed in . + + string + NO + + + Type + + The type of icon sizes for the icons in this + directory. Valid types are Fixed, Scalable and + Threshold. The type decides what other keys in the + section are used. If not specified, the default is + Threshold. + + string + NO + + + MaxSize + + Specifies the maximum size that the icons in this + directory can be scaled to. Defaults to the value + of Size if not present. + + integer + NO + Scalable + + + MinSize + + Specifies the minimum size that the icons in this + directory can be scaled to. Defaults to the value + of Size if not present. + + integer + NO + Scalable + + + Threshold + + The icons in this directory can be used if the size differ + at most this much from the desired size. Defaults to 2 if not + present. + + integer + NO + Threshold + + + +
+
+ + In addition to these groups you may add extra groups to the + index.theme file in order to extend it. These extensions must + begin with "X-", and can be used to add desktop specific + information to the theme file. Example group names would be "X-KDE + Icon Theme" or "X-Gnome Icon Theme". + + + The optional filename.icon file contains a group called "Icon + Data", with the content listed in table 3. + + Icon Data Keys + + + + Key + Description + Value Type + Required + + + + + DisplayName + + A translated UTF8 string that can be used instead of the + icon name when the icon is listen in e.g. a user interface. + + localestring + NO + + + EmbeddedTextRectangle + + If this exists, it specifies the four corners of a + rectangle where the program displaying the icon can + embed text. This is normally used by e.g. file managers + that want to display a preview of text file contents in + the icon. The corners are specified by a list of four + values: x0,y0,x1,y1. The values are pixel coordinates + from the top left corner of the icon, except for SVG + files, where they are specified in a 1000x1000 + coordinate space that is scaled to the final rendered + size of the icon. + + integers + NO + + + AttachPoints + + A list of points, separated by "|" that may be used as + anchor points for emblems/overlays. The points are pixel + coordinates from the top left corner of the icon, except + for SVG files, where they are specified in a 1000x1000 + coordinate space that is scaled to the final rendered + size of the icon. + + points + NO + + + +
+
+ + Extensions to the filename.icon file are allowed, but the + keys must be begin with "X-" to avoid collisions with future + standardized extensions to this format. + + + + Context + + The Context allows + the designer to group icons on a conceptual level. + It doesn't act as a namespace in the file system, such + that icons can have identical names, but allows + implementations to categorize and sort by it, for example. + + + These are the available contexts: + + + + + Actions + Icons representing actions which the user initiates, such as Save As. + + + + + + Devices + Icons representing real world devices, + such as printers and mice. It's not for + file system nodes such as character or block devices. + + + + + + FileSystems + Icons for objects which are represented as + part of the file system. This is for example, + the local network, Home, + and Desktop folders. + + + + + + MimeTypes + Icons representing MIME types. + + + + + + +
+ + + Icon Lookup + + The icon lookup mechanism has two global settings, the list of + base directories and the internal name of the current theme. Given + these we need to specify how to look up an icon file from the icon + name and the nominal size. + + + The lookup is done first in the current theme, and then + recursively in each of the current theme's parents, and + finally in the default theme called "hicolor" (implementations may + add more default themes before "hicolor", but "hicolor" must be + last). As soon as there is an icon of any size that matches in a + theme, the search is stopped. Even if there may be an icon with a + size closer to the correct one in an inherited theme, we don't want + to use it. Doing so may generate an inconsistant change in an icon + when you change icon sizes (e.g. zoom in). + + + The lookup inside a theme is done in three phases. First all the + directories are scanned for an exact match, e.g. one where the + allowed size of the icon files match what was looked up. Then all + the directories are scanned for any icon that matches the name. If + that fails we finally fall back on unthemed icons. If we fail to + find any icon at all it is up to the application to pick a good + fallback, as the correct choice depends on the context. + + + The exact algorithm (in pseudocode) for looking up an icon in a theme + (if the implementation supports SVG) is: + +FindIcon(icon, size) { + filename = FindIconHelper(icon, size, user selected theme); + if filename != none + return filename + + filename = FindIconHelper(icon, size, "hicolor"); + if filename != none + return filename + + return LookupFallbackIcon (icon) +} +FindIconHelper(icon, size, theme) { + filename = LookupIcon (icon, size, theme) + if filename != none + return filename + + if theme has parents + parents = theme.parents + + for parent in parents { + filename = FindIconHelper (icon, size, parent) + if filename != none + return filename + } + return none +} + + With the following helper functions: + +LookupIcon (iconname, size, theme) { + for each subdir in $(theme subdir list) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + if DirectoryMatchesSize(subdir, size) { + filename = directory/$(themename)/subdir/iconname.extension + if exist filename + return filename + } + } + } + } + minimal_size = MAXINT + for each subdir in $(theme subdir list) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + filename = directory/$(themename)/subdir/iconname.extension + if exist filename and DirectorySizeDistance(subdir, size) < minimal_size { + closest_filename = filename + minimal_size = DirectorySizeDistance(subdir, size) + } + } + } + } + if closest_filename set + return closest_filename + return none +} + +LookupFallbackIcon (iconname) { + for each directory in $(basename list) { + for extension in ("png", "svg", "xpm") { + if exists directory/iconname.extension + return directory/iconname.extension + } + } + return none +} + +DirectoryMatchesSize(subdir, iconsize) { + read Type and size data from subdir + if Type is Fixed + return Size == iconsize + if Type is Scaled + return MinSize <= iconsize <= MaxSize + if Type is Threshold + return Size - Threshold <= iconsize <= Size + Threshold +} + +DirectorySizeDistance(subdir, size) { + read Type and size data from subdir + if Type is Fixed + return abs(Size - iconsize) + if Type is Scaled + if iconsize < MinSize + return MinSize - iconsize + if iconsize > MaxSize + return iconsize - MaxSize + return 0 + if Type is Threshold + if iconsize < Size - Threshold + return MinSize - iconsize + if iconsize > Size + Threshold + return iconsize - MaxSize + return 0 +} + + + + In some cases you don't always want to fall back to an icon in an + inherited theme. For instance, sometimes you look for a set of + icons, prefering any of them before using an icon from an inherited + theme. To support such operations implementations can contain a + function that finds the first of a list of icon names in the inheritance + hierarchy. I.E. It would look something like this: + +FindBestIcon(iconList, size) { + filename = FindBestIconHelper(iconList, size, user selected theme); + if filename != none + return filename + + filename = FindBestIconHelper(iconList, size, "hicolor"); + if filename != none + return filename + + for icon in iconList { + filename = LookupFallbackIcon (icon) + if filename != none + return filename + } + return none; +} +FindBestIconHelper(iconList, size, theme) { + for icon in iconList { + filename = LookupIcon (icon, size, theme) + if filename != none + return filename + } + + if theme has parents + parents = theme.parents + + for parent in parents { + filename = FindBestIconHelper (iconList, size, parent) + if filename != none + return filename + } + return none +} + + This can be very useful for example when handling mimetype icons, where there + are more and less "specific" versions of icons. + + + + + Example + + Here is an example index.theme file: + [Icon Theme] +Name=Birch +Name[sv]=Björk +Comment=Icon theme with a wooden look +Comment[sv]=Träinspirerat ikontema +Inherits=wood,default +Directories=48x48/apps,48x48/mimetypes,32x32/apps,scalable/apps,scalable/mimetypes + +[scalable/apps] +Size=48 +Type=Scalable +MinSize=1 +MaxSize=256 +Context=Applications + +[scalable/mimetypes] +Size=48 +Type=Scalable +MinSize=1 +MaxSize=256 +Context=MimeTypes + +[32x32/apps] +Size=32 +Type=Fixed +Context=Applications + +[48x48/apps] +Size=48 +Type=Fixed +Context=Applications + +[48x48/mimetypes] +Size=48 +Type=Fixed +Context=MimeTypes + The corresponding directory tree in the /usr/share/icons + directory could look like this: + birch/index.theme +birch/scalable/apps/mozilla.svg +birch/scalable/mimetypes/mime_text_plain.svg +birch/scalable/mimetypes/mime_text_plain.icon +birch/48x48/apps/mozilla.png +birch/32x32/apps/mozilla.png +birch/48x48/mimetypes/mime_text_plain.png +birch/48x48/mimetypes/mime_text_plain.icon +Where birch/scalable/mimetypes/mime_text_plain.icon contains: + [Icon Data] +DisplayName=Mime text/plain +EmbeddedTextRectangle=100,100,900,900 +AttachPoints=200,200|800,200|500,500|200,800|800,800 +And birch/48x48/mimetypes/mime_text_plain.icon contains: + [Icon Data] +DisplayName=Mime text/plain +EmbeddedTextRectangle=8,8,40,40 +AttachPoints=20,20|40,40|50,10|10,50 + + + In this example a lookup of "mozilla" would get the prerendered + 48x48 and 32x32 icons before the SVG icons due to the order of + Directories. + + + + + + Installing Application Icons + + So, you're an application author, and want to install application icons + so that they work in the KDE and Gnome menus. Minimally you should install + a 48x48 icon in the hicolor theme. This means installing a PNG file in + $prefix/share/icons/hicolor/48x48/apps. Optionally you can install icons in different + sizes. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps + means most desktops will have one icon that works for all sizes. You might even want to + install icons with a look that matches other well known themes so your application + will fit in with some specific desktop environment. + + + It is recommended that the icons installed in the hicolor theme look neutral, + since it is a fallback theme that will be used in combination with some very + different looking themes. But if you don't have any neutral icon, please install + whatever icon you have in the hicolor theme so that all applications get at + least some icon in all themes. + + + + + Implementation Notes + + The algorithm as described in this document works by always + looking up filenames in directories (a stat in unix + terminology). A good implementation is expected to read the + directories once, and do all lookups in memory using that + information. + + + This caching can make it impossible for users to add icons without + having to restart applications. In order to handle this, any + implementation that does caching is required to look at the mtime + of the toplevel icon directories when doing a cache lookup, unless + it already did so less than 5 seconds ago. This means that any + icon editor or theme installation program need only to change the + mtime of the the toplevel directory where it changed the theme to + make sure that the new icons will eventually get used. + + + + + Background + + The icon theme specification is based on the original + KDE icon theme system designed by Antonio Larossa, + Geert Janssen and Torsten Rahn. The common specification + mostly adds support for .icon files, renames the icon theme + description files and removes a few references to kde in them. + + + + + Change history + + Version 0.12, 24 December 2006, Octavio Alvarez + + + + + Fixed "hicolor" lookup in the pseudocode, so it works with multiple + parents. + + + + + + + Version 0.11, 7 February 2006, Alexander Larsson + + + + + Fixed icon lookup clarification to work with multiple inheritance. + + + + + + + Version 0.10, 7 February 2006, Alexander Larsson + + + + + Clarify that icon lookup looks in all parent themes before + falling back to nonthemed icons. + + + + + Added lookup function that takes a list of icon names (FindBestIcon) + + + + + + + Version 0.9, 4 April 2005, Alexander Larsson + + + + + Cleanups and fixes to language from Rodney Dawes and + Frans Englich. + + + + + Added section describing Contexts in more details (by + Frans Englich). + + + + + + + Version 0.8, 5 February 2004, Alexander Larsson + + + + + Fix language problems as pointed out by Rodney Dawes and + Michael Terry. + + + + + Added background section. + + + + + + + Version 0.7, 13 September 2003, Heinrich Wendel + + + + + Converted to basedir spec. + + + + + Changed type of MaxSize, MinSize and Threshold to integer. + + + + + Removed typo in code example. + + + + + Corrected path to default-icon-theme. + + + + + + + Version 0.6, 2 December 2002, Alexander Larsson + + + + + Added Hidden key. + + + + + Removed multiple inheritance. + + + + + Renamed the default theme hicolor. + + + + + Added the application icon install section. + + + + + Fixed some xml issues. + + + + + + + Version 0.5, 18 September 2002, Alexander Larsson + + + + + Added DisplayName to icon data. + + + + + Fixed up example svg icon data. + + + + + Fixed some spelling and grammar errors. + + + + + + + Version 0.4, 16 May 2002, Alexander Larsson + + + + + Fixed some spelling and grammar errors. + + + + + + + Version 0.3, 14 May 2002, Alexander Larsson + + + + + Made support for SVGs optional. + + + + + Added a default fallback theme. + + + + + Changed the example directory layout a bit to + match the default theme. + + + + + + + Version 0.2, 29 April 2002, Alexander Larsson + + + + + Changed search order to png, svg, xpm. + + + + + Added comment to say that xpm is supported for backwards + compat and not recommended in new themes. + + + + + Default Type for a directory is now Threshold + + + + + Added implementation notes section. + + + + + Added Example key. + + + + + + + Version 0.1, 22 April 2002, Alexander Larsson + + + + + Created initial draft. + + + + + + +
-- cgit v1.2.3 From d04ccf9881ce8b0369dccb32477e702ffefeb1a3 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 11 Feb 2008 13:12:37 +0200 Subject: On going work --- sound-theme/sound-theme-spec.xml | 675 +++++++++------------------------------ 1 file changed, 145 insertions(+), 530 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 7554b0f..3bbe4c0 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -1,28 +1,19 @@ -
- Icon Theme Specification - Version 0.11 - February 7 2006 + Sound Theme Specification + Version 0.1 + February 11 2008 - Alexander - Larsson + Marc-Andre + Lureau
- alexl@redhat.com -
-
-
- - Frans - Englich - -
- frans.englich@telia.com + marc-andre.lureau@nokia.com
@@ -32,17 +23,16 @@ Overview - An icon theme is a set of icons that share a common look and - feel. The user can then select the icon theme that they want to - use, and all apps use icons from the theme. The initial user of - icon themes is the icon field of the desktop file specification, - but in the future it can have other uses (such as mimetype - icons). + A sound theme is a set of sounds that share a common feel, or + instrument set. The user can then select the sound theme that + they want to use, and all apps use sounds from the theme. The + initial user of sounds themes is the desktop notification + service. But it can have other uses. - From a programmer perspective an icon theme is just a - mapping. Given a set of directories to look for icons in and a theme - name it maps from icon name and nominal icon size to an icon filename. + From a programmer perspective a sound theme is just a + mapping. Given a set of directories to look for sounds in and a + theme name it maps from sound name to an sound filename. @@ -50,25 +40,23 @@ Definitions - Icon Theme + Sound Theme - An icon theme is a named set of icons. It is used to map - from an iconname and size to a file. Themes may inherit + A sound theme is a named set of sounds. It is used to map + from a sound name. Themes may inherit from other themes as a way to extend them. - Icon file + Sound file - An icon file is an image that can be loaded and used as an - icon. The supported image file formats are PNG, XPM and SVG. - PNG is the recommended bitmap format, and SVG is for - vectorized icons. XPM is supported due to backwards - compability reasons, and it is not recommended that new - themes use XPM files. Support for SVGs is optional. + The supported sound file formats are WAV/PCM 48kHz, 16bits, + and OGG/Vorbis. WAV is the recommended uncompressed format, + and OGG/Vorbis is for compressed. Support for OGGs is + optional. @@ -76,7 +64,7 @@ Base Directory - Icons and themes are searched for in a set of directories, + Sounds and themes are searched for in a set of directories, called base directories. The themes are stored in subdirectories of the base directories. @@ -88,26 +76,22 @@ Directory Layout - Icons and themes are looked for in a set of directories. By - default, apps should look in $HOME/.icons (for backwards compatibility), - in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order). - Applications may further add - their own icon directories to this list, and users may extend or - change the list (in application/desktop specific ways).In each of - these directories themes are stored as subdirectories. A theme can - be spread across several base directories by having subdirectories of - the same name. This way users can extend and override system - themes. + Sounds and themes are looked for in a set of directories. By + default, apps should look in $XDG_DATA_DIRS/sounds. Applications + may further add their own sound directories to this list, and + users may extend or change the list (in application/desktop + specific ways).In each of these directories themes are stored as + subdirectories. A theme can be spread across several base + directories by having subdirectories of the same name. This way + users can extend and override system themes. In order to have a place for third party applications to install - their icons there should always exist a theme called "hicolor" - This name is chosen for backwards compatibility with the old - KDE default theme. - The data for the hicolor theme is available for download at: - http://www.freedesktop.org/software/icon-theme/. - Implementations are required to look in the "hicolor" theme if - an icon was not found in the current theme. + their sounds there should always exist a theme called + "freedesktop" The data for the freedesktop theme is available for + download at: http://www.freedesktop.org/software/sound-theme/. + Implementations are required to look in the "freedesktop" theme if + a sound was not found in the current theme. Each theme is stored as subdirectories of the base @@ -125,35 +109,33 @@ In the theme directory are also a set of subdirectories containing - image files. Each directory contains icons designed for a certain - nominal icon size, as described by the index.theme file. The - subdirectories are allowed to be several levels deep, e.g. the - subdirectory "48x48/apps" in the theme "hicolor" would end up at - $basedir/hicolor/48x48/apps. + sound files. The subdirectories are allowed to be several levels + deep, e.g. the subdirectory "alerts/fr" in the theme "freedesktop" + would end up at $basedir/freedesktop/alerts/fr. (FIXME) - The image files must be one of the types: PNG, XPM, or SVG, and - the extension must be ".png", ".xpm", or ".svg" (lower case). The - support for SVG files is optional. Implementations that do not - support SVGs should just ignore any ".svg" files. In + The sounds files must be one of the types: WAV/PCM 48kHz, 16 bits or OGG/Vorbis. + The extension must be ".wav", or ".ogg" respectively (lower case). The + support for OGG files is optional. Implementations that do not + support OGGs should just ignore any ".ogg" files. In addition to this there may be an additional file with extra - icon-data for each file. It should have the same basename as the - image file, with the extension ".icon". e.g. if the icon file is - called "mime_source_c.png" the corresponding file would be named - "mime_source_c.icon". + sound-data for each file. It should have the same basename as the + sound file, with the extension ".sound". e.g. if the sound file is + called "system-log-out.wav" the corresponding file would be named + "system-log-out.sound". File Formats - Both the icon theme description file and the icon data files are + Both the sound theme description file and the sound data files are ini-style text files, as described in the desktop file - specification. They don't have any encoding field. Instead, they + specification. They don't have any encoding field. Instead, they must always be stored in UTF-8 encoding. - The index.theme file must start with a section called Icon + The index.theme file must start with a section called Sound Theme, with contents according to table 1 below. All lists are comma-separated. @@ -171,7 +153,7 @@ Name - short name of the icon theme, used in e.g. lists when + short name of the sound theme, used in e.g. lists when selecting themes. localestring @@ -189,15 +171,15 @@ Inherits - The name of the theme that this theme inherits from. If an icon + The name of the theme that this theme inherits from. If a sound name is not found in the current theme, it is searched for in the inherited theme (and recursively in all the inherited themes). If no theme is specified implementations are required to add - the "hicolor" theme to the inheritance tree. An implementation + the "freedesktop" theme to the inheritance tree. An implementation may optionally add other default themes in between the last - specified theme and the hicolor theme. + specified theme and the freedesktop theme. strings @@ -226,8 +208,8 @@ Example - The name of an icon that should be used as an example of - how this theme looks. + The name of a sound that should be used as an example of + how this theme sounds like. string NO @@ -254,9 +236,9 @@ - Size + Length - Nominal size of the icons in this directory. + Nominal length in seconds of the sounds in this directory. (FIXME) integer YES @@ -264,57 +246,12 @@ Context - The context the icon is normally used in. This + The context the icon is normally used in. This is in detail discussed in . string NO - - Type - - The type of icon sizes for the icons in this - directory. Valid types are Fixed, Scalable and - Threshold. The type decides what other keys in the - section are used. If not specified, the default is - Threshold. - - string - NO - - - MaxSize - - Specifies the maximum size that the icons in this - directory can be scaled to. Defaults to the value - of Size if not present. - - integer - NO - Scalable - - - MinSize - - Specifies the minimum size that the icons in this - directory can be scaled to. Defaults to the value - of Size if not present. - - integer - NO - Scalable - - - Threshold - - The icons in this directory can be used if the size differ - at most this much from the desired size. Defaults to 2 if not - present. - - integer - NO - Threshold -
@@ -324,13 +261,13 @@ index.theme file in order to extend it. These extensions must begin with "X-", and can be used to add desktop specific information to the theme file. Example group names would be "X-KDE - Icon Theme" or "X-Gnome Icon Theme". + Sound Theme" or "X-Gnome Sound Theme".
- The optional filename.icon file contains a group called "Icon + The optional filename.sound file contains a group called "Sound Data", with the content listed in table 3. - Icon Data Keys + Sound Data Keys @@ -350,42 +287,12 @@ localestring NO - - EmbeddedTextRectangle - - If this exists, it specifies the four corners of a - rectangle where the program displaying the icon can - embed text. This is normally used by e.g. file managers - that want to display a preview of text file contents in - the icon. The corners are specified by a list of four - values: x0,y0,x1,y1. The values are pixel coordinates - from the top left corner of the icon, except for SVG - files, where they are specified in a 1000x1000 - coordinate space that is scaled to the final rendered - size of the icon. - - integers - NO - - - AttachPoints - - A list of points, separated by "|" that may be used as - anchor points for emblems/overlays. The points are pixel - coordinates from the top left corner of the icon, except - for SVG files, where they are specified in a 1000x1000 - coordinate space that is scaled to the final rendered - size of the icon. - - points - NO -
- Extensions to the filename.icon file are allowed, but the + Extensions to the filename.sound file are allowed, but the keys must be begin with "X-" to avoid collisions with future standardized extensions to this format. @@ -393,10 +300,10 @@ Context - The Context allows - the designer to group icons on a conceptual level. - It doesn't act as a namespace in the file system, such - that icons can have identical names, but allows + The Context allows + the designer to group sounds on a conceptual level. + It doesn't act as a namespace in the file system, such + that sounds can have identical names, but allows implementations to categorize and sort by it, for example. @@ -405,87 +312,79 @@ - Actions - Icons representing actions which the user initiates, such as Save As. + Alerts + Sounds to alert the user of an action or event + which may have a major imact on the system or their + current use case, such as + dialog-error. - Devices - Icons representing real world devices, - such as printers and mice. It's not for - file system nodes such as character or block devices. + Notifications + Sounds to notify the user that the system, or their + current use case has changed state in some way, e.g. new email + arriving, new non-critical update available... - FileSystems - Icons for objects which are represented as - part of the file system. This is for example, - the local network, Home, - and Desktop folders. + Support + Sounds that give the user feedback on their + actions. Sounds on window opening / closing for + example. - - - MimeTypes - Icons representing MIME types. - - - - +
- - Icon Lookup + + Sound Lookup - The icon lookup mechanism has two global settings, the list of + The sound lookup mechanism has two global settings, the list of base directories and the internal name of the current theme. Given - these we need to specify how to look up an icon file from the icon - name and the nominal size. + these we need to specify how to look up sound file from the sound + name. The lookup is done first in the current theme, and then - recursively in each of the current theme's parents, and - finally in the default theme called "hicolor" (implementations may - add more default themes before "hicolor", but "hicolor" must be - last). As soon as there is an icon of any size that matches in a - theme, the search is stopped. Even if there may be an icon with a - size closer to the correct one in an inherited theme, we don't want - to use it. Doing so may generate an inconsistant change in an icon - when you change icon sizes (e.g. zoom in). + recursively in each of the current theme's parents, and finally in + the default theme called "freedesktop" (implementations may add + more default themes before "freedesktop", but "freedesktop" must + be last). As soon as there is a sound that matches in a theme, the + search is stopped. The lookup inside a theme is done in three phases. First all the directories are scanned for an exact match, e.g. one where the - allowed size of the icon files match what was looked up. Then all - the directories are scanned for any icon that matches the name. If - that fails we finally fall back on unthemed icons. If we fail to - find any icon at all it is up to the application to pick a good + locale of the sound match what was looked up. Then all + the directories are scanned for any sound that matches the name. If + that fails we finally fall back on unthemed sound. If we fail to + find any sound at all it is up to the application to pick a good fallback, as the correct choice depends on the context. - The exact algorithm (in pseudocode) for looking up an icon in a theme - (if the implementation supports SVG) is: + The exact algorithm (in pseudocode) for looking up a sound in a theme + (if the implementation supports OGG) is: -FindIcon(icon, size) { - filename = FindIconHelper(icon, size, user selected theme); +FindSound(sound, locale) { + filename = FindSoundHelper(sound, locale, user selected theme); if filename != none return filename - filename = FindIconHelper(icon, size, "hicolor"); + filename = FindSoundHelper(sound, locale, "freedesktop"); if filename != none return filename - return LookupFallbackIcon (icon) + return LookupFallbackSound (sound) } -FindIconHelper(icon, size, theme) { - filename = LookupIcon (icon, size, theme) +FindSoundHelper(sound, locale, theme) { + filename = LookupIcon (sound, locale, theme) if filename != none return filename @@ -493,7 +392,7 @@ FindIconHelper(icon, size, theme) { parents = theme.parents for parent in parents { - filename = FindIconHelper (icon, size, parent) + filename = FindSoundHelper (sound, locale, parent) if filename != none return filename } @@ -502,46 +401,32 @@ FindIconHelper(icon, size, theme) { With the following helper functions: -LookupIcon (iconname, size, theme) { +LookupSound (sound, locale, theme) { for each subdir in $(theme subdir list) { for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - if DirectoryMatchesSize(subdir, size) { - filename = directory/$(themename)/subdir/iconname.extension + for extension in ("wav", "ogg") { + if DirectoryMatchesLocale(subdir, size) { + filename = directory/$(themename)/subdir/sound.extension if exist filename return filename } } } } - minimal_size = MAXINT - for each subdir in $(theme subdir list) { - for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - filename = directory/$(themename)/subdir/iconname.extension - if exist filename and DirectorySizeDistance(subdir, size) < minimal_size { - closest_filename = filename - minimal_size = DirectorySizeDistance(subdir, size) - } - } - } - } - if closest_filename set - return closest_filename return none } -LookupFallbackIcon (iconname) { +LookupFallbackSound (sound) { for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - if exists directory/iconname.extension - return directory/iconname.extension + for extension in ("wav", "ogg") { + if exists directory/sound.extension + return directory/sound.extension } } return none } -DirectoryMatchesSize(subdir, iconsize) { +DirectoryMatchesLocale(subdir, locale) { read Type and size data from subdir if Type is Fixed return Size == iconsize @@ -550,51 +435,34 @@ DirectoryMatchesSize(subdir, iconsize) { if Type is Threshold return Size - Threshold <= iconsize <= Size + Threshold } - -DirectorySizeDistance(subdir, size) { - read Type and size data from subdir - if Type is Fixed - return abs(Size - iconsize) - if Type is Scaled - if iconsize < MinSize - return MinSize - iconsize - if iconsize > MaxSize - return iconsize - MaxSize - return 0 - if Type is Threshold - if iconsize < Size - Threshold - return MinSize - iconsize - if iconsize > Size + Threshold - return iconsize - MaxSize - return 0 -} - In some cases you don't always want to fall back to an icon in an - inherited theme. For instance, sometimes you look for a set of - icons, prefering any of them before using an icon from an inherited - theme. To support such operations implementations can contain a - function that finds the first of a list of icon names in the inheritance - hierarchy. I.E. It would look something like this: + In some cases you don't always want to fall back to a sound in + an inherited theme. For instance, sometimes you look for a set + of sounds, prefering any of them before using a sound from an + inherited theme. To support such operations implementations can + contain a function that finds the first of a list of sound names + in the inheritance hierarchy. I.E. It would look something like + this: -FindBestIcon(iconList, size) { - filename = FindBestIconHelper(iconList, size, user selected theme); +FindBestSound(soundlist, size) { + filename = FindBestSoundHelper(iconList, size, user selected theme); if filename != none return filename - filename = FindBestIconHelper(iconList, size, "hicolor"); + filename = FindBestSoundHelper(iconList, size, "freedesktop"); if filename != none return filename for icon in iconList { - filename = LookupFallbackIcon (icon) + filename = LookupFallbackSound (icon) if filename != none return filename } return none; } -FindBestIconHelper(iconList, size, theme) { +FindBestSoundHelper(soundlist, size, theme) { for icon in iconList { filename = LookupIcon (icon, size, theme) if filename != none @@ -621,43 +489,19 @@ FindBestIconHelper(iconList, size, theme) { Example Here is an example index.theme file: - [Icon Theme] + [Sound Theme] Name=Birch -Name[sv]=Björk -Comment=Icon theme with a wooden look -Comment[sv]=Träinspirerat ikontema +Name[fr]=Bouleau +Comment=Sound theme using wooden instruments +Comment[fr]=Theme utilisant des instruments en bois Inherits=wood,default -Directories=48x48/apps,48x48/mimetypes,32x32/apps,scalable/apps,scalable/mimetypes +Directories= [scalable/apps] -Size=48 -Type=Scalable -MinSize=1 -MaxSize=256 -Context=Applications - -[scalable/mimetypes] -Size=48 -Type=Scalable -MinSize=1 -MaxSize=256 -Context=MimeTypes - -[32x32/apps] -Size=32 -Type=Fixed -Context=Applications - -[48x48/apps] -Size=48 -Type=Fixed Context=Applications -[48x48/mimetypes] -Size=48 -Type=Fixed -Context=MimeTypes - The corresponding directory tree in the /usr/share/icons + + The corresponding directory tree in the /usr/share/sounds directory could look like this: birch/index.theme birch/scalable/apps/mozilla.svg @@ -686,17 +530,17 @@ AttachPoints=20,20|40,40|50,10|10,50 - - Installing Application Icons + + Installing Application Sounds - So, you're an application author, and want to install application icons - so that they work in the KDE and Gnome menus. Minimally you should install - a 48x48 icon in the hicolor theme. This means installing a PNG file in - $prefix/share/icons/hicolor/48x48/apps. Optionally you can install icons in different - sizes. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps + So, you're an application author, and you want to install sounds + so that they can be used by your application. Minimally you should install + the sound file in the "freedesktop" theme. This means installing a WAV file in + $XDG_DATA_DIRS/sounds/freedesktop/. Optionally you can install sounds in different + languages. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps means most desktops will have one icon that works for all sizes. You might even want to install icons with a look that matches other well known themes so your application - will fit in with some specific desktop environment. + will fit in with some specific desktop environment. It is recommended that the icons installed in the hicolor theme look neutral, @@ -717,7 +561,7 @@ AttachPoints=20,20|40,40|50,10|10,50 information. - This caching can make it impossible for users to add icons without + This caching can make it impossible for users to add sounds without having to restart applications. In order to handle this, any implementation that does caching is required to look at the mtime of the toplevel icon directories when doing a cache lookup, unless @@ -738,245 +582,16 @@ AttachPoints=20,20|40,40|50,10|10,50 description files and removes a few references to kde in them. - + Change history - Version 0.12, 24 December 2006, Octavio Alvarez - - - - - Fixed "hicolor" lookup in the pseudocode, so it works with multiple - parents. - - - - - - - Version 0.11, 7 February 2006, Alexander Larsson - - - - - Fixed icon lookup clarification to work with multiple inheritance. - - - - - - - Version 0.10, 7 February 2006, Alexander Larsson - - - - - Clarify that icon lookup looks in all parent themes before - falling back to nonthemed icons. - - - - - Added lookup function that takes a list of icon names (FindBestIcon) - - - - - - - Version 0.9, 4 April 2005, Alexander Larsson - - - - - Cleanups and fixes to language from Rodney Dawes and - Frans Englich. - - - - - Added section describing Contexts in more details (by - Frans Englich). - - - - - - - Version 0.8, 5 February 2004, Alexander Larsson - - - - - Fix language problems as pointed out by Rodney Dawes and - Michael Terry. - - - - - Added background section. - - - - - - - Version 0.7, 13 September 2003, Heinrich Wendel - - - - - Converted to basedir spec. - - - - - Changed type of MaxSize, MinSize and Threshold to integer. - - - - - Removed typo in code example. - - - - - Corrected path to default-icon-theme. - - - - - - - Version 0.6, 2 December 2002, Alexander Larsson - - - - - Added Hidden key. - - - - - Removed multiple inheritance. - - - - - Renamed the default theme hicolor. - - - - - Added the application icon install section. - - - - - Fixed some xml issues. - - - - - - - Version 0.5, 18 September 2002, Alexander Larsson - - - - - Added DisplayName to icon data. - - - - - Fixed up example svg icon data. - - - - - Fixed some spelling and grammar errors. - - - - - - - Version 0.4, 16 May 2002, Alexander Larsson - - - - - Fixed some spelling and grammar errors. - - - - - - - Version 0.3, 14 May 2002, Alexander Larsson - - - - - Made support for SVGs optional. - - - - - Added a default fallback theme. - - - - - Changed the example directory layout a bit to - match the default theme. - - - - - - - Version 0.2, 29 April 2002, Alexander Larsson - - - - - Changed search order to png, svg, xpm. - - - - - Added comment to say that xpm is supported for backwards - compat and not recommended in new themes. - - - - - Default Type for a directory is now Threshold - - - - - Added implementation notes section. - - - - - Added Example key. - - - - - - - Version 0.1, 22 April 2002, Alexander Larsson + Version 0.1, 11 February 2008, Marc-Andre Lureau - Created initial draft. + Initial draft. -- cgit v1.2.3 From 5fc5806e0cab51875201a38907a6f7c9f2944406 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 11 Feb 2008 14:06:53 +0200 Subject: some cleanup in configure/Makefile/ChangeLog --- sound-theme/sound-theme-spec.xml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 3bbe4c0..2a0dc02 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -88,7 +88,7 @@ In order to have a place for third party applications to install their sounds there should always exist a theme called - "freedesktop" The data for the freedesktop theme is available for + "freedesktop". The data for the freedesktop theme is available for download at: http://www.freedesktop.org/software/sound-theme/. Implementations are required to look in the "freedesktop" theme if a sound was not found in the current theme. @@ -564,22 +564,19 @@ AttachPoints=20,20|40,40|50,10|10,50 This caching can make it impossible for users to add sounds without having to restart applications. In order to handle this, any implementation that does caching is required to look at the mtime - of the toplevel icon directories when doing a cache lookup, unless + of the toplevel sound directories when doing a cache lookup, unless it already did so less than 5 seconds ago. This means that any - icon editor or theme installation program need only to change the + sound editor or theme installation program need only to change the mtime of the the toplevel directory where it changed the theme to - make sure that the new icons will eventually get used. + make sure that the new sounds will eventually get used. Background - The icon theme specification is based on the original - KDE icon theme system designed by Antonio Larossa, - Geert Janssen and Torsten Rahn. The common specification - mostly adds support for .icon files, renames the icon theme - description files and removes a few references to kde in them. + The sound theme specification is based on the "Icon Theme + Specification" by Alexander Larsson and Frans Englich. -- cgit v1.2.3 From b210c62a255a90ed0f686dc4a87096ac5296e7b5 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 11 Feb 2008 14:29:54 +0200 Subject: changing fdo theme default system/context/locale --- sound-theme/icon-naming-spec.xml | 2413 -------------------------------------- sound-theme/icon-theme-spec.xml | 986 ---------------- sound-theme/sound-theme-spec.xml | 6 +- 3 files changed, 3 insertions(+), 3402 deletions(-) delete mode 100644 sound-theme/icon-naming-spec.xml delete mode 100644 sound-theme/icon-theme-spec.xml diff --git a/sound-theme/icon-naming-spec.xml b/sound-theme/icon-naming-spec.xml deleted file mode 100644 index e653acc..0000000 --- a/sound-theme/icon-naming-spec.xml +++ /dev/null @@ -1,2413 +0,0 @@ - - -
- - Icon Naming Specification - Version 0.8.90 - August 9 2007 - - - Rodney - Dawes - -
- dobey.pwns@gmail.com -
-
-
-
-
- - - Overview - -The Icon Theme Specification has been in use now for a while, in several -desktops, including KDE and Gnome. However, there has never been any -centralized direction on how to name the icons that are available for use -by applications, when creating a theme. This has meant that artists have -historically had to duplicate many icons, in order for their themes to -work across desktop environments. - - -This specification aims to solve this problem, by laying out a standard -naming scheme for icon creation, as well as providing a minimal list of -must have icons, and a larger list with many more examples to help with -the creation of extended icons for third party applications, devices, -and new MIME types. - - - - - Context - - - The list of default Contexts for the icon theme are: - - - - Standard Contexts - - - - - Name - Description - Directory - - - - - Actions - -Icons which are generally used in menus and dialogs for -interacting with the user. - - actions - - - Animations - -Animated images used to represent loading web sites, or other -background processing which may be less suited to more verbose -progress reporting in the user itnerface. - - animations - - - Applications - -Icons that describe what an application is, for use in the -Programs menu, window decorations, and the task list. These may -or may not be generic depending on the application and its -purpose. Applications which are to be considered part of the base desktop, -such as the calculator or terminal, should use the generic icons specified in -this specification, while more advanced applications such as web browsers and -office applications should use branded icons which still give the user an idea -of what function the application provides. - - apps - - - Categories - -Icons that are used for categories in the Programs menu, or -the Control Center, for separating applications, preferences, and -settings for display to the user. - - categories - - - Devices - -Icons for hardware that is contained within or connected to the -computing device. Naming for extended devices in this group, is of the form -<primary function>-<manufacturer>-<model>. This allows ease -of fallback to the primary function device name, or ones more targeted for -a specific series of models from a manufacturer. For example, a theme author -may want to provide icons for different phones. The specific model icons could -be named phone-samsung-t809, phone-motorola-rokr, -and phone-motorola-pebl. However, the theme must provide a phone -icon in the theme's style, so that devices not matching these models, will -still have an appropriate icon. An exception to this rule is that the -media icons do not need to include manufacturer names, as they -are generic items, and may be available from many manufacturers. As a result, -for media, the specific icons are to differentiate between different specific -types of media. For exmaple, an artist may wish to provide icons for BluRay, -DVD, HD-DVD, CD-ROM, and variations thereof. The specific media type icons -should be named in the form, <primary function>-<specific format>. -Some examples are media-optical, media-optical-bd -and media-optical-dvd. - - devices - - - Emblems - -Icons for tags and properties of files, that are displayed in the -file manager. This context contains emblems for such things as -read-only or photos. - - emblems - - - Emotes - -Icons for emotions that are expressed through text chat -applications such as :-) or :-P in IRC or instant messengers. - - emotes - - - International - -Icons for international denominations such as flags. - - intl - - - MimeTypes - -Icons for different types of data, such as audio or image files. - - mimetypes - - - Places - -Icons used to represent locations, either on the local -filesystem, or through remote connections. Folders, trash, and -workgroups are some examples. - - places - - - Status - -Icons for presenting status to the user. This context contains -icons for warning and error dialogs, as well as for the current -weather, appointment alarms, and battery status. - - status - - - -
-
- - - Icon Naming Guidelines - - -Here we define some guidelines for when creating new icons that extend -the standardized list of icon names defined here, in order to provide -icons for more specific MIME types, devices, or international flags. - - - -Icon names are in the en_US.US_ASCII locale. This means that the -allowable characters in the icon names, must fall withing the -US-ASCII character set. As a further restriction, all icon names -may only contain lowercase letters, numbers, underscore, dash, or -period characters. Spaces, colons, slashes, and backslashes are -not allowed. Also, icon names must be spelled as they are in the -en_US dictionary. - - - - -The dash - character is used to separate levels of -specificity in icon names, for all contexts other than MimeTypes. -For instance, we use input-mouse as the generic -item for all mouse devices, and we use input-mouse-usb -for a USB mouse device. However, if the more specific item does not exist -in the current theme, and does exist in a parent theme, the generic icon -from the current theme is preferred, in order to keep consistent style. - - - - -Icons for branded applications should be named the same as the binary -executable for the application. - - - - - - - - Standard Icon Names - - -This section describes the standard icon names that should be used by -artists when creating themes, and by developers when writing applications -which will use the Icon Theme Specification. - - - - Standard Action Icons - - - - Name - Description - - - - - address-book-new - -The icon used for the action to create a new address book. - - - - application-exit - -The icon used for exiting an application. Typically this is seen -in the application's menus as File->Quit. - - - - appointment-new - -The icon used for the action to create a new appointment -in a calendaring application. - - - - contact-new - -The icon used for the action to create a new contact -in an address book application. - - - - document-new - -The icon used for the action to create a new document. - - - - document-open - -The icon used for the action to open a document. - - - - document-open-recent - -The icon used for the action to open a document that -was recently opened. - - - - document-page-setup - -The icon for the page setup action of a document editor. - - - - document-print - -The icon for the print action of an application. - - - - document-print-preview - -The icon for the print preview action of an application. - - - - document-properties - -The icon for the action to view the properties of a -document in an application. - - - - document-revert - -The icon for the action of reverting to a previous -version of a document. - - - - document-save - -The icon for the save action. - - - - document-save-as - -The icon for the save as action. - - - - edit-clear - -The icon for the clear action. - - - - edit-copy - -The icon for the copy action. - - - - edit-cut - -The icon for the cut action. - - - - edit-delete - -The icon for the delete action. - - - - edit-find - -The icon for the find action. - - - - edit-find-replace - -The icon for the find and replace action. - - - - edit-paste - -The icon for the paste action. - - - - edit-redo - -The icon for the redo action. - - - - edit-select-all - -The icon for the select all action. - - - - edit-undo - -The icon for the undo action. - - - - folder-new - -The icon for creating a new folder. - - - - format-indent-less - -The icon for the decrease indent formatting action. - - - - format-indent-more - -The icon for the increase indent formatting action. - - - - format-justify-center - -The icon for the center justification formatting action. - - - - format-justify-fill - -The icon for the fill justification formatting action. - - - - format-justify-left - -The icon for the left justification formatting action. - - - - format-justify-right - -The icon for the right justification action. - - - - format-text-direction-ltr - -The icon for the left-to-right text formatting action. - - - - format-text-direction-rtl - -The icon for the right-to-left formatting action. - - - - format-text-bold - -The icon for the bold text formatting action. - - - - format-text-italic - -The icon for the italic text formatting action. - - - - format-text-underline - -The icon for the underlined text formatting action. - - - - format-text-strikethrough - -The icon for the strikethrough text formatting action. - - - - go-bottom - -The icon for the go to bottom of a list action. - - - - go-down - -The icon for the go down in a list action. - - - - go-first - -The icon for the go to the first item in a list action. - - - - go-home - -The icon for the go to home location action. - - - - go-jump - -The icon for the jump to action. - - - - go-last - -The icon for the go to the last item in a list action. - - - - go-next - -The icon for the go to the next item in a list action. - - - - go-previous - -The icon for the go to the previous item in a list action. - - - - go-top - -The icon for the go to the top of a list action. - - - - go-up - -The icon for the go up in a list action. - - - - help-about - -The icon for the About item in the Help menu. - - - - help-contents - -The icon for Contents item in the Help menu. - - - - help-faq - -The icon for the FAQ item in the Help menu. - - - - insert-image - -The icon for the insert image action of an application. - - - - insert-link - -The icon for the insert link action of an application. - - - - insert-object - -The icon for the insert object action of an application. - - - - insert-text - -The icon for the insert text action of an application. - - - - list-add - -The icon for the add to list action. - - - - list-remove - -The icon for the remove from list action. - - - - mail-forward - -The icon for the forward action of an electronic mail application. - - - - mail-mark-important - -The icon for the mark as important action of an electronic mail application. - - - - mail-mark-junk - -The icon for the mark as junk action of an electronic mail application. - - - - mail-mark-notjunk - -The icon for the mark as not junk action of an electronic mail application. - - - - mail-mark-read - -The icon for the mark as read action of an electronic mail application. - - - - mail-mark-unread - -The icon for the mark as unread action of an electronic mail application. - - - - mail-message-new - -The icon for the compose new mail action of an electronic mail application. - - - - mail-reply-all - -The icon for the reply to all action of an electronic mail application. - - - - mail-reply-sender - -The icon for the reply to sender action of an electronic mail application. - - - - mail-send - -The icon for the send action of an electronic mail application. - - - - mail-send-receive - -The icon for the send and receive action of an electronic mail application. - - - - media-eject - -The icon for the eject action of a media player or file manager. - - - - media-playback-pause - -The icon for the pause action of a media player. - - - - media-playback-start - -The icon for the start playback action of a media player. - - - - media-playback-stop - -The icon for the stop action of a media player. - - - - media-record - -The icon for the record action of a media application. - - - - media-seek-backward - -The icon for the seek backward action of a media player. - - - - media-seek-forward - -The icon for the seek forward action of a media player. - - - - media-skip-backward - -The icon for the skip backward action of a media player. - - - - media-skip-forward - -The icon for the skip forward action of a media player. - - - - object-flip-horizontal - -The icon for the action to flip an object horizontally. - - - - object-flip-vertical - -The icon for the action to flip an object vertically. - - - - object-rotate-left - -The icon for the rotate left action performed on an object. - - - - object-rotate-right - -The icon for the rotate rigt action performed on an object. - - - - process-stop - -The icon used for the Stop action in applications with actions -that may take a while to process, such as web page loading in a browser. - - - - system-lock-screen - -The icon used for the Lock Screen item in the desktop's -panel application. - - - - system-log-out - -The icon used for the Log Out item in -the desktop's panel application. - - - - system-run - -The icon used for the Run Application... item in -the desktop's panel application. - - - - system-search - -The icon used for the Search item in -the desktop's panel application. - - - - tools-check-spelling - -The icon used for the Check Spelling item in the -application's Tools menu. - - - - view-fullscreen - -The icon used for the Fullscreen item in the -application's View menu. - - - - view-refresh - -The icon used for the Refresh item in the -application's View menu. - - - - view-restore - -The icon used by an application for leaving the fullscreen view, and returning -to a normal windowed view. - - - - view-sort-ascending - -The icon used for the Sort Ascending item in the -application's View menu, or in a button for -changing the sort method for a list. - - - - view-sort-descending - -The icon used for the Sort Descending item in the -application's View menu, or in a button for -changing the sort method for a list. - - - - window-close - -The icon used for the Close Window item in the -application's Windows menu. - - - - window-new - -The icon used for the New Window item in the -application's Windows menu. - - - - zoom-fit-best - -The icon used for the Best Fit item in the -application's View menu. - - - - zoom-in - -The icon used for the Zoom in item in the -application's View menu. - - - - zoom-original - -The icon used for the Original Size item in the -application's View menu. - - - - zoom-out - -The icon used for the Zoom Out item in the -application's View menu. - - - - -
- - - Standard Animation Icons - - - - Name - Description - - - - - process-working - -This is the standard spinner animation for web browsers and -file managers to show that the location is loading. This image -should be a multi-frame PNG with the frames as the size that -the directory containing the image, is specified to be in. The -first frame of the animation should be used for the resting -state of the animation. - - - - -
- - - Standard Application Icons - - - - Name - Description - - - - - accessories-calculator - -The icon used for the desktop's calculator accessory program. - - - - accessories-character-map - -The icon used for the desktop's international and extended text -character accessory program. - - - - accessories-dictionary - -The icon used for the desktop's dictionary accessory program. - - - - accessories-text-editor - -The icon used for the desktop's text editing accessory program. - - - - help-browser - -The icon used for the desktop's help browsing application. - - - - multimedia-volume-control - -The icon used for the desktop's hardware volume control application. - - - - preferences-desktop-accessibility - -The icon used for the desktop's accessibility preferences. - - - - preferences-desktop-font - -The icon used for the desktop's font preferences. - - - - preferences-desktop-keyboard - -The icon used for the desktop's keyboard preferences. - - - - preferences-desktop-locale - -The icon used for the desktop's locale preferences. - - - - preferences-desktop-multimedia - -The icon used for the desktop's multimedia preferences. - - - - preferences-desktop-screensaver - -The icon used for the desktop's screen saving preferences. - - - - preferences-desktop-theme - -The icon used for the desktop's theme preferences. - - - - preferences-desktop-wallpaper - -The icon used for the desktop's wallpaper preferences. - - - - system-file-manager - -The icon used for the desktop's file management application. - - - - system-software-update - -The icon used for the desktop's software updating application. - - - - utilities-system-monitor - -The icon used for the desktop's system resource monitor application. - - - - utilities-terminal - -The icon used for the desktop's terminal emulation application. - - - - -
- - - Standard Category Icons - - - - Name - Description - - - - - applications-accessories - -The icon for the Accessories sub-menu of the Programs menu. - - - - applications-development - -The icon for the Programming sub-menu of the Programs menu. - - - - applications-engineering - -The icon for the Engineering sub-menu of the Programs menu. - - - - applications-games - -The icon for the Games sub-menu of the Programs menu. - - - - applications-graphics - -The icon for the Graphics sub-menu of the Programs menu. - - - - applications-internet - -The icon for the Internet sub-menu of the Programs menu. - - - - applications-multimedia - -The icon for the Multimedia sub-menu of the Programs menu. - - - - applications-office - -The icon for the Office sub-menu of the Programs menu. - - - - applications-other - -The icon for the Other sub-menu of the Programs menu. - - - - applications-science - -The icon for the Science sub-menu of the Programs menu. - - - - applications-system - -The icon for the System Tools sub-menu of the Programs menu. - - - - applications-utilities - -The icon for the Utilities sub-menu of the Programs menu. - - - - preferences-desktop - -The icon for the Desktop Preferences category. - - - - preferences-desktop-peripherals - -The icon for the Peripherals sub-category of -the Desktop Preferences category. - - - - preferences-desktop-personal - -The icon for the Personal sub-category of -the Desktop Preferences category. - - - - preferences-other - -The icon for the Other preferences category. - - - - preferences-system - -The icon for the System Preferences category. - - - - preferences-system-network - -The icon for the Network sub-category of -the System Preferences category. - - - - system-help - -The icon for the Help system category. - - - - -
- - - Standard Device Icons - - - - Name - Description - - - - - audio-card - -The icon used for the audio rendering device. - - - - audio-input-microphone - -The icon used for the microphone audio input device. - - - - battery - -The icon used for the system battery device. - - - - camera-photo - -The icon used for a digital still camera devices. - - - - camera-video - -The fallback icon for video cameras. - - - - camera-web - -The fallback icon for web cameras. - - - - computer - -The icon used for the computing device as a whole. - - - - drive-harddisk - -The icon used for hard disk drives. - - - - drive-optical - -The icon used for optical media drives such as CD and DVD. - - - - drive-removable-media - -The icon used for removable media drives. - - - - input-gaming - -The icon used for the gaming input device. - - - - input-keyboard - -The icon used for the keyboard input device. - - - - input-mouse - -The icon used for the mousing input device. - - - - input-tablet - -The icon used for graphics tablet input devices. - - - - media-flash - -The fallback icon used for flash media, such as memory stick and SD. - - - - media-floppy - -The icon used for physical floppy disk media. - - - - media-optical - -The icon used for physical optical media such as CD and DVD. - - - - media-tape - -The icon used for generic physical tape media. - - - - modem - -The icon used for modem devices. - - - - multimedia-player - -The icon used for generic multimedia playing devices. - - - - network-wired - -The icon used for wired network connections. - - - - network-wireless - -The icon used for wireless network connections. - - - - pda - -This is the fallback icon for Personal Digial Assistant devices. Primary use -of this icon is for PDA devices connected to the PC. Connection medium is not -an important aspect of the icon. The metaphor for this fallback icon should be -a generic PDA device icon. - - - - phone - -This is the default fallback for phone devices. Primary use of this icon group -is for phone devices which support connectivity to the PC. These may be VoIP, -cellular, or possibly landline phones. The metaphor for this fallback should be -a generic mobile phone device. - - - - printer - -The icon used for a printer device. - - - - scanner - -The icon used for a scanner device. - - - - video-display - -The icon used for the monitor that video gets displayed to. - - - - -
- - - Standard Emblem Icons - - - - Name - Description - - - - - emblem-default - -The icon used as an emblem to specify the default selection of a printer for -example. - - - - emblem-documents - -The icon used as an emblem for the directory where a user's documents are stored. - - - - emblem-downloads - -The icon used as an emblem for the directory where a user's -downloads from the internet are stored. - - - - emblem-favorite - -The icon used as an emblem for files and directories that the -user marks as favorites. - - - - emblem-important - -The icon used as an emblem for files and directories that are -marked as important by the user. - - - - emblem-mail - -The icon used as an emblem to specify the directory where the -user's electronic mail is stored. - - - - emblem-photos - -The icon used as an emblem to specify the directory where the -user stores photographs. - - - - emblem-readonly - -The icon used as an emblem for files and directories which can -not be written to by the user. - - - - emblem-shared - -The icon used as an emblem for files and directories that are -shared to other users. - - - - emblem-symbolic-link - -The icon used as an emblem for files and direcotires that are -links to other files or directories on the filesystem. - - - - emblem-synchronized - -The icon used as an emblem for files or directories that are -configured to be synchronized to another device. - - - - emblem-system - -The icon used as an emblem for directories that contain system -libraries, settings, and data. - - - - emblem-unreadable - -The icon used as an emblem for files and directories that are inaccessible. - - - - -
- - - Standard Emotion Icons - - - - Name - Description - - - - - face-angel - -The icon used for the 0:-) emote. - - - - face-angry - -The icon used for the X-( emote. - - - - face-cool - -The icon used for the B-) emote. - - - - face-crying - -The icon used for the :'( emote. - - - - face-devilish - -The icon used for the >:-) emote. - - - - face-embarrassed - -The icon used for the :-[ emote. - - - - face-kiss - -The icon used for the :-* emote. - - - - face-laugh - -The icon used for the :-)) emote. - - - - face-monkey - -The icon used for the :-(|) emote. - - - - face-plain - -The icon used for the :-| emote. - - - - face-raspberry - -The icon used for the :-P emote. - - - - face-sad - -The icon used for the :-( emote. - - - - face-sick - -The icon used for the :-& emote. - - - - face-smile - -The icon used for the :-) emote. - - - - face-smile-big - -The icon used for the :-D emote. - - - - face-smirk - -The icon used for the :-! emote. - - - - face-surprise - -The icon used for the :-0 emote. - - - - face-tired - -The icon used for the |-) emote. - - - - face-uncertain - -The icon used for the :-/ emote. - - - - face-wink - -The icon used for the ;-) emote. - - - - face-worried - -The icon used for the :-S emote. - - - - -
- - - Standard International Icons - - - - Name - Description - - - - - flag-aa - -The flag for the country with the ISO 3166 country code AA. All -flags should use ISO 3166 two-letter country codes, in lowercase -form, as the specifier for the country. - - - - -
- - - Standard MIME Type Icons - - - - Name - Description - - - - - application-x-executable - -The icon used for executable file types. - - - - audio-x-generic - -The icon used for generic audio file types. - - - - font-x-generic - -The icon used for generic font file types. - - - - image-x-generic - -The icon used for generic image file types. - - - - package-x-generic - -The icon used for generic package file types. - - - - text-html - -The icon used for HTML text file types. - - - - text-x-generic - -The icon used for generic text file types. - - - - text-x-generic-template - -The icon used for generic text templates. - - - - text-x-script - -The icon used for script file types, such as shell scripts. - - - - video-x-generic - -The icon used for generic video file types. - - - - x-office-address-book - -The icon used for generic address book file types. - - - - x-office-calendar - -The icon used for generic calendar file types. - - - - x-office-document - -The icon used for generic document and letter file types. - - - - x-office-presentation - -The icon used for generic presentation file types. - - - - x-office-spreadsheet - -The icon used for generic spreadsheet file types. - - - - -
- - - Standard Place Icons - - - - Name - Description - - - - - folder - -The standard folder icon used to represent directories on local -filesystems, mail folders, and other hierarchical groups. - - - - folder-remote - -The icon used for normal directories on a remote filesystem. - - - - network-server - -The icon used for individual host machines under the -Network Servers place in the file manager. - - - - network-workgroup - -The icon for the Network Servers place in the -desktop's file manager, and workgroups within the network. - - - - start-here - -The icon used by the desktop's main menu for accessing places, -applications, and other features. - - - - user-desktop - -The icon for the special Desktop directory of the user. - - - - user-home - -The icon for the special Home directory of the user. - - - - user-trash - -The icon for the user's Trash place in the -desktop's file manager. - - - - -
- - - Standard Status Icons - - - - Name - Description - - - - - appointment-missed - -The icon used when an appointment was missed. - - - - appointment-soon - -The icon used when an appointment will occur soon. - - - - audio-volume-high - -The icon used to indicate high audio volume. - - - - audio-volume-low - -The icon used to indicate low audio volume. - - - - audio-volume-medium - -The icon used to indicate medium audio volume. - - - - audio-volume-muted - -The icon used to indicate the muted state for audio playback. - - - - battery-caution - -The icon used when the battery is below 40%. - - - - battery-low - -The icon used when the battery is below 20%. - - - - dialog-error - -The icon used when a dialog is opened to explain an error -condition to the user. - - - - dialog-information - -The icon used when a dialog is opened to give information -to the user that may be pertinent to the requested action. - - - - dialog-password - -The icon used when a dialog requesting the authentication -credentials for a user is opened. - - - - dialog-question - -The icon used when a dialog is opened to ask a simple - question of the user. - - - - dialog-warning - -The icon used when a dialog is opened to warn the user of -impending issues with the requested action. - - - - folder-drag-accept - -The icon used for a folder while an object is being -dragged onto it, that is of a type that the directory can contain. - - - - folder-open - -The icon used for folders, while their contents are being -displayed within the same window. This icon would normally be -shown in a tree or list view, next to the main view of a folder's contents. - - - - folder-visiting - -The icon used for folders, while their contents are being -displayed in another window. This icon would typically be used -when using multiple windows to navigate the hierarchy, such as -in Nautilus's spatial mode. - - - - image-loading - -The icon used when another image is being loaded, such as -thumnails for larger images in the file manager. - - - - image-missing - -The icon used when another image could not be loaded. - - - - mail-attachment - -The icon used for an electronic mail that contains attachments. - - - - mail-unread - -The icon used for an electronic mail that is unread. - - - - mail-read - -The icon used for an electronic mail that is read. - - - - mail-replied - -The icon used for an electronic mail that has been replied to. - - - - mail-signed - -The icon used for an electronic mail that contains a signature. - - - - mail-signed-verified - -The icon used for an electronic mail that contains a signature -which has also been verified by the security system. - - - - media-playlist-repeat - -The icon for the repeat mode of a media player. - - - - media-playlist-shuffle - -The icon for the shuffle mode of a media player. - - - - network-error - -The icon used when an error occurs trying to intialize the network connection -of the computing device. This icon should be two computers, one in the -background, with the screens of both computers, colored black, and with the -theme's style element for errors, overlayed on top of the icon. - - - - network-idle - -The icon used when no data is being transmitted or received, while the -computing device is connected to a network. This icon should be two computers, -one in the background, with the screens of both computers, colored black. - - - - network-offline - -The icon used when the computing device is disconnected from the network. This -icon should be a computer in the background, with a screen colored black, and -the theme's icon element to show that a device is not accessible, in the -foreground. - - - - network-receive - -The icon used when data is being received, while the computing device is -connected to a network. This icon should be two computers, one in the -background, with its screen colored green, and the screen of the computer in -the foreground, colored black. - - - - network-transmit - -The icon used when data is being transmitted, while the computing device is -connected to a network. This icon should be two computers, one in the -background, with its screen colored black, and the screen of the computer in -the foreground, colored green. - - - - - network-transmit-receive - -The icon used data is being both transmitted and received simultaneously, -while the computing device is connected to a network. This icon should be two -computers, one in the background, with the screens of both computers, colored -green. - - - - printer-error - -The icon used when an error occurs while attempting to print. This icon should -be the theme's printer device icon, with the theme's style element for errors, -overlayed on top of the icon. - - - - printer-printing - -The icon used while a print job is successfully being spooled to a printing -device. This icon should be the theme's printer device icon, with a document -emerging from the printing device. - - - - security-high - -The icon used to indicate that the security level of a connection is known -to be secure, using strong encryption and a valid certificate. - - - - security-medium - -The icon used to indicate that the security level of a connection is presumed -to be secure, using strong encryption, and a certificate that could not be -automatically verified, but which the user has chosen to trust. - - - - security-low - -The icon used to indicate that the security level of a connection is presumed -to be insecure, either by using weak encryption, or by using a certificate that -the could not be automatically verified, and which the user has not chosent to -trust. - - - - software-update-available - -The icon used when an update is available for software installed -on the computing device, through the system software update program. - - - - software-update-urgent - -The icon used when an urgent update is available through the -system software update program. - - - - sync-error - -The icon used when an error occurs while attempting to -synchronize data from the computing device, to another device. - - - - sync-synchronizing - -The icon used while data is successfully synchronizing to another device. - - - - task-due - -The icon used when a task is due soon. - - - - task-past-due - -The icon used when a task that was due, has been left incomplete. - - - - user-away - -The icon used when a user on a chat network is away from their -keyboard and the chat program. - - - - user-idle - -The icon used when a user on a chat network has not been an -active participant in any chats on the network, for an extended period of time. - - - - user-offline - -The icon used when a user on a chat network is not available. - - - - user-online - -The icon used when a user on a chat network is available to -initiate a conversation with. - - - - user-trash-full - -The icon for the user's Trash in the desktop's -file manager, when there are items in the Trash -waiting for disposal or recovery. - - - - weather-clear - -The icon used while the weather for a region is clear skies. - - - - weather-clear-night - -The icon used while the weather for a region is clear skies -during the night. - - - - weather-few-clouds - -The icon used while the weather for a region is partly cloudy. - - - - weather-few-clouds-night - -The icon used while the weather for a region is partly cloudy -during the night. - - - - weather-fog - -The icon used while the weather for a region is foggy. - - - - weather-overcast - -The icon used while the weather for a region is overcast. - - - - weather-severe-alert - -The icon used while a sever weather alert is in effect for a region. - - - - weather-showers - -The icon used while rain showers are occurring in a region. - - - - weather-showers-scattered - -The icon used while scattered rain showers are occurring in a region. - - - - weather-snow - -The icon used while snow showers are occurring in a region. - - - - weather-storm - -The icon used while storms are occurring in a region. - - - - -
- -
- - - Change History - - Version 0.8, 1 August 2006, Rodney Dawes - - - - Add "view-restore" and "utilities-system-monitor" - - - Add "folder-new" and "mail-send" - - - Add "object-flip-horizontal" and "object-flip-vertical" - - - Add "object-rotate-left" and "object-rotate-right" - - - Add "applications-engineering" and "applications-science" - - - Remove duplicate "preferences-desktop-accessibility" - - - Rename "drive-cdrom" to "drive-optical" - - - Rename "media-cdrom" to "media-optical" - - - Add "media-flash", "media-tape", and "modem" - - - Add "security-high", "security-medium", and "security-low" - - - - - - Version 0.7, 15 February 2006, Rodney Dawes - - - - Remove the wallpaper-* icon names - - - Align text blocks to the left - - - Add "weather-few-clouds-night" and "weather-clear-night" to -the status context - - - Remove "network-online" from the status context - - - Add "network-idle", "network-receive", "network-transmit", -and "network-transmit-receive" to the status context - - - Update the printer status icon definitions - - - - - - Version 0.6, 07 December 2005, Rodney Dawes - - - - - Add the "Animations" and "Places" contexts - - - - - Add "media-eject" to the actions context - - - - - Move "media-playlist-shuffle" to the status context - - - - - Add the "process-working" animation to the animations context - - - - - Add "battery", "camera-photo", "media-floppy", "multimedia-player", - "network-wired", and "network-wireless" to the devices context - - - - - Remove the printer-remote and video-card icons from devices - - - - - Rename "emblem-favorites" to "emblem-favorite" - - - - - Add "application-x-executable", "package-x-generic", - "text-x-generic-template", and "text-x-script" to the - mimetypes context - - - - - Rename "x-directory-normal" to "folder" and move it to the - places context - - - - - Rename "x-directory-remote" to "folder-remote" and move it to the - places context - - - - - Rename "x-directory-normal-remote-server" to "network-server" - and move it to the places context - - - - - Rename "x-directory-normal-remote-workgroup" to - "network-workgroup" and move it to the places context - - - - - Rename "x-directory-trash" to "user-trash" - and move it to the places context - - - - - Rename "x-directory-trash-full" to "user-trash-full" and move - it to the status context - - - - - Add "start-here", "user-desktop", and "user-home" to the places - context - - - - - Add "folder-drag-accept", "folder-open", "folder-visiting", and - "media-playlist-repeat" to the status context - - - - - - - Version 0.4, 10 October 2005, Rodney Dawes - - - - - Use "The icon" instead of "This icon" for "contact-new" and - "battery-low" - - - - - Add icons for "preferences-desktop-accessibility" and - "preferences-desktop-font" in the apps context - - - - - Fix typo in "drive-cdrom" name - - - - - Rename "x-font-generic" to "font-x-generic" to match other MIME - type icons such as for audio, images, and video - - - - - Add icons for "image-loading" and "image-missing" to status - - - - - - - Version 0.3, 28 June 2005, Rodney Dawes - - - - - Replace "printer-local" with "printer" to be more generic. - - - - - Import into freedesktop.org cvs alongside icon-theme-spec.xml - - - - - Add missing icon descriptions. - - - - - - - Version 0.2, 01 April 2005, Jakub Steiner - - - - - Fixed two small typographical errors. - - - - - - - Version 0.1, 29 March 2005, Rodney Dawes - - - - - Created initial draft. - - - - - - -
diff --git a/sound-theme/icon-theme-spec.xml b/sound-theme/icon-theme-spec.xml deleted file mode 100644 index 7554b0f..0000000 --- a/sound-theme/icon-theme-spec.xml +++ /dev/null @@ -1,986 +0,0 @@ - - -
- - Icon Theme Specification - Version 0.11 - February 7 2006 - - - Alexander - Larsson - -
- alexl@redhat.com -
-
-
- - Frans - Englich - -
- frans.englich@telia.com -
-
-
-
-
- - - Overview - - An icon theme is a set of icons that share a common look and - feel. The user can then select the icon theme that they want to - use, and all apps use icons from the theme. The initial user of - icon themes is the icon field of the desktop file specification, - but in the future it can have other uses (such as mimetype - icons). - - - From a programmer perspective an icon theme is just a - mapping. Given a set of directories to look for icons in and a theme - name it maps from icon name and nominal icon size to an icon filename. - - - - - Definitions - - - Icon Theme - - - An icon theme is a named set of icons. It is used to map - from an iconname and size to a file. Themes may inherit - from other themes as a way to extend them. - - - - - Icon file - - - An icon file is an image that can be loaded and used as an - icon. The supported image file formats are PNG, XPM and SVG. - PNG is the recommended bitmap format, and SVG is for - vectorized icons. XPM is supported due to backwards - compability reasons, and it is not recommended that new - themes use XPM files. Support for SVGs is optional. - - - - - Base Directory - - - Icons and themes are searched for in a set of directories, - called base directories. The themes are stored in - subdirectories of the base directories. - - - - - - - - Directory Layout - - Icons and themes are looked for in a set of directories. By - default, apps should look in $HOME/.icons (for backwards compatibility), - in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order). - Applications may further add - their own icon directories to this list, and users may extend or - change the list (in application/desktop specific ways).In each of - these directories themes are stored as subdirectories. A theme can - be spread across several base directories by having subdirectories of - the same name. This way users can extend and override system - themes. - - - In order to have a place for third party applications to install - their icons there should always exist a theme called "hicolor" - This name is chosen for backwards compatibility with the old - KDE default theme. - The data for the hicolor theme is available for download at: - http://www.freedesktop.org/software/icon-theme/. - Implementations are required to look in the "hicolor" theme if - an icon was not found in the current theme. - - - Each theme is stored as subdirectories of the base - directories. The internal name of the theme is the name of the - subdirectory, although the user-visible name as specified by the - theme may be different. Hence, theme names are case sensitive, and - are limited to ASCII characters. Theme names may also not contain - comma or space. - - - In at least one of the theme directories there must be a file - called index.theme that describes the theme. The first index.theme - found while searching the base directories in order is used. This - file describes the general attributes of the theme. - - - In the theme directory are also a set of subdirectories containing - image files. Each directory contains icons designed for a certain - nominal icon size, as described by the index.theme file. The - subdirectories are allowed to be several levels deep, e.g. the - subdirectory "48x48/apps" in the theme "hicolor" would end up at - $basedir/hicolor/48x48/apps. - - - The image files must be one of the types: PNG, XPM, or SVG, and - the extension must be ".png", ".xpm", or ".svg" (lower case). The - support for SVG files is optional. Implementations that do not - support SVGs should just ignore any ".svg" files. In - addition to this there may be an additional file with extra - icon-data for each file. It should have the same basename as the - image file, with the extension ".icon". e.g. if the icon file is - called "mime_source_c.png" the corresponding file would be named - "mime_source_c.icon". - - - - - File Formats - - Both the icon theme description file and the icon data files are - ini-style text files, as described in the desktop file - specification. They don't have any encoding field. Instead, they - must always be stored in UTF-8 encoding. - - - The index.theme file must start with a section called Icon - Theme, with contents according to table 1 below. All lists are - comma-separated. - - Standard Keys - - - - Key - Description - Value Type - Required - - - - - Name - - short name of the icon theme, used in e.g. lists when - selecting themes. - - localestring - YES - - - Comment - - longer string describing the theme - - localestring - YES - - - Inherits - - - The name of the theme that this theme inherits from. If an icon - name is not found in the current theme, it is searched for in the - inherited theme (and recursively in all the inherited themes). - - - If no theme is specified implementations are required to add - the "hicolor" theme to the inheritance tree. An implementation - may optionally add other default themes in between the last - specified theme and the hicolor theme. - - - strings - NO - - - Directories - - list of subdirectories for this theme. For every - subdirectory there must be a section in the index.theme - file describing that directory. - - strings - YES - - - Hidden - - Whether to hide the theme in a theme selection user interface. - This is used for things such as fallback-themes that are not supposed - to be visible to the user. - - boolean - NO - - - Example - - The name of an icon that should be used as an example of - how this theme looks. - - string - NO - - - -
-
- - Each directory specified in the Directory key has a corresponding section - with the same name as the directory. The contents of this section is - listed in table 2 below. - - Per-Directory Keys - - - - Key - Description - Value Type - Required - Type - - - - - Size - - Nominal size of the icons in this directory. - - integer - YES - - - Context - - The context the icon is normally used in. This - is in detail discussed in . - - string - NO - - - Type - - The type of icon sizes for the icons in this - directory. Valid types are Fixed, Scalable and - Threshold. The type decides what other keys in the - section are used. If not specified, the default is - Threshold. - - string - NO - - - MaxSize - - Specifies the maximum size that the icons in this - directory can be scaled to. Defaults to the value - of Size if not present. - - integer - NO - Scalable - - - MinSize - - Specifies the minimum size that the icons in this - directory can be scaled to. Defaults to the value - of Size if not present. - - integer - NO - Scalable - - - Threshold - - The icons in this directory can be used if the size differ - at most this much from the desired size. Defaults to 2 if not - present. - - integer - NO - Threshold - - - -
-
- - In addition to these groups you may add extra groups to the - index.theme file in order to extend it. These extensions must - begin with "X-", and can be used to add desktop specific - information to the theme file. Example group names would be "X-KDE - Icon Theme" or "X-Gnome Icon Theme". - - - The optional filename.icon file contains a group called "Icon - Data", with the content listed in table 3. - - Icon Data Keys - - - - Key - Description - Value Type - Required - - - - - DisplayName - - A translated UTF8 string that can be used instead of the - icon name when the icon is listen in e.g. a user interface. - - localestring - NO - - - EmbeddedTextRectangle - - If this exists, it specifies the four corners of a - rectangle where the program displaying the icon can - embed text. This is normally used by e.g. file managers - that want to display a preview of text file contents in - the icon. The corners are specified by a list of four - values: x0,y0,x1,y1. The values are pixel coordinates - from the top left corner of the icon, except for SVG - files, where they are specified in a 1000x1000 - coordinate space that is scaled to the final rendered - size of the icon. - - integers - NO - - - AttachPoints - - A list of points, separated by "|" that may be used as - anchor points for emblems/overlays. The points are pixel - coordinates from the top left corner of the icon, except - for SVG files, where they are specified in a 1000x1000 - coordinate space that is scaled to the final rendered - size of the icon. - - points - NO - - - -
-
- - Extensions to the filename.icon file are allowed, but the - keys must be begin with "X-" to avoid collisions with future - standardized extensions to this format. - - - - Context - - The Context allows - the designer to group icons on a conceptual level. - It doesn't act as a namespace in the file system, such - that icons can have identical names, but allows - implementations to categorize and sort by it, for example. - - - These are the available contexts: - - - - - Actions - Icons representing actions which the user initiates, such as Save As. - - - - - - Devices - Icons representing real world devices, - such as printers and mice. It's not for - file system nodes such as character or block devices. - - - - - - FileSystems - Icons for objects which are represented as - part of the file system. This is for example, - the local network, Home, - and Desktop folders. - - - - - - MimeTypes - Icons representing MIME types. - - - - - - -
- - - Icon Lookup - - The icon lookup mechanism has two global settings, the list of - base directories and the internal name of the current theme. Given - these we need to specify how to look up an icon file from the icon - name and the nominal size. - - - The lookup is done first in the current theme, and then - recursively in each of the current theme's parents, and - finally in the default theme called "hicolor" (implementations may - add more default themes before "hicolor", but "hicolor" must be - last). As soon as there is an icon of any size that matches in a - theme, the search is stopped. Even if there may be an icon with a - size closer to the correct one in an inherited theme, we don't want - to use it. Doing so may generate an inconsistant change in an icon - when you change icon sizes (e.g. zoom in). - - - The lookup inside a theme is done in three phases. First all the - directories are scanned for an exact match, e.g. one where the - allowed size of the icon files match what was looked up. Then all - the directories are scanned for any icon that matches the name. If - that fails we finally fall back on unthemed icons. If we fail to - find any icon at all it is up to the application to pick a good - fallback, as the correct choice depends on the context. - - - The exact algorithm (in pseudocode) for looking up an icon in a theme - (if the implementation supports SVG) is: - -FindIcon(icon, size) { - filename = FindIconHelper(icon, size, user selected theme); - if filename != none - return filename - - filename = FindIconHelper(icon, size, "hicolor"); - if filename != none - return filename - - return LookupFallbackIcon (icon) -} -FindIconHelper(icon, size, theme) { - filename = LookupIcon (icon, size, theme) - if filename != none - return filename - - if theme has parents - parents = theme.parents - - for parent in parents { - filename = FindIconHelper (icon, size, parent) - if filename != none - return filename - } - return none -} - - With the following helper functions: - -LookupIcon (iconname, size, theme) { - for each subdir in $(theme subdir list) { - for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - if DirectoryMatchesSize(subdir, size) { - filename = directory/$(themename)/subdir/iconname.extension - if exist filename - return filename - } - } - } - } - minimal_size = MAXINT - for each subdir in $(theme subdir list) { - for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - filename = directory/$(themename)/subdir/iconname.extension - if exist filename and DirectorySizeDistance(subdir, size) < minimal_size { - closest_filename = filename - minimal_size = DirectorySizeDistance(subdir, size) - } - } - } - } - if closest_filename set - return closest_filename - return none -} - -LookupFallbackIcon (iconname) { - for each directory in $(basename list) { - for extension in ("png", "svg", "xpm") { - if exists directory/iconname.extension - return directory/iconname.extension - } - } - return none -} - -DirectoryMatchesSize(subdir, iconsize) { - read Type and size data from subdir - if Type is Fixed - return Size == iconsize - if Type is Scaled - return MinSize <= iconsize <= MaxSize - if Type is Threshold - return Size - Threshold <= iconsize <= Size + Threshold -} - -DirectorySizeDistance(subdir, size) { - read Type and size data from subdir - if Type is Fixed - return abs(Size - iconsize) - if Type is Scaled - if iconsize < MinSize - return MinSize - iconsize - if iconsize > MaxSize - return iconsize - MaxSize - return 0 - if Type is Threshold - if iconsize < Size - Threshold - return MinSize - iconsize - if iconsize > Size + Threshold - return iconsize - MaxSize - return 0 -} - - - - In some cases you don't always want to fall back to an icon in an - inherited theme. For instance, sometimes you look for a set of - icons, prefering any of them before using an icon from an inherited - theme. To support such operations implementations can contain a - function that finds the first of a list of icon names in the inheritance - hierarchy. I.E. It would look something like this: - -FindBestIcon(iconList, size) { - filename = FindBestIconHelper(iconList, size, user selected theme); - if filename != none - return filename - - filename = FindBestIconHelper(iconList, size, "hicolor"); - if filename != none - return filename - - for icon in iconList { - filename = LookupFallbackIcon (icon) - if filename != none - return filename - } - return none; -} -FindBestIconHelper(iconList, size, theme) { - for icon in iconList { - filename = LookupIcon (icon, size, theme) - if filename != none - return filename - } - - if theme has parents - parents = theme.parents - - for parent in parents { - filename = FindBestIconHelper (iconList, size, parent) - if filename != none - return filename - } - return none -} - - This can be very useful for example when handling mimetype icons, where there - are more and less "specific" versions of icons. - - - - - Example - - Here is an example index.theme file: - [Icon Theme] -Name=Birch -Name[sv]=Björk -Comment=Icon theme with a wooden look -Comment[sv]=Träinspirerat ikontema -Inherits=wood,default -Directories=48x48/apps,48x48/mimetypes,32x32/apps,scalable/apps,scalable/mimetypes - -[scalable/apps] -Size=48 -Type=Scalable -MinSize=1 -MaxSize=256 -Context=Applications - -[scalable/mimetypes] -Size=48 -Type=Scalable -MinSize=1 -MaxSize=256 -Context=MimeTypes - -[32x32/apps] -Size=32 -Type=Fixed -Context=Applications - -[48x48/apps] -Size=48 -Type=Fixed -Context=Applications - -[48x48/mimetypes] -Size=48 -Type=Fixed -Context=MimeTypes - The corresponding directory tree in the /usr/share/icons - directory could look like this: - birch/index.theme -birch/scalable/apps/mozilla.svg -birch/scalable/mimetypes/mime_text_plain.svg -birch/scalable/mimetypes/mime_text_plain.icon -birch/48x48/apps/mozilla.png -birch/32x32/apps/mozilla.png -birch/48x48/mimetypes/mime_text_plain.png -birch/48x48/mimetypes/mime_text_plain.icon -Where birch/scalable/mimetypes/mime_text_plain.icon contains: - [Icon Data] -DisplayName=Mime text/plain -EmbeddedTextRectangle=100,100,900,900 -AttachPoints=200,200|800,200|500,500|200,800|800,800 -And birch/48x48/mimetypes/mime_text_plain.icon contains: - [Icon Data] -DisplayName=Mime text/plain -EmbeddedTextRectangle=8,8,40,40 -AttachPoints=20,20|40,40|50,10|10,50 - - - In this example a lookup of "mozilla" would get the prerendered - 48x48 and 32x32 icons before the SVG icons due to the order of - Directories. - - - - - - Installing Application Icons - - So, you're an application author, and want to install application icons - so that they work in the KDE and Gnome menus. Minimally you should install - a 48x48 icon in the hicolor theme. This means installing a PNG file in - $prefix/share/icons/hicolor/48x48/apps. Optionally you can install icons in different - sizes. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps - means most desktops will have one icon that works for all sizes. You might even want to - install icons with a look that matches other well known themes so your application - will fit in with some specific desktop environment. - - - It is recommended that the icons installed in the hicolor theme look neutral, - since it is a fallback theme that will be used in combination with some very - different looking themes. But if you don't have any neutral icon, please install - whatever icon you have in the hicolor theme so that all applications get at - least some icon in all themes. - - - - - Implementation Notes - - The algorithm as described in this document works by always - looking up filenames in directories (a stat in unix - terminology). A good implementation is expected to read the - directories once, and do all lookups in memory using that - information. - - - This caching can make it impossible for users to add icons without - having to restart applications. In order to handle this, any - implementation that does caching is required to look at the mtime - of the toplevel icon directories when doing a cache lookup, unless - it already did so less than 5 seconds ago. This means that any - icon editor or theme installation program need only to change the - mtime of the the toplevel directory where it changed the theme to - make sure that the new icons will eventually get used. - - - - - Background - - The icon theme specification is based on the original - KDE icon theme system designed by Antonio Larossa, - Geert Janssen and Torsten Rahn. The common specification - mostly adds support for .icon files, renames the icon theme - description files and removes a few references to kde in them. - - - - - Change history - - Version 0.12, 24 December 2006, Octavio Alvarez - - - - - Fixed "hicolor" lookup in the pseudocode, so it works with multiple - parents. - - - - - - - Version 0.11, 7 February 2006, Alexander Larsson - - - - - Fixed icon lookup clarification to work with multiple inheritance. - - - - - - - Version 0.10, 7 February 2006, Alexander Larsson - - - - - Clarify that icon lookup looks in all parent themes before - falling back to nonthemed icons. - - - - - Added lookup function that takes a list of icon names (FindBestIcon) - - - - - - - Version 0.9, 4 April 2005, Alexander Larsson - - - - - Cleanups and fixes to language from Rodney Dawes and - Frans Englich. - - - - - Added section describing Contexts in more details (by - Frans Englich). - - - - - - - Version 0.8, 5 February 2004, Alexander Larsson - - - - - Fix language problems as pointed out by Rodney Dawes and - Michael Terry. - - - - - Added background section. - - - - - - - Version 0.7, 13 September 2003, Heinrich Wendel - - - - - Converted to basedir spec. - - - - - Changed type of MaxSize, MinSize and Threshold to integer. - - - - - Removed typo in code example. - - - - - Corrected path to default-icon-theme. - - - - - - - Version 0.6, 2 December 2002, Alexander Larsson - - - - - Added Hidden key. - - - - - Removed multiple inheritance. - - - - - Renamed the default theme hicolor. - - - - - Added the application icon install section. - - - - - Fixed some xml issues. - - - - - - - Version 0.5, 18 September 2002, Alexander Larsson - - - - - Added DisplayName to icon data. - - - - - Fixed up example svg icon data. - - - - - Fixed some spelling and grammar errors. - - - - - - - Version 0.4, 16 May 2002, Alexander Larsson - - - - - Fixed some spelling and grammar errors. - - - - - - - Version 0.3, 14 May 2002, Alexander Larsson - - - - - Made support for SVGs optional. - - - - - Added a default fallback theme. - - - - - Changed the example directory layout a bit to - match the default theme. - - - - - - - Version 0.2, 29 April 2002, Alexander Larsson - - - - - Changed search order to png, svg, xpm. - - - - - Added comment to say that xpm is supported for backwards - compat and not recommended in new themes. - - - - - Default Type for a directory is now Threshold - - - - - Added implementation notes section. - - - - - Added Example key. - - - - - - - Version 0.1, 22 April 2002, Alexander Larsson - - - - - Created initial draft. - - - - - - -
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 2a0dc02..d1a845e 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -246,7 +246,7 @@ Context - The context the icon is normally used in. This + The context the sound is normally used in. This is in detail discussed in . string @@ -312,7 +312,7 @@ - Alerts + Alert Sounds to alert the user of an action or event which may have a major imact on the system or their current use case, such as @@ -322,7 +322,7 @@ - Notifications + Notification Sounds to notify the user that the system, or their current use case has changed state in some way, e.g. new email arriving, new non-critical update available... -- cgit v1.2.3 From 087f1272b0ee74251d0739e8396e1348f438d2b2 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 11 Feb 2008 16:30:07 +0200 Subject: localizable sounds and lookup updated --- sound-theme/sound-theme-spec.xml | 271 +++++++++++++++++++++------------------ 1 file changed, 148 insertions(+), 123 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index d1a845e..c6f3a04 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -110,19 +110,19 @@ In the theme directory are also a set of subdirectories containing sound files. The subdirectories are allowed to be several levels - deep, e.g. the subdirectory "alerts/fr" in the theme "freedesktop" - would end up at $basedir/freedesktop/alerts/fr. (FIXME) + deep, e.g. the subdirectory "stereo/alerts" in the theme "freedesktop" + would end up at $basedir/freedesktop/stereo/alerts. (FIXME) - The sounds files must be one of the types: WAV/PCM 48kHz, 16 bits or OGG/Vorbis. - The extension must be ".wav", or ".ogg" respectively (lower case). The - support for OGG files is optional. Implementations that do not - support OGGs should just ignore any ".ogg" files. In - addition to this there may be an additional file with extra - sound-data for each file. It should have the same basename as the - sound file, with the extension ".sound". e.g. if the sound file is - called "system-log-out.wav" the corresponding file would be named - "system-log-out.sound". + The sounds files must be one of the types: WAV/PCM 48kHz, 16 bits + or OGG/Vorbis. The extension must be ".wav", or ".ogg" + respectively (lower case). The support for OGG files is + optional. Implementations that do not support OGGs should just + ignore any ".ogg" files. In addition to this there may be an + additional file with extra sound-data for each file. It should + have the same basename as the sound file, with the extension + ".sound". e.g. if the sound file is called "system-log-out.wav" + the corresponding file would be named "system-log-out.sound".
@@ -135,9 +135,9 @@ must always be stored in UTF-8 encoding. - The index.theme file must start with a section called Sound - Theme, with contents according to table 1 below. All lists are - comma-separated. + The index.theme file must start with a section called + Sound Theme, with contents according to + table 1 below. All lists are comma-separated. Standard Keys @@ -235,19 +235,39 @@ + + Context + + The context the sound is normally used in. This + is in detail discussed in . + + string + NO + + + SoundSystem + + Define the sound system for which the sounds are made + for. It can be "stereo" or "5.1", or whatever system + suits the configuration in which they are recorded. + + string + NO + Length Nominal length in seconds of the sounds in this directory. (FIXME) integer - YES + NO - Context + Locale - The context the sound is normally used in. This - is in detail discussed in . + Locale name, if applicable. (FIXME: not usable since + transaltions would have to update the index.. instead + subdirectoy locale seems more efficient...) string NO @@ -281,12 +301,22 @@ DisplayName - A translated UTF8 string that can be used instead of the - icon name when the icon is listen in e.g. a user interface. + A translated UTF8 string that can be displayed instead + of the sound by a user interface. localestring NO + + Loop + + Indicates if the sound is appropriate in loop-mode + playing. This can be useful for ringing tones, + environment, instruments... + + boolean + NO +
@@ -338,6 +368,13 @@
+ + + Games + Sounds used for games. + + + @@ -371,20 +408,22 @@ The exact algorithm (in pseudocode) for looking up a sound in a theme (if the implementation supports OGG) is: + FindSound(sound, locale) { - filename = FindSoundHelper(sound, locale, user selected theme); + filename = FindSoundHelper(sound, locale, soundsystem, user selected theme); if filename != none return filename - filename = FindSoundHelper(sound, locale, "freedesktop"); + filename = FindSoundHelper(sound, locale, soundsystem, "freedesktop"); if filename != none return filename return LookupFallbackSound (sound) } -FindSoundHelper(sound, locale, theme) { - filename = LookupIcon (sound, locale, theme) + +FindSoundHelper(sound, locale, soundsystem, theme) { + filename = LookupSound (sound, locale, soundsystem, theme) if filename != none return filename @@ -392,27 +431,48 @@ FindSoundHelper(sound, locale, theme) { parents = theme.parents for parent in parents { - filename = FindSoundHelper (sound, locale, parent) + filename = FindSoundHelper (sound, locale, soundsystem, parent) if filename != none return filename } return none } + With the following helper functions: + -LookupSound (sound, locale, theme) { +LookupSound (sound, locale, soundsystem, theme) { + // lookup localized version for each subdir in $(theme subdir list) { for each directory in $(basename list) { - for extension in ("wav", "ogg") { - if DirectoryMatchesLocale(subdir, size) { - filename = directory/$(themename)/subdir/sound.extension - if exist filename - return filename + for system in (soundsystem, "stereo") { + if DirectoryMatchesSoundSystem(subdir, system) { + for extension in ("wav", "ogg") { + filename = directory/$(themename)/subdir/$locale/sound.extension + if exist filename + return filename + } } } } } + + // lookup unlocalized version + for each subdir in $(theme subdir list) { + for each directory in $(basename list) { + for system in (soundsystem, "stereo") { + if DirectoryMatchesSoundSystem(subdir, system) { + for extension in ("wav", "ogg") { + filename = directory/$(themename)/subdir/sound.extension + if exist filename + return filename + } + } + } + } + } + return none } @@ -426,62 +486,14 @@ LookupFallbackSound (sound) { return none } -DirectoryMatchesLocale(subdir, locale) { - read Type and size data from subdir - if Type is Fixed - return Size == iconsize - if Type is Scaled - return MinSize <= iconsize <= MaxSize - if Type is Threshold - return Size - Threshold <= iconsize <= Size + Threshold +DirectoryMatchesSoundSystem(subdir, system) { + read SoundSystem from subdir + if SoundSystem == system + return true + return false } - - - In some cases you don't always want to fall back to a sound in - an inherited theme. For instance, sometimes you look for a set - of sounds, prefering any of them before using a sound from an - inherited theme. To support such operations implementations can - contain a function that finds the first of a list of sound names - in the inheritance hierarchy. I.E. It would look something like - this: - -FindBestSound(soundlist, size) { - filename = FindBestSoundHelper(iconList, size, user selected theme); - if filename != none - return filename - - filename = FindBestSoundHelper(iconList, size, "freedesktop"); - if filename != none - return filename - - for icon in iconList { - filename = LookupFallbackSound (icon) - if filename != none - return filename - } - return none; -} -FindBestSoundHelper(soundlist, size, theme) { - for icon in iconList { - filename = LookupIcon (icon, size, theme) - if filename != none - return filename - } - - if theme has parents - parents = theme.parents - for parent in parents { - filename = FindBestIconHelper (iconList, size, parent) - if filename != none - return filename - } - return none -} - - This can be very useful for example when handling mimetype icons, where there - are more and less "specific" versions of icons. @@ -489,43 +501,50 @@ FindBestSoundHelper(soundlist, size, theme) { Example Here is an example index.theme file: - [Sound Theme] + +[Sound Theme] Name=Birch Name[fr]=Bouleau Comment=Sound theme using wooden instruments Comment[fr]=Theme utilisant des instruments en bois Inherits=wood,default -Directories= +Directories=stereo/alert/fr notifications/long/5.1 + +[stereo/alert/fr] +Context=Alert +SoundSystem=stereo -[scalable/apps] -Context=Applications +[notifications/long/5.1] +Context=Notification +SoundSystem=5.1 + + +The corresponding directory tree in the /usr/share/sounds +directory could look like this: + + +birch/index.theme +birch/stereo/alert/evolution-urgent-message.ogg +birch/stereo/alert/evolution-urgent-message.wav +birch/stereo/alert/fr/evolution-urgent-message.ogg +birch/stereo/alert/evolution-urgent-message.sound +birch/5.1/alert/evolution-urgent-message.ogg + +Where birch/stereo/alert/evolution-urgent-message.sound contains: + + +[Sound Data] +DisplayName=Evolution urgent message +DisplayName[fr]=Message urgent dans Evolution +Loop=yes - The corresponding directory tree in the /usr/share/sounds - directory could look like this: - birch/index.theme -birch/scalable/apps/mozilla.svg -birch/scalable/mimetypes/mime_text_plain.svg -birch/scalable/mimetypes/mime_text_plain.icon -birch/48x48/apps/mozilla.png -birch/32x32/apps/mozilla.png -birch/48x48/mimetypes/mime_text_plain.png -birch/48x48/mimetypes/mime_text_plain.icon -Where birch/scalable/mimetypes/mime_text_plain.icon contains: - [Icon Data] -DisplayName=Mime text/plain -EmbeddedTextRectangle=100,100,900,900 -AttachPoints=200,200|800,200|500,500|200,800|800,800 -And birch/48x48/mimetypes/mime_text_plain.icon contains: - [Icon Data] -DisplayName=Mime text/plain -EmbeddedTextRectangle=8,8,40,40 -AttachPoints=20,20|40,40|50,10|10,50 + - In this example a lookup of "mozilla" would get the prerendered - 48x48 and 32x32 icons before the SVG icons due to the order of - Directories. + In this example a lookup of "evolution-urgent-message", with a 5.1 + system preference and no localization, would get the + "birch/5.1/alert/evolution-urgent-message.ogg" sound file. @@ -534,20 +553,26 @@ AttachPoints=20,20|40,40|50,10|10,50 Installing Application Sounds So, you're an application author, and you want to install sounds - so that they can be used by your application. Minimally you should install - the sound file in the "freedesktop" theme. This means installing a WAV file in - $XDG_DATA_DIRS/sounds/freedesktop/. Optionally you can install sounds in different - languages. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps - means most desktops will have one icon that works for all sizes. You might even want to - install icons with a look that matches other well known themes so your application - will fit in with some specific desktop environment. + so that they can be used by your application. Minimally you should + install the sound file in the "freedesktop" theme. This means + installing a stereo WAV file in + $XDG_DATA_DIRS/sounds/freedesktop/stereo/$context. + + Optionally you can install sounds in different formats and + language. For example, installing a localized OGG/Vorbis 5.1 game + sound in $prefix/share/sounds/freedesktop/5.1/game/fr. + + You might even want to install sounds that matches other well + known themes so your application will fit in with some specific + desktop environment. - It is recommended that the icons installed in the hicolor theme look neutral, - since it is a fallback theme that will be used in combination with some very - different looking themes. But if you don't have any neutral icon, please install - whatever icon you have in the hicolor theme so that all applications get at - least some icon in all themes. + It is recommended that the sounds installed in the freedesktop + theme sound neutral, since it is a fallback theme that will be + used in combination with some very different sounds from any + origin. But if you don't have any neutral sound, please install + whatever sound you have in the freedesktop theme so that all your + application can at least produce some sounds in all themes. -- cgit v1.2.3 From 67ebfc5af87e2ecd62d7f0181b7da047f71fbdfb Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 12 Feb 2008 12:58:15 +0200 Subject: add sound-naming spec --- sound-theme/sound-naming-spec.xml | 411 ++++++++++++++++++++++++++++++++++++++ sound-theme/sound-theme-spec.xml | 4 +- 2 files changed, 413 insertions(+), 2 deletions(-) create mode 100644 sound-theme/sound-naming-spec.xml diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml new file mode 100644 index 0000000..286ddc7 --- /dev/null +++ b/sound-theme/sound-naming-spec.xml @@ -0,0 +1,411 @@ + + +
+ + Sound Naming Specification + Version 0.1 + February 12 2008 + + + Marc-Andre + Lureau + +
+ marc-andre.lureau@nokia.com +
+
+
+
+
+ + + Overview + +This specification gives direction on how to name the sounds that are +available for use by applications, when creating a sound theme. It +does so by laying out a standard naming scheme for sound creation, as +well as providing a minimal list of must have sounds, and a larger +list with many more examples to help with the creation of extended +sounds for third party applications, with different event types and +usage. + + + + + Context + + + The list of default Contexts for the sound theme are: + + + + Standard Contexts + + + + + Name + Description + Directory + + + + + Alert + + Sounds to alert the user of an action or event which may + have a major imact on the system or their current use + case, such as dialog-error. + + altert + + + Notification + + Sounds to notify the user that the system, or their + current use case has changed state in some way, e.g. new + email arriving, new non-critical update available... + + notification + + + Support + + Sounds that give the user feedback on their + actions. Sounds on window opening / closing for example. + + support + + + Game + + Sound used in games. + + game + + + +
+
+ + + Sound Naming Guidelines + + + Here we define some guidelines for when creating new sounds that + extend the standardized list of sound names defined here, in + order to provide sounds for more specific events and usages. + + + + Sound names are in the en_US.US_ASCII locale. This means + that the allowable characters in the sound names, must + fall withing the US-ASCII character set. As a further + restriction, all sound names may only contain lowercase + letters, numbers, underscore, dash, or period + characters. Spaces, colons, slashes, and backslashes are + not allowed. Also, sound names must be spelled as they are + in the en_US dictionary. + + + + + The dash - character is used to separate + levels of specificity in sound names. For instance, we + use search-results as the generic item for all + mouse devices, and we use search-results-empty + for a USB mouse device. However, if the more specific item + does not exist in the current theme, and does exist in a + parent theme, the generic sound from the current theme is + preferred, in order to keep consistent style. + + + + + Sounds for branded applications should be named the same + as the binary executable for the application. + + + + + + + + Standard Sounds Names + + + This section describes the standard sounds names that should be + used by artists when creating themes, and by developers when + writing applications which will use the Sound Theme + Specification. + + + + Alerts + + This is to notify the user of an action or event which may + have a major imact on the system or their current use case. + + + + Standard Alerts Sounds + + + + Name + Description + + + + + network-error + + The sound used when an error occurs trying to intialize + the network connection of the computing device. + + + + dialog-error + + The sound used when a dialog is opened to explain an + error condition to the user. + + + + battery-low + + The sound used when the battery is low (below 20%, for + example). + + + + software-update-urgent + + The sound used when an urgent update is available + through the system software update program. + + + + +
+
+ + + Notifications + + This is to alert the user that the system, or their current + use case has changed state in some way - mew email arriving, + new non-critical update to an application available. + + + + Standard Notifications Sounds + + + + Name + Description + + + + + search-results + + The sound used when one or more search results are + returned. + + + + search-results-empty + + The sound used when no search results are returned. + + + + system-lock-screen + + The sound used when the user locks their current + session. + + + + system-log-out + + The sound used when a user logs into the system or a + service (i.e. desktop login) + + + + system-log-in + + The sound used when a user logs out of the system or a + service (i.e. Gaim logout) + + + + battery-caution + + The sound used when the battery is (below 40%, for + example). + + + + dialog-information + + The sound used when a dialog is opened to give + information to the user that may be pertinent to the + requested action. + + + + software-update-available + + The sound used when an update is available for + software installed on the computing device, through + the system software update program. + + + + +
+
+ + + Support + + This is to alert the user that the system, or their current + use case has changed state in some way - mew email arriving, + new non-critical update to an application available. + + + + Standard Support Sounds + + + + Name + Description + + + + + message-new + + The sound used when a new IM or email is recieved. + + + + message-sent + + The sound used when a new IM or email is sent. + + + + window-new + + The sound used when a new window or dialog is opened. + + + + window-close + + The sound used when an existing window is closed. + + + + dialog-ok + + The sound used for the OK button that might appear in + dialog windows. + + + + dialog-cancel + + The sound used for the Cancel button that might appear + in dialog windows. + + + + drag-accept + + The sound used when a file is accepted by a window, + such as a folder or IM conversation. + + + + trash-empty + + The sound used when the user emptys the trash. + + + + file-sendto-trash + + The sound used when a file or folder is sent to the + trash. + + + + +
+
+ + + Game + + This is to alert the user that the system, or their current + use case has changed state in some way - mew email arriving, + new non-critical update to an application available. + + + + Standard Games Sounds + + + + Name + Description + + + + + game-over + + Guess what...! + + + + +
+
+ +
+ + + Background + + The sound naming specification is heavily based on the "Sound + Naming Specification" by Rodney Dawes and the "Bango Project" + started by Jon Bolt. + + + + + Change History + + Version 0.1, February 12 2008, Marc-Andre Lureau + + + + + Created initial draft. + + + + + + +
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index c6f3a04..d7efc5b 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -370,7 +370,7 @@ - Games + Game Sounds used for games. @@ -600,7 +600,7 @@ Loop=yes Background - The sound theme specification is based on the "Icon Theme + The sound theme specification is heavily based on the "Icon Theme Specification" by Alexander Larsson and Frans Englich. -- cgit v1.2.3 From b3cc23a9bea4af578c11ed4aa10652fe6368a620 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 12 Feb 2008 14:09:36 +0200 Subject: background: s/Sound/Icon/ Naming Spec --- sound-theme/sound-naming-spec.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 286ddc7..ad4bc9a 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -387,7 +387,7 @@ usage. Background - The sound naming specification is heavily based on the "Sound + The sound naming specification is heavily based on the "Icon Naming Specification" by Rodney Dawes and the "Bango Project" started by Jon Bolt. -- cgit v1.2.3 From f7655224139a5a7bf850bd4b5a35fe58efb05439 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 12 Feb 2008 14:13:33 +0200 Subject: add a FIXME about freedesktop theme name --- sound-theme/sound-theme-spec.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index d7efc5b..fa0afb0 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -88,6 +88,7 @@ In order to have a place for third party applications to install their sounds there should always exist a theme called + "freedesktop". The data for the freedesktop theme is available for download at: http://www.freedesktop.org/software/sound-theme/. Implementations are required to look in the "freedesktop" theme if -- cgit v1.2.3 From e3eadc5b53f07181eef8b5009d262971076fae5d Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 12 Feb 2008 14:22:00 +0200 Subject: fixme: missing a rationale for sound formats --- sound-theme/sound-theme-spec.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index fa0afb0..f381981 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -53,10 +53,14 @@ Sound file - The supported sound file formats are WAV/PCM 48kHz, 16bits, - and OGG/Vorbis. WAV is the recommended uncompressed format, - and OGG/Vorbis is for compressed. Support for OGGs is - optional. + The supported sound file formats are WAV/PCM 44.1-48kHz, + 16bits, and OGG/Vorbis. WAV at 48kHz, stereo is the + recommended uncompressed format, and OGG/Vorbis is the + recommended compressed format. Support for OGGs is optional. + + FIXME: give a rationale about those + choice + -- cgit v1.2.3 From 54259cdc48a936ead6b1a0d7dc55aa3af27439e3 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 12 Feb 2008 14:25:07 +0200 Subject: missing locale in directory example --- sound-theme/sound-theme-spec.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index f381981..1c24d09 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -518,6 +518,7 @@ Directories=stereo/alert/fr notifications/long/5.1 [stereo/alert/fr] Context=Alert SoundSystem=stereo +Locale=fr [notifications/long/5.1] Context=Notification -- cgit v1.2.3 From ac4179c458b0b7021406348f2a8bb07d699ed842 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Sun, 17 Feb 2008 15:08:26 +0200 Subject: add more credits to author --- sound-theme/sound-naming-spec.xml | 21 +++++++++++++++++++++ sound-theme/sound-theme-spec.xml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index ad4bc9a..ec203bf 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -11,12 +11,33 @@ Marc-Andre Lureau + Sound Naming Specification
marc-andre.lureau@nokia.com
+ + Rodney + Dawes + Icon Naming Specification author + +
+ dobey.pwns@gmail.com +
+
+
+ + Jon + Bold + Bango! project + +
+ jon.wordescapes@co.uk +
+
+
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 1c24d09..83fb029 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -11,12 +11,43 @@ Marc-Andre Lureau + Sound Theme Specification
marc-andre.lureau@nokia.com
+ + Patryk + Zawadzki + Initial Sound Theme Specification draft proposal + +
+ patrys@pld-linux.org +
+
+
+ + Alexander + Larsson + Icon Theme Specification author + +
+ alexl@redhat.com +
+
+
+ + Frans + Englich + Icon Theme Specification author + +
+ frans.englich@telia.com +
+
+
-- cgit v1.2.3 From 07cc581f7f2b429715360faba559252edc4daf61 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 22 Apr 2008 00:19:29 +0300 Subject: Renamed "Support" to "Actions" and added a whole lot of new names --- sound-theme/sound-naming-spec.xml | 459 +++++++++++++++++++++++++++++++++++--- 1 file changed, 423 insertions(+), 36 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index ec203bf..ef91176 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -18,10 +18,20 @@ + + Lennart Poettering + Poettering + PulseAudio Project + +
+ lennart@poettering.net +
+
+
Rodney Dawes - Icon Naming Specification author + Icon Naming Specification
dobey.pwns@gmail.com @@ -31,7 +41,7 @@ Jon Bold - Bango! project + Bango! Project
jon.wordescapes@co.uk @@ -77,8 +87,8 @@ usage. Alert Sounds to alert the user of an action or event which may - have a major imact on the system or their current use - case, such as dialog-error. + have a major impact on the system or their current use, + such as dialog-error. altert @@ -92,12 +102,12 @@ usage. notification - Support + Actions Sounds that give the user feedback on their actions. Sounds on window opening / closing for example. - support + action Game @@ -181,10 +191,17 @@ usage. - network-error + network-connectivity-lost - The sound used when an error occurs trying to intialize - the network connection of the computing device. + The sound used when network connectivity is lost. + + + + network-connectivity-error + + The sound used when an error occurs when it is tried + to initialize the network connection of the computing + device. @@ -208,6 +225,12 @@ usage. through the system software update program. + + power-unplug-battey-low + + The power cable has been unplugged and the battery level is low. + + @@ -231,6 +254,84 @@ usage. + + instant-message-new + + The sound used when a new IM is recieved. + + + + email-message-new + + The sound used when a new email is recieved. + + + + media-burn-complete + + The sound used when an optical medium completed burning. + + + + media-rip-complete + + The sound used when an optical medium completed ripping. + + + + download-complete + + The sound used when an file completed downloading.. + + + + phone-incoming-call + + The sound used when an phone/voip call is coming in. Usually some kind of ring sound. + + + + phone-outgoing-busy + + The sound used when a phone/voip call is dialed out and the responder is not available. + + + + phone-hangup + + The sound used when a phone/voip call is ended due to hangup. + + + + phone-failure + + The sound used when a phone/voip call is canceled due to some error. + + + + network-connectivity-established + + The sound used when network connectivity is established. + + + + system-bootup + + The sound used when the computer is being booted up. + + + + system-ready + + The sound used when the computer is booted up and shows the login screen + + + + system-shutdown + + The sound used when the computer is being shut down. + + search-results @@ -245,33 +346,58 @@ usage. - system-lock-screen + desktop-login + + The sound used when a user logs into the system. + + + + desktop-logout + + The sound used when a user logs out of the system + + + + desktop-lock-screen The sound used when the user locks their current session. - system-log-out + service-login - The sound used when a user logs into the system or a - service (i.e. desktop login) + The sound used when a user logs out of a service + (i.e. Gaim logout) - system-log-in + service-logout - The sound used when a user logs out of the system or a - service (i.e. Gaim logout) + The sound used when a user logs out of a service (i.e. Gaim logout) battery-caution - The sound used when the battery is (below 40%, for + The sound used when the battery is nearing depletion (below 40%, for example). + + battery-full + + The sound used when the battery is fully loaded up. + + + + dialog-warning + + The sound used when a dialog is opened to give + information to the user that may be pertinent to the + requested action. + + dialog-information @@ -280,6 +406,12 @@ usage. requested action. + + dialog-question + + The sound used when a dialog is opened to ask the user a question. + + software-update-available @@ -288,17 +420,63 @@ usage. the system software update program. + + device-plugged + + The sound used when a device has become available to the desktop, i.e. due to USB plugging. + + + + device-unplugged + + The sound used when a device has become unavailable to the desktop, i.e. due to USB unplug. + + + + window-new + + The sound used when a new window or dialog is opened. + + + + power-plug + + The power cable has been plugged in. + + + + power-unplug + + The power cable has been unplugged. + + + + lid-open + + The lid has been opened (for laptops, mobile devices) + + + + lid-close + + The lid has been closed (for laptops, mobile devices) + + + + alarm-clock-elapsed + + A user configured alarm elapsed. + + - - Support + + Actions - This is to alert the user that the system, or their current - use case has changed state in some way - mew email arriving, - new non-critical update to an application available. + Actions sounds are used as feedback for an immediate user operation. @@ -312,21 +490,21 @@ usage. - message-new + phone-outgoing-calling - The sound used when a new IM or email is recieved. + The sound used when a phone/voip call is dialed out. - message-sent + instant-message-sent - The sound used when a new IM or email is sent. + The sound used when a new IM is sent. - window-new + email-message-sent - The sound used when a new window or dialog is opened. + The sound used when a new email is sent. @@ -335,40 +513,225 @@ usage. The sound used when an existing window is closed. + + window-slide-in + + The sound used when a window is slided in by some means. Example: panel. + + + + window-slide-out + + The sound used when a window is slided out by some means. Example: panel. + + + + window-minimized + + The sound used when an existing window is minimized. + + + + window-unminimized + + The sound used when an existing window is unminimized. + + + + window-maximized + + The sound used when an existing window is maximized. + + + + window-unmaximized + + The sound used when an existing window is unmaximized. + + dialog-ok - The sound used for the OK button that might appear in - dialog windows. + The sound used when a windows is closed by clicking on the OK button for a window. dialog-cancel - The sound used for the Cancel button that might appear - in dialog windows. + The sound used when a windows is closed by clicking on the Cancel button for a window. + + + + drag-start + + The sound used when drag of a file/item i started drag-accept - The sound used when a file is accepted by a window, + The sound used when a file/item drag is accepted by a window, + such as a folder or IM conversation. + + + + drag-fail + + The sound used when a file/item drag is not accepted by a window, such as a folder or IM conversation. trash-empty - The sound used when the user emptys the trash. + The sound used when the user empties the trash. - file-sendto-trash + item-deleted + + The sound used when a file or folder is deleted + + + + item-trash The sound used when a file or folder is sent to the trash. + + link-click + + The sound used when a link in a web or help browser is clicked. + + + + button-click + + The sound used when a button in a dialog is clicked. + + + + menu-click + + The sound used when a menu in a dialog is clicked. + + + + button-toggle-on + + The sound used when a toggle/check/radio button is activated. + + + + button-toggle-off + + The sound used when a toggle/check/radio button is deactivated. + + + + menu-popup + + The sound used when a menu is popped up. + + + + menu-popdown + + The sound used when a menu is popped down. + + + + photo-shutter + + A photo has been shot. + + + + count-down + + A countdown (e.g. for a photo shooting) sound that is repeated each second. + + + + audio-volume-change + + The test sound that is used to make volume changes noticeable by the user when he uses a volume slider. + + + + audio-channel-left + + The test sound for identifying the left speaker. A mono file with a voice saying "left". + + + + audio-channel-right + + The test sound for identifying the right speaker. A mono file with a voice saying "right". + + + + audio-channel-front-left + + The test sound for identifying the front-left speaker. A mono file with a voice saying "front left". + + + + audio-channel-front-right + + The test sound for identifying the front-right speaker. A mono file with a voice saying "front right". + + + + audio-channel-front-center + + The test sound for identifying the front-center speaker. A mono file with a voice saying "front center". + + + + audio-channel-rear-left + + The test sound for identifying the front-left speaker. A mono file with a voice saying "rear left". + + + + audio-channel-rear-right + + The test sound for identifying the front-right speaker. A mono file with a voice saying "rear right". + + + + audio-channel-rear-center + + The test sound for identifying the front-center speaker. A mono file with a voice saying "rear center". + + + + audio-channel-lfe + + The test sound for identifying the lfe/subwoofer speaker. A mono file with a voice saying "subwoofer", alternatively a low frequency noise. + + + + audio-channel-side-left + + The test sound for identifying the side-left speaker. A mono file with a voice saying "side left". + + + + audio-channel-side-right + + The test sound for identifying the side-right speaker. A mono file with a voice saying "side right". + + + + audio-test-signal + + The test sound for testing audio. + +
@@ -393,11 +756,35 @@ usage. - game-over + game-over-winner Guess what...! + + game-over-loser + + Guess what...! + + + + game-card-shuffle + + In card games, when the cards are shuffled. + + + + game-human-move + + When the user makes a move + + + + game-computer-move + + When the a computer makes a move + + -- cgit v1.2.3 From cf161facdde73e378020231e1de9519a15dd4a85 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 2 Jun 2008 17:37:41 +0300 Subject: Fix search-results{,empty} for USB devices --- sound-theme/sound-naming-spec.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index ef91176..6a53a2f 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -145,12 +145,13 @@ usage. The dash - character is used to separate levels of specificity in sound names. For instance, we - use search-results as the generic item for all - mouse devices, and we use search-results-empty - for a USB mouse device. However, if the more specific item - does not exist in the current theme, and does exist in a - parent theme, the generic sound from the current theme is - preferred, in order to keep consistent style. + use search-results as the generic item for + all search results, and we use + search-results-empty for an empty search + result. However, if the more specific item does not exist + in the current theme, and does exist in a parent theme, + the generic sound from the current theme is preferred, in + order to keep consistent style. -- cgit v1.2.3 From b0549aec3a6745cf1ef179e86e2fa1cc76289b75 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 2 Jun 2008 17:39:02 +0300 Subject: Change device-{removed,added} to device-{,un}plugged, according to notifications --- sound-theme/sound-naming-spec.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 6a53a2f..03eb096 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -422,13 +422,13 @@ usage. - device-plugged + device-added The sound used when a device has become available to the desktop, i.e. due to USB plugging. - device-unplugged + device-removed The sound used when a device has become unavailable to the desktop, i.e. due to USB unplug. -- cgit v1.2.3 From 5709985b36e944d10d980605a0337a8b3a7695b4 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 2 Jun 2008 17:54:28 +0300 Subject: replace photo-shutter with camera-{focus,shutter} --- sound-theme/sound-naming-spec.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 03eb096..e37b46f 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -644,11 +644,17 @@ usage. - photo-shutter + camera-shutter A photo has been shot. + + camera-focus + + A camera has the focus. + + count-down -- cgit v1.2.3 From 00a56dc4da3aea3a88cd261007810064e53290a9 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 2 Jun 2008 18:17:30 +0300 Subject: Add a note about ReplayGain --- sound-theme/sound-theme-spec.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 83fb029..581dd1b 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -92,6 +92,8 @@ FIXME: give a rationale about those choice + The sample must be normalized, in order to be mixed down + nicely with a suitable average replay level. @@ -115,7 +117,7 @@ default, apps should look in $XDG_DATA_DIRS/sounds. Applications may further add their own sound directories to this list, and users may extend or change the list (in application/desktop - specific ways).In each of these directories themes are stored as + specific ways). In each of these directories themes are stored as subdirectories. A theme can be spread across several base directories by having subdirectories of the same name. This way users can extend and override system themes. @@ -160,6 +162,10 @@ ".sound". e.g. if the sound file is called "system-log-out.wav" the corresponding file would be named "system-log-out.sound". + + The sound samples must be normalized with a suitable average + replay level, in order to be properly mixed down. + @@ -658,3 +664,5 @@ Loop=yes
+ +http://replaygain.khydrogenaudio.orc/calculationg_rg.html \ No newline at end of file -- cgit v1.2.3 From de1d7bd8f6336feee89e4b379763246481fefb00 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Mon, 2 Jun 2008 18:38:49 +0300 Subject: add notebook-tab-changed, item-selected, menu-replace --- sound-theme/sound-naming-spec.xml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index e37b46f..01842f1 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -550,6 +550,12 @@ usage. The sound used when an existing window is unmaximized. + + notebook-tab-changed + + The sound used when a notebook tab is changed. + + dialog-ok @@ -591,11 +597,17 @@ usage. item-deleted - The sound used when a file or folder is deleted + The sound used when a item is deleted. + + + + item-selected + + The sound used when an item is selected. - item-trash + file-trash The sound used when a file or folder is sent to the trash. @@ -643,6 +655,12 @@ usage. The sound used when a menu is popped down. + + menu-replace + + The sound used when replacing an active menu with another menu. + + camera-shutter -- cgit v1.2.3 From 51836dd89ee8f31a25f37f73ca27719736d9727d Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 17:48:18 +0300 Subject: Change SoundSystem to OutputProfile --- sound-theme/sound-theme-spec.xml | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 581dd1b..ca9d8ea 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -125,7 +125,6 @@ In order to have a place for third party applications to install their sounds there should always exist a theme called - "freedesktop". The data for the freedesktop theme is available for download at: http://www.freedesktop.org/software/sound-theme/. Implementations are required to look in the "freedesktop" theme if @@ -287,7 +286,7 @@ NO - SoundSystem + OutputProfile Define the sound system for which the sounds are made for. It can be "stereo" or "5.1", or whatever system @@ -453,19 +452,19 @@ FindSound(sound, locale) { - filename = FindSoundHelper(sound, locale, soundsystem, user selected theme); + filename = FindSoundHelper(sound, locale, outputprofile, user selected theme); if filename != none return filename - filename = FindSoundHelper(sound, locale, soundsystem, "freedesktop"); + filename = FindSoundHelper(sound, locale, outputprofile, "freedesktop"); if filename != none return filename return LookupFallbackSound (sound) } -FindSoundHelper(sound, locale, soundsystem, theme) { - filename = LookupSound (sound, locale, soundsystem, theme) +FindSoundHelper(sound, locale, outputprofile, theme) { + filename = LookupSound (sound, locale, outputprofile, theme) if filename != none return filename @@ -473,7 +472,7 @@ FindSoundHelper(sound, locale, soundsystem, theme) { parents = theme.parents for parent in parents { - filename = FindSoundHelper (sound, locale, soundsystem, parent) + filename = FindSoundHelper (sound, locale, outputprofile, parent) if filename != none return filename } @@ -484,12 +483,12 @@ FindSoundHelper(sound, locale, soundsystem, theme) { With the following helper functions: -LookupSound (sound, locale, soundsystem, theme) { +LookupSound (sound, locale, outputprofile, theme) { // lookup localized version for each subdir in $(theme subdir list) { for each directory in $(basename list) { - for system in (soundsystem, "stereo") { - if DirectoryMatchesSoundSystem(subdir, system) { + for profile in (outputprofile, "stereo") { + if DirectoryMatchesOutputProfile(subdir, profile) { for extension in ("wav", "ogg") { filename = directory/$(themename)/subdir/$locale/sound.extension if exist filename @@ -503,8 +502,8 @@ LookupSound (sound, locale, soundsystem, theme) { // lookup unlocalized version for each subdir in $(theme subdir list) { for each directory in $(basename list) { - for system in (soundsystem, "stereo") { - if DirectoryMatchesSoundSystem(subdir, system) { + for profile in (outputprofile, "stereo") { + if DirectoryMatchesOutputProfile(subdir, profile) { for extension in ("wav", "ogg") { filename = directory/$(themename)/subdir/sound.extension if exist filename @@ -528,9 +527,9 @@ LookupFallbackSound (sound) { return none } -DirectoryMatchesSoundSystem(subdir, system) { - read SoundSystem from subdir - if SoundSystem == system +DirectoryMatchesOutputProfile(subdir, profile) { + read OutputProfile from subdir + if OutputProfile == profile return true return false } @@ -554,12 +553,12 @@ Directories=stereo/alert/fr notifications/long/5.1 [stereo/alert/fr] Context=Alert -SoundSystem=stereo +OutputProfile=stereo Locale=fr [notifications/long/5.1] Context=Notification -SoundSystem=5.1 +OutputProfile=5.1 The corresponding directory tree in the /usr/share/sounds -- cgit v1.2.3 From fec171d75635fa39416c78dda71bce4829594065 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 17:48:34 +0300 Subject: rename a couple of sound events --- sound-theme/sound-naming-spec.xml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 01842f1..62fc2d2 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -227,7 +227,7 @@ usage. - power-unplug-battey-low + power-unplug-battery-low The power cable has been unplugged and the battery level is low. @@ -614,21 +614,33 @@ usage. - link-click + link-pressed - The sound used when a link in a web or help browser is clicked. + The sound used when a link in a web or help browser is pressed. - button-click + link-released - The sound used when a button in a dialog is clicked. + The sound used when a link in a web or help browser is releaed. + + + + button-pressed + + The sound used when a button is pressed. + + + + button-released + + The sound used when a button is released. menu-click - The sound used when a menu in a dialog is clicked. + The sound used when a menu item is clicked. @@ -668,7 +680,7 @@ usage. - camera-focus + focus-camera A camera has the focus. @@ -842,3 +854,4 @@ usage. + \ No newline at end of file -- cgit v1.2.3 From be7c4b5feb8b84b846617c9ebd8f58e31a5f853a Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 18:09:46 +0300 Subject: Rewrite the algorithms after Lennart implementation and cleverness --- sound-theme/sound-theme-spec.xml | 61 +++++++++------------------------------- 1 file changed, 14 insertions(+), 47 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index ca9d8ea..376e50d 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -451,18 +451,6 @@ (if the implementation supports OGG) is: -FindSound(sound, locale) { - filename = FindSoundHelper(sound, locale, outputprofile, user selected theme); - if filename != none - return filename - - filename = FindSoundHelper(sound, locale, outputprofile, "freedesktop"); - if filename != none - return filename - - return LookupFallbackSound (sound) -} - FindSoundHelper(sound, locale, outputprofile, theme) { filename = LookupSound (sound, locale, outputprofile, theme) if filename != none @@ -472,7 +460,7 @@ FindSoundHelper(sound, locale, outputprofile, theme) { parents = theme.parents for parent in parents { - filename = FindSoundHelper (sound, locale, outputprofile, parent) + filename = LookupSound (sound, locale, outputprofile, parent) if filename != none return filename } @@ -483,47 +471,26 @@ FindSoundHelper(sound, locale, outputprofile, theme) { With the following helper functions: -LookupSound (sound, locale, outputprofile, theme) { +LookupSound (sound, locale, requestedoutputprofile, requestedtheme) { // lookup localized version - for each subdir in $(theme subdir list) { - for each directory in $(basename list) { - for profile in (outputprofile, "stereo") { - if DirectoryMatchesOutputProfile(subdir, profile) { - for extension in ("wav", "ogg") { - filename = directory/$(themename)/subdir/$locale/sound.extension - if exist filename - return filename + for theme in (requestedtheme, "freedesktop", "") { + for each locale in ($locale, truncate($locale, "@"), truncate($locale, "_"), "C", "") + for profile in (requestedoutputprofile, "stereo", "") { + for each subdir in $(theme subdir list) { + if DirectoryMatchesOutputProfile(subdir, profile) { + for each directory in $(basename list) { + for extension in ("wav", "ogg") { + filename = directory/$theme/subdir/locale/sound.extension + if exist filename + return filename + } + } } } } } } - // lookup unlocalized version - for each subdir in $(theme subdir list) { - for each directory in $(basename list) { - for profile in (outputprofile, "stereo") { - if DirectoryMatchesOutputProfile(subdir, profile) { - for extension in ("wav", "ogg") { - filename = directory/$(themename)/subdir/sound.extension - if exist filename - return filename - } - } - } - } - } - - return none -} - -LookupFallbackSound (sound) { - for each directory in $(basename list) { - for extension in ("wav", "ogg") { - if exists directory/sound.extension - return directory/sound.extension - } - } return none } -- cgit v1.2.3 From c5d4c405500274221741b739a64c9acec4a1b916 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 18:22:20 +0300 Subject: remove Length and Locale from directory property --- sound-theme/sound-theme-spec.xml | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 376e50d..3da8e75 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -148,7 +148,7 @@ In the theme directory are also a set of subdirectories containing sound files. The subdirectories are allowed to be several levels deep, e.g. the subdirectory "stereo/alerts" in the theme "freedesktop" - would end up at $basedir/freedesktop/stereo/alerts. (FIXME) + would end up at $basedir/freedesktop/stereo/alerts. The sounds files must be one of the types: WAV/PCM 48kHz, 16 bits @@ -295,24 +295,6 @@ string NO - - Length - - Nominal length in seconds of the sounds in this directory. (FIXME) - - integer - NO - - - Locale - - Locale name, if applicable. (FIXME: not usable since - transaltions would have to update the index.. instead - subdirectoy locale seems more efficient...) - - string - NO - @@ -631,4 +613,4 @@ Loop=yes -http://replaygain.khydrogenaudio.orc/calculationg_rg.html \ No newline at end of file +http://replaygain.hydrogenaudio.orc/calculationg_rg.html \ No newline at end of file -- cgit v1.2.3 From 8a26d170b752864908f563b835182a3447144c73 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 18:23:42 +0300 Subject: typo --- sound-theme/sound-naming-spec.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 62fc2d2..df83421 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -90,7 +90,7 @@ usage. have a major impact on the system or their current use, such as dialog-error. - altert + alert Notification -- cgit v1.2.3 From beb4136c4ba7d2b091087d0200a9298d58b6fdee Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 3 Jun 2008 18:38:48 +0300 Subject: Add subnames lookup: truncatesuffix for soundname --- sound-theme/sound-naming-spec.xml | 8 ++++---- sound-theme/sound-theme-spec.xml | 22 ++++++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index df83421..be8a025 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -68,7 +68,7 @@ usage. Context - The list of default Contexts for the sound theme are: + The list of default contexts for the sound theme are: @@ -132,8 +132,8 @@ usage. Sound names are in the en_US.US_ASCII locale. This means - that the allowable characters in the sound names, must - fall withing the US-ASCII character set. As a further + that the characters allowed in the sound names must + fall within the US-ASCII character set. As a further restriction, all sound names may only contain lowercase letters, numbers, underscore, dash, or period characters. Spaces, colons, slashes, and backslashes are @@ -178,7 +178,7 @@ usage. Alerts This is to notify the user of an action or event which may - have a major imact on the system or their current use case. + have a major impact on the system or their current use case.
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 3da8e75..5b5f282 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -453,18 +453,20 @@ FindSoundHelper(sound, locale, outputprofile, theme) { With the following helper functions: -LookupSound (sound, locale, requestedoutputprofile, requestedtheme) { +LookupSound (soundname, locale, requestedoutputprofile, requestedtheme) { // lookup localized version for theme in (requestedtheme, "freedesktop", "") { - for each locale in ($locale, truncate($locale, "@"), truncate($locale, "_"), "C", "") - for profile in (requestedoutputprofile, "stereo", "") { - for each subdir in $(theme subdir list) { - if DirectoryMatchesOutputProfile(subdir, profile) { - for each directory in $(basename list) { - for extension in ("wav", "ogg") { - filename = directory/$theme/subdir/locale/sound.extension - if exist filename - return filename + for each locale in ($locale, truncateprefix($locale, "@"), truncateprefix($locale, "_"), "C", "") + for each subname in (soundname, truncatesuffix(soundname), truncatesuffix(truncatesuffix(soundname)), ...) + for profile in (requestedoutputprofile, "stereo", "") { + for each subdir in $(theme subdir list) { + if DirectoryMatchesOutputProfile(subdir, profile) { + for each directory in $(basename list) { + for extension in ("wav", "ogg") { + filename = directory/$theme/subdir/locale/subname.extension + if exist filename + return filename + } } } } -- cgit v1.2.3 From 2ed5b4198606811af40f4970d571ff2655cf2608 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Wed, 4 Jun 2008 15:03:28 +0300 Subject: Add replaygain link --- sound-theme/sound-theme-spec.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 5b5f282..544cbe9 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -163,7 +163,10 @@ The sound samples must be normalized with a suitable average - replay level, in order to be properly mixed down. + replay level, in order to be properly mixed down. For more + informations, please read + http://replaygain.hydrogenaudio.orc/calculationg_rg.html and + check that your volume level is reasonable. @@ -505,7 +508,6 @@ Directories=stereo/alert/fr notifications/long/5.1 [stereo/alert/fr] Context=Alert OutputProfile=stereo -Locale=fr [notifications/long/5.1] Context=Notification @@ -613,6 +615,4 @@ Loop=yes - - -http://replaygain.hydrogenaudio.orc/calculationg_rg.html \ No newline at end of file + \ No newline at end of file -- cgit v1.2.3 From 6ff30b61b0350d66621c2bab41e79386b6a69043 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Wed, 4 Jun 2008 15:29:53 +0300 Subject: Version 0.2 --- sound-theme/sound-naming-spec.xml | 16 ++++++++++++++-- sound-theme/sound-theme-spec.xml | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index be8a025..59e8315 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -5,8 +5,8 @@
Sound Naming Specification - Version 0.1 - February 12 2008 + Version 0.2 + 4 June 2008 Marc-Andre @@ -840,6 +840,18 @@ usage. Change History + + Version 0.2, 4 June 2008, Marc-Andre Lureau and Lennart Poettering + + + + + Naming changes. + + + + + Version 0.1, February 12 2008, Marc-Andre Lureau diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 544cbe9..22e0992 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -5,8 +5,8 @@
Sound Theme Specification - Version 0.1 - February 11 2008 + Version 0.2 + 4 June 2008 2008 Marc-Andre @@ -165,7 +165,7 @@ The sound samples must be normalized with a suitable average replay level, in order to be properly mixed down. For more informations, please read - http://replaygain.hydrogenaudio.orc/calculationg_rg.html and + http://replaygain.hydrogenaudio.org/calculationg_rg.html and check that your volume level is reasonable. @@ -602,6 +602,33 @@ Loop=yes Change history + + Version 0.2, 4 June 2008, Marc-Andre Lureau and Lennart Poettering + + + + + Updated the Lookup algorithm. + + + + + Remove Length and Locale from directory property. + + + + + Use OutputProfile instead of SoundSystem. + + + + + Add ReplayGain note. + + + + + Version 0.1, 11 February 2008, Marc-Andre Lureau -- cgit v1.2.3 From c890ba1d62cb352a4c02d92ddc19dee99b34ec56 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 6 Jun 2008 01:20:52 +0200 Subject: A lot of minor modifications, and make clear that Vorbis is mandatory Heya, Here are a couple of fixes to the two sound specs. Nothing too interesting, except that I declared Vorbis support mandatory. Why? Because theme designers and applications for the desktop should be able to rely on that Vorbis support is available. I want to encourage people to ship their sound themes in Vorbis. Nobody forces Nokia to follow this spec 100%. I mean, fd.o is not really a standardization institution, so our standards are not worth too much anyway. So, if Nokia really hates Vorbis that much than they are welcome to implement this spec only partially. I think I am mostly happy now for a release 0.1. I'd like to see email-message-new and instant-message-new changed to message-new-email and message-new-instant however, since it makes sense to share a common sound for them. However, I've been too lazy to do all this swapping foo. Will do that in another patch, maybe. Lennart Signed-off-by: Marc-Andre Lureau --- sound-theme/sound-naming-spec.xml | 19 ++-- sound-theme/sound-theme-spec.xml | 194 +++++++++++++++++++++----------------- 2 files changed, 116 insertions(+), 97 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 59e8315..5a2527f 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -19,7 +19,7 @@ - Lennart Poettering + Lennart Poettering PulseAudio Project @@ -368,20 +368,21 @@ usage. service-login - The sound used when a user logs out of a service - (i.e. Gaim logout) + The sound used when a user logs into a service + (i.e. Gaim login) service-logout - The sound used when a user logs out of a service (i.e. Gaim logout) + The sound used when a user logs out of a service + (i.e. Gaim logout) battery-caution - The sound used when the battery is nearing depletion (below 40%, for + The sound used when the battery is nearing exhaustion (below 40%, for example). @@ -571,7 +572,7 @@ usage. drag-start - The sound used when drag of a file/item i started + The sound used when drag of a file/item is started @@ -777,9 +778,7 @@ usage. Game - This is to alert the user that the system, or their current - use case has changed state in some way - mew email arriving, - new non-critical update to an application available. + Sounds for usage in games.
@@ -866,4 +865,4 @@ usage. - \ No newline at end of file + diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 22e0992..29c4b42 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -18,6 +18,16 @@ + + Lennart + Poettering + PulseAudio Project + +
+ lennart@poettering.net +
+
+
Patryk Zawadzki @@ -56,14 +66,12 @@ A sound theme is a set of sounds that share a common feel, or instrument set. The user can then select the sound theme that - they want to use, and all apps use sounds from the theme. The - initial user of sounds themes is the desktop notification - service. But it can have other uses. + they want to use, and all applications use sounds from the theme. From a programmer perspective a sound theme is just a mapping. Given a set of directories to look for sounds in and a - theme name it maps from sound name to an sound filename. + theme name it maps from sound name to a sound filename. @@ -84,16 +92,12 @@ Sound file - The supported sound file formats are WAV/PCM 44.1-48kHz, - 16bits, and OGG/Vorbis. WAV at 48kHz, stereo is the - recommended uncompressed format, and OGG/Vorbis is the - recommended compressed format. Support for OGGs is optional. - - FIXME: give a rationale about those - choice - - The sample must be normalized, in order to be mixed down - nicely with a suitable average replay level. + The mandatory supported sound file formats are WAV/PCM + 8-48kHz, 8/16bits, and OGG/Vorbis. WAV at 48kHz/Stereo is + the recommended uncompressed format, and OGG/Vorbis is the + recommended compressed format. The sample must be + normalized, in order to be mixed down nicely with a suitable + average replay level. @@ -114,7 +118,7 @@ Directory Layout Sounds and themes are looked for in a set of directories. By - default, apps should look in $XDG_DATA_DIRS/sounds. Applications + default, applications should look in $XDG_DATA_DIRS/sounds. Applications may further add their own sound directories to this list, and users may extend or change the list (in application/desktop specific ways). In each of these directories themes are stored as @@ -151,22 +155,27 @@ would end up at $basedir/freedesktop/stereo/alerts. - The sounds files must be one of the types: WAV/PCM 48kHz, 16 bits - or OGG/Vorbis. The extension must be ".wav", or ".ogg" - respectively (lower case). The support for OGG files is - optional. Implementations that do not support OGGs should just - ignore any ".ogg" files. In addition to this there may be an - additional file with extra sound-data for each file. It should - have the same basename as the sound file, with the extension - ".sound". e.g. if the sound file is called "system-log-out.wav" - the corresponding file would be named "system-log-out.sound". + The sounds files must be one of the types: WAV/PCM 8-48kHz, 8/16 + bits or OGG/Vorbis. The extension must be ".wav", or ".ogg" + respectively (lower case).In addition to the sound files there may + be an additional file with extra sound data for each file. It + should have the same basename as the sound file, with the + extension ".sound". e.g. if the sound file is called + "system-shutdown.wav" the corresponding file would be named + "system-shutdown.sound". - The sound samples must be normalized with a suitable average - replay level, in order to be properly mixed down. For more - informations, please read - http://replaygain.hydrogenaudio.org/calculationg_rg.html and - check that your volume level is reasonable. + The sound samples must be normalized with a suitable average + replay level, in order to be properly mixed down. For more + informations, please read + http://replaygain.hydrogenaudio.org/calculationg_rg.html and + check that your volume level is reasonable. + + + Sounds for different output profiles (i.e. for Stereo, Surround + 4.1, Surround 5.1 and so on) may be part of a theme. All + implementations are required to fallback to the "stereo" output + profile as last resort. @@ -175,7 +184,7 @@ Both the sound theme description file and the sound data files are ini-style text files, as described in the desktop file - specification. They don't have any encoding field. Instead, they + specification. They don't have an encoding field. Instead, they must always be stored in UTF-8 encoding. @@ -197,7 +206,7 @@ Name - short name of the sound theme, used in e.g. lists when + Short name of the sound theme, used in e.g. lists when selecting themes. localestring @@ -206,7 +215,7 @@ Comment - longer string describing the theme + Longer string describing the theme localestring YES @@ -232,7 +241,7 @@ Directories - list of subdirectories for this theme. For every + List of subdirectories for this theme. For every subdirectory there must be a section in the index.theme file describing that directory. @@ -291,9 +300,8 @@ OutputProfile - Define the sound system for which the sounds are made - for. It can be "stereo" or "5.1", or whatever system - suits the configuration in which they are recorded. + Define the output profile for which the sounds are made + for. It can be "stereo" or "5.1", or any other output configuration. string NO @@ -310,7 +318,7 @@ Sound Theme" or "X-Gnome Sound Theme". - The optional filename.sound file contains a group called "Sound + The optional file filename.sound contains a group "Sound Data", with the content listed in table 3.
Sound Data Keys @@ -333,22 +341,12 @@ localestringNO - - Loop - - Indicates if the sound is appropriate in loop-mode - playing. This can be useful for ringing tones, - environment, instruments... - - boolean - NO -
- Extensions to the filename.sound file are allowed, but the + Extensions to filename.sound are allowed, but the keys must be begin with "X-" to avoid collisions with future standardized extensions to this format. @@ -356,7 +354,7 @@ Context - The Context allows + The context allows the designer to group sounds on a conceptual level. It doesn't act as a namespace in the file system, such that sounds can have identical names, but allows @@ -370,8 +368,8 @@ Alert Sounds to alert the user of an action or event - which may have a major imact on the system or their - current use case, such as + which may have a major impact on the system or their + current use, such as dialog-error. @@ -380,8 +378,8 @@ Notification Sounds to notify the user that the system, or their - current use case has changed state in some way, e.g. new email - arriving, new non-critical update available... + current use has changed state in some way, e.g. new email + arriving, new non-critical updates available... @@ -389,7 +387,7 @@ Support Sounds that give the user feedback on their - actions. Sounds on window opening / closing for + actions. Sounds on window opening/closing for example. @@ -411,7 +409,7 @@ The sound lookup mechanism has two global settings, the list of base directories and the internal name of the current theme. Given - these we need to specify how to look up sound file from the sound + these we specify how to look up sound file from the sound name. @@ -419,36 +417,47 @@ recursively in each of the current theme's parents, and finally in the default theme called "freedesktop" (implementations may add more default themes before "freedesktop", but "freedesktop" must - be last). As soon as there is a sound that matches in a theme, the - search is stopped. + be last). A last fallback is unthemed sound. As soon as there is + a sound that matches in a theme, the search is stopped. + + + To support localized sounds we first lookup the sound in the + LC_MESSAGES locale setting of the program. If that fails, the + locale string is truncated at the "@" if it includes it and it is + tried again. Then, the locale string is truncated at the "_" if it + includes it and it is tried again. Then it is looked for a sound + in the "C" locale. Finally non-localized sound files are searched. - The lookup inside a theme is done in three phases. First all the - directories are scanned for an exact match, e.g. one where the - locale of the sound match what was looked up. Then all - the directories are scanned for any sound that matches the name. If - that fails we finally fall back on unthemed sound. If we fail to - find any sound at all it is up to the application to pick a good - fallback, as the correct choice depends on the context. + If a sound name is not found, it is truncated at the last "-" and + it is tried again. This is done again until no further "-" are + present in the name string. This is useful to define common sounds + for similar events. i.e. instead of defining two seperate sounds + for "new-message-im" and "new-message-email" it might make sense + to define just "new-message" instead. - The exact algorithm (in pseudocode) for looking up a sound in a theme - (if the implementation supports OGG) is: + The lookup is done first in the requested output profile, followed + by a lookup in "stereo" on failure and then without any output + profile. + + + The exact algorithm (in pseudocode) for looking up a sound in a + theme is: -FindSoundHelper(sound, locale, outputprofile, theme) { +FindSound(sound, locale, outputprofile, theme) { filename = LookupSound (sound, locale, outputprofile, theme) if filename != none return filename if theme has parents - parents = theme.parents + for parent in theme.parents { + filename = LookupSound (sound, locale, outputprofile, parent) + if filename != none + return filename + } - for parent in parents { - filename = LookupSound (sound, locale, outputprofile, parent) - if filename != none - return filename - } return none } @@ -456,17 +465,26 @@ FindSoundHelper(sound, locale, outputprofile, theme) { With the following helper functions: -LookupSound (soundname, locale, requestedoutputprofile, requestedtheme) { - // lookup localized version - for theme in (requestedtheme, "freedesktop", "") { - for each locale in ($locale, truncateprefix($locale, "@"), truncateprefix($locale, "_"), "C", "") - for each subname in (soundname, truncatesuffix(soundname), truncatesuffix(truncatesuffix(soundname)), ...) +LookupSound (requestedname, requestedlocale, requestedoutputprofile, requestedtheme) { + for theme in (requestedtheme, + "freedesktop", + "") { + for each locale in (requestedlocale, + truncatesuffix(requestedlocale, "@"), + truncatesuffix(requestedlocale, "_"), + "C", + "") { + for each name in (requestedname, + truncatesuffix(requestedname, "-"), + truncatesuffix(truncatesuffix(requestedname, "-"), "-"), + truncatesuffix(truncatesuffix(truncatesuffix(requestedname, "-"), "-"), "-"), + ...) { for profile in (requestedoutputprofile, "stereo", "") { for each subdir in $(theme subdir list) { if DirectoryMatchesOutputProfile(subdir, profile) { for each directory in $(basename list) { for extension in ("wav", "ogg") { - filename = directory/$theme/subdir/locale/subname.extension + filename = directory/theme/subdir/locale/name.extension if exist filename return filename } @@ -547,17 +565,19 @@ Loop=yes Installing Application Sounds - So, you're an application author, and you want to install sounds - so that they can be used by your application. Minimally you should - install the sound file in the "freedesktop" theme. This means + If you're an application author and you want to install sounds + so that they can be used by your application, you should + at least install the sound file in the "freedesktop" theme. This means installing a stereo WAV file in $XDG_DATA_DIRS/sounds/freedesktop/stereo/$context. - + + Optionally you can install sounds in different formats and - language. For example, installing a localized OGG/Vorbis 5.1 game + languages. For example, installing a localized OGG/Vorbis 5.1 game sound in $prefix/share/sounds/freedesktop/5.1/game/fr. - - You might even want to install sounds that matches other well + + + You might even want to install sounds that match other well known themes so your application will fit in with some specific desktop environment. @@ -642,4 +662,4 @@ Loop=yes - \ No newline at end of file + -- cgit v1.2.3 From 23bc4cef30f3213e66193ba6a7117b0c83f4689c Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Fri, 6 Jun 2008 18:41:06 +0300 Subject: Use 'event sounds' instead of 'sounds' --- sound-theme/sound-theme-spec.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 29c4b42..ed02963 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -64,8 +64,8 @@ Overview - A sound theme is a set of sounds that share a common feel, or - instrument set. The user can then select the sound theme that + A sound theme is a set of event sounds that share a common feel, + or instrument set. The user can then select the sound theme that they want to use, and all applications use sounds from the theme. -- cgit v1.2.3 From 08e7de2a218fa89c52a871b3f363dc12420ca748 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 15:13:24 +0200 Subject: Few minor fixes, Add a couple of new names. --- sound-theme/sound-naming-spec.xml | 73 +++++++++++++++++++++++++++++++++++---- sound-theme/sound-theme-spec.xml | 3 ++ 2 files changed, 70 insertions(+), 6 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 5a2527f..e0fc25e 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -157,9 +157,16 @@ usage. Sounds for branded applications should be named the same - as the binary executable for the application. + as the binary executable for the application, prefixed by + the string x-, to avoid name space clashes with future + standardized names. Example: x-openoffice-foobar. + + + Please send suggestions for new standardized names to the XDG mailing list: xdg@lists.freedesktop.org + + @@ -182,7 +189,7 @@ usage. - Standard Alerts Sounds + Standard Alert Sounds @@ -282,7 +289,13 @@ usage. download-complete - The sound used when an file completed downloading.. + The sound used when a file completed downloading. + + + + copy-complete + + The sound used when a file completed copying. @@ -349,7 +362,7 @@ usage. desktop-login - The sound used when a user logs into the system. + The sound used when a user logs into the system, played as a welcome sound immediately after the login screen disappeared. @@ -482,7 +495,7 @@ usage.
- Standard Support Sounds + Standard Action Sounds @@ -551,6 +564,24 @@ usage. The sound used when an existing window is unmaximized. + + window-inactive-click + + The sound used when the user clicks on an inactive window. + + + + desktop-switch-left + + The sound used when the window manager switches to another desktop which is located to the left of the current screen. + + + + desktop-switch-right + + The sound used when the window manager switches to another desktop which is located to the right of the current screen. + + notebook-tab-changed @@ -656,6 +687,18 @@ usage. The sound used when a toggle/check/radio button is deactivated. + + expander-toggle-on + + The sound used when an expander is activated. + + + + expander-toggle-off + + The sound used when an expander is deactivated. + + menu-popup @@ -674,6 +717,18 @@ usage. The sound used when replacing an active menu with another menu. + + tooltip-popup + + The sound used when a tooltip is popped up. + + + + tooltip-popdown + + The sound used when a tooltip is popped down. + + camera-shutter @@ -681,11 +736,17 @@ usage. - focus-camera + camera-focus A camera has the focus. + + screen-capture + + A screenshot was made + + count-down diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index ed02963..da5eeb9 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -165,6 +165,9 @@ "system-shutdown.sound". + To save disk space Vorbis encoded sound files are recommended. + + The sound samples must be normalized with a suitable average replay level, in order to be properly mixed down. For more informations, please read -- cgit v1.2.3 From 0c1494230544081bfef61e252aba09d4de74cf3e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 15:21:11 +0200 Subject: swap the ordering of a few names so that automatic fallback to truncated names makes more sense. --- sound-theme/sound-naming-spec.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index e0fc25e..f699d32 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -84,7 +84,7 @@ usage. - Alert + Alerts Sounds to alert the user of an action or event which may have a major impact on the system or their current use, @@ -93,7 +93,7 @@ usage. alert - Notification + Notifications Sounds to notify the user that the system, or their current use case has changed state in some way, e.g. new @@ -263,37 +263,37 @@ usage. - instant-message-new + message-new-instant The sound used when a new IM is recieved. - email-message-new + message-new-email The sound used when a new email is recieved. - media-burn-complete + complete-media-burn The sound used when an optical medium completed burning. - media-rip-complete + complete-media-rip The sound used when an optical medium completed ripping. - download-complete + complete-download The sound used when a file completed downloading. - copy-complete + complete-copy The sound used when a file completed copying. @@ -331,7 +331,7 @@ usage. system-bootup - The sound used when the computer is being booted up. + The sound used when the computer is being booted up, played as as early in bootup as possible. @@ -372,7 +372,7 @@ usage. - desktop-lock-screen + desktop-screen-lock The sound used when the user locks their current session. @@ -511,13 +511,13 @@ usage. - instant-message-sent + message-sent-instant The sound used when a new IM is sent. - email-message-sent + message-sent-email The sound used when a new email is sent. -- cgit v1.2.3 From 551701640bbd7a629f9135cda0cc60b83503d30a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 15:15:16 +0200 Subject: Few minor fixes, Add a couple of new names. Heya! Please merge! Adds a few new names and fixes everything what mclasen suggested to fix. Lennart Signed-off-by: Marc-Andre Lureau --- sound-theme/sound-naming-spec.xml | 73 +++++++++++++++++++++++++++++++++++---- sound-theme/sound-theme-spec.xml | 3 ++ 2 files changed, 70 insertions(+), 6 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 5a2527f..e0fc25e 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -157,9 +157,16 @@ usage. Sounds for branded applications should be named the same - as the binary executable for the application. + as the binary executable for the application, prefixed by + the string x-, to avoid name space clashes with future + standardized names. Example: x-openoffice-foobar. + + + Please send suggestions for new standardized names to the XDG mailing list: xdg@lists.freedesktop.org + + @@ -182,7 +189,7 @@ usage.
- Standard Alerts Sounds + Standard Alert Sounds @@ -282,7 +289,13 @@ usage. download-complete - The sound used when an file completed downloading.. + The sound used when a file completed downloading. + + + + copy-complete + + The sound used when a file completed copying. @@ -349,7 +362,7 @@ usage. desktop-login - The sound used when a user logs into the system. + The sound used when a user logs into the system, played as a welcome sound immediately after the login screen disappeared. @@ -482,7 +495,7 @@ usage.
- Standard Support Sounds + Standard Action Sounds @@ -551,6 +564,24 @@ usage. The sound used when an existing window is unmaximized. + + window-inactive-click + + The sound used when the user clicks on an inactive window. + + + + desktop-switch-left + + The sound used when the window manager switches to another desktop which is located to the left of the current screen. + + + + desktop-switch-right + + The sound used when the window manager switches to another desktop which is located to the right of the current screen. + + notebook-tab-changed @@ -656,6 +687,18 @@ usage. The sound used when a toggle/check/radio button is deactivated. + + expander-toggle-on + + The sound used when an expander is activated. + + + + expander-toggle-off + + The sound used when an expander is deactivated. + + menu-popup @@ -674,6 +717,18 @@ usage. The sound used when replacing an active menu with another menu. + + tooltip-popup + + The sound used when a tooltip is popped up. + + + + tooltip-popdown + + The sound used when a tooltip is popped down. + + camera-shutter @@ -681,11 +736,17 @@ usage. - focus-camera + camera-focus A camera has the focus. + + screen-capture + + A screenshot was made + + count-down diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index ed02963..da5eeb9 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -165,6 +165,9 @@ "system-shutdown.sound". + To save disk space Vorbis encoded sound files are recommended. + + The sound samples must be normalized with a suitable average replay level, in order to be properly mixed down. For more informations, please read -- cgit v1.2.3 From ed769731b3d94ab730843884bb9bc0b1d8adf029 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 15:22:32 +0200 Subject: swap the ordering of a few names so that automatic fallback to truncated names makes more sense. So, I have now sapped the order of the words of quite a few names where it made sense to me. Please merge, Lennart Signed-off-by: Marc-Andre Lureau --- sound-theme/sound-naming-spec.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index e0fc25e..f699d32 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -84,7 +84,7 @@ usage. - Alert + Alerts Sounds to alert the user of an action or event which may have a major impact on the system or their current use, @@ -93,7 +93,7 @@ usage. alert - Notification + Notifications Sounds to notify the user that the system, or their current use case has changed state in some way, e.g. new @@ -263,37 +263,37 @@ usage. - instant-message-new + message-new-instant The sound used when a new IM is recieved. - email-message-new + message-new-email The sound used when a new email is recieved. - media-burn-complete + complete-media-burn The sound used when an optical medium completed burning. - media-rip-complete + complete-media-rip The sound used when an optical medium completed ripping. - download-complete + complete-download The sound used when a file completed downloading. - copy-complete + complete-copy The sound used when a file completed copying. @@ -331,7 +331,7 @@ usage. system-bootup - The sound used when the computer is being booted up. + The sound used when the computer is being booted up, played as as early in bootup as possible. @@ -372,7 +372,7 @@ usage. - desktop-lock-screen + desktop-screen-lock The sound used when the user locks their current session. @@ -511,13 +511,13 @@ usage. - instant-message-sent + message-sent-instant The sound used when a new IM is sent. - email-message-sent + message-sent-email The sound used when a new email is sent. -- cgit v1.2.3 From ca050d40de9b5b7c426fd433ac99b61eda7c0e97 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Tue, 10 Jun 2008 18:05:48 +0300 Subject: -> --- sound-theme/sound-naming-spec.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index f699d32..e2aba41 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -158,7 +158,7 @@ usage. Sounds for branded applications should be named the same as the binary executable for the application, prefixed by - the string x-, to avoid name space clashes with future + the string x-, to avoid name space clashes with future standardized names. Example: x-openoffice-foobar. -- cgit v1.2.3 From fc633c3f37e6811d30da3e634c45d0d1bfb3c2ad Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 17:07:26 +0200 Subject: add make file for generating the html versions --- sound-theme/.gitignore | 1 + sound-theme/Makefile | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 sound-theme/.gitignore create mode 100644 sound-theme/Makefile diff --git a/sound-theme/.gitignore b/sound-theme/.gitignore new file mode 100644 index 0000000..514a968 --- /dev/null +++ b/sound-theme/.gitignore @@ -0,0 +1 @@ +*,html diff --git a/sound-theme/Makefile b/sound-theme/Makefile new file mode 100644 index 0000000..1c445fb --- /dev/null +++ b/sound-theme/Makefile @@ -0,0 +1,9 @@ +DOCS = sound-naming-spec.html sound-theme-spec.html + +%.html: %.xml + xsltproc /usr/share/sgml/docbook/xsl-stylesheets-1.73.2/xhtml/docbook.xsl $< > $@ + +all: $(DOCS) + +clean: + rm -f $(DOCS) -- cgit v1.2.3 From d37cf61df8b9f20aeed6fd7fd788c842ac0dfd35 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 17:07:58 +0200 Subject: add .gitignore file to ignore html files --- sound-theme/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound-theme/.gitignore b/sound-theme/.gitignore index 514a968..2d19fc7 100644 --- a/sound-theme/.gitignore +++ b/sound-theme/.gitignore @@ -1 +1 @@ -*,html +*.html -- cgit v1.2.3 From 9232a9987f84ad975a6b4e78dc4abcbdc631d34c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jun 2008 17:18:32 +0200 Subject: add make file for generating the html versions Heya! Here's a simple Makefile to generate the HTML versions of the specs with. Lennart is a lazy forgetful bloke who cannot remember the right xsltproc line to build those versions. Please merge! Lennart Signed-off-by: Marc-Andre Lureau --- sound-theme/.gitignore | 1 + sound-theme/Makefile | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 sound-theme/.gitignore create mode 100644 sound-theme/Makefile diff --git a/sound-theme/.gitignore b/sound-theme/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/sound-theme/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/sound-theme/Makefile b/sound-theme/Makefile new file mode 100644 index 0000000..1c445fb --- /dev/null +++ b/sound-theme/Makefile @@ -0,0 +1,9 @@ +DOCS = sound-naming-spec.html sound-theme-spec.html + +%.html: %.xml + xsltproc /usr/share/sgml/docbook/xsl-stylesheets-1.73.2/xhtml/docbook.xsl $< > $@ + +all: $(DOCS) + +clean: + rm -f $(DOCS) -- cgit v1.2.3 From c9056bd83be626bec271cb84fa6b32e4c122cd19 Mon Sep 17 00:00:00 2001 From: Étienne BERSAC Date: Tue, 10 Jun 2008 19:54:06 +0200 Subject: complete-scan Hop. Signed-off-by: Marc-Andre Lureau --- sound-theme/sound-naming-spec.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index e2aba41..e1ae5ad 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -298,6 +298,12 @@ usage. The sound used when a file completed copying. + + complete-scan + + The sound used when a scanner completed image acquisition and software completed image processing. + + phone-incoming-call -- cgit v1.2.3 From 536a31d713da4ad60a2897b4d7876e15f134c375 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 11 Jun 2008 00:22:48 +0200 Subject: Add a few events known by knotify but not known by us. Heya! Here are a bunch of addition event names, stolen from KDE's knotify. Lennart Signed-off-by: Lennart Poettering --- sound-theme/sound-naming-spec.xml | 78 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index e1ae5ad..2e2913c 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -576,6 +576,42 @@ usage. The sound used when the user clicks on an inactive window. + + window-attention-active + + An active/visible window demands attention. + + + + window-attention-inactive + + An inactive/invisible window demands attention. + + + + window-move-start + + A window move started + + + + window-move-end + + A window move ended + + + + window-resize-start + + A window resize started + + + + window-resize-end + + A window resize ended + + desktop-switch-left @@ -588,12 +624,30 @@ usage. The sound used when the window manager switches to another desktop which is located to the right of the current screen. + + window-switch + + The sound used when the window manager switches to another window. + + notebook-tab-changed The sound used when a notebook tab is changed. + + bell-terminal + + The sound to use as a terminal bell. + + + + bell-window-system + + The sound to use as a generic bell for X11 or other window systems. + + dialog-ok @@ -759,6 +813,30 @@ usage. A countdown (e.g. for a photo shooting) sound that is repeated each second. + + completion-sucess + + A text completion was attempted and was successful. + + + + completion-fail + + A text completion was attempted and was not successful. + + + + completion-partial + + A text completion was attempted and was partially successful. + + + + completion-rotation + + A text completion was attempted and the list of available options reached the end and completion started from the beginning. + + audio-volume-change -- cgit v1.2.3 From b44060cd6ea8552b5b0d3810ae336462e8395aed Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Wed, 11 Jun 2008 01:31:05 +0300 Subject: cosmetic --- sound-theme/sound-naming-spec.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 2e2913c..a77ada8 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -343,7 +343,7 @@ usage. system-ready - The sound used when the computer is booted up and shows the login screen + The sound used when the computer is booted up and shows the login screen. @@ -374,7 +374,7 @@ usage. desktop-logout - The sound used when a user logs out of the system + The sound used when a user logs out of the system. @@ -402,7 +402,7 @@ usage. battery-caution The sound used when the battery is nearing exhaustion (below 40%, for - example). + example) @@ -591,25 +591,25 @@ usage. window-move-start - A window move started + A window move started. window-move-end - A window move ended + A window move ended. window-resize-start - A window resize started + A window resize started. window-resize-end - A window resize ended + A window resize ended. @@ -663,7 +663,7 @@ usage. drag-start - The sound used when drag of a file/item is started + The sound used when drag of a file/item is started. @@ -804,7 +804,7 @@ usage. screen-capture - A screenshot was made + A screenshot was made. @@ -957,13 +957,13 @@ usage. game-human-move - When the user makes a move + When the user makes a move. game-computer-move - When the a computer makes a move + When the a computer makes a move. -- cgit v1.2.3 From 46209343833886e416d2285c283ec5d5622bf36e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Jun 2008 16:31:38 +0200 Subject: scroll events --- sound-theme/Makefile | 2 +- sound-theme/sound-naming-spec.xml | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/sound-theme/Makefile b/sound-theme/Makefile index 1c445fb..b8d5567 100644 --- a/sound-theme/Makefile +++ b/sound-theme/Makefile @@ -1,7 +1,7 @@ DOCS = sound-naming-spec.html sound-theme-spec.html %.html: %.xml - xsltproc /usr/share/sgml/docbook/xsl-stylesheets-1.73.2/xhtml/docbook.xsl $< > $@ + xsltproc /usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl $< > $@ all: $(DOCS) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index a77ada8..659610d 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -837,6 +837,54 @@ usage. A text completion was attempted and the list of available options reached the end and completion started from the beginning. + + scroll-up + + Some window was scrolled up. + + + + scroll-down + + Some window was scrolled down. + + + + scroll-left + + Some window was scrolled left. + + + + scroll-right + + Some window was scrolled right. + + + + scroll-up-end + + Some window was scrolled up and reached the end of the scrollbar. + + + + scroll-down-end + + Some window was scrolled down and reached the end of the scrollbar. + + + + scroll-left-end + + Some window was scrolled left and reached the end of the scrollbar. + + + + scroll-right-end + + Some window was scrolled right and reached the end of the scrollbar. + + audio-volume-change -- cgit v1.2.3 From c793d14725545840605df45a61cdca4ee222b128 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Sat, 28 Jun 2008 22:30:03 +0300 Subject: Change my email --- sound-theme/sound-naming-spec.xml | 2 +- sound-theme/sound-theme-spec.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index a77ada8..3d3efe2 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -14,7 +14,7 @@ Sound Naming Specification
- marc-andre.lureau@nokia.com + marcandre.lureau@gmail.com
diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index da5eeb9..e5a14ba 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -14,7 +14,7 @@ Sound Theme Specification
- marc-andre.lureau@nokia.com + marcandre.lureau@gmail.com
-- cgit v1.2.3 From 326659e5e2810b72e560c4c8c19bf6d7ffd85b4a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Jun 2008 16:33:22 +0200 Subject: scroll events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Heya! A few new events, for scrolling. (And I also sneaked in some fix for the Makefile I sent you earlier. Should make this work on non-Fedora) Lennart Signed-off-by: Lennart Poettering Signed-off-by: Marc-André Lureau --- sound-theme/Makefile | 2 +- sound-theme/sound-naming-spec.xml | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/sound-theme/Makefile b/sound-theme/Makefile index 1c445fb..b8d5567 100644 --- a/sound-theme/Makefile +++ b/sound-theme/Makefile @@ -1,7 +1,7 @@ DOCS = sound-naming-spec.html sound-theme-spec.html %.html: %.xml - xsltproc /usr/share/sgml/docbook/xsl-stylesheets-1.73.2/xhtml/docbook.xsl $< > $@ + xsltproc /usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl $< > $@ all: $(DOCS) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 3d3efe2..ec7aa88 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -837,6 +837,54 @@ usage. A text completion was attempted and the list of available options reached the end and completion started from the beginning.
+ + scroll-up + + Some window was scrolled up. + + + + scroll-down + + Some window was scrolled down. + + + + scroll-left + + Some window was scrolled left. + + + + scroll-right + + Some window was scrolled right. + + + + scroll-up-end + + Some window was scrolled up and reached the end of the scrollbar. + + + + scroll-down-end + + Some window was scrolled down and reached the end of the scrollbar. + + + + scroll-left-end + + Some window was scrolled left and reached the end of the scrollbar. + + + + scroll-right-end + + Some window was scrolled right and reached the end of the scrollbar. + + audio-volume-change -- cgit v1.2.3 From a75a8cb31ce7675c350bba7fb470221eb342e52d Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Sat, 28 Jun 2008 22:50:16 +0300 Subject: Use xsl catalog to figure out the docbook XSL location --- sound-theme/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound-theme/Makefile b/sound-theme/Makefile index b8d5567..c53e3e9 100644 --- a/sound-theme/Makefile +++ b/sound-theme/Makefile @@ -1,7 +1,7 @@ DOCS = sound-naming-spec.html sound-theme-spec.html %.html: %.xml - xsltproc /usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl $< > $@ + xsltproc http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $< > $@ all: $(DOCS) -- cgit v1.2.3 From 067e4d64b16251e90e5750c68156ca5977bc1aa3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 15:33:58 +0200 Subject: add support for .disabled files, reshuffle lookup order to allow easier overwriting of sounds from themes that inherit from others --- sound-theme/sound-theme-spec.xml | 43 +++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index e5a14ba..2277cf3 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -157,7 +157,7 @@ The sounds files must be one of the types: WAV/PCM 8-48kHz, 8/16 bits or OGG/Vorbis. The extension must be ".wav", or ".ogg" - respectively (lower case).In addition to the sound files there may + respectively (lower case). In addition to the sound files there may be an additional file with extra sound data for each file. It should have the same basename as the sound file, with the extension ".sound". e.g. if the sound file is called @@ -165,6 +165,14 @@ "system-shutdown.sound". + An additional pseudo file format ".disabled" is supported for + disabling sounds in a theme that inherits from another theme. If + the sound lookup algorithms detects a file with the suffix + ".disabled" it shall immediately terminate the lookup logic and + consider the sound not available. All files with ".disabled" + suffix should be of length zero. + + To save disk space Vorbis encoded sound files are recommended. @@ -445,6 +453,9 @@ profile. + The lookup algorithm should check for ".disabled" files first, followed by ".ogg" and finally for ".wav". + + The exact algorithm (in pseudocode) for looking up a sound in a theme is: @@ -472,21 +483,21 @@ LookupSound (requestedname, requestedlocale, requestedoutputprofile, requestedth for theme in (requestedtheme, "freedesktop", "") { - for each locale in (requestedlocale, - truncatesuffix(requestedlocale, "@"), - truncatesuffix(requestedlocale, "_"), - "C", - "") { - for each name in (requestedname, - truncatesuffix(requestedname, "-"), - truncatesuffix(truncatesuffix(requestedname, "-"), "-"), - truncatesuffix(truncatesuffix(truncatesuffix(requestedname, "-"), "-"), "-"), - ...) { - for profile in (requestedoutputprofile, "stereo", "") { - for each subdir in $(theme subdir list) { - if DirectoryMatchesOutputProfile(subdir, profile) { - for each directory in $(basename list) { - for extension in ("wav", "ogg") { + for profile in (requestedoutputprofile, "stereo", "") { + for each subdir in $(theme subdir list) { + if DirectoryMatchesOutputProfile(subdir, profile) { + for each directory in $(basename list) { + for each name in (requestedname, + truncatesuffix(requestedname, "-"), + truncatesuffix(truncatesuffix(requestedname, "-"), "-"), + truncatesuffix(truncatesuffix(truncatesuffix(requestedname, "-"), "-"), "-"), + ...) { + for each locale in (requestedlocale, + truncatesuffix(requestedlocale, "@"), + truncatesuffix(requestedlocale, "_"), + "C", + "") { + for extension in ("disabled", "wav", "ogg") { filename = directory/theme/subdir/locale/name.extension if exist filename return filename -- cgit v1.2.3 From d35e7aba1ecbdbbc725999c3f3f4f78cb621ff0c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 15:39:39 +0200 Subject: introduce __custom --- sound-theme/sound-theme-spec.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 2277cf3..c0b7754 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -456,6 +456,17 @@ The lookup algorithm should check for ".disabled" files first, followed by ".ogg" and finally for ".wav". + Configuration programs that allow limited user manipulation of the + selected sound theme (i.e. for disabling or replacing certain + sounds), should create a dynamicly created theme "__custom" that + inherits from the selected theme and store it in the + "~/.local/share/sounds/__custom" directory. Its index.theme should + list a single directory ".". The sounds defined in that theme + should not be attached to any output profile and should not be + localized. The overwritten sounds should thus be stored directly + below the aforementioned directory. + + The exact algorithm (in pseudocode) for looking up a sound in a theme is: -- cgit v1.2.3 From 4c6f80d2dd4febce5f592d9e400818d5b01de7ce Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 15:46:38 +0200 Subject: we don't use context for path names anymore; the locale is not considered part of the index.theme paths --- sound-theme/sound-theme-spec.xml | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index c0b7754..61f56a8 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -546,14 +546,12 @@ Name[fr]=Bouleau Comment=Sound theme using wooden instruments Comment[fr]=Theme utilisant des instruments en bois Inherits=wood,default -Directories=stereo/alert/fr notifications/long/5.1 +Directories=stereo 5.1 -[stereo/alert/fr] -Context=Alert +[stereo] OutputProfile=stereo -[notifications/long/5.1] -Context=Notification +[5.1] OutputProfile=5.1 @@ -562,27 +560,26 @@ directory could look like this: birch/index.theme -birch/stereo/alert/evolution-urgent-message.ogg -birch/stereo/alert/evolution-urgent-message.wav -birch/stereo/alert/fr/evolution-urgent-message.ogg -birch/stereo/alert/evolution-urgent-message.sound -birch/5.1/alert/evolution-urgent-message.ogg +birch/stereo/evolution-urgent-message.ogg +birch/stereo/evolution-urgent-message.wav +birch/stereo/fr/evolution-urgent-message.ogg +birch/stereo/evolution-urgent-message.sound +birch/5.1/evolution-urgent-message.ogg -Where birch/stereo/alert/evolution-urgent-message.sound contains: +Where birch/stereo/evolution-urgent-message.sound contains: [Sound Data] DisplayName=Evolution urgent message DisplayName[fr]=Message urgent dans Evolution -Loop=yes In this example a lookup of "evolution-urgent-message", with a 5.1 system preference and no localization, would get the - "birch/5.1/alert/evolution-urgent-message.ogg" sound file. + "birch/5.1/evolution-urgent-message.ogg" sound file. @@ -594,12 +591,12 @@ Loop=yes so that they can be used by your application, you should at least install the sound file in the "freedesktop" theme. This means installing a stereo WAV file in - $XDG_DATA_DIRS/sounds/freedesktop/stereo/$context. + $XDG_DATA_DIRS/sounds/freedesktop/stereo/. Optionally you can install sounds in different formats and languages. For example, installing a localized OGG/Vorbis 5.1 game - sound in $prefix/share/sounds/freedesktop/5.1/game/fr. + sound in $prefix/share/sounds/freedesktop/5.1/fr. You might even want to install sounds that match other well -- cgit v1.2.3 From 5148c79dfa32cb8eb5ab08a71fae5a91523f0f9d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 15:49:02 +0200 Subject: added change note --- sound-theme/sound-theme-spec.xml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 61f56a8..0a53c42 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -644,6 +644,33 @@ DisplayName[fr]=Message urgent dans Evolution Change history + + Version 0.3, 25 July 2008, Lennart Poettering + + + + + Reordered lookup algorithm, to allow easy overwriting of sounds from inherited themes. + + + + + Document "__custom" theme. + + + + + Document ".disabled" sound files. + + + + + Other fixes + + + + + Version 0.2, 4 June 2008, Marc-Andre Lureau and Lennart Poettering -- cgit v1.2.3 From 251659337ac04620b72bc0b5dd0b2b5309df693c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 15:59:39 +0200 Subject: add new section about 'input feedback' sounds and move a couple of sounds there --- sound-theme/sound-naming-spec.xml | 374 +++++++++++++++++++++----------------- 1 file changed, 204 insertions(+), 170 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index ec7aa88..9d63860 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -105,7 +105,14 @@ usage. Actions Sounds that give the user feedback on their - actions. Sounds on window opening / closing for example. + actions. + + action + + + Input Feedback + + Sounds that give direct response to input events from the user, such as mouse clicks or key presses. action @@ -489,6 +496,18 @@ usage. A user configured alarm elapsed. + + window-attention-active + + An active/visible window demands attention. + + + + window-attention-inactive + + An inactive/invisible window demands attention. + +
@@ -497,10 +516,10 @@ usage. Actions - Actions sounds are used as feedback for an immediate user operation. + Action sounds are used as feedback for user operations. - +
Standard Action Sounds @@ -529,438 +548,452 @@ usage. - window-close - - The sound used when an existing window is closed. - - - - window-slide-in + bell-terminal - The sound used when a window is slided in by some means. Example: panel. + The sound to use as a terminal bell. - window-slide-out + bell-window-system - The sound used when a window is slided out by some means. Example: panel. + The sound to use as a generic bell for X11 or other window systems. - window-minimized + trash-empty - The sound used when an existing window is minimized. + The sound used when the user empties the trash. - window-unminimized + item-deleted - The sound used when an existing window is unminimized. + The sound used when a item is deleted. - window-maximized + file-trash - The sound used when an existing window is maximized. + The sound used when a file or folder is sent to the + trash. - window-unmaximized + camera-shutter - The sound used when an existing window is unmaximized. + A photo has been shot. - window-inactive-click + camera-focus - The sound used when the user clicks on an inactive window. + A camera has the focus. - window-attention-active + screen-capture - An active/visible window demands attention. + A screenshot was made. - window-attention-inactive + count-down - An inactive/invisible window demands attention. + A countdown (e.g. for a photo shooting) sound that is repeated each second. - - window-move-start + + completion-sucess - A window move started. + A text completion was attempted and was successful. - - window-move-end + + completion-fail - A window move ended. + A text completion was attempted and was not successful. - - window-resize-start + + completion-partial - A window resize started. + A text completion was attempted and was partially successful. - - window-resize-end + + completion-rotation - A window resize ended. + A text completion was attempted and the list of available options reached the end and completion started from the beginning. - desktop-switch-left + audio-volume-change - The sound used when the window manager switches to another desktop which is located to the left of the current screen. + The test sound that is used to make volume changes noticeable by the user when he uses a volume slider. - desktop-switch-right + audio-channel-left - The sound used when the window manager switches to another desktop which is located to the right of the current screen. + The test sound for identifying the left speaker. A mono file with a voice saying "left". - window-switch + audio-channel-right - The sound used when the window manager switches to another window. + The test sound for identifying the right speaker. A mono file with a voice saying "right". - notebook-tab-changed + audio-channel-front-left - The sound used when a notebook tab is changed. + The test sound for identifying the front-left speaker. A mono file with a voice saying "front left". - bell-terminal + audio-channel-front-right - The sound to use as a terminal bell. + The test sound for identifying the front-right speaker. A mono file with a voice saying "front right". - bell-window-system + audio-channel-front-center - The sound to use as a generic bell for X11 or other window systems. + The test sound for identifying the front-center speaker. A mono file with a voice saying "front center". - dialog-ok + audio-channel-rear-left - The sound used when a windows is closed by clicking on the OK button for a window. + The test sound for identifying the front-left speaker. A mono file with a voice saying "rear left". - dialog-cancel + audio-channel-rear-right - The sound used when a windows is closed by clicking on the Cancel button for a window. + The test sound for identifying the front-right speaker. A mono file with a voice saying "rear right". - drag-start + audio-channel-rear-center - The sound used when drag of a file/item is started. + The test sound for identifying the front-center speaker. A mono file with a voice saying "rear center". - drag-accept + audio-channel-lfe - The sound used when a file/item drag is accepted by a window, - such as a folder or IM conversation. + The test sound for identifying the lfe/subwoofer speaker. A mono file with a voice saying "subwoofer", alternatively a low frequency noise. - drag-fail + audio-channel-side-left - The sound used when a file/item drag is not accepted by a window, - such as a folder or IM conversation. + The test sound for identifying the side-left speaker. A mono file with a voice saying "side left". - trash-empty + audio-channel-side-right - The sound used when the user empties the trash. + The test sound for identifying the side-right speaker. A mono file with a voice saying "side right". - item-deleted + audio-test-signal - The sound used when a item is deleted. + The test sound for testing audio. + + +
+
+ + + Input Feedback + + Actions sounds are used as feedback for user input events, + such as mouse clicks, or key presses. In contrast to the + sounds listed as "Actions" these sounds contain much less + context information are are solely used to give the user + audible feedback to input events the user himself directly + caused. + + + + Standard Input Feedback Sounds + + - item-selected - - The sound used when an item is selected. - + Name + Description + + - file-trash + window-close - The sound used when a file or folder is sent to the - trash. + The sound used when an existing window is closed. - link-pressed + window-slide-in - The sound used when a link in a web or help browser is pressed. + The sound used when a window is slided in by some means. Example: panel. - link-released + window-slide-out - The sound used when a link in a web or help browser is releaed. + The sound used when a window is slided out by some means. Example: panel. - button-pressed + window-minimized - The sound used when a button is pressed. + The sound used when an existing window is minimized. - button-released + window-unminimized - The sound used when a button is released. + The sound used when an existing window is unminimized. - menu-click + window-maximized - The sound used when a menu item is clicked. + The sound used when an existing window is maximized. - button-toggle-on + window-unmaximized - The sound used when a toggle/check/radio button is activated. + The sound used when an existing window is unmaximized. - button-toggle-off + window-inactive-click - The sound used when a toggle/check/radio button is deactivated. + The sound used when the user clicks on an inactive window. - expander-toggle-on + window-move-start - The sound used when an expander is activated. + A window move started. - expander-toggle-off + window-move-end - The sound used when an expander is deactivated. + A window move ended. - menu-popup + window-resize-start - The sound used when a menu is popped up. + A window resize started. - menu-popdown + window-resize-end - The sound used when a menu is popped down. + A window resize ended. - menu-replace + desktop-switch-left - The sound used when replacing an active menu with another menu. + The sound used when the window manager switches to another desktop which is located to the left of the current screen. - tooltip-popup + desktop-switch-right - The sound used when a tooltip is popped up. + The sound used when the window manager switches to another desktop which is located to the right of the current screen. - tooltip-popdown + window-switch - The sound used when a tooltip is popped down. + The sound used when the window manager switches to another window. - camera-shutter + notebook-tab-changed - A photo has been shot. + The sound used when a notebook tab is changed. - - camera-focus + + scroll-up - A camera has the focus. + Some window was scrolled up. - - screen-capture + + scroll-down - A screenshot was made. + Some window was scrolled down. - - count-down + + scroll-left - A countdown (e.g. for a photo shooting) sound that is repeated each second. + Some window was scrolled left. - completion-sucess + scroll-right - A text completion was attempted and was successful. + Some window was scrolled right. - completion-fail + scroll-up-end - A text completion was attempted and was not successful. + Some window was scrolled up and reached the end of the scrollbar. - completion-partial + scroll-down-end - A text completion was attempted and was partially successful. + Some window was scrolled down and reached the end of the scrollbar. - completion-rotation + scroll-left-end - A text completion was attempted and the list of available options reached the end and completion started from the beginning. + Some window was scrolled left and reached the end of the scrollbar. - scroll-up + scroll-right-end - Some window was scrolled up. + Some window was scrolled right and reached the end of the scrollbar. - - scroll-down + + dialog-ok - Some window was scrolled down. + The sound used when a windows is closed by clicking on the OK button for a window. - - scroll-left + + dialog-cancel - Some window was scrolled left. + The sound used when a windows is closed by clicking on the Cancel button for a window. - - scroll-right + + drag-start - Some window was scrolled right. + The sound used when drag of a file/item is started. - - scroll-up-end + + drag-accept - Some window was scrolled up and reached the end of the scrollbar. + The sound used when a file/item drag is accepted by a window, + such as a folder or IM conversation. - - scroll-down-end + + drag-fail - Some window was scrolled down and reached the end of the scrollbar. + The sound used when a file/item drag is not accepted by a window, + such as a folder or IM conversation. - - scroll-left-end + + link-pressed - Some window was scrolled left and reached the end of the scrollbar. + The sound used when a link in a web or help browser is pressed. - - scroll-right-end + + link-released - Some window was scrolled right and reached the end of the scrollbar. + The sound used when a link in a web or help browser is releaed. - audio-volume-change + button-pressed - The test sound that is used to make volume changes noticeable by the user when he uses a volume slider. + The sound used when a button is pressed. - audio-channel-left + button-released - The test sound for identifying the left speaker. A mono file with a voice saying "left". + The sound used when a button is released. - audio-channel-right + menu-click - The test sound for identifying the right speaker. A mono file with a voice saying "right". + The sound used when a menu item is clicked. - audio-channel-front-left + button-toggle-on - The test sound for identifying the front-left speaker. A mono file with a voice saying "front left". + The sound used when a toggle/check/radio button is activated. - audio-channel-front-right + button-toggle-off - The test sound for identifying the front-right speaker. A mono file with a voice saying "front right". + The sound used when a toggle/check/radio button is deactivated. - audio-channel-front-center + expander-toggle-on - The test sound for identifying the front-center speaker. A mono file with a voice saying "front center". + The sound used when an expander is activated. - audio-channel-rear-left + expander-toggle-off - The test sound for identifying the front-left speaker. A mono file with a voice saying "rear left". + The sound used when an expander is deactivated. - audio-channel-rear-right + menu-popup - The test sound for identifying the front-right speaker. A mono file with a voice saying "rear right". + The sound used when a menu is popped up. - audio-channel-rear-center + menu-popdown - The test sound for identifying the front-center speaker. A mono file with a voice saying "rear center". + The sound used when a menu is popped down. - audio-channel-lfe + menu-replace - The test sound for identifying the lfe/subwoofer speaker. A mono file with a voice saying "subwoofer", alternatively a low frequency noise. + The sound used when replacing an active menu with another menu. - audio-channel-side-left + tooltip-popup - The test sound for identifying the side-left speaker. A mono file with a voice saying "side left". + The sound used when a tooltip is popped up. - audio-channel-side-right + tooltip-popdown - The test sound for identifying the side-right speaker. A mono file with a voice saying "side right". + The sound used when a tooltip is popped down. - audio-test-signal + item-selected - The test sound for testing audio. + The sound used when an item is selected. @@ -968,6 +1001,7 @@ usage.
+ Game -- cgit v1.2.3 From 71f887843bbd8ff40ea32bbd3c739e76bd0f5680 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 16:06:36 +0200 Subject: document why dialog-error and not error-dialog --- sound-theme/sound-naming-spec.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 9d63860..f313c3b 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -158,7 +158,17 @@ usage. result. However, if the more specific item does not exist in the current theme, and does exist in a parent theme, the generic sound from the current theme is preferred, in - order to keep consistent style. + order to keep consistent style. From left to right the + words in a sound name become more specific. In some cases + what word in a name is more specific is + ambiguous. (i.e. "dialog-error" and "error-dialog" both + make sense, the former would ease defining the same sound + for all dialogs popping up, regardless of its context, the + latter would ease defining the same sound for all errors, + regardless of how it is presented to the user). In such + cases it is generally preferred to put the UI element noun + left -- if there is one --, however exceptions of this + rule are acceptable. -- cgit v1.2.3 From f87b6ba218440a639e7d1ad477984c24c892032f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 25 Jul 2008 16:08:29 +0200 Subject: added change note --- sound-theme/sound-naming-spec.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index f313c3b..71307a0 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -1077,7 +1077,24 @@ usage. Change History - Version 0.2, 4 June 2008, Marc-Andre Lureau and Lennart Poettering + Version 0.3, 25 July 2008, Lennart Poettering + + + + + Split out section about "Input Feedback" sounds. + + + + + Document the logic behind choosing "dialog-error" instead of "error-dialog". + + + + + + + Version 0.2, 4 June 2008, Marc-Andre Lureau and Lennart Poettering -- cgit v1.2.3 From a779d1a644747b8b3cf547b9281f7cf2e5007565 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 29 Jul 2008 21:24:36 +0200 Subject: document touching of theme dirs --- sound-theme/sound-theme-spec.xml | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 0a53c42..b0d2923 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -611,6 +611,12 @@ DisplayName[fr]=Message urgent dans Evolution whatever sound you have in the freedesktop theme so that all your application can at least produce some sounds in all themes. + + After installing/updating a sound in a theme directory, make sure + to update the mtime of the theme directory itself (i.e. touch + $XDG_DATA_DIRS/sounds/freedesktop or similar), so that caches can + be kept up-to-date. + @@ -623,13 +629,14 @@ DisplayName[fr]=Message urgent dans Evolution information. - This caching can make it impossible for users to add sounds without - having to restart applications. In order to handle this, any - implementation that does caching is required to look at the mtime - of the toplevel sound directories when doing a cache lookup, unless - it already did so less than 5 seconds ago. This means that any - sound editor or theme installation program need only to change the - mtime of the the toplevel directory where it changed the theme to + This caching can make it impossible for users to add sounds + without having to restart applications. In order to handle this, + any implementation that does caching is required to look at the + mtime of the toplevel sound theme directories when doing a cache + lookup, unless it already did so less than 5 seconds ago. This + means that any sound editor or theme installation program may + change the mtime of the the toplevel theme directory (such as + $XDG_DATA_DIRS/sounds/freedesktop) where it changed the theme to make sure that the new sounds will eventually get used. @@ -644,6 +651,18 @@ DisplayName[fr]=Message urgent dans Evolution Change history + + Version 0.4, 29 July 2008, Lennart Poettering + + + + + Document that every time a theme is updated to changed the directory needs to be touched. + + + + + Version 0.3, 25 July 2008, Lennart Poettering -- cgit v1.2.3 From a2a36a9835475b1e5de39e869e1e24b10037d639 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Tue, 2 Sep 2008 20:55:35 +0300 Subject: Deprecate usage of ".ogg" in favour of ".oga" http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions explains that ".ogg" extension usage is deprecated and ".oga" should be used instead. Make it clear that it's Vorbis I audio (the most common) Changes the LookupSound algo to reflect the explicit order of extension checking Fix the examples Bump to 0.5 --- sound-theme/sound-theme-spec.xml | 61 +++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index b0d2923..a3ccf68 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -93,8 +93,8 @@ The mandatory supported sound file formats are WAV/PCM - 8-48kHz, 8/16bits, and OGG/Vorbis. WAV at 48kHz/Stereo is - the recommended uncompressed format, and OGG/Vorbis is the + 8-48kHz, 8/16bits, and OGG/Vorbis I. WAV at 48kHz/Stereo is + the recommended uncompressed format, and OGG/Vorbis I is the recommended compressed format. The sample must be normalized, in order to be mixed down nicely with a suitable average replay level. @@ -156,24 +156,26 @@ The sounds files must be one of the types: WAV/PCM 8-48kHz, 8/16 - bits or OGG/Vorbis. The extension must be ".wav", or ".ogg" - respectively (lower case). In addition to the sound files there may - be an additional file with extra sound data for each file. It - should have the same basename as the sound file, with the - extension ".sound". e.g. if the sound file is called - "system-shutdown.wav" the corresponding file would be named - "system-shutdown.sound". + bits or OGG/Vorbis I. The extension must be ".wav", or ".oga" + respectively (in lower case). It is not recommended to use ".ogg" + extension, but it is also supported for legacy reasons. + + Besides the sound files, there may be an additional file with + extra sound data for each file. It should have the same basename + as the sound file, with the extension ".sound". e.g. if the sound + file is called "system-shutdown.wav" the corresponding file would + be named "system-shutdown.sound". - An additional pseudo file format ".disabled" is supported for - disabling sounds in a theme that inherits from another theme. If - the sound lookup algorithms detects a file with the suffix - ".disabled" it shall immediately terminate the lookup logic and - consider the sound not available. All files with ".disabled" - suffix should be of length zero. + Finally, a pseudo file format ".disabled" is used for disabling + sounds in a theme that inherits from another theme. If the sound + lookup algorithms detects a file with the suffix ".disabled" it + shall immediately terminate the lookup logic and consider the + sound not available. All files with ".disabled" suffix should be + of length zero. - To save disk space Vorbis encoded sound files are recommended. + To save disk space Vorbis I encoded sound files are recommended. The sound samples must be normalized with a suitable average @@ -453,7 +455,9 @@ profile. - The lookup algorithm should check for ".disabled" files first, followed by ".ogg" and finally for ".wav". + The lookup algorithm should check for ".disabled" files first, + followed by ".oga" (then ".ogg", although this might be removed + later) and finally for ".wav". Configuration programs that allow limited user manipulation of the @@ -508,7 +512,7 @@ LookupSound (requestedname, requestedlocale, requestedoutputprofile, requestedth truncatesuffix(requestedlocale, "_"), "C", "") { - for extension in ("disabled", "wav", "ogg") { + for extension in ("disabled", "oga", "ogg", "wav") { filename = directory/theme/subdir/locale/name.extension if exist filename return filename @@ -560,11 +564,11 @@ directory could look like this: birch/index.theme -birch/stereo/evolution-urgent-message.ogg +birch/stereo/evolution-urgent-message.oga birch/stereo/evolution-urgent-message.wav -birch/stereo/fr/evolution-urgent-message.ogg +birch/stereo/fr/evolution-urgent-message.oga birch/stereo/evolution-urgent-message.sound -birch/5.1/evolution-urgent-message.ogg +birch/5.1/evolution-urgent-message.oga Where birch/stereo/evolution-urgent-message.sound contains: @@ -579,7 +583,7 @@ DisplayName[fr]=Message urgent dans Evolution In this example a lookup of "evolution-urgent-message", with a 5.1 system preference and no localization, would get the - "birch/5.1/evolution-urgent-message.ogg" sound file. + "birch/5.1/evolution-urgent-message.oga" sound file. @@ -651,6 +655,19 @@ DisplayName[fr]=Message urgent dans Evolution Change history + + Version 0.5, 2 September 2008, Marc-Andre Lureau + + + + + Deprecate usage of ".ogg" extension in favor of ".oga" + (according to http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions) + + + + + Version 0.4, 29 July 2008, Lennart Poettering -- cgit v1.2.3 From 326808241804f70e5338c2b176a6fd0acd4ea6ff Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Tue, 2 Sep 2008 21:07:01 +0300 Subject: Use ulink and fix missing para --- sound-theme/sound-theme-spec.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index a3ccf68..96b1d40 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -130,7 +130,9 @@ In order to have a place for third party applications to install their sounds there should always exist a theme called "freedesktop". The data for the freedesktop theme is available for - download at: http://www.freedesktop.org/software/sound-theme/. + download + at: freedesktop.org + sound theme specification page. Implementations are required to look in the "freedesktop" theme if a sound was not found in the current theme. @@ -160,6 +162,7 @@ respectively (in lower case). It is not recommended to use ".ogg" extension, but it is also supported for legacy reasons. + Besides the sound files, there may be an additional file with extra sound data for each file. It should have the same basename as the sound file, with the extension ".sound". e.g. if the sound @@ -181,7 +184,8 @@ The sound samples must be normalized with a suitable average replay level, in order to be properly mixed down. For more informations, please read - http://replaygain.hydrogenaudio.org/calculationg_rg.html and + Replay + Gain Calculation from hydrogenaudio.org and check that your volume level is reasonable. @@ -662,7 +666,9 @@ DisplayName[fr]=Message urgent dans Evolution Deprecate usage of ".ogg" extension in favor of ".oga" - (according to http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions) + (according + to MIME + Types and File Extensions from xiph.org) -- cgit v1.2.3 From 5141aab6715b6e5e91961e3dfd9b5bb1c55e34a3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 20 Oct 2008 18:12:32 +0200 Subject: add suspend-xxx sounds for usage in power managers such as gnome-power-manager --- sound-theme/sound-naming-spec.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 71307a0..ba92e46 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -243,6 +243,12 @@ usage. example).
+ + suspend-error + + The machine failed to suspend. + + software-update-urgent @@ -488,6 +494,18 @@ usage. The power cable has been unplugged. + + suspend-start + + The machine is about to suspend. + + + + suspend-resume + + The machine has returned from suspended state. + + lid-open -- cgit v1.2.3 From 0a3bfdf80a647775b32e6a1748a86e9cb47a10f0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 17 Sep 2009 21:31:38 +0200 Subject: add thre new sound names --- sound-theme/sound-naming-spec.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index ba92e46..3b5e4e2 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -303,12 +303,24 @@ usage. The sound used when an optical medium completed burning. + + complete-media-burn-test + + The sound used when an optical medium completed a dummy burn run. + + complete-media-rip The sound used when an optical medium completed ripping. + + complete-media-format + + The sound used when an optical medium completed ripping. + + complete-download @@ -732,6 +744,16 @@ usage. The test sound for testing audio. + + theme-demo + + A sound that should be played for demoing this + theme. Usually this should just be an alias for a very + representative sound (such as desktop-login) of a theme that would work nicely + as a demo sound for a theme in the theme selector + dialog. + + -- cgit v1.2.3 From b52aaee5f94fd0da868541e004a80db4677e57de Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 17 Sep 2009 22:00:01 +0200 Subject: differentiate device-added/removed --- sound-theme/sound-naming-spec.xml | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 3b5e4e2..556d7dd 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -5,8 +5,8 @@
Sound Naming Specification - Version 0.2 - 4 June 2008 + Post-0.3 Snapshot + 2009 Marc-Andre @@ -312,13 +312,13 @@ usage. complete-media-rip - The sound used when an optical medium completed ripping. + The sound used when an (optical) medium completed ripping. complete-media-format - The sound used when an optical medium completed ripping. + The sound used when a disk/medium completed formatting/blanking. @@ -482,12 +482,36 @@ usage. The sound used when a device has become available to the desktop, i.e. due to USB plugging. + + device-added-audio + + The sound used when an audio device has become available to the desktop, i.e. due to USB plugging. + + + + device-added-media + + The sound used when a disk/medium has become available to the desktop, i.e. due to USB plugging. + + device-removed The sound used when a device has become unavailable to the desktop, i.e. due to USB unplug. + + device-removed-media + + The sound used when a disk/medium has become unavailable to the desktop, i.e. due to USB unplug. + + + + device-removed-audio + + The sound used when an audio device has become unavailable to the desktop, i.e. due to USB unplug. + + window-new -- cgit v1.2.3 From 86ab5959e1ccde42efa49f9e3b255e451b48ae88 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 5 Jan 2010 15:40:43 +0100 Subject: fix version string# --- sound-theme/sound-naming-spec.xml | 2 +- sound-theme/sound-theme-spec.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sound-theme/sound-naming-spec.xml b/sound-theme/sound-naming-spec.xml index 556d7dd..d94e593 100644 --- a/sound-theme/sound-naming-spec.xml +++ b/sound-theme/sound-naming-spec.xml @@ -6,7 +6,7 @@ Sound Naming Specification Post-0.3 Snapshot - 2009 + Post 2008 Marc-Andre diff --git a/sound-theme/sound-theme-spec.xml b/sound-theme/sound-theme-spec.xml index 96b1d40..5aa1d4f 100644 --- a/sound-theme/sound-theme-spec.xml +++ b/sound-theme/sound-theme-spec.xml @@ -5,8 +5,8 @@
Sound Theme Specification - Version 0.2 - 4 June 2008 2008 + Post-0.5 Snapshot + Post 2008 Marc-Andre -- cgit v1.2.3