Warning, /plasma/khotkeys/doc/kcm/index.docbook is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" ?>
0002 <!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
0003 "dtd/kdedbx45.dtd" [
0004   <!ENTITY % addindex "IGNORE">
0005   <!ENTITY % English "INCLUDE">
0006 ]>
0007 <article id="khotkeys" lang="&language;">
0008 <title>Custom Shortcuts</title>
0009 
0010 <articleinfo>
0011 <authorgroup>
0012 <author><firstname>Subhashish</firstname> <surname>Pradhan</surname></author>
0013 <author>&TC.Hollingsworth; &TC.Hollingsworth.mail;</author>
0014 <!-- TRANS:ROLES_OF_TRANSLATORS -->
0015 </authorgroup>
0016 
0017 <copyright>
0018 <year>2011</year>
0019 <holder>Subhashish Pradhan</holder>
0020 </copyright>
0021 <copyright>
0022 <year>2012</year>
0023 <holder>&TC.Hollingsworth;</holder>
0024 </copyright>
0025 <legalnotice>&FDLNotice;</legalnotice>
0026 
0027 <date>2021-12-21</date>
0028 <releaseinfo>Plasma 5.24</releaseinfo>
0029 
0030 <keywordset>
0031 <keyword>KDE</keyword>
0032 <keyword>Systemsettings</keyword>
0033 <keyword>shortcuts</keyword>
0034 <keyword>hotkeys</keyword>
0035 <keyword>Custom Shortcuts</keyword>
0036 <keyword>khotkeys</keyword>
0037 </keywordset>
0038 </articleinfo>
0039 
0040 <sect1 id="intro">
0041 <title>Introduction</title>
0042 
0043 <para>The <application>Custom Shortcuts</application> &systemsettings; module
0044 allows you to configure custom keyboard shortcuts and mouse gestures.  You can
0045 use them to control applications, run specific commands, and more.</para>
0046 
0047 </sect1>
0048 
0049 
0050 <sect1 id="manage">
0051 <title>Managing Shortcuts and Groups</title>
0052 
0053 <sect2 id="manage-add-group">
0054 <title>Adding Groups</title>
0055 
0056 <para>The module allows to you to sort related shortcuts into Groups.  For
0057 instance, if you have some shortcuts that relate to your music player, you
0058 could create a group for them called <replaceable>Music Player</replaceable>.
0059 </para>
0060 
0061 <para>To add a new group, click on the <guibutton>Edit</guibutton> button below
0062 the left pane and select the <guimenuitem>New Group</guimenuitem> option.</para>
0063 
0064 </sect2>
0065 
0066 <sect2 id="manage-add-shortcut">
0067 <title>Adding Shortcuts</title>
0068 
0069 <para>To add a new shortcut, click on the <guibutton>Edit</guibutton> button
0070 below the left pane and select the <guisubmenu>New</guisubmenu> option.</para>
0071 
0072 <para>The first menu that appears allows you to select the type of trigger.  The
0073 following options are available:</para>
0074 
0075 <variablelist>
0076 
0077 <varlistentry id="manage-add-shortcut-global">
0078 <term><guisubmenu>Global Shortcut</guisubmenu></term>
0079 <listitem><para>These are standard keyboard shortcuts that will be recognized
0080 anywhere, as long as a &kde; &plasma; Workspace is running.</para></listitem>
0081 </varlistentry>
0082 
0083 <varlistentry id="manage-add-shortcut-window-action">
0084 <term><guisubmenu>Window Action</guisubmenu></term>
0085 <listitem><para>Window Actions are triggers that occur when something happens
0086 to a particular window, like when it appears, gains focus, or is closed.</para>
0087 </listitem>
0088 </varlistentry>
0089 
0090 <varlistentry id="manage-add-shortcut-mouse-gesture">
0091 <term><guisubmenu>Mouse Gesture Action</guisubmenu></term>
0092 <listitem><para>A mouse gesture action is triggered when a particular movement
0093 of the mouse (or touchpad or touchscreen) is performed.</para></listitem>
0094 </varlistentry>
0095 
0096 </variablelist>
0097 
0098 <para>Once you've selected the type of trigger, another submenu appears that allows
0099 you to select an action type.  The following types are available:</para>
0100 
0101 <variablelist>
0102 
0103 <varlistentry id="manage-add-shortcut-command">
0104 <term><guimenuitem>Command/URL</guimenuitem></term>
0105 <listitem><para>This action will launch a command or open a &URL; when the
0106 shortcut is triggered.</para></listitem>
0107 </varlistentry>
0108 
0109 <varlistentry id="manage-add-shortcut-dbus">
0110 <term><guimenuitem>D-Bus Command</guimenuitem></term>
0111 <listitem><para>This action will call a &DBus; method in a running application or
0112 system daemon.  For more information, see the
0113 <ulink url="https://develop.kde.org/docs/d-bus/introduction_to_dbus/">Introduction
0114 to &DBus; on &kde; developer platform</ulink>.</para></listitem>
0115 </varlistentry>
0116 
0117 <varlistentry id="manage-add-shortcut-keyboard-input">
0118 <term><guimenuitem>Send Keyboard Input</guimenuitem></term>
0119 <listitem><para>This action will send keyboard input to the currently
0120 running application, just as if you had typed it in yourself.</para></listitem>
0121 </varlistentry>
0122 
0123 </variablelist>
0124 
0125 <para>Once you've selected the action type, you can then edit the shortcut to
0126 your liking.  See <xref linkend="shortcuts"/> for more information.</para>
0127 
0128 </sect2>
0129 
0130 <sect2 id="manage-delete">
0131 <title>Deleting Shortcuts and Groups</title>
0132 
0133 <para>To delete a shortcut or group, select it, then click on the
0134 <guibutton>Edit</guibutton> button below the left pane, and select the
0135 <guimenuitem>Delete</guimenuitem> option.</para>
0136 
0137 </sect2>
0138 
0139 <sect2 id="manage-export">
0140 <title>Exporting Groups</title>
0141 
0142 <para>You can export a group, so you can save the shortcuts contained within and
0143 use them on another computer or maintain a backup.</para>
0144 
0145 <para>To export a group, select the group to be exported, then click on the
0146 <guibutton>Edit</guibutton> button below the left pane and select the
0147 <guimenuitem>Export Group...</guimenuitem> option, which opens a new window that
0148 lets you define some options about the exported group.  The following options
0149 are available:</para>
0150 
0151 <variablelist>
0152 
0153 <varlistentry id="manage-export-actions">
0154 <term><guilabel>Export Actions</guilabel></term>
0155 <listitem><para>This allows you to select the state the shortcuts will be in
0156 when they are imported later.  Select <guilabel>Actual State</guilabel> to
0157 maintain their current state, <guilabel>Enabled</guilabel> to ensure they are
0158 all enabled, or <guilabel>Disabled</guilabel> to ensure they are all disabled.
0159 </para></listitem>
0160 </varlistentry>
0161 
0162 <varlistentry id="manage-id">
0163 <term><guilabel>Id</guilabel></term>
0164 <listitem><para>Here you may enter text to identify the group. If the group is
0165 included by default, this text may be filled in by default.</para></listitem>
0166 </varlistentry>
0167 
0168 <varlistentry id="manage-merge">
0169 <term><guilabel>Allow Merging</guilabel></term>
0170 <listitem><para>This defines what happens if the group already exists on the
0171 system the exported group is imported to.  When enabled, any new actions will
0172 be added to the group on the target system, while actions that have the same
0173 name but a different configuration will updated with the configuration from the
0174 imported file.  When disabled, the module will refuse to import the file.
0175 </para></listitem>
0176 </varlistentry>
0177 
0178 <varlistentry id="manage-filename">
0179 <term><guilabel>Filename</guilabel></term>
0180 <listitem><para>Here you may enter the filename you wish to export the
0181 shortcut to.  You may also select the <inlinemediaobject><imageobject><imagedata
0182 fileref="document-open.png" format="PNG"/></imageobject></inlinemediaobject> button to
0183 the right of the text box to open the File dialog and select a file from there.
0184 </para>
0185 
0186 <tip><para>Exported files use the extension <literal role="extension">.khotkeys</literal> by
0187 default.</para></tip>
0188 </listitem>
0189 </varlistentry>
0190 
0191 </variablelist>
0192 
0193 <screenshot id="screenshot-manage-export">
0194 <screeninfo>Exporting a Group</screeninfo>
0195 <mediaobject>
0196 <imageobject><imagedata fileref="manage-export.png" format="PNG"/></imageobject>
0197 <textobject><phrase>The Export Group dialog.</phrase></textobject>
0198 <caption><para>Exporting a group of shortcuts.</para></caption>
0199 </mediaobject>
0200 </screenshot>
0201 
0202 </sect2>
0203 
0204 <sect2 id="manage-import">
0205 <title>Importing Groups</title>
0206 
0207 <para>To import a group, click the <guibutton>Edit</guibutton> button below the
0208 left pane and select <guimenuitem>Import...</guimenuitem>.  A file selection dialog
0209 opens that permits you to locate a file previously created using the Export
0210 function.</para>
0211 
0212 </sect2>
0213 
0214 </sect1>
0215 
0216 
0217 <sect1 id="groups">
0218 <title>Modifying Groups</title>
0219 
0220 <para>In the left section of the window, the default shortcuts are categorized
0221 into groups. These groups can be expanded by clicking the arrow beside them to
0222 reveal the shortcuts.</para>
0223 
0224 <para>When you click on a group, you are presented with two tabs to configure
0225 the group itself.  The <guilabel>Comment</guilabel> allows you to store notes
0226 about the group, and are not actually used by the system for anything.  The
0227 <guilabel>Conditions</guilabel> tab allows you to restrict which windows a group
0228 of shortcuts works with.</para>
0229 
0230 <screenshot id="screenshot-groups-comment">
0231 <screeninfo>The Comment Tab</screeninfo>
0232 <mediaobject>
0233 <imageobject><imagedata fileref="groups-comment.png" format="PNG"/></imageobject>
0234 <textobject><phrase>The Comment tab in a group.</phrase></textobject>
0235 <caption><para>Modifying a group's comment.</para></caption>
0236 </mediaobject>
0237 </screenshot>
0238 
0239 <para>Conditions are displayed in a tree, the top level of which is
0240 <guilabel>And</guilabel>.  All conditions beneath <guilabel>And</guilabel> must
0241 be satisfied for shortcuts in the group to be triggered.</para>
0242 
0243 <para>You may add additional groups of conditions by clicking the
0244 <guibutton>New</guibutton> drop down box to the right of the tree of conditions.  Types
0245 of groups include the aforementioned <guimenuitem>And</guimenuitem>,
0246 <guimenuitem>Or</guimenuitem>, in which only one member of the group must be
0247 satisfied, or <guimenuitem>Not</guimenuitem>, in which the inverse of all
0248 members will trigger the shortcuts in the group.</para>
0249 
0250 <para>To add a window definition to the list, press the <guibutton>New</guibutton>
0251 button.  You may select <guimenuitem>Active Window...</guimenuitem> if you want
0252 the shortcut to be triggered only if the specified window currently has focus,
0253 or you may select <guimenuitem>Existing Window...</guimenuitem> if you want the
0254 shortcut to be triggered as long as that window is open <!-- means not minimized to panel/tray and not on other virtual desktop, not in other activity-->, regardless of
0255 whether or not you are using it.  Selecting either of these options opens a
0256 window where you can edit the window definitions.</para>
0257 
0258 <para>Click the <guibutton>Edit...</guibutton> button to edit an existing set
0259 of window definitions.  A window opens with the window definition editor.  For
0260 more information, see <xref linkend="windows"/>.</para>
0261 
0262 <para>To remove a window definition from the conditions list, click the
0263 <guibutton>Delete</guibutton> button.</para>
0264 
0265 </sect1>
0266 
0267 
0268 <sect1 id="shortcuts">
0269 <title>Modifying Shortcuts</title>
0270 
0271 <para>In the left section of the window, the default shortcuts are categorized
0272 into groups. These groups can be expanded by clicking the arrow beside them to
0273 reveal the shortcuts.</para>
0274 
0275 <para>By default the groups <guilabel>KMenuEdit</guilabel>, <guilabel>Konqueror
0276 Gestures</guilabel> and <guilabel>Examples</guilabel> are installed.
0277 Applications can provide additional shortcuts, &eg; &spectacle; adds a group
0278 <guilabel>Screenshots</guilabel>.
0279 This group, when expanded, reveals several shortcut configurations like
0280 <guilabel>Start Screenshot Tool</guilabel> which, when
0281 selected, reveals section on the right side, with three tabs:</para>
0282 
0283 <sect2 id="shortcuts-comment">
0284 <title>The Comment Tab</title>
0285 
0286 <para>The <guilabel>Comment</guilabel> tab allows you to describe how to use the
0287 shortcut, what it does, or anything else you might want to include.</para>
0288 
0289 </sect2>
0290 
0291 <sect2 id="shortcuts-trigger">
0292 <title>The Trigger Tab</title>
0293 <para>The <guilabel>Trigger</guilabel> tab contains the trigger configuration,
0294 which depends on the type of trigger specified:</para>
0295 
0296 <variablelist>
0297 
0298 <varlistentry id="shortcuts-trigger-keyboard">
0299 <term>Global Shortcut</term>
0300 <listitem>
0301 
0302 <para>To modify a keyboard shortcut, click on the button that contains a wrench,
0303 and then enter the desired keyboard shortcut. To erase the shortcut, click on
0304 the button with the <inlinemediaobject><imageobject><imagedata fileref="oxygen-22x22-edit-clear-locationbar-rtl.png" format="PNG"/></imageobject></inlinemediaobject> icon to the right of the
0305 change shortcut button.</para>
0306 
0307 <screenshot id="screenshot-shortcuts-trigger-keyboard">
0308 <screeninfo>Modifying a Keyboard Trigger</screeninfo>
0309 <mediaobject>
0310 <imageobject><imagedata fileref="shortcuts-trigger-keyboard.png" format="PNG"/></imageobject>
0311 <textobject><phrase>The Trigger tab for a keyboard shortcut.</phrase></textobject>
0312 <caption><para>Modifying a trigger for a keyboard shortcut.</para></caption>
0313 </mediaobject>
0314 </screenshot>
0315 
0316 </listitem>
0317 </varlistentry>
0318 
0319 <varlistentry id="shortcuts-trigger-window">
0320 <term>Window Action</term>
0321 <listitem>
0322 
0323 <para>Window actions contain several options:</para>
0324 
0325 <variablelist>
0326 
0327 <varlistentry id="shortcuts-trigger-window-trigger">
0328 <term><guilabel>Trigger When</guilabel></term>
0329 <listitem>
0330 
0331 <para>This configures the particular window action that must occur for the
0332 shortcut to be triggered.  The following options are available:</para>
0333 
0334 <itemizedlist>
0335 
0336 <listitem><para><guilabel>Window appears</guilabel> -
0337 Triggered when a window is opened.</para></listitem>
0338 
0339 <listitem><para><guilabel>Window disappears</guilabel> -
0340 Triggered when a window is closed.</para></listitem>
0341 
0342 <listitem><para><guilabel>Window gets focus</guilabel> -
0343 Triggered when you switch to a window.</para></listitem>
0344 
0345 <listitem><para><guilabel>Window loses focus</guilabel> -
0346 Triggered when you switch away from a window.</para></listitem>
0347 
0348 </itemizedlist>
0349 
0350 </listitem>
0351 </varlistentry>
0352 
0353 <varlistentry id="shortcuts-trigger-window-window">
0354 <term><guilabel>Window</guilabel></term>
0355 <listitem><para>This is where you define the actual window or windows the trigger applies
0356 to.  For more information, see <xref linkend="windows"/></para></listitem>
0357 </varlistentry>
0358 
0359 </variablelist>
0360 
0361 </listitem>
0362 </varlistentry>
0363 
0364 <varlistentry id="shortcuts-trigger-mouse">
0365 <term>Mouse Gesture</term>
0366 <listitem>
0367 
0368 <para>A mouse gesture can be changed by clicking the <guibutton>Edit</guibutton>
0369 button below the area that displays the mouse gesture, which will open a window.
0370 Hold down the &LMB; and draw the desired mouse gesture in the area provided.
0371 The gesture will be saved when you release the &LMB;.</para>
0372 
0373 <screenshot id="screenshot-shortcuts-trigger-mouse">
0374 <screeninfo>Modifying a Mouse Gesture Trigger</screeninfo>
0375 <mediaobject>
0376 <imageobject><imagedata fileref="shortcuts-trigger-mouse.png" format="PNG"/></imageobject>
0377 <textobject><phrase>The Trigger tab for a mouse gesture shortcut.</phrase></textobject>
0378 <caption><para>Modifying a trigger for a mouse gesture.</para></caption>
0379 </mediaobject>
0380 </screenshot>
0381 
0382 </listitem>
0383 </varlistentry>
0384 
0385 </variablelist>
0386 
0387 </sect2>
0388 
0389 <sect2 id="shortcuts-action">
0390 <title>The Action Tab</title>
0391 
0392 <para>The <guilabel>Action</guilabel> tab is where you configure the action that
0393 will be performed when the shortcut is triggered.  There are several types of
0394 actions that have different configuration options:</para>
0395 
0396 <variablelist>
0397 
0398 <varlistentry id="shortcuts-action-command">
0399 <term>Command/&URL;</term>
0400 <listitem>
0401 
0402 <para>When using a Command or &URL; is a trigger, a text box is provided where
0403 you may enter the command to run or &URL; to open when the shortcut is triggered.
0404 You may also click the <inlinemediaobject><imageobject><imagedata
0405 fileref="document-open.png" format="PNG"/></imageobject></inlinemediaobject> button
0406 to the right of the text box to open a file selection dialog in which you can select
0407 a file on your local or a remote system.</para>
0408 
0409 <screenshot id="screenshot-shortcuts-action-command">
0410 <screeninfo>Modifying a Command Action</screeninfo>
0411 <mediaobject>
0412 <imageobject><imagedata fileref="shortcuts-action-command.png" format="PNG"/></imageobject>
0413 <textobject><phrase>The Action tab for a command.</phrase></textobject>
0414 <caption><para>Modifying a command action.</para></caption>
0415 </mediaobject>
0416 </screenshot>
0417 
0418 </listitem>
0419 </varlistentry>
0420 
0421 <varlistentry id="shortcuts-action-dbus">
0422 <term>&DBus; Command</term>
0423 <listitem>
0424 
0425 <screenshot id="screenshot-shortcuts-action-dbus">
0426 <screeninfo>Modifying a &DBus; Action</screeninfo>
0427 <mediaobject>
0428 <imageobject><imagedata fileref="shortcuts-action-dbus.png" format="PNG"/></imageobject>
0429 <textobject><phrase>The Action tab for a &DBus; command.</phrase></textobject>
0430 <caption><para>Modifying a &DBus; action.</para></caption>
0431 </mediaobject>
0432 </screenshot>
0433 
0434 <para>The following options are provided that allow you to specify a &DBus;
0435 method to be performed:</para>
0436 
0437 <variablelist>
0438 
0439 <varlistentry id="shortcuts-action-dbus-application">
0440 <term><guilabel>Remote application:</guilabel></term>
0441 <listitem><para>The service name of the remote application the method is to
0442 be performed on, for instance <userinput>org.kde.spectacle</userinput> if you wanted
0443 to perform it on the &spectacle; screenshots utility.</para></listitem>
0444 </varlistentry>
0445 
0446 <varlistentry id="shortcuts-action-dbus-object">
0447 <term><guilabel>Remote object:</guilabel></term>
0448 <listitem><para>The path to the remote object the method is to be performed on,
0449 for instance <userinput>/</userinput> for screenshot actions using &spectacle;
0450 or <userinput>/Document/1</userinput>, if you wanted to perform it on
0451 the first document opened in &kate;.</para></listitem>
0452 </varlistentry>
0453 
0454 <varlistentry id="shortcuts-action-dbus-function">
0455 <term><guilabel>Function:</guilabel></term>
0456 <listitem><para>The name of the &DBus; method to be called, for instance
0457 <userinput>Fullscreen</userinput> if you wanted to take a fullscreen screenshot or
0458 <userinput>print</userinput> if you wanted to print the document.</para></listitem>
0459 </varlistentry>
0460 
0461 <varlistentry id="shortcuts-action-dbus-arguments">
0462 <term><guilabel>Arguments:</guilabel></term>
0463 <listitem><para>Enter additional arguments for the &DBus; method to be called.</para></listitem>
0464 </varlistentry>
0465 
0466 <varlistentry id="shortcuts-action-dbus-call">
0467 <term><guilabel>Call</guilabel></term>
0468 <listitem><para>Use this button to verify that the action works as expected.</para></listitem>
0469 </varlistentry>
0470 
0471 <varlistentry id="shortcuts-action-dbus-launch-dbus-browser">
0472 <term><guilabel>Launch D-Bus Browser</guilabel></term>
0473 <listitem><para>Launch the application <application>QDBusViewer</application>
0474 so browse the &DBus; methods and arguments for a running application.</para></listitem>
0475 </varlistentry>
0476 
0477 </variablelist>
0478 
0479 <para>For more information, see the
0480 <ulink url="https://develop.kde.org/docs/d-bus/introduction_to_dbus/">Introduction
0481 to &DBus; on &kde; developer platform</ulink>.</para>
0482 
0483 </listitem>
0484 </varlistentry>
0485 
0486 <varlistentry id="shortcuts-action-keyboard">
0487 <term>Send Keyboard Input</term>
0488 <listitem>
0489 
0490 <para>At the top of the <guilabel>Action</guilabel> tab, there is a large text
0491 entry where you may enter the keystrokes you wish to be sent when the shortcut
0492 is triggered.</para>
0493 
0494 <para>Most keys contain a single character, and to enter them here you just
0495 enter that character.  For instance, to type an <quote>A</quote>, just enter
0496 <userinput>A</userinput>.  Some keys have longer names, and you can also use
0497 those names.  For instance, to press the &Alt; key, simply enter
0498 <userinput>Alt</userinput>.
0499 </para>
0500 
0501 <para>Individual keystrokes should be separated by a colon
0502 (<userinput>:</userinput>).  For instance, to type <quote>foo</quote>, enter
0503 <userinput>F:O:O</userinput>.</para>
0504 
0505 <para>Keys that need to pressed at the same time should be separated by a plus
0506 sign.  For instance, to press
0507 <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>, enter
0508 <userinput>Ctrl+C</userinput>.</para>
0509 
0510 <tip>
0511 <para>Remember, you must enter keystrokes here exactly as you would on a keyboard.
0512 To capitalize letters, you must enter the &Shift; key.  For instance, to type
0513 <quote>Hello</quote>, enter <userinput>Shift+H:E:L:L:O</userinput>.</para>
0514 
0515 <para>This also applies to special characters.  For instance, to type the
0516 at-sign on the U.S. English keyboard layout, enter <userinput>Shift+2</userinput>.
0517 </para>
0518 </tip>
0519 
0520 <warning>
0521 <para>The action that is performed is dependent on the currently selected
0522 keyboard layout.  If you change keyboard layouts and trigger a shortcut, it
0523 may have undesired consequences.</para>
0524 </warning>
0525 
0526 <para>Beneath the keystroke entry text box, you may select which window the
0527 keystrokes will be directed to.  You may choose from the following options:</para>
0528 
0529 <itemizedlist>
0530 
0531 <listitem><para><guilabel>Active window</guilabel> -
0532 The window that is currently open.</para></listitem>
0533 
0534 <listitem><para><guilabel>Specific window</guilabel> -
0535 The window that you describe using the form below.  For more information on
0536 describing windows, see <xref linkend="windows"/>.</para></listitem>
0537 
0538 <listitem><para><guilabel>Action window</guilabel> -
0539 When using the Window Actions trigger type, enter the keystrokes in the window
0540 that triggered the shortcut.</para></listitem>
0541 
0542 </itemizedlist>
0543 
0544 <screenshot id="screenshot-shortcuts-action-keyboard">
0545 <screeninfo>Modifying a Keyboard Input Action</screeninfo>
0546 <mediaobject>
0547 <imageobject><imagedata fileref="shortcuts-action-keyboard.png" format="PNG"/></imageobject>
0548 <textobject><phrase>The Action tab for keyboard input.</phrase></textobject>
0549 <caption><para>Modifying the keyboard input action for a shortcut.</para></caption>
0550 </mediaobject>
0551 </screenshot>
0552 
0553 </listitem>
0554 </varlistentry>
0555 
0556 </variablelist>
0557 
0558 </sect2>
0559 
0560 </sect1>
0561 
0562 
0563 <sect1 id="windows">
0564 <title>Defining Windows</title>
0565 
0566 <para>Several areas of the module allow you to define a list of windows.  They
0567 all use the same interface, which contains the following options:</para>
0568 
0569 <variablelist>
0570 
0571 <varlistentry id="windows-comment">
0572 <term><guilabel>Comment:</guilabel></term>
0573 <listitem><para>This is merely an informational text box you can use to explain
0574 what the trigger applies to or save other useful information.  It is not
0575 actually used by the system for anything.</para></listitem>
0576 </varlistentry>
0577 
0578 <varlistentry id="windows-list">
0579 <term>Window List</term>
0580 <listitem><para>Beneath the <guilabel>Comment</guilabel> box on the left is the
0581 list of all window definitions currently present in the trigger.  Simply click
0582 on one to perform an operation on it.</para></listitem>
0583 </varlistentry>
0584 
0585 <varlistentry id="windows-edit">
0586 <term><guibutton>Edit...</guibutton></term>
0587 <listitem>
0588 
0589 <para>Press this button to modify the currently selected window definition.  A
0590 new window is opened that allows you to edit it.  This window contains the
0591 following options:</para>
0592 
0593 <variablelist>
0594 
0595 <varlistentry id="windows-edit-data">
0596 <term><guilabel>Window Data</guilabel></term>
0597 <listitem>
0598 
0599 <para>This is where you describe the window the trigger should apply to.</para>
0600 
0601 <para>At the top, there is a <guilabel>Comment:</guilabel> field, which is
0602 informational just like the one in the main <guilabel>Trigger</guilabel> tab.</para>
0603 
0604 <para>Three window characteristics are available:</para>
0605 
0606 <itemizedlist>
0607 
0608 <listitem><para><guilabel>Window title:</guilabel> -
0609 The title that appears at the top of the window.</para></listitem>
0610 
0611 <listitem><para><guilabel>Window class:</guilabel> -
0612 Usually the name of the application.</para></listitem>
0613 
0614 <listitem><para><guilabel>Window role:</guilabel> -
0615 Usually the name of the &Qt; class that makes up the window.</para></listitem>
0616 
0617 </itemizedlist>
0618 
0619 <para>Each window characteristic provides a drop-down box, and a text box below
0620 it.  Enter the value you wish to test windows for in the text box.  From the
0621 drop-down box, select which kind of test you wish to apply.  You can use
0622 <guilabel>Is</guilabel> to require an exact match, <guilabel>Contains</guilabel>
0623 to require that the text entered be somewhere inside the full value, or
0624 <guilabel>Matches Regular Expression</guilabel> to use a regular expression to
0625 define the match.  You may also perform the inverse of all these operations.
0626 Select <guilabel>Is Not Important</guilabel> if you do not wish for that
0627 particular characteristic to be examined.</para>
0628 
0629 <para>The easiest way to fill in this information is to open the desired window,
0630 then click the <guibutton>Autodetect</guibutton> button at the bottom of this
0631 section, and finally click on the desired trigger window.  All three window
0632 characteristics will be populated with the information from that window, and
0633 you can then adjust the settings as necessary.</para>
0634 
0635 </listitem>
0636 </varlistentry>
0637 
0638 <varlistentry id="windows-edit-types">
0639 <term><guilabel>Window Types</guilabel></term>
0640 <listitem>
0641 
0642 <para>This lets you restrict the match to a particular type of window.  The
0643 following options are available:</para>
0644 
0645 <itemizedlist>
0646 
0647 <listitem><para><guilabel>Normal</guilabel> -
0648 A regular application window.</para></listitem>
0649 
0650 <listitem><para><guilabel>Desktop</guilabel> -
0651 The main desktop is actually a special window all its own.</para></listitem>
0652 
0653 <listitem><para><guilabel>Dialog</guilabel> -
0654 A small window that is part of a normal application, such as a message box or
0655 a configuration screen.</para></listitem>
0656 
0657 <listitem><para><guilabel>Dock</guilabel> -
0658 A small window that can be attached or detached from a main application window.
0659 </para></listitem>
0660 
0661 </itemizedlist>
0662 
0663 </listitem>
0664 </varlistentry>
0665 
0666 </variablelist>
0667 
0668 </listitem>
0669 </varlistentry>
0670 
0671 <varlistentry id="windows-new">
0672 <term><guibutton>New...</guibutton></term>
0673 <listitem><para>Create a new window definition.  This opens the edit dialog
0674 described above.</para></listitem>
0675 </varlistentry>
0676 
0677 <varlistentry id="windows-duplicate">
0678 <term><guibutton>Duplicate...</guibutton></term>
0679 <listitem><para>This creates a new window definition with the exact same
0680 specifications as the currently selected window definition.  It will open the
0681 edit dialog described above so you may make further changes.</para></listitem>
0682 </varlistentry>
0683 
0684 <varlistentry id="windows-delete">
0685 <term><guibutton>Delete</guibutton></term>
0686 <listitem><para>Removes the currently selected window definition.</para></listitem>
0687 </varlistentry>
0688 
0689 </variablelist>
0690 
0691 </sect1>
0692 
0693 
0694 <sect1 id="settings">
0695 <title>Settings</title>
0696 
0697 <para>When you first enter the module, or when you click the
0698 <guibutton>Settings</guibutton> button below the left pane, there will be
0699 several configuration options in the right pane:</para>
0700 
0701 <variablelist>
0702 
0703 <varlistentry id="settings-start-daemon">
0704 <term><guilabel>Start the Input Actions daemon on login</guilabel></term>
0705 <listitem><para>This configures whether or not to activate the background
0706 application that monitors for keyboard shortcuts and triggers configured
0707 actions.  It is enabled by default.</para></listitem>
0708 </varlistentry>
0709 
0710 <varlistentry id="settings-gestures">
0711 <term><guilabel>Gestures</guilabel></term>
0712 <listitem>
0713 <para>Select this check box to enable mouse gestures.</para>
0714 
0715 <para>There are two options specific to mouse gestures:</para>
0716 
0717 <variablelist>
0718 
0719 <varlistentry id="settings-gestures-timeout">
0720 <term><guilabel>Timeout:</guilabel></term>
0721 <listitem><para>This specifies the maximum time interval during which the mouse
0722 gesture will be monitored and recognized by the system, in milliseconds.
0723 </para></listitem>
0724 </varlistentry>
0725 
0726 <varlistentry id="settings-gestures-mouse-button">
0727 <term><guilabel>Mouse button:</guilabel></term>
0728 <listitem><para>This specifies the mouse button to be used for mouse gestures.
0729 If your mouse has more buttons, you can also use those instead.</para>
0730 
0731 <note>
0732 <para>Left button is unavailable, so mouse gestures do not interfere with the
0733 normal operation of your system.</para>
0734 </note>
0735 </listitem>
0736 </varlistentry>
0737 
0738 </variablelist>
0739 </listitem>
0740 </varlistentry>
0741 
0742 </variablelist>
0743 
0744 <screenshot id="screenshot-settings">
0745 <screeninfo>Settings</screeninfo>
0746 <mediaobject>
0747 <imageobject><imagedata fileref="settings.png" format="PNG"/></imageobject>
0748 <textobject><phrase>The Settings screen.</phrase></textobject>
0749 <caption><para>Editing Custom Shortcuts settings.</para></caption>
0750 </mediaobject>
0751 </screenshot>
0752 
0753 </sect1>
0754 
0755 
0756 <sect1 id="credits">
0757 <title>Credits and License</title>
0758 
0759 <para>Special thanks to Google Code-In 2011 participant Subhashish Pradhan for
0760 writing much of this article.</para>
0761 
0762 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
0763 
0764 &underFDL;               <!-- FDL: do not remove -->
0765 &underGPL;               <!-- GPL License -->
0766 
0767 </sect1>
0768 
0769 </article>
0770 
0771 <!--
0772 Local Variables:
0773 mode: xml
0774 sgml-minimize-attributes:nil
0775 sgml-general-insert-case:lower
0776 sgml-indent-step:0
0777 sgml-indent-data:nil
0778 End:
0779 
0780 vim:tabstop=2:shiftwidth=2:expandtab
0781 kate: space-indent on; indent-width 2; tab-width 2; indent-mode none;
0782 -->