<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
"dtd/kdedbx45.dtd" [
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>
<article id="kwintabbox" lang="&language;">
<articleinfo>
<title>Task Switcher</title>
<authorgroup>
<author>&Martin.Graesslin;&Martin.Graesslin.mail;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<date>2023-01-30</date>
<releaseinfo>&plasma; 5.27</releaseinfo>

<keywordset>
<keyword>KDE</keyword>
<keyword>System Settings</keyword>
<keyword>desktop</keyword>
<keyword>window</keyword>
<keyword>navigation</keyword>
<keyword>switch</keyword>
<keyword>alt-tab</keyword>
</keywordset>
</articleinfo>

<sect1 id="windows-navigating">
<title>Navigating through Windows</title>

<para>The Task Switcher allows the user to easily switch between currently open windows using the keyboard.  It is highly configurable, and allows the user to control its behavior, visual appearance, keyboard shortcuts, and window filtering.</para>

<para>
  <screenshot>
    <screeninfo>Screenshot of the default Task Switcher</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="taskswitcher.png" format="PNG" />
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para>The Task Switcher is often invoked using the key combination <keycombo>&Alt;&Tab;</keycombo>, but this can be changed. When invoked, it shows a list of all the currently open windows, optionally filtered and augmented according to the configuration settings. For example, the list may be filtered to show only windows that meet certain criteria, such as windows that are currently visible.  Once the window list is shown, the user can cycle forward and backward through all the listed windows by repeatedly hitting the Task Switcher key combination.  Releasing the Task Switcher key combination will activate the window that was selected in the list.</para>

<para>Because the Task Switcher offers so many configuration options, two distinct collections of configuration settings can be defined. These collections are called <guilabel>Main</guilabel> and <guilabel>Alternative</guilabel>, and each can have a unique set of key combinations assigned to them.</para>

<para>The configuration options for each of the Main and Alternative collections are presented in four groupings, as follows:</para>

<sect2 id="visualization">
<title>Visualization</title>
<para>This group of configuration options controls how the list of windows is displayed on the screen. The default visualization is called <guilabel>Breeze</guilabel>.  It lists all open windows along the left-hand side of the screen.  Other visualizations include <guilabel>Cover Switch</guilabel> (a 3D carousel), <guilabel>Flip Switch</guilabel> (a 3D stack of cards), and <guilabel>Medium Rounded</guilabel> (a Microsoft &Windows;-style list of icons).  Many more visualizations can be downloaded and installed by clicking the <guibutton>Get New Task Switchers...</guibutton> button at the bottom right of the dialog box.</para>

<para>Once a visualization has been selected from the drop-down list, the button to the right of the list can be clicked to see a preview or to configure visualization-specific options.</para>

<para>The <guilabel>Show selected window</guilabel> checkbox determines how clearly the user will see which window will be activated.  If this box is checked, then all windows will be hidden except for the one that is currently highlighted in the Task Switcher.</para>

<note><para>There may be cases where the desired Task Switcher visualization cannot be shown.  One of these situations can be when a process called 'compositing' is turned off or disabled.  If this ever happens, the window list will still be shown, but in a very simple format.</para></note>
</sect2>

<sect2 id="shortcuts">
<title>Shortcuts</title>
<para>This section allows you to define up to four Task Switcher keyboard shortcuts for the <guilabel>Main</guilabel> configuration and four more for the <guilabel>Alternative</guilabel> configuration.  The <guilabel>Main</guilabel> shortcuts are predefined, while the <guilabel>Alternative</guilabel> shortcuts need to be defined manually.</para>
<para>In the <guilabel>All Windows</guilabel> section, the <guilabel>Forward</guilabel> and <guilabel>Reverse</guilabel> shortcuts will cycle forward and backward through the list of open windows.</para>
<para>In the <guilabel>Current Application</guilabel> section, the <guilabel>Forward</guilabel> and <guilabel>Reverse</guilabel> shortcuts can be set to cycle through the windows of the currently active application.  For example, if you have three &dolphin; file browser windows open, then you would be able to use these shortcuts to just cycle among the three &dolphin; windows.</para>
<para>To change a keyboard shortcut, click the <guibutton>Forward</guibutton> or <guibutton>Reverse</guibutton> button and type the desired shortcut combination.  Be sure to use a modifier key like &Ctrl; or &Alt; as part of the shortcut, otherwise you might not be able to cycle through the window list properly.</para>

<note><para>Any of the defined keyboard shortcuts can be used to invoke the Task Switcher.  To invoke the Task Switcher without using the keyboard, you can define screen edge actions in the &systemsettings; module <ulink url="help:/kcontrol/kwinscreenedges/index.html"><guilabel>Screen Edges</guilabel></ulink>.</para></note>
</sect2>

<sect2 id="content">
<title>Content</title>
<para>The options in this section partially control which windows will appear in the Task Switcher list.</para>

<para>The <guilabel>Sort Order</guilabel> drop-down list specifies whether the windows should be listed in <guilabel>Stacking Order</guilabel> or <guilabel>Recently Used</guilabel> order.  <guilabel>Stacking Order</guilabel> is the order in which the windows appear on top of each other on the screen, while <guilabel>Recently Used</guilabel> order is the order in which the windows have been used. <guilabel>Recently Used</guilabel> order makes it very easy to switch between the two most frequently used windows because they will always appear in the top 2 positions in the list.</para>

<para>The <guilabel>Include "Peek at Desktop" icon</guilabel> option will add a Peek at Desktop option to the window list. This allows the user to easily select the Desktop as the 'window' to show.</para>

<para>The <guilabel>Only one window per application</guilabel> option reduces clutter by only showing one window for each open application.  If an application has multiple windows open, then its most recently activated window will be shown in the list and the others will not be shown.</para>

<para>The <guilabel>Order minimized windows after unminimized windows</guilabel> option will show you all unminimized windows first, even if they are less recent or further at the bottom than some of the minimized windows.</para>
</sect2>

<sect2 id="filter-windows-by">
<title>Filter Windows By</title>
<para>This section contains options for additionally filtering the Task Switcher's list of windows.</para>

<para>The <guilabel>Virtual Desktops</guilabel> option filters the list of windows according to which virtual desktop is currently active.  If you consistently put specific windows on specific virtual desktops, then this filtering option can make it easy to switch to windows within or across those virtual desktops. Select <guilabel>Current desktop</guilabel> to only show windows on the current virtual desktop.  Select <guilabel>All other desktops</guilabel> to show only the windows on the virtual desktops that are not currently active.</para>

<para>The <guilabel>Activities</guilabel> option filters the list of windows according to which Activity is currently active.  As with Virtual Desktop filtering, this option can make it easier to switch to applications within or across all Activities. Select <guilabel>Current activity</guilabel> to only show windows that are part of the current Activity.  Select <guilabel>All other activities</guilabel> to only show windows that are part of the Activities that are not currently active.</para>

<para>The <guilabel>Screens</guilabel> option filters the list of windows according to which display screen is currently active.  Select <guilabel>Current screen</guilabel> to only show windows that are on the display that currently has the mouse pointer on it.  Select <guilabel>All other screens</guilabel> to show the windows that are on all other displays. This option can be useful to users who want to quickly switch between windows that are on the same monitor in a multi-monitor setup.</para>
<note><para>The active screen is the one that the mouse pointer is currently on, not the screen that the currently active window is on.</para></note>

<para>The <guilabel>Minimization</guilabel> option filters the list of windows according to whether they are hidden or not.  Select <guilabel>Visible windows</guilabel> to only show windows that have not been minimized.  Select <guilabel>Hidden windows</guilabel> to only show the minimized windows.</para>

<para> If you uncheck an option in this section, then no filtering will be applied for that option. For example, if you check the Screens option and clear the other three options, then the Task Switcher window list will only be filtered according to which windows are on the current display.</para>
<para>All of the options described in the above sections work together to provide very fine-grained control of the Task Switcher's behavior and appearance.  For example, you could define the <guilabel>Main</guilabel> settings collection to be invoked with the <keycombo>&Alt;&Tab;</keycombo> key combination, to show the open windows in a carousel, to only show one window per application, and to only list windows that are on the current desktop and on the currently active screen.  This can provide very fast context-sensitive window switching if you have both 'work' and 'home' virtual desktops, and then keep all of your spreadsheets for work and home on the same monitor.</para>

<para>The availability of the <guilabel>Alternative</guilabel> Task Switcher configuration gives you a second way to easily filter and browse through the window lists. With eight key combinations available across the two Task Switcher configurations, it should be possible to easily and quickly navigate through large numbers of windows.</para>
</sect2>
</sect1>
</article>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab
kate: space-indent on; indent-width 2; tab-width 2; indent-mode none;
-->
