1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
|
<?xml version="1.0" encoding="utf-8"?>
<!-- -*- indent-tabs-mode: nil -*- -->
<chapter id="desktop-tech">
<title>Технології робочого столу</title>
<section id="applications-mime">
<title>Реєстрація програм та типів файлів</title>
<para>In order for applications to be useful, users need to be able to find
and run them. Users of the GNOME desktop may run applications using the
applications menu, or they may run them by accessing files in the file
manager. The GNOME desktop allows you to add applications and file types
when you install your application. The mechanism for these is specified
on <ulink url="http://www.freedesktop.org/">freedesktop.org</ulink>, so
the same data will allow your application to function in other desktop
environments.</para>
<para>Adding your application is as simple as providing a desktop entry
file with the necessary information. Desktop entry files use a simple
key-value syntax, with extra provisions for providing translated content
of particular values. Your application's desktop entry file will contain
the following information:</para>
<itemizedlist>
<listitem><para>Назва програми та коментар, перекладені всіма мовами, що підтримуються цією програмою.</para></listitem>
<listitem><para>Список категорій з фіксованого набору, що використовується для вибору місця для програми у головному меню програми,</para></listitem>
<listitem><para>Значок, або у вигляді шляху до файлу, або у вигляді назви значка у системній темі значків,</para></listitem>
<listitem><para>Список типів файлів, що підтримуються програмою</para></listitem>
<listitem><para>Команда для запуску цієї програми.</para></listitem>
</itemizedlist>
<para>If your application handles custom file types that are not already
known by the system, you will need to add those types to the file type
registry. All file types are accessed with MIME types. For example, Ogg
Vorbis audio files have the MIME type <literal>application/ogg</literal>.
To add a MIME type, you need to provide a description of the type using
a MIME information XML file. These files provide a translated name for
the type as well as information on how to determine which files are of
the type, either by matching the file name or by inspecting the contents
of the file.</para>
<para>For more information on applications, see <ulink url="http://standards.freedesktop.org/desktop-entry-spec/latest/">The
Desktop Entry Specification</ulink> and <ulink url="http://standards.freedesktop.org/menu-spec/latest/">The
Desktop Menu Specification</ulink>. For more information on file types,
see <ulink url="http://standards.freedesktop.org/shared-mime-info-spec/latest/">The
Shared MIME Info Specification</ulink>.</para>
</section>
<section id="panel-applets">
<title>Аплети панелі</title>
<para>The GNOME desktop features flexible and powerful panels to which users
can add any number of small applications, called panel applets. Panel applets
can provide all sorts of quick access to all sorts of useful information and
functionality. For instance, the GNOME desktop ships with panel applets to
switch between windows and workspaces, display the current weather conditions,
and display network activity, among many others.</para>
<para>You may provide a panel applet to augment the functionality of your
application, or you may provide a simple stand-alone panel applet. If you
simply need to display quick notifications, you should consider using the
notification area instead, which is also displayed in the user's panel.
Panel applets should be used when you need to provide more functionality
than that provided by notification icons.</para>
<para>Panel applets are independent processes that use Bonobo to communicate
with the panel. Bonobo allows applets to integrate with the panel to provide
a consistent user experience. For example, the context menu for every panel
applet contains standard items to remove, move, and lock the applet. Each
panel applet can then add items to the context menu to perform other actions.
The <application>Weather Report</application> panel applet, for example, has
context menu items to display a detailed report and to update the displayed
information.</para>
<note><para>Зауважте, що Bonobo застарів. Натомість використовуйте D-Bus чи інші засоби.</para></note>
<para>Докладну інформацію про аплети панелі наведено у <ulink url="http://library.gnome.org/devel/panel-applet/stable/">Panel Applet Library</ulink>.</para>
</section>
<section id="nofication-area">
<title>Область сповіщення</title>
<para>In addition to launchers and panel applets, the GNOME panel also
features a notification area that applications can use to notify users
of events. Notifications can be used to alert the user of new emails,
available updates, upcoming meetings, or any number of other events.</para>
<para>Notifications are simple icons that your application can place in
the notification area on the user's panel. Your application can then
take further action when the user clicks on the icon. Currently, the
notification system is implemented in the experimental Egg library;
however, the next version of GTK+ will have support for notification
icons.</para>
<para>The notification area is a <ulink url="http://www.freedesktop.org/">freedesktop.org</ulink> specification,
so your notification icons will appear in other desktop environments as
well. For more information on the notification area, see <ulink url="http://standards.freedesktop.org/systemtray-spec/latest/">The System
Tray Protocol Specification</ulink>.</para>
</section>
<section id="nautilus">
<title>Менеджер файлів</title>
<para>GNOME ships with <application>Nautilus</application>, an intuitive
and powerful file manager. Using the advanced GVFS technology,
<application>Nautilus</application> is able to display remote folders just
like folders on the local file system, giving users access to all their
files everywhere with a single consistent interface.</para>
<para><application>Nautilus</application> provides a plugin interface,
enabling developers to extend its functionality to provide more information
about users' files. This provides a richer and more coherant experience
for users, removing the need for seperate applications to manage various
types of files.</para>
<para><application>Nautilus</application> plugins can extend the file
manager's functionality in a number of ways. Plugins can add extra
information to file properties dialogs, providing users with everything
they need to know about files. For example, GNOME ships with a plugin
to display extra information about audio and video files, such as the
codec used, the dimensions of the video, and artist and album of music
files extracted from a CD.</para>
<para>Plugins can also add columns to the list view and automatically place
emblems on files. This can be used to provide pertinent information to the
user at a glance. For example, a <application>Nautilus</application> plugin
could provide version control information on folders checked out from a
version control system. Users could see directly in the file manager if
a file is up to date, or if changes have been made locally.</para>
<para><application>Nautilus</application> also allows developers to add
items to the context menu for files and folders. Context menu items can
specify for which types of files they should be displayed, so the context
menu only provides actions that are relevant for the selected files. For
example, <application>File Roller</application>, GNOME's archive file
utility, adds an item to the context menu to extract archive files directly.
Extra context menu items provide easy access to common operations on
different types of files.</para>
<para>In addition to a flexible plugin architecture,
<application>Nautilus</application> can also display a thumbnail for any
type of file for which a thumbnailer has been provided. Thumbnails show
a preview of the file, helping users find the files they want. GNOME can
automatically create thumbnails for most image and movie files, and allows
applications to install additional thumbnailer programs to create thumbnails
for application-specific files. Thumbnail management is fully specified by
<ulink url="http://www.freedesktop.org/">freedesktop.org</ulink>, so any
thumbnailers you provide can be used by all applications.</para>
</section>
<section id="window-manager">
<title>Менеджер вікон</title>
<para>The window manager is a special program responsible for drawing the
borders and titlebars around windows. The window manager is responsible
for handling all the operations performed on windows, such as moving,
resizing, minimizing, and moving between workspaces. Windows are managed
consistently with little or no work from application developers. When
applications need to influence the window manager, they can provide
hints on their windows using function calls in GTK+.</para>
<para>External programs can, however, interact directly with the window
manager, and even control its behavior. Using GNOME's libwnck library,
applications can get information about the placement and state of all
the windows and instruct the window manager to perform various actions
on those windows.</para>
<para>The libwnck library isn't specific to GNOME's window manager. All
of its functionality uses the Extended Window Manager Hints, or EWMH.
EWMH was developed jointly with
<ulink url="http://www.freedesktop.org">freedesktop.org</ulink> to provide
unified window manager interaction across multiple desktops.</para>
<para>Window manager interaction with libwnck can be used for simple tasks,
such as displaying workspace and window list applets on the user's panel,
as well as for complex applications, such as performing automatic actions
on new windows based on certain window properties.</para>
</section>
<section id="control-center">
<title>Центр керування</title>
<para>The GNOME desktop provides a single menu of all the desktop-wide
preferences and system administration settings. Preferences and settings
dialogs can be placed in this menu to make them easily accessible.
Dialogs can be placed in the preferences menu by adding them to the
applications registry with the <literal>Setting</literal> category.
Dialogs can be placed in the administration menu using both the
<literal>Settings</literal> and <literal>System</literal> categories.</para>
<para>If you provide a dialog that allows administrators to configure
desktop systems, then you should add your dialog to the administration menu.
If you provide a dialog that allows users to adjust preferences that affect
a number of applications, then you should add your dialog to the preferences
menu. You should not use these global menus for individual application
preferences.</para>
</section>
<section id="keyring">
<title>Збереження паролів</title>
<para>GNOME provides a modern and secure keyring manager to store users'
passwords and other sensitive data. Applications can use the keyring
manager library to store and access passwords, and users can manage
their passwords using GNOME's <application>Seahorse</application>
application.</para>
<para>The keyring manager provides any number of keyrings, where each
keyring can contain any number of keyring items. Items in a keyring
store some piece of data, often a password. Each keyring is locked
individually, and users must provide a password to unlock the keyring.
Once a keyring has been unlocked, the user has access to all of the
items in that keyring.</para>
<para>The keyring manager provides access control lists for each keyring
item, controlling which applications are allowed access to that item.
If an unknown application attempts to access a keyring item, the keyring
manager will prompt the user to allow or deny that application access.
This helps prevent malicious or poorly-written programs from accessing
the user's sensitive data.</para>
<para>Keyring data stored on the file system is encrypted with the AES
block cipher, and SHA1 is used for hashes of the item's attributes.
Using the attributes hash, the keyring manager is able to look up items
requested by applications without ever unlocking the keyring. The
keyring has to be unlocked when a matching item is found and
accessed.</para>
<para>The keyring manager also provides a session keyring. Items in
the session keyring are never stored on disk, and are lost as soon as
the user's session ends. The session keyring can be used to store
passwords to be used in the current session only.</para>
<para>If you use GIO to access remote servers, you automatically
get the benefits of the keyring manager. Whenever GVFS needs to
authenticate the user, it provides the option to store the password,
either in the default keyring or in the session keyring.</para>
<para>You should use the keyring manager whenever your application needs
to store passwords or other sensitive data for users. Using the keyring
manager provides a better user experience while still keeping user data
safe and secure.</para>
<para>For API references please see the
<ulink url="http://library.gnome.org/devel/gnome-keyring/stable/">gnome-keyring
Reference Manual</ulink> and the
<ulink url="http://library.gnome.org/devel/libseahorse/stable/">libseahorse
Reference Manual</ulink>.</para>
</section>
<section id="session">
<title>Керування сеансами</title>
<para>GNOME provides tools to allow your application to run smoothly from
session to session. Users can log out with running applications and have
those applications fully restored when they log back in. To provide this
functionality, your application must connect to the session manager and
save its state when the user logs out.</para>
<note><para>Note that this section is outdated as GnomeClient and
Libgnomeui are deprecated. Newly written code should use <ulink url="http://live.gnome.org/SessionManagement/EggSMClient">EggSMClient</ulink>
instead. Work is currently underway to integrate EggSMClient directly into
GTK+. API and ABI stability guarantees ensures that GnomeClient will
continue to be functional and supported throughout the GNOME 2 lifecycle.
</para></note>
<para>GNOME provides a simple API for session management in the GNOME User
Interface Library. See the section <ulink url="http://library.gnome.org/devel/libgnomeui/stable/GnomeClient.html">GnomeClient</ulink>
of the <ulink url="http://library.gnome.org/devel/libgnomeui/stable/">GNOME
UI Library Reference Manual</ulink> for more information on working with
the GNOME session manager.</para>
</section>
<section id="address-book-calendar">
<title>Адресна книга та календар</title>
<para>With Evolution Data Server, GNOME provides a single address book and
calendar that all applications can use to store and retrieve information.
Using Evolution Data Server means that users no longer have to maintain
separate lists of contacts in each application, or manually copy events
to their calendar.</para>
<para>People use computers increasingly to interact with their friends
and colleagues. Applications such as email programs, instant messengers,
and telephony and video conferencing applications are used to communicate
with others. These applications often provide contact lists to help users.
Using Evolution Data Server, applications can store contact information in
a single location, allowing all applications to see all the pertinent data
about users' contacts.</para>
<para>Applications can also use Evolution Data Server to store and retrieve
appointments on the user's calendar. For example, the clock on the panel
shows a simple calendar when clicked. If the user has any appointments
scheduled, they are shown alongside the calendar. This makes it easy to
see upcoming appointments without opening a full calendar application.</para>
<para>For more information on the address book, see <ulink url="http://gnome.org/projects/evolution/developer-doc/libebook/ch01.html">
Evolution API Reference: libebook</ulink>. For more information on the
calendar, see <ulink url="http://gnome.org/projects/evolution/developer-doc/libecal/index.html">
Evolution API Reference: libecal</ulink>.</para>
</section>
<section id="usability">
<title>Ергономіка</title>
<para>The GNOME desktop is designed around usability, and it aims to provide
a consistent and simple user experience. People use computers to get work
done (or to play!), not to figure out complicated user interface puzzles.
When designing your application, you should consider how well users can
recognize common user interface paradigms, how quickly they can learn the
elements that are unique to your application, and how efficiently they can
execute tasks once they've learned them.</para>
<para>GNOME provides comprehensive Human Interface Guidelines to help you
write applications that are attractive and usable. While no guidelines can
provide a single answer for all usability concerns, understanding the GNOME
Human Interface Guidelines can make it easier to create a usable application.
For more information, please see the <ulink url="http://library.gnome.org/devel/hig-book/stable/">GNOME Human
Interface Guidelines</ulink>.</para>
</section>
<section id="documentation">
<title>Документація</title>
<para>All applications should provide documentation to help their users
understand the application and troubleshoot problems that may arise. While
a well-designed application should not require reading the documentation
before use, documentation can nonetheless be an important tool for users,
particularly for complex applications.</para>
<para>GNOME provides a unified framework for providing user documentation.
You can provide documentation in the industry-standard DocBook format. Using
DocBook means that you don't have to worry about formatting details. Instead,
your documentation will be automatically formatted with the same consistent
conventions as the rest of the system documentation.</para>
<para>GNOME's help viewer, <application>Yelp</application>, displays and
prints documentation, provides a listing of all documentation on the system,
and allows the user to search the full text of all documentation. Using the
GNOME help system gives you all these features for free.</para>
<para>For more information on writing documentation for your application,
see the <ulink url="http://library.gnome.org/devel/gdp-handbook/stable/">GNOME
Handbook of Writing Software Documentation</ulink>, <ulink url="http://www.docbook.org/tdg/en/html/docbook.html">DocBook: The Definitive
Guide</ulink>, and the <ulink url="http://library.gnome.org/devel/gdp-style-guide/stable/">GNOME
Documentation Style Guide</ulink>.</para>
</section>
</chapter>
|